| Offset 1, 5 lines modified | Offset 1, 5 lines modified | ||
| 1 | Zip·file·size:·66 | 1 | Zip·file·size:·6682706·bytes,·number·of·entries:·3 |
| 2 | -rw-r--r--··4.5·unx·······30·bx·stor·26-Feb-14·05:19·metadata.json | 2 | -rw-r--r--··4.5·unx·······30·bx·stor·26-Feb-14·05:19·metadata.json |
| 3 | -rw-r--r--··4.5·unx··650 | 3 | -rw-r--r--··4.5·unx··6509174·bx·stor·26-Feb-14·05:19·pkg-svelte-language-server-0.17.26-hfa286de_0.tar.zst |
| 4 | -rw-r--r--··4.5·unx···1728 | 4 | -rw-r--r--··4.5·unx···172892·bx·stor·26-Feb-14·05:19·info-svelte-language-server-0.17.26-hfa286de_0.tar.zst |
| 5 | 3·files,·66 | 5 | 3·files,·6682096·bytes·uncompressed,·6682096·bytes·compressed:··0.0% |
| Offset 19, 125 lines modified | Offset 19, 125 lines modified | ||
| 19 | 00005D·LOCAL·HEADER·#2·······04034B50 | 19 | 00005D·LOCAL·HEADER·#2·······04034B50 |
| 20 | 000061·Extract·Zip·Spec······2D·'4.5' | 20 | 000061·Extract·Zip·Spec······2D·'4.5' |
| 21 | 000062·Extract·OS············00·'MS-DOS' | 21 | 000062·Extract·OS············00·'MS-DOS' |
| 22 | 000063·General·Purpose·Flag··0000 | 22 | 000063·General·Purpose·Flag··0000 |
| 23 | 000065·Compression·Method····0000·'Stored' | 23 | 000065·Compression·Method····0000·'Stored' |
| 24 | 000067·Last·Mod·Time·········5C4E2A6A·'Sat·Feb·14·05:19:20·2026' | 24 | 000067·Last·Mod·Time·········5C4E2A6A·'Sat·Feb·14·05:19:20·2026' |
| 25 | 00006B·CRC··················· | 25 | 00006B·CRC···················DD5B9092 |
| 26 | 00006F·Compressed·Length·····FFFFFFFF | 26 | 00006F·Compressed·Length·····FFFFFFFF |
| 27 | 000073·Uncompressed·Length···FFFFFFFF | 27 | 000073·Uncompressed·Length···FFFFFFFF |
| 28 | 000077·Filename·Length·······0035 | 28 | 000077·Filename·Length·······0035 |
| 29 | 000079·Extra·Length··········0014 | 29 | 000079·Extra·Length··········0014 |
| 30 | 00007B·Filename··············'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | 30 | 00007B·Filename··············'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| 31 | ·····························XXXXXXXXXXXXXX' | 31 | ·····························XXXXXXXXXXXXXX' |
| 32 | 0000B0·Extra·ID·#0001········0001·'ZIP64' | 32 | 0000B0·Extra·ID·#0001········0001·'ZIP64' |
| 33 | 0000B2···Length··············0010 | 33 | 0000B2···Length··············0010 |
| 34 | 0000B4···Uncompressed·Size···000000000063 | 34 | 0000B4···Uncompressed·Size···0000000000635276 |
| 35 | 0000BC···Compressed·Size·····000000000063 | 35 | 0000BC···Compressed·Size·····0000000000635276 |
| 36 | 0000C4·PAYLOAD | 36 | 0000C4·PAYLOAD |
| 37 | 63 | 37 | 63533A·LOCAL·HEADER·#3·······04034B50 |
| 38 | 633 | 38 | 63533E·Extract·Zip·Spec······2D·'4.5' |
| 39 | 63 | 39 | 63533F·Extract·OS············00·'MS-DOS' |
| 40 | 63 | 40 | 635340·General·Purpose·Flag··0000 |
| 41 | 63 | 41 | 635342·Compression·Method····0000·'Stored' |
| 42 | 63 | 42 | 635344·Last·Mod·Time·········5C4E2A6A·'Sat·Feb·14·05:19:20·2026' |
| 43 | 63 | 43 | 635348·CRC···················7DBB81DD |
| 44 | 63 | 44 | 63534C·Compressed·Length·····FFFFFFFF |
| 45 | 6335 | 45 | 635350·Uncompressed·Length···FFFFFFFF |
| 46 | 63 | 46 | 635354·Filename·Length·······0036 |
| 47 | 63 | 47 | 635356·Extra·Length··········0014 |
| 48 | 63 | 48 | 635358·Filename··············'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| 49 | ·····························XXXXXXXXXXXXXXX' | 49 | ·····························XXXXXXXXXXXXXXX' |
| 50 | 63 | 50 | 63538E·Extra·ID·#0001········0001·'ZIP64' |
| 51 | 63 | 51 | 635390···Length··············0010 |
| 52 | 63 | 52 | 635392···Uncompressed·Size···000000000002A35C |
| 53 | 63 | 53 | 63539A···Compressed·Size·····000000000002A35C |
| 54 | 63 | 54 | 6353A2·PAYLOAD |
| 55 | 65 | 55 | 65F6FE·CENTRAL·HEADER·#1·····02014B50 |
| 56 | 65 | 56 | 65F702·Created·Zip·Spec······2D·'4.5' |
| 57 | 65 | 57 | 65F703·Created·OS············03·'Unix' |
| 58 | 65 | 58 | 65F704·Extract·Zip·Spec······2D·'4.5' |
| 59 | 65 | 59 | 65F705·Extract·OS············00·'MS-DOS' |
| 60 | 65 | 60 | 65F706·General·Purpose·Flag··0000 |
| 61 | 65 | 61 | 65F708·Compression·Method····0000·'Stored' |
| 62 | 65 | 62 | 65F70A·Last·Mod·Time·········5C4E2A6A·'Sat·Feb·14·05:19:20·2026' |
| 63 | 65 | 63 | 65F70E·CRC···················2E6500CB |
| 64 | 65 | 64 | 65F712·Compressed·Length·····FFFFFFFF |
| 65 | 65 | 65 | 65F716·Uncompressed·Length···FFFFFFFF |
| 66 | 65 | 66 | 65F71A·Filename·Length·······000D |
| 67 | 65 | 67 | 65F71C·Extra·Length··········0014 |
| 68 | 65 | 68 | 65F71E·Comment·Length········0000 |
| 69 | 65 | 69 | 65F720·Disk·Start············0000 |
| 70 | 65 | 70 | 65F722·Int·File·Attributes···0000 |
| 71 | ·······[Bit·0]···············0·'Binary·Data' | 71 | ·······[Bit·0]···············0·'Binary·Data' |
| 72 | 65 | 72 | 65F724·Ext·File·Attributes···81A40000 |
| 73 | 65 | 73 | 65F728·Local·Header·Offset···00000000 |
| 74 | 65 | 74 | 65F72C·Filename··············'XXXXXXXXXXXXX' |
| 75 | 65 | 75 | 65F739·Extra·ID·#0001········0001·'ZIP64' |
| 76 | 65 | 76 | 65F73B···Length··············0010 |
| 77 | 65 | 77 | 65F73D···Uncompressed·Size···000000000000001E |
| 78 | 65 | 78 | 65F745···Compressed·Size·····000000000000001E |
| 79 | 65 | 79 | 65F74D·CENTRAL·HEADER·#2·····02014B50 |
| 80 | 65 | 80 | 65F751·Created·Zip·Spec······2D·'4.5' |
| 81 | 65 | 81 | 65F752·Created·OS············03·'Unix' |
| 82 | 65 | 82 | 65F753·Extract·Zip·Spec······2D·'4.5' |
| 83 | 65 | 83 | 65F754·Extract·OS············00·'MS-DOS' |
| 84 | 65 | 84 | 65F755·General·Purpose·Flag··0000 |
| 85 | 65 | 85 | 65F757·Compression·Method····0000·'Stored' |
| 86 | 65 | 86 | 65F759·Last·Mod·Time·········5C4E2A6A·'Sat·Feb·14·05:19:20·2026' |
| 87 | 65 | 87 | 65F75D·CRC···················DD5B9092 |
| 88 | 65 | 88 | 65F761·Compressed·Length·····FFFFFFFF |
| 89 | 65 | 89 | 65F765·Uncompressed·Length···FFFFFFFF |
| 90 | 65 | 90 | 65F769·Filename·Length·······0035 |
| 91 | 65 | 91 | 65F76B·Extra·Length··········0014 |
| 92 | 65 | 92 | 65F76D·Comment·Length········0000 |
| 93 | 65 | 93 | 65F76F·Disk·Start············0000 |
| 94 | 65 | 94 | 65F771·Int·File·Attributes···0000 |
| 95 | ·······[Bit·0]···············0·'Binary·Data' | 95 | ·······[Bit·0]···············0·'Binary·Data' |
| 96 | 65 | 96 | 65F773·Ext·File·Attributes···81A40000 |
| 97 | 65 | 97 | 65F777·Local·Header·Offset···0000005D |
| 98 | 65 | 98 | 65F77B·Filename··············'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| 99 | ·····························XXXXXXXXXXXXXX' | 99 | ·····························XXXXXXXXXXXXXX' |
| 100 | 65 | 100 | 65F7B0·Extra·ID·#0001········0001·'ZIP64' |
| 101 | 65 | 101 | 65F7B2···Length··············0010 |
| 102 | 65 | 102 | 65F7B4···Uncompressed·Size···0000000000635276 |
| 103 | 65 | 103 | 65F7BC···Compressed·Size·····0000000000635276 |
| 104 | 65 | 104 | 65F7C4·CENTRAL·HEADER·#3·····02014B50 |
| 105 | 65 | 105 | 65F7C8·Created·Zip·Spec······2D·'4.5' |
| 106 | 65 | 106 | 65F7C9·Created·OS············03·'Unix' |
| 107 | 65 | 107 | 65F7CA·Extract·Zip·Spec······2D·'4.5' |
| 108 | 65 | 108 | 65F7CB·Extract·OS············00·'MS-DOS' |
| 109 | 65 | 109 | 65F7CC·General·Purpose·Flag··0000 |
| 110 | 65 | 110 | 65F7CE·Compression·Method····0000·'Stored' |
| 111 | 65 | 111 | 65F7D0·Last·Mod·Time·········5C4E2A6A·'Sat·Feb·14·05:19:20·2026' |
| 112 | 65 | 112 | 65F7D4·CRC···················7DBB81DD |
| Max diff block lines reached; 1283/8914 bytes (14.39%) of diff not shown. | |||
| Offset 1, 15 lines modified | Offset 1, 15 lines modified | ||
| 1 | -rwxr-xr-x···0········0········0·······90·2026-02-14·05:19:21.000000·bin/svelteserver | 1 | -rwxr-xr-x···0········0········0·······90·2026-02-14·05:19:21.000000·bin/svelteserver |
| 2 | -rw-r--r--···0········0········0······101·2026-02-14·05:19:21.000000·bin/svelteserver.cmd | 2 | -rw-r--r--···0········0········0······101·2026-02-14·05:19:21.000000·bin/svelteserver.cmd |
| 3 | -rw-r--r--···0········0········0······ | 3 | -rw-r--r--···0········0········0······336·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/.source_info.json |
| 4 | -rw-r--r--···0········0········0·····4187·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/CHANGELOG.md | 4 | -rw-r--r--···0········0········0·····4187·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/CHANGELOG.md |
| 5 | -rw-r--r--···0········0········0·····1131·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/LICENSE | 5 | -rw-r--r--···0········0········0·····1131·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/LICENSE |
| 6 | -rw-r--r--···0········0········0····11378·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/README.md | 6 | -rw-r--r--···0········0········0····11378·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/README.md |
| 7 | -rwxr-xr-x···0········0········0·······93·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/bin/server.js | 7 | -rwxr-xr-x···0········0········0·······93·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/bin/server.js |
| 8 | -rw-r--r--···0········0········0·····3 | 8 | -rw-r--r--···0········0········0·····3694·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/build_env.sh |
| 9 | -rw-r--r--···0········0········0·······28·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/conda_build.log | 9 | -rw-r--r--···0········0········0·······28·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/conda_build.log |
| 10 | -rwxr-xr-x···0········0········0······981·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/conda_build.sh | 10 | -rwxr-xr-x···0········0········0······981·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/conda_build.sh |
| 11 | -rw-r--r--···0········0········0······647·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/dist/src/importPackage.d.ts | 11 | -rw-r--r--···0········0········0······647·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/dist/src/importPackage.d.ts |
| 12 | -rw-r--r--···0········0········0·····2675·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/dist/src/importPackage.js | 12 | -rw-r--r--···0········0········0·····2675·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/dist/src/importPackage.js |
| 13 | -rw-r--r--···0········0········0·····2139·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/dist/src/importPackage.js.map | 13 | -rw-r--r--···0········0········0·····2139·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/dist/src/importPackage.js.map |
| 14 | -rw-r--r--···0········0········0······192·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/dist/src/index.d.ts | 14 | -rw-r--r--···0········0········0······192·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/dist/src/index.d.ts |
| 15 | -rw-r--r--···0········0········0·····1410·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/dist/src/index.js | 15 | -rw-r--r--···0········0········0·····1410·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/dist/src/index.js |
| Offset 470, 22 lines modified | Offset 470, 22 lines modified | ||
| 470 | -rw-r--r--···0········0········0·····2695·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/@vscode/emmet-helper/thirdpartynotices.txt | 470 | -rw-r--r--···0········0········0·····2695·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/@vscode/emmet-helper/thirdpartynotices.txt |
| 471 | -rw-r--r--···0········0········0·····1423·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/@vscode/l10n/README.md | 471 | -rw-r--r--···0········0········0·····1423·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/@vscode/l10n/README.md |
| 472 | -rw-r--r--···0········0········0·····2969·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/@vscode/l10n/dist/browser.js | 472 | -rw-r--r--···0········0········0·····2969·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/@vscode/l10n/dist/browser.js |
| 473 | -rw-r--r--···0········0········0·····5601·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/@vscode/l10n/dist/main.d.ts | 473 | -rw-r--r--···0········0········0·····5601·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/@vscode/l10n/dist/main.d.ts |
| 474 | -rw-r--r--···0········0········0·····4582·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/@vscode/l10n/dist/main.js | 474 | -rw-r--r--···0········0········0·····4582·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/@vscode/l10n/dist/main.js |
| 475 | -rw-r--r--···0········0········0······340·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/@vscode/l10n/dist/tsdoc-metadata.json | 475 | -rw-r--r--···0········0········0······340·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/@vscode/l10n/dist/tsdoc-metadata.json |
| 476 | -rw-r--r--···0········0········0·····1504·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/@vscode/l10n/package.json | 476 | -rw-r--r--···0········0········0·····1504·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/@vscode/l10n/package.json |
| 477 | -rw-r--r--···0········0········0····23 | 477 | -rw-r--r--···0········0········0····23839·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/acorn/CHANGELOG.md |
| 478 | -rw-r--r--···0········0········0·····1099·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/acorn/LICENSE | 478 | -rw-r--r--···0········0········0·····1099·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/acorn/LICENSE |
| 479 | -rw-r--r--···0········0········0····1 | 479 | -rw-r--r--···0········0········0····11397·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/acorn/README.md |
| 480 | -rwxr-xr-x···0········0········0·······60·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/acorn/bin/acorn | 480 | -rwxr-xr-x···0········0········0·······60·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/acorn/bin/acorn |
| 481 | -rw-r--r--···0········0········0····2 | 481 | -rw-r--r--···0········0········0····22016·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/acorn/dist/acorn.d.mts |
| 482 | -rw-r--r--···0········0········0····2 | 482 | -rw-r--r--···0········0········0····22016·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/acorn/dist/acorn.d.ts |
| 483 | -rw-r--r--···0········0········0···24 | 483 | -rw-r--r--···0········0········0···242818·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/acorn/dist/acorn.js |
| 484 | -rw-r--r--···0········0········0···2 | 484 | -rw-r--r--···0········0········0···230975·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/acorn/dist/acorn.mjs |
| 485 | -rw-r--r--···0········0········0·····3329·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/acorn/dist/bin.js | 485 | -rw-r--r--···0········0········0·····3329·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/acorn/dist/bin.js |
| 486 | -rw-r--r--···0········0········0·····1061·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/acorn/package.json | 486 | -rw-r--r--···0········0········0·····1061·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/acorn/package.json |
| 487 | -rw-r--r--···0········0········0····10236·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/aria-query/LICENSE | 487 | -rw-r--r--···0········0········0····10236·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/aria-query/LICENSE |
| 488 | -rw-r--r--···0········0········0·····7134·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/aria-query/README.md | 488 | -rw-r--r--···0········0········0·····7134·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/aria-query/README.md |
| 489 | -rw-r--r--···0········0········0·····5770·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/aria-query/lib/ariaPropsMap.js | 489 | -rw-r--r--···0········0········0·····5770·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/aria-query/lib/ariaPropsMap.js |
| 490 | -rw-r--r--···0········0········0·····7123·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/aria-query/lib/domMap.js | 490 | -rw-r--r--···0········0········0·····7123·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/aria-query/lib/domMap.js |
| 491 | -rw-r--r--···0········0········0·····6003·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/aria-query/lib/elementRoleMap.js | 491 | -rw-r--r--···0········0········0·····6003·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/aria-query/lib/elementRoleMap.js |
| Offset 2325, 19 lines modified | Offset 2325, 19 lines modified | ||
| 2325 | -rw-r--r--···0········0········0···121872·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/prettier/plugins/yaml.js | 2325 | -rw-r--r--···0········0········0···121872·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/prettier/plugins/yaml.js |
| 2326 | -rw-r--r--···0········0········0···121527·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/prettier/plugins/yaml.mjs | 2326 | -rw-r--r--···0········0········0···121527·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/prettier/plugins/yaml.mjs |
| 2327 | -rw-r--r--···0········0········0·····1366·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/prettier/standalone.d.ts | 2327 | -rw-r--r--···0········0········0·····1366·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/prettier/standalone.d.ts |
| 2328 | -rw-r--r--···0········0········0····79270·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/prettier/standalone.js | 2328 | -rw-r--r--···0········0········0····79270·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/prettier/standalone.js |
| 2329 | -rw-r--r--···0········0········0····79079·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/prettier/standalone.mjs | 2329 | -rw-r--r--···0········0········0····79079·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/prettier/standalone.mjs |
| 2330 | -rw-r--r--···0········0········0·····1164·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/prettier-plugin-svelte/LICENSE | 2330 | -rw-r--r--···0········0········0·····1164·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/prettier-plugin-svelte/LICENSE |
| 2331 | -rw-r--r--···0········0········0····11381·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/prettier-plugin-svelte/README.md | 2331 | -rw-r--r--···0········0········0····11381·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/prettier-plugin-svelte/README.md |
| 2332 | -rw-r--r--···0········0········0····9 | 2332 | -rw-r--r--···0········0········0····97261·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/prettier-plugin-svelte/browser.js |
| 2333 | -rw-r--r--···0········0········0·····1280·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/prettier-plugin-svelte/index.d.ts | 2333 | -rw-r--r--···0········0········0·····1280·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/prettier-plugin-svelte/index.d.ts |
| 2334 | -rw-r--r--···0········0········0·····1800·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/prettier-plugin-svelte/package.json | 2334 | -rw-r--r--···0········0········0·····1800·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/prettier-plugin-svelte/package.json |
| 2335 | -rw-r--r--···0········0········0····9 | 2335 | -rw-r--r--···0········0········0····98076·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/prettier-plugin-svelte/plugin.js |
| 2336 | -rw-r--r--···0········0········0···20 | 2336 | -rw-r--r--···0········0········0···206907·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/prettier-plugin-svelte/plugin.js.map |
| 2337 | -rw-r--r--···0········0········0·····1114·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/readdirp/LICENSE | 2337 | -rw-r--r--···0········0········0·····1114·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/readdirp/LICENSE |
| 2338 | -rw-r--r--···0········0········0·····6423·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/readdirp/README.md | 2338 | -rw-r--r--···0········0········0·····6423·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/readdirp/README.md |
| 2339 | -rw-r--r--···0········0········0·····3683·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/readdirp/esm/index.d.ts | 2339 | -rw-r--r--···0········0········0·····3683·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/readdirp/esm/index.d.ts |
| 2340 | -rw-r--r--···0········0········0·····9554·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/readdirp/esm/index.js | 2340 | -rw-r--r--···0········0········0·····9554·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/readdirp/esm/index.js |
| 2341 | -rw-r--r--···0········0········0·······43·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/readdirp/esm/package.json | 2341 | -rw-r--r--···0········0········0·······43·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/readdirp/esm/package.json |
| 2342 | -rw-r--r--···0········0········0·····3683·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/readdirp/index.d.ts | 2342 | -rw-r--r--···0········0········0·····3683·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/readdirp/index.d.ts |
| 2343 | -rw-r--r--···0········0········0·····9967·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/readdirp/index.js | 2343 | -rw-r--r--···0········0········0·····9967·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/readdirp/index.js |
| Offset 2680, 17 lines modified | Offset 2680, 17 lines modified | ||
| 2680 | -rw-r--r--···0········0········0·······26·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte/transition.d.ts | 2680 | -rw-r--r--···0········0········0·······26·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte/transition.d.ts |
| 2681 | -rw-r--r--···0········0········0·······21·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte/types/compiler/interfaces.d.ts | 2681 | -rw-r--r--···0········0········0·······21·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte/types/compiler/interfaces.d.ts |
| 2682 | -rw-r--r--···0········0········0·······21·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte/types/compiler/preprocess.d.ts | 2682 | -rw-r--r--···0········0········0·······21·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte/types/compiler/preprocess.d.ts |
| 2683 | -rw-r--r--···0········0········0····54831·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte/types/index.d.ts | 2683 | -rw-r--r--···0········0········0····54831·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte/types/index.d.ts |
| 2684 | -rw-r--r--···0········0········0·····6902·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte/types/index.d.ts.map | 2684 | -rw-r--r--···0········0········0·····6902·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte/types/index.d.ts.map |
| 2685 | -rw-r--r--···0········0········0·····1072·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte2tsx/LICENSE | 2685 | -rw-r--r--···0········0········0·····1072·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte2tsx/LICENSE |
| 2686 | -rw-r--r--···0········0········0·····1262·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte2tsx/README.md | 2686 | -rw-r--r--···0········0········0·····1262·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte2tsx/README.md |
| 2687 | -rw-r--r--···0········0········0·····7 | 2687 | -rw-r--r--···0········0········0·····7630·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte2tsx/index.d.ts |
| 2688 | -rw-r--r--···0········0········0···358141·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte2tsx/index.js | ||
| 2688 | -rw-r--r--···0········0········0···3 | 2689 | -rw-r--r--···0········0········0···357429·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte2tsx/index.mjs |
| 2689 | -rw-r--r--···0········0········0···338665·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte2tsx/index.mjs | ||
| 2690 | -rw-r--r--···0········0········0·····1902·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte2tsx/package.json | 2690 | -rw-r--r--···0········0········0·····1902·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte2tsx/package.json |
| 2691 | -rw-r--r--···0········0········0····10684·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte2tsx/svelte-jsx-v4.d.ts | 2691 | -rw-r--r--···0········0········0····10684·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte2tsx/svelte-jsx-v4.d.ts |
| 2692 | -rw-r--r--···0········0········0····64575·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte2tsx/svelte-jsx.d.ts | 2692 | -rw-r--r--···0········0········0····64575·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte2tsx/svelte-jsx.d.ts |
| 2693 | -rw-r--r--···0········0········0······964·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte2tsx/svelte-native-jsx.d.ts | 2693 | -rw-r--r--···0········0········0······964·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte2tsx/svelte-native-jsx.d.ts |
| 2694 | -rw-r--r--···0········0········0····16116·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte2tsx/svelte-shims-v4.d.ts | 2694 | -rw-r--r--···0········0········0····16116·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte2tsx/svelte-shims-v4.d.ts |
| 2695 | -rw-r--r--···0········0········0····14526·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte2tsx/svelte-shims.d.ts | 2695 | -rw-r--r--···0········0········0····14526·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/svelte2tsx/svelte-shims.d.ts |
| 2696 | -rw-r--r--···0········0········0·····9197·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/typescript/LICENSE.txt | 2696 | -rw-r--r--···0········0········0·····9197·2026-02-14·05:19:21.000000·lib/node_modules/svelte-language-server/node_modules/typescript/LICENSE.txt |
| Offset 1, 13 lines modified | Offset 1, 13 lines modified | ||
| 1 | { | 1 | { |
| 2 | ····"extracted_folders":·[ | 2 | ····"extracted_folders":·[ |
| 3 | ········"/ | 3 | ········"/tmp/.tmpXZ5xOF/src_cache/svelte-language-server-0_17_26_f2032843" |
| 4 | ····], | 4 | ····], |
| 5 | ····"recipe_path":·"/home/conda/recipe_root/recipe.yaml", | ||
| 6 | ····" | 5 | ····"recipe_path":·"", |
| 6 | ····"source_cache":·"/tmp/.tmpXZ5xOF/src_cache", | ||
| 7 | ····"sources":·[ | 7 | ····"sources":·[ |
| 8 | ········{ | 8 | ········{ |
| 9 | ············"sha256":·"f2032843c19641adbda4534e6e084ba7500c1b7871ce58c8f74ec4a8a240571d", | 9 | ············"sha256":·"f2032843c19641adbda4534e6e084ba7500c1b7871ce58c8f74ec4a8a240571d", |
| 10 | ············"url":·"https://registry.npmjs.org/svelte-language-server/-/svelte-language-server-0.17.26.tgz" | 10 | ············"url":·"https://registry.npmjs.org/svelte-language-server/-/svelte-language-server-0.17.26.tgz" |
| 11 | ········} | 11 | ········} |
| 12 | ····] | 12 | ····] |
| 13 | } | 13 | } |
| Offset 1, 44 lines modified | Offset 1, 49 lines modified | ||
| 1 | export· | 1 | export·CPU_COUNT=4 |
| 2 | export·SHLIB_EXT=.not_implemented | 2 | export·SHLIB_EXT=.not_implemented |
| 3 | export·PKG_NAME=svelte-language-server | ||
| 4 | export·PKG_VERSION=0.17.26 | ||
| 3 | export·PYTHON=/home/conda/feedstock_root/build_artifacts/bld/rattler-build_svelte-language-server_1771046361/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/bin/python | ||
| 4 | export·PIP_NO_INDEX=True | ||
| 5 | export·CONDA_BUILD_CROSS_COMPILATION=1 | ||
| 6 | export·PIP_NO_DEPENDENCIES=True | 5 | export·PIP_NO_DEPENDENCIES=True |
| 7 | export·SUBDIR=noarch | ||
| 8 | export· | 6 | export·PKG_HASH=hfa286de |
| 7 | export·build_platform=linux-64 | ||
| 8 | export·CLICOLOR_FORCE=1 | ||
| 9 | export·PYTHONNOUSERSITE=1 | ||
| 10 | export·CONDA_DEFAULT_ENV=/home/conda/feedstock_root/build_artifacts/bld/rattler-build_svelte-language-server_1771046361/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p | ||
| 11 | export·AM_COLOR_TESTS=always | ||
| 12 | export·target_platform=noarch | ||
| 13 | export·FORCE_COLOR=1 | ||
| 14 | export·PKG_BUILDNUM=0 | ||
| 9 | export·CONDA_BUILD_STATE=BUILD | 15 | export·CONDA_BUILD_STATE=BUILD |
| 10 | export·PKG_VERSION=0.17.26 | ||
| 11 | export·PKG_BUILD_STRING=hfa286de_0 | 16 | export·PKG_BUILD_STRING=hfa286de_0 |
| 17 | export·MAKE_TERMOUT=1 | ||
| 12 | export·ARCH=64 | ||
| 13 | export·CONDA_DEFAULT_ENV=/home/conda/feedstock_root/build_artifacts/bld/rattler-build_svelte-language-server_1771046361/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p | ||
| 14 | export·SOURCE_DATE_EPOCH=1771046361 | ||
| 15 | export·PIP_NO_BUILD_ISOLATION=False | 18 | export·PIP_NO_BUILD_ISOLATION=False |
| 19 | export·CONDA_BUILD_CROSS_COMPILATION=1 | ||
| 20 | export·PYTHON=/home/conda/feedstock_root/build_artifacts/bld/rattler-build_svelte-language-server_1771046361/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/bin/python | ||
| 16 | export·CONDA_BUILD=1 | ||
| 17 | export·target_platform=noarch | ||
| 18 | export·channel_sources=conda-forge | ||
| 19 | export·PKG_HASH=hfa286de | ||
| 20 | export·BUILD_PREFIX=/home/conda/feedstock_root/build_artifacts/bld/rattler-build_svelte-language-server_1771046361/build_env | 21 | export·BUILD_PREFIX=/home/conda/feedstock_root/build_artifacts/bld/rattler-build_svelte-language-server_1771046361/build_env |
| 22 | export·RECIPE_DIR=/tmp/.tmpR1t4j7 | ||
| 23 | export·PREFIX=/home/conda/feedstock_root/build_artifacts/bld/rattler-build_svelte-language-server_1771046361/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p | ||
| 21 | export·PIP_CACHE_DIR=/home/conda/feedstock_root/build_artifacts/bld/rattler-build_svelte-language-server_1771046361/pip_cache | 24 | export·PIP_CACHE_DIR=/home/conda/feedstock_root/build_artifacts/bld/rattler-build_svelte-language-server_1771046361/pip_cache |
| 22 | export· | 25 | export·LANG=C.UTF-8 |
| 26 | export·PIP_NO_INDEX=True | ||
| 27 | export·CONDA_BUILD=1 | ||
| 28 | export·SOURCE_DATE_EPOCH=1771046361 | ||
| 29 | export·PATH=/home/runner/.pixi/envs/rattler-build/bin:/home/runner/work/reproducible-builds/reproducible-builds/.pixi/envs/default/bin:/home/runner/.pixi/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin | ||
| 30 | export·SUBDIR=noarch | ||
| 31 | export·BUILD_DIR=/home/conda/feedstock_root/build_artifacts/bld/rattler-build_svelte-language-server_1771046361 | ||
| 32 | export·channel_sources=conda-forge | ||
| 23 | export·PIP_IGNORE_INSTALLED=True | 33 | export·PIP_IGNORE_INSTALLED=True |
| 34 | export·CMAKE_COLOR_DIAGNOSTICS=ON | ||
| 24 | export·PYTHONNOUSERSITE=1 | ||
| 25 | export·build_platform=linux-64 | ||
| 26 | export·CPU_COUNT=2 | ||
| 27 | export·host_platform=linux-64 | 35 | export·host_platform=linux-64 |
| 28 | export· | 36 | export·SRC_DIR=/home/conda/feedstock_root/build_artifacts/bld/rattler-build_svelte-language-server_1771046361/work |
| 37 | export·GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' | ||
| 38 | export·ARCH=64 | ||
| 29 | export·channel_targets='conda-forge·main' | 39 | export·channel_targets='conda-forge·main' |
| 30 | export·PKG_BUILDNUM=0 | ||
| 31 | export·PREFIX=/home/conda/feedstock_root/build_artifacts/bld/rattler-build_svelte-language-server_1771046361/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p | ||
| 32 | export·PATH=/home/conda/feedstock_root/.pixi/envs/docker-build-linux-64/bin:/opt/conda/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/conda/bin | ||
| 33 | export·PKG_NAME=svelte-language-server | ||
| 34 | .·/home/conda/feedstock_root/.pixi/envs/docker-build-linux-64/etc/conda/deactivate.d/libglib_deactivate.sh | ||
| 35 | export·PATH="/home/conda/feedstock_root/build_artifacts/bld/rattler-build_svelte-language-server_1771046361/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/bin:${PATH}" | 40 | export·PATH="/home/conda/feedstock_root/build_artifacts/bld/rattler-build_svelte-language-server_1771046361/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/bin:${PATH}" |
| 36 | export·CONDA_SHLVL=3 | 41 | export·CONDA_SHLVL=3 |
| 37 | export·CONDA_ENV_SHLVL_3_CONDA_PREFIX=/home/ | 42 | export·CONDA_ENV_SHLVL_3_CONDA_PREFIX=/home/runner/.pixi/envs/rattler-build |
| 38 | export·CONDA_PREFIX=/home/conda/feedstock_root/build_artifacts/bld/rattler-build_svelte-language-server_1771046361/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p | 43 | export·CONDA_PREFIX=/home/conda/feedstock_root/build_artifacts/bld/rattler-build_svelte-language-server_1771046361/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p |
| 39 | export·PATH="/home/conda/feedstock_root/build_artifacts/bld/rattler-build_svelte-language-server_1771046361/build_env/bin:${PATH}" | 44 | export·PATH="/home/conda/feedstock_root/build_artifacts/bld/rattler-build_svelte-language-server_1771046361/build_env/bin:${PATH}" |
| 40 | export·CONDA_SHLVL=3 | 45 | export·CONDA_SHLVL=3 |
| 41 | export·CONDA_ENV_SHLVL_3_CONDA_PREFIX=/home/ | 46 | export·CONDA_ENV_SHLVL_3_CONDA_PREFIX=/home/runner/.pixi/envs/rattler-build |
| 42 | export·CONDA_PREFIX=/home/conda/feedstock_root/build_artifacts/bld/rattler-build_svelte-language-server_1771046361/build_env | 47 | export·CONDA_PREFIX=/home/conda/feedstock_root/build_artifacts/bld/rattler-build_svelte-language-server_1771046361/build_env |
| Offset 1, 7 lines modified | Offset 1, 25 lines modified | ||
| 1 | ##·8.16.0·(2026-02-19) | ||
| 2 | ###·New·features | ||
| 3 | The·`sourceType`·option·can·now·be·set·to·`"commonjs"`·to·have·the·parser·treat·the·top·level·scope·as·a·function·scope. | ||
| 4 | Add·support·for·Unicode·17. | ||
| 5 | ###·Bug·fixes | ||
| 6 | Don't·recognize·`await·using`·as·contextual·keywords·when·followed·directly·by·a·backslash. | ||
| 7 | Fix·an·issue·where·the·parser·would·allow·`return`·statements·in·`static`·blocks·when·`allowReturnOutsideFunction`·was·enabled. | ||
| 8 | Properly·reject·`using`·declarations·that·appear·directly·in·`switch`·or·`for`·head·scopes. | ||
| 9 | Fix·some·corner·case·issues·in·the·recognition·of·`using`·syntax. | ||
| 1 | ##·8.15.0·(2025-06-08) | 10 | ##·8.15.0·(2025-06-08) |
| 2 | ###·New·features | 11 | ###·New·features |
| 3 | Support·`using`·and·`await·using`·syntax. | 12 | Support·`using`·and·`await·using`·syntax. |
| 4 | The·`AnyNode`·type·is·now·defined·in·such·a·way·that·plugins·can·extend·it. | 13 | The·`AnyNode`·type·is·now·defined·in·such·a·way·that·plugins·can·extend·it. |
| Offset 22, 26 lines modified | Offset 22, 44 lines modified | ||
| 22 | Alternately,·you·can·download·the·source·and·build·acorn·yourself: | 22 | Alternately,·you·can·download·the·source·and·build·acorn·yourself: |
| 23 | ```sh | 23 | ```sh |
| 24 | git·clone·https://github.com/acornjs/acorn.git | 24 | git·clone·https://github.com/acornjs/acorn.git |
| 25 | cd·acorn | 25 | cd·acorn |
| 26 | npm·install | 26 | npm·install |
| 27 | ``` | 27 | ``` |
| 28 | ##·Importing·acorn | ||
| 29 | ESM·as·well·as·CommonJS·is·supported·for·all·3:·`acorn`,·`acorn-walk`·and·`acorn-loose`. | ||
| 30 | ESM·example·for·`acorn`: | ||
| 31 | ```js | ||
| 32 | import·*·as·acorn·from·"acorn" | ||
| 33 | ``` | ||
| 34 | CommonJS·example·for·`acorn`: | ||
| 35 | ```js | ||
| 36 | let·acorn·=·require("acorn") | ||
| 37 | ``` | ||
| 38 | ESM·is·preferred,·as·it·allows·better·editor·auto-completions·by·offering·TypeScript·support. | ||
| 39 | For·this·reason,·following·examples·will·use·ESM·imports. | ||
| 28 | ##·Interface | 40 | ##·Interface |
| 29 | **parse**`(input,·options)`·is·the·main·interface·to·the·library.·The | 41 | **parse**`(input,·options)`·is·the·main·interface·to·the·library.·The |
| 30 | `input`·parameter·is·a·string,·`options`·must·be·an·object·setting | 42 | `input`·parameter·is·a·string,·`options`·must·be·an·object·setting |
| 31 | some·of·the·options·listed·below.·The·return·value·will·be·an·abstract | 43 | some·of·the·options·listed·below.·The·return·value·will·be·an·abstract |
| 32 | syntax·tree·object·as·specified·by·the·[ESTree | 44 | syntax·tree·object·as·specified·by·the·[ESTree |
| 33 | spec](https://github.com/estree/estree). | 45 | spec](https://github.com/estree/estree). |
| 34 | ```javascript | 46 | ```javascript |
| 35 | 47 | import·*·as·acorn·from·"acorn" | |
| 36 | console.log(acorn.parse("1·+·1",·{ecmaVersion:·2020})) | 48 | console.log(acorn.parse("1·+·1",·{ecmaVersion:·2020})) |
| 37 | ``` | 49 | ``` |
| 38 | When·encountering·a·syntax·error,·the·parser·will·raise·a | 50 | When·encountering·a·syntax·error,·the·parser·will·raise·a |
| 39 | `SyntaxError`·object·with·a·meaningful·message.·The·error·object·will | 51 | `SyntaxError`·object·with·a·meaningful·message.·The·error·object·will |
| 40 | have·a·`pos`·property·that·indicates·the·string·offset·at·which·the | 52 | have·a·`pos`·property·that·indicates·the·string·offset·at·which·the |
| 41 | error·occurred,·and·a·`loc`·object·that·contains·a·`{line,·column}` | 53 | error·occurred,·and·a·`loc`·object·that·contains·a·`{line,·column}` |
| 42 | object·referring·to·that·same·position. | 54 | object·referring·to·that·same·position. |
| Offset 57, 19 lines modified | Offset 75, 20 lines modified | ||
| 57 | ··new·syntax·features. | 75 | ··new·syntax·features. |
| 58 | ··**NOTE**:·Only·'stage·4'·(finalized)·ECMAScript·features·are·being | 76 | ··**NOTE**:·Only·'stage·4'·(finalized)·ECMAScript·features·are·being |
| 59 | ··implemented·by·Acorn.·Other·proposed·new·features·must·be | 77 | ··implemented·by·Acorn.·Other·proposed·new·features·must·be |
| 60 | ··implemented·through·plugins. | 78 | ··implemented·through·plugins. |
| 61 | -·**sourceType**:·Indicate·the·mode·the·code·should·be·parsed·in.·Can·be | 79 | -·**sourceType**:·Indicate·the·mode·the·code·should·be·parsed·in.·Can·be |
| 62 | ··either·`"script"`·or·`"m | 80 | ··either·`"script"`,·`"module"`·or·`"commonjs"`.·This·influences·global·strict·mode |
| 63 | ··and·parsing·of·`import`·and·`export`·declarations. | 81 | ··and·parsing·of·`import`·and·`export`·declarations. |
| 64 | ··**NOTE**:·If·set·to·`"module"`,·then·static·`import`·/·`export`·syntax | 82 | ··**NOTE**:·If·set·to·`"module"`,·then·static·`import`·/·`export`·syntax |
| 65 | ··will·be·valid,·even·if·`ecmaVersion`·is·less·than·6. | 83 | ··will·be·valid,·even·if·`ecmaVersion`·is·less·than·6.·If·set·to·`"commonjs"`, |
| 84 | ··it·is·the·same·as·`"script"`·except·that·the·top-level·scope·behaves·like·a·function. | ||
| 66 | -·**onInsertedSemicolon**:·If·given·a·callback,·that·callback·will·be | 85 | -·**onInsertedSemicolon**:·If·given·a·callback,·that·callback·will·be |
| 67 | ··called·whenever·a·missing·semicolon·is·inserted·by·the·parser.·The | 86 | ··called·whenever·a·missing·semicolon·is·inserted·by·the·parser.·The |
| 68 | ··callback·will·be·given·the·character·offset·of·the·point·where·the | 87 | ··callback·will·be·given·the·character·offset·of·the·point·where·the |
| 69 | ··semicolon·is·inserted·as·argument,·and·if·`locations`·is·on,·also·a | 88 | ··semicolon·is·inserted·as·argument,·and·if·`locations`·is·on,·also·a |
| 70 | ··`{line,·column}`·object·representing·this·position. | 89 | ··`{line,·column}`·object·representing·this·position. |
| Offset 93, 15 lines modified | Offset 112, 15 lines modified | ||
| 93 | ··(when·`sourceType`·is·not·`"module"`). | 112 | ··(when·`sourceType`·is·not·`"module"`). |
| 94 | -·**allowAwaitOutsideFunction**:·If·`false`,·`await`·expressions·can | 113 | -·**allowAwaitOutsideFunction**:·If·`false`,·`await`·expressions·can |
| 95 | ··only·appear·inside·`async`·functions.·Defaults·to·`true`·in·modules | 114 | ··only·appear·inside·`async`·functions.·Defaults·to·`true`·in·modules |
| 96 | ··for·`ecmaVersion`·2022·and·later,·`false`·for·lower·versions. | 115 | ··for·`ecmaVersion`·2022·and·later,·`false`·for·lower·versions. |
| 97 | ··Setting·this·option·to·`true`·allows·to·have·top-level·`await` | 116 | ··Setting·this·option·to·`true`·allows·to·have·top-level·`await` |
| 98 | ··expressions.·They·are·still·not·allowed·in·non-`async`·functions, | 117 | ··expressions.·They·are·still·not·allowed·in·non-`async`·functions, |
| 99 | ··though. | 118 | ··though.·Setting·this·option·to·`true`·is·not·allowed·when·`sourceType:·"commonjs"`. |
| 100 | -·**allowSuperOutsideMethod**:·By·default,·`super`·outside·a·method | 119 | -·**allowSuperOutsideMethod**:·By·default,·`super`·outside·a·method |
| 101 | ··raises·an·error.·Set·this·to·`true`·to·accept·such·code. | 120 | ··raises·an·error.·Set·this·to·`true`·to·accept·such·code. |
| 102 | -·**allowHashBang**:·When·this·is·enabled,·if·the·code·starts·with·the | 121 | -·**allowHashBang**:·When·this·is·enabled,·if·the·code·starts·with·the |
| 103 | ··characters·`#!`·(as·in·a·shellscript),·the·first·line·will·be | 122 | ··characters·`#!`·(as·in·a·shellscript),·the·first·line·will·be |
| 104 | ··treated·as·a·comment.·Defaults·to·true·when·`ecmaVersion`·>=·2023. | 123 | ··treated·as·a·comment.·Defaults·to·true·when·`ecmaVersion`·>=·2023. |
| Offset 213, 15 lines modified | Offset 232, 15 lines modified | ||
| 213 | ```javascript | 232 | ```javascript |
| 214 | for·(let·token·of·acorn.tokenizer(str))·{ | 233 | for·(let·token·of·acorn.tokenizer(str))·{ |
| 215 | ··//·iterate·over·the·tokens | 234 | ··//·iterate·over·the·tokens |
| 216 | } | 235 | } |
| 217 | //·transform·code·to·array·of·tokens: | 236 | //·transform·code·to·array·of·tokens: |
| 218 | var·tokens·=·[...acorn.tokenizer(str)] | 237 | var·tokens·=·[...acorn.tokenizer(str)] |
| 219 | ``` | 238 | ``` |
| 220 | **tokTypes**·holds·an·object·mapping·names·to·the·token·type·objects | 239 | **tokTypes**·holds·an·object·mapping·names·to·the·token·type·objects |
| 221 | that·end·up·in·the·`type`·properties·of·tokens. | 240 | that·end·up·in·the·`type`·properties·of·tokens. |
| 222 | **getLineInfo**`(input,·offset)`·can·be·used·to·get·a·`{line, | 241 | **getLineInfo**`(input,·offset)`·can·be·used·to·get·a·`{line, |
| 223 | column}`·object·for·a·given·program·string·and·offset. | 242 | column}`·object·for·a·given·program·string·and·offset. |
| Offset 234, 18 lines modified | Offset 253, 18 lines modified | ||
| 234 | functions·by·the·same·name. | 253 | functions·by·the·same·name. |
| Max diff block lines reached; 713/4651 bytes (15.33%) of diff not shown. | |||
| Offset 610, 18 lines modified | Offset 610, 18 lines modified | ||
| 610 | ···*·support·for·strict·mode,·the·set·of·reserved·words,·and·support·for | 610 | ···*·support·for·strict·mode,·the·set·of·reserved·words,·and·support·for |
| 611 | ···*·new·syntax·features. | 611 | ···*·new·syntax·features. |
| 612 | ···*/ | 612 | ···*/ |
| 613 | ··ecmaVersion:·ecmaVersion | 613 | ··ecmaVersion:·ecmaVersion |
| 614 | ··/** | 614 | ··/** |
| 615 | ···*·`sourceType`·indicates·the·mode·the·code·should·be·parsed·in. | 615 | ···*·`sourceType`·indicates·the·mode·the·code·should·be·parsed·in. |
| 616 | ···*·Can·be·either·`"script"`·or·`"m | 616 | ···*·Can·be·either·`"script"`,·`"module"`·or·`"commonjs"`.·This·influences·global |
| 617 | ···*·strict·mode·and·parsing·of·`import`·and·`export`·declarations. | 617 | ···*·strict·mode·and·parsing·of·`import`·and·`export`·declarations. |
| 618 | ···*/ | 618 | ···*/ |
| 619 | ··sourceType?:·"script"·|·"module" | 619 | ··sourceType?:·"script"·|·"module"·|·"commonjs" |
| 620 | ··/** | 620 | ··/** |
| 621 | ···*·a·callback·that·will·be·called·when·a·semicolon·is·automatically·inserted. | 621 | ···*·a·callback·that·will·be·called·when·a·semicolon·is·automatically·inserted. |
| 622 | ···*·@param·lastTokEnd·the·position·of·the·comma·as·an·offset | 622 | ···*·@param·lastTokEnd·the·position·of·the·comma·as·an·offset |
| 623 | ···*·@param·lastTokEndLoc·location·if·{@link·locations}·is·enabled | 623 | ···*·@param·lastTokEndLoc·location·if·{@link·locations}·is·enabled |
| 624 | ···*/ | 624 | ···*/ |
| 625 | ··onInsertedSemicolon?:·(lastTokEnd:·number,·lastTokEndLoc?:·Position)·=>·void | 625 | ··onInsertedSemicolon?:·(lastTokEnd:·number,·lastTokEndLoc?:·Position)·=>·void |
| Offset 610, 18 lines modified | Offset 610, 18 lines modified | ||
| 610 | ···*·support·for·strict·mode,·the·set·of·reserved·words,·and·support·for | 610 | ···*·support·for·strict·mode,·the·set·of·reserved·words,·and·support·for |
| 611 | ···*·new·syntax·features. | 611 | ···*·new·syntax·features. |
| 612 | ···*/ | 612 | ···*/ |
| 613 | ··ecmaVersion:·ecmaVersion | 613 | ··ecmaVersion:·ecmaVersion |
| 614 | ··/** | 614 | ··/** |
| 615 | ···*·`sourceType`·indicates·the·mode·the·code·should·be·parsed·in. | 615 | ···*·`sourceType`·indicates·the·mode·the·code·should·be·parsed·in. |
| 616 | ···*·Can·be·either·`"script"`·or·`"m | 616 | ···*·Can·be·either·`"script"`,·`"module"`·or·`"commonjs"`.·This·influences·global |
| 617 | ···*·strict·mode·and·parsing·of·`import`·and·`export`·declarations. | 617 | ···*·strict·mode·and·parsing·of·`import`·and·`export`·declarations. |
| 618 | ···*/ | 618 | ···*/ |
| 619 | ··sourceType?:·"script"·|·"module" | 619 | ··sourceType?:·"script"·|·"module"·|·"commonjs" |
| 620 | ··/** | 620 | ··/** |
| 621 | ···*·a·callback·that·will·be·called·when·a·semicolon·is·automatically·inserted. | 621 | ···*·a·callback·that·will·be·called·when·a·semicolon·is·automatically·inserted. |
| 622 | ···*·@param·lastTokEnd·the·position·of·the·comma·as·an·offset | 622 | ···*·@param·lastTokEnd·the·position·of·the·comma·as·an·offset |
| 623 | ···*·@param·lastTokEndLoc·location·if·{@link·locations}·is·enabled | 623 | ···*·@param·lastTokEndLoc·location·if·{@link·locations}·is·enabled |
| 624 | ···*/ | 624 | ···*/ |
| 625 | ··onInsertedSemicolon?:·(lastTokEnd:·number,·lastTokEndLoc?:·Position)·=>·void | 625 | ··onInsertedSemicolon?:·(lastTokEnd:·number,·lastTokEndLoc?:·Position)·=>·void |
| Offset 27, 15 lines modified | Offset 27, 15 lines modified | ||
| 000001a0:·6669·6572·436f·6465·7320·3d20·5b35·3039··fierCodes·=·[509 | 000001a0:·6669·6572·436f·6465·7320·3d20·5b35·3039··fierCodes·=·[509 | ||
| 000001b0:·2c20·302c·2032·3237·2c20·302c·2031·3530··,·0,·227,·0,·150 | 000001b0:·2c20·302c·2032·3237·2c20·302c·2031·3530··,·0,·227,·0,·150 | ||
| 000001c0:·2c20·342c·2032·3934·2c20·392c·2031·3336··,·4,·294,·9,·136 | 000001c0:·2c20·342c·2032·3934·2c20·392c·2031·3336··,·4,·294,·9,·136 | ||
| 000001d0:·382c·2032·2c20·322c·2031·2c20·362c·2033··8,·2,·2,·1,·6,·3 | 000001d0:·382c·2032·2c20·322c·2031·2c20·362c·2033··8,·2,·2,·1,·6,·3 | ||
| 000001e0:·2c20·3431·2c20·322c·2035·2c20·302c·2031··,·41,·2,·5,·0,·1 | 000001e0:·2c20·3431·2c20·322c·2035·2c20·302c·2031··,·41,·2,·5,·0,·1 | ||
| 000001f0:·3636·2c20·312c·2035·3734·2c20·332c·2039··66,·1,·574,·3,·9 | 000001f0:·3636·2c20·312c·2035·3734·2c20·332c·2039··66,·1,·574,·3,·9 | ||
| 00000200:·2c20·392c·2037·2c20·392c·2033·322c·2034··,·9,·7,·9,·32,·4 | 00000200:·2c20·392c·2037·2c20·392c·2033·322c·2034··,·9,·7,·9,·32,·4 | ||
| 00000210:·2c20·3331·382c·2031·2c20·3 | 00000210:·2c20·3331·382c·2031·2c20·3738·2c20·352c··,·318,·1,·78,·5, | ||
| 00000220:·2037·312c·2031·302c·2035·302c·2033·2c20···71,·10,·50,·3,· | 00000220:·2037·312c·2031·302c·2035·302c·2033·2c20···71,·10,·50,·3,· | ||
| 00000230:·3132·332c·2032·2c20·3534·2c20·3134·2c20··123,·2,·54,·14,· | 00000230:·3132·332c·2032·2c20·3534·2c20·3134·2c20··123,·2,·54,·14,· | ||
| 00000240:·3332·2c20·3130·2c20·332c·2031·2c20·3131··32,·10,·3,·1,·11 | 00000240:·3332·2c20·3130·2c20·332c·2031·2c20·3131··32,·10,·3,·1,·11 | ||
| 00000250:·2c20·332c·2034·362c·2031·302c·2038·2c20··,·3,·46,·10,·8,· | 00000250:·2c20·332c·2034·362c·2031·302c·2038·2c20··,·3,·46,·10,·8,· | ||
| 00000260:·302c·2034·362c·2039·2c20·372c·2032·2c20··0,·46,·9,·7,·2,· | 00000260:·302c·2034·362c·2039·2c20·372c·2032·2c20··0,·46,·9,·7,·2,· | ||
| 00000270:·3337·2c20·3133·2c20·322c·2039·2c20·362c··37,·13,·2,·9,·6, | 00000270:·3337·2c20·3133·2c20·322c·2039·2c20·362c··37,·13,·2,·9,·6, | ||
| 00000280:·2031·2c20·3435·2c20·302c·2031·332c·2032···1,·45,·0,·13,·2 | 00000280:·2031·2c20·3435·2c20·302c·2031·332c·2032···1,·45,·0,·13,·2 | ||
| Offset 58, 15042 lines modified | Offset 58, 15120 lines modified | ||
| 00000390:·3134·2c20·352c·2039·2c20·3234·332c·2031··14,·5,·9,·243,·1 | 00000390:·3134·2c20·352c·2039·2c20·3234·332c·2031··14,·5,·9,·243,·1 | ||
| 000003a0:·342c·2031·3636·2c20·392c·2037·312c·2035··4,·166,·9,·71,·5 | 000003a0:·342c·2031·3636·2c20·392c·2037·312c·2035··4,·166,·9,·71,·5 | ||
| 000003b0:·2c20·322c·2031·2c20·332c·2033·2c20·322c··,·2,·1,·3,·3,·2, | 000003b0:·2c20·322c·2031·2c20·332c·2033·2c20·322c··,·2,·1,·3,·3,·2, | ||
| 000003c0:·2030·2c20·322c·2031·2c20·3133·2c20·392c···0,·2,·1,·13,·9, | 000003c0:·2030·2c20·322c·2031·2c20·3133·2c20·392c···0,·2,·1,·13,·9, | ||
| 000003d0:·2031·3230·2c20·362c·2033·2c20·362c·2034···120,·6,·3,·6,·4 | 000003d0:·2031·3230·2c20·362c·2033·2c20·362c·2034···120,·6,·3,·6,·4 | ||
| 000003e0:·2c20·302c·2032·392c·2039·2c20·3431·2c20··,·0,·29,·9,·41,· | 000003e0:·2c20·302c·2032·392c·2039·2c20·3431·2c20··,·0,·29,·9,·41,· | Diff chunk too large, falling back to line-by-line diff (929 lines added, 929 lines removed) | |
| 000003f0:·362c·2032·2c20·332c·2039·2c20·302c·2031··6,·2,·3,·9,·0,·1 | 000003f0:·362c·2032·2c20·332c·2039·2c20·302c·2031··6,·2,·3,·9,·0,·1 | ||
| 00000400:·302c·2031·302c·2034·372c·2031·352c·203 | 00000400:·302c·2031·302c·2034·372c·2031·352c·2031··0,·10,·47,·15,·1 | ||
| 00000410:·3 | 00000410:·3939·2c20·372c·2031·3337·2c20·392c·2035··99,·7,·137,·9,·5 | ||
| 00000420:· | 00000420:·342c·2037·2c20·322c·2037·2c20·3137·2c20··4,·7,·2,·7,·17,· | ||
| 00000430:·3 | 00000430:·392c·2035·372c·2032·312c·2032·2c20·3133··9,·57,·21,·2,·13 | ||
| 00000440:·2c20·3 | 00000440:·2c20·3132·332c·2035·2c20·342c·2030·2c20··,·123,·5,·4,·0,· | ||
| 00000450:·203 | 00000450:·322c·2031·2c20·322c·2036·2c20·322c·2030··2,·1,·2,·6,·2,·0 | ||
| 00000460:· | 00000460:·2c20·392c·2039·2c20·3439·2c20·342c·2032··,·9,·9,·49,·4,·2 | ||
| 00000470:·3 | 00000470:·2c20·312c·2032·2c20·342c·2039·2c20·392c··,·1,·2,·4,·9,·9, | ||
| 00000480:·203 | 00000480:·2035·352c·2039·2c20·3236·362c·2033·2c20···55,·9,·266,·3,· | ||
| 00000490:·2c20·3 | 00000490:·3130·2c20·312c·2032·2c20·302c·2034·392c··10,·1,·2,·0,·49, | ||
| 000004a0:· | 000004a0:·2036·2c20·342c·2034·2c20·3134·2c20·3130···6,·4,·4,·14,·10 | ||
| 000004b0:· | 000004b0:·2c20·3533·3530·2c20·302c·2037·2c20·3134··,·5350,·0,·7,·14 | ||
| 000004c0:·3 | 000004c0:·2c20·3131·3436·352c·2032·372c·2032·3334··,·11465,·27,·234 | ||
| 000004d0:· | 000004d0:·332c·2039·2c20·3837·2c20·392c·2033·392c··3,·9,·87,·9,·39, | ||
| 000004e0:· | 000004e0:·2034·2c20·3630·2c20·362c·2032·362c·2039···4,·60,·6,·26,·9 | ||
| 000004f0:· | 000004f0:·2c20·3533·352c·2039·2c20·3437·302c·2030··,·535,·9,·470,·0 | ||
| 00000500:· | 00000500:·2c20·322c·2035·342c·2038·2c20·332c·2038··,·2,·54,·8,·3,·8 | ||
| 00000510:·3 | 00000510:·322c·2030·2c20·3132·2c20·312c·2031·3936··2,·0,·12,·1,·196 | ||
| 00000520:· | 00000520:·3238·2c20·312c·2034·3137·382c·2039·2c20··28,·1,·4178,·9,· | ||
| 00000530:· | 00000530:·3531·392c·2034·352c·2033·2c20·3232·2c20··519,·45,·3,·22,· | ||
| 00000540:· | 00000540:·3534·332c·2034·2c20·342c·2035·2c20·392c··543,·4,·4,·5,·9, | ||
| 00000550:·2 | 00000550:·2037·2c20·332c·2036·2c20·3331·2c20·332c···7,·3,·6,·31,·3, | ||
| 00000560:·3439·2c20·3 | 00000560:·2031·3439·2c20·322c·2031·3431·382c·2034···149,·2,·1418,·4 | ||
| 00000570:·3 | 00000570:·392c·2035·3133·2c20·3534·2c20·352c·2034··9,·513,·54,·5,·4 | ||
| 00000580:· | 00000580:·392c·2039·2c20·302c·2031·352c·2030·2c20··9,·9,·0,·15,·0,· | ||
| 00000590:·3 | 00000590:·3233·2c20·342c·2032·2c20·3134·2c20·3133··23,·4,·2,·14,·13 | ||
| 000005a0:·2c20·362c·2032·2c20·31 | 000005a0:·3631·2c20·362c·2032·2c20·3136·2c20·332c··61,·6,·2,·16,·3, | ||
| 000005b0:·203 | 000005b0:·2036·2c20·322c·2031·2c20·322c·2034·2c20···6,·2,·1,·2,·4,· | ||
| 000005c0:· | 000005c0:·3130·312c·2030·2c20·3136·312c·2036·2c20··101,·0,·161,·6,· | ||
| 000005d0:·3 | 000005d0:·3130·2c20·392c·2033·3537·2c20·302c·2036··10,·9,·357,·0,·6 | ||
| 000005e0:· | 000005e0:·322c·2031·332c·2034·3939·2c20·3133·2c20··2,·13,·499,·13,· | ||
| 000005f0:·323 | 000005f0:·3234·352c·2031·2c20·322c·2039·2c20·3233··245,·1,·2,·9,·23 | ||
| 00000600:· | 00000600:·332c·2030·2c20·332c·2030·2c20·382c·2031··3,·0,·3,·0,·8,·1 | ||
| 00000610:· | 00000610:·2c20·362c·2030·2c20·3437·352c·2036·2c20··,·6,·0,·475,·6,· | ||
| 00000620:· | 00000620:·3131·302c·2036·2c20·362c·2039·2c20·3437··110,·6,·6,·9,·47 | ||
| 00000630:· | 00000630:·3539·2c20·392c·2037·3837·3731·392c·2032··59,·9,·787719,·2 | ||
| 00000640:· | 00000640:·3339·5d3b·0a0a·2020·2f2f·2054·6869·7320··39];..··//·This· | ||
| 00000650:· | 00000650:·6669·6c65·2077·6173·2067·656e·6572·6174··file·was·generat | ||
| 00000660:·6 | 00000660:·6564·2e20·446f·206e·6f74·206d·6f64·6966··ed.·Do·not·modif | ||
| 00000670:· | 00000670:·7920·6d61·6e75·616c·6c79·210a·2020·7661··y·manually!.··va | ||
| 00000680:· | 00000680:·7220·6173·7472·616c·4964·656e·7469·6669··r·astralIdentifi | ||
| 00000690:· | 00000690:·6572·5374·6172·7443·6f64·6573·203d·205b··erStartCodes·=·[ | ||
| 000006a0:·3 | 000006a0:·302c·2031·312c·2032·2c20·3235·2c20·322c··0,·11,·2,·25,·2, | ||
| 000006b0:·203 | 000006b0:·2031·382c·2032·2c20·312c·2032·2c20·3134···18,·2,·1,·2,·14 | ||
| 000006c0:·2 | 000006c0:·2c20·332c·2031·332c·2033·352c·2031·3232··,·3,·13,·35,·122 | ||
| 000006d0:·2 | 000006d0:·2c20·3730·2c20·3532·2c20·3236·382c·2032··,·70,·52,·268,·2 | ||
| 000006e0:·3 | 000006e0:·382c·2034·2c20·3438·2c20·3438·2c20·3331··8,·4,·48,·48,·31 | ||
| 000006f0:· | 000006f0:·2c20·3134·2c20·3239·2c20·362c·2033·372c··,·14,·29,·6,·37, | ||
| 00000700:· | 00000700:·2031·312c·2032·392c·2033·2c20·3335·2c20···11,·29,·3,·35,· | ||
| 00000710:·2c20 | 00000710:·352c·2037·2c20·322c·2034·2c20·3433·2c20··5,·7,·2,·4,·43,· | ||
| 00000720:· | 00000720:·3135·372c·2031·392c·2033·352c·2035·2c20··157,·19,·35,·5,· | ||
| 00000730:· | 00000730:·3335·2c20·352c·2033·392c·2039·2c20·3531··35,·5,·39,·9,·51 | ||
| 00000740:·2c20·322 | 00000740:·2c20·3133·2c20·3130·2c20·322c·2031·342c··,·13,·10,·2,·14, | ||
| 00000750:·203 | 00000750:·2032·2c20·362c·2032·2c20·312c·2032·2c20···2,·6,·2,·1,·2,· | ||
| 00000760:· | 00000760:·3130·2c20·322c·2031·342c·2032·2c20·362c··10,·2,·14,·2,·6, | ||
| 00000770:·203 | 00000770:·2032·2c20·312c·2034·2c20·3531·2c20·3133···2,·1,·4,·51,·13 | ||
| 00000780:·2 | 00000780:·2c20·3331·302c·2031·302c·2032·312c·2031··,·310,·10,·21,·1 | ||
| 00000790:·203 | 00000790:·312c·2037·2c20·3235·2c20·352c·2032·2c20··1,·7,·25,·5,·2,· | ||
| 000007a0:· | 000007a0:·3431·2c20·322c·2038·2c20·3730·2c20·352c··41,·2,·8,·70,·5, | ||
| 000007b0:· | 000007b0:·2033·2c20·302c·2032·2c20·3433·2c20·322c···3,·0,·2,·43,·2, | ||
| 000007c0:· | 000007c0:·2031·2c20·342c·2030·2c20·332c·2032·322c···1,·4,·0,·3,·22, | ||
| 000007d0:·2 | 000007d0:·2031·312c·2032·322c·2031·302c·2033·302c···11,·22,·10,·30, | ||
| 000007e0:·203 | 000007e0:·2036·362c·2031·382c·2032·2c20·312c·2031···66,·18,·2,·1,·1 | ||
| 000007f0:· | 000007f0:·312c·2032·312c·2031·312c·2032·352c·2037··1,·21,·11,·25,·7 | ||
| 00000800:· | 00000800:·2c20·3235·2c20·3339·2c20·3535·2c20·372c··,·25,·39,·55,·7, | ||
| 00000810:·2 | 00000810:·2031·2c20·3635·2c20·302c·2031·362c·2033···1,·65,·0,·16,·3 | ||
| 00000820:· | 00000820:·2c20·322c·2032·2c20·322c·2032·382c·2034··,·2,·2,·2,·28,·4 | ||
| 00000830:·3 | 00000830:·332c·2032·382c·2034·2c20·3238·2c20·3336··3,·28,·4,·28,·36 | ||
| 00000840:·2 | 00000840:·2c20·372c·2032·2c20·3237·2c20·3238·2c20··,·7,·2,·27,·28,· | ||
| 00000850:· | 00000850:·3533·2c20·3131·2c20·3231·2c20·3131·2c20··53,·11,·21,·11,· | ||
| 00000860:· | 00000860:·3138·2c20·3134·2c20·3137·2c20·3131·312c··18,·14,·17,·111, | ||
| 00000870:·2 | 00000870:·2037·322c·2035·362c·2035·302c·2031·342c···72,·56,·50,·14, | ||
| 00000880:· | 00000880:·2035·302c·2031·342c·2033·352c·2033·392c···50,·14,·35,·39, | ||
| 00000890:·2 | 00000890:·2032·372c·2031·302c·2032·322c·2032·3531···27,·10,·22,·251 | ||
| 000008a0:·2 | 000008a0:·2c20·3431·2c20·372c·2031·2c20·3137·2c20··,·41,·7,·1,·17,· | ||
| Max diff block lines reached; 1951504/2081408 bytes (93.76%) of diff not shown. | |||
| Offset 1, 18 lines modified | Offset 1, 18 lines modified | ||
| 1 | //·This·file·was·generated.·Do·not·modify·manually! | 1 | //·This·file·was·generated.·Do·not·modify·manually! |
| 2 | var·astralIdentifierCodes·=·[509,·0,·227,·0,·150,·4,·294,·9,·1368,·2,·2,·1,·6,·3,·41,·2,·5,·0,·166,·1,·574,·3,·9,·9,·7,·9,·32,·4,·318,·1,· | 2 | var·astralIdentifierCodes·=·[509,·0,·227,·0,·150,·4,·294,·9,·1368,·2,·2,·1,·6,·3,·41,·2,·5,·0,·166,·1,·574,·3,·9,·9,·7,·9,·32,·4,·318,·1,·78,·5,·71,·10,·50,·3,·123,·2,·54,·14,·32,·10,·3,·1,·11,·3,·46,·10,·8,·0,·46,·9,·7,·2,·37,·13,·2,·9,·6,·1,·45,·0,·13,·2,·49,·13,·9,·3,·2,·11,·83,·11,·7,·0,·3,·0,·158,·11,·6,·9,·7,·3,·56,·1,·2,·6,·3,·1,·3,·2,·10,·0,·11,·1,·3,·6,·4,·4,·68,·8,·2,·0,·3,·0,·2,·3[·...·truncated·by·diffoscope;·len:·769,·SHA:·d1f91ae7fcdaad1bf0b0ea4d5301623e3016ed3d20ddaf88b2bf1746eee9f2ce·...·],·6,·110,·6,·6,·9,·4759,·9,·787719,·239]; |
| 3 | //·This·file·was·generated.·Do·not·modify·manually! | 3 | //·This·file·was·generated.·Do·not·modify·manually! |
| 4 | var·astralIdentifierStartCodes·=·[0,·11,·2,·25,·2,·18,·2,·1,·2,·14,·3,·13,·35,·122,·70,·52,·268,·28,·4,·48,·48,·31,·14,·29,·6,·37,·11,·29,·3,·35,·5,·7,·2,·4,·43,·157,·19,·35,·5,·35,·5,·39,·9,·51,·13,·10,·2,·14,·2,·6,·2,·1,·2,·10,·2,·14,·2,·6,·2,·1,·4,·51,·13,·310,·10,·21,·11,·7,·25,·5,·2,·41,·2,·8,·70,·5,·3,·0,·2,·43,·2,·1,·4,·0,·3,·22,·11,·22,·10,·30,·66,·18,·2,·1,·11,·21,·11,·25,·7 | 4 | var·astralIdentifierStartCodes·=·[0,·11,·2,·25,·2,·18,·2,·1,·2,·14,·3,·13,·35,·122,·70,·52,·268,·28,·4,·48,·48,·31,·14,·29,·6,·37,·11,·29,·3,·35,·5,·7,·2,·4,·43,·157,·19,·35,·5,·35,·5,·39,·9,·51,·13,·10,·2,·14,·2,·6,·2,·1,·2,·10,·2,·14,·2,·6,·2,·1,·4,·51,·13,·310,·10,·21,·11,·7,·25,·5,·2,·41,·2,·8,·70,·5,·3,·0,·2,·43,·2,·1,·4,·0,·3,·22,·11,·22,·10,·30,·66,·18,·2,·1,·11,·21,·11,·25,·7,·25,·39,·55,·7,·1,·65,·0,·16,·3,·2,·2,·2,·28,·43,·28,·4,·28,·36,·7,·2,·27,·28,·53,·11,·21,·11,·18,·14,·17,·111,·72,·56,·50,·14,·50,·14,·35,·39,·27,·10,·22,·251,·41,·7,·1,·17,·5,·57,·28,·11,·0,·9,·21,·43,·17,·47,·20,·28,·22,·13,·52,·58,·1,·3,·0,·14,·44,·33[·...·truncated·by·diffoscope;·len:·1621,·SHA:·cedcc9ede4ba97d1b9cc26d91b9c5b7fad4de124a86065bb12d61e0abafc0825·...·]]; |
| 5 | //·This·file·was·generated.·Do·not·modify·manually! | 5 | //·This·file·was·generated.·Do·not·modify·manually! |
| 6 | var·nonASCIIidentifierChars·=·"\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0897-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1a | 6 | var·nonASCIIidentifierChars·=·"\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0897-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1add\u1ae0-\u1aeb\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65"; |
| 7 | //·This·file·was·generated.·Do·not·modify·manually! | 7 | //·This·file·was·generated.·Do·not·modify·manually! |
| 8 | var·nonASCIIidentifierStartChars·=·"\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088 | 8 | var·nonASCIIidentifierStartChars·=·"\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088f\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0[·...·truncated·by·diffoscope;·len:·2687,·SHA:·2e484a2691ca6a031da5c3b55bb16c66e38d33d20ad2f8ae124c766db9856243·...·]-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; |
| 9 | //·These·are·a·run-length·and·offset·encoded·representation·of·the | 9 | //·These·are·a·run-length·and·offset·encoded·representation·of·the |
| 10 | //·>0xffff·code·points·that·are·a·valid·part·of·identifiers.·The | 10 | //·>0xffff·code·points·that·are·a·valid·part·of·identifiers.·The |
| 11 | //·offset·starts·at·0x10000,·and·each·pair·of·numbers·represents·an | 11 | //·offset·starts·at·0x10000,·and·each·pair·of·numbers·represents·an |
| 12 | //·offset·to·the·next·range,·and·then·a·size·of·the·range. | 12 | //·offset·to·the·next·range,·and·then·a·size·of·the·range. |
| 13 | //·Reserved·word·lists·for·various·dialects·of·the·language | 13 | //·Reserved·word·lists·for·various·dialects·of·the·language |
| Offset 329, 15 lines modified | Offset 329, 15 lines modified | ||
| 329 | ··//·either·3,·5,·6·(or·2015),·7·(2016),·8·(2017),·9·(2018),·10 | 329 | ··//·either·3,·5,·6·(or·2015),·7·(2016),·8·(2017),·9·(2018),·10 |
| 330 | ··//·(2019),·11·(2020),·12·(2021),·13·(2022),·14·(2023),·or·`"latest"` | 330 | ··//·(2019),·11·(2020),·12·(2021),·13·(2022),·14·(2023),·or·`"latest"` |
| 331 | ··//·(the·latest·version·the·library·supports).·This·influences | 331 | ··//·(the·latest·version·the·library·supports).·This·influences |
| 332 | ··//·support·for·strict·mode,·the·set·of·reserved·words,·and·support | 332 | ··//·support·for·strict·mode,·the·set·of·reserved·words,·and·support |
| 333 | ··//·for·new·syntax·features. | 333 | ··//·for·new·syntax·features. |
| 334 | ··ecmaVersion:·null, | 334 | ··ecmaVersion:·null, |
| 335 | ··//·`sourceType`·indicates·the·mode·the·code·should·be·parsed·in. | 335 | ··//·`sourceType`·indicates·the·mode·the·code·should·be·parsed·in. |
| 336 | ··//·Can·be·either·`"script"`·or·`"m | 336 | ··//·Can·be·either·`"script"`,·`"module"`·or·`"commonjs"`.·This·influences·global |
| 337 | ··//·strict·mode·and·parsing·of·`import`·and·`export`·declarations. | 337 | ··//·strict·mode·and·parsing·of·`import`·and·`export`·declarations. |
| 338 | ··sourceType:·"script", | 338 | ··sourceType:·"script", |
| 339 | ··//·`onInsertedSemicolon`·can·be·a·callback·that·will·be·called·when | 339 | ··//·`onInsertedSemicolon`·can·be·a·callback·that·will·be·called·when |
| 340 | ··//·a·semicolon·is·automatically·inserted.·It·will·be·passed·the | 340 | ··//·a·semicolon·is·automatically·inserted.·It·will·be·passed·the |
| 341 | ··//·position·of·the·inserted·semicolon·as·an·offset,·and·if | 341 | ··//·position·of·the·inserted·semicolon·as·an·offset,·and·if |
| 342 | ··//·`locations`·is·enabled,·it·is·given·the·location·as·a·`{line, | 342 | ··//·`locations`·is·enabled,·it·is·given·the·location·as·a·`{line, |
| 343 | ··//·column}`·object·as·second·argument. | 343 | ··//·column}`·object·as·second·argument. |
| Offset 453, 14 lines modified | Offset 453, 17 lines modified | ||
| 453 | ··if·(isArray(options.onToken))·{ | 453 | ··if·(isArray(options.onToken))·{ |
| 454 | ····var·tokens·=·options.onToken; | 454 | ····var·tokens·=·options.onToken; |
| 455 | ····options.onToken·=·function·(token)·{·return·tokens.push(token);·}; | 455 | ····options.onToken·=·function·(token)·{·return·tokens.push(token);·}; |
| 456 | ··} | 456 | ··} |
| 457 | ··if·(isArray(options.onComment)) | 457 | ··if·(isArray(options.onComment)) |
| 458 | ····{·options.onComment·=·pushComment(options,·options.onComment);·} | 458 | ····{·options.onComment·=·pushComment(options,·options.onComment);·} |
| 459 | ··if·(options.sourceType·===·"commonjs"·&&·options.allowAwaitOutsideFunction) | ||
| 460 | ····{·throw·new·Error("Cannot·use·allowAwaitOutsideFunction·with·sourceType:·commonjs")·} | ||
| 459 | ··return·options | 461 | ··return·options |
| 460 | } | 462 | } |
| 461 | function·pushComment(options,·array)·{ | 463 | function·pushComment(options,·array)·{ |
| 462 | ··return·function(block,·text,·start,·end,·startLoc,·endLoc)·{ | 464 | ··return·function(block,·text,·start,·end,·startLoc,·endLoc)·{ |
| 463 | ····var·comment·=·{ | 465 | ····var·comment·=·{ |
| 464 | ······type:·block·?·"Block"·:·"Line", | 466 | ······type:·block·?·"Block"·:·"Line", |
| Offset 484, 14 lines modified | Offset 487, 15 lines modified | ||
| 484 | ····SCOPE_GENERATOR·=·8, | 487 | ····SCOPE_GENERATOR·=·8, |
| 485 | ····SCOPE_ARROW·=·16, | 488 | ····SCOPE_ARROW·=·16, |
| 486 | ····SCOPE_SIMPLE_CATCH·=·32, | 489 | ····SCOPE_SIMPLE_CATCH·=·32, |
| 487 | ····SCOPE_SUPER·=·64, | 490 | ····SCOPE_SUPER·=·64, |
| 488 | ····SCOPE_DIRECT_SUPER·=·128, | 491 | ····SCOPE_DIRECT_SUPER·=·128, |
| 489 | ····SCOPE_CLASS_STATIC_BLOCK·=·256, | 492 | ····SCOPE_CLASS_STATIC_BLOCK·=·256, |
| 490 | ····SCOPE_CLASS_FIELD_INIT·=·512, | 493 | ····SCOPE_CLASS_FIELD_INIT·=·512, |
| 494 | ····SCOPE_SWITCH·=·1024, | ||
| 491 | ····SCOPE_VAR·=·SCOPE_TOP·|·SCOPE_FUNCTION·|·SCOPE_CLASS_STATIC_BLOCK; | 495 | ····SCOPE_VAR·=·SCOPE_TOP·|·SCOPE_FUNCTION·|·SCOPE_CLASS_STATIC_BLOCK; |
| 492 | function·functionFlags(async,·generator)·{ | 496 | function·functionFlags(async,·generator)·{ |
| 493 | ··return·SCOPE_FUNCTION·|·(async·?·SCOPE_ASYNC·:·0)·|·(generator·?·SCOPE_GENERATOR·:·0) | 497 | ··return·SCOPE_FUNCTION·|·(async·?·SCOPE_ASYNC·:·0)·|·(generator·?·SCOPE_GENERATOR·:·0) |
| 494 | } | 498 | } |
| 495 | //·Used·in·checkLVal*·and·declareName·to·determine·the·type·of·a·binding | 499 | //·Used·in·checkLVal*·and·declareName·to·determine·the·type·of·a·binding |
| Offset 573, 26 lines modified | Offset 577, 31 lines modified | ||
| 573 | ··//·If·enabled,·skip·leading·hashbang·line. | 577 | ··//·If·enabled,·skip·leading·hashbang·line. |
| 574 | ··if·(this.pos·===·0·&&·options.allowHashBang·&&·this.input.slice(0,·2)·===·"#!") | 578 | ··if·(this.pos·===·0·&&·options.allowHashBang·&&·this.input.slice(0,·2)·===·"#!") |
| 575 | ····{·this.skipLineComment(2);·} | 579 | ····{·this.skipLineComment(2);·} |
| 576 | ··//·Scope·tracking·for·duplicate·variable·names·(see·scope.js) | 580 | ··//·Scope·tracking·for·duplicate·variable·names·(see·scope.js) |
| 577 | ··this.scopeStack·=·[]; | 581 | ··this.scopeStack·=·[]; |
| 578 | ··this.enterScope( | 582 | ··this.enterScope( |
| 583 | ····this.options.sourceType·===·"commonjs" | ||
| 584 | ······//·In·commonjs,·the·top-level·scope·behaves·like·a·function·scope | ||
| 585 | ······?·SCOPE_FUNCTION | ||
| 586 | ······:·SCOPE_TOP | ||
| 587 | ··); | ||
| 579 | ··//·For·RegExp·validation | 588 | ··//·For·RegExp·validation |
| 580 | ··this.regexpState·=·null; | 589 | ··this.regexpState·=·null; |
| 581 | ··//·The·stack·of·private·names. | 590 | ··//·The·stack·of·private·names. |
| 582 | ··//·Each·element·has·two·properties:·'declared'·and·'used'. | 591 | ··//·Each·element·has·two·properties:·'declared'·and·'used'. |
| 583 | ··//·When·it·exited·from·the·outermost·class·definition,·all·used·private·names·must·be·declared. | 592 | ··//·When·it·exited·from·the·outermost·class·definition,·all·used·private·names·must·be·declared. |
| 584 | ··this.privateNameStack·=·[]; | 593 | ··this.privateNameStack·=·[]; |
| 585 | }; | 594 | }; |
| 586 | var·prototypeAccessors·=·{·inFunction:·{·configurable:·true·},inGenerator:·{·configurable:·true·},inAsync:·{·configurable:·true·},canAwait:·{·configurable:·true·},allowSuper:·{·configurable:·true·},allowDirectSuper:·{·configurable:·true·},treatFunctionsAsVar:·{·configurable:·true·},allowNewDotTarget:·{·configurable:·true·},inClassStaticBlock:·{·configurable:·true·}·}; | 595 | var·prototypeAccessors·=·{·inFunction:·{·configurable:·true·},inGenerator:·{·configurable:·true·},inAsync:·{·configurable:·true·},canAwait:·{·configurable:·true·},allowReturn:·{·configurable:·true·},allowSuper:·{·configurable:·true·},allowDirectSuper:·{·configurable:·true·},treatFunctionsAsVar:·{·configurable:·true·},allowNewDotTarget:·{·configurable:·true·},allowUsing:·{·configurable:·true·},inClassStaticBlock:·{·configurable:·true·}·}; |
| 587 | Parser.prototype.parse·=·function·parse·()·{ | 596 | Parser.prototype.parse·=·function·parse·()·{ |
| 588 | ··var·node·=·this.options.program·||·this.startNode(); | 597 | ··var·node·=·this.options.program·||·this.startNode(); |
| 589 | ··this.nextToken(); | 598 | ··this.nextToken(); |
| 590 | ··return·this.parseTopLevel(node) | 599 | ··return·this.parseTopLevel(node) |
| 591 | }; | 600 | }; |
| Max diff block lines reached; 13009/38297 bytes (33.97%) of diff not shown. | |||
| Offset 42, 9 lines modified | Offset 42, 9 lines modified | ||
| 42 | ········"type":·"git", | 42 | ········"type":·"git", |
| 43 | ········"url":·"git+https://github.com/acornjs/acorn.git" | 43 | ········"url":·"git+https://github.com/acornjs/acorn.git" |
| 44 | ····}, | 44 | ····}, |
| 45 | ····"scripts":·{ | 45 | ····"scripts":·{ |
| 46 | ········"prepare":·"cd·..;·npm·run·build:main" | 46 | ········"prepare":·"cd·..;·npm·run·build:main" |
| 47 | ····}, | 47 | ····}, |
| 48 | ····"types":·"dist/acorn.d.ts", | 48 | ····"types":·"dist/acorn.d.ts", |
| 49 | ····"version":·"8.1 | 49 | ····"version":·"8.16.0" |
| 50 | } | 50 | } |
| Offset 1, 5864 lines modified | Offset 1, 6079 lines modified | ||
| 00000000:·696d·706f·7274·207b·2070·6172·7365·7273··import·{·parsers | 00000000:·696d·706f·7274·207b·2070·6172·7365·7273··import·{·parsers | ||
| 00000010:·2061·7320·7061·7273·6572·7324·3120·7d20···as·parsers$1·}· | 00000010:·2061·7320·7061·7273·6572·7324·3120·7d20···as·parsers$1·}· | ||
| 00000020:·6672·6f6d·2027·7072·6574·7469·6572·2f70··from·'prettier/p | 00000020:·6672·6f6d·2027·7072·6574·7469·6572·2f70··from·'prettier/p | ||
| 00000030:·6c75·6769·6e73·2f62·6162·656c·273b·0a69··lugins/babel';.i | 00000030:·6c75·6769·6e73·2f62·6162·656c·273b·0a69··lugins/babel';.i | ||
| 00000040:·6d70·6f72·7420·7b20·646f·632 | 00000040:·6d70·6f72·7420·7b20·646f·632c·2075·7469··mport·{·doc,·uti | ||
| 00000050:·6f6d·2027·7072·6574·7469·6572·2f73·7461··om·'prettier/sta | |||
| 00000060:·6e64·616c·6f6e·6527·3b0a·696d·706f·7274··ndalone';.import | |||
| 00000070:·207b·2056·4552·5349·4f4e·2c20·7061·7273···{·VERSION,·pars | |||
| 000000 | 00000050:·6c20·7d20·6672·6f6d·2027·7072·6574·7469··l·}·from·'pretti | ||
| 000000 | 00000060:·6572·2f73·7461·6e64·616c·6f6e·6527·3b0a··er/standalone';. | ||
| 00000070:·696d·706f·7274·207b·2056·4552·5349·4f4e··import·{·VERSION | |||
| 00000080:·2c20·7061·7273·6520·7d20·6672·6f6d·2027··,·parse·}·from·' | |||
| 00000090:·7376·656c·7465·2f63·6f6d·7069·6c65·7227··svelte/compiler' | |||
| 000000a0:· | 000000a0:·3b0a·0a2f·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a··;../************ | ||
| 000000b0:·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a··**************** | 000000b0:·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a··**************** | ||
| 000000c0:·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a··**************** | 000000c0:·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a··**************** | ||
| 000000d0:·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a··**************** | 000000d0:·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a··**************** | ||
| 000000e0:·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a·0a43·6f70··************.Cop | |||
| 000000f0:·7972·6967·6874·2028·6329·204d·6963·726f··yright·(c)·Micro | |||
| 00000100:·736f·6674·2043·6f72·706f·7261·7469·6f6e··soft·Corporation | |||
| 00000110:·2e0a·0a50·6572·6d69·7373·696f·6e20·746f··...Permission·to | |||
| 00000120:·2075·7365·2c20·636f·7079·2c20·6d6f·6469···use,·copy,·modi | |||
| 00000130:·6679·2c20·616e·642f·6f72·2064·6973·7472··fy,·and/or·distr | |||
| 00000140:·6962·7574·6520·7468·6973·2073·6f66·7477··ibute·this·softw | |||
| 00000150:·6172·6520·666f·7220·616e·790a·7075·7270··are·for·any.purp | |||
| 00000160:·6f73·6520·7769·7468·206f·7220·7769·7468··ose·with·or·with | |||
| 00000170:·6f75·7420·6665·6520·6973·2068·6572·6562··out·fee·is·hereb | |||
| 00000180:·7920·6772·616e·7465·642e·0a0a·5448·4520··y·granted...THE· | |||
| 00000190:·534f·4654·5741·5245·2049·5320·5052·4f56··SOFTWARE·IS·PROV | |||
| 000001a0:·4944·4544·2022·4153·2049·5322·2041·4e44··IDED·"AS·IS"·AND | |||
| 000001b0:·2054·4845·2041·5554·484f·5220·4449·5343···THE·AUTHOR·DISC | |||
| 000001c0:·4c41·494d·5320·414c·4c20·5741·5252·414e··LAIMS·ALL·WARRAN | |||
| 000001d0:·5449·4553·2057·4954·480a·5245·4741·5244··TIES·WITH.REGARD | |||
| 000001e0:·2054·4f20·5448·4953·2053·4f46·5457·4152···TO·THIS·SOFTWAR | |||
| 000001f0:·4520·494e·434c·5544·494e·4720·414c·4c20··E·INCLUDING·ALL· | |||
| 00000200:·494d·504c·4945·4420·5741·5252·414e·5449··IMPLIED·WARRANTI | |||
| 00000210:·4553·204f·4620·4d45·5243·4841·4e54·4142··ES·OF·MERCHANTAB | |||
| 00000220:·494c·4954·590a·414e·4420·4649·544e·4553··ILITY.AND·FITNES | |||
| 00000230:·532e·2049·4e20·4e4f·2045·5645·4e54·2053··S.·IN·NO·EVENT·S | |||
| 00000240:·4841·4c4c·2054·4845·2041·5554·484f·5220··HALL·THE·AUTHOR· | |||
| 00000250:·4245·204c·4941·424c·4520·464f·5220·414e··BE·LIABLE·FOR·AN | |||
| 00000260:·5920·5350·4543·4941·4c2c·2044·4952·4543··Y·SPECIAL,·DIREC | |||
| 00000270:·542c·0a49·4e44·4952·4543·542c·204f·5220··T,.INDIRECT,·OR· | |||
| 00000280:·434f·4e53·4551·5545·4e54·4941·4c20·4441··CONSEQUENTIAL·DA | |||
| 00000290:·4d41·4745·5320·4f52·2041·4e59·2044·414d··MAGES·OR·ANY·DAM | |||
| 000002a0:·4147·4553·2057·4841·5453·4f45·5645·5220··AGES·WHATSOEVER· | |||
| 000002b0:·5245·5355·4c54·494e·4720·4652·4f4d·0a4c··RESULTING·FROM.L | |||
| 000002c0:·4f53·5320·4f46·2055·5345·2c20·4441·5441··OSS·OF·USE,·DATA | |||
| 000002d0:·204f·5220·5052·4f46·4954·532c·2057·4845···OR·PROFITS,·WHE | |||
| 000002e0:·5448·4552·2049·4e20·414e·2041·4354·494f··THER·IN·AN·ACTIO | |||
| 000002f0:·4e20·4f46·2043·4f4e·5452·4143·542c·204e··N·OF·CONTRACT,·N | |||
| 00000300:·4547·4c49·4745·4e43·4520·4f52·0a4f·5448··EGLIGENCE·OR.OTH | |||
| 00000310:·4552·2054·4f52·5449·4f55·5320·4143·5449··ER·TORTIOUS·ACTI | |||
| 00000320:·4f4e·2c20·4152·4953·494e·4720·4f55·5420··ON,·ARISING·OUT· | |||
| 00000330:·4f46·204f·5220·494e·2043·4f4e·4e45·4354··OF·OR·IN·CONNECT | |||
| 00000340:·494f·4e20·5749·5448·2054·4845·2055·5345··ION·WITH·THE·USE | |||
| 00000350:·204f·520a·5045·5246·4f52·4d41·4e43·4520···OR.PERFORMANCE· | |||
| 00000360:·4f46·2054·4849·5320·534f·4654·5741·5245··OF·THIS·SOFTWARE | |||
| 00000 | 000000e0:·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a·2a2a··**************** | ||
| 000000f0:·2a2a·0a43·6f70·7972·6967·6874·2028·6329··**.Copyright·(c) | |||
| 00000100:·204d·6963·726f·736f·6674·2043·6f72·706f···Microsoft·Corpo | |||
| 00000110:·7261·7469·6f6e·2e0a·0a50·6572·6d69·7373··ration...Permiss | |||
| 00000120:·696f·6e20·746f·2075·7365·2c20·636f·7079··ion·to·use,·copy | |||
| 00000130:·2c20·6d6f·6469·6679·2c20·616e·642f·6f72··,·modify,·and/or | |||
| 00000140:·2064·6973·7472·6962·7574·6520·7468·6973···distribute·this | |||
| 00000150:·2073·6f66·7477·6172·6520·666f·7220·616e···software·for·an | |||
| 00000160:·790a·7075·7270·6f73·6520·7769·7468·206f··y.purpose·with·o | |||
| 00000170:·7220·7769·7468·6f75·7420·6665·6520·6973··r·without·fee·is | |||
| 00000180:·2068·6572·6562·7920·6772·616e·7465·642e···hereby·granted. | |||
| 00000190:·0a0a·5448·4520·534f·4654·5741·5245·2049··..THE·SOFTWARE·I | |||
| 000001a0:·5320·5052·4f56·4944·4544·2022·4153·2049··S·PROVIDED·"AS·I | |||
| 000001b0:·5322·2041·4e44·2054·4845·2041·5554·484f··S"·AND·THE·AUTHO | |||
| 000001c0:·5220·4449·5343·4c41·494d·5320·414c·4c20··R·DISCLAIMS·ALL· | |||
| 000001d0:·5741·5252·414e·5449·4553·2057·4954·480a··WARRANTIES·WITH. | |||
| 000001e0:·5245·4741·5244·2054·4f20·5448·4953·2053··REGARD·TO·THIS·S | |||
| 000001f0:·4f46·5457·4152·4520·494e·434c·5544·494e··OFTWARE·INCLUDIN | |||
| 00000200:·4720·414c·4c20·494d·504c·4945·4420·5741··G·ALL·IMPLIED·WA | |||
| 00000210:·5252·414e·5449·4553·204f·4620·4d45·5243··RRANTIES·OF·MERC | |||
| 00000220:·4841·4e54·4142·494c·4954·590a·414e·4420··HANTABILITY.AND· | |||
| 00000230:·4649·544e·4553·532e·2049·4e20·4e4f·2045··FITNESS.·IN·NO·E | |||
| 00000240:·5645·4e54·2053·4841·4c4c·2054·4845·2041··VENT·SHALL·THE·A | |||
| 00000250:·5554·484f·5220·4245·204c·4941·424c·4520··UTHOR·BE·LIABLE· | |||
| 00000260:·464f·5220·414e·5920·5350·4543·4941·4c2c··FOR·ANY·SPECIAL, | |||
| 00000270:·2044·4952·4543·542c·0a49·4e44·4952·4543···DIRECT,.INDIREC | |||
| 00000280:·542c·204f·5220·434f·4e53·4551·5545·4e54··T,·OR·CONSEQUENT | |||
| 00000290:·4941·4c20·4441·4d41·4745·5320·4f52·2041··IAL·DAMAGES·OR·A | |||
| 000002a0:·4e59·2044·414d·4147·4553·2057·4841·5453··NY·DAMAGES·WHATS | |||
| 000002b0:·4f45·5645·5220·5245·5355·4c54·494e·4720··OEVER·RESULTING· | |||
| 000002c0:·4652·4f4d·0a4c·4f53·5320·4f46·2055·5345··FROM.LOSS·OF·USE | |||
| 000002d0:·2c20·4441·5441·204f·5220·5052·4f46·4954··,·DATA·OR·PROFIT | |||
| 000002e0:·532c·2057·4845·5448·4552·2049·4e20·414e··S,·WHETHER·IN·AN | |||
| 000002f0:·2041·4354·494f·4e20·4f46·2043·4f4e·5452···ACTION·OF·CONTR | |||
| 00000300:·4143·542c·204e·4547·4c49·4745·4e43·4520··ACT,·NEGLIGENCE· | |||
| 00000310:·4f52·0a4f·5448·4552·2054·4f52·5449·4f55··OR.OTHER·TORTIOU | |||
| 00000320:·5320·4143·5449·4f4e·2c20·4152·4953·494e··S·ACTION,·ARISIN | |||
| 00000330:·4720·4f55·5420·4f46·204f·5220·494e·2043··G·OUT·OF·OR·IN·C | |||
| 00000340:·4f4e·4e45·4354·494f·4e20·5749·5448·2054··ONNECTION·WITH·T | |||
| 00000350:·4845·2055·5345·204f·520a·5045·5246·4f52··HE·USE·OR.PERFOR | |||
| 00000360:·4d41·4e43·4520·4f46·2054·4849·5320·534f··MANCE·OF·THIS·SO | |||
| Max diff block lines reached; 815020/822356 bytes (99.11%) of diff not shown. | |||
| Offset 55, 9 lines modified | Offset 55, 9 lines modified | ||
| 55 | ········"format":·"prettier·--write·.", | 55 | ········"format":·"prettier·--write·.", |
| 56 | ········"lint":·"prettier·--check·.", | 56 | ········"lint":·"prettier·--check·.", |
| 57 | ········"prepare":·"npm·run·build", | 57 | ········"prepare":·"npm·run·build", |
| 58 | ········"prepublishOnly":·"npm·test", | 58 | ········"prepublishOnly":·"npm·test", |
| 59 | ········"test":·"ava" | 59 | ········"test":·"ava" |
| 60 | ····}, | 60 | ····}, |
| 61 | ····"types":·"./index.d.ts", | 61 | ····"types":·"./index.d.ts", |
| 62 | ····"version":·"3. | 62 | ····"version":·"3.5.0" |
| 63 | } | 63 | } |
| Offset 4836, 1079 lines modified | Offset 4836, 1295 lines modified | ||
| 00012e30:·6f77·206e·6577·2045·7272·6f72·2827·4d69··ow·new·Error('Mi | 00012e30:·6f77·206e·6577·2045·7272·6f72·2827·4d69··ow·new·Error('Mi | ||
| 00012e40:·7373·696e·6720·7265·7175·6972·6564·206f··ssing·required·o | 00012e40:·7373·696e·6720·7265·7175·6972·6564·206f··ssing·required·o | ||
| 00012e50:·7074·696f·6e73·2729·3b0a·2020·2020·7d0a··ptions');.····}. | 00012e50:·7074·696f·6e73·2729·3b0a·2020·2020·7d0a··ptions');.····}. | ||
| 00012e60:·2020·2020·6966·2028·6973·4153·544e·6f64······if·(isASTNod | 00012e60:·2020·2020·6966·2028·6973·4153·544e·6f64······if·(isASTNod | ||
| 00012e70:·6528·6e6f·6465·2929·207b·0a20·2020·2020··e(node))·{.····· | 00012e70:·6528·6e6f·6465·2929·207b·0a20·2020·2020··e(node))·{.····· | ||
| 00012e80:·2020·2061·7373·6967·6e43·6f6d·6d65·6e74·····assignComment | 00012e80:·2020·2061·7373·6967·6e43·6f6d·6d65·6e74·····assignComment | Diff chunk too large, falling back to line-by-line diff (597 lines added, 597 lines removed) | |
| 00012e90:·7354·6f4e·6f64·6573·286e·6f64·6529·3b0a··sToNodes(node);. | 00012e90:·7354·6f4e·6f64·6573·286e·6f64·6529·3b0a··sToNodes(node);. | ||
| 00012ea0:·2020·2020·2020·2020·6 | 00012ea0:·2020·2020·2020·2020·6174·7461·6368·4174··········attachAt | ||
| 00012eb0:· | 00012eb0:·7472·6962·7574·6543·6f6d·6d65·6e74·7328··tributeComments( | ||
| 00012ec0:· | 00012ec0:·6e6f·6465·293b·0a20·2020·2020·2020·2069··node);.········i | ||
| 00012ed0:·6 | 00012ed0:·6620·286e·6f64·652e·6d6f·6475·6c65·2920··f·(node.module)· | ||
| 00012ee0:·7 | 00012ee0:·7b0a·2020·2020·2020·2020·2020·2020·6e6f··{.············no | ||
| 00012ef0:·6 | 00012ef0:·6465·2e6d·6f64·756c·652e·7479·7065·203d··de.module.type·= | ||
| 00012f00:· | 00012f00:·2027·5363·7269·7074·273b·0a20·2020·2020···'Script';.····· | ||
| 00012f10:· | 00012f10:·2020·2020·2020·206e·6f64·652e·6d6f·6475·········node.modu | ||
| 00012f20:· | 00012f20:·6c65·2e61·7474·7269·6275·7465·7320·3d20··le.attributes·=· | ||
| 00012f30:·6 | 00012f30:·6578·7472·6163·7441·7474·7269·6275·7465··extractAttribute | ||
| 00012f40:· | 00012f40:·7328·6765·7454·6578·7428·6e6f·6465·2e6d··s(getText(node.m | ||
| 00012f50:· | 00012f50:·6f64·756c·652c·206f·7074·696f·6e73·2929··odule,·options)) | ||
| 00012f60:· | 00012f60:·3b0a·2020·2020·2020·2020·7d0a·2020·2020··;.········}.···· | ||
| 00012f70:· | 00012f70:·2020·2020·6966·2028·6e6f·6465·2e69·6e73······if·(node.ins | ||
| 00012f80:· | 00012f80:·7461·6e63·6529·207b·0a20·2020·2020·2020··tance)·{.······· | ||
| 00012f90:·2020·2020·20 | 00012f90:·2020·2020·206e·6f64·652e·696e·7374·616e·······node.instan | ||
| 00012fa0:· | 00012fa0:·6365·2e74·7970·6520·3d20·2753·6372·6970··ce.type·=·'Scrip | ||
| 00012fb0:·7 | 00012fb0:·7427·3b0a·2020·2020·2020·2020·2020·2020··t';.············ | ||
| 00012fc0:·6 | 00012fc0:·6e6f·6465·2e69·6e73·7461·6e63·652e·6174··node.instance.at | ||
| 00012fd0:· | 00012fd0:·7472·6962·7574·6573·203d·2065·7874·7261··tributes·=·extra | ||
| 00012fe0:·6 | 00012fe0:·6374·4174·7472·6962·7574·6573·2867·6574··ctAttributes(get | ||
| 00012ff0:· | 00012ff0:·5465·7874·286e·6f64·652e·696e·7374·616e··Text(node.instan | ||
| 00013000:·6 | 00013000:·6365·2c20·6f70·7469·6f6e·7329·293b·0a20··ce,·options));.· | ||
| 00013010:·2020·2020·2020· | 00013010:·2020·2020·2020·207d·0a20·2020·2020·2020·········}.······· | ||
| 00013020:· | 00013020:·2069·6620·286e·6f64·652e·6373·7329·207b···if·(node.css)·{ | ||
| 00013030:·2020·2020·2020·2020·2020·206e·6f64· | 00013030:·0a20·2020·2020·2020·2020·2020·206e·6f64··.············nod | ||
| 00013040:·6373·732e· | 00013040:·652e·6373·732e·7479·7065·203d·2027·5374··e.css.type·=·'St | ||
| 00013050:· | 00013050:·796c·6527·3b0a·2020·2020·2020·2020·2020··yle';.·········· | ||
| 00013060:·2 | 00013060:·2020·6e6f·6465·2e63·7373·2e63·6f6e·7465····node.css.conte | ||
| 00013070:· | 00013070:·6e74·2e74·7970·6520·3d20·2753·7479·6c65··nt.type·=·'Style | ||
| 00013080:· | 00013080:·5072·6f67·7261·6d27·3b0a·2020·2020·2020··Program';.······ | ||
| 00013090:· | 00013090:·2020·7d0a·2020·2020·2020·2020·7265·7475····}.········retu | ||
| 000130a0:· | 000130a0:·726e·206e·756c·6c3b·0a20·2020·207d·0a20··rn·null;.····}.· | ||
| 000130b0:· | 000130b0:·2020·202f·2f20·656d·6265·6420·646f·6573·····//·embed·does | ||
| 000130c0:· | 000130c0:·2064·6570·7468·2066·6972·7374·2074·7261···depth·first·tra | ||
| 000130d0:·7 | 000130d0:·7665·7273·616c·2077·6974·6820·6465·6570··versal·with·deep | ||
| 000130e0:·6 | 000130e0:·6573·7420·6e6f·6465·2063·616c·6c65·6420··est·node·called· | ||
| 000130f0:·6 | 000130f0:·6669·7273·742c·2074·6865·7265·666f·7265··first,·therefore | ||
| 00013100:· | 00013100:·2077·6520·6e65·6564·2074·6f0a·2020·2020···we·need·to.···· | ||
| 00013110:· | 00013110:·2f2f·2063·6865·636b·2074·6865·2070·6172··//·check·the·par | ||
| 00013120:·6 | 00013120:·656e·7420·746f·2073·6565·2069·6620·7765··ent·to·see·if·we | ||
| 00013130:· | 00013130:·2061·7265·2069·6e73·6964·6520·616e·2065···are·inside·an·e | ||
| 00013140:· | 00013140:·7870·7265·7373·696f·6e20·7468·6174·2073··xpression·that·s | ||
| 00013150:·6 | 00013150:·686f·756c·6420·6265·2065·6d62·6564·6465··hould·be·embedde | ||
| 00013160:·6 | 00013160:·642e·0a20·2020·2063·6f6e·7374·2070·6172··d..····const·par | ||
| 00013170:· | 00013170:·656e·7420·3d20·7061·7468·2e67·6574·5061··ent·=·path.getPa | ||
| 00013180:· | 00013180:·7265·6e74·4e6f·6465·2829·3b0a·2020·2020··rentNode();.···· | ||
| 00013190:· | 00013190:·636f·6e73·7420·7072·696e·744a·7345·7870··const·printJsExp | ||
| 000131a0:· | 000131a0:·7265·7373·696f·6e20·3d20·2829·203d·3e20··ression·=·()·=>· | ||
| 000131b0:· | 000131b0:·7b0a·2020·2020·2020·2020·7661·7220·5f61··{.········var·_a | ||
| 000131c0:· | 000131c0:·3b0a·2020·2020·2020·2020·7265·7475·726e··;.········return | ||
| 000131d0:· | 000131d0:·2070·6172·656e·742e·6578·7072·6573·7369···parent.expressi | ||
| 000131e0:· | 000131e0:·6f6e·0a20·2020·2020·2020·2020·2020·203f··on.············? | ||
| 000131f0:·20 | 000131f0:·2070·7269·6e74·4a53·2431·2870·6172·656e···printJS$1(paren | ||
| 00013200:· | 00013200:·742c·2027·6578·7072·6573·7369·6f6e·272c··t,·'expression', | ||
| 00013210:· | 00013210:·207b·0a20·2020·2020·2020·2020·2020·2020···{.············· | ||
| 00013220:· | 00013220:·2020·2066·6f72·6365·5369·6e67·6c65·5175·····forceSingleQu | ||
| 00013230:· | 00013230:·6f74·653a·2028·5f61·203d·2028·6f70·7469··ote:·(_a·=·(opti | ||
| 00013240:·6 | 00013240:·6f6e·732e·7376·656c·7465·5374·7269·6374··ons.svelteStrict | ||
| 00013250:· | 00013250:·4d6f·6465·2026·2620·216f·7074·696f·6e73··Mode·&&·!options | ||
| 00013260:· | 00013260:·2e5f·7376·656c·7465·5f69·7335·506c·7573··._svelte_is5Plus | ||
| 00013270:· | 00013270:·2929·2021·3d3d·206e·756c·6c20·2626·205f··))·!==·null·&&·_ | ||
| 00013280:· | 00013280:·6120·213d·3d20·766f·6964·2030·203f·205f··a·!==·void·0·?·_ | ||
| 00013290:· | 00013290:·6120·3a20·6661·6c73·652c·0a20·2020·2020··a·:·false,.····· | ||
| 000132a0:· | 000132a0:·2020·2020·2020·207d·290a·2020·2020·2020·········}).······ | ||
| 000132b0:· | 000132b0:·2020·2020·2020·3a20·756e·6465·6669·6e65········:·undefine | ||
| 000132c0:·3 | 000132c0:·643b·0a20·2020·207d·3b0a·2020·2020·636f··d;.····};.····co | ||
| 000132d0:· | 000132d0:·6e73·7420·7072·696e·7453·7665·6c74·6542··nst·printSvelteB | ||
| 000132e0:·6 | 000132e0:·6c6f·636b·4a53·203d·2028·6e61·6d65·2920··lockJS·=·(name)· | ||
| 000132f0:· | 000132f0:·3d3e·2070·7269·6e74·4a53·2431·2870·6172··=>·printJS$1(par | ||
| 00013300:· | 00013300:·656e·742c·206e·616d·652c·207b·2066·6f72··ent,·name,·{·for | ||
| 00013310:·6 | 00013310:·6365·5369·6e67·6c65·4c69·6e65·3a20·7472··ceSingleLine:·tr | ||
| 00013320:· | 00013320:·7565·207d·293b·0a20·2020·2073·7769·7463··ue·});.····switc | ||
| 00013330:· | 00013330:·6820·2870·6172·656e·742e·7479·7065·2920··h·(parent.type)· | ||
| 00013340:· | 00013340:·7b0a·2020·2020·2020·2020·6361·7365·2027··{.········case·' | ||
| 00013350:· | 00013350:·4966·426c·6f63·6b27·3a0a·2020·2020·2020··IfBlock':.······ | ||
| 00013360:· | 00013360:·2020·6361·7365·2027·456c·7365·426c·6f63····case·'ElseBloc | ||
| 00013370:·6 | 00013370:·6b27·3a0a·2020·2020·2020·2020·6361·7365··k':.········case | ||
| 00013380:· | 00013380:·2027·4177·6169·7442·6c6f·636b·273a·0a20···'AwaitBlock':.· | ||
| 00013390:· | 00013390:·2020·2020·2020·2063·6173·6520·274b·6579·········case·'Key | ||
| 000133a0:· | 000133a0:·426c·6f63·6b27·3a0a·2020·2020·2020·2020··Block':.········ | ||
| 000133b0:·2020·2020· | 000133b0:·2020·2020·7072·696e·7453·7665·6c74·6542······printSvelteB | ||
| 000133c0:· | 000133c0:·6c6f·636b·4a53·2827·6578·7072·6573·7369··lockJS('expressi | ||
| 000133d0:· | 000133d0:·6f6e·2729·3b0a·2020·2020·2020·2020·2020··on');.·········· | ||
| 000133e0:·2020·2 | 000133e0:·2020·6272·6561·6b3b·0a20·2020·2020·2020····break;.······· | ||
| 000133f0:· | 000133f0:·2063·6173·6520·2745·6163·6842·6c6f·636b···case·'EachBlock | ||
| 00013400:· | 00013400:·273a·0a20·2020·2020·2020·2020·2020·2070··':.············p | ||
| 00013410:· | 00013410:·7269·6e74·5376·656c·7465·426c·6f63·6b4a··rintSvelteBlockJ | ||
| 00013420:· | 00013420:·5328·2765·7870·7265·7373·696f·6e27·293b··S('expression'); | ||
| 00013430:·0a20·2020·2020·2020·2020·2020·20 | 00013430:·0a20·2020·2020·2020·2020·2020·2070·7269··.············pri | ||
| 00013440:·6 | 00013440:·6e74·5376·656c·7465·426c·6f63·6b4a·5328··ntSvelteBlockJS( | ||
| Max diff block lines reached; 80310/163276 bytes (49.19%) of diff not shown. | |||
| Offset 1, 19 lines modified | Offset 1, 20 lines modified | ||
| 1 | { | 1 | { |
| 2 | ····"file":·"plugin.js", | 2 | ····"file":·"plugin.js", |
| 3 | ····"mappings":·"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 | 3 | ····"mappings":·"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[·...·truncated·by·diffoscope;·len:·14685,·SHA:·3dedc1df42ba693dead9e92b572ea694b9847e43c4d99beadf7b30efad358e07·...·];;;;;;;;", |
| 4 | ····"names":·[ | 4 | ····"names":·[ |
| 5 | ········"doc", | 5 | ········"doc", |
| 6 | ········"group", | 6 | ········"group", |
| 7 | ········"hardline", | 7 | ········"hardline", |
| 8 | ········"softline", | 8 | ········"softline", |
| 9 | ········"indent", | 9 | ········"indent", |
| 10 | ········"dedent", | 10 | ········"dedent", |
| 11 | ········"literalline", | 11 | ········"literalline", |
| 12 | ········"printJS", | 12 | ········"printJS", |
| 13 | ········"util", | ||
| 13 | ········"prettierPluginBabel.parsers", | 14 | ········"prettierPluginBabel.parsers", |
| 14 | ········"VERSION", | 15 | ········"VERSION", |
| 15 | ········"parse" | 16 | ········"parse" |
| 16 | ····], | 17 | ····], |
| 17 | ····"sources":·[ | 18 | ····"sources":·[ |
| 18 | ········"node_modules/tslib/tslib.es6.mjs", | 19 | ········"node_modules/tslib/tslib.es6.mjs", |
| 19 | ········"src/lib/elements.ts", | 20 | ········"src/lib/elements.ts", |
| Offset 37, 12 lines modified | Offset 38, 12 lines modified | ||
| 37 | ········"import·{·ParserOptions·as·PrettierParserOptions,·SupportOption·}·from·'prettier';\nimport·{·SortOrder,·PluginConfig·}·from·'..';\n\nexport·interface·ParserOptions<T·=·any>·extends·PrettierParserOptions<T>,·Partial<PluginConfig>·{\n····_svelte_ts?:·boolean;\n····_svelte_asFunction?:·boolean;\n····/**\n·····*·Used·for\n·····*·-·deciding·what·quote·behavior·to·use·in·the·printer:\n·····*···A·future·version·of·Svelte·treats·quoted·expressions·as·strings,·so·never·use·quotes·in·that·case.\n·····*···Since·Svelte·5·does·still·treat·them·equally,·it's·safer·to·remove·quotes·in·all·cases·and·in·a·future\n·····*···version·of·this·plugin·instead·leave·it·up·to·the·user·to·decide.\n·····*/\n····_svelte_is5Plus?:·boolean;\n}\n\nfunction·makeChoice(choice:·string)·{\n····return·{·value:·choice,·description:·choice·};\n}\n\nexport·const·options:·Record<keyof·PluginConfig,·SupportOption>·=·{\n····svelte5CompilerPath:·{\n········category:·'Svelte',\n········type:·'string',\n········default:·'',\n········description:·'Only·set·this·when·using·Svelte·5!·Path·to·the·Svelte·5·compiler',\n····},\n····svelteSortOrder:·{\n········category:·'Svelte',\n········type:·'choice',\n········default:·'options-scripts-markup-styles',\n········description:·'Sort·order·for·scripts,·markup,·and·styles',\n········choices:·[\n············makeChoice('options-scripts-markup-styles'),\n············makeChoice('options-scripts-styles-markup'),\n············makeChoice('options-markup-styles-scripts'),\n············makeChoice('options-markup-scripts-styles'),\n············makeChoice('options-styles-markup-scripts'),\n············makeChoice('options-styles-scripts-markup'),\n············makeChoice('scripts-options-markup-styles'),\n············makeChoice('scripts-options-styles-markup'),\n············makeChoice('markup-options-styles-scripts'),\n············makeChoice('markup-options-scripts-styles'),\n············makeChoice('styles-options-markup-scripts'),\n············makeChoice('styles-options-scripts-markup'),\n············makeChoice('scripts-markup-options-styles'),\n············makeChoice('scripts-styles-options-markup'),\n············makeChoice('markup-styles-options-scripts'),\n············makeChoice('markup-scripts-options-styles'),\n············makeChoice('styles-markup-options-scripts'),\n············makeChoice('styles-scripts-options-markup'),\n············makeChoice('scripts-markup-styles-options'),\n············makeChoice('scripts-styles-markup-options'),\n············makeChoice('markup-styles-scripts-options'),\n············makeChoice('markup-scripts-styles-options'),\n············makeChoice('styles-markup-scripts-options'),\n············makeChoice('styles-scripts-markup-options'),\n············makeChoice('none'),\n········],\n····},\n····svelteStrictMode:·{\n········category:·'Svelte',\n········type:·'boolean',\n········default:·false,\n········description:·'More·strict·HTML·syntax:·Quotes·in·attributes,·no·self-closing·DOM·tags',\n····},\n····svelteBracketNewLine:·{\n········category:·'Svelte',\n········type:·'boolean',\n········description:·'Put·the·`>`·of·a·multiline·element·on·a·new·line',\n········deprecated:·'2.5.0',\n····},\n····svelteAllowShorthand:·{\n········category:·'Svelte',\n········type:·'boolean',\n········default:·true,\n········description:\n············'Option·to·enable/disable·component·attribute·shorthand·if·attribute·name·and·expressions·are·same',\n····},\n····svelteIndentScriptAndStyle:·{\n········category:·'Svelte',\n········type:·'boolean',\n········default:·true,\n········description:\n············'Whether·or·not·to·indent·the·code·inside·<script>·and·<style>·tags·in·Svelte·files',\n····},\n};\n\nexport·type·SortOrderPart·=·'scripts'·|·'markup'·|·'styles'·|·'options';\n\nconst·sortOrderSeparator·=·'-';\n\nexport·function·parseSortOrder(\n····sortOrder:·SortOrder·=·'options-scripts-markup-styles',\n):·SortOrderPart[]·{\n····if·(sortOrder·===·'none')·{\n········return·[];\n····}\n\n····const·order·=·sortOrder.split(sortOrderSeparator)·as·SortOrderPart[];\n····//·For·backwards·compatibility:·Add·options·to·beginning·if·not·present\n····if·(!order.includes('options'))·{\n········throw·new·Error('svelteSortOrder·is·missing·option·`options`');\n····}\n····return·order;\n}\n\nexport·function·isBracketSameLine(options:·ParserOptions):·boolean·{\n····return·options.svelteBracketNewLine·!=·null\n········?·!options.svelteBracketNewLine\n········:·options.bracketSameLine·!=·null\n········?·options.bracketSameLine\n········:·false;\n}\n", | 38 | ········"import·{·ParserOptions·as·PrettierParserOptions,·SupportOption·}·from·'prettier';\nimport·{·SortOrder,·PluginConfig·}·from·'..';\n\nexport·interface·ParserOptions<T·=·any>·extends·PrettierParserOptions<T>,·Partial<PluginConfig>·{\n····_svelte_ts?:·boolean;\n····_svelte_asFunction?:·boolean;\n····/**\n·····*·Used·for\n·····*·-·deciding·what·quote·behavior·to·use·in·the·printer:\n·····*···A·future·version·of·Svelte·treats·quoted·expressions·as·strings,·so·never·use·quotes·in·that·case.\n·····*···Since·Svelte·5·does·still·treat·them·equally,·it's·safer·to·remove·quotes·in·all·cases·and·in·a·future\n·····*···version·of·this·plugin·instead·leave·it·up·to·the·user·to·decide.\n·····*/\n····_svelte_is5Plus?:·boolean;\n}\n\nfunction·makeChoice(choice:·string)·{\n····return·{·value:·choice,·description:·choice·};\n}\n\nexport·const·options:·Record<keyof·PluginConfig,·SupportOption>·=·{\n····svelte5CompilerPath:·{\n········category:·'Svelte',\n········type:·'string',\n········default:·'',\n········description:·'Only·set·this·when·using·Svelte·5!·Path·to·the·Svelte·5·compiler',\n····},\n····svelteSortOrder:·{\n········category:·'Svelte',\n········type:·'choice',\n········default:·'options-scripts-markup-styles',\n········description:·'Sort·order·for·scripts,·markup,·and·styles',\n········choices:·[\n············makeChoice('options-scripts-markup-styles'),\n············makeChoice('options-scripts-styles-markup'),\n············makeChoice('options-markup-styles-scripts'),\n············makeChoice('options-markup-scripts-styles'),\n············makeChoice('options-styles-markup-scripts'),\n············makeChoice('options-styles-scripts-markup'),\n············makeChoice('scripts-options-markup-styles'),\n············makeChoice('scripts-options-styles-markup'),\n············makeChoice('markup-options-styles-scripts'),\n············makeChoice('markup-options-scripts-styles'),\n············makeChoice('styles-options-markup-scripts'),\n············makeChoice('styles-options-scripts-markup'),\n············makeChoice('scripts-markup-options-styles'),\n············makeChoice('scripts-styles-options-markup'),\n············makeChoice('markup-styles-options-scripts'),\n············makeChoice('markup-scripts-options-styles'),\n············makeChoice('styles-markup-options-scripts'),\n············makeChoice('styles-scripts-options-markup'),\n············makeChoice('scripts-markup-styles-options'),\n············makeChoice('scripts-styles-markup-options'),\n············makeChoice('markup-styles-scripts-options'),\n············makeChoice('markup-scripts-styles-options'),\n············makeChoice('styles-markup-scripts-options'),\n············makeChoice('styles-scripts-markup-options'),\n············makeChoice('none'),\n········],\n····},\n····svelteStrictMode:·{\n········category:·'Svelte',\n········type:·'boolean',\n········default:·false,\n········description:·'More·strict·HTML·syntax:·Quotes·in·attributes,·no·self-closing·DOM·tags',\n····},\n····svelteBracketNewLine:·{\n········category:·'Svelte',\n········type:·'boolean',\n········description:·'Put·the·`>`·of·a·multiline·element·on·a·new·line',\n········deprecated:·'2.5.0',\n····},\n····svelteAllowShorthand:·{\n········category:·'Svelte',\n········type:·'boolean',\n········default:·true,\n········description:\n············'Option·to·enable/disable·component·attribute·shorthand·if·attribute·name·and·expressions·are·same',\n····},\n····svelteIndentScriptAndStyle:·{\n········category:·'Svelte',\n········type:·'boolean',\n········default:·true,\n········description:\n············'Whether·or·not·to·indent·the·code·inside·<script>·and·<style>·tags·in·Svelte·files',\n····},\n};\n\nexport·type·SortOrderPart·=·'scripts'·|·'markup'·|·'styles'·|·'options';\n\nconst·sortOrderSeparator·=·'-';\n\nexport·function·parseSortOrder(\n····sortOrder:·SortOrder·=·'options-scripts-markup-styles',\n):·SortOrderPart[]·{\n····if·(sortOrder·===·'none')·{\n········return·[];\n····}\n\n····const·order·=·sortOrder.split(sortOrderSeparator)·as·SortOrderPart[];\n····//·For·backwards·compatibility:·Add·options·to·beginning·if·not·present\n····if·(!order.includes('options'))·{\n········throw·new·Error('svelteSortOrder·is·missing·option·`options`');\n····}\n····return·order;\n}\n\nexport·function·isBracketSameLine(options:·ParserOptions):·boolean·{\n····return·options.svelteBracketNewLine·!=·null\n········?·!options.svelteBracketNewLine\n········:·options.bracketSameLine·!=·null\n········?·options.bracketSameLine\n········:·false;\n}\n", |
| 38 | ········"import·{·Doc,·doc,·FastPath·}·from·'prettier';\nimport·{·PrintFn·}·from·'.';\nimport·{·formattableAttributes·}·from·'../lib/elements';\nimport·{·snippedTagContentAttribute·}·from·'../lib/snipTagContent';\nimport·{\n····ASTNode,\n····AttributeNode,\n····BodyNode,\n····DocumentNode,\n····ElementNode,\n····HeadNode,\n····InlineComponentNode,\n····Node,\n····OptionsNode,\n····ScriptNode,\n····SlotNode,\n····SlotTemplateNode,\n····StyleNode,\n····SvelteBoundary,\n····SvelteHTML,\n····TitleNode,\n····WindowNode,\n}·from·'./nodes';\nimport·{·ParserOptions·}·from·'../options';\n\n/**\n·*·Determines·whether·or·not·given·node\n·*·is·the·root·of·the·Svelte·AST.\n·*/\nexport·function·isASTNode(n:·any):·n·is·ASTNode·{\n····return·n·&&·n.__isRoot;\n}\n\nexport·function·isPreTagContent(path:·FastPath):·boolean·{\n····const·stack·=·path.stack·as·Node[];\n\n····return·stack.some(\n········(node)·=>\n············(node.type·===·'Element'·&&·node.name.toLowerCase()·===·'pre')·||\n············(node.type·===·'Attribute'·&&·!formattableAttributes.includes(node.name)),\n····);\n}\n\nexport·function·flatten<T>(arrays:·T[][]):·T[]·{\n····return·([]·as·T[]).concat.apply([],·arrays);\n}\n\nexport·function·findLastIndex<T>(isMatch:·(item:·T,·idx:·number)·=>·boolean,·items:·T[])·{\n····for·(let·i·=·items.length·-·1;·i·>=·0;·i--)·{\n········if·(isMatch(items[i],·i))·{\n············return·i;\n········}\n····}\n\n····return·-1;\n}\n\nexport·function·replaceEndOfLineWith(text:·string,·replacement:·Doc)·{\n····const·parts:·Doc[]·=·[];\n····for·(const·part·of·text.split('\\n'))·{\n········if·(parts.length·>·0)·{\n············parts.push(replacement);\n········}\n········if·(part.endsWith('\\r'))·{\n············parts.push(part.slice(0,·-1));\n········}·else·{\n············parts.push(part);\n········}\n····}\n····return·parts;\n}\n\nexport·function·getAttributeLine(\n····node:\n········|·ElementNode\n········|·InlineComponentNode\n········|·SlotNode\n········|·WindowNode\n········|·HeadNode\n········|·TitleNode\n········|·StyleNode\n········|·ScriptNode\n········|·BodyNode\n········|·DocumentNode\n········|·OptionsNode\n········|·SvelteHTML\n········|·SvelteBoundary\n········|·SlotTemplateNode,\n····options:·ParserOptions,\n)·{\n····const·{·hardline,·line·}·=·doc.builders;\n····const·hasThisBinding·=\n········(node.type·===·'InlineComponent'·&&·!!node.expression)·||\n········(node.type·===·'Element'·&&·!!node.tag);\n\n····const·attributes·=·(node.attributes·as·Array<AttributeNode>).filter(\n········(attribute)·=>·attribute.name·!==·snippedTagContentAttribute,\n····);\n····return·options.singleAttributePerLine·&&\n········(attributes.length·>·1·||·(attributes.length·&&·hasThisBinding))\n········?·hardline\n········:·line;\n}\n\nexport·function·printWithPrependedAttributeLine(\n····node:\n········|·ElementNode\n········|·InlineComponentNode\n········|·SlotNode\n········|·WindowNode\n········|·HeadNode\n········|·TitleNode\n········|·StyleNode\n········|·ScriptNode\n········|·BodyNode\n········|·DocumentNode\n········|·OptionsNode\n········|·SvelteHTML\n········|·SvelteBoundary\n········|·SlotTemplateNode,\n····options:·ParserOptions,\n····print:·PrintFn,\n):·PrintFn·{\n····return·(path)·=>\n········path.getNode().name·!==·snippedTagContentAttribute\n············?·[getAttributeLine(node,·options),·path.call(print)]\n············:·'';\n}\n", | 39 | ········"import·{·Doc,·doc,·FastPath·}·from·'prettier';\nimport·{·PrintFn·}·from·'.';\nimport·{·formattableAttributes·}·from·'../lib/elements';\nimport·{·snippedTagContentAttribute·}·from·'../lib/snipTagContent';\nimport·{\n····ASTNode,\n····AttributeNode,\n····BodyNode,\n····DocumentNode,\n····ElementNode,\n····HeadNode,\n····InlineComponentNode,\n····Node,\n····OptionsNode,\n····ScriptNode,\n····SlotNode,\n····SlotTemplateNode,\n····StyleNode,\n····SvelteBoundary,\n····SvelteHTML,\n····TitleNode,\n····WindowNode,\n}·from·'./nodes';\nimport·{·ParserOptions·}·from·'../options';\n\n/**\n·*·Determines·whether·or·not·given·node\n·*·is·the·root·of·the·Svelte·AST.\n·*/\nexport·function·isASTNode(n:·any):·n·is·ASTNode·{\n····return·n·&&·n.__isRoot;\n}\n\nexport·function·isPreTagContent(path:·FastPath):·boolean·{\n····const·stack·=·path.stack·as·Node[];\n\n····return·stack.some(\n········(node)·=>\n············(node.type·===·'Element'·&&·node.name.toLowerCase()·===·'pre')·||\n············(node.type·===·'Attribute'·&&·!formattableAttributes.includes(node.name)),\n····);\n}\n\nexport·function·flatten<T>(arrays:·T[][]):·T[]·{\n····return·([]·as·T[]).concat.apply([],·arrays);\n}\n\nexport·function·findLastIndex<T>(isMatch:·(item:·T,·idx:·number)·=>·boolean,·items:·T[])·{\n····for·(let·i·=·items.length·-·1;·i·>=·0;·i--)·{\n········if·(isMatch(items[i],·i))·{\n············return·i;\n········}\n····}\n\n····return·-1;\n}\n\nexport·function·replaceEndOfLineWith(text:·string,·replacement:·Doc)·{\n····const·parts:·Doc[]·=·[];\n····for·(const·part·of·text.split('\\n'))·{\n········if·(parts.length·>·0)·{\n············parts.push(replacement);\n········}\n········if·(part.endsWith('\\r'))·{\n············parts.push(part.slice(0,·-1));\n········}·else·{\n············parts.push(part);\n········}\n····}\n····return·parts;\n}\n\nexport·function·getAttributeLine(\n····node:\n········|·ElementNode\n········|·InlineComponentNode\n········|·SlotNode\n········|·WindowNode\n········|·HeadNode\n········|·TitleNode\n········|·StyleNode\n········|·ScriptNode\n········|·BodyNode\n········|·DocumentNode\n········|·OptionsNode\n········|·SvelteHTML\n········|·SvelteBoundary\n········|·SlotTemplateNode,\n····options:·ParserOptions,\n)·{\n····const·{·hardline,·line·}·=·doc.builders;\n····const·hasThisBinding·=\n········(node.type·===·'InlineComponent'·&&·!!node.expression)·||\n········(node.type·===·'Element'·&&·!!node.tag);\n\n····const·attributes·=·(node.attributes·as·Array<AttributeNode>).filter(\n········(attribute)·=>·attribute.name·!==·snippedTagContentAttribute,\n····);\n····return·options.singleAttributePerLine·&&\n········(attributes.length·>·1·||·(attributes.length·&&·hasThisBinding))\n········?·hardline\n········:·line;\n}\n\nexport·function·printWithPrependedAttributeLine(\n····node:\n········|·ElementNode\n········|·InlineComponentNode\n········|·SlotNode\n········|·WindowNode\n········|·HeadNode\n········|·TitleNode\n········|·StyleNode\n········|·ScriptNode\n········|·BodyNode\n········|·DocumentNode\n········|·OptionsNode\n········|·SvelteHTML\n········|·SvelteBoundary\n········|·SlotTemplateNode,\n····options:·ParserOptions,\n····print:·PrintFn,\n):·PrintFn·{\n····return·(path)·=>\n········path.getNode().name·!==·snippedTagContentAttribute\n············?·[getAttributeLine(node,·options),·path.call(print)]\n············:·'';\n}\n", |
| 39 | ········"import·{·Doc,·doc·}·from·'prettier';\r\nimport·{·findLastIndex·}·from·'./helpers';\r\n\r\n/**\r\n·*·Check·if·doc·is·a·hardline.\r\n·*·We·can't·just·rely·on·a·simple·equality·check·because·the·doc·could·be·created·with·another\r\n·*·runtime·version·of·prettier·than·what·we·import,·making·a·reference·check·fail.\r\n·*/\r\nexport·function·isHardline(docToCheck:·Doc):·boolean·{\r\n····return·docToCheck·===·doc.builders.hardline·||·deepEqual(docToCheck,·doc.builders.hardline);\r\n}\r\n\r\n/**\r\n·*·Simple·deep·equal·function·which·suits·our·needs.·Only·works·properly·on·POJOs·without·cyclic·deps.\r\n·*/\r\nfunction·deepEqual(x:·any,·y:·any):·boolean·{\r\n····if·(x·===·y)·{\r\n········return·true;\r\n····}·else·if·(typeof·x·==·'object'·&&·x·!=·null·&&·typeof·y·==·'object'·&&·y·!=·null)·{\r\n········if·(Object.keys(x).length·!=·Object.keys(y).length)·return·false;\r\n\r\n········for·(var·prop·in·x)·{\r\n············if·(y.hasOwnProperty(prop))·{\r\n················if·(!deepEqual(x[prop],·y[prop]))·return·false;\r\n············}·else·{\r\n················return·false;\r\n············}\r\n········}\r\n\r\n········return·true;\r\n····}·else·{\r\n········return·false;\r\n····}\r\n}\r\n\r\nfunction·isDocCommand(doc:·Doc):·doc·is·doc.builders.DocCommand·{\r\n····return·typeof·doc·===·'object'·&&·doc·!==·null;\r\n}\r\n\r\nexport·function·isLine(docToCheck:·Doc):·boolean·{\r\n····return·(\r\n········isHardline(docToCheck)·||\r\n········(isDocCommand(docToCheck)·&&·docToCheck.type·===·'line')·||\r\n········(Array.isArray(docToCheck)·&&·docToCheck.every(isLine))\r\n····);\r\n}\r\n\r\n/**\r\n·*·Check·if·the·doc·is·empty,·i.e.·consists·of·nothing·more·than·empty·strings·(possibly·nested).\r\n·*/\r\nexport·function·isEmptyDoc(doc:·Doc):·boolean·{\r\n····if·(typeof·doc·===·'string')·{\r\n········return·doc.length·===·0;\r\n····}\r\n\r\n····if·(isDocCommand(doc)·&&·doc.type·===·'line')·{\r\n········return·!doc.keepIfLonely;\r\n····}\r\n\r\n····if·(Array.isArray(doc))·{\r\n········return·doc.length·===·0;\r\n····}\r\n\r\n····const·{·contents·}·=·doc·as·{·contents?:·Doc·};\r\n\r\n····if·(contents)·{\r\n········return·isEmptyDoc(contents);\r\n····}\r\n\r\n····const·{·parts·}·=·doc·as·{·parts?:·Doc[]·};\r\n\r\n····if·(parts)·{\r\n········return·isEmptyGroup(parts);\r\n····}\r\n\r\n····return·false;\r\n}\r\n\r\nexport·function·isEmptyGroup(group:·Doc[]):·boolean·{\r\n····return·!group.find((doc)·=>·!isEmptyDoc(doc));\r\n}\r\n\r\n/**\r\n·*·Trims·both·leading·and·trailing·nodes·matching·`isWhitespace`·independent·of·nesting·level\r\n·*·(though·all·trimmed·adjacent·nodes·need·to·be·a·the·same·level).·Modifies·the·`docs`·array.\r\n·*/\r\nexport·function·trim(docs:·Doc[],·isWhitespace:·(doc:·Doc)·=>·boolean):·Doc[]·{\r\n····trimLeft(docs,·isWhitespace);\r\n····trimRight(docs,·isWhitespace);\r\n\r\n····return·docs;\r\n}\r\n\r\n/**\r\n·*·Trims·the·leading·nodes·matching·`isWhitespace`·independent·of·nesting·level·(though·all·nodes·need·to·be·a·the·same·level).\r\n·*·If·there·are·empty·docs·before·the·first·whitespace,·they·are·removed,·too.\r\n·*/\r\nexport·function·trimLeft(group:·Doc[],·isWhitespace:·(doc:·Doc)·=>·boolean):·void·{\r\n····let·firstNonWhitespace·=·group.findIndex((doc)·=>·!isEmptyDoc(doc)·&&·!isWhitespace(doc));\r\n\r\n····if·(firstNonWhitespace·<·0·&&·group.length)·{\r\n········firstNonWhitespace·=·group.length;\r\n····}\r\n\r\n····if·(firstNonWhitespace·>·0)·{\r\n········const·removed·=·group.splice(0,·firstNonWhitespace);\r\n········if·(removed.every(isEmptyDoc))·{\r\n············return·trimLeft(group,·isWhitespace);\r\n········}\r\n····}·else·{\r\n········const·parts·=·getParts(group[0]);\r\n\r\n········if·(parts)·{\r\n············return·trimLeft(parts,·isWhitespace);\r\n········}\r\n····}\r\n}\r\n\r\n/**\r\n·*·Trims·the·trailing·nodes·matching·`isWhitespace`·independent·of·nesting·level·(though·all·nodes·need·to·be·a·the·same·level).\r\n·*·If·there·are·empty·docs·after·the·last·whitespace,·they·are·removed,·too.\r\n·*/\r\nexport·function·trimRight(group:·Doc[],·isWhitespace:·(doc:·Doc)·=>·boolean):·void·{\r\n····let·lastNonWhitespace·=·group.length\r\n········?·findLastIndex((doc)·=>·!isEmptyDoc(doc)·&&·!isWhitespace(doc),·group)\r\n········:·0;\r\n\r\n····if·(lastNonWhitespace·<·group.length·-·1)·{\r\n········const·removed·=·group.splice(lastNonWhitespace·+·1);\r\n········if·(removed.every(isEmptyDoc))·{\r\n············return·trimRight(group,·isWhitespace);\r\n········}\r\n····}·else·{\r\n········const·parts·=·getParts(group[group.length·-·1]);\r\n\r\n········if·(parts)·{\r\n············return·trimRight(parts,·isWhitespace);\r\n········}\r\n····}\r\n}\r\n\r\nfunction·getParts(doc:·Doc):·Doc[]·|·undefined·{\r\n····if·(typeof·doc·===·'object')·{\r\n········if·(Array.isArray(doc))·{\r\n············return·doc;\r\n········}\r\n········if·(doc.type·===·'fill')·{\r\n············return·doc.parts;\r\n········}\r\n········if·(doc.type·===·'group')·{\r\n············return·getParts(doc.contents);\r\n········}\r\n····}\r\n}\r\n\r\n/**\r\n·*·`(foo·=·bar)`·=>·`foo·=·bar`\r\n·*/\r\nexport·function·removeParentheses(doc:·Doc):·Doc·{\r\n····return·trim([doc],·(_doc:·Doc)·=>·_doc·===·'('·||·_doc·===·')')[0];\r\n}\r\n", | 40 | ········"import·{·Doc,·doc·}·from·'prettier';\r\nimport·{·findLastIndex·}·from·'./helpers';\r\n\r\n/**\r\n·*·Check·if·doc·is·a·hardline.\r\n·*·We·can't·just·rely·on·a·simple·equality·check·because·the·doc·could·be·created·with·another\r\n·*·runtime·version·of·prettier·than·what·we·import,·making·a·reference·check·fail.\r\n·*/\r\nexport·function·isHardline(docToCheck:·Doc):·boolean·{\r\n····return·docToCheck·===·doc.builders.hardline·||·deepEqual(docToCheck,·doc.builders.hardline);\r\n}\r\n\r\n/**\r\n·*·Simple·deep·equal·function·which·suits·our·needs.·Only·works·properly·on·POJOs·without·cyclic·deps.\r\n·*/\r\nfunction·deepEqual(x:·any,·y:·any):·boolean·{\r\n····if·(x·===·y)·{\r\n········return·true;\r\n····}·else·if·(typeof·x·==·'object'·&&·x·!=·null·&&·typeof·y·==·'object'·&&·y·!=·null)·{\r\n········if·(Object.keys(x).length·!=·Object.keys(y).length)·return·false;\r\n\r\n········for·(var·prop·in·x)·{\r\n············if·(y.hasOwnProperty(prop))·{\r\n················if·(!deepEqual(x[prop],·y[prop]))·return·false;\r\n············}·else·{\r\n················return·false;\r\n············}\r\n········}\r\n\r\n········return·true;\r\n····}·else·{\r\n········return·false;\r\n····}\r\n}\r\n\r\nfunction·isDocCommand(doc:·Doc):·doc·is·doc.builders.DocCommand·{\r\n····return·typeof·doc·===·'object'·&&·doc·!==·null;\r\n}\r\n\r\nexport·function·isLine(docToCheck:·Doc):·boolean·{\r\n····return·(\r\n········isHardline(docToCheck)·||\r\n········(isDocCommand(docToCheck)·&&·docToCheck.type·===·'line')·||\r\n········(Array.isArray(docToCheck)·&&·docToCheck.every(isLine))\r\n····);\r\n}\r\n\r\n/**\r\n·*·Check·if·the·doc·is·empty,·i.e.·consists·of·nothing·more·than·empty·strings·(possibly·nested).\r\n·*/\r\nexport·function·isEmptyDoc(doc:·Doc):·boolean·{\r\n····if·(typeof·doc·===·'string')·{\r\n········return·doc.length·===·0;\r\n····}\r\n\r\n····if·(isDocCommand(doc)·&&·doc.type·===·'line')·{\r\n········return·!doc.keepIfLonely;\r\n····}\r\n\r\n····if·(Array.isArray(doc))·{\r\n········return·doc.length·===·0;\r\n····}\r\n\r\n····const·{·contents·}·=·doc·as·{·contents?:·Doc·};\r\n\r\n····if·(contents)·{\r\n········return·isEmptyDoc(contents);\r\n····}\r\n\r\n····const·{·parts·}·=·doc·as·{·parts?:·Doc[]·};\r\n\r\n····if·(parts)·{\r\n········return·isEmptyGroup(parts);\r\n····}\r\n\r\n····return·false;\r\n}\r\n\r\nexport·function·isEmptyGroup(group:·Doc[]):·boolean·{\r\n····return·!group.find((doc)·=>·!isEmptyDoc(doc));\r\n}\r\n\r\n/**\r\n·*·Trims·both·leading·and·trailing·nodes·matching·`isWhitespace`·independent·of·nesting·level\r\n·*·(though·all·trimmed·adjacent·nodes·need·to·be·a·the·same·level).·Modifies·the·`docs`·array.\r\n·*/\r\nexport·function·trim(docs:·Doc[],·isWhitespace:·(doc:·Doc)·=>·boolean):·Doc[]·{\r\n····trimLeft(docs,·isWhitespace);\r\n····trimRight(docs,·isWhitespace);\r\n\r\n····return·docs;\r\n}\r\n\r\n/**\r\n·*·Trims·the·leading·nodes·matching·`isWhitespace`·independent·of·nesting·level·(though·all·nodes·need·to·be·a·the·same·level).\r\n·*·If·there·are·empty·docs·before·the·first·whitespace,·they·are·removed,·too.\r\n·*/\r\nexport·function·trimLeft(group:·Doc[],·isWhitespace:·(doc:·Doc)·=>·boolean):·void·{\r\n····let·firstNonWhitespace·=·group.findIndex((doc)·=>·!isEmptyDoc(doc)·&&·!isWhitespace(doc));\r\n\r\n····if·(firstNonWhitespace·<·0·&&·group.length)·{\r\n········firstNonWhitespace·=·group.length;\r\n····}\r\n\r\n····if·(firstNonWhitespace·>·0)·{\r\n········const·removed·=·group.splice(0,·firstNonWhitespace);\r\n········if·(removed.every(isEmptyDoc))·{\r\n············return·trimLeft(group,·isWhitespace);\r\n········}\r\n····}·else·{\r\n········const·parts·=·getParts(group[0]);\r\n\r\n········if·(parts)·{\r\n············return·trimLeft(parts,·isWhitespace);\r\n········}\r\n····}\r\n}\r\n\r\n/**\r\n·*·Trims·the·trailing·nodes·matching·`isWhitespace`·independent·of·nesting·level·(though·all·nodes·need·to·be·a·the·same·level).\r\n·*·If·there·are·empty·docs·after·the·last·whitespace,·they·are·removed,·too.\r\n·*/\r\nexport·function·trimRight(group:·Doc[],·isWhitespace:·(doc:·Doc)·=>·boolean):·void·{\r\n····let·lastNonWhitespace·=·group.length\r\n········?·findLastIndex((doc)·=>·!isEmptyDoc(doc)·&&·!isWhitespace(doc),·group)\r\n········:·0;\r\n\r\n····if·(lastNonWhitespace·<·group.length·-·1)·{\r\n········const·removed·=·group.splice(lastNonWhitespace·+·1);\r\n········if·(removed.every(isEmptyDoc))·{\r\n············return·trimRight(group,·isWhitespace);\r\n········}\r\n····}·else·{\r\n········const·parts·=·getParts(group[group.length·-·1]);\r\n\r\n········if·(parts)·{\r\n············return·trimRight(parts,·isWhitespace);\r\n········}\r\n····}\r\n}\r\n\r\nfunction·getParts(doc:·Doc):·Doc[]·|·undefined·{\r\n····if·(typeof·doc·===·'object')·{\r\n········if·(Array.isArray(doc))·{\r\n············return·doc;\r\n········}\r\n········if·(doc.type·===·'fill')·{\r\n············return·doc.parts;\r\n········}\r\n········if·(doc.type·===·'group')·{\r\n············return·getParts(doc.contents);\r\n········}\r\n····}\r\n}\r\n\r\n/**\r\n·*·`(foo·=·bar)`·=>·`foo·=·bar`\r\n·*/\r\nexport·function·removeParentheses(doc:·Doc):·Doc·{\r\n····return·trim([doc],·(_doc:·Doc)·=>·_doc·===·'('·||·_doc·===·')')[0];\r\n}\r\n", |
| 40 | ········"import·{\n····Node,\n····ElementNode,\n····TextNode,\n····AttributeNode,\n····MustacheTagNode,\n····AttributeShorthandNode,\n····HeadNode,\n····InlineComponentNode,\n····SlotNode,\n····TitleNode,\n····WindowNode,\n····IfBlockNode,\n····AwaitBlockNode,\n····CatchBlockNode,\n····EachBlockNode,\n····ElseBlockNode,\n····KeyBlockNode,\n····PendingBlockNode,\n····ThenBlockNode,\n····CommentNode,\n····SlotTemplateNode,\n····StyleDirectiveNode,\n····ASTNode,\n····CommentInfo,\n····SvelteBoundary,\n}·from·'./nodes';\nimport·{·blockElements,·TagName·}·from·'../lib/elements';\nimport·{·FastPath·}·from·'prettier';\nimport·{·findLastIndex,·isASTNode,·isPreTagContent·}·from·'./helpers';\nimport·{·ParserOptions,·isBracketSameLine·}·from·'../options';\n\nconst·unsupportedLanguages·=·['coffee',·'coffeescript',·'styl',·'stylus',·'sass'];\n\nexport·function·isInlineElement(\n····path:·FastPath,\n····options:·ParserOptions,\n····node:·Node,\n):·node·is·ElementNode·{\n····return·(\n········node·&&·node.type·===·'Element'·&&·!isBlockElement(node,·options)·&&·!isPreTagContent(path)\n····);\n}\n\nexport·function·isBlockElement(node:·Node,·options:·ParserOptions):·node·is·ElementNode·{\n····return·(\n········node·&&\n········node.type·===·'Element'·&&\n········options.htmlWhitespaceSensitivity·!==·'strict'·&&\n········(options.htmlWhitespaceSensitivity·===·'ignore'·||\n············blockElements.includes(node.name·as·TagName))\n····);\n}\n\nexport·function·isSvelteBlock(\n····node:·Node,\n):·node·is\n····|·IfBlockNode\n····|·AwaitBlockNode\n····|·CatchBlockNode\n····|·EachBlockNode\n····|·ElseBlockNode\n····|·KeyBlockNode\n····|·PendingBlockNode\n····|·ThenBlockNode·{\n····return·[\n········'IfBlock',\n········'SnippetBlock',\n········'AwaitBlock',\n········'CatchBlock',\n········'EachBlock',\n········'ElseBlock',\n········'KeyBlock',\n········'PendingBlock',\n········'ThenBlock',\n····].includes(node.type);\n}\n\nexport·function·isNodeWithChildren(node:·Node):·node·is·Node·&·{·children:·Node[]·}·{\n····return·(node·as·any).children;\n}\n\nexport·function·getChildren(node:·Node):·Node[]·{\n····return·isNodeWithChildren(node)·?·node.children·:·[];\n}\n\n/**\n·*·Returns·siblings,·that·is,·the·children·of·the·parent.\n·*/\nexport·function·getSiblings(path:·FastPath):·Node[]·{\n····let·parent:·Node·=·path.getParentNode();\n\n····if·(isASTNode(parent))·{\n········parent·=·parent.html;\n····}\n\n····return·getChildren(parent);\n}\n\n/**\n·*·Returns·the·previous·sibling·node.\n·*/\nexport·function·getPreviousNode(path:·FastPath):·Node·|·undefined·{\n····const·node:·Node·=·path.getNode();\n····return·getSiblings(path).find((child)·=>·child.end·===·node.start);\n}\n\n/**\n·*·Returns·the·next·sibling·node.\n·*/\nexport·function·getNextNode(path:·FastPath,·node:·Node·=·path.getNode()):·Node·|·undefined·{\n····return·getSiblings(path).find((child)·=>·child.start·===·node.end);\n}\n\n/**\n·*·Returns·the·comment·that·is·above·the·current·node.\n·*/\nexport·function·getLeadingComment(path:·FastPath):·CommentNode·|·undefined·{\n····const·siblings·=·getSiblings(path);\n\n····let·node:·Node·=·path.getNode();\n····let·prev:·Node·|·undefined·=·siblings.find((child)·=>·child.end·===·node.start);\n····while·(prev)·{\n········if·(\n············prev.type·===·'Comment'·&&\n············!isIgnoreStartDirective(prev)·&&\n············!isIgnoreEndDirective(prev)\n········)·{\n············return·prev;\n········}·else·if·(isEmptyTextNode(prev))·{\n············node·=·prev;\n············prev·=·siblings.find((child)·=>·child.end·===·node.start);\n········}·else·{\n············return·undefined;\n········}\n····}\n}\n\n/**\n·*·Did·there·use·to·be·any·embedded·object·(that·has·been·snipped·out·of·the·AST·to·be·moved)\n·*·at·the·specified·position?\n·*/\nexport·function·doesEmbedStartAfterNode(node:·Node,·path:·FastPath,·siblings·=·getSiblings(path))·{\n····//·If·node·is·not·at·the·top·level·of·html,·an·embed·cannot·start·after·it,\n····//·because·embeds·are·only·at·the·top·level\n····if·(!isNodeTopLevelHTML(node,·path))·{\n········return·false;\n····}\n\n····const·position·=·node.end;\n····const·root·=·path.stack[0];\n\n····const·embeds·=·[root.css,·root.html,·root.instance,·root.js,·root.module]·as·Node[];\n\n····const·nextNode·=·siblings[siblings.indexOf(node)·+·1];\n····return·embeds.find((n)·=>·n·&&·n.start·>=·position·&&·(!nextNode·||·n.end·<=·nextNode.start));\n}\n\nexport·function·isNodeTopLevelHTML(node:·Node,·path:·FastPath):·boolean·{\n····const·root·=·path.stack[0];\n····return·!!root.html·&&·!!root.html.children·&&·root.html.children.includes(node);\n}\n\nexport·function·isEmptyTextNode(node:·Node·|·undefined):·node·is·TextNode·{\n····return·!!node·&&·node.type·===·'Text'·&&·getUnencodedText(node).trim()·===·'';\n}\n\nexport·function·isIgnoreDirective(node:·Node·|·undefined·|·null):·boolean·{\n····return·!!node·&&·node.type·===·'Comment'·&&·node.data.trim()·===·'prettier-ignore';\n}\n\nexport·function·isIgnoreStartDirective(node:·Node·|·undefined·|·null):·boolean·{\n····return·!!node·&&·node.type·===·'Comment'·&&·node.data.trim()·===·'prettier-ignore-start';\n}\n\nexport·function·isIgnoreEndDirective(node:·Node·|·undefined·|·null):·boolean·{\n····return·!!node·&&·node.type·===·'Comment'·&&·node.data.trim()·===·'prettier-ignore-end';\n}\n\nexport·function·printRaw(\n····node:\n········|·ElementNode\n········|·InlineComponentNode\n········|·SlotNode\n········|·WindowNode\n········|·HeadNode\n········|·TitleNode\n········|·SvelteBoundary\n········|·SlotTemplateNode,\n····originalText:·string,\n····stripLeadingAndTrailingNewline:·boolean·=·false,\n):·string·{\n····if·(node.children.length·===·0)·{\n········return·'';\n····}\n\n····const·firstChild·=·node.children[0];\n····const·lastChild·=·node.children[node.children.length·-·1];\n\n····let·raw·=·originalText.substring(firstChild.start,·lastChild.end);\n\n····if·(!stripLeadingAndTrailingNewline)·{\n········return·raw;\n····}\n\n····if·(startsWithLinebreak(raw))·{\n········raw·=·raw.substring(raw.indexOf('\\n')·+·1);\n····}\n····if·(endsWithLinebreak(raw))·{\n········raw·=·raw.substring(0,·raw.lastIndexOf('\\n'));\n········if·(raw.charAt(raw.length·-·1)·===·'\\r')·{\n············raw·=·raw.substring(0,·raw.length·-·1);\n········}\n····}\n\n····return·raw;\n}\n\nfunction·isTextNode(node:·Node):·node·is·TextNode·{\n····return·node.type·===·'Text';\n}\n\nfunction·getAttributeValue(attributeName:·string,·node:·Node)·{\n····const·attributes·=·((node·as·ElementNode).attributes·??·[])·as·AttributeNode[];\n\n····const·langAttribute·=·attributes.find((attribute)·=>·attribute.name·===·attributeName);\n\n····return·langAttribute·&&·langAttribute.value;\n}\n\nexport·function·getAttributeTextValue(attributeName:·string,·node:·Node):·string·|·null·{\n····const·value·=·getAttributeValue(attributeName,·node);\n\n····if·(value·!=·null·&&·typeof·value·===·'object')·{\n········const·textValue·=·value.find(isTextNode);\n\n········if·(textValue)·{\n············return·textValue.data;\n········}\n····}\n\n····return·null;\n}\n\nfunction·getLangAttribute(node:·Node):·string·|·null·{\n····const·value·=·getAttributeTextValue('lang',·node)·||·getAttributeTextValue('type',·node);\n\n····if·(value·!=·null)·{\n········return·value.replace(/^text\\//,·'');\n····}·else·{\n········return·null;\n····}\n}\n\n/**\n·*·Checks·whether·the·node·contains·a·`lang`·or·`type`·attribute·with·a·value·corresponding·to\n·*·a·language·we·cannot·format.·This·might·for·example·be·`<template·lang=\"pug\">`.\n·*·If·the·node·does·not·contain·a·`lang`·attribute,·the·result·is·true.\n·*/\nexport·function·isNodeSupportedLanguage(node:·Node)·{\n····const·lang·=·getLangAttribute(node);\n\n····return·!(lang·&&·unsupportedLanguages.includes(lang));\n}\n\n/**\n·*·Checks·whether·the·node·contains·a·`lang`·or·`type`·attribute·which·indicates·that\n·*·the·script·contents·are·written·in·TypeScript.·Note·that·the·absence·of·the·tag\n·*·does·not·mean·it's·not·TypeScript,·because·the·user·could·have·set·the·default\n·*·to·TypeScript·in·his·settings.\n·*/\nexport·function·isTypeScript(node:·Node)·{\n····const·lang·=·getLangAttribute(node)·||·'';\n····return·['typescript',·'ts'].includes(lang);\n}\n\nexport·function·isJSON(node:·Node)·{\n····const·lang·=·getLangAttribute(node)·||·'';\n····//·https://github.com/prettier/prettier/pull/6293\n····return·lang.endsWith('json')·||·lang.endsWith('importmap');\n}\n\nexport·function·isLess(node:·Node)·{\n····const·lang·=·getLangAttribute(node)·||·'';\n····return·['less'].includes(lang);\n}\n\nexport·function·isScss(node:·Node)·{\n····const·lang·=·getLangAttribute(node)·||·'';\n····return·['sass',·'scss'].includes(lang);\n}\n\nexport·function·isPugTemplate(node:·Node):·boolean·{\n····return·node.type·===·'Element'·&&·node.name·===·'template'·&&·getLangAttribute(node)·===·'pug';\n}\n\nexport·function·isLoneMustacheTag(node:·true·|·Node[]):·node·is·[MustacheTagNode]·{\n····return·node·!==·true·&&·node.length·===·1·&&·node[0].type·===·'MustacheTag';\n}\n\nexport·function·isAttributeShorthand(node:·true·|·Node[]):·node·is·[AttributeShorthandNode]·{\n····return·node·!==·true·&&·node.length·===·1·&&·node[0].type·===·'AttributeShorthand';\n}\n\n/**\n·*·True·if·node·is·of·type·`{a}`·or·`a={a}`\n·*/\nexport·function·isOrCanBeConvertedToShorthand(node:·AttributeNode·|·StyleDirectiveNode):·boolean·{\n····if·(isAttributeShorthand(node.value))·{\n········return·true;\n····}\n\n····if·(isLoneMustacheTag(node.value))·{\n········const·expression·=·node.value[0].expression;\n········return·expression.type·===·'Identifier'·&&·expression.name·===·node.name;\n····}\n\n····return·false;\n}\n\nexport·function·getUnencodedText(node:·TextNode)·{\n····//·`raw`·will·contain·HTML·entities·in·unencoded·form\n····return·node.raw·||·node.data;\n}\n\nexport·function·isTextNodeStartingWithLinebreak(node:·Node,·nrLines·=·1):·node·is·TextNode·{\n····return·node.type·===·'Text'·&&·startsWithLinebreak(getUnencodedText(node),·nrLines);\n}\n\nexport·function·startsWithLinebreak(text:·string,·nrLines·=·1):·boolean·{\n····return·new·RegExp(`^([\\\\t\\\\f\\\\r·]*\\\\n){${nrLines}}`).test(text);\n}\n\nexport·function·isTextNodeEndingWithLinebreak(node:·Node,·nrLines·=·1):·node·is·TextNode·{\n····return·node.type·===·'Text'·&&·endsWithLinebreak(getUnencodedText(node),·nrLines);\n}\n\nexport·function·endsWithLinebreak(text:·string,·nrLines·=·1):·boolean·{\n····return·new·RegExp(`(\\\\n[\\\\t\\\\f\\\\r·]*){${nrLines}}$`).test(text);\n}\n\nexport·function·isTextNodeStartingWithWhitespace(node:·Node):·node·is·TextNode·{\n····return·node.type·===·'Text'·&&·/^\\s/.test(getUnencodedText(node));\n}\n\nexport·function·isTextNodeEndingWithWhitespace(node:·Node):·node·is·TextNode·{\n····return·node.type·===·'Text'·&&·/\\s$/.test(getUnencodedText(node));\n}\n\nexport·function·trimTextNodeRight(node:·TextNode):·void·{\n····node.raw·=·node.raw·&&·node.raw.trimRight();\n····node.data·=·node.data·&&·node.data.trimRight();\n}\n\nexport·function·trimTextNodeLeft(node:·TextNode):·void·{\n····node.raw·=·node.raw·&&·node.raw.trimLeft();\n····node.data·=·node.data·&&·node.data.trimLeft();\n}\n\n/**\n·*·Remove·all·leading·whitespace·up·until·the·first·non-empty·text·node,\n·*·and·all·trailing·whitespace·from·the·last·non-empty·text·node·onwards.\n·*/\nexport·function·trimChildren(children:·Node[],·path:·FastPath):·void·{\n····let·firstNonEmptyNode·=·children.findIndex(\n········(n)·=>·!isEmptyTextNode(n)·&&·!doesEmbedStartAfterNode(n,·path),\n····);\n····firstNonEmptyNode·=·firstNonEmptyNode·===·-1·?·children.length·-·1·:·firstNonEmptyNode;\n\n····let·lastNonEmptyNode·=·findLastIndex((n,·idx)·=>·{\n········//·Last·node·is·ok·to·end·at·the·start·of·an·embedded·region,\n········//·if·it's·not·a·comment·(which·should·stick·to·the·region)\n········return·(\n············!isEmptyTextNode(n)·&&\n············((idx·===·children.length·-·1·&&·n.type·!==·'Comment')·||\n················!doesEmbedStartAfterNode(n,·path))\n········);\n····},·children);\n····lastNonEmptyNode·=·lastNonEmptyNode·===·-1·?·0·:·lastNonEmptyNode;\n\n····for·(let·i·=·0;·i·<=·firstNonEmptyNode;·i++)·{\n········const·n·=·children[i];\n········if·(n.type·===·'Text')·{\n············trimTextNodeLeft(n);\n········}\n····}\n\n····for·(let·i·=·children.length·-·1;·i·>=·lastNonEmptyNode;·i--)·{\n········const·n·=·children[i];\n········if·(n.type·===·'Text')·{\n············trimTextNodeRight(n);\n········}\n····}\n}\n\n/**\n·*·Check·if·given·node's·start·tag·should·hug·its·first·child.·This·is·the·case·for·inline·elements·when·there's\n·*·no·whitespace·between·the·`>`·and·the·first·child.\n·*/\nexport·function·shouldHugStart(\n····node:·Node,\n····isSupportedLanguage:·boolean,\n····options:·ParserOptions,\n):·boolean·{\n····if·(!isSupportedLanguage)·{\n········return·true;\n····}\n\n····if·(node.type·===·'SvelteBoundary')·{\n········return·false;\n····}\n\n····if·(isBlockElement(node,·options))·{\n········return·false;\n····}\n\n····if·(!isNodeWithChildren(node))·{\n········return·false;\n····}\n\n····const·children:·Node[]·=·node.children;\n····if·(children.length·===·0)·{\n········return·true;\n····}\n\n····if·(options.htmlWhitespaceSensitivity·===·'ignore')·{\n········return·false;\n····}\n\n····const·firstChild·=·children[0];\n····return·!isTextNodeStartingWithWhitespace(firstChild);\n}\n\n/**\n·*·Check·if·given·node's·end·tag·should·hug·its·last·child.·This·is·the·case·for·inline·elements·when·there's\n·*·no·whitespace·between·the·last·child·and·the·`</`.\n·*/\nexport·function·shouldHugEnd(\n····node:·Node,\n····isSupportedLanguage:·boolean,\n····options:·ParserOptions,\n):·boolean·{\n····if·(!isSupportedLanguage)·{\n········return·true;\n····}\n\n····if·(node.type·===·'SvelteBoundary')·{\n········return·false;\n····}\n\n····if·(isBlockElement(node,·options))·{\n········return·false;\n····}\n\n····if·(!isNodeWithChildren(node))·{\n········return·false;\n····}\n\n····const·children:·Node[]·=·node.children;\n····if·(children.length·===·0)·{\n········return·true;\n····}\n\n····if·(options.htmlWhitespaceSensitivity·===·'ignore')·{\n········return·false;\n····}\n\n····const·lastChild·=·children[children.length·-·1];\n····return·!isTextNodeEndingWithWhitespace(lastChild);\n}\n\n/**\n·*·Check·for·a·svelte·block·if·there's·whitespace·at·the·start·and·if·it's·a·space·or·a·line.\n·*/\nexport·function·checkWhitespaceAtStartOfSvelteBlock(\n····node:·Node,\n····options:·ParserOptions,\n):·'none'·|·'space'·|·'line'·{\n····if·(!isSvelteBlock(node)·||·!isNodeWithChildren(node))·{\n········return·'none';\n····}\n\n····const·children:·Node[]·=·node.children;\n····if·(children.length·===·0)·{\n········return·'none';\n····}\n\n····const·firstChild·=·children[0];\n\n····if·(isTextNodeStartingWithLinebreak(firstChild))·{\n········return·'line';\n····}·else·if·(isTextNodeStartingWithWhitespace(firstChild))·{\n········return·'space';\n····}\n\n····//·This·extra·check·is·necessary·because·the·Svelte·AST·might·swallow·whitespace·between\n····//·the·block's·starting·end·and·its·first·child.\n····const·parentOpeningEnd·=·options.originalText.lastIndexOf('}',·firstChild.start);\n····if·(parentOpeningEnd·>·0·&&·firstChild.start·>·parentOpeningEnd·+·1)·{\n········const·textBetween·=·options.originalText.substring(parentOpeningEnd·+·1,·firstChild.start);\n········if·(textBetween.trim()·===·'')·{\n············return·startsWithLinebreak(textBetween)·?·'line'·:·'space';\n········}\n····}\n\n····return·'none';\n}\n\n/**\n·*·Check·for·a·svelte·block·if·there's·whitespace·at·the·end·and·if·it's·a·space·or·a·line.\n·*/\nexport·function·checkWhitespaceAtEndOfSvelteBlock(\n····node:·Node,\n····options:·ParserOptions,\n):·'none'·|·'space'·|·'line'·{\n····if·(!isSvelteBlock(node)·||·!isNodeWithChildren(node))·{\n········return·'none';\n····}\n\n····const·children:·Node[]·=·node.children;\n····if·(children.length·===·0)·{\n········return·'none';\n····}\n\n····const·lastChild·=·children[children.length·-·1];\n····if·(isTextNodeEndingWithLinebreak(lastChild))·{\n········return·'line';\n····}·else·if·(isTextNodeEndingWithWhitespace(lastChild))·{\n········return·'space';\n····}\n\n····//·This·extra·check·is·necessary·because·the·Svelte·AST·might·swallow·whitespace·between\n····//·the·last·child·and·the·block's·ending·start.\n····const·parentClosingStart·=·options.originalText.indexOf('{',·lastChild.end);\n····if·(parentClosingStart·>·0·&&·lastChild.end·<·parentClosingStart)·{\n········const·textBetween·=·options.originalText.substring(lastChild.end,·parentClosingStart);\n········if·(textBetween.trim()·===·'')·{\n············return·endsWithLinebreak(textBetween)·?·'line'·:·'space';\n········}\n····}\n\n····return·'none';\n}\n\nexport·function·isInsideQuotedAttribute(path:·FastPath,·options:·ParserOptions):·boolean·{\n····const·stack·=·path.stack·as·Node[];\n\n····return·stack.some(\n········(node)·=>\n············(node.type·===·'Attribute'·||·node.type·===·'StyleDirective')·&&\n············(!isLoneMustacheTag(node.value)·||\n················(options.svelteStrictMode·&&·!options._svelte_is5Plus)),\n····);\n}\n\n/**\n·*·Returns·true·if·the·softline·between·`</tagName`·and·`>`·can·be·omitted.\n·*/\nexport·function·canOmitSoftlineBeforeClosingTag(\n····node:·Node,\n····path:·FastPath,\n····options:·ParserOptions,\n):·boolean·{\n····return·(\n········isBracketSameLine(options)·&&\n········(!hugsStartOfNextNode(node,·options)·||·isLastChildWithinParentBlockElement(path,·options))\n····);\n}\n\n/**\n·*·Return·true·if·given·node·does·not·hug·the·next·node,·meaning·there's·whitespace\n·*·or·the·end·of·the·doc·afterwards.\n·*/\nfunction·hugsStartOfNextNode(node:·Node,·options:·ParserOptions):·boolean·{\n····if·(node.end·===·options.originalText.length)·{\n········//·end·of·document\n········return·false;\n····}\n\n····return·!options.originalText.substring(node.end).match(/^\\s/);\n}\n\nfunction·isLastChildWithinParentBlockElement(path:·FastPath,·options:·ParserOptions):·boolean·{\n····const·parent·=·path.getParentNode()·as·Node·|·undefined;\n····if·(!parent·||·!isBlockElement(parent,·options))·{\n········return·false;\n····}\n\n····const·children·=·getChildren(parent);\n····const·lastChild·=·children[children.length·-·1];\n····return·lastChild·===·path.getNode();\n}\n\nexport·function·assignCommentsToNodes(ast:·ASTNode)·{\n····if·(ast.module)·{\n········ast.module.comments·=·removeAndGetLeadingComments(ast,·ast.module);\n····}\n····if·(ast.instance)·{\n········ast.instance.comments·=·removeAndGetLeadingComments(ast,·ast.instance);\n····}\n····if·(ast.css)·{\n········ast.css.comments·=·removeAndGetLeadingComments(ast,·ast.css);\n····}\n}\n\n/**\n·*·Returns·the·comments·that·are·above·the·current·node·and·deletes·them·from·the·html·ast.\n·*/\nfunction·removeAndGetLeadingComments(ast:·ASTNode,·current:·Node):·CommentInfo[]·{\n····const·siblings·=·getChildren(ast.html);\n····const·comments:·CommentNode[]·=·[];\n····const·newlines:·TextNode[]·=·[];\n\n····if·(!siblings.length)·{\n········return·[];\n····}\n\n····let·node:·Node·=·current;\n····let·prev:·Node·|·undefined·=·siblings.find((child)·=>·child.end·===·node.start);\n····while·(prev)·{\n········if·(\n············prev.type·===·'Comment'·&&\n············!isIgnoreStartDirective(prev)·&&\n············!isIgnoreEndDirective(prev)\n········)·{\n············comments.push(prev);\n············if·(comments.length·!==·newlines.length)·{\n················newlines.push({·type:·'Text',·data:·'',·raw:·'',·start:·-1,·end:·-1·});\n············}\n········}·else·if·(isEmptyTextNode(prev))·{\n············newlines.push(prev);\n········}·else·{\n············break;\n········}\n\n········node·=·prev;\n········prev·=·siblings.find((child)·=>·child.end·===·node.start);\n····}\n\n····newlines.length·=·comments.length;·//·could·be·one·more·if·first·comment·is·preceeded·by·empty·text·node\n\n····for·(const·comment·of·comments)·{\n········siblings.splice(siblings.indexOf(comment),·1);\n····}\n\n····for·(const·text·of·newlines)·{\n········siblings.splice(siblings.indexOf(text),·1);\n····}\n\n····return·comments\n········.map((comment,·i)·=>·({\n············comment,\n············emptyLineAfter:·getUnencodedText(newlines[i]).split('\\n').length·>·2,\n········}))\n········.reverse();\n}\n", | 41 | ········"import·{\n····Node,\n····ElementNode,\n····TextNode,\n····AttributeNode,\n····MustacheTagNode,\n····AttributeShorthandNode,\n····HeadNode,\n····InlineComponentNode,\n····SlotNode,\n····TitleNode,\n····WindowNode,\n····IfBlockNode,\n····AwaitBlockNode,\n····CatchBlockNode,\n····EachBlockNode,\n····ElseBlockNode,\n····KeyBlockNode,\n····PendingBlockNode,\n····ThenBlockNode,\n····CommentNode,\n····SlotTemplateNode,\n····StyleDirectiveNode,\n····ASTNode,\n····CommentInfo,\n····SvelteBoundary,\n}·from·'./nodes';\nimport·{·blockElements,·TagName·}·from·'../lib/elements';\nimport·{·FastPath·}·from·'prettier';\nimport·{·findLastIndex,·isASTNode,·isPreTagContent·}·from·'./helpers';\nimport·{·ParserOptions,·isBracketSameLine·}·from·'../options';\n\nconst·unsupportedLanguages·=·['coffee',·'coffeescript',·'styl',·'stylus',·'sass'];\n\nexport·function·isInlineElement(\n····path:·FastPath,\n····options:·ParserOptions,\n····node:·Node,\n):·node·is·ElementNode·{\n····return·(\n········node·&&·node.type·===·'Element'·&&·!isBlockElement(node,·options)·&&·!isPreTagContent(path)\n····);\n}\n\nexport·function·isBlockElement(node:·Node,·options:·ParserOptions):·node·is·ElementNode·{\n····return·(\n········node·&&\n········node.type·===·'Element'·&&\n········options.htmlWhitespaceSensitivity·!==·'strict'·&&\n········(options.htmlWhitespaceSensitivity·===·'ignore'·||\n············blockElements.includes(node.name·as·TagName))\n····);\n}\n\nexport·function·isSvelteBlock(\n····node:·Node,\n):·node·is\n····|·IfBlockNode\n····|·AwaitBlockNode\n····|·CatchBlockNode\n····|·EachBlockNode\n····|·ElseBlockNode\n····|·KeyBlockNode\n····|·PendingBlockNode\n····|·ThenBlockNode·{\n····return·[\n········'IfBlock',\n········'SnippetBlock',\n········'AwaitBlock',\n········'CatchBlock',\n········'EachBlock',\n········'ElseBlock',\n········'KeyBlock',\n········'PendingBlock',\n········'ThenBlock',\n····].includes(node.type);\n}\n\nexport·function·isNodeWithChildren(node:·Node):·node·is·Node·&·{·children:·Node[]·}·{\n····return·(node·as·any).children;\n}\n\nexport·function·getChildren(node:·Node):·Node[]·{\n····return·isNodeWithChildren(node)·?·node.children·:·[];\n}\n\n/**\n·*·Returns·siblings,·that·is,·the·children·of·the·parent.\n·*/\nexport·function·getSiblings(path:·FastPath):·Node[]·{\n····let·parent:·Node·=·path.getParentNode();\n\n····if·(isASTNode(parent))·{\n········parent·=·parent.html;\n····}\n\n····return·getChildren(parent);\n}\n\n/**\n·*·Returns·the·previous·sibling·node.\n·*/\nexport·function·getPreviousNode(path:·FastPath):·Node·|·undefined·{\n····const·node:·Node·=·path.getNode();\n····return·getSiblings(path).find((child)·=>·child.end·===·node.start);\n}\n\n/**\n·*·Returns·the·next·sibling·node.\n·*/\nexport·function·getNextNode(path:·FastPath,·node:·Node·=·path.getNode()):·Node·|·undefined·{\n····return·getSiblings(path).find((child)·=>·child.start·===·node.end);\n}\n\n/**\n·*·Returns·the·comment·that·is·above·the·current·node.\n·*/\nexport·function·getLeadingComment(path:·FastPath):·CommentNode·|·undefined·{\n····const·siblings·=·getSiblings(path);\n\n····let·node:·Node·=·path.getNode();\n····let·prev:·Node·|·undefined·=·siblings.find((child)·=>·child.end·===·node.start);\n····while·(prev)·{\n········if·(\n············prev.type·===·'Comment'·&&\n············!isIgnoreStartDirective(prev)·&&\n············!isIgnoreEndDirective(prev)\n········)·{\n············return·prev;\n········}·else·if·(isEmptyTextNode(prev))·{\n············node·=·prev;\n············prev·=·siblings.find((child)·=>·child.end·===·node.start);\n········}·else·{\n············return·undefined;\n········}\n····}\n}\n\n/**\n·*·Did·there·use·to·be·any·embedded·object·(that·has·been·snipped·out·of·the·AST·to·be·moved)\n·*·at·the·specified·position?\n·*/\nexport·function·doesEmbedStartAfterNode(node:·Node,·path:·FastPath,·siblings·=·getSiblings(path))·{\n····//·If·node·is·not·at·the·top·level·of·html,·an·embed·cannot·start·after·it,\n····//·because·embeds·are·only·at·the·top·level\n····if·(!isNodeTopLevelHTML(node,·path))·{\n········return·false;\n····}\n\n····const·position·=·node.end;\n····const·root·=·path.stack[0];\n\n····const·embeds·=·[root.css,·root.html,·root.instance,·root.js,·root.module]·as·Node[];\n\n····const·nextNode·=·siblings[siblings.indexOf(node)·+·1];\n····return·embeds.find((n)·=>·n·&&·n.start·>=·position·&&·(!nextNode·||·n.end·<=·nextNode.start));\n}\n\nexport·function·isNodeTopLevelHTML(node:·Node,·path:·FastPath):·boolean·{\n····const·root·=·path.stack[0];\n····return·!!root.html·&&·!!root.html.children·&&·root.html.children.includes(node);\n}\n\nexport·function·isEmptyTextNode(node:·Node·|·undefined):·node·is·TextNode·{\n····return·!!node·&&·node.type·===·'Text'·&&·getUnencodedText(node).trim()·===·'';\n}\n\nexport·function·isIgnoreDirective(node:·Node·|·undefined·|·null):·boolean·{\n····return·!!node·&&·node.type·===·'Comment'·&&·node.data.trim()·===·'prettier-ignore';\n}\n\nexport·function·isIgnoreStartDirective(node:·Node·|·undefined·|·null):·boolean·{\n····return·!!node·&&·node.type·===·'Comment'·&&·node.data.trim()·===·'prettier-ignore-start';\n}\n\nexport·function·isIgnoreEndDirective(node:·Node·|·undefined·|·null):·boolean·{\n····return·!!node·&&·node.type·===·'Comment'·&&·node.data.trim()·===·'prettier-ignore-end';\n}\n\nexport·function·printRaw(\n····node:\n········|·ElementNode\n········|·InlineComponentNode\n········|·SlotNode\n········|·WindowNode\n········|·HeadNode\n········|·TitleNode\n········|·SvelteBoundary\n········|·SlotTemplateNode,\n····originalText:·string,\n····stripLeadingAndTrailingNewline:·boolean·=·false,\n):·string·{\n····if·(node.children.length·===·0)·{\n········return·'';\n····}\n\n····const·firstChild·=·node.children[0];\n····const·lastChild·=·node.children[node.children.length·-·1];\n\n····let·raw·=·originalText.substring(firstChild.start,·lastChild.end);\n\n····if·(!stripLeadingAndTrailingNewline)·{\n········return·raw;\n····}\n\n····if·(startsWithLinebreak(raw))·{\n········raw·=·raw.substring(raw.indexOf('\\n')·+·1);\n····}\n····if·(endsWithLinebreak(raw))·{\n········raw·=·raw.substring(0,·raw.lastIndexOf('\\n'));\n········if·(raw.charAt(raw.length·-·1)·===·'\\r')·{\n············raw·=·raw.substring(0,·raw.length·-·1);\n········}\n····}\n\n····return·raw;\n}\n\nfunction·isTextNode(node:·Node):·node·is·TextNode·{\n····return·node.type·===·'Text';\n}\n\nfunction·getAttributeValue(attributeName:·string,·node:·Node)·{\n····const·attributes·=·((node·as·ElementNode).attributes·??·[])·as·AttributeNode[];\n\n····const·langAttribute·=·attributes.find((attribute)·=>·attribute.name·===·attributeName);\n\n····return·langAttribute·&&·langAttribute.value;\n}\n\nexport·function·getAttributeTextValue(attributeName:·string,·node:·Node):·string·|·null·{\n····const·value·=·getAttributeValue(attributeName,·node);\n\n····if·(value·!=·null·&&·typeof·value·===·'object')·{\n········const·textValue·=·value.find(isTextNode);\n\n········if·(textValue)·{\n············return·textValue.data;\n········}\n····}\n\n····return·null;\n}\n\nfunction·getLangAttribute(node:·Node):·string·|·null·{\n····const·value·=·getAttributeTextValue('lang',·node)·||·getAttributeTextValue('type',·node);\n\n····if·(value·!=·null)·{\n········return·value.replace(/^text\\//,·'');\n····}·else·{\n········return·null;\n····}\n}\n\n/**\n·*·Checks·whether·the·node·contains·a·`lang`·or·`type`·attribute·with·a·value·corresponding·to\n·*·a·language·we·cannot·format.·This·might·for·example·be·`<template·lang=\"pug\">`.\n·*·If·the·node·does·not·contain·a·`lang`·attribute,·the·result·is·true.\n·*/\nexport·function·isNodeSupportedLanguage(node:·Node)·{\n····const·lang·=·getLangAttribute(node);\n\n····return·!(lang·&&·unsupportedLanguages.includes(lang));\n}\n\n/**\n·*·Checks·whether·the·node·contains·a·`lang`·or·`type`·attribute·which·indicates·that\n·*·the·script·contents·are·written·in·TypeScript.·Note·that·the·absence·of·the·tag\n·*·does·not·mean·it's·not·TypeScript,·because·the·user·could·have·set·the·default\n·*·to·TypeScript·in·his·settings.\n·*/\nexport·function·isTypeScript(node:·Node)·{\n····const·lang·=·getLangAttribute(node)·||·'';\n····return·['typescript',·'ts'].includes(lang);\n}\n\nexport·function·isJSON(node:·Node)·{\n····const·lang·=·getLangAttribute(node)·||·'';\n····//·https://github.com/prettier/prettier/pull/6293\n····return·lang.endsWith('json')·||·lang.endsWith('importmap');\n}\n\nexport·function·isLess(node:·Node)·{\n····const·lang·=·getLangAttribute(node)·||·'';\n····return·['less'].includes(lang);\n}\n\nexport·function·isScss(node:·Node)·{\n····const·lang·=·getLangAttribute(node)·||·'';\n····return·['sass',·'scss'].includes(lang);\n}\n\nexport·function·isPugTemplate(node:·Node):·boolean·{\n····return·node.type·===·'Element'·&&·node.name·===·'template'·&&·getLangAttribute(node)·===·'pug';\n}\n\nexport·function·isLoneMustacheTag(node:·true·|·Node[]):·node·is·[MustacheTagNode]·{\n····return·node·!==·true·&&·node.length·===·1·&&·node[0].type·===·'MustacheTag';\n}\n\nexport·function·isAttributeShorthand(node:·true·|·Node[]):·node·is·[AttributeShorthandNode]·{\n····return·node·!==·true·&&·node.length·===·1·&&·node[0].type·===·'AttributeShorthand';\n}\n\n/**\n·*·True·if·node·is·of·type·`{a}`·or·`a={a}`\n·*/\nexport·function·isOrCanBeConvertedToShorthand(node:·AttributeNode·|·StyleDirectiveNode):·boolean·{\n····if·(isAttributeShorthand(node.value))·{\n········return·true;\n····}\n\n····if·(isLoneMustacheTag(node.value))·{\n········const·expression·=·node.value[0].expression;\n········return·expression.type·===·'Identifier'·&&·expression.name·===·node.name;\n····}\n\n····return·false;\n}\n\nexport·function·getUnencodedText(node:·TextNode)·{\n····//·`raw`·will·contain·HTML·entities·in·unencoded·form\n····return·node.raw·||·node.data;\n}\n\nexport·function·isTextNodeStartingWithLinebreak(node:·Node,·nrLines·=·1):·node·is·TextNode·{\n····return·node.type·===·'Text'·&&·startsWithLinebreak(getUnencodedText(node),·nrLines);\n}\n\nexport·function·startsWithLinebreak(text:·string,·nrLines·=·1):·boolean·{\n····return·new·RegExp(`^([\\\\t\\\\f\\\\r·]*\\\\n){${nrLines}}`).test(text);\n}\n\nexport·function·isTextNodeEndingWithLinebreak(node:·Node,·nrLines·=·1):·node·is·TextNode·{\n····return·node.type·===·'Text'·&&·endsWithLinebreak(getUnencodedText(node),·nrLines);\n}\n\nexport·function·endsWithLinebreak(text:·string,·nrLines·=·1):·boolean·{\n····return·new·RegExp(`(\\\\n[\\\\t\\\\f\\\\r·]*){${nrLines}}$`).test(text);\n}\n\nexport·function·isTextNodeStartingWithWhitespace(node:·Node):·node·is·TextNode·{\n····return·node.type·===·'Text'·&&·/^\\s/.test(getUnencodedText(node));\n}\n\nexport·function·isTextNodeEndingWithWhitespace(node:·Node):·node·is·TextNode·{\n····return·node.type·===·'Text'·&&·/\\s$/.test(getUnencodedText(node));\n}\n\nexport·function·trimTextNodeRight(node:·TextNode):·void·{\n····node.raw·=·node.raw·&&·node.raw.trimRight();\n····node.data·=·node.data·&&·node.data.trimRight();\n}\n\nexport·function·trimTextNodeLeft(node:·TextNode):·void·{\n····node.raw·=·node.raw·&&·node.raw.trimLeft();\n····node.data·=·node.data·&&·node.data.trimLeft();\n}\n\n/**\n·*·Remove·all·leading·whitespace·up·until·the·first·non-empty·text·node,\n·*·and·all·trailing·whitespace·from·the·last·non-empty·text·node·onwards.\n·*/\nexport·function·trimChildren(children:·Node[],·path:·FastPath):·void·{\n····let·firstNonEmptyNode·=·children.findIndex(\n········(n)·=>·!isEmptyTextNode(n)·&&·!doesEmbedStartAfterNode(n,·path),\n····);\n····firstNonEmptyNode·=·firstNonEmptyNode·===·-1·?·children.length·-·1·:·firstNonEmptyNode;\n\n····let·lastNonEmptyNode·=·findLastIndex((n,·idx)·=>·{\n········//·Last·node·is·ok·to·end·at·the·start·of·an·embedded·region,\n········//·if·it's·not·a·comment·(which·should·stick·to·the·region)\n········return·(\n············!isEmptyTextNode(n)·&&\n············((idx·===·children.length·-·1·&&·n.type·!==·'Comment')·||\n················!doesEmbedStartAfterNode(n,·path))\n········);\n····},·children);\n····lastNonEmptyNode·=·lastNonEmptyNode·===·-1·?·0·:·lastNonEmptyNode;\n\n····for·(let·i·=·0;·i·<=·firstNonEmptyNode;·i++)·{\n········const·n·=·children[i];\n········if·(n.type·===·'Text')·{\n············trimTextNodeLeft(n);\n········}\n····}\n\n····for·(let·i·=·children.length·-·1;·i·>=·lastNonEmptyNode;·i--)·{\n········const·n·=·children[i];\n········if·(n.type·===·'Text')·{\n············trimTextNodeRight(n);\n········}\n····}\n}\n\n/**\n·*·Check·if·given·node's·start·tag·should·hug·its·first·child.·This·is·the·case·for·inline·elements·when·there's\n·*·no·whitespace·between·the·`>`·and·the·first·child.\n·*/\nexport·function·shouldHugStart(\n····node:·Node,\n····isSupportedLanguage:·boolean,\n····options:·ParserOptions,\n):·boolean·{\n····if·(!isSupportedLanguage)·{\n········return·true;\n····}\n\n····if·(node.type·===·'SvelteBoundary')·{\n········return·false;\n····}\n\n····if·(isBlockElement(node,·options))·{\n········return·false;\n····}\n\n····if·(!isNodeWithChildren(node))·{\n········return·false;\n····}\n\n····const·children:·Node[]·=·node.children;\n····if·(children.length·===·0)·{\n········return·true;\n····}\n\n····if·(options.htmlWhitespaceSensitivity·===·'ignore')·{\n········return·false;\n····}\n\n····const·firstChild·=·children[0];\n····return·!isTextNodeStartingWithWhitespace(firstChild);\n}\n\n/**\n·*·Check·if·given·node's·end·tag·should·hug·its·last·child.·This·is·the·case·for·inline·elements·when·there's\n·*·no·whitespace·between·the·last·child·and·the·`</`.\n·*/\nexport·function·shouldHugEnd(\n····node:·Node,\n····isSupportedLanguage:·boolean,\n····options:·ParserOptions,\n):·boolean·{\n····if·(!isSupportedLanguage)·{\n········return·true;\n····}\n\n····if·(node.type·===·'SvelteBoundary')·{\n········return·false;\n····}\n\n····if·(isBlockElement(node,·options))·{\n········return·false;\n····}\n\n····if·(!isNodeWithChildren(node))·{\n········return·false;\n····}\n\n····const·children:·Node[]·=·node.children;\n····if·(children.length·===·0)·{\n········return·true;\n····}\n\n····if·(options.htmlWhitespaceSensitivity·===·'ignore')·{\n········return·false;\n····}\n\n····const·lastChild·=·children[children.length·-·1];\n····return·!isTextNodeEndingWithWhitespace(lastChild);\n}\n\n/**\n·*·Check·for·a·svelte·block·if·there's·whitespace·at·the·start·and·if·it's·a·space·or·a·line.\n·*/\nexport·function·checkWhitespaceAtStartOfSvelteBlock(\n····node:·Node,\n····options:·ParserOptions,\n):·'none'·|·'space'·|·'line'·{\n····if·(!isSvelteBlock(node)·||·!isNodeWithChildren(node))·{\n········return·'none';\n····}\n\n····const·children:·Node[]·=·node.children;\n····if·(children.length·===·0)·{\n········return·'none';\n····}\n\n····const·firstChild·=·children[0];\n\n····if·(isTextNodeStartingWithLinebreak(firstChild))·{\n········return·'line';\n····}·else·if·(isTextNodeStartingWithWhitespace(firstChild))·{\n········return·'space';\n····}\n\n····//·This·extra·check·is·necessary·because·the·Svelte·AST·might·swallow·whitespace·between\n····//·the·block's·starting·end·and·its·first·child.\n····const·parentOpeningEnd·=·options.originalText.lastIndexOf('}',·firstChild.start);\n····if·(parentOpeningEnd·>·0·&&·firstChild.start·>·parentOpeningEnd·+·1)·{\n········const·textBetween·=·options.originalText.substring(parentOpeningEnd·+·1,·firstChild.start);\n········if·(textBetween.trim()·===·'')·{\n············return·startsWithLinebreak(textBetween)·?·'line'·:·'space';\n········}\n····}\n\n····return·'none';\n}\n\n/**\n·*·Check·for·a·svelte·block·if·there's·whitespace·at·the·end·and·if·it's·a·space·or·a·line.\n·*/\nexport·function·checkWhitespaceAtEndOfSvelteBlock(\n····node:·Node,\n····options:·ParserOptions,\n):·'none'·|·'space'·|·'line'·{\n····if·(!isSvelteBlock(node)·||·!isNodeWithChildren(node))·{\n········return·'none';\n····}\n\n····const·children:·Node[]·=·node.children;\n····if·(children.length·===·0)·{\n········return·'none';\n····}\n\n····const·lastChild·=·children[children.length·-·1];\n····if·(isTextNodeEndingWithLinebreak(lastChild))·{\n········return·'line';\n····}·else·if·(isTextNodeEndingWithWhitespace(lastChild))·{\n········return·'space';\n····}\n\n····//·This·extra·check·is·necessary·because·the·Svelte·AST·might·swallow·whitespace·between\n····//·the·last·child·and·the·block's·ending·start.\n····const·parentClosingStart·=·options.originalText.indexOf('{',·lastChild.end);\n····if·(parentClosingStart·>·0·&&·lastChild.end·<·parentClosingStart)·{\n········const·textBetween·=·options.originalText.substring(lastChild.end,·parentClosingStart);\n········if·(textBetween.trim()·===·'')·{\n············return·endsWithLinebreak(textBetween)·?·'line'·:·'space';\n········}\n····}\n\n····return·'none';\n}\n\nexport·function·isInsideQuotedAttribute(path:·FastPath,·options:·ParserOptions):·boolean·{\n····const·stack·=·path.stack·as·Node[];\n\n····return·stack.some(\n········(node)·=>\n············(node.type·===·'Attribute'·||·node.type·===·'StyleDirective')·&&\n············(!isLoneMustacheTag(node.value)·||\n················(options.svelteStrictMode·&&·!options._svelte_is5Plus)),\n····);\n}\n\n/**\n·*·Returns·true·if·the·softline·between·`</tagName`·and·`>`·can·be·omitted.\n·*/\nexport·function·canOmitSoftlineBeforeClosingTag(\n····node:·Node,\n····path:·FastPath,\n····options:·ParserOptions,\n):·boolean·{\n····return·(\n········isBracketSameLine(options)·&&\n········(!hugsStartOfNextNode(node,·options)·||·isLastChildWithinParentBlockElement(path,·options))\n····);\n}\n\n/**\n·*·Return·true·if·given·node·does·not·hug·the·next·node,·meaning·there's·whitespace\n·*·or·the·end·of·the·doc·afterwards.\n·*/\nfunction·hugsStartOfNextNode(node:·Node,·options:·ParserOptions):·boolean·{\n····if·(node.end·===·options.originalText.length)·{\n········//·end·of·document\n········return·false;\n····}\n\n····return·!options.originalText.substring(node.end).match(/^\\s/);\n}\n\nfunction·isLastChildWithinParentBlockElement(path:·FastPath,·options:·ParserOptions):·boolean·{\n····const·parent·=·path.getParentNode()·as·Node·|·undefined;\n····if·(!parent·||·!isBlockElement(parent,·options))·{\n········return·false;\n····}\n\n····const·children·=·getChildren(parent);\n····const·lastChild·=·children[children.length·-·1];\n····return·lastChild·===·path.getNode();\n}\n\nexport·function·assignCommentsToNodes(ast:·ASTNode)·{\n····if·(ast.module)·{\n········ast.module.comments·=·removeAndGetLeadingComments(ast,·ast.module);\n····}\n····if·(ast.instance)·{\n········ast.instance.comments·=·removeAndGetLeadingComments(ast,·ast.instance);\n····}\n····if·(ast.css)·{\n········ast.css.comments·=·removeAndGetLeadingComments(ast,·ast.css);\n····}\n}\n\n/**\n·*·Returns·the·comments·that·are·above·the·current·node·and·deletes·them·from·the·html·ast.\n·*/\nfunction·removeAndGetLeadingComments(ast:·ASTNode,·current:·Node):·CommentInfo[]·{\n····const·siblings·=·getChildren(ast.html);\n····const·comments:·CommentNode[]·=·[];\n····const·newlines:·TextNode[]·=·[];\n\n····if·(!siblings.length)·{\n········return·[];\n····}\n\n····let·node:·Node·=·current;\n····let·prev:·Node·|·undefined·=·siblings.find((child)·=>·child.end·===·node.start);\n····while·(prev)·{\n········if·(\n············prev.type·===·'Comment'·&&\n············!isIgnoreStartDirective(prev)·&&\n············!isIgnoreEndDirective(prev)\n········)·{\n············comments.push(prev);\n············if·(comments.length·!==·newlines.length)·{\n················newlines.push({·type:·'Text',·data:·'',·raw:·'',·start:·-1,·end:·-1·});\n············}\n········}·else·if·(isEmptyTextNode(prev))·{\n············newlines.push(prev);\n········}·else·{\n············break;\n········}\n\n········node·=·prev;\n········prev·=·siblings.find((child)·=>·child.end·===·node.start);\n····}\n\n····newlines.length·=·comments.length;·//·could·be·one·more·if·first·comment·is·preceeded·by·empty·text·node\n\n····for·(const·comment·of·comments)·{\n········siblings.splice(siblings.indexOf(comment),·1);\n····}\n\n····for·(const·text·of·newlines)·{\n········siblings.splice(siblings.indexOf(text),·1);\n····}\n\n····return·comments\n········.map((comment,·i)·=>·({\n············comment,\n············emptyLineAfter:·getUnencodedText(newlines[i]).split('\\n').length·>·2,\n········}))\n········.reverse();\n}\n", |
| 41 | ········"import·{·Doc,·doc,·FastPath·}·from·'prettier';\nimport·{·formattableAttributes,·selfClosingTags·}·from·'../lib/elements';\nimport·{·hasSnippedContent,·unsnipContent·}·from·'../lib/snipTagContent';\nimport·{·isBracketSameLine,·ParserOptions,·parseSortOrder,·SortOrderPart·}·from·'../options';\nimport·{·isEmptyDoc,·isLine,·trim,·trimRight·}·from·'./doc-helpers';\nimport·{\n····flatten,\n····getAttributeLine,\n····isASTNode,\n····isPreTagContent,\n····printWithPrependedAttributeLine,\n····replaceEndOfLineWith,\n}·from·'./helpers';\nimport·{\n····canOmitSoftlineBeforeClosingTag,\n····checkWhitespaceAtEndOfSvelteBlock,\n····checkWhitespaceAtStartOfSvelteBlock,\n····doesEmbedStartAfterNode,\n····endsWithLinebreak,\n····getChildren,\n····getNextNode,\n····getUnencodedText,\n····isBlockElement,\n····isEmptyTextNode,\n····isIgnoreDirective,\n····isIgnoreEndDirective,\n····isIgnoreStartDirective,\n····isInlineElement,\n····isLoneMustacheTag,\n····isNodeSupportedLanguage,\n····isNodeTopLevelHTML,\n····isOrCanBeConvertedToShorthand,\n····isTextNodeEndingWithLinebreak,\n····isTextNodeEndingWithWhitespace,\n····isTextNodeStartingWithLinebreak,\n····isTextNodeStartingWithWhitespace,\n····printRaw,\n····shouldHugEnd,\n····shouldHugStart,\n····startsWithLinebreak,\n····trimChildren,\n····trimTextNodeLeft,\n····trimTextNodeRight,\n}·from·'./node-helpers';\nimport·{\n····ASTNode,\n····AttributeNode,\n····CommentNode,\n····IfBlockNode,\n····Node,\n····OptionsNode,\n····StyleDirectiveNode,\n····TextNode,\n}·from·'./nodes';\n\nconst·{·join,·line,·group,·indent,·dedent,·softline,·hardline,·fill,·breakParent,·literalline·}·=\n····doc.builders;\n\nexport·type·PrintFn·=·(path:·FastPath)·=>·Doc;\n\ndeclare·module·'prettier'·{\n····export·namespace·doc·{\n········namespace·builders·{\n············interface·Line·{\n················keepIfLonely?:·boolean;\n············}\n········}\n····}\n}\n\nexport·function·hasPragma(text:·string)·{\n····return·/^\\s*<!--\\s*@(format|prettier)\\W/.test(text);\n}\n\nlet·ignoreNext·=·false;\nlet·ignoreRange·=·false;\nlet·svelteOptionsDoc:·Doc·|·undefined;\n\nexport·function·print(path:·FastPath,·options:·ParserOptions,·print:·PrintFn):·Doc·{\n····const·bracketSameLine·=·isBracketSameLine(options);\n\n····const·n·=·path.getValue();\n····if·(!n)·{\n········return·'';\n····}\n\n····if·(isASTNode(n))·{\n········return·printTopLevelParts(n,·options,·path,·print);\n····}\n\n····const·[open,·close]·=\n········options.svelteStrictMode·&&·!options._svelte_is5Plus·?·['\"{',·'}\"']·:·['{',·'}'];\n····const·printJsExpression·=·()·=>·[open,·printJS(path,·print,·'expression'),·close];\n····const·node·=·n·as·Node;\n\n····if·(\n········(ignoreNext·||·(ignoreRange·&&·!isIgnoreEndDirective(node)))·&&\n········(node.type·!==·'Text'·||·!isEmptyTextNode(node))\n····)·{\n········if·(ignoreNext)·{\n············ignoreNext·=·false;\n········}\n········return·flatten(\n············options.originalText\n················.slice(options.locStart(node),·options.locEnd(node))\n················.split('\\n')\n················.map((o,·i)·=>·(i·==·0·?·[o]·:·[literalline,·o])),\n········);\n····}\n\n····switch·(node.type)·{\n········case·'Fragment':\n············const·children·=·node.children;\n\n············if·(children.length·===·0·||·children.every(isEmptyTextNode))·{\n················return·'';\n············}\n············if·(!isPreTagContent(path))·{\n················trimChildren(node.children,·path);\n················const·output·=·trim(\n····················[printChildren(path,·print,·options)],\n····················(n)·=>\n························isLine(n)·||\n························(typeof·n·===·'string'·&&·n.trim()·===·'')·||\n························//·Because·printChildren·may·append·this·at·the·end·and\n························//·may·hide·other·lines·before·it\n························n·===·breakParent,\n················);\n················if·(output.every((doc)·=>·isEmptyDoc(doc)))·{\n····················return·'';\n················}\n················return·group([...output,·hardline]);\n············}·else·{\n················return·group(path.map(print,·'children'));\n············}\n········case·'Text':\n············if·(!isPreTagContent(path))·{\n················if·(isEmptyTextNode(node))·{\n····················const·hasWhiteSpace·=\n························getUnencodedText(node).trim().length·<·getUnencodedText(node).length;\n····················const·hasOneOrMoreNewlines·=·/\\n/.test(getUnencodedText(node));\n····················const·hasTwoOrMoreNewlines·=·/\\n\\r?\\s*\\n\\r?/.test(getUnencodedText(node));\n····················if·(hasTwoOrMoreNewlines)·{\n························return·[hardline,·hardline];\n····················}\n····················if·(hasOneOrMoreNewlines)·{\n························return·hardline;\n····················}\n····················if·(hasWhiteSpace)·{\n························return·line;\n····················}\n····················return·'';\n················}\n\n················/**\n·················*·For·non-empty·text·nodes·each·sequence·of·non-whitespace·characters·(effectively,\n·················*·each·\"word\")·is·joined·by·a·single·`line`,·which·will·be·rendered·as·a·single·space\n·················*·until·this·node's·current·line·is·out·of·room,·at·which·`fill`·will·break·at·the\n·················*·most·convenient·instance·of·`line`.\n·················*/\n················return·fill(splitTextToDocs(node));\n············}·else·{\n················let·rawText·=·getUnencodedText(node);\n················const·parent·=·path.getParentNode();\n················if·(parent.type·===·'Attribute')·{\n····················//·Direct·child·of·attribute·value·->·add·literallines·at·end·of·lines\n····················//·so·that·other·things·don't·break·in·unexpected·places\n····················if·(parent.name·===·'class'·&&·path.getParentNode(1).type·===·'Element')·{\n························//·Special·treatment·for·class·attribute·on·html·elements.·Prettier\n························//·will·force·everything·into·one·line,·we·deviate·from·that·and·preserve·lines.\n························rawText·=·rawText.replace(\n····························/([^·\\t\\n])(([·\\t]+$)|([·\\t]+(\\r?\\n))|[·\\t]+)/g,\n····························//·Remove·trailing·whitespace·in·lines·with·non-whitespace·characters\n····························//·except·at·the·end·of·the·string\n····························(\n································match,\n································characterBeforeWhitespace,\n································_,\n································isEndOfString,\n································isEndOfLine,\n································endOfLine,\n····························)·=>\n································isEndOfString\n····································?·match\n····································:·characterBeforeWhitespace·+·(isEndOfLine·?·endOfLine·:·'·'),\n························);\n························//·Shrink·trailing·whitespace·in·case·it's·followed·by·a·mustache·tag\n························//·and·remove·it·completely·if·it's·at·the·end·of·the·string,·but·not\n························//·if·it's·on·its·own·line\n························rawText·=·rawText.replace(\n····························/([^·\\t\\n])[·\\t]+$/,\n····························parent.value.indexOf(node)·===·parent.value.length·-·1·?·'$1'·:·'$1·',\n························);\n····················}\n····················return·replaceEndOfLineWith(rawText,·literalline);\n················}\n················return·rawText;\n············}\n········case·'Element':\n········case·'InlineComponent':\n········case·'Slot':\n········case·'SlotTemplate':\n········case·'Window':\n········case·'Head':\n········//·Svelte·5·only\n········case·'SvelteBoundary':\n········case·'Title':·{\n············const·isSupportedLanguage·=·!(\n················node.name·===·'template'·&&·!isNodeSupportedLanguage(node)\n············);\n············const·isEmpty·=·node.children.every((child)·=>·isEmptyTextNode(child));\n············const·isDoctypeTag·=·node.name.toUpperCase()·===·'!DOCTYPE';\n············const·didSelfClose·=·options.originalText[node.end·-·2]·===·'/';\n\n············const·isSelfClosingTag·=\n················isEmpty·&&\n················((((node.type·===·'Element'·&&·!options.svelteStrictMode)·||\n····················node.type·===·'Head'·||\n····················node.type·===·'InlineComponent'·||\n····················node.type·===·'Slot'·||\n····················node.type·===·'SlotTemplate'·||\n····················node.type·===·'SvelteBoundary'·||\n····················node.type·===·'Title')·&&\n····················didSelfClose)·||\n····················node.type·===·'Window'·||\n····················selfClosingTags.indexOf(node.name)·!==·-1·||\n····················isDoctypeTag);\n\n············//·Order·important:·print·attributes·first\n············const·attributes·=·path.map(\n················printWithPrependedAttributeLine(node,·options,·print),\n················'attributes',\n············);\n············const·attributeLine·=·getAttributeLine(node,·options);\n············const·possibleThisBinding·=\n················node.type·===·'InlineComponent'·&&·node.expression\n····················?·[attributeLine,·'this=',·...printJsExpression()]\n····················:·node.type·===·'Element'·&&·node.tag\n····················?·[\n··························attributeLine,\n··························'this=',\n··························...(typeof·node.tag·===·'string'\n······························?·[`\"${node.tag}\"`]\n······························:·[open,·printJS(path,·print,·'tag'),·close]),\n······················]\n····················:·'';\n\n············if·(isSelfClosingTag)·{\n················return·group([\n····················'<',\n····················node.name,\n\n····················indent(\n························group([\n····························possibleThisBinding,\n····························...attributes,\n····························bracketSameLine·||·isDoctypeTag·?·''·:·dedent(line),\n························]),\n····················),\n\n····················...[bracketSameLine·&&·!isDoctypeTag·?·'·'·:·'',·`${isDoctypeTag·?·''·:·'/'}>`],\n················]);\n············}\n\n············const·children·=·node.children;\n············const·firstChild·=·children[0];\n············const·lastChild·=·children[children.length·-·1];\n\n············//·Is·a·function·which·is·invoked·later·because·printChildren·will·manipulate·child·nodes\n············//·which·would·wrongfully·change·the·other·checks·about·hugging·etc·done·beforehand\n············let·body:·()·=>·Doc;\n\n············const·hugStart·=·shouldHugStart(node,·isSupportedLanguage,·options);\n············const·hugEnd·=·shouldHugEnd(node,·isSupportedLanguage,·options);\n\n············if·(isEmpty)·{\n················body·=\n····················isInlineElement(path,·options,·node)·&&\n····················node.children.length·&&\n····················isTextNodeStartingWithWhitespace(node.children[0])·&&\n····················!isPreTagContent(path)\n························?·()·=>·line\n························:·()·=>·(bracketSameLine·?·softline·:·'');\n············}·else·if·(isPreTagContent(path))·{\n················body·=·()·=>·printPre(node,·options.originalText,·path,·print);\n············}·else·if·(!isSupportedLanguage)·{\n················body·=·()·=>·printRaw(node,·options.originalText,·true);\n············}·else·if·(isInlineElement(path,·options,·node)·&&·!isPreTagContent(path))·{\n················body·=·()·=>·printChildren(path,·print,·options);\n············}·else·{\n················body·=·()·=>·printChildren(path,·print,·options);\n············}\n\n············const·openingTag·=·[\n················'<',\n················node.name,\n\n················indent(\n····················group([\n························possibleThisBinding,\n························...attributes,\n························hugStart·&&·!isEmpty\n····························?·''\n····························:·!bracketSameLine·&&·!isPreTagContent(path)\n····························?·dedent(softline)\n····························:·'',\n····················]),\n················),\n············];\n\n············if·(!isSupportedLanguage·&&·!isEmpty)·{\n················//·Format·template·tags·so·that·there's·a·hardline·but·no·indention.\n················//·That·way·the·`lang=\"X\"`·and·the·closing·`>`·of·the·start·tag·stay·in·one·line\n················//·which·is·the·99%·use·case.\n················return·group([\n····················...openingTag,\n····················'>',\n····················group([hardline,·body(),·hardline]),\n····················`</${node.name}>`,\n················]);\n············}\n\n············if·(hugStart·&&·hugEnd)·{\n················const·huggedContent·=·[softline,·group(['>',·body(),·`</${node.name}`])];\n················const·omitSoftlineBeforeClosingTag·=\n····················(isEmpty·&&·!bracketSameLine)·||\n····················canOmitSoftlineBeforeClosingTag(node,·path,·options);\n················return·group([\n····················...openingTag,\n····················isEmpty·?·group(huggedContent)·:·group(indent(huggedContent)),\n····················omitSoftlineBeforeClosingTag·?·''·:·softline,\n····················'>',\n················]);\n············}\n\n············//·No·hugging·of·content·means·it's·either·a·block·element·and/or·there's·whitespace·at·the·start/end\n············let·noHugSeparatorStart:·Doc·=·softline;\n············let·noHugSeparatorEnd:·Doc·=·softline;\n············if·(isPreTagContent(path))·{\n················noHugSeparatorStart·=·'';\n················noHugSeparatorEnd·=·'';\n············}·else·{\n················let·didSetEndSeparator·=·false;\n\n················if·(!hugStart·&&·firstChild·&&·firstChild.type·===·'Text')·{\n····················if·(\n························isTextNodeStartingWithLinebreak(firstChild)·&&\n························firstChild·!==·lastChild·&&\n························(!isInlineElement(path,·options,·node)·||\n····························isTextNodeEndingWithWhitespace(lastChild))\n····················)·{\n························noHugSeparatorStart·=·hardline;\n························noHugSeparatorEnd·=·hardline;\n························didSetEndSeparator·=·true;\n····················}·else·if·(isInlineElement(path,·options,·node))·{\n························noHugSeparatorStart·=·line;\n····················}\n····················trimTextNodeLeft(firstChild);\n················}\n················if·(!hugEnd·&&·lastChild·&&·lastChild.type·===·'Text')·{\n····················if·(isInlineElement(path,·options,·node)·&&·!didSetEndSeparator)·{\n························noHugSeparatorEnd·=·line;\n····················}\n····················trimTextNodeRight(lastChild);\n················}\n············}\n\n············if·(hugStart)·{\n················return·group([\n····················...openingTag,\n····················indent([softline,·group(['>',·body()])]),\n····················noHugSeparatorEnd,\n····················`</${node.name}>`,\n················]);\n············}\n\n············if·(hugEnd)·{\n················return·group([\n····················...openingTag,\n····················'>',\n····················indent([noHugSeparatorStart,·group([body(),·`</${node.name}`])]),\n····················canOmitSoftlineBeforeClosingTag(node,·path,·options)·?·''·:·softline,\n····················'>',\n················]);\n············}\n\n············if·(isEmpty)·{\n················return·group([...openingTag,·'>',·body(),·`</${node.name}>`]);\n············}\n\n············return·group([\n················...openingTag,\n················'>',\n················indent([noHugSeparatorStart,·body()]),\n················noHugSeparatorEnd,\n················`</${node.name}>`,\n············]);\n········}\n········case·'Options':\n············if·(options.svelteSortOrder·!==·'none')·{\n················throw·new·Error('Options·tags·should·have·been·handled·by·prepareChildren');\n············}\n········//·else·fall·through·to·Body\n········case·'Body':\n········case·'Document':\n········//·Svelte·5·only\n········case·'SvelteHTML':\n············return·group([\n················'<',\n················node.name,\n················indent(\n····················group([\n························...path.map(\n····························printWithPrependedAttributeLine(node,·options,·print),\n····························'attributes',\n························),\n························bracketSameLine·?·''·:·dedent(line),\n····················]),\n················),\n················...[bracketSameLine·?·'·'·:·'',·'/>'],\n············]);\n········case·'Identifier':\n············return·node.name;\n········case·'AttributeShorthand':·{\n············return·(node.expression·as·any).name;\n········}\n········case·'Attribute':·{\n············if·(isOrCanBeConvertedToShorthand(node))·{\n················if·(options.svelteAllowShorthand)·{\n····················return·['{',·node.name,·'}'];\n················}·else·{\n····················return·[node.name,·`=${open}`,·node.name,·close];\n················}\n············}·else·{\n················if·(node.value·===·true)·{\n····················return·[node.name];\n················}\n\n················const·quotes·=\n····················!isLoneMustacheTag(node.value)·||\n····················((options.svelteStrictMode·&&·!options._svelte_is5Plus)·??·false);\n················const·attrNodeValue·=·printAttributeNodeValue(path,·print,·quotes,·node);\n················if·(quotes)·{\n····················return·[node.name,·'=',·'\"',·attrNodeValue,·'\"'];\n················}·else·{\n····················return·[node.name,·'=',·attrNodeValue];\n················}\n············}\n········}\n········case·'MustacheTag':\n············return·['{',·printJS(path,·print,·'expression'),·'}'];\n········case·'IfBlock':·{\n············const·def:·Doc[]·=·[\n················'{#if·',\n················printJS(path,·print,·'expression'),\n················'}',\n················printSvelteBlockChildren(path,·print,·options),\n············];\n\n············if·(node.else)·{\n················def.push(path.call(print,·'else'));\n············}\n\n············def.push('{/if}');\n\n············return·group([def,·breakParent]);\n········}\n········case·'ElseBlock':·{\n············//·Else·if\n············const·parent·=·path.getParentNode()·as·Node;\n\n············if·(\n················node.children.length·===·1·&&\n················node.children[0].type·===·'IfBlock'·&&\n················parent.type·!==·'EachBlock'\n············)·{\n················const·ifNode·=·node.children[0]·as·IfBlockNode;\n················const·def:·Doc[]·=·[\n····················'{:else·if·',\n····················path.map((ifPath)·=>·printJS(ifPath,·print,·'expression'),·'children')[0],\n····················'}',\n····················path.map(\n························(ifPath)·=>·printSvelteBlockChildren(ifPath,·print,·options),\n························'children',\n····················)[0],\n················];\n\n················if·(ifNode.else)·{\n····················def.push(\n························path.map(\n····························(ifPath:·FastPath<any>)·=>·ifPath.call(print,·'else'),\n····························'children',\n························)[0],\n····················);\n················}\n················return·def;\n············}\n\n············return·['{:else}',·printSvelteBlockChildren(path,·print,·options)];\n········}\n········case·'EachBlock':·{\n············const·def:·Doc[]·=·['{#each·',·printJS(path,·print,·'expression')];\n\n············if·(node.context)·{\n················def.push('·as',·expandNode(node.context,·options.originalText));\n············}\n\n············if·(node.index)·{\n················def.push(',·',·node.index);\n············}\n\n············if·(node.key)·{\n················def.push('·(',·printJS(path,·print,·'key'),·')');\n············}\n\n············def.push('}',·printSvelteBlockChildren(path,·print,·options));\n\n············if·(node.else)·{\n················def.push(path.call(print,·'else'));\n············}\n\n············def.push('{/each}');\n\n············return·group([def,·breakParent]);\n········}\n········case·'AwaitBlock':·{\n············const·hasPendingBlock·=·node.pending.children.some((n)·=>·!isEmptyTextNode(n));\n············const·hasThenBlock·=·node.then.children.some((n)·=>·!isEmptyTextNode(n));\n············const·hasCatchBlock·=·node.catch.children.some((n)·=>·!isEmptyTextNode(n));\n\n············let·block·=·[];\n\n············if·(!hasPendingBlock·&&·hasThenBlock)·{\n················block.push(\n····················group([\n························'{#await·',\n························printJS(path,·print,·'expression'),\n························'·then',\n························expandNode(node.value,·options.originalText),\n························'}',\n····················]),\n····················path.call(print,·'then'),\n················);\n············}·else·if·(!hasPendingBlock·&&·hasCatchBlock)·{\n················block.push(\n····················group([\n························'{#await·',\n························printJS(path,·print,·'expression'),\n························'·catch',\n························expandNode(node.error,·options.originalText),\n························'}',\n····················]),\n····················path.call(print,·'catch'),\n················);\n············}·else·{\n················block.push(group(['{#await·',·printJS(path,·print,·'expression'),·'}']));\n\n················if·(hasPendingBlock)·{\n····················block.push(path.call(print,·'pending'));\n················}\n\n················if·(hasThenBlock)·{\n····················block.push(\n························group(['{:then',·expandNode(node.value,·options.originalText),·'}']),\n························path.call(print,·'then'),\n····················);\n················}\n············}\n\n············if·((hasPendingBlock·||·hasThenBlock)·&&·hasCatchBlock)·{\n················block.push(\n····················group(['{:catch',·expandNode(node.error,·options.originalText),·'}']),\n····················path.call(print,·'catch'),\n················);\n············}\n\n············block.push('{/await}');\n\n············return·group(block);\n········}\n········case·'KeyBlock':·{\n············const·def:·Doc[]·=·[\n················'{#key·',\n················printJS(path,·print,·'expression'),\n················'}',\n················printSvelteBlockChildren(path,·print,·options),\n············];\n\n············def.push('{/key}');\n\n············return·group([def,·breakParent]);\n········}\n········case·'ThenBlock':\n········case·'PendingBlock':\n········case·'CatchBlock':\n············return·printSvelteBlockChildren(path,·print,·options);\n········//·Svelte·5·only\n········case·'SnippetBlock':·{\n············const·snippet·=·['{#snippet·',·printJS(path,·print,·'expression')];\n············snippet.push('}',·printSvelteBlockChildren(path,·print,·options),·'{/snippet}');\n············return·snippet;\n········}\n········case·'EventHandler':\n············return·[\n················'on:',\n················node.name,\n················node.modifiers·&&·node.modifiers.length·?·['|',·join('|',·node.modifiers)]·:·'',\n················node.expression·?·['=',·...printJsExpression()]·:·'',\n············];\n········case·'Binding':\n············return·[\n················'bind:',\n················node.name,\n················node.expression.type·===·'Identifier'·&&\n················node.expression.name·===·node.name·&&\n················options.svelteAllowShorthand\n····················?·''\n····················:·['=',·...printJsExpression()],\n············];\n········case·'Class':\n············return·[\n················'class:',\n················node.name,\n················node.expression.type·===·'Identifier'·&&\n················node.expression.name·===·node.name·&&\n················options.svelteAllowShorthand\n····················?·''\n····················:·['=',·...printJsExpression()],\n············];\n········case·'StyleDirective':\n············const·prefix·=·[\n················'style:',\n················node.name,\n················node.modifiers·&&·node.modifiers.length·?·['|',·join('|',·node.modifiers)]·:·'',\n············];\n\n············if·(isOrCanBeConvertedToShorthand(node)·||·node.value·===·true)·{\n················if·(options.svelteAllowShorthand)·{\n····················return·[...prefix];\n················}·else·{\n····················return·[...prefix,·`=${open}`,·node.name,·close];\n················}\n············}·else·{\n················const·quotes·=\n····················!isLoneMustacheTag(node.value)·||\n····················((options.svelteStrictMode·&&·!options._svelte_is5Plus)·??·false);\n················const·attrNodeValue·=·printAttributeNodeValue(path,·print,·quotes,·node);\n················if·(quotes)·{\n····················return·[...prefix,·'=',·'\"',·attrNodeValue,·'\"'];\n················}·else·{\n····················return·[...prefix,·'=',·attrNodeValue];\n················}\n············}\n········case·'Let':\n············return·[\n················'let:',\n················node.name,\n················//·shorthand·let·directives·have·`null`·expressions\n················!node.expression·||\n················(node.expression.type·===·'Identifier'·&&·node.expression.name·===·node.name)\n····················?·''\n····················:·['=',·...printJsExpression()],\n············];\n········case·'DebugTag':\n············return·[\n················'{@debug',\n················node.identifiers.length·>·0\n····················?·['·',·join(',·',·path.map(print,·'identifiers'))]\n····················:·'',\n················'}',\n············];\n········case·'Ref':\n············return·['ref:',·node.name];\n········case·'Comment':·{\n············const·nodeAfterComment·=·getNextNode(path);\n\n············if·(isIgnoreStartDirective(node)·&&·isNodeTopLevelHTML(node,·path))·{\n················ignoreRange·=·true;\n············}·else·if·(isIgnoreEndDirective(node)·&&·isNodeTopLevelHTML(node,·path))·{\n················ignoreRange·=·false;\n············}·else·if·(\n················//·If·there·is·no·sibling·node·that·starts·right·after·us·but·the·parent·indicates\n················//·that·there·used·to·be,·that·means·that·node·was·actually·an·embedded·`<style>`\n················//·or·`<script>`·node·that·was·cut·out.\n················//·If·so,·the·comment·does·not·refer·to·the·next·line·we·will·see.\n················//·The·`embed`·function·handles·printing·the·comment·in·the·right·place.\n················doesEmbedStartAfterNode(node,·path)·||\n················(isEmptyTextNode(nodeAfterComment)·&&\n····················doesEmbedStartAfterNode(nodeAfterComment,·path))\n············)·{\n················return·'';\n············}·else·if·(isIgnoreDirective(node))·{\n················ignoreNext·=·true;\n············}\n\n············return·printComment(node);\n········}\n········case·'Transition':\n············const·kind·=·node.intro·&&·node.outro·?·'transition'·:·node.intro·?·'in'·:·'out';\n············return·[\n················kind,\n················':',\n················node.name,\n················node.modifiers·&&·node.modifiers.length·?·['|',·join('|',·node.modifiers)]·:·'',\n················node.expression·?·['=',·...printJsExpression()]·:·'',\n············];\n········case·'Action':\n············return·['use:',·node.name,·node.expression·?·['=',·...printJsExpression()]·:·''];\n········case·'Animation':\n············return·['animate:',·node.name,·node.expression·?·['=',·...printJsExpression()]·:·''];\n········case·'RawMustacheTag':\n············return·['{@html·',·printJS(path,·print,·'expression'),·'}'];\n········//·Svelte·5·only\n········case·'RenderTag':\n············return·['{@render·',·printJS(path,·print,·'expression'),·'}'];\n········//·Svelte·5·only\n········case·'AttachTag':\n············return·['{@attach·',·printJS(path,·print,·'expression'),·'}'];\n········case·'Spread':\n············return·['{...',·printJS(path,·print,·'expression'),·'}'];\n········case·'ConstTag':\n············return·['{@const·',·printJS(path,·print,·'expression'),·'}'];\n····}\n\n····console.error(JSON.stringify(node,·null,·4));\n····throw·new·Error('unknown·node·type:·'·+·node.type);\n}\n\nfunction·printTopLevelParts(\n····n:·ASTNode,\n····options:·ParserOptions,\n····path:·FastPath<any>,\n····print:·PrintFn,\n):·Doc·{\n····if·(options.svelteSortOrder·===·'none')·{\n········const·topLevelPartsByEnd:·Record<number,·any>·=·{};\n········const·topLevelPartsByStart:·Record<number,·any>·=·{};\n\n········if·(n.module)·{\n············topLevelPartsByEnd[n.module.end]·=·n.module;\n············topLevelPartsByStart[n.module.start]·=·n.module;\n········}\n········if·(n.instance)·{\n············topLevelPartsByEnd[n.instance.end]·=·n.instance;\n············topLevelPartsByStart[n.instance.start]·=·n.instance;\n········}\n········if·(n.css)·{\n············topLevelPartsByEnd[n.css.end]·=·n.css;\n············topLevelPartsByStart[n.css.start]·=·n.css;\n········}\n\n········const·children·=·getChildren(n.html);\n········for·(let·i·=·0;·i·<·children.length;·i++)·{\n············const·node·=·children[i];\n············if·(topLevelPartsByEnd[node.start])·{\n················children.splice(i,·0,·topLevelPartsByEnd[node.start]);\n················delete·topLevelPartsByEnd[node.start];\n············}·else·if·(i·===·children.length·-·1·&&·topLevelPartsByStart[node.end])·{\n················children.push(topLevelPartsByStart[node.end]);\n············}\n········}\n\n········const·result·=·path.call(print,·'html');\n········if·(options.insertPragma·&&·!hasPragma(options.originalText))·{\n············return·[`<!--·@format·-->`,·hardline,·result];\n········}·else·{\n············return·result;\n········}\n····}\n\n····const·parts:·Record<SortOrderPart,·Doc[]>·=·{\n········options:·[],\n········scripts:·[],\n········markup:·[],\n········styles:·[],\n····};\n\n····//·scripts\n····if·(n.module)·{\n········parts.scripts.push(path.call(print,·'module'));\n····}\n····if·(n.instance)·{\n········parts.scripts.push(path.call(print,·'instance'));\n····}\n\n····//·styles\n····if·(n.css)·{\n········parts.styles.push(path.call(print,·'css'));\n····}\n\n····//·markup\n····const·htmlDoc·=·path.call(print,·'html');\n····if·(htmlDoc)·{\n········parts.markup.push(htmlDoc);\n····}\n····if·(svelteOptionsDoc)·{\n········parts.options.push(svelteOptionsDoc);\n····}\n\n····const·docs·=·flatten(parseSortOrder(options.svelteSortOrder).map((p)·=>·parts[p]));\n\n····//·Need·to·reset·these·because·they·are·global·and·could·affect·the·next·formatting·run\n····ignoreNext·=·false;\n····ignoreRange·=·false;\n····svelteOptionsDoc·=·undefined;\n\n····//·If·this·is·invoked·as·an·embed·of·markdown,·remove·the·last·hardline.\n····//·The·markdown·parser·tries·this,·too,·but·fails·because·it·does·not\n····//·recurse·into·concats.·Doing·this·will·prevent·an·empty·line\n····//·at·the·end·of·the·embedded·code·block.\n····if·(options.parentParser·===·'markdown')·{\n········const·lastDoc·=·docs[docs.length·-·1];\n········trimRight([lastDoc],·isLine);\n····}\n\n····if·(options.insertPragma·&&·!hasPragma(options.originalText))·{\n········return·[`<!--·@format·-->`,·hardline,·group(docs)];\n····}·else·{\n········return·group([join(hardline,·docs)]);\n····}\n}\n\nfunction·printAttributeNodeValue(\n····path:·FastPath<any>,\n····print:·PrintFn,\n····quotes:·boolean,\n····node:·AttributeNode·|·StyleDirectiveNode,\n)·{\n····const·valueDocs·=·path.map((childPath)·=>·childPath.call(print),·'value');\n\n····if·(!quotes·||·!formattableAttributes.includes(node.name))·{\n········return·valueDocs;\n····}·else·{\n········return·indent(group(trim(valueDocs,·isLine)));\n····}\n}\n\nfunction·printSvelteBlockChildren(path:·FastPath,·print:·PrintFn,·options:·ParserOptions):·Doc·{\n····const·node·=·path.getValue();\n····const·children·=·node.children;\n····if·(!children·||·children.length·===·0)·{\n········return·'';\n····}\n\n····const·whitespaceAtStartOfBlock·=·checkWhitespaceAtStartOfSvelteBlock(node,·options);\n····const·whitespaceAtEndOfBlock·=·checkWhitespaceAtEndOfSvelteBlock(node,·options);\n····const·startline·=\n········whitespaceAtStartOfBlock·===·'none'\n············?·''\n············:·whitespaceAtEndOfBlock·===·'line'·||·whitespaceAtStartOfBlock·===·'line'\n············?·hardline\n············:·line;\n····const·endline·=\n········whitespaceAtEndOfBlock·===·'none'\n············?·''\n············:·whitespaceAtEndOfBlock·===·'line'·||·whitespaceAtStartOfBlock·===·'line'\n············?·hardline\n············:·line;\n\n····const·firstChild·=·children[0];\n····const·lastChild·=·children[children.length·-·1];\n····if·(isTextNodeStartingWithWhitespace(firstChild))·{\n········trimTextNodeLeft(firstChild);\n····}\n····if·(isTextNodeEndingWithWhitespace(lastChild))·{\n········trimTextNodeRight(lastChild);\n····}\n\n····return·[indent([startline,·group(printChildren(path,·print,·options))]),·endline];\n}\n\nfunction·printPre(\n····node:·Parameters<typeof·printRaw>[0],\n····originalText:·string,\n····path:·FastPath,\n····print:·PrintFn,\n):·Doc·{\n····const·result:·Doc·=·[];\n····const·length·=·node.children.length;\n····for·(let·i·=·0;·i·<·length;·i++)·{\n········const·child·=·node.children[i];\n········if·(child.type·===·'Text')·{\n············const·lines·=·originalText.substring(child.start,·child.end).split(/\\r?\\n/);\n············lines.forEach((line,·j)·=>·{\n················if·(j·>·0)·result.push(literalline);\n················result.push(line);\n············});\n········}·else·{\n············result.push(path.call(print,·'children',·i));\n········}\n····}\n····return·result;\n}\n\nfunction·printChildren(path:·FastPath,·print:·PrintFn,·options:·ParserOptions):·Doc·{\n····if·(isPreTagContent(path))·{\n········return·path.map(print,·'children');\n····}\n\n····const·childNodes:·Node[]·=·prepareChildren(path.getValue().children,·path,·print,·options);\n····//·modify·original·array·because·it's·accessed·later·through·map(print,·'children',·idx)\n····path.getValue().children·=·childNodes;\n····if·(childNodes.length·===·0)·{\n········return·'';\n····}\n\n····const·childDocs:·Doc[]·=·[];\n····let·handleWhitespaceOfPrevTextNode·=·false;\n\n····for·(let·i·=·0;·i·<·childNodes.length;·i++)·{\n········const·childNode·=·childNodes[i];\n········if·(childNode.type·===·'Text')·{\n············handleTextChild(i,·childNode);\n········}·else·if·(isBlockElement(childNode,·options))·{\n············handleBlockChild(i);\n········}·else·if·(isInlineElement(path,·options,·childNode))·{\n············handleInlineChild(i);\n········}·else·{\n············childDocs.push(printChild(i));\n············handleWhitespaceOfPrevTextNode·=·false;\n········}\n····}\n\n····//·If·there's·at·least·one·block·element·and·more·than·one·node,·break·content\n····const·forceBreakContent·=\n········childNodes.length·>·1·&&·childNodes.some((child)·=>·isBlockElement(child,·options));\n····if·(forceBreakContent)·{\n········childDocs.push(breakParent);\n····}\n\n····return·childDocs;\n\n····function·printChild(idx:·number):·Doc·{\n········return·path.call(print,·'children',·idx);\n····}\n\n····/**\n·····*·Print·inline·child.·Hug·whitespace·of·previous·text·child·if·there·was·one.\n·····*/\n····function·handleInlineChild(idx:·number)·{\n········if·(handleWhitespaceOfPrevTextNode)·{\n············childDocs.push(group([line,·printChild(idx)]));\n········}·else·{\n············childDocs.push(printChild(idx));\n········}\n········handleWhitespaceOfPrevTextNode·=·false;\n····}\n\n····/**\n·····*·Print·block·element.·Add·softlines·around·it·if·needed\n·····*·so·it·breaks·into·a·separate·line·if·children·are·broken·up.\n·····*·Don't·add·lines·at·the·start/end·if·it's·the·first/last·child·because·this\n·····*·kind·of·whitespace·handling·is·done·in·the·parent·already.\n·····*/\n····function·handleBlockChild(idx:·number)·{\n········const·prevChild·=·childNodes[idx·-·1];\n········if·(\n············prevChild·&&\n············!isBlockElement(prevChild,·options)·&&\n············(prevChild.type·!==·'Text'·||\n················handleWhitespaceOfPrevTextNode·||\n················!isTextNodeEndingWithWhitespace(prevChild))\n········)·{\n············childDocs.push(softline);\n········}\n\n········childDocs.push(printChild(idx));\n\n········const·nextChild·=·childNodes[idx·+·1];\n········if·(\n············nextChild·&&\n············(nextChild.type·!==·'Text'·||\n················//·Only·handle·text·which·starts·with·a·whitespace·and·has·text·afterwards,\n················//·or·is·empty·but·followed·by·an·inline·element.·The·latter·is·done\n················//·so·that·if·the·children·break,·the·inline·element·afterwards·is·in·a·separate·line.\n················((!isEmptyTextNode(nextChild)·||\n····················(childNodes[idx·+·2]·&&·isInlineElement(path,·options,·childNodes[idx·+·2])))·&&\n····················!isTextNodeStartingWithLinebreak(nextChild)))\n········)·{\n············childDocs.push(softline);\n········}\n········handleWhitespaceOfPrevTextNode·=·false;\n····}\n\n····/**\n·····*·Print·text·child.·First/last·child·white·space·handling\n·····*·is·done·in·parent·already.·By·definition·of·the·Svelte·AST,\n·····*·a·text·node·always·is·inbetween·other·tags.·Add·hardlines\n·····*·if·the·users·wants·to·have·them·inbetween.\n·····*·If·the·text·is·trimmed·right,·toggle·flag·telling\n·····*·subsequent·(inline)block·element·to·alter·its·printing·logic\n·····*·to·check·if·they·need·to·hug·or·print·lines·themselves.\n·····*/\n····function·handleTextChild(idx:·number,·childNode:·TextNode)·{\n········handleWhitespaceOfPrevTextNode·=·false;\n\n········if·(idx·===·0·||·idx·===·childNodes.length·-·1)·{\n············childDocs.push(printChild(idx));\n············return;\n········}\n\n········const·prevNode·=·childNodes[idx·-·1];\n········const·nextNode·=·childNodes[idx·+·1];\n\n········if·(\n············isTextNodeStartingWithWhitespace(childNode)·&&\n············//·If·node·is·empty,·go·straight·through·to·checking·the·right·end\n············!isEmptyTextNode(childNode)\n········)·{\n············if·(\n················isInlineElement(path,·options,·prevNode)·&&\n················!isTextNodeStartingWithLinebreak(childNode)\n············)·{\n················trimTextNodeLeft(childNode);\n················const·lastChildDoc·=·childDocs.pop()!;\n················childDocs.push(group([lastChildDoc,·line]));\n············}\n\n············if·(isBlockElement(prevNode,·options)·&&·!isTextNodeStartingWithLinebreak(childNode))·{\n················trimTextNodeLeft(childNode);\n············}\n········}\n\n········if·(isTextNodeEndingWithWhitespace(childNode))·{\n············if·(\n················isInlineElement(path,·options,·nextNode)·&&\n················!isTextNodeEndingWithLinebreak(childNode)\n············)·{\n················handleWhitespaceOfPrevTextNode·=·!prevNode·||·!isBlockElement(prevNode,·options);\n················trimTextNodeRight(childNode);\n············}\n············if·(isBlockElement(nextNode,·options)·&&·!isTextNodeEndingWithLinebreak(childNode,·2))·{\n················handleWhitespaceOfPrevTextNode·=·!prevNode·||·!isBlockElement(prevNode,·options);\n················trimTextNodeRight(childNode);\n············}\n········}\n\n········childDocs.push(printChild(idx));\n····}\n}\n\n/**\n·*·`svelte:options`·is·part·of·the·html·part·but·needs·to·be·snipped·out·and·handled\n·*·separately·to·reorder·it·as·configured.·The·comment·above·it·should·be·moved·with·it.\n·*·Do·that·here.\n·*/\nfunction·prepareChildren(\n····children:·Node[],\n····path:·FastPath,\n····print:·PrintFn,\n····options:·ParserOptions,\n):·Node[]·{\n····let·svelteOptionsComment:·Doc·|·undefined;\n····const·childrenWithoutOptions·=·[];\n····const·bracketSameLine·=·isBracketSameLine(options);\n\n····for·(let·idx·=·0;·idx·<·children.length;·idx++)·{\n········const·currentChild·=·children[idx];\n\n········if·(currentChild.type·===·'Text'·&&·getUnencodedText(currentChild)·===·'')·{\n············continue;\n········}\n\n········if·(isEmptyTextNode(currentChild)·&&·doesEmbedStartAfterNode(currentChild,·path))·{\n············continue;\n········}\n\n········if·(options.svelteSortOrder·!==·'none')·{\n············if·(isCommentFollowedByOptions(currentChild,·idx))·{\n················svelteOptionsComment·=·printComment(currentChild);\n················const·nextChild·=·children[idx·+·1];\n················idx·+=·nextChild·&&·isEmptyTextNode(nextChild)·?·1·:·0;\n················continue;\n············}\n\n············if·(currentChild.type·===·'Options')·{\n················printSvelteOptions(currentChild,·idx,·path,·print);\n················continue;\n············}\n········}\n\n········childrenWithoutOptions.push(currentChild);\n····}\n\n····const·mergedChildrenWithoutOptions·=·[];\n\n····for·(let·idx·=·0;·idx·<·childrenWithoutOptions.length;·idx++)·{\n········const·currentChild·=·childrenWithoutOptions[idx];\n········const·nextChild·=·childrenWithoutOptions[idx·+·1];\n\n········if·(currentChild.type·===·'Text'·&&·nextChild·&&·nextChild.type·===·'Text')·{\n············//·A·tag·was·snipped·out·(f.e.·svelte:options).·Join·text\n············currentChild.raw·+=·nextChild.raw;\n············currentChild.data·+=·nextChild.data;\n············idx++;\n········}\n\n········mergedChildrenWithoutOptions.push(currentChild);\n····}\n\n····return·mergedChildrenWithoutOptions;\n\n····function·printSvelteOptions(\n········node:·OptionsNode,\n········idx:·number,\n········path:·FastPath,\n········print:·PrintFn,\n····):·void·{\n········svelteOptionsDoc·=·group([\n············[\n················'<',\n················node.name,\n················indent(\n····················group([\n························...path.map(\n····························printWithPrependedAttributeLine(node,·options,·print),\n····························'children',\n····························idx,\n····························'attributes',\n························),\n························bracketSameLine·?·''·:·dedent(line),\n····················]),\n················),\n················...[bracketSameLine·?·'·'·:·'',·'/>'],\n············],\n············hardline,\n········]);\n········if·(svelteOptionsComment)·{\n············svelteOptionsDoc·=·group([svelteOptionsComment,·hardline,·svelteOptionsDoc]);\n········}\n····}\n\n····function·isCommentFollowedByOptions(node:·Node,·idx:·number):·node·is·CommentNode·{\n········if·(node.type·!==·'Comment'·||·isIgnoreEndDirective(node)·||·isIgnoreStartDirective(node))·{\n············return·false;\n········}\n\n········const·nextChild·=·children[idx·+·1];\n········if·(nextChild)·{\n············if·(isEmptyTextNode(nextChild))·{\n················const·afterNext·=·children[idx·+·2];\n················return·afterNext·&&·afterNext.type·===·'Options';\n············}\n············return·nextChild.type·===·'Options';\n········}\n\n········return·false;\n····}\n}\n\n/**\n·*·Split·the·text·into·words·separated·by·whitespace.·Replace·the·whitespaces·by·lines,\n·*·collapsing·multiple·whitespaces·into·a·single·line.\n·*\n·*·If·the·text·starts·or·ends·with·multiple·newlines,·two·of·those·should·be·kept.\n·*/\nfunction·splitTextToDocs(node:·TextNode):·Doc[]·{\n····const·text·=·getUnencodedText(node);\n····const·lines·=·text.split(/[\\t\\n\\f\\r·]+/);\n\n····let·docs·=·join(line,·lines).filter((doc)·=>·doc·!==·'');\n\n····if·(startsWithLinebreak(text))·{\n········docs[0]·=·hardline;\n····}\n····if·(startsWithLinebreak(text,·2))·{\n········docs·=·[hardline,·...docs];\n····}\n\n····if·(endsWithLinebreak(text))·{\n········docs[docs.length·-·1]·=·hardline;\n····}\n····if·(endsWithLinebreak(text,·2))·{\n········docs·=·[...docs,·hardline];\n····}\n\n····return·docs;\n}\n\nfunction·printJS(path:·FastPath,·print:·PrintFn,·name:·string)·{\n····return·path.call(print,·name);\n}\n\nfunction·expandNode(node:·any,·original:·string):·string·{\n····let·str·=·_expandNode(node);\n····if·(node?.typeAnnotation)·{\n········str·+=\n············':·'·+\n············original.slice(\n················node.typeAnnotation.typeAnnotation.start,\n················node.typeAnnotation.typeAnnotation.end,\n············);\n····}\n····return·str;\n}\n\nfunction·_expandNode(node:·any,·parent?:·any):·string·{\n····if·(node·===·null)·{\n········return·'';\n····}\n\n····if·(typeof·node·===·'string')·{\n········//·pre-v3.20·AST\n········return·'·'·+·node;\n····}\n\n····switch·(node.type)·{\n········case·'ArrayExpression':\n········case·'ArrayPattern':\n············return·(\n················'·['·+\n················node.elements\n····················//·handle·null·specifically·here;·else·it·would·become·the·empty·string,·but·that·would·mean\n····················//·fewer·elements·in·the·array,·which·would·change·the·meaning·of·the·array\n····················.map((el:·any)·=>·(el·===·null·?·'·'·:·_expandNode(el)))\n····················.join(',')\n····················.slice(1)·+\n················']'\n············);\n········case·'AssignmentPattern':\n············return·_expandNode(node.left)·+·'·='·+·_expandNode(node.right);\n········case·'Identifier':\n············return·'·'·+·node.name;\n········case·'Literal':\n············return·'·'·+·node.raw;\n········case·'ObjectExpression':\n············return·'·{'·+·node.properties.map((p:·any)·=>·_expandNode(p,·node)).join(',')·+·'·}';\n········case·'ObjectPattern':\n············return·'·{'·+·node.properties.map(_expandNode).join(',')·+·'·}';\n········case·'Property':\n············if·(node.value.type·===·'ObjectPattern'·||·node.value.type·===·'ArrayPattern')·{\n················return·'·'·+·node.key.name·+·':'·+·_expandNode(node.value);\n············}·else·if·(\n················(node.value.type·===·'Identifier'·&&·node.key.name·!==·node.value.name)·||\n················(parent·&&·parent.type·===·'ObjectExpression')\n············)·{\n················return·_expandNode(node.key)·+·':'·+·_expandNode(node.value);\n············}·else·{\n················return·_expandNode(node.value);\n············}\n········case·'RestElement':\n············return·'·...'·+·node.argument.name;\n····}\n\n····console.error(JSON.stringify(node,·null,·4));\n····throw·new·Error('unknown·node·type:·'·+·node.type);\n}\n\nfunction·printComment(node:·CommentNode)·{\n····let·text·=·node.data;\n\n····if·(hasSnippedContent(text))·{\n········text·=·unsnipContent(text);\n····}\n\n····return·group(['<!--',·text,·'-->']);\n}\n", | 42 | ········"import·{·Doc,·doc,·FastPath·}·from·'prettier';\nimport·{·formattableAttributes,·selfClosingTags·}·from·'../lib/elements';\nimport·{·hasSnippedContent,·unsnipContent·}·from·'../lib/snipTagContent';\nimport·{·isBracketSameLine,·ParserOptions,·parseSortOrder,·SortOrderPart·}·from·'../options';\nimport·{·isEmptyDoc,·isLine,·trim,·trimRight·}·from·'./doc-helpers';\nimport·{\n····flatten,\n····getAttributeLine,\n····isASTNode,\n····isPreTagContent,\n····printWithPrependedAttributeLine,\n····replaceEndOfLineWith,\n}·from·'./helpers';\nimport·{\n····canOmitSoftlineBeforeClosingTag,\n····checkWhitespaceAtEndOfSvelteBlock,\n····checkWhitespaceAtStartOfSvelteBlock,\n····doesEmbedStartAfterNode,\n····endsWithLinebreak,\n····getChildren,\n····getNextNode,\n····getUnencodedText,\n····isBlockElement,\n····isEmptyTextNode,\n····isIgnoreDirective,\n····isIgnoreEndDirective,\n····isIgnoreStartDirective,\n····isInlineElement,\n····isLoneMustacheTag,\n····isNodeSupportedLanguage,\n····isNodeTopLevelHTML,\n····isOrCanBeConvertedToShorthand,\n····isTextNodeEndingWithLinebreak,\n····isTextNodeEndingWithWhitespace,\n····isTextNodeStartingWithLinebreak,\n····isTextNodeStartingWithWhitespace,\n····printRaw,\n····shouldHugEnd,\n····shouldHugStart,\n····startsWithLinebreak,\n····trimChildren,\n····trimTextNodeLeft,\n····trimTextNodeRight,\n}·from·'./node-helpers';\nimport·{\n····ASTNode,\n····AttributeNode,\n····CommentNode,\n····IfBlockNode,\n····Node,\n····OptionsNode,\n····StyleDirectiveNode,\n····TextNode,\n}·from·'./nodes';\n\nconst·{·join,·line,·group,·indent,·dedent,·softline,·hardline,·fill,·breakParent,·literalline·}·=\n····doc.builders;\n\nexport·type·PrintFn·=·(path:·FastPath)·=>·Doc;\n\ndeclare·module·'prettier'·{\n····export·namespace·doc·{\n········namespace·builders·{\n············interface·Line·{\n················keepIfLonely?:·boolean;\n············}\n········}\n····}\n}\n\nexport·function·hasPragma(text:·string)·{\n····return·/^\\s*<!--\\s*@(format|prettier)\\W/.test(text);\n}\n\nlet·ignoreNext·=·false;\nlet·ignoreRange·=·false;\nlet·svelteOptionsDoc:·Doc·|·undefined;\n\nexport·function·print(path:·FastPath,·options:·ParserOptions,·print:·PrintFn):·Doc·{\n····const·bracketSameLine·=·isBracketSameLine(options);\n\n····const·n·=·path.getValue();\n····if·(!n)·{\n········return·'';\n····}\n\n····if·(isASTNode(n))·{\n········return·printTopLevelParts(n,·options,·path,·print);\n····}\n\n····const·[open,·close]·=\n········options.svelteStrictMode·&&·!options._svelte_is5Plus·?·['\"{',·'}\"']·:·['{',·'}'];\n····const·printJsExpression·=·()·=>·[open,·printJS(path,·print,·'expression'),·close];\n····const·node·=·n·as·Node;\n\n····if·(\n········(ignoreNext·||·(ignoreRange·&&·!isIgnoreEndDirective(node)))·&&\n········(node.type·!==·'Text'·||·!isEmptyTextNode(node))\n····)·{\n········if·(ignoreNext)·{\n············ignoreNext·=·false;\n········}\n········return·flatten(\n············options.originalText\n················.slice(options.locStart(node),·options.locEnd(node))\n················.split('\\n')\n················.map((o,·i)·=>·(i·==·0·?·[o]·:·[literalline,·o])),\n········);\n····}\n\n····switch·(node.type)·{\n········case·'Fragment':\n············const·children·=·node.children;\n\n············if·(children.length·===·0·||·children.every(isEmptyTextNode))·{\n················return·'';\n············}\n············if·(!isPreTagContent(path))·{\n················trimChildren(node.children,·path);\n················const·output·=·trim(\n····················[printChildren(path,·print,·options)],\n····················(n)·=>\n························isLine(n)·||\n························(typeof·n·===·'string'·&&·n.trim()·===·'')·||\n························//·Because·printChildren·may·append·this·at·the·end·and\n························//·may·hide·other·lines·before·it\n························n·===·breakParent,\n················);\n················if·(output.every((doc)·=>·isEmptyDoc(doc)))·{\n····················return·'';\n················}\n················return·group([...output,·hardline]);\n············}·else·{\n················return·group(path.map(print,·'children'));\n············}\n········case·'Text':\n············if·(!isPreTagContent(path))·{\n················if·(isEmptyTextNode(node))·{\n····················const·hasWhiteSpace·=\n························getUnencodedText(node).trim().length·<·getUnencodedText(node).length;\n····················const·hasOneOrMoreNewlines·=·/\\n/.test(getUnencodedText(node));\n····················const·hasTwoOrMoreNewlines·=·/\\n\\r?\\s*\\n\\r?/.test(getUnencodedText(node));\n····················if·(hasTwoOrMoreNewlines)·{\n························return·[hardline,·hardline];\n····················}\n····················if·(hasOneOrMoreNewlines)·{\n························return·hardline;\n····················}\n····················if·(hasWhiteSpace)·{\n························return·line;\n····················}\n····················return·'';\n················}\n\n················/**\n·················*·For·non-empty·text·nodes·each·sequence·of·non-whitespace·characters·(effectively,\n·················*·each·\"word\")·is·joined·by·a·single·`line`,·which·will·be·rendered·as·a·single·space\n·················*·until·this·node's·current·line·is·out·of·room,·at·which·`fill`·will·break·at·the\n·················*·most·convenient·instance·of·`line`.\n·················*/\n················return·fill(splitTextToDocs(node));\n············}·else·{\n················let·rawText·=·getUnencodedText(node);\n················const·parent·=·path.getParentNode();\n················if·(parent.type·===·'Attribute')·{\n····················//·Direct·child·of·attribute·value·->·add·literallines·at·end·of·lines\n····················//·so·that·other·things·don't·break·in·unexpected·places\n····················if·(parent.name·===·'class'·&&·path.getParentNode(1).type·===·'Element')·{\n························//·Special·treatment·for·class·attribute·on·html·elements.·Prettier\n························//·will·force·everything·into·one·line,·we·deviate·from·that·and·preserve·lines.\n························rawText·=·rawText.replace(\n····························/([^·\\t\\n])(([·\\t]+$)|([·\\t]+(\\r?\\n))|[·\\t]+)/g,\n····························//·Remove·trailing·whitespace·in·lines·with·non-whitespace·characters\n····························//·except·at·the·end·of·the·string\n····························(\n································match,\n································characterBeforeWhitespace,\n································_,\n································isEndOfString,\n································isEndOfLine,\n································endOfLine,\n····························)·=>\n································isEndOfString\n····································?·match\n····································:·characterBeforeWhitespace·+·(isEndOfLine·?·endOfLine·:·'·'),\n························);\n························//·Shrink·trailing·whitespace·in·case·it's·followed·by·a·mustache·tag\n························//·and·remove·it·completely·if·it's·at·the·end·of·the·string,·but·not\n························//·if·it's·on·its·own·line\n························rawText·=·rawText.replace(\n····························/([^·\\t\\n])[·\\t]+$/,\n····························parent.value.indexOf(node)·===·parent.value.length·-·1·?·'$1'·:·'$1·',\n························);\n····················}\n····················return·replaceEndOfLineWith(rawText,·literalline);\n················}\n················return·rawText;\n············}\n········case·'Element':\n········case·'InlineComponent':\n········case·'Slot':\n········case·'SlotTemplate':\n········case·'Window':\n········case·'Head':\n········//·Svelte·5·only\n········case·'SvelteBoundary':\n········case·'Title':·{\n············const·isSupportedLanguage·=·!(\n················node.name·===·'template'·&&·!isNodeSupportedLanguage(node)\n············);\n············const·isEmpty·=·node.children.every((child)·=>·isEmptyTextNode(child));\n············const·isDoctypeTag·=·node.name.toUpperCase()·===·'!DOCTYPE';\n············const·didSelfClose·=·options.originalText[node.end·-·2]·===·'/';\n\n············const·isSelfClosingTag·=\n················isEmpty·&&\n················((((node.type·===·'Element'·&&·!options.svelteStrictMode)·||\n····················node.type·===·'Head'·||\n····················node.type·===·'InlineComponent'·||\n····················node.type·===·'Slot'·||\n····················node.type·===·'SlotTemplate'·||\n····················node.type·===·'SvelteBoundary'·||\n····················node.type·===·'Title')·&&\n····················didSelfClose)·||\n····················node.type·===·'Window'·||\n····················selfClosingTags.indexOf(node.name)·!==·-1·||\n····················isDoctypeTag);\n\n············//·Order·important:·print·attributes·first\n············const·attributes·=·path.map(\n················printWithPrependedAttributeLine(node,·options,·print),\n················'attributes',\n············);\n············const·attributeLine·=·getAttributeLine(node,·options);\n············const·possibleThisBinding·=\n················node.type·===·'InlineComponent'·&&·node.expression\n····················?·[attributeLine,·'this=',·...printJsExpression()]\n····················:·node.type·===·'Element'·&&·node.tag\n····················?·[\n··························attributeLine,\n··························'this=',\n··························...(typeof·node.tag·===·'string'\n······························?·[`\"${node.tag}\"`]\n······························:·[open,·printJS(path,·print,·'tag'),·close]),\n······················]\n····················:·'';\n\n············if·(isSelfClosingTag)·{\n················return·group([\n····················'<',\n····················node.name,\n\n····················indent(\n························group([\n····························possibleThisBinding,\n····························...attributes,\n····························bracketSameLine·||·isDoctypeTag·?·''·:·dedent(line),\n························]),\n····················),\n\n····················...[bracketSameLine·&&·!isDoctypeTag·?·'·'·:·'',·`${isDoctypeTag·?·''·:·'/'}>`],\n················]);\n············}\n\n············const·children·=·node.children;\n············const·firstChild·=·children[0];\n············const·lastChild·=·children[children.length·-·1];\n\n············//·Is·a·function·which·is·invoked·later·because·printChildren·will·manipulate·child·nodes\n············//·which·would·wrongfully·change·the·other·checks·about·hugging·etc·done·beforehand\n············let·body:·()·=>·Doc;\n\n············const·hugStart·=·shouldHugStart(node,·isSupportedLanguage,·options);\n············const·hugEnd·=·shouldHugEnd(node,·isSupportedLanguage,·options);\n\n············if·(isEmpty)·{\n················body·=\n····················isInlineElement(path,·options,·node)·&&\n····················node.children.length·&&\n····················isTextNodeStartingWithWhitespace(node.children[0])·&&\n····················!isPreTagContent(path)\n························?·()·=>·line\n························:·()·=>·(bracketSameLine·?·softline·:·'');\n············}·else·if·(isPreTagContent(path))·{\n················body·=·()·=>·printPre(node,·options.originalText,·path,·print);\n············}·else·if·(!isSupportedLanguage)·{\n················body·=·()·=>·printRaw(node,·options.originalText,·true);\n············}·else·if·(isInlineElement(path,·options,·node)·&&·!isPreTagContent(path))·{\n················body·=·()·=>·printChildren(path,·print,·options);\n············}·else·{\n················body·=·()·=>·printChildren(path,·print,·options);\n············}\n\n············const·openingTag·=·[\n················'<',\n················node.name,\n\n················indent(\n····················group([\n························possibleThisBinding,\n························...attributes,\n························hugStart·&&·!isEmpty\n····························?·''\n····························:·!bracketSameLine·&&·!isPreTagContent(path)\n····························?·dedent(softline)\n····························:·'',\n····················]),\n················),\n············];\n\n············if·(!isSupportedLanguage·&&·!isEmpty)·{\n················//·Format·template·tags·so·that·there's·a·hardline·but·no·indention.\n················//·That·way·the·`lang=\"X\"`·and·the·closing·`>`·of·the·start·tag·stay·in·one·line\n················//·which·is·the·99%·use·case.\n················return·group([\n····················...openingTag,\n····················'>',\n····················group([hardline,·body(),·hardline]),\n····················`</${node.name}>`,\n················]);\n············}\n\n············if·(hugStart·&&·hugEnd)·{\n················const·huggedContent·=·[softline,·group(['>',·body(),·`</${node.name}`])];\n················const·omitSoftlineBeforeClosingTag·=\n····················(isEmpty·&&·!bracketSameLine)·||\n····················canOmitSoftlineBeforeClosingTag(node,·path,·options);\n················return·group([\n····················...openingTag,\n····················isEmpty·?·group(huggedContent)·:·group(indent(huggedContent)),\n····················omitSoftlineBeforeClosingTag·?·''·:·softline,\n····················'>',\n················]);\n············}\n\n············//·No·hugging·of·content·means·it's·either·a·block·element·and/or·there's·whitespace·at·the·start/end\n············let·noHugSeparatorStart:·Doc·=·softline;\n············let·noHugSeparatorEnd:·Doc·=·softline;\n············if·(isPreTagContent(path))·{\n················noHugSeparatorStart·=·'';\n················noHugSeparatorEnd·=·'';\n············}·else·{\n················let·didSetEndSeparator·=·false;\n\n················if·(!hugStart·&&·firstChild·&&·firstChild.type·===·'Text')·{\n····················if·(\n························isTextNodeStartingWithLinebreak(firstChild)·&&\n························firstChild·!==·lastChild·&&\n························(!isInlineElement(path,·options,·node)·||\n····························isTextNodeEndingWithWhitespace(lastChild))\n····················)·{\n························noHugSeparatorStart·=·hardline;\n························noHugSeparatorEnd·=·hardline;\n························didSetEndSeparator·=·true;\n····················}·else·if·(isInlineElement(path,·options,·node))·{\n························noHugSeparatorStart·=·line;\n····················}\n····················trimTextNodeLeft(firstChild);\n················}\n················if·(!hugEnd·&&·lastChild·&&·lastChild.type·===·'Text')·{\n····················if·(isInlineElement(path,·options,·node)·&&·!didSetEndSeparator)·{\n························noHugSeparatorEnd·=·line;\n····················}\n····················trimTextNodeRight(lastChild);\n················}\n············}\n\n············if·(hugStart)·{\n················return·group([\n····················...openingTag,\n····················indent([softline,·group(['>',·body()])]),\n····················noHugSeparatorEnd,\n····················`</${node.name}>`,\n················]);\n············}\n\n············if·(hugEnd)·{\n················return·group([\n····················...openingTag,\n····················'>',\n····················indent([noHugSeparatorStart,·group([body(),·`</${node.name}`])]),\n····················canOmitSoftlineBeforeClosingTag(node,·path,·options)·?·''·:·softline,\n····················'>',\n················]);\n············}\n\n············if·(isEmpty)·{\n················return·group([...openingTag,·'>',·body(),·`</${node.name}>`]);\n············}\n\n············return·group([\n················...openingTag,\n················'>',\n················indent([noHugSeparatorStart,·body()]),\n················noHugSeparatorEnd,\n················`</${node.name}>`,\n············]);\n········}\n········case·'Options':\n············if·(options.svelteSortOrder·!==·'none')·{\n················throw·new·Error('Options·tags·should·have·been·handled·by·prepareChildren');\n············}\n········//·else·fall·through·to·Body\n········case·'Body':\n········case·'Document':\n········//·Svelte·5·only\n········case·'SvelteHTML':\n············return·group([\n················'<',\n················node.name,\n················indent(\n····················group([\n························...path.map(\n····························printWithPrependedAttributeLine(node,·options,·print),\n····························'attributes',\n························),\n························bracketSameLine·?·''·:·dedent(line),\n····················]),\n················),\n················...[bracketSameLine·?·'·'·:·'',·'/>'],\n············]);\n········case·'Identifier':\n············return·node.name;\n········case·'AttributeShorthand':·{\n············return·(node.expression·as·any).name;\n········}\n········case·'Attribute':·{\n············if·(isOrCanBeConvertedToShorthand(node))·{\n················if·(options.svelteAllowShorthand)·{\n····················return·['{',·node.name,·'}'];\n················}·else·{\n····················return·[node.name,·`=${open}`,·node.name,·close];\n················}\n············}·else·{\n················if·(node.value·===·true)·{\n····················return·[node.name];\n················}\n\n················const·quotes·=\n····················!isLoneMustacheTag(node.value)·||\n····················((options.svelteStrictMode·&&·!options._svelte_is5Plus)·??·false);\n················const·attrNodeValue·=·printAttributeNodeValue(path,·print,·quotes,·node);\n················if·(quotes)·{\n····················return·[node.name,·'=',·'\"',·attrNodeValue,·'\"'];\n················}·else·{\n····················return·[node.name,·'=',·attrNodeValue];\n················}\n············}\n········}\n········case·'MustacheTag':\n············return·['{',·printJS(path,·print,·'expression'),·'}'];\n········case·'IfBlock':·{\n············const·def:·Doc[]·=·[\n················'{#if·',\n················printJS(path,·print,·'expression'),\n················'}',\n················printSvelteBlockChildren(path,·print,·options),\n············];\n\n············if·(node.else)·{\n················def.push(path.call(print,·'else'));\n············}\n\n············def.push('{/if}');\n\n············return·group([def,·breakParent]);\n········}\n········case·'ElseBlock':·{\n············//·Else·if\n············const·parent·=·path.getParentNode()·as·Node;\n\n············if·(\n················node.children.length·===·1·&&\n················node.children[0].type·===·'IfBlock'·&&\n················parent.type·!==·'EachBlock'\n············)·{\n················const·ifNode·=·node.children[0]·as·IfBlockNode;\n················const·def:·Doc[]·=·[\n····················'{:else·if·',\n····················path.map((ifPath)·=>·printJS(ifPath,·print,·'expression'),·'children')[0],\n····················'}',\n····················path.map(\n························(ifPath)·=>·printSvelteBlockChildren(ifPath,·print,·options),\n························'children',\n····················)[0],\n················];\n\n················if·(ifNode.else)·{\n····················def.push(\n························path.map(\n····························(ifPath:·FastPath<any>)·=>·ifPath.call(print,·'else'),\n····························'children',\n························)[0],\n····················);\n················}\n················return·def;\n············}\n\n············return·['{:else}',·printSvelteBlockChildren(path,·print,·options)];\n········}\n········case·'EachBlock':·{\n············const·def:·Doc[]·=·['{#each·',·printJS(path,·print,·'expression')];\n\n············if·(node.context)·{\n················def.push('·as',·expandNode(node.context,·options.originalText));\n············}\n\n············if·(node.index)·{\n················def.push(',·',·node.index);\n············}\n\n············if·(node.key)·{\n················def.push('·(',·printJS(path,·print,·'key'),·')');\n············}\n\n············def.push('}',·printSvelteBlockChildren(path,·print,·options));\n\n············if·(node.else)·{\n················def.push(path.call(print,·'else'));\n············}\n\n············def.push('{/each}');\n\n············return·group([def,·breakParent]);\n········}\n········case·'AwaitBlock':·{\n············const·hasPendingBlock·=·node.pending.children.some((n)·=>·!isEmptyTextNode(n));\n············const·hasThenBlock·=·node.then.children.some((n)·=>·!isEmptyTextNode(n));\n············const·hasCatchBlock·=·node.catch.children.some((n)·=>·!isEmptyTextNode(n));\n\n············let·block·=·[];\n\n············if·(!hasPendingBlock·&&·hasThenBlock)·{\n················block.push(\n····················group([\n························'{#await·',\n························printJS(path,·print,·'expression'),\n························'·then',\n························expandNode(node.value,·options.originalText),\n························'}',\n····················]),\n····················path.call(print,·'then'),\n················);\n············}·else·if·(!hasPendingBlock·&&·hasCatchBlock)·{\n················block.push(\n····················group([\n························'{#await·',\n························printJS(path,·print,·'expression'),\n························'·catch',\n························expandNode(node.error,·options.originalText),\n························'}',\n····················]),\n····················path.call(print,·'catch'),\n················);\n············}·else·{\n················block.push(group(['{#await·',·printJS(path,·print,·'expression'),·'}']));\n\n················if·(hasPendingBlock)·{\n····················block.push(path.call(print,·'pending'));\n················}\n\n················if·(hasThenBlock)·{\n····················block.push(\n························group(['{:then',·expandNode(node.value,·options.originalText),·'}']),\n························path.call(print,·'then'),\n····················);\n················}\n············}\n\n············if·((hasPendingBlock·||·hasThenBlock)·&&·hasCatchBlock)·{\n················block.push(\n····················group(['{:catch',·expandNode(node.error,·options.originalText),·'}']),\n····················path.call(print,·'catch'),\n················);\n············}\n\n············block.push('{/await}');\n\n············return·group(block);\n········}\n········case·'KeyBlock':·{\n············const·def:·Doc[]·=·[\n················'{#key·',\n················printJS(path,·print,·'expression'),\n················'}',\n················printSvelteBlockChildren(path,·print,·options),\n············];\n\n············def.push('{/key}');\n\n············return·group([def,·breakParent]);\n········}\n········case·'ThenBlock':\n········case·'PendingBlock':\n········case·'CatchBlock':\n············return·printSvelteBlockChildren(path,·print,·options);\n········//·Svelte·5·only\n········case·'SnippetBlock':·{\n············const·snippet·=·['{#snippet·',·printJS(path,·print,·'expression')];\n············snippet.push('}',·printSvelteBlockChildren(path,·print,·options),·'{/snippet}');\n············return·snippet;\n········}\n········case·'EventHandler':\n············return·[\n················'on:',\n················node.name,\n················node.modifiers·&&·node.modifiers.length·?·['|',·join('|',·node.modifiers)]·:·'',\n················node.expression·?·['=',·...printJsExpression()]·:·'',\n············];\n········case·'Binding':\n············return·[\n················'bind:',\n················node.name,\n················node.expression.type·===·'Identifier'·&&\n················node.expression.name·===·node.name·&&\n················options.svelteAllowShorthand\n····················?·''\n····················:·['=',·...printJsExpression()],\n············];\n········case·'Class':\n············return·[\n················'class:',\n················node.name,\n················node.expression.type·===·'Identifier'·&&\n················node.expression.name·===·node.name·&&\n················options.svelteAllowShorthand\n····················?·''\n····················:·['=',·...printJsExpression()],\n············];\n········case·'StyleDirective':\n············const·prefix·=·[\n················'style:',\n················node.name,\n················node.modifiers·&&·node.modifiers.length·?·['|',·join('|',·node.modifiers)]·:·'',\n············];\n\n············if·(isOrCanBeConvertedToShorthand(node)·||·node.value·===·true)·{\n················if·(options.svelteAllowShorthand)·{\n····················return·[...prefix];\n················}·else·{\n····················return·[...prefix,·`=${open}`,·node.name,·close];\n················}\n············}·else·{\n················const·quotes·=\n····················!isLoneMustacheTag(node.value)·||\n····················((options.svelteStrictMode·&&·!options._svelte_is5Plus)·??·false);\n················const·attrNodeValue·=·printAttributeNodeValue(path,·print,·quotes,·node);\n················if·(quotes)·{\n····················return·[...prefix,·'=',·'\"',·attrNodeValue,·'\"'];\n················}·else·{\n····················return·[...prefix,·'=',·attrNodeValue];\n················}\n············}\n········case·'Let':\n············return·[\n················'let:',\n················node.name,\n················//·shorthand·let·directives·have·`null`·expressions\n················!node.expression·||\n················(node.expression.type·===·'Identifier'·&&·node.expression.name·===·node.name)\n····················?·''\n····················:·['=',·...printJsExpression()],\n············];\n········case·'DebugTag':\n············return·[\n················'{@debug',\n················node.identifiers.length·>·0\n····················?·['·',·join(',·',·path.map(print,·'identifiers'))]\n····················:·'',\n················'}',\n············];\n········case·'Ref':\n············return·['ref:',·node.name];\n········case·'Comment':·{\n············const·nodeAfterComment·=·getNextNode(path);\n\n············if·(isIgnoreStartDirective(node)·&&·isNodeTopLevelHTML(node,·path))·{\n················ignoreRange·=·true;\n············}·else·if·(isIgnoreEndDirective(node)·&&·isNodeTopLevelHTML(node,·path))·{\n················ignoreRange·=·false;\n············}·else·if·(\n················//·If·there·is·no·sibling·node·that·starts·right·after·us·but·the·parent·indicates\n················//·that·there·used·to·be,·that·means·that·node·was·actually·an·embedded·`<style>`\n················//·or·`<script>`·node·that·was·cut·out.\n················//·If·so,·the·comment·does·not·refer·to·the·next·line·we·will·see.\n················//·The·`embed`·function·handles·printing·the·comment·in·the·right·place.\n················doesEmbedStartAfterNode(node,·path)·||\n················(isEmptyTextNode(nodeAfterComment)·&&\n····················doesEmbedStartAfterNode(nodeAfterComment,·path))\n············)·{\n················return·'';\n············}·else·if·(isIgnoreDirective(node))·{\n················ignoreNext·=·true;\n············}\n\n············return·printComment(node);\n········}\n········case·'Transition':\n············const·kind·=·node.intro·&&·node.outro·?·'transition'·:·node.intro·?·'in'·:·'out';\n············return·[\n················kind,\n················':',\n················node.name,\n················node.modifiers·&&·node.modifiers.length·?·['|',·join('|',·node.modifiers)]·:·'',\n················node.expression·?·['=',·...printJsExpression()]·:·'',\n············];\n········case·'Action':\n············return·['use:',·node.name,·node.expression·?·['=',·...printJsExpression()]·:·''];\n········case·'Animation':\n············return·['animate:',·node.name,·node.expression·?·['=',·...printJsExpression()]·:·''];\n········case·'RawMustacheTag':\n············return·['{@html·',·printJS(path,·print,·'expression'),·'}'];\n········//·Svelte·5·only\n········case·'RenderTag':\n············return·['{@render·',·printJS(path,·print,·'expression'),·'}'];\n········//·Svelte·5·only\n········case·'AttachTag':\n············return·['{@attach·',·printJS(path,·print,·'expression'),·'}'];\n········case·'Spread':\n············return·['{...',·printJS(path,·print,·'expression'),·'}'];\n········case·'ConstTag':\n············return·['{@const·',·printJS(path,·print,·'expression'),·'}'];\n····}\n\n····console.error(JSON.stringify(node,·null,·4));\n····throw·new·Error('unknown·node·type:·'·+·node.type);\n}\n\nfunction·printTopLevelParts(\n····n:·ASTNode,\n····options:·ParserOptions,\n····path:·FastPath<any>,\n····print:·PrintFn,\n):·Doc·{\n····if·(options.svelteSortOrder·===·'none')·{\n········const·topLevelPartsByEnd:·Record<number,·any>·=·{};\n········const·topLevelPartsByStart:·Record<number,·any>·=·{};\n\n········if·(n.module)·{\n············topLevelPartsByEnd[n.module.end]·=·n.module;\n············topLevelPartsByStart[n.module.start]·=·n.module;\n········}\n········if·(n.instance)·{\n············topLevelPartsByEnd[n.instance.end]·=·n.instance;\n············topLevelPartsByStart[n.instance.start]·=·n.instance;\n········}\n········if·(n.css)·{\n············topLevelPartsByEnd[n.css.end]·=·n.css;\n············topLevelPartsByStart[n.css.start]·=·n.css;\n········}\n\n········const·children·=·getChildren(n.html);\n········for·(let·i·=·0;·i·<·children.length;·i++)·{\n············const·node·=·children[i];\n············if·(topLevelPartsByEnd[node.start])·{\n················children.splice(i,·0,·topLevelPartsByEnd[node.start]);\n················delete·topLevelPartsByEnd[node.start];\n············}·else·if·(i·===·children.length·-·1·&&·topLevelPartsByStart[node.end])·{\n················children.push(topLevelPartsByStart[node.end]);\n············}\n········}\n\n········const·result·=·path.call(print,·'html');\n········if·(options.insertPragma·&&·!hasPragma(options.originalText))·{\n············return·[`<!--·@format·-->`,·hardline,·result];\n········}·else·{\n············return·result;\n········}\n····}\n\n····const·parts:·Record<SortOrderPart,·Doc[]>·=·{\n········options:·[],\n········scripts:·[],\n········markup:·[],\n········styles:·[],\n····};\n\n····//·scripts\n····if·(n.module)·{\n········parts.scripts.push(path.call(print,·'module'));\n····}\n····if·(n.instance)·{\n········parts.scripts.push(path.call(print,·'instance'));\n····}\n\n····//·styles\n····if·(n.css)·{\n········parts.styles.push(path.call(print,·'css'));\n····}\n\n····//·markup\n····const·htmlDoc·=·path.call(print,·'html');\n····if·(htmlDoc)·{\n········parts.markup.push(htmlDoc);\n····}\n····if·(svelteOptionsDoc)·{\n········parts.options.push(svelteOptionsDoc);\n····}\n\n····const·docs·=·flatten(parseSortOrder(options.svelteSortOrder).map((p)·=>·parts[p]));\n\n····//·Need·to·reset·these·because·they·are·global·and·could·affect·the·next·formatting·run\n····ignoreNext·=·false;\n····ignoreRange·=·false;\n····svelteOptionsDoc·=·undefined;\n\n····//·If·this·is·invoked·as·an·embed·of·markdown,·remove·the·last·hardline.\n····//·The·markdown·parser·tries·this,·too,·but·fails·because·it·does·not\n····//·recurse·into·concats.·Doing·this·will·prevent·an·empty·line\n····//·at·the·end·of·the·embedded·code·block.\n····if·(options.parentParser·===·'markdown')·{\n········const·lastDoc·=·docs[docs.length·-·1];\n········trimRight([lastDoc],·isLine);\n····}\n\n····if·(options.insertPragma·&&·!hasPragma(options.originalText))·{\n········return·[`<!--·@format·-->`,·hardline,·group(docs)];\n····}·else·{\n········return·group([join(hardline,·docs)]);\n····}\n}\n\nfunction·printAttributeNodeValue(\n····path:·FastPath<any>,\n····print:·PrintFn,\n····quotes:·boolean,\n····node:·AttributeNode·|·StyleDirectiveNode,\n)·{\n····const·valueDocs·=·path.map((childPath)·=>·childPath.call(print),·'value');\n\n····if·(!quotes·||·!formattableAttributes.includes(node.name))·{\n········return·valueDocs;\n····}·else·{\n········return·indent(group(trim(valueDocs,·isLine)));\n····}\n}\n\nfunction·printSvelteBlockChildren(path:·FastPath,·print:·PrintFn,·options:·ParserOptions):·Doc·{\n····const·node·=·path.getValue();\n····const·children·=·node.children;\n····if·(!children·||·children.length·===·0)·{\n········return·'';\n····}\n\n····const·whitespaceAtStartOfBlock·=·checkWhitespaceAtStartOfSvelteBlock(node,·options);\n····const·whitespaceAtEndOfBlock·=·checkWhitespaceAtEndOfSvelteBlock(node,·options);\n····const·startline·=\n········whitespaceAtStartOfBlock·===·'none'\n············?·''\n············:·whitespaceAtEndOfBlock·===·'line'·||·whitespaceAtStartOfBlock·===·'line'\n············?·hardline\n············:·line;\n····const·endline·=\n········whitespaceAtEndOfBlock·===·'none'\n············?·''\n············:·whitespaceAtEndOfBlock·===·'line'·||·whitespaceAtStartOfBlock·===·'line'\n············?·hardline\n············:·line;\n\n····const·firstChild·=·children[0];\n····const·lastChild·=·children[children.length·-·1];\n····if·(isTextNodeStartingWithWhitespace(firstChild))·{\n········trimTextNodeLeft(firstChild);\n····}\n····if·(isTextNodeEndingWithWhitespace(lastChild))·{\n········trimTextNodeRight(lastChild);\n····}\n\n····return·[indent([startline,·group(printChildren(path,·print,·options))]),·endline];\n}\n\nfunction·printPre(\n····node:·Parameters<typeof·printRaw>[0],\n····originalText:·string,\n····path:·FastPath,\n····print:·PrintFn,\n):·Doc·{\n····const·result:·Doc·=·[];\n····const·length·=·node.children.length;\n····for·(let·i·=·0;·i·<·length;·i++)·{\n········const·child·=·node.children[i];\n········if·(child.type·===·'Text')·{\n············const·lines·=·originalText.substring(child.start,·child.end).split(/\\r?\\n/);\n············lines.forEach((line,·j)·=>·{\n················if·(j·>·0)·result.push(literalline);\n················result.push(line);\n············});\n········}·else·{\n············result.push(path.call(print,·'children',·i));\n········}\n····}\n····return·result;\n}\n\nfunction·printChildren(path:·FastPath,·print:·PrintFn,·options:·ParserOptions):·Doc·{\n····if·(isPreTagContent(path))·{\n········return·path.map(print,·'children');\n····}\n\n····const·childNodes:·Node[]·=·prepareChildren(path.getValue().children,·path,·print,·options);\n····//·modify·original·array·because·it's·accessed·later·through·map(print,·'children',·idx)\n····path.getValue().children·=·childNodes;\n····if·(childNodes.length·===·0)·{\n········return·'';\n····}\n\n····const·childDocs:·Doc[]·=·[];\n····let·handleWhitespaceOfPrevTextNode·=·false;\n\n····for·(let·i·=·0;·i·<·childNodes.length;·i++)·{\n········const·childNode·=·childNodes[i];\n········if·(childNode.type·===·'Text')·{\n············handleTextChild(i,·childNode);\n········}·else·if·(isBlockElement(childNode,·options))·{\n············handleBlockChild(i);\n········}·else·if·(isInlineElement(path,·options,·childNode))·{\n············handleInlineChild(i);\n········}·else·{\n············childDocs.push(printChild(i));\n············handleWhitespaceOfPrevTextNode·=·false;\n········}\n····}\n\n····//·If·there's·at·least·one·block·element·and·more·than·one·node,·break·content\n····const·forceBreakContent·=\n········childNodes.length·>·1·&&·childNodes.some((child)·=>·isBlockElement(child,·options));\n····if·(forceBreakContent)·{\n········childDocs.push(breakParent);\n····}\n\n····return·childDocs;\n\n····function·printChild(idx:·number):·Doc·{\n········return·path.call(print,·'children',·idx);\n····}\n\n····/**\n·····*·Print·inline·child.·Hug·whitespace·of·previous·text·child·if·there·was·one.\n·····*/\n····function·handleInlineChild(idx:·number)·{\n········if·(handleWhitespaceOfPrevTextNode)·{\n············childDocs.push(group([line,·printChild(idx)]));\n········}·else·{\n············childDocs.push(printChild(idx));\n········}\n········handleWhitespaceOfPrevTextNode·=·false;\n····}\n\n····/**\n·····*·Print·block·element.·Add·softlines·around·it·if·needed\n·····*·so·it·breaks·into·a·separate·line·if·children·are·broken·up.\n·····*·Don't·add·lines·at·the·start/end·if·it's·the·first/last·child·because·this\n·····*·kind·of·whitespace·handling·is·done·in·the·parent·already.\n·····*/\n····function·handleBlockChild(idx:·number)·{\n········const·prevChild·=·childNodes[idx·-·1];\n········if·(\n············prevChild·&&\n············!isBlockElement(prevChild,·options)·&&\n············(prevChild.type·!==·'Text'·||\n················handleWhitespaceOfPrevTextNode·||\n················!isTextNodeEndingWithWhitespace(prevChild))\n········)·{\n············childDocs.push(softline);\n········}\n\n········childDocs.push(printChild(idx));\n\n········const·nextChild·=·childNodes[idx·+·1];\n········if·(\n············nextChild·&&\n············(nextChild.type·!==·'Text'·||\n················//·Only·handle·text·which·starts·with·a·whitespace·and·has·text·afterwards,\n················//·or·is·empty·but·followed·by·an·inline·element.·The·latter·is·done\n················//·so·that·if·the·children·break,·the·inline·element·afterwards·is·in·a·separate·line.\n················((!isEmptyTextNode(nextChild)·||\n····················(childNodes[idx·+·2]·&&·isInlineElement(path,·options,·childNodes[idx·+·2])))·&&\n····················!isTextNodeStartingWithLinebreak(nextChild)))\n········)·{\n············childDocs.push(softline);\n········}\n········handleWhitespaceOfPrevTextNode·=·false;\n····}\n\n····/**\n·····*·Print·text·child.·First/last·child·white·space·handling\n·····*·is·done·in·parent·already.·By·definition·of·the·Svelte·AST,\n·····*·a·text·node·always·is·inbetween·other·tags.·Add·hardlines\n·····*·if·the·users·wants·to·have·them·inbetween.\n·····*·If·the·text·is·trimmed·right,·toggle·flag·telling\n·····*·subsequent·(inline)block·element·to·alter·its·printing·logic\n·····*·to·check·if·they·need·to·hug·or·print·lines·themselves.\n·····*/\n····function·handleTextChild(idx:·number,·childNode:·TextNode)·{\n········handleWhitespaceOfPrevTextNode·=·false;\n\n········if·(idx·===·0·||·idx·===·childNodes.length·-·1)·{\n············childDocs.push(printChild(idx));\n············return;\n········}\n\n········const·prevNode·=·childNodes[idx·-·1];\n········const·nextNode·=·childNodes[idx·+·1];\n\n········if·(\n············isTextNodeStartingWithWhitespace(childNode)·&&\n············//·If·node·is·empty,·go·straight·through·to·checking·the·right·end\n············!isEmptyTextNode(childNode)\n········)·{\n············if·(\n················isInlineElement(path,·options,·prevNode)·&&\n················!isTextNodeStartingWithLinebreak(childNode)\n············)·{\n················trimTextNodeLeft(childNode);\n················const·lastChildDoc·=·childDocs.pop()!;\n················childDocs.push(group([lastChildDoc,·line]));\n············}\n\n············if·(isBlockElement(prevNode,·options)·&&·!isTextNodeStartingWithLinebreak(childNode))·{\n················trimTextNodeLeft(childNode);\n············}\n········}\n\n········if·(isTextNodeEndingWithWhitespace(childNode))·{\n············if·(\n················isInlineElement(path,·options,·nextNode)·&&\n················!isTextNodeEndingWithLinebreak(childNode)\n············)·{\n················handleWhitespaceOfPrevTextNode·=·!prevNode·||·!isBlockElement(prevNode,·options);\n················trimTextNodeRight(childNode);\n············}\n············if·(isBlockElement(nextNode,·options)·&&·!isTextNodeEndingWithLinebreak(childNode,·2))·{\n················handleWhitespaceOfPrevTextNode·=·!prevNode·||·!isBlockElement(prevNode,·options);\n················trimTextNodeRight(childNode);\n············}\n········}\n\n········childDocs.push(printChild(idx));\n····}\n}\n\n/**\n·*·`svelte:options`·is·part·of·the·html·part·but·needs·to·be·snipped·out·and·handled\n·*·separately·to·reorder·it·as·configured.·The·comment·above·it·should·be·moved·with·it.\n·*·Do·that·here.\n·*/\nfunction·prepareChildren(\n····children:·Node[],\n····path:·FastPath,\n····print:·PrintFn,\n····options:·ParserOptions,\n):·Node[]·{\n····let·svelteOptionsComment:·Doc·|·undefined;\n····const·childrenWithoutOptions·=·[];\n····const·bracketSameLine·=·isBracketSameLine(options);\n\n····for·(let·idx·=·0;·idx·<·children.length;·idx++)·{\n········const·currentChild·=·children[idx];\n\n········if·(currentChild.type·===·'Text'·&&·getUnencodedText(currentChild)·===·'')·{\n············continue;\n········}\n\n········if·(isEmptyTextNode(currentChild)·&&·doesEmbedStartAfterNode(currentChild,·path))·{\n············continue;\n········}\n\n········if·(options.svelteSortOrder·!==·'none')·{\n············if·(isCommentFollowedByOptions(currentChild,·idx))·{\n················svelteOptionsComment·=·printComment(currentChild);\n················const·nextChild·=·children[idx·+·1];\n················idx·+=·nextChild·&&·isEmptyTextNode(nextChild)·?·1·:·0;\n················continue;\n············}\n\n············if·(currentChild.type·===·'Options')·{\n················printSvelteOptions(currentChild,·idx,·path,·print);\n················continue;\n············}\n········}\n\n········childrenWithoutOptions.push(currentChild);\n····}\n\n····const·mergedChildrenWithoutOptions·=·[];\n\n····for·(let·idx·=·0;·idx·<·childrenWithoutOptions.length;·idx++)·{\n········const·currentChild·=·childrenWithoutOptions[idx];\n········const·nextChild·=·childrenWithoutOptions[idx·+·1];\n\n········if·(currentChild.type·===·'Text'·&&·nextChild·&&·nextChild.type·===·'Text')·{\n············//·A·tag·was·snipped·out·(f.e.·svelte:options).·Join·text\n············currentChild.raw·+=·nextChild.raw;\n············currentChild.data·+=·nextChild.data;\n············idx++;\n········}\n\n········mergedChildrenWithoutOptions.push(currentChild);\n····}\n\n····return·mergedChildrenWithoutOptions;\n\n····function·printSvelteOptions(\n········node:·OptionsNode,\n········idx:·number,\n········path:·FastPath,\n········print:·PrintFn,\n····):·void·{\n········svelteOptionsDoc·=·group([\n············[\n················'<',\n················node.name,\n················indent(\n····················group([\n························...path.map(\n····························printWithPrependedAttributeLine(node,·options,·print),\n····························'children',\n····························idx,\n····························'attributes',\n························),\n························bracketSameLine·?·''·:·dedent(line),\n····················]),\n················),\n················...[bracketSameLine·?·'·'·:·'',·'/>'],\n············],\n············hardline,\n········]);\n········if·(svelteOptionsComment)·{\n············svelteOptionsDoc·=·group([svelteOptionsComment,·hardline,·svelteOptionsDoc]);\n········}\n····}\n\n····function·isCommentFollowedByOptions(node:·Node,·idx:·number):·node·is·CommentNode·{\n········if·(node.type·!==·'Comment'·||·isIgnoreEndDirective(node)·||·isIgnoreStartDirective(node))·{\n············return·false;\n········}\n\n········const·nextChild·=·children[idx·+·1];\n········if·(nextChild)·{\n············if·(isEmptyTextNode(nextChild))·{\n················const·afterNext·=·children[idx·+·2];\n················return·afterNext·&&·afterNext.type·===·'Options';\n············}\n············return·nextChild.type·===·'Options';\n········}\n\n········return·false;\n····}\n}\n\n/**\n·*·Split·the·text·into·words·separated·by·whitespace.·Replace·the·whitespaces·by·lines,\n·*·collapsing·multiple·whitespaces·into·a·single·line.\n·*\n·*·If·the·text·starts·or·ends·with·multiple·newlines,·two·of·those·should·be·kept.\n·*/\nfunction·splitTextToDocs(node:·TextNode):·Doc[]·{\n····const·text·=·getUnencodedText(node);\n····const·lines·=·text.split(/[\\t\\n\\f\\r·]+/);\n\n····let·docs·=·join(line,·lines).filter((doc)·=>·doc·!==·'');\n\n····if·(startsWithLinebreak(text))·{\n········docs[0]·=·hardline;\n····}\n····if·(startsWithLinebreak(text,·2))·{\n········docs·=·[hardline,·...docs];\n····}\n\n····if·(endsWithLinebreak(text))·{\n········docs[docs.length·-·1]·=·hardline;\n····}\n····if·(endsWithLinebreak(text,·2))·{\n········docs·=·[...docs,·hardline];\n····}\n\n····return·docs;\n}\n\nfunction·printJS(path:·FastPath,·print:·PrintFn,·name:·string)·{\n····return·path.call(print,·name);\n}\n\nfunction·expandNode(node:·any,·original:·string):·string·{\n····let·str·=·_expandNode(node);\n····if·(node?.typeAnnotation)·{\n········str·+=\n············':·'·+\n············original.slice(\n················node.typeAnnotation.typeAnnotation.start,\n················node.typeAnnotation.typeAnnotation.end,\n············);\n····}\n····return·str;\n}\n\nfunction·_expandNode(node:·any,·parent?:·any):·string·{\n····if·(node·===·null)·{\n········return·'';\n····}\n\n····if·(typeof·node·===·'string')·{\n········//·pre-v3.20·AST\n········return·'·'·+·node;\n····}\n\n····switch·(node.type)·{\n········case·'ArrayExpression':\n········case·'ArrayPattern':\n············return·(\n················'·['·+\n················node.elements\n····················//·handle·null·specifically·here;·else·it·would·become·the·empty·string,·but·that·would·mean\n····················//·fewer·elements·in·the·array,·which·would·change·the·meaning·of·the·array\n····················.map((el:·any)·=>·(el·===·null·?·'·'·:·_expandNode(el)))\n····················.join(',')\n····················.slice(1)·+\n················']'\n············);\n········case·'AssignmentPattern':\n············return·_expandNode(node.left)·+·'·='·+·_expandNode(node.right);\n········case·'Identifier':\n············return·'·'·+·node.name;\n········case·'Literal':\n············return·'·'·+·node.raw;\n········case·'ObjectExpression':\n············return·'·{'·+·node.properties.map((p:·any)·=>·_expandNode(p,·node)).join(',')·+·'·}';\n········case·'ObjectPattern':\n············return·'·{'·+·node.properties.map(_expandNode).join(',')·+·'·}';\n········case·'Property':\n············if·(node.value.type·===·'ObjectPattern'·||·node.value.type·===·'ArrayPattern')·{\n················return·'·'·+·node.key.name·+·':'·+·_expandNode(node.value);\n············}·else·if·(\n················(node.value.type·===·'Identifier'·&&·node.key.name·!==·node.value.name)·||\n················(parent·&&·parent.type·===·'ObjectExpression')\n············)·{\n················return·_expandNode(node.key)·+·':'·+·_expandNode(node.value);\n············}·else·{\n················return·_expandNode(node.value);\n············}\n········case·'RestElement':\n············return·'·...'·+·node.argument.name;\n····}\n\n····console.error(JSON.stringify(node,·null,·4));\n····throw·new·Error('unknown·node·type:·'·+·node.type);\n}\n\nfunction·printComment(node:·CommentNode)·{\n····let·text·=·node.data;\n\n····if·(hasSnippedContent(text))·{\n········text·=·unsnipContent(text);\n····}\n\n····return·group(['<!--',·text,·'-->']);\n}\n", |
| 42 | ········"import·{·ParserOptions·}·from·'../options';\r\nimport·{·Node·}·from·'../print/nodes';\r\nimport·{·hasSnippedContent,·unsnipContent·}·from·'./snipTagContent';\r\n\r\nexport·function·getText(node:·Node,·options:·ParserOptions,·unsnip·=·false)·{\r\n····const·leadingComments:·Node[]·=·(node·as·any).leadingComments;\r\n····const·text·=·options.originalText.slice(\r\n········options.locStart(\r\n············//·if·there·are·comments·before·the·node·they·are·not·included\r\n············//·in·the·`start`·of·the·node·itself\r\n············(leadingComments·&&·leadingComments[0])·||·node,\r\n········),\r\n········options.locEnd(node),\r\n····);\r\n\r\n····if·(!unsnip·||·!hasSnippedContent(text))·{\r\n········return·text;\r\n····}\r\n\r\n····return·unsnipContent(text);\r\n}\r\n", | 43 | ········"import·{·ParserOptions·}·from·'../options';\r\nimport·{·Node·}·from·'../print/nodes';\r\nimport·{·hasSnippedContent,·unsnipContent·}·from·'./snipTagContent';\r\n\r\nexport·function·getText(node:·Node,·options:·ParserOptions,·unsnip·=·false)·{\r\n····const·leadingComments:·Node[]·=·(node·as·any).leadingComments;\r\n····const·text·=·options.originalText.slice(\r\n········options.locStart(\r\n············//·if·there·are·comments·before·the·node·they·are·not·included\r\n············//·in·the·`start`·of·the·node·itself\r\n············(leadingComments·&&·leadingComments[0])·||·node,\r\n········),\r\n········options.locEnd(node),\r\n····);\r\n\r\n····if·(!unsnip·||·!hasSnippedContent(text))·{\r\n········return·text;\r\n····}\r\n\r\n····return·unsnipContent(text);\r\n}\r\n", |
| 43 | ········"import·{·AttributeNode,·TextNode·}·from·'../print/nodes';\r\n\r\nconst·extractAttributesRegex·=\r\n····/<[a-z]+((?:\\s+[^=>'\"\\/]+=(?:\"[^\"]*\"|'[^']*'|[^>\\s]+)|\\s+[^=>'\"\\/]+)*\\s*)>/im;\r\nconst·attributeRegex·=·/([^\\s=]+)(?:=(?:(?:(\"|')([\\s\\S]*?)\\2)|(?:([^>\\s]+?)(?:\\s|>|$))))?/gim;\r\n\r\nexport·function·extractAttributes(html:·string):·AttributeNode[]·{\r\n····const·[,·attributesString]·=·html.match(extractAttributesRegex)!;\r\n\r\n····const·attrs:·AttributeNode[]·=·[];\r\n\r\n····let·match:·RegExpMatchArray·|·null;\r\n····while·((match·=·attributeRegex.exec(attributesString)))·{\r\n········const·[all,·name,·quotes,·valueQuoted,·valueUnquoted]·=·match;\r\n········const·value·=·valueQuoted·||·valueUnquoted;\r\n········const·attrStart·=·match.index!;\r\n\r\n········let·valueNode:·AttributeNode['value'];\r\n········if·(!value)·{\r\n············valueNode·=·true;\r\n········}·else·{\r\n············let·valueStart·=·attrStart·+·name.length;\r\n············if·(quotes)·{\r\n················valueStart·+=·2;\r\n············}\r\n\r\n············valueNode·=·[\r\n················{\r\n····················type:·'Text',\r\n····················data:·value,\r\n····················start:·valueStart,\r\n····················end:·valueStart·+·value.length,\r\n················}·as·TextNode,\r\n············];\r\n········}\r\n\r\n········attrs.push({\r\n············type:·'Attribute',\r\n············name,\r\n············value:·valueNode,\r\n············start:·attrStart,\r\n············end:·attrStart·+·all.length,\r\n········});\r\n····}\r\n\r\n····return·attrs;\r\n}\r\n", | 44 | ········"import·{·AttributeNode,·TextNode·}·from·'../print/nodes';\r\n\r\nconst·extractAttributesRegex·=\r\n····/<[a-z]+((?:\\s+[^=>'\"\\/]+=(?:\"[^\"]*\"|'[^']*'|[^>\\s]+)|\\s+[^=>'\"\\/]+)*\\s*)>/im;\r\nconst·attributeRegex·=·/([^\\s=]+)(?:=(?:(?:(\"|')([\\s\\S]*?)\\2)|(?:([^>\\s]+?)(?:\\s|>|$))))?/gim;\r\n\r\nexport·function·extractAttributes(html:·string):·AttributeNode[]·{\r\n····const·[,·attributesString]·=·html.match(extractAttributesRegex)!;\r\n\r\n····const·attrs:·AttributeNode[]·=·[];\r\n\r\n····let·match:·RegExpMatchArray·|·null;\r\n····while·((match·=·attributeRegex.exec(attributesString)))·{\r\n········const·[all,·name,·quotes,·valueQuoted,·valueUnquoted]·=·match;\r\n········const·value·=·valueQuoted·||·valueUnquoted;\r\n········const·attrStart·=·match.index!;\r\n\r\n········let·valueNode:·AttributeNode['value'];\r\n········if·(!value)·{\r\n············valueNode·=·true;\r\n········}·else·{\r\n············let·valueStart·=·attrStart·+·name.length;\r\n············if·(quotes)·{\r\n················valueStart·+=·2;\r\n············}\r\n\r\n············valueNode·=·[\r\n················{\r\n····················type:·'Text',\r\n····················data:·value,\r\n····················start:·valueStart,\r\n····················end:·valueStart·+·value.length,\r\n················}·as·TextNode,\r\n············];\r\n········}\r\n\r\n········attrs.push({\r\n············type:·'Attribute',\r\n············name,\r\n············value:·valueNode,\r\n············start:·attrStart,\r\n············end:·attrStart·+·all.length,\r\n········});\r\n····}\r\n\r\n····return·attrs;\r\n}\r\n", |
| 44 | ········"import·{·Doc,·doc,·FastPath,·Options·}·from·'prettier';\nimport·{·getText·}·from·'./lib/getText';\nimport·{·snippedTagContentAttribute·}·from·'./lib/snipTagContent';\nimport·{·isBracketSameLine,·ParserOptions·}·from·'./options';\nimport·{·PrintFn·}·from·'./print';\nimport·{·isLine,·rem | 45 | ········"import·{·Doc,·doc,·FastPath,·Options,·util·}·from·'prettier';\nimport·{·getText·}·from·'./lib/getText';\nimport·{·snippedTagContentAttribute·}·from·'./lib/snipTagContent';\nimport·{·isBracketSameLine,·ParserOptions·}·from·'./options';\nimport·{·PrintFn·}·from·'./print';\nimport·{·isLine,·rem[·...·truncated·by·diffoscope;·len:·18905,·SHA:·0bcb3a3f6467f37f7a0aab56746d6665166c242cd0b53766bef303f2fbbd3329·...·]\n}\n", |
| 45 | ········"import·{·SupportLanguage,·Parser,·Printer·}·from·'prettier';\nimport·*·as·prettierPluginBabel·from·'prettier/plugins/babel';\nimport·{·hasPragma,·print·}·from·'./print';\nimport·{·ASTNode·}·from·'./print/nodes';\nimport·{·embed,·getVisitorKeys·}·from·'./embed';\nimport·{·snipScriptAndStyleTagContent·}·from·'./lib/snipTagContent';\nimport·{·parse,·VERSION·}·from·'svelte/compiler';\nimport·{·ParserOptions·}·from·'./options';\n\nconst·babelParser·=·prettierPluginBabel.parsers.babel;\nconst·typescriptParser·=·prettierPluginBabel.parsers['babel-ts'];·//·TODO·use·TypeScript·parser·in·next·major?\nconst·isSvelte5Plus·=·Number(VERSION.split('.')[0])·>=·5;\n\nfunction·locStart(node:·any)·{\n····return·node.start;\n}\n\nfunction·locEnd(node:·any)·{\n····return·node.end;\n}\n\nexport·const·languages:·Partial<SupportLanguage>[]·=·[\n····{\n········name:·'svelte',\n········parsers:·['svelte'],\n········extensions:·['.svelte'],\n········vscodeLanguageIds:·['svelte'],\n····},\n];\n\nexport·const·parsers:·Record<string,·Parser>·=·{\n····svelte:·{\n········hasPragma,\n········parse:·async·(text,·options:·ParserOptions)·=>·{\n············try·{\n················let·_parse·=·parse;\n················if·(options.svelte5CompilerPath)·{\n····················try·{\n························_parse·=·(await·import(options.svelte5CompilerPath)).parse;\n····················}·catch·(e)·{\n························console.warn(\n····························`Failed·to·load·Svelte·5·compiler·from·${options.svelte5CompilerPath}`,\n························);\n························console.warn(e);\n························options.svelte5CompilerPath·=·undefined;\n····················}\n················}\n\n················ | 46 | ········"import·{·SupportLanguage,·Parser,·Printer·}·from·'prettier';\nimport·*·as·prettierPluginBabel·from·'prettier/plugins/babel';\nimport·{·hasPragma,·print·}·from·'./print';\nimport·{·ASTNode·}·from·'./print/nodes';\nimport·{·embed,·getVisitorKeys·}·from·'./embed';\nimport·{·snipScriptAndStyleTagContent·}·from·'./lib/snipTagContent';\nimport·{·parse,·VERSION·}·from·'svelte/compiler';\nimport·{·ParserOptions·}·from·'./options';\n\nconst·babelParser·=·prettierPluginBabel.parsers.babel;\nconst·typescriptParser·=·prettierPluginBabel.parsers['babel-ts'];·//·TODO·use·TypeScript·parser·in·next·major?\nconst·isSvelte5Plus·=·Number(VERSION.split('.')[0])·>=·5;\n\nfunction·locStart(node:·any)·{\n····return·node.start;\n}\n\nfunction·locEnd(node:·any)·{\n····return·node.end;\n}\n\nexport·const·languages:·Partial<SupportLanguage>[]·=·[\n····{\n········name:·'svelte',\n········parsers:·['svelte'],\n········extensions:·['.svelte'],\n········vscodeLanguageIds:·['svelte'],\n····},\n];\n\nexport·const·parsers:·Record<string,·Parser>·=·{\n····svelte:·{\n········hasPragma,\n········parse:·async·(text,·options:·ParserOptions)·=>·{\n············try·{\n················let·_parse·=·parse;\n················if·(options.svelte5CompilerPath)·{\n····················try·{\n························_parse·=·(await·import(options.svelte5CompilerPath)).parse;\n····················}·catch·(e)·{\n························console.warn(\n····························`Failed·to·load·Svelte·5·compiler·from·${options.svelte5CompilerPath}`,\n························);\n························console.warn(e);\n························options.svelte5CompilerPath·=·undefined;\n····················}\n················}\n\n················const·root·=·_parse(text)·as·Record<string,·any>;\n················(root·as·ASTNode).__isRoot·=·true;\n\n················//·TODO·this·will·need·to·be·done·once·we·switch·to·the·modern·parser·output:\n················//·Prettier·does·a·sanity·check·on·ast.c[·...·truncated·by·diffoscope;·len:·3347,·SHA:·353bb17e615da7a7241387039101e0d1da02d80b25c9bf70a1faabc3aa5651f1·...·],\n····},\n};\n\nexport·{·options·}·from·'./options';\n" |
| 46 | ····], | 47 | ····], |
| 47 | ····"version":·3 | 48 | ····"version":·3 |
| 48 | } | 49 | } |
| Offset 86, 14 lines modified | Offset 86, 19 lines modified | ||
| 86 | ········version?:·string; | 86 | ········version?:·string; |
| 87 | ········/** | 87 | ········/** |
| 88 | ·········*·If·true,·emits·JSDoc·annotations·for·types·in·JS·files·instead·of·TypeScript·syntax. | 88 | ·········*·If·true,·emits·JSDoc·annotations·for·types·in·JS·files·instead·of·TypeScript·syntax. |
| 89 | ·········*·This·is·useful·for·svelte-check's·incremental·mode·where·the·output·needs·to·be | 89 | ·········*·This·is·useful·for·svelte-check's·incremental·mode·where·the·output·needs·to·be |
| 90 | ·········*·valid·JS·that·tsc·can·process·without·errors. | 90 | ·········*·valid·JS·that·tsc·can·process·without·errors. |
| 91 | ·········*/ | 91 | ·········*/ |
| 92 | ········emitJsDoc?:·boolean; | 92 | ········emitJsDoc?:·boolean; |
| 93 | ········/** | ||
| 94 | ·········*·Rewrites·relative·imports·that·resolve·outside·the·workspace·so·they·stay·valid | ||
| 95 | ·········*·from·the·generated·file·location. | ||
| 96 | ·········*/ | ||
| 97 | ········rewriteExternalImports?:·InternalHelpers.RewriteExternalImportsConfig; | ||
| 93 | ····} | 98 | ····} |
| 94 | ):·SvelteCompiledToTsx | 99 | ):·SvelteCompiledToTsx |
| 95 | export·interface·EmitDtsConfig·{ | 100 | export·interface·EmitDtsConfig·{ |
| 96 | ····/** | 101 | ····/** |
| 97 | ·····*·Where·to·output·the·declaration·files | 102 | ·····*·Where·to·output·the·declaration·files |
| 98 | ·····*/ | 103 | ·····*/ |
| Offset 159, 15 lines modified | Offset 164, 16 lines modified | ||
| 159 | ····)·=>·boolean, | 164 | ····)·=>·boolean, |
| 160 | ····isParamsFile:·(fileName:·string,·basename:·string,·paramsPath:·string)·=>boolean, | 165 | ····isParamsFile:·(fileName:·string,·basename:·string,·paramsPath:·string)·=>boolean, |
| 161 | ····upsertKitFile:·( | 166 | ····upsertKitFile:·( |
| 162 | ········_ts:·typeof·ts, | 167 | ········_ts:·typeof·ts, |
| 163 | ········fileName:·string, | 168 | ········fileName:·string, |
| 164 | ········kitFilesSettings:·InternalHelpers.KitFilesSettings, | 169 | ········kitFilesSettings:·InternalHelpers.KitFilesSettings, |
| 165 | ········getSource:·()·=>·ts.SourceFile·|·undefined, | 170 | ········getSource:·()·=>·ts.SourceFile·|·undefined, |
| 166 | ········surround?:·(code:·string)·=>·string | 171 | ········surround?:·(code:·string)·=>·string, |
| 172 | ········rewriteExternalImports?:·InternalHelpers.RewriteExternalImportsConfig | ||
| 167 | ····)·=>·{·text:·string;·addedCode:·InternalHelpers.AddedCode[]·}·|·undefined, | 173 | ····)·=>·{·text:·string;·addedCode:·InternalHelpers.AddedCode[]·}·|·undefined, |
| 168 | ····toVirtualPos:·(pos:·number,·addedCode:·InternalHelpers.AddedCode[])·=>·number, | 174 | ····toVirtualPos:·(pos:·number,·addedCode:·InternalHelpers.AddedCode[])·=>·number, |
| 169 | ····toOriginalPos:·(pos:·number,·addedCode:·InternalHelpers.AddedCode[])·=>·{pos:·number;·inGenerated:·boolean}, | 175 | ····toOriginalPos:·(pos:·number,·addedCode:·InternalHelpers.AddedCode[])·=>·{pos:·number;·inGenerated:·boolean}, |
| 170 | ····findExports:·(_ts:·typeof·ts,·source:·ts.SourceFile,·isTsFile:·boolean)·=>·Map< | 176 | ····findExports:·(_ts:·typeof·ts,·source:·ts.SourceFile,·isTsFile:·boolean)·=>·Map< |
| 171 | ········string, | 177 | ········string, |
| 172 | ········|·{ | 178 | ········|·{ |
| 173 | ············type:·'function'; | 179 | ············type:·'function'; |
| Offset 197, 8 lines modified | Offset 203, 13 lines modified | ||
| 197 | ····export·interface·KitFilesSettings·{ | 203 | ····export·interface·KitFilesSettings·{ |
| 198 | ········serverHooksPath:·string; | 204 | ········serverHooksPath:·string; |
| 199 | ········clientHooksPath:·string; | 205 | ········clientHooksPath:·string; |
| 200 | ········universalHooksPath:·string; | 206 | ········universalHooksPath:·string; |
| 201 | ········paramsPath:·string; | 207 | ········paramsPath:·string; |
| 202 | ····} | 208 | ····} |
| 209 | ····export·interface·RewriteExternalImportsConfig·{ | ||
| 210 | ········workspacePath:·string; | ||
| 211 | ········generatedPath:·string; | ||
| 212 | ····} | ||
| 203 | } | 213 | } |
| Offset 1, 16 lines modified | Offset 1, 16 lines modified | ||
| 00000000:·2775·7365·2073·7472·6963·7427·3b0a·0a76··'use·strict';..v | 00000000:·2775·7365·2073·7472·6963·7427·3b0a·0a76··'use·strict';..v | ||
| 00000010:·6172·2064·6564·656e·7420·3d20·7265·7175··ar·dedent·=·requ | 00000010:·6172·2064·6564·656e·7420·3d20·7265·7175··ar·dedent·=·requ | ||
| 00000020:·6972·6528·2764·6564·656e·742d·6a73·2729··ire('dedent-js') | 00000020:·6972·6528·2764·6564·656e·742d·6a73·2729··ire('dedent-js') | ||
| 00000030:·3b0a·7661·7220·7473·203d·2072·6571·7569··;.var·ts·=·requi | 00000030:·3b0a·7661·7220·7473·203d·2072·6571·7569··;.var·ts·=·requi | ||
| 00000040:·7265·2827·7479·7065·7363·7269·7074·2729··re('typescript') | 00000040:·7265·2827·7479·7065·7363·7269·7074·2729··re('typescript') | ||
| 00000050:·3b0a·7661·7220·7363·756c·6520·3d20·7265··;.var·scule·=·re | |||
| 00000060:·7175·6972·6528·2773·6375·6c65·2729·3b0a··quire('scule');. | |||
| 000000 | 00000050:·3b0a·7661·7220·7061·7468·203d·2072·6571··;.var·path·=·req | ||
| 000000 | 00000060:·7569·7265·2827·7061·7468·2729·3b0a·7661··uire('path');.va | ||
| 00000070:·7220·7363·756c·6520·3d20·7265·7175·6972··r·scule·=·requir | |||
| 00000080:·6528·2773·6375·6c65·2729·3b0a·7661·7220··e('scule');.var· | |||
| 00000090:·636f·6d70·696c·6572·203d·2072·6571·7569··compiler·=·requi | 00000090:·636f·6d70·696c·6572·203d·2072·6571·7569··compiler·=·requi | ||
| 000000a0:·7265·2827·7376·656c·7465·2f63·6f6d·7069··re('svelte/compi | 000000a0:·7265·2827·7376·656c·7465·2f63·6f6d·7069··re('svelte/compi | ||
| 000000b0:·6c65·7227·293b·0a0a·6675·6e63·7469·6f6e··ler');..function | 000000b0:·6c65·7227·293b·0a0a·6675·6e63·7469·6f6e··ler');..function | ||
| 000000c0:·205f·696e·7465·726f·704e·616d·6573·7061···_interopNamespa | 000000c0:·205f·696e·7465·726f·704e·616d·6573·7061···_interopNamespa | ||
| 000000d0:·6365·4465·6661·756c·7428·6529·207b·0a20··ceDefault(e)·{.· | 000000d0:·6365·4465·6661·756c·7428·6529·207b·0a20··ceDefault(e)·{.· | ||
| 000000e0:·2020·2076·6172·206e·203d·204f·626a·6563·····var·n·=·Objec | 000000e0:·2020·2076·6172·206e·203d·204f·626a·6563·····var·n·=·Objec | ||
| 000000f0:·742e·6372·6561·7465·286e·756c·6c29·3b0a··t.create(null);. | 000000f0:·742e·6372·6561·7465·286e·756c·6c29·3b0a··t.create(null);. | ||
| Offset 2620, 18597 lines modified | Offset 2620, 19765 lines modified | ||
| 0000a3b0:·2020·2020·2020·2020·2020·6f75·7470·7574············output | 0000a3b0:·2020·2020·2020·2020·2020·6f75·7470·7574············output | ||
| 0000a3c0:·2e73·7562·7374·7269·6e67·2863·6f6e·7465··.substring(conte | 0000a3c0:·2e73·7562·7374·7269·6e67·2863·6f6e·7465··.substring(conte | ||
| 0000a3d0:·6e74·2e65·6e64·293b·0a20·2020·2020·2020··nt.end);.······· | 0000a3d0:·6e74·2e65·6e64·293b·0a20·2020·2020·2020··nt.end);.······· | ||
| 0000a3e0:·207d·0a20·2020·207d·0a20·2020·2072·6574···}.····}.····ret | 0000a3e0:·207d·0a20·2020·207d·0a20·2020·2072·6574···}.····}.····ret | ||
| 0000a3f0:·7572·6e20·6f75·7470·7574·3b0a·7d0a·6675··urn·output;.}.fu | 0000a3f0:·7572·6e20·6f75·7470·7574·3b0a·7d0a·6675··urn·output;.}.fu | ||
| 0000a400:·6e63·7469·6f6e·2070·6172·7365·4874·6d6c··nction·parseHtml | 0000a400:·6e63·7469·6f6e·2070·6172·7365·4874·6d6c··nction·parseHtml | Diff chunk too large, falling back to line-by-line diff (2646 lines added, 2646 lines removed) | |
| 0000a410:·7828·6874·6d6c·782c·2070·6172·7365·2c20··x(htmlx,·parse,· | 0000a410:·7828·6874·6d6c·782c·2070·6172·7365·2c20··x(htmlx,·parse,· | ||
| 0000a420:·6f70·7469·6f6e·7329·207b·0a20·2020·20 | 0000a420:·6f70·7469·6f6e·7329·207b·0a20·2020·2076··options)·{.····v | ||
| 0000a430:· | 0000a430:·6172·205f·612c·205f·623b·0a20·2020·202f··ar·_a,·_b;.····/ | ||
| 0000a440:·2 | 0000a440:·2f53·7665·6c74·6520·7472·6965·7320·746f··/Svelte·tries·to | ||
| 0000a450:·207 | 0000a450:·2070·6172·7365·2073·7479·6c65·2061·6e64···parse·style·and | ||
| 0000a460:· | 0000a460:·2073·6372·6970·7420·7461·6773·2077·6869···script·tags·whi | ||
| 0000a470:· | 0000a470:·6368·2064·6f65·736e·2774·2070·6c61·7920··ch·doesn't·play· | ||
| 0000a480:·7 | 0000a480:·7765·6c6c·2077·6974·6820·7479·7065·7363··well·with·typesc | ||
| 0000a490:· | 0000a490:·7269·7074·2c20·736f·2077·6520·626c·616e··ript,·so·we·blan | ||
| 0000a4a0:· | 0000a4a0:·6b20·7468·656d·206f·7574·2e0a·2020·2020··k·them·out..···· | ||
| 0000a4b0:· | 0000a4b0:·2f2f·4854·4d4c·7820·7370·6563·2073·6179··//HTMLx·spec·say | ||
| 0000a4c0:·73 | 0000a4c0:·7320·7468·6579·2073·686f·756c·6420·6a75··s·they·should·ju | ||
| 0000a4d0:· | 0000a4d0:·7374·2062·6520·7265·7461·696e·6564·2061··st·be·retained·a | ||
| 0000a4e0:·6 | 0000a4e0:·6674·6572·2070·726f·6365·7373·696e·6720··fter·processing· | ||
| 0000a4f0:· | 0000a4f0:·6173·2069·732c·2073·6f20·7468·6973·2069··as·is,·so·this·i | ||
| 0000a500:· | 0000a500:·7320·6669·6e65·0a20·2020·2063·6f6e·7374··s·fine.····const | ||
| 0000a510:· | 0000a510:·2076·6572·6261·7469·6d45·6c65·6d65·6e74···verbatimElement | ||
| 0000a520:· | 0000a520:·7320·3d20·6669·6e64·5665·7262·6174·696d··s·=·findVerbatim | ||
| 0000a530:· | 0000a530:·456c·656d·656e·7473·2868·746d·6c78·293b··Elements(htmlx); | ||
| 0000a540:· | 0000a540:·0a20·2020·2063·6f6e·7374·2064·6563·6f6e··.····const·decon | ||
| 0000a550:· | 0000a550:·7374·7275·6374·6564·203d·2062·6c61·6e6b··structed·=·blank | ||
| 0000a560:· | 0000a560:·5665·7262·6174·696d·436f·6e74·656e·7428··VerbatimContent( | ||
| 0000a570:·6 | 0000a570:·6874·6d6c·782c·2076·6572·6261·7469·6d45··htmlx,·verbatimE | ||
| 0000a580:·6 | 0000a580:·6c65·6d65·6e74·7329·3b0a·2020·2020·2f2f··lements);.····// | ||
| 0000a590:· | 0000a590:·6578·7472·6163·7420·7468·6520·6874·6d6c··extract·the·html | ||
| 0000a5a0:· | 0000a5a0:·2063·6f6e·7465·6e74·2070·6172·7365·6420···content·parsed· | ||
| 0000a5b0:·636 | 0000a5b0:·6173·2068·746d·6c78·2074·6869·7320·6578··as·htmlx·this·ex | ||
| 0000a5c0:· | 0000a5c0:·636c·7564·6573·206f·7572·2073·6372·6970··cludes·our·scrip | ||
| 0000a5d0:· | 0000a5d0:·7420·616e·6420·7374·796c·6520·7461·6773··t·and·style·tags | ||
| 0000a5e0:· | 0000a5e0:·0a20·2020·2063·6f6e·7374·2070·6172·7369··.····const·parsi | ||
| 0000a5f0:· | 0000a5f0:·6e67·436f·6465·203d·206f·7074·696f·6e73··ngCode·=·options | ||
| 0000a600:· | 0000a600:·2e65·6d69·744f·6e54·656d·706c·6174·6545··.emitOnTemplateE | ||
| 0000a610:· | 0000a610:·7272·6f72·2026·2620·216f·7074·696f·6e73··rror·&&·!options | ||
| 0000a620:·2 | 0000a620:·2e73·7665·6c74·6535·506c·7573·0a20·2020··.svelte5Plus.··· | ||
| 0000a630:· | 0000a630:·2020·2020·203f·2062·6c61·6e6b·506f·7373·······?·blankPoss | ||
| 0000a640:· | 0000a640:·6962·6c79·4572·726f·724f·7065·7261·746f··iblyErrorOperato | ||
| 0000a650:·7 | 0000a650:·724f·7250·726f·7065·7274·7941·6363·6573··rOrPropertyAcces | ||
| 0000a660:· | 0000a660:·7328·6465·636f·6e73·7472·7563·7465·6429··s(deconstructed) | ||
| 0000a670:· | 0000a670:·0a20·2020·2020·2020·203a·2064·6563·6f6e··.········:·decon | ||
| 0000a680:· | 0000a680:·7374·7275·6374·6564·3b0a·2020·2020·636f··structed;.····co | ||
| 0000a690:·6 | 0000a690:·6e73·7420·7061·7273·6564·203d·2070·6172··nst·parsed·=·par | ||
| 0000a6a0:·2 | 0000a6a0:·7365·2870·6172·7369·6e67·436f·6465·2c20··se(parsingCode,· | ||
| 0000a6b0:· | 0000a6b0:·6f70·7469·6f6e·732e·7376·656c·7465·3550··options.svelte5P | ||
| 0000a6c0:·20 | 0000a6c0:·6c75·7320·3f20·7b20·6c6f·6f73·653a·206f··lus·?·{·loose:·o | ||
| 0000a6d0:· | 0000a6d0:·7074·696f·6e73·2e65·6d69·744f·6e54·656d··ptions.emitOnTem | ||
| 0000a6e0:· | 0000a6e0:·706c·6174·6545·7272·6f72·207d·203a·2075··plateError·}·:·u | ||
| 0000a6f0:· | 0000a6f0:·6e64·6566·696e·6564·293b·0a20·2020·2063··ndefined);.····c | ||
| 0000a700:·6f | 0000a700:·6f6e·7374·2068·746d·6c78·4173·7420·3d20··onst·htmlxAst·=· | ||
| 0000a710:·7 | 0000a710:·7061·7273·6564·2e68·746d·6c3b·0a20·2020··parsed.html;.··· | ||
| 0000a720:· | 0000a720:·2068·746d·6c78·4173·742e·5f63·6f6d·6d65···htmlxAst._comme | ||
| 0000a730:·6 | 0000a730:·6e74·7320·3d20·285f·6220·3d20·285f·6120··nts·=·(_b·=·(_a· | ||
| 0000a740:· | 0000a740:·3d20·7061·7273·6564·2e5f·636f·6d6d·656e··=·parsed._commen | ||
| 0000a750:·74 | 0000a750:·7473·2920·213d·3d20·6e75·6c6c·2026·2620··ts)·!==·null·&&· | ||
| 0000a760:· | 0000a760:·5f61·2021·3d3d·2076·6f69·6420·3020·3f20··_a·!==·void·0·?· | ||
| 0000a770:· | 0000a770:·5f61·203a·2070·6172·7365·642e·636f·6d6d··_a·:·parsed.comm | ||
| 0000a780:·6 | 0000a780:·656e·7473·2920·213d·3d20·6e75·6c6c·2026··ents)·!==·null·& | ||
| 0000a790:·2 | 0000a790:·2620·5f62·2021·3d3d·2076·6f69·6420·3020··&·_b·!==·void·0· | ||
| 0000a7a0:· | 0000a7a0:·3f20·5f62·203a·205b·5d3b·0a20·2020·202f··?·_b·:·[];.····/ | ||
| 0000a7b0:· | 0000a7b0:·2f72·6573·746f·7265·206f·7572·2073·6372··/restore·our·scr | ||
| 0000a7c0:· | 0000a7c0:·6970·7420·616e·6420·7374·796c·6520·7461··ipt·and·style·ta | ||
| 0000a7d0:·20 | 0000a7d0:·6773·2061·7320·6e6f·6465·7320·746f·206d··gs·as·nodes·to·m | ||
| 0000a7e0:· | 0000a7e0:·6169·6e74·6169·6e20·7661·6c69·6469·7479··aintain·validity | ||
| 0000a7f0:· | 0000a7f0:·2077·6974·6820·4854·4d4c·780a·2020·2020···with·HTMLx.···· | ||
| 0000a800:· | 0000a800:·666f·7220·2863·6f6e·7374·2073·206f·6620··for·(const·s·of· | ||
| 0000a810:· | 0000a810:·7665·7262·6174·696d·456c·656d·656e·7473··verbatimElements | ||
| 0000a820:· | 0000a820:·2920·7b0a·2020·2020·2020·2020·6874·6d6c··)·{.········html | ||
| 0000a830:· | 0000a830:·7841·7374·2e63·6869·6c64·7265·6e2e·7075··xAst.children.pu | ||
| 0000a840:· | 0000a840:·7368·2873·293b·0a20·2020·2020·2020·2068··sh(s);.········h | ||
| 0000a850:·7 | 0000a850:·746d·6c78·4173·742e·7374·6172·7420·3d20··tmlxAst.start·=· | ||
| 0000a860:· | 0000a860:·4d61·7468·2e6d·696e·2868·746d·6c78·4173··Math.min(htmlxAs | ||
| 0000a870:· | 0000a870:·742e·7374·6172·742c·2073·2e73·7461·7274··t.start,·s.start | ||
| 0000a880:·2 | 0000a880:·293b·0a20·2020·2020·2020·2068·746d·6c78··);.········htmlx | ||
| 0000a890:· | 0000a890:·4173·742e·656e·6420·3d20·4d61·7468·2e6d··Ast.end·=·Math.m | ||
| Max diff block lines reached; 2280026/2647154 bytes (86.13%) of diff not shown. | |||
| Offset 1, 12 lines modified | Offset 1, 12 lines modified | ||
| 1 | import·dedent·from·'dedent-js'; | 1 | import·dedent·from·'dedent-js'; |
| 2 | import·ts·from·'typescript'; | 2 | import·ts·from·'typescript'; |
| 3 | import·{·pascalCase·}·from·'scule'; | ||
| 4 | import·*·as·path·from·'path'; | 3 | import·*·as·path·from·'path'; |
| 5 | import·path__default,·{·join,·resolve,·dirname,·basename·}·from·'path'; | 4 | import·path__default,·{·join,·resolve,·dirname,·basename·}·from·'path'; |
| 5 | import·{·pascalCase·}·from·'scule'; | ||
| 6 | import·{·VERSION,·parse·}·from·'svelte/compiler'; | 6 | import·{·VERSION,·parse·}·from·'svelte/compiler'; |
| 7 | const·comma·=·','.charCodeAt(0); | 7 | const·comma·=·','.charCodeAt(0); |
| 8 | const·semicolon·=·';'.charCodeAt(0); | 8 | const·semicolon·=·';'.charCodeAt(0); |
| 9 | const·chars·=·'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; | 9 | const·chars·=·'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; |
| 10 | const·intToChar·=·new·Uint8Array(64);·//·64·possible·chars. | 10 | const·intToChar·=·new·Uint8Array(64);·//·64·possible·chars. |
| 11 | const·charToInt·=·new·Uint8Array(128);·//·z·is·122·in·ASCII | 11 | const·charToInt·=·new·Uint8Array(128);·//·z·is·122·in·ASCII |
| Offset 1644, 23 lines modified | Offset 1644, 26 lines modified | ||
| 1644 | ························.replace(/[^\n][^\n][^\n][^\n]\n/g,·'/**/\n')·+ | 1644 | ························.replace(/[^\n][^\n][^\n][^\n]\n/g,·'/**/\n')·+ |
| 1645 | ····················output.substring(content.end); | 1645 | ····················output.substring(content.end); |
| 1646 | ········} | 1646 | ········} |
| 1647 | ····} | 1647 | ····} |
| 1648 | ····return·output; | 1648 | ····return·output; |
| 1649 | } | 1649 | } |
| 1650 | function·parseHtmlx(htmlx,·parse,·options)·{ | 1650 | function·parseHtmlx(htmlx,·parse,·options)·{ |
| 1651 | ····var·_a,·_b; | ||
| 1651 | ····//Svelte·tries·to·parse·style·and·script·tags·which·doesn't·play·well·with·typescript,·so·we·blank·them·out. | 1652 | ····//Svelte·tries·to·parse·style·and·script·tags·which·doesn't·play·well·with·typescript,·so·we·blank·them·out. |
| 1652 | ····//HTMLx·spec·says·they·should·just·be·retained·after·processing·as·is,·so·this·is·fine | 1653 | ····//HTMLx·spec·says·they·should·just·be·retained·after·processing·as·is,·so·this·is·fine |
| 1653 | ····const·verbatimElements·=·findVerbatimElements(htmlx); | 1654 | ····const·verbatimElements·=·findVerbatimElements(htmlx); |
| 1654 | ····const·deconstructed·=·blankVerbatimContent(htmlx,·verbatimElements); | 1655 | ····const·deconstructed·=·blankVerbatimContent(htmlx,·verbatimElements); |
| 1655 | ····//extract·the·html·content·parsed·as·htmlx·this·excludes·our·script·and·style·tags | 1656 | ····//extract·the·html·content·parsed·as·htmlx·this·excludes·our·script·and·style·tags |
| 1656 | ····const·parsingCode·=·options.emitOnTemplateError·&&·!options.svelte5Plus | 1657 | ····const·parsingCode·=·options.emitOnTemplateError·&&·!options.svelte5Plus |
| 1657 | ········?·blankPossiblyErrorOperatorOrPropertyAccess(deconstructed) | 1658 | ········?·blankPossiblyErrorOperatorOrPropertyAccess(deconstructed) |
| 1658 | ········:·deconstructed; | 1659 | ········:·deconstructed; |
| 1659 | ····const· | 1660 | ····const·parsed·=·parse(parsingCode,·options.svelte5Plus·?·{·loose:·options.emitOnTemplateError·}·:·undefined); |
| 1661 | ····const·htmlxAst·=·parsed.html; | ||
| 1662 | ····htmlxAst._comments·=·(_b·=·(_a·=·parsed._comments)·!==·null·&&·_a·!==·void·0·?·_a·:·parsed.comments)·!==·null·&&·_b·!==·void·0·?·_b·:·[]; | ||
| 1660 | ····//restore·our·script·and·style·tags·as·nodes·to·maintain·validity·with·HTMLx | 1663 | ····//restore·our·script·and·style·tags·as·nodes·to·maintain·validity·with·HTMLx |
| 1661 | ····for·(const·s·of·verbatimElements)·{ | 1664 | ····for·(const·s·of·verbatimElements)·{ |
| 1662 | ········htmlxAst.children.push(s); | 1665 | ········htmlxAst.children.push(s); |
| 1663 | ········htmlxAst.start·=·Math.min(htmlxAst.start,·s.start); | 1666 | ········htmlxAst.start·=·Math.min(htmlxAst.start,·s.start); |
| 1664 | ········htmlxAst.end·=·Math.max(htmlxAst.end,·s.end); | 1667 | ········htmlxAst.end·=·Math.max(htmlxAst.end,·s.end); |
| 1665 | ····} | 1668 | ····} |
| 1666 | ····return·{·htmlxAst,·tags:·verbatimElements·}; | 1669 | ····return·{·htmlxAst,·tags:·verbatimElements·}; |
| Offset 1717, 18 lines modified | Offset 1720, 132 lines modified | ||
| 1717 | ········lastIndex·=·index; | 1720 | ········lastIndex·=·index; |
| 1718 | ········index·=·htmlx.indexOf('}',·index·+·1); | 1721 | ········index·=·htmlx.indexOf('}',·index·+·1); |
| 1719 | ····} | 1722 | ····} |
| 1720 | ····return·htmlx; | 1723 | ····return·htmlx; |
| 1721 | } | 1724 | } |
| 1722 | /** | 1725 | /** |
| 1726 | ·*·Removes·comment·altogether·as·it's·unimportant·for·the·output | ||
| 1727 | ·*/ | ||
| 1728 | function·handleComment(str,·node)·{ | ||
| 1729 | ····str.overwrite(node.start,·node.end,·'',·{·contentOnly:·true·}); | ||
| 1730 | } | ||
| 1731 | /** | ||
| 1732 | ·*·Handles·comments·that·are·directly·before·an·element·start·tag·and·output·them·into·the·generated·code·as·leading·comments·for·the·given·node. | ||
| 1733 | ·*·@param·str·The·MagicString·instance·to·operate·on | ||
| 1734 | ·*·@param·node·The·node·above·which·should·be·searched·for·a·comment | ||
| 1735 | ·*·@param·ast·The·full·Svelte·AST | ||
| 1736 | ·*/ | ||
| 1737 | function·handleLeadingStartComment(str,·node,·ast)·{ | ||
| 1738 | ····var·_a,·_b; | ||
| 1739 | ····const·comments·=·(_a·=·ast._comments)·!==·null·&&·_a·!==·void·0·?·_a·:·[]; | ||
| 1740 | ····if·(!comments.length·||·((_b·=·node.leadingComments)·===·null·||·_b·===·void·0·?·void·0·:·_b.length))·{ | ||
| 1741 | ········return; | ||
| 1742 | ····} | ||
| 1743 | ····const·leadingComments·=·[]; | ||
| 1744 | ····let·searchEnd·=·node.start; | ||
| 1745 | ····for·(let·i·=·comments.length·-·1;·i·>=·0;·i--)·{ | ||
| 1746 | ········const·comment·=·comments[i]; | ||
| 1747 | ········if·(comment.end·>·searchEnd)·{ | ||
| 1748 | ············continue; | ||
| 1749 | ········} | ||
| 1750 | ········if·(!/^\s*$/.test(str.original.slice(comment.end,·searchEnd)))·{ | ||
| 1751 | ············break; | ||
| 1752 | ········} | ||
| 1753 | ········leadingComments.unshift(comment); | ||
| 1754 | ········searchEnd·=·comment.start; | ||
| 1755 | ····} | ||
| 1756 | ····if·(leadingComments.length)·{ | ||
| 1757 | ········for·(const·leading·of·leadingComments)·{ | ||
| 1758 | ············if·(/\n[·\t]*$/.test(str.original.slice(Math.max(leading.start·-·100,·0),·leading.start)))·{ | ||
| 1759 | ················leading.newline·=·true; | ||
| 1760 | ············} | ||
| 1761 | ········} | ||
| 1762 | ········node.leadingComments·=·leadingComments; | ||
| 1763 | ····} | ||
| 1764 | } | ||
| 1765 | /** | ||
| 1766 | ·*·Handles·comments·that·are·directly·after·the·last·node·inside·an·element/component·start·tag | ||
| 1767 | ·*·and·output·them·into·the·generated·code·as·trailing·comments·for·the·given·node. | ||
| 1768 | ·*/ | ||
| 1769 | function·handleTrailingEndComment(str,·node,·parent,·ast)·{ | ||
| 1770 | ····var·_a,·_b; | ||
| 1771 | ····const·comments·=·(_a·=·ast._comments)·!==·null·&&·_a·!==·void·0·?·_a·:·[]; | ||
| 1772 | ····const·attributes·=·parent.attributes; | ||
| 1773 | ····if·(!comments.length·||·((_b·=·node.trailingComments)·===·null·||·_b·===·void·0·?·void·0·:·_b.length)·||·!(attributes·===·null·||·attributes·===·void·0·?·void·0·:·attributes.length))·{ | ||
| 1774 | ········return; | ||
| 1775 | ····} | ||
| 1776 | ····if·(attributes[attributes.length·-·1]·!==·node)·{ | ||
| Max diff block lines reached; 60103/66649 bytes (90.18%) of diff not shown. | |||
| Offset 62, 9 lines modified | Offset 62, 9 lines modified | ||
| 62 | ····"scripts":·{ | 62 | ····"scripts":·{ |
| 63 | ········"build":·"rollup·-c", | 63 | ········"build":·"rollup·-c", |
| 64 | ········"dev":·"rollup·-c·-w", | 64 | ········"dev":·"rollup·-c·-w", |
| 65 | ········"test":·"mocha·test/test.ts·--no-experimental-strip-types" | 65 | ········"test":·"mocha·test/test.ts·--no-experimental-strip-types" |
| 66 | ····}, | 66 | ····}, |
| 67 | ····"type":·"commonjs", | 67 | ····"type":·"commonjs", |
| 68 | ····"types":·"index.d.ts", | 68 | ····"types":·"index.d.ts", |
| 69 | ····"version":·"0.7. | 69 | ····"version":·"0.7.51" |
| 70 | } | 70 | } |
| Offset 937, 15 lines modified | Offset 937, 15 lines modified | ||
| 937 | LIMITED·TO·THE·WARRANTIES·OF·MERCHANTABILITY,·FITNESS·FOR·A·PARTICULAR·PURPOSE·AND·NONINFRINGEMENT.·IN·NO· | 937 | LIMITED·TO·THE·WARRANTIES·OF·MERCHANTABILITY,·FITNESS·FOR·A·PARTICULAR·PURPOSE·AND·NONINFRINGEMENT.·IN·NO· |
| 938 | EVENT·SHALL·THE·AUTHORS·OR·COPYRIGHT·HOLDERS·BE·LIABLE·FOR·ANY·CLAIM,·DAMAGES·OR·OTHER·LIABILITY,·WHETHER· | 938 | EVENT·SHALL·THE·AUTHORS·OR·COPYRIGHT·HOLDERS·BE·LIABLE·FOR·ANY·CLAIM,·DAMAGES·OR·OTHER·LIABILITY,·WHETHER· |
| 939 | IN·AN·ACTION·OF·CONTRACT,·TORT·OR·OTHERWISE,·ARISING·FROM,·OUT·OF·OR·IN·CONNECTION·WITH·THE·SOFTWARE·OR·THE· | 939 | IN·AN·ACTION·OF·CONTRACT,·TORT·OR·OTHERWISE,·ARISING·FROM,·OUT·OF·OR·IN·CONNECTION·WITH·THE·SOFTWARE·OR·THE· |
| 940 | USE·OR·OTHER·DEALINGS·IN·THE·SOFTWARE. | 940 | USE·OR·OTHER·DEALINGS·IN·THE·SOFTWARE. |
| 941 | --- | 941 | --- |
| 942 | The·following·software·may·be·included·in·this·product:·acorn·(8.1 | 942 | The·following·software·may·be·included·in·this·product:·acorn·(8.16.0) |
| 943 | This·software·contains·the·following·license·and·notice·below: | 943 | This·software·contains·the·following·license·and·notice·below: |
| 944 | MIT·License | 944 | MIT·License |
| 945 | Copyright·(C)·2012-2022·by·various·contributors·(see·AUTHORS) | 945 | Copyright·(C)·2012-2022·by·various·contributors·(see·AUTHORS) |
| 946 | Permission·is·hereby·granted,·free·of·charge,·to·any·person·obtaining·a·copy | 946 | Permission·is·hereby·granted,·free·of·charge,·to·any·person·obtaining·a·copy |
| Offset 5686, 15 lines modified | Offset 5686, 15 lines modified | ||
| 5686 | > | 5686 | > |
| 5687 | >·The·above·copyright·notice·and·this·permission·notice·shall·be·included·in·all·copies·or·substantial·portions·of·the·Software. | 5687 | >·The·above·copyright·notice·and·this·permission·notice·shall·be·included·in·all·copies·or·substantial·portions·of·the·Software. |
| 5688 | > | 5688 | > |
| 5689 | >·THE·SOFTWARE·IS·PROVIDED·"AS·IS",·WITHOUT·WARRANTY·OF·ANY·KIND,·EXPRESS·OR·IMPLIED,·INCLUDING·BUT·NOT·LIMITED·TO·THE·WARRANTIES·OF·MERCHANTABILITY,·FITNESS·FOR·A·PARTICULAR·PURPOSE·AND·NONINFRINGEMENT.·IN·NO·EVENT·SHALL·THE·AUTHORS·OR·COPYRIGHT·HOLDERS·BE·LIABLE·FOR·ANY·CLAIM,·DAMAGES·OR·OTHER·LIABILITY,·WHETHER·IN·AN·ACTION·OF·CONTRACT,·TORT·OR·OTHERWISE,·ARISING·FROM,·OUT·OF·OR·IN·CONNECTION·WITH·THE·SOFTWARE·OR·THE·USE·OR·OTHER·DEALINGS·IN·THE·SOFTWARE. | 5689 | >·THE·SOFTWARE·IS·PROVIDED·"AS·IS",·WITHOUT·WARRANTY·OF·ANY·KIND,·EXPRESS·OR·IMPLIED,·INCLUDING·BUT·NOT·LIMITED·TO·THE·WARRANTIES·OF·MERCHANTABILITY,·FITNESS·FOR·A·PARTICULAR·PURPOSE·AND·NONINFRINGEMENT.·IN·NO·EVENT·SHALL·THE·AUTHORS·OR·COPYRIGHT·HOLDERS·BE·LIABLE·FOR·ANY·CLAIM,·DAMAGES·OR·OTHER·LIABILITY,·WHETHER·IN·AN·ACTION·OF·CONTRACT,·TORT·OR·OTHERWISE,·ARISING·FROM,·OUT·OF·OR·IN·CONNECTION·WITH·THE·SOFTWARE·OR·THE·USE·OR·OTHER·DEALINGS·IN·THE·SOFTWARE. |
| 5690 | --- | 5690 | --- |
| 5691 | The·following·software·may·be·included·in·this·product:·prettier-plugin-svelte·(3. | 5691 | The·following·software·may·be·included·in·this·product:·prettier-plugin-svelte·(3.5.0) |
| 5692 | This·software·contains·the·following·license·and·notice·below: | 5692 | This·software·contains·the·following·license·and·notice·below: |
| 5693 | MIT·License | 5693 | MIT·License |
| 5694 | Copyright·(c)·2019·[Contributors](https://github.com/sveltejs/prettier-plugin-svelte/graphs/contributors) | 5694 | Copyright·(c)·2019·[Contributors](https://github.com/sveltejs/prettier-plugin-svelte/graphs/contributors) |
| 5695 | Permission·is·hereby·granted,·free·of·charge,·to·any·person·obtaining·a·copy | 5695 | Permission·is·hereby·granted,·free·of·charge,·to·any·person·obtaining·a·copy |
| Offset 5780, 15 lines modified | Offset 5780, 15 lines modified | ||
| 5780 | The·above·copyright·notice·and·this·permission·notice·shall·be·included·in·all·copies·or·substantial·portions·of·the·Software. | 5780 | The·above·copyright·notice·and·this·permission·notice·shall·be·included·in·all·copies·or·substantial·portions·of·the·Software. |
| 5781 | THE·SOFTWARE·IS·PROVIDED·"AS·IS",·WITHOUT·WARRANTY·OF·ANY·KIND,·EXPRESS·OR·IMPLIED,·INCLUDING·BUT·NOT·LIMITED·TO·THE·WARRANTIES·OF·MERCHANTABILITY,·FITNESS·FOR·A·PARTICULAR·PURPOSE·AND·NONINFRINGEMENT.·IN·NO·EVENT·SHALL·THE·AUTHORS·OR·COPYRIGHT·HOLDERS·BE·LIABLE·FOR·ANY·CLAIM,·DAMAGES·OR·OTHER·LIABILITY,·WHETHER·IN·AN·ACTION·OF·CONTRACT,·TORT·OR·OTHERWISE,·ARISING·FROM,·OUT·OF·OR·IN·CONNECTION·WITH·THE·SOFTWARE·OR·THE·USE·OR·OTHER·DEALINGS·IN·THE·SOFTWARE. | 5781 | THE·SOFTWARE·IS·PROVIDED·"AS·IS",·WITHOUT·WARRANTY·OF·ANY·KIND,·EXPRESS·OR·IMPLIED,·INCLUDING·BUT·NOT·LIMITED·TO·THE·WARRANTIES·OF·MERCHANTABILITY,·FITNESS·FOR·A·PARTICULAR·PURPOSE·AND·NONINFRINGEMENT.·IN·NO·EVENT·SHALL·THE·AUTHORS·OR·COPYRIGHT·HOLDERS·BE·LIABLE·FOR·ANY·CLAIM,·DAMAGES·OR·OTHER·LIABILITY,·WHETHER·IN·AN·ACTION·OF·CONTRACT,·TORT·OR·OTHERWISE,·ARISING·FROM,·OUT·OF·OR·IN·CONNECTION·WITH·THE·SOFTWARE·OR·THE·USE·OR·OTHER·DEALINGS·IN·THE·SOFTWARE. |
| 5782 | --- | 5782 | --- |
| 5783 | The·following·software·may·be·included·in·this·product:·svelte2tsx·(0.7. | 5783 | The·following·software·may·be·included·in·this·product:·svelte2tsx·(0.7.51) |
| 5784 | This·software·contains·the·following·license·and·notice·below: | 5784 | This·software·contains·the·following·license·and·notice·below: |
| 5785 | MIT·License | 5785 | MIT·License |
| 5786 | Copyright·(c)·2019·David·Pershouse | 5786 | Copyright·(c)·2019·David·Pershouse |
| 5787 | Permission·is·hereby·granted,·free·of·charge,·to·any·person·obtaining·a·copy | 5787 | Permission·is·hereby·granted,·free·of·charge,·to·any·person·obtaining·a·copy |
| Offset 11, 16 lines modified | Offset 11, 16 lines modified | ||
| 11 | ············"path_type":·"hardlink", | 11 | ············"path_type":·"hardlink", |
| 12 | ············"sha256":·"c5dd95cd456a740405b0e59233c6e96494ea2068cd73be79af24bff9b9a83724", | 12 | ············"sha256":·"c5dd95cd456a740405b0e59233c6e96494ea2068cd73be79af24bff9b9a83724", |
| 13 | ············"size_in_bytes":·101 | 13 | ············"size_in_bytes":·101 |
| 14 | ········}, | 14 | ········}, |
| 15 | ········{ | 15 | ········{ |
| 16 | ············"_path":·"lib/node_modules/svelte-language-server/.source_info.json", | 16 | ············"_path":·"lib/node_modules/svelte-language-server/.source_info.json", |
| 17 | ············"path_type":·"hardlink", | 17 | ············"path_type":·"hardlink", |
| 18 | ············"sha256":·" | 18 | ············"sha256":·"3f5414269218f831297271cadb6774224dcf24faff5455160beb395161c8efaa", |
| 19 | ············"size_in_bytes":· | 19 | ············"size_in_bytes":·336 |
| 20 | ········}, | 20 | ········}, |
| 21 | ········{ | 21 | ········{ |
| 22 | ············"_path":·"lib/node_modules/svelte-language-server/CHANGELOG.md", | 22 | ············"_path":·"lib/node_modules/svelte-language-server/CHANGELOG.md", |
| 23 | ············"path_type":·"hardlink", | 23 | ············"path_type":·"hardlink", |
| 24 | ············"sha256":·"cba4d77046d9796138ca45cb6977168d3f63987403a1a5d237d9decf797fe1e3", | 24 | ············"sha256":·"cba4d77046d9796138ca45cb6977168d3f63987403a1a5d237d9decf797fe1e3", |
| 25 | ············"size_in_bytes":·4187 | 25 | ············"size_in_bytes":·4187 |
| 26 | ········}, | 26 | ········}, |
| Offset 43, 16 lines modified | Offset 43, 16 lines modified | ||
| 43 | ············"size_in_bytes":·93 | 43 | ············"size_in_bytes":·93 |
| 44 | ········}, | 44 | ········}, |
| 45 | ········{ | 45 | ········{ |
| 46 | ············"_path":·"lib/node_modules/svelte-language-server/build_env.sh", | 46 | ············"_path":·"lib/node_modules/svelte-language-server/build_env.sh", |
| 47 | ············"file_mode":·"text", | 47 | ············"file_mode":·"text", |
| 48 | ············"path_type":·"hardlink", | 48 | ············"path_type":·"hardlink", |
| 49 | ············"prefix_placeholder":·"/home/conda/feedstock_root/build_artifacts/bld/rattler-build_svelte-language-server_1771046361/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p", | 49 | ············"prefix_placeholder":·"/home/conda/feedstock_root/build_artifacts/bld/rattler-build_svelte-language-server_1771046361/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p", |
| 50 | ············"sha256":·" | 50 | ············"sha256":·"529701003548489676a7a0250bdddcc19ced4be0575369afee1b9f68d7ee0647", |
| 51 | ············"size_in_bytes":·3 | 51 | ············"size_in_bytes":·3694 |
| 52 | ········}, | 52 | ········}, |
| 53 | ········{ | 53 | ········{ |
| 54 | ············"_path":·"lib/node_modules/svelte-language-server/conda_build.log", | 54 | ············"_path":·"lib/node_modules/svelte-language-server/conda_build.log", |
| 55 | ············"path_type":·"hardlink", | 55 | ············"path_type":·"hardlink", |
| 56 | ············"sha256":·"66559ab15d7d0acf65b3135707d8baf60dbcbd865de7a2514c13dd97c4ba70cf", | 56 | ············"sha256":·"66559ab15d7d0acf65b3135707d8baf60dbcbd865de7a2514c13dd97c4ba70cf", |
| 57 | ············"size_in_bytes":·28 | 57 | ············"size_in_bytes":·28 |
| 58 | ········}, | 58 | ········}, |
| Offset 2857, 69 lines modified | Offset 2857, 69 lines modified | ||
| 2857 | ············"path_type":·"hardlink", | 2857 | ············"path_type":·"hardlink", |
| 2858 | ············"sha256":·"293375e8e1de0d54c2437079fdc47e6ee4f55a125ca346ac58e61cbd602e959a", | 2858 | ············"sha256":·"293375e8e1de0d54c2437079fdc47e6ee4f55a125ca346ac58e61cbd602e959a", |
| 2859 | ············"size_in_bytes":·1504 | 2859 | ············"size_in_bytes":·1504 |
| 2860 | ········}, | 2860 | ········}, |
| 2861 | ········{ | 2861 | ········{ |
| 2862 | ············"_path":·"lib/node_modules/svelte-language-server/node_modules/acorn/CHANGELOG.md", | 2862 | ············"_path":·"lib/node_modules/svelte-language-server/node_modules/acorn/CHANGELOG.md", |
| 2863 | ············"path_type":·"hardlink", | 2863 | ············"path_type":·"hardlink", |
| 2864 | ············"sha256":·" | 2864 | ············"sha256":·"6f882e0da55efd5af8b9febed241f041913547841a650971556812e541b4f1bf", |
| 2865 | ············"size_in_bytes":·23 | 2865 | ············"size_in_bytes":·23839 |
| 2866 | ········}, | 2866 | ········}, |
| 2867 | ········{ | 2867 | ········{ |
| 2868 | ············"_path":·"lib/node_modules/svelte-language-server/node_modules/acorn/LICENSE", | 2868 | ············"_path":·"lib/node_modules/svelte-language-server/node_modules/acorn/LICENSE", |
| 2869 | ············"path_type":·"hardlink", | 2869 | ············"path_type":·"hardlink", |
| 2870 | ············"sha256":·"76a876cf886ff9be2a8b5e2e86514fed06223c8c9f0c1e9ee9606e93841e00b7", | 2870 | ············"sha256":·"76a876cf886ff9be2a8b5e2e86514fed06223c8c9f0c1e9ee9606e93841e00b7", |
| 2871 | ············"size_in_bytes":·1099 | 2871 | ············"size_in_bytes":·1099 |
| 2872 | ········}, | 2872 | ········}, |
| 2873 | ········{ | 2873 | ········{ |
| 2874 | ············"_path":·"lib/node_modules/svelte-language-server/node_modules/acorn/README.md", | 2874 | ············"_path":·"lib/node_modules/svelte-language-server/node_modules/acorn/README.md", |
| 2875 | ············"path_type":·"hardlink", | 2875 | ············"path_type":·"hardlink", |
| 2876 | ············"sha256":·" | 2876 | ············"sha256":·"e18b969e9da9d0a547af348f2b3fa0ea29a95861aee38d07ed363fadb2580744", |
| 2877 | ············"size_in_bytes":·1 | 2877 | ············"size_in_bytes":·11397 |
| 2878 | ········}, | 2878 | ········}, |
| 2879 | ········{ | 2879 | ········{ |
| 2880 | ············"_path":·"lib/node_modules/svelte-language-server/node_modules/acorn/bin/acorn", | 2880 | ············"_path":·"lib/node_modules/svelte-language-server/node_modules/acorn/bin/acorn", |
| 2881 | ············"path_type":·"hardlink", | 2881 | ············"path_type":·"hardlink", |
| 2882 | ············"sha256":·"4c3eb6f1d8932790dbff043839f8ee7686bc614a59ef577e96fed618a4a4b1b8", | 2882 | ············"sha256":·"4c3eb6f1d8932790dbff043839f8ee7686bc614a59ef577e96fed618a4a4b1b8", |
| 2883 | ············"size_in_bytes":·60 | 2883 | ············"size_in_bytes":·60 |
| 2884 | ········}, | 2884 | ········}, |
| 2885 | ········{ | 2885 | ········{ |
| 2886 | ············"_path":·"lib/node_modules/svelte-language-server/node_modules/acorn/dist/acorn.d.mts", | 2886 | ············"_path":·"lib/node_modules/svelte-language-server/node_modules/acorn/dist/acorn.d.mts", |
| 2887 | ············"path_type":·"hardlink", | 2887 | ············"path_type":·"hardlink", |
| 2888 | ············"sha256":·" | 2888 | ············"sha256":·"d7c9a381dab2b83a38bae15fcf5c6e04ebac46770d4b18a05044fbe64833b73e", |
| 2889 | ············"size_in_bytes":·2 | 2889 | ············"size_in_bytes":·22016 |
| 2890 | ········}, | 2890 | ········}, |
| 2891 | ········{ | 2891 | ········{ |
| 2892 | ············"_path":·"lib/node_modules/svelte-language-server/node_modules/acorn/dist/acorn.d.ts", | 2892 | ············"_path":·"lib/node_modules/svelte-language-server/node_modules/acorn/dist/acorn.d.ts", |
| 2893 | ············"path_type":·"hardlink", | 2893 | ············"path_type":·"hardlink", |
| 2894 | ············"sha256":·" | 2894 | ············"sha256":·"d7c9a381dab2b83a38bae15fcf5c6e04ebac46770d4b18a05044fbe64833b73e", |
| 2895 | ············"size_in_bytes":·2 | 2895 | ············"size_in_bytes":·22016 |
| 2896 | ········}, | 2896 | ········}, |
| 2897 | ········{ | 2897 | ········{ |
| 2898 | ············"_path":·"lib/node_modules/svelte-language-server/node_modules/acorn/dist/acorn.js", | 2898 | ············"_path":·"lib/node_modules/svelte-language-server/node_modules/acorn/dist/acorn.js", |
| 2899 | ············"path_type":·"hardlink", | 2899 | ············"path_type":·"hardlink", |
| 2900 | ············"sha256":·" | 2900 | ············"sha256":·"2261c5f0e4abe860e889dfc67081683a4ba4d27deb7f4cbc8ad06a1b7fdd510c", |
| 2901 | ············"size_in_bytes":·24 | 2901 | ············"size_in_bytes":·242818 |
| 2902 | ········}, | 2902 | ········}, |
| 2903 | ········{ | 2903 | ········{ |
| 2904 | ············"_path":·"lib/node_modules/svelte-language-server/node_modules/acorn/dist/acorn.mjs", | 2904 | ············"_path":·"lib/node_modules/svelte-language-server/node_modules/acorn/dist/acorn.mjs", |
| 2905 | ············"path_type":·"hardlink", | 2905 | ············"path_type":·"hardlink", |
| 2906 | ············"sha256":·" | 2906 | ············"sha256":·"efb0124a960b34d53f9928c4926bfcfd300bb6a3d7ab64ee949b3a8bed1c7e5f", |
| 2907 | ············"size_in_bytes":·2 | 2907 | ············"size_in_bytes":·230975 |
| 2908 | ········}, | 2908 | ········}, |
| 2909 | ········{ | 2909 | ········{ |
| 2910 | ············"_path":·"lib/node_modules/svelte-language-server/node_modules/acorn/dist/bin.js", | 2910 | ············"_path":·"lib/node_modules/svelte-language-server/node_modules/acorn/dist/bin.js", |
| 2911 | ············"path_type":·"hardlink", | 2911 | ············"path_type":·"hardlink", |
| 2912 | ············"sha256":·"fffd9df1d9158c4580068ad17c3176c34fe46f59021b8cd5780454994764dc30", | 2912 | ············"sha256":·"fffd9df1d9158c4580068ad17c3176c34fe46f59021b8cd5780454994764dc30", |
| 2913 | ············"size_in_bytes":·3329 | 2913 | ············"size_in_bytes":·3329 |
| 2914 | ········}, | 2914 | ········}, |
| 2915 | ········{ | 2915 | ········{ |
| 2916 | ············"_path":·"lib/node_modules/svelte-language-server/node_modules/acorn/package.json", | 2916 | ············"_path":·"lib/node_modules/svelte-language-server/node_modules/acorn/package.json", |
| 2917 | ············"path_type":·"hardlink", | 2917 | ············"path_type":·"hardlink", |
| 2918 | ············"sha256":·" | 2918 | ············"sha256":·"705aa08b7b4fee1112244952b4843c40c381a3c7a9fc77101f369a172865bfac", |
| 2919 | ············"size_in_bytes":·1061 | 2919 | ············"size_in_bytes":·1061 |
| 2920 | ········}, | 2920 | ········}, |
| 2921 | ········{ | 2921 | ········{ |
| Max diff block lines reached; 4736/10647 bytes (44.48%) of diff not shown. | |||