diff --git a/common/changes/@coze-editor/code-language-json/feature-languages_2026-02-11-08-06.json b/common/changes/@coze-editor/code-language-json/feature-languages_2026-02-11-08-06.json new file mode 100644 index 00000000..74f2a8b8 --- /dev/null +++ b/common/changes/@coze-editor/code-language-json/feature-languages_2026-02-11-08-06.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@coze-editor/code-language-json", + "comment": "implement Text with @volar/source-map", + "type": "minor" + } + ], + "packageName": "@coze-editor/code-language-json", + "email": "stream-pipe@users.noreply.github.com" +} diff --git a/common/changes/@coze-editor/extension-completion-icons/feature-languages_2026-02-10-12-42.json b/common/changes/@coze-editor/extension-completion-icons/feature-languages_2026-02-10-12-42.json new file mode 100644 index 00000000..d704c672 --- /dev/null +++ b/common/changes/@coze-editor/extension-completion-icons/feature-languages_2026-02-10-12-42.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@coze-editor/extension-completion-icons", + "comment": "support highlighting for all languages & add go language & avoid CSS regeneration during build", + "type": "minor" + } + ], + "packageName": "@coze-editor/extension-completion-icons", + "email": "stream-pipe@users.noreply.github.com" +} diff --git a/common/changes/@coze-editor/preset-code-languages/feature-languages_2026-02-10-12-42.json b/common/changes/@coze-editor/preset-code-languages/feature-languages_2026-02-10-12-42.json new file mode 100644 index 00000000..e7802ded --- /dev/null +++ b/common/changes/@coze-editor/preset-code-languages/feature-languages_2026-02-10-12-42.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@coze-editor/preset-code-languages", + "comment": "support highlighting for all languages & add go language & avoid CSS regeneration during build", + "type": "minor" + } + ], + "packageName": "@coze-editor/preset-code-languages", + "email": "stream-pipe@users.noreply.github.com" +} diff --git a/common/changes/@coze-editor/preset-code/feature-languages_2026-02-10-12-42.json b/common/changes/@coze-editor/preset-code/feature-languages_2026-02-10-12-42.json new file mode 100644 index 00000000..4264ebac --- /dev/null +++ b/common/changes/@coze-editor/preset-code/feature-languages_2026-02-10-12-42.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@coze-editor/preset-code", + "comment": "support highlighting for all languages & add go language & avoid CSS regeneration during build", + "type": "minor" + } + ], + "packageName": "@coze-editor/preset-code", + "email": "stream-pipe@users.noreply.github.com" +} diff --git a/common/changes/@coze-editor/preset-code/feature-languages_2026-02-11-08-06.json b/common/changes/@coze-editor/preset-code/feature-languages_2026-02-11-08-06.json new file mode 100644 index 00000000..f0e1d2a8 --- /dev/null +++ b/common/changes/@coze-editor/preset-code/feature-languages_2026-02-11-08-06.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@coze-editor/preset-code", + "comment": "implement Text with @volar/source-map", + "type": "minor" + } + ], + "packageName": "@coze-editor/preset-code", + "email": "stream-pipe@users.noreply.github.com" +} diff --git a/common/changes/@coze-editor/utils/feature-languages_2026-02-11-08-06.json b/common/changes/@coze-editor/utils/feature-languages_2026-02-11-08-06.json new file mode 100644 index 00000000..9e49d2d8 --- /dev/null +++ b/common/changes/@coze-editor/utils/feature-languages_2026-02-11-08-06.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@coze-editor/utils", + "comment": "implement Text with @volar/source-map", + "type": "minor" + } + ], + "packageName": "@coze-editor/utils", + "email": "stream-pipe@users.noreply.github.com" +} diff --git a/common/config/subspaces/default/pnpm-lock.yaml b/common/config/subspaces/default/pnpm-lock.yaml index 76266a18..5a6dbd19 100644 --- a/common/config/subspaces/default/pnpm-lock.yaml +++ b/common/config/subspaces/default/pnpm-lock.yaml @@ -1180,15 +1180,15 @@ importers: '@coze-editor/parser-json': specifier: workspace:* version: link:../parser-json + '@coze-editor/utils': + specifier: workspace:* + version: link:../utils '@lezer/json': specifier: ^1.0.2 version: 1.0.3 '@lukeed/uuid': specifier: ^2.0.1 version: 2.0.1 - text-mapping: - specifier: ^1.0.1 - version: 1.0.1 vscode-json-languageservice: specifier: ^5.4.2 version: 5.6.0 @@ -1808,15 +1808,24 @@ importers: '@coze-editor/eslint-config': specifier: workspace:* version: link:../eslint-config + '@types/fs-extra': + specifier: ^11.0.4 + version: 11.0.4 '@types/node': specifier: ^22 version: 22.13.13 - '@with/svg-to-fonts': - specifier: ^0.3.0 - version: 0.3.0(encoding@0.1.13) eslint: specifier: 9.14.0 version: 9.14.0(jiti@2.6.1) + fantasticon: + specifier: ^4.1.0 + version: 4.1.0 + fs-extra: + specifier: ^11.3.3 + version: 11.3.3 + svg-reorient: + specifier: ^1.0.3 + version: 1.0.3 tsup: specifier: ^8.0.1 version: 8.5.0(@swc/core@1.11.29(@swc/helpers@0.5.17))(jiti@2.6.1)(postcss@8.5.5)(tsx@4.19.3)(typescript@5.8.2)(yaml@2.8.0) @@ -2425,6 +2434,9 @@ importers: '@codemirror/language': specifier: ^6.10.1 version: 6.11.1 + '@codemirror/theme-one-dark': + specifier: ^6.1.3 + version: 6.1.3 '@coze-editor/core': specifier: workspace:* version: link:../core @@ -2463,13 +2475,10 @@ importers: version: 1.0.0 '@shikijs/langs': specifier: ~3.12.0 - version: 3.12.0 + version: 3.12.3 '@shikijs/themes': specifier: ~3.12.0 - version: 3.12.0 - codemirror-shiki: - specifier: ^0.2.2 - version: 0.2.2(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(shiki@3.6.0) + version: 3.12.3 marked: specifier: ^15.0.7 version: 15.0.12 @@ -2528,6 +2537,9 @@ importers: '@codemirror/lang-css': specifier: ^6.3.1 version: 6.3.1 + '@codemirror/lang-go': + specifier: ^6.0.1 + version: 6.0.1 '@codemirror/lang-html': specifier: ^6.4.9 version: 6.4.11 @@ -3091,6 +3103,10 @@ importers: version: 5.8.2 ../../../packages/text-editor/utils: + dependencies: + '@volar/source-map': + specifier: ^2.4.28 + version: 2.4.28 devDependencies: '@codemirror/state': specifier: ^6.4.1 @@ -4808,6 +4824,9 @@ packages: '@codemirror/lang-css@6.3.1': resolution: {integrity: sha512-kr5fwBGiGtmz6l0LSJIbno9QrifNMUusivHbnA1H6Dmqy4HZFte3UAICix1VuKo0lMPKQr2rqB+0BkKi/S3Ejg==} + '@codemirror/lang-go@6.0.1': + resolution: {integrity: sha512-7fNvbyNylvqCphW9HD6WFnRpcDjr+KXX/FgqXy5H5ZS0eC5edDljukm/yNgYkwTsgp2busdod50AOTIy6Jikfg==} + '@codemirror/lang-html@6.4.11': resolution: {integrity: sha512-9NsXp7Nwp891pQchI7gPdTwBuSuT3K65NGTHWHNJ55HjYcHLllr0rbIZNdOzas9ztc1EUVBlHou85FFZS4BNnw==} @@ -4850,6 +4869,9 @@ packages: '@codemirror/state@6.5.2': resolution: {integrity: sha512-FVqsPqtPWKVVL3dPSxy8wEF/ymIEuVzF1PK3VbUgrxXpJUSHQWWZz4JMToquRxnkw+36LTamCZG2iua2Ptq0fA==} + '@codemirror/theme-one-dark@6.1.3': + resolution: {integrity: sha512-NzBdIvEJmx6fjeremiGp3t/okrLPYT0d9orIc7AFun8oZcRk58aejkqhv6spnz4MLAevrKNPMQYXEWMg4s+sKA==} + '@codemirror/view@6.37.1': resolution: {integrity: sha512-Qy4CAUwngy/VQkEz0XzMKVRcckQuqLYWKqVpDDDghBe5FSXSqfVrJn49nw3ePZHxRUz4nRmb05Lgi+9csWo4eg==} @@ -5583,10 +5605,22 @@ packages: resolution: {integrity: sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==} engines: {node: '>=18'} + '@isaacs/balanced-match@4.0.1': + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} + engines: {node: 20 || >=22} + + '@isaacs/brace-expansion@5.0.1': + resolution: {integrity: sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ==} + engines: {node: 20 || >=22} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} + '@isaacs/fs-minipass@4.0.1': + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} + engines: {node: '>=18.0.0'} + '@istanbuljs/load-nyc-config@1.1.0': resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} @@ -5615,283 +5649,6 @@ packages: resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jimp/bmp@0.22.12': - resolution: {integrity: sha512-aeI64HD0npropd+AR76MCcvvRaa+Qck6loCOS03CkkxGHN5/r336qTM5HPUdHKMDOGzqknuVPA8+kK1t03z12g==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - - '@jimp/core@0.22.12': - resolution: {integrity: sha512-l0RR0dOPyzMKfjUW1uebzueFEDtCOj9fN6pyTYWWOM/VS4BciXQ1VVrJs8pO3kycGYZxncRKhCoygbNr8eEZQA==} - - '@jimp/core@1.6.0': - resolution: {integrity: sha512-EQQlKU3s9QfdJqiSrZWNTxBs3rKXgO2W+GxNXDtwchF3a4IqxDheFX1ti+Env9hdJXDiYLp2jTRjlxhPthsk8w==} - engines: {node: '>=18'} - - '@jimp/custom@0.22.12': - resolution: {integrity: sha512-xcmww1O/JFP2MrlGUMd3Q78S3Qu6W3mYTXYuIqFq33EorgYHV/HqymHfXy9GjiCJ7OI+7lWx6nYFOzU7M4rd1Q==} - - '@jimp/diff@1.6.0': - resolution: {integrity: sha512-+yUAQ5gvRC5D1WHYxjBHZI7JBRusGGSLf8AmPRPCenTzh4PA+wZ1xv2+cYqQwTfQHU5tXYOhA0xDytfHUf1Zyw==} - engines: {node: '>=18'} - - '@jimp/file-ops@1.6.0': - resolution: {integrity: sha512-Dx/bVDmgnRe1AlniRpCKrGRm5YvGmUwbDzt+MAkgmLGf+jvBT75hmMEZ003n9HQI/aPnm/YKnXjg/hOpzNCpHQ==} - engines: {node: '>=18'} - - '@jimp/gif@0.22.12': - resolution: {integrity: sha512-y6BFTJgch9mbor2H234VSjd9iwAhaNf/t3US5qpYIs0TSbAvM02Fbc28IaDETj9+4YB4676sz4RcN/zwhfu1pg==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - - '@jimp/jpeg@0.22.12': - resolution: {integrity: sha512-Rq26XC/uQWaQKyb/5lksCTCxXhtY01NJeBN+dQv5yNYedN0i7iYu+fXEoRsfaJ8xZzjoANH8sns7rVP4GE7d/Q==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - - '@jimp/js-bmp@1.6.0': - resolution: {integrity: sha512-FU6Q5PC/e3yzLyBDXupR3SnL3htU7S3KEs4e6rjDP6gNEOXRFsWs6YD3hXuXd50jd8ummy+q2WSwuGkr8wi+Gw==} - engines: {node: '>=18'} - - '@jimp/js-gif@1.6.0': - resolution: {integrity: sha512-N9CZPHOrJTsAUoWkWZstLPpwT5AwJ0wge+47+ix3++SdSL/H2QzyMqxbcDYNFe4MoI5MIhATfb0/dl/wmX221g==} - engines: {node: '>=18'} - - '@jimp/js-jpeg@1.6.0': - resolution: {integrity: sha512-6vgFDqeusblf5Pok6B2DUiMXplH8RhIKAryj1yn+007SIAQ0khM1Uptxmpku/0MfbClx2r7pnJv9gWpAEJdMVA==} - engines: {node: '>=18'} - - '@jimp/js-png@1.6.0': - resolution: {integrity: sha512-AbQHScy3hDDgMRNfG0tPjL88AV6qKAILGReIa3ATpW5QFjBKpisvUaOqhzJ7Reic1oawx3Riyv152gaPfqsBVg==} - engines: {node: '>=18'} - - '@jimp/js-tiff@1.6.0': - resolution: {integrity: sha512-zhReR8/7KO+adijj3h0ZQUOiun3mXUv79zYEAKvE0O+rP7EhgtKvWJOZfRzdZSNv0Pu1rKtgM72qgtwe2tFvyw==} - engines: {node: '>=18'} - - '@jimp/plugin-blit@0.22.12': - resolution: {integrity: sha512-xslz2ZoFZOPLY8EZ4dC29m168BtDx95D6K80TzgUi8gqT7LY6CsajWO0FAxDwHz6h0eomHMfyGX0stspBrTKnQ==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - - '@jimp/plugin-blit@1.6.0': - resolution: {integrity: sha512-M+uRWl1csi7qilnSK8uxK4RJMSuVeBiO1AY0+7APnfUbQNZm6hCe0CCFv1Iyw1D/Dhb8ph8fQgm5mwM0eSxgVA==} - engines: {node: '>=18'} - - '@jimp/plugin-blur@0.22.12': - resolution: {integrity: sha512-S0vJADTuh1Q9F+cXAwFPlrKWzDj2F9t/9JAbUvaaDuivpyWuImEKXVz5PUZw2NbpuSHjwssbTpOZ8F13iJX4uw==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - - '@jimp/plugin-blur@1.6.0': - resolution: {integrity: sha512-zrM7iic1OTwUCb0g/rN5y+UnmdEsT3IfuCXCJJNs8SZzP0MkZ1eTvuwK9ZidCuMo4+J3xkzCidRwYXB5CyGZTw==} - engines: {node: '>=18'} - - '@jimp/plugin-circle@0.22.12': - resolution: {integrity: sha512-SWVXx1yiuj5jZtMijqUfvVOJBwOifFn0918ou4ftoHgegc5aHWW5dZbYPjvC9fLpvz7oSlptNl2Sxr1zwofjTg==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - - '@jimp/plugin-circle@1.6.0': - resolution: {integrity: sha512-xt1Gp+LtdMKAXfDp3HNaG30SPZW6AQ7dtAtTnoRKorRi+5yCJjKqXRgkewS5bvj8DEh87Ko1ydJfzqS3P2tdWw==} - engines: {node: '>=18'} - - '@jimp/plugin-color@0.22.12': - resolution: {integrity: sha512-xImhTE5BpS8xa+mAN6j4sMRWaUgUDLoaGHhJhpC+r7SKKErYDR0WQV4yCE4gP+N0gozD0F3Ka1LUSaMXrn7ZIA==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - - '@jimp/plugin-color@1.6.0': - resolution: {integrity: sha512-J5q8IVCpkBsxIXM+45XOXTrsyfblyMZg3a9eAo0P7VPH4+CrvyNQwaYatbAIamSIN1YzxmO3DkIZXzRjFSz1SA==} - engines: {node: '>=18'} - - '@jimp/plugin-contain@0.22.12': - resolution: {integrity: sha512-Eo3DmfixJw3N79lWk8q/0SDYbqmKt1xSTJ69yy8XLYQj9svoBbyRpSnHR+n9hOw5pKXytHwUW6nU4u1wegHNoQ==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - '@jimp/plugin-blit': '>=0.3.5' - '@jimp/plugin-resize': '>=0.3.5' - '@jimp/plugin-scale': '>=0.3.5' - - '@jimp/plugin-contain@1.6.0': - resolution: {integrity: sha512-oN/n+Vdq/Qg9bB4yOBOxtY9IPAtEfES8J1n9Ddx+XhGBYT1/QTU/JYkGaAkIGoPnyYvmLEDqMz2SGihqlpqfzQ==} - engines: {node: '>=18'} - - '@jimp/plugin-cover@0.22.12': - resolution: {integrity: sha512-z0w/1xH/v/knZkpTNx+E8a7fnasQ2wHG5ze6y5oL2dhH1UufNua8gLQXlv8/W56+4nJ1brhSd233HBJCo01BXA==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - '@jimp/plugin-crop': '>=0.3.5' - '@jimp/plugin-resize': '>=0.3.5' - '@jimp/plugin-scale': '>=0.3.5' - - '@jimp/plugin-cover@1.6.0': - resolution: {integrity: sha512-Iow0h6yqSC269YUJ8HC3Q/MpCi2V55sMlbkkTTx4zPvd8mWZlC0ykrNDeAy9IJegrQ7v5E99rJwmQu25lygKLA==} - engines: {node: '>=18'} - - '@jimp/plugin-crop@0.22.12': - resolution: {integrity: sha512-FNuUN0OVzRCozx8XSgP9MyLGMxNHHJMFt+LJuFjn1mu3k0VQxrzqbN06yIl46TVejhyAhcq5gLzqmSCHvlcBVw==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - - '@jimp/plugin-crop@1.6.0': - resolution: {integrity: sha512-KqZkEhvs+21USdySCUDI+GFa393eDIzbi1smBqkUPTE+pRwSWMAf01D5OC3ZWB+xZsNla93BDS9iCkLHA8wang==} - engines: {node: '>=18'} - - '@jimp/plugin-displace@0.22.12': - resolution: {integrity: sha512-qpRM8JRicxfK6aPPqKZA6+GzBwUIitiHaZw0QrJ64Ygd3+AsTc7BXr+37k2x7QcyCvmKXY4haUrSIsBug4S3CA==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - - '@jimp/plugin-displace@1.6.0': - resolution: {integrity: sha512-4Y10X9qwr5F+Bo5ME356XSACEF55485j5nGdiyJ9hYzjQP9nGgxNJaZ4SAOqpd+k5sFaIeD7SQ0Occ26uIng5Q==} - engines: {node: '>=18'} - - '@jimp/plugin-dither@0.22.12': - resolution: {integrity: sha512-jYgGdSdSKl1UUEanX8A85v4+QUm+PE8vHFwlamaKk89s+PXQe7eVE3eNeSZX4inCq63EHL7cX580dMqkoC3ZLw==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - - '@jimp/plugin-dither@1.6.0': - resolution: {integrity: sha512-600d1RxY0pKwgyU0tgMahLNKsqEcxGdbgXadCiVCoGd6V6glyCvkNrnnwC0n5aJ56Htkj88PToSdF88tNVZEEQ==} - engines: {node: '>=18'} - - '@jimp/plugin-fisheye@0.22.12': - resolution: {integrity: sha512-LGuUTsFg+fOp6KBKrmLkX4LfyCy8IIsROwoUvsUPKzutSqMJnsm3JGDW2eOmWIS/jJpPaeaishjlxvczjgII+Q==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - - '@jimp/plugin-fisheye@1.6.0': - resolution: {integrity: sha512-E5QHKWSCBFtpgZarlmN3Q6+rTQxjirFqo44ohoTjzYVrDI6B6beXNnPIThJgPr0Y9GwfzgyarKvQuQuqCnnfbA==} - engines: {node: '>=18'} - - '@jimp/plugin-flip@0.22.12': - resolution: {integrity: sha512-m251Rop7GN8W0Yo/rF9LWk6kNclngyjIJs/VXHToGQ6EGveOSTSQaX2Isi9f9lCDLxt+inBIb7nlaLLxnvHX8Q==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - '@jimp/plugin-rotate': '>=0.3.5' - - '@jimp/plugin-flip@1.6.0': - resolution: {integrity: sha512-/+rJVDuBIVOgwoyVkBjUFHtP+wmW0r+r5OQ2GpatQofToPVbJw1DdYWXlwviSx7hvixTWLKVgRWQ5Dw862emDg==} - engines: {node: '>=18'} - - '@jimp/plugin-gaussian@0.22.12': - resolution: {integrity: sha512-sBfbzoOmJ6FczfG2PquiK84NtVGeScw97JsCC3rpQv1PHVWyW+uqWFF53+n3c8Y0P2HWlUjflEla2h/vWShvhg==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - - '@jimp/plugin-hash@1.6.0': - resolution: {integrity: sha512-wWzl0kTpDJgYVbZdajTf+4NBSKvmI3bRI8q6EH9CVeIHps9VWVsUvEyb7rpbcwVLWYuzDtP2R0lTT6WeBNQH9Q==} - engines: {node: '>=18'} - - '@jimp/plugin-invert@0.22.12': - resolution: {integrity: sha512-N+6rwxdB+7OCR6PYijaA/iizXXodpxOGvT/smd/lxeXsZ/empHmFFFJ/FaXcYh19Tm04dGDaXcNF/dN5nm6+xQ==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - - '@jimp/plugin-mask@0.22.12': - resolution: {integrity: sha512-4AWZg+DomtpUA099jRV8IEZUfn1wLv6+nem4NRJC7L/82vxzLCgXKTxvNvBcNmJjT9yS1LAAmiJGdWKXG63/NA==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - - '@jimp/plugin-mask@1.6.0': - resolution: {integrity: sha512-Cwy7ExSJMZszvkad8NV8o/Z92X2kFUFM8mcDAhNVxU0Q6tA0op2UKRJY51eoK8r6eds/qak3FQkXakvNabdLnA==} - engines: {node: '>=18'} - - '@jimp/plugin-normalize@0.22.12': - resolution: {integrity: sha512-0So0rexQivnWgnhacX4cfkM2223YdExnJTTy6d06WbkfZk5alHUx8MM3yEzwoCN0ErO7oyqEWRnEkGC+As1FtA==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - - '@jimp/plugin-print@0.22.12': - resolution: {integrity: sha512-c7TnhHlxm87DJeSnwr/XOLjJU/whoiKYY7r21SbuJ5nuH+7a78EW1teOaj5gEr2wYEd7QtkFqGlmyGXY/YclyQ==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - '@jimp/plugin-blit': '>=0.3.5' - - '@jimp/plugin-print@1.6.0': - resolution: {integrity: sha512-zarTIJi8fjoGMSI/M3Xh5yY9T65p03XJmPsuNet19K/Q7mwRU6EV2pfj+28++2PV2NJ+htDF5uecAlnGyxFN2A==} - engines: {node: '>=18'} - - '@jimp/plugin-quantize@1.6.0': - resolution: {integrity: sha512-EmzZ/s9StYQwbpG6rUGBCisc3f64JIhSH+ncTJd+iFGtGo0YvSeMdAd+zqgiHpfZoOL54dNavZNjF4otK+mvlg==} - engines: {node: '>=18'} - - '@jimp/plugin-resize@0.22.12': - resolution: {integrity: sha512-3NyTPlPbTnGKDIbaBgQ3HbE6wXbAlFfxHVERmrbqAi8R3r6fQPxpCauA8UVDnieg5eo04D0T8nnnNIX//i/sXg==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - - '@jimp/plugin-resize@1.6.0': - resolution: {integrity: sha512-uSUD1mqXN9i1SGSz5ov3keRZ7S9L32/mAQG08wUwZiEi5FpbV0K8A8l1zkazAIZi9IJzLlTauRNU41Mi8IF9fA==} - engines: {node: '>=18'} - - '@jimp/plugin-rotate@0.22.12': - resolution: {integrity: sha512-9YNEt7BPAFfTls2FGfKBVgwwLUuKqy+E8bDGGEsOqHtbuhbshVGxN2WMZaD4gh5IDWvR+emmmPPWGgaYNYt1gA==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - '@jimp/plugin-blit': '>=0.3.5' - '@jimp/plugin-crop': '>=0.3.5' - '@jimp/plugin-resize': '>=0.3.5' - - '@jimp/plugin-rotate@1.6.0': - resolution: {integrity: sha512-JagdjBLnUZGSG4xjCLkIpQOZZ3Mjbg8aGCCi4G69qR+OjNpOeGI7N2EQlfK/WE8BEHOW5vdjSyglNqcYbQBWRw==} - engines: {node: '>=18'} - - '@jimp/plugin-scale@0.22.12': - resolution: {integrity: sha512-dghs92qM6MhHj0HrV2qAwKPMklQtjNpoYgAB94ysYpsXslhRTiPisueSIELRwZGEr0J0VUxpUY7HgJwlSIgGZw==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - '@jimp/plugin-resize': '>=0.3.5' - - '@jimp/plugin-shadow@0.22.12': - resolution: {integrity: sha512-FX8mTJuCt7/3zXVoeD/qHlm4YH2bVqBuWQHXSuBK054e7wFRnRnbSLPUqAwSeYP3lWqpuQzJtgiiBxV3+WWwTg==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - '@jimp/plugin-blur': '>=0.3.5' - '@jimp/plugin-resize': '>=0.3.5' - - '@jimp/plugin-threshold@0.22.12': - resolution: {integrity: sha512-4x5GrQr1a/9L0paBC/MZZJjjgjxLYrqSmWd+e+QfAEPvmRxdRoQ5uKEuNgXnm9/weHQBTnQBQsOY2iFja+XGAw==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - '@jimp/plugin-color': '>=0.8.0' - '@jimp/plugin-resize': '>=0.8.0' - - '@jimp/plugin-threshold@1.6.0': - resolution: {integrity: sha512-M59m5dzLoHOVWdM41O8z9SyySzcDn43xHseOH0HavjsfQsT56GGCC4QzU1banJidbUrePhzoEdS42uFE8Fei8w==} - engines: {node: '>=18'} - - '@jimp/plugins@0.22.12': - resolution: {integrity: sha512-yBJ8vQrDkBbTgQZLty9k4+KtUQdRjsIDJSPjuI21YdVeqZxYywifHl4/XWILoTZsjTUASQcGoH0TuC0N7xm3ww==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - - '@jimp/png@0.22.12': - resolution: {integrity: sha512-Mrp6dr3UTn+aLK8ty/dSKELz+Otdz1v4aAXzV5q53UDD2rbB5joKVJ/ChY310B+eRzNxIovbUF1KVrUsYdE8Hg==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - - '@jimp/tiff@0.22.12': - resolution: {integrity: sha512-E1LtMh4RyJsoCAfAkBRVSYyZDTtLq9p9LUiiYP0vPtXyxX4BiYBUYihTLSBlCQg5nF2e4OpQg7SPrLdJ66u7jg==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - - '@jimp/types@0.22.12': - resolution: {integrity: sha512-wwKYzRdElE1MBXFREvCto5s699izFHNVvALUv79GXNbsOVqlwlOxlWJ8DuyOGIXoLP4JW/m30YyuTtfUJgMRMA==} - peerDependencies: - '@jimp/custom': '>=0.3.5' - - '@jimp/types@1.6.0': - resolution: {integrity: sha512-7UfRsiKo5GZTAATxm2qQ7jqmUXP0DxTArztllTcYdyw6Xi5oT4RaoXynVtCD4UyLK5gJgkZJcwonoijrhYFKfg==} - engines: {node: '>=18'} - - '@jimp/utils@0.22.12': - resolution: {integrity: sha512-yJ5cWUknGnilBq97ZXOyOS0HhsHOyAyjHwYfHxGbSyMTohgQI6sVyE8KPgDwH8HHW/nMKXk8TrSwAE71zt716Q==} - - '@jimp/utils@1.6.0': - resolution: {integrity: sha512-gqFTGEosKbOkYF/WFj26jMHOI5OH2jeP1MmC/zbK6BF6VJBf8rIC5898dPfSzZEbSA0wbbV5slbntWVc5PKLFA==} - engines: {node: '>=18'} - '@jridgewell/gen-mapping@0.3.8': resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} engines: {node: '>=6.0.0'} @@ -5953,6 +5710,9 @@ packages: resolution: {integrity: sha512-vAI2O1tPF8QMMgp+bdUeeJCneJNkOZvqsrtyb4ohnFVFdboSqPwBEacnt0HH4E+5h+qsIwTHUSAhffU4hzKl1A==} hasBin: true + '@lezer/go@1.0.1': + resolution: {integrity: sha512-xToRsYxwsgJNHTgNdStpcvmbVuKxTapV0dM0wey1geMMRc9aggoVyKgzYp41D2/vVOx+Ii4hmE206kvxIXBVXQ==} + '@lezer/highlight@1.2.1': resolution: {integrity: sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA==} @@ -6151,13 +5911,13 @@ packages: '@nozbe/microfuzz@1.0.0': resolution: {integrity: sha512-XKIg/guk+s1tkPTkHch9hfGOWgsKojT7BqSQddXTppOfVr3SWQhhTCqbgQaPTbppf9gc2kFeG0gpBZZ612UXHA==} - '@npmcli/agent@2.2.2': - resolution: {integrity: sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==} - engines: {node: ^16.14.0 || >=18.0.0} + '@npmcli/agent@3.0.0': + resolution: {integrity: sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==} + engines: {node: ^18.17.0 || >=20.5.0} - '@npmcli/fs@3.1.1': - resolution: {integrity: sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + '@npmcli/fs@4.0.0': + resolution: {integrity: sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==} + engines: {node: ^18.17.0 || >=20.5.0} '@oxidation-compiler/napi-darwin-arm64@0.2.0': resolution: {integrity: sha512-Rl1b3hQuJV7hVCJGyJuoDZ8Wzbisn6eo/XGDNhAa5RgEcL+vS+XEu+V9O3nriZ4QFceRCRfthBbMAn9RjCuI+Q==} @@ -7005,82 +6765,6 @@ packages: resolution: {integrity: sha512-O3rHJzAQKamUz1fvE0Qaw0xSFqsA/yafi2iqeE0pvdFtCO1viYx8QL6f3Ln/aCCTLxs68SLf0KPM9eSeM8yBnA==} engines: {node: '>=14.0.0'} - '@resvg/resvg-js-android-arm-eabi@2.6.2': - resolution: {integrity: sha512-FrJibrAk6v29eabIPgcTUMPXiEz8ssrAk7TXxsiZzww9UTQ1Z5KAbFJs+Z0Ez+VZTYgnE5IQJqBcoSiMebtPHA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - - '@resvg/resvg-js-android-arm64@2.6.2': - resolution: {integrity: sha512-VcOKezEhm2VqzXpcIJoITuvUS/fcjIw5NA/w3tjzWyzmvoCdd+QXIqy3FBGulWdClvp4g+IfUemigrkLThSjAQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - - '@resvg/resvg-js-darwin-arm64@2.6.2': - resolution: {integrity: sha512-nmok2LnAd6nLUKI16aEB9ydMC6Lidiiq2m1nEBDR1LaaP7FGs4AJ90qDraxX+CWlVuRlvNjyYJTNv8qFjtL9+A==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - - '@resvg/resvg-js-darwin-x64@2.6.2': - resolution: {integrity: sha512-GInyZLjgWDfsVT6+SHxQVRwNzV0AuA1uqGsOAW+0th56J7Nh6bHHKXHBWzUrihxMetcFDmQMAX1tZ1fZDYSRsw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - - '@resvg/resvg-js-linux-arm-gnueabihf@2.6.2': - resolution: {integrity: sha512-YIV3u/R9zJbpqTTNwTZM5/ocWetDKGsro0SWp70eGEM9eV2MerWyBRZnQIgzU3YBnSBQ1RcxRZvY/UxwESfZIw==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - - '@resvg/resvg-js-linux-arm64-gnu@2.6.2': - resolution: {integrity: sha512-zc2BlJSim7YR4FZDQ8OUoJg5holYzdiYMeobb9pJuGDidGL9KZUv7SbiD4E8oZogtYY42UZEap7dqkkYuA91pg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@resvg/resvg-js-linux-arm64-musl@2.6.2': - resolution: {integrity: sha512-3h3dLPWNgSsD4lQBJPb4f+kvdOSJHa5PjTYVsWHxLUzH4IFTJUAnmuWpw4KqyQ3NA5QCyhw4TWgxk3jRkQxEKg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@resvg/resvg-js-linux-x64-gnu@2.6.2': - resolution: {integrity: sha512-IVUe+ckIerA7xMZ50duAZzwf1U7khQe2E0QpUxu5MBJNao5RqC0zwV/Zm965vw6D3gGFUl7j4m+oJjubBVoftw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@resvg/resvg-js-linux-x64-musl@2.6.2': - resolution: {integrity: sha512-UOf83vqTzoYQO9SZ0fPl2ZIFtNIz/Rr/y+7X8XRX1ZnBYsQ/tTb+cj9TE+KHOdmlTFBxhYzVkP2lRByCzqi4jQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@resvg/resvg-js-win32-arm64-msvc@2.6.2': - resolution: {integrity: sha512-7C/RSgCa+7vqZ7qAbItfiaAWhyRSoD4l4BQAbVDqRRsRgY+S+hgS3in0Rxr7IorKUpGE69X48q6/nOAuTJQxeQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - - '@resvg/resvg-js-win32-ia32-msvc@2.6.2': - resolution: {integrity: sha512-har4aPAlvjnLcil40AC77YDIk6loMawuJwFINEM7n0pZviwMkMvjb2W5ZirsNOZY4aDbo5tLx0wNMREp5Brk+w==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - - '@resvg/resvg-js-win32-x64-msvc@2.6.2': - resolution: {integrity: sha512-ZXtYhtUr5SSaBrUDq7DiyjOFJqBVL/dOBN7N/qmi/pO0IgiWW/f/ue3nbvu9joWE5aAKDoIzy/CxsY0suwGosQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - - '@resvg/resvg-js@2.6.2': - resolution: {integrity: sha512-xBaJish5OeGmniDj9cW5PRa/PtmuVU3ziqrbr5xJj901ZDN4TosrVaNZpEiLZAxdfnhAe7uQ7QFWfjPe9d9K2Q==} - engines: {node: '>= 10'} - '@rolldown/pluginutils@1.0.0-beta.9': resolution: {integrity: sha512-e9MeMtVWo186sgvFFJOPGy7/d2j2mZhLJIdVW0C/xDluuOvymEATqz6zKsP0ZmXGzQtqlyjz5sC1sYQUoJG98w==} @@ -7874,20 +7558,20 @@ packages: '@shikijs/engine-oniguruma@3.6.0': resolution: {integrity: sha512-nmOhIZ9yT3Grd+2plmW/d8+vZ2pcQmo/UnVwXMUXAKTXdi+LK0S08Ancrz5tQQPkxvjBalpMW2aKvwXfelauvA==} - '@shikijs/langs@3.12.0': - resolution: {integrity: sha512-HIca0daEySJ8zuy9bdrtcBPhcYBo8wR1dyHk1vKrOuwDsITtZuQeGhEkcEfWc6IDyTcom7LRFCH6P7ljGSCEiQ==} + '@shikijs/langs@3.12.3': + resolution: {integrity: sha512-9lKnWuO9P06Ro9T8wN0V3rQg3UlKfjCtfDRTnRnFr7szuaGQiQpaAdwFvqkWvHrMNIpfqUEIzAC08b90JONfuQ==} '@shikijs/langs@3.6.0': resolution: {integrity: sha512-IdZkQJaLBu1LCYCwkr30hNuSDfllOT8RWYVZK1tD2J03DkiagYKRxj/pDSl8Didml3xxuyzUjgtioInwEQM/TA==} - '@shikijs/themes@3.12.0': - resolution: {integrity: sha512-/lxvQxSI5s4qZLV/AuFaA4Wt61t/0Oka/P9Lmpr1UV+HydNCczO3DMHOC/CsXCCpbv4Zq8sMD0cDa7mvaVoj0Q==} + '@shikijs/themes@3.12.3': + resolution: {integrity: sha512-rpqLpI2oMrf2BiJdql8U7ZW1UhfJy9lEj4MRyIeXLlkEe5BwaYseFvSbXhJ/4eS8d3F/zlVUOADFX8WihWlccQ==} '@shikijs/themes@3.6.0': resolution: {integrity: sha512-Fq2j4nWr1DF4drvmhqKq8x5vVQ27VncF8XZMBuHuQMZvUSS3NBgpqfwz/FoGe36+W6PvniZ1yDlg2d4kmYDU6w==} - '@shikijs/types@3.12.0': - resolution: {integrity: sha512-jsFzm8hCeTINC3OCmTZdhR9DOl/foJWplH2Px0bTi4m8z59fnsueLsweX82oGcjRQ7mfQAluQYKGoH2VzsWY4A==} + '@shikijs/types@3.12.3': + resolution: {integrity: sha512-spl99dj9qzPcTvYJLhfp6Zw0umQMNN8q3hXo0tbTTylxXtu5Uiy9WLRhuv2P/g+njFd/lSZU7HnctXuxiwEAwg==} '@shikijs/types@3.6.0': resolution: {integrity: sha512-cLWFiToxYu0aAzJqhXTQsFiJRTFDAGl93IrMSBNaGSzs7ixkLfdG6pH11HipuWFGW5vyx4X47W8HDQ7eSrmBUg==} @@ -8373,9 +8057,6 @@ packages: peerDependencies: '@testing-library/dom': '>=7.21.4' - '@tokenizer/token@0.3.0': - resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} - '@tootallnate/once@2.0.0': resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} @@ -8516,6 +8197,9 @@ packages: '@types/fined@1.1.5': resolution: {integrity: sha512-2N93vadEGDFhASTIRbizbl4bNqpMOId5zZfj6hHqYZfEzEfO9onnU4Im8xvzo8uudySDveDHBOOSlTWf38ErfQ==} + '@types/fs-extra@11.0.4': + resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} + '@types/glob@7.2.0': resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} @@ -8558,6 +8242,9 @@ packages: '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + '@types/jsonfile@6.1.4': + resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} + '@types/liftoff@4.0.3': resolution: {integrity: sha512-UgbL2kR5pLrWICvr8+fuSg0u43LY250q7ZMkC+XKC3E+rs/YBDEnQIzsnhU5dYsLlwMi3R75UvCL87pObP1sxw==} @@ -8606,9 +8293,6 @@ packages: '@types/node@16.18.11': resolution: {integrity: sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==} - '@types/node@16.9.1': - resolution: {integrity: sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==} - '@types/node@18.19.107': resolution: {integrity: sha512-uvHN/vnsPj8hJWaqXUjT59LKYh0RlZXsdYa4CGz4R9aFGePPsUPN0xlHrDzOset937H2TunFJ8SwPCX69y9qhA==} @@ -8672,18 +8356,9 @@ packages: '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - '@types/svg2ttf@5.0.3': - resolution: {integrity: sha512-hL+/A4qMISvDbDTtdY73R0zuvsdc7YRYnV5FyAfKVGk8OsluXu/tCFxop7IB5Sgr+ZCS0hHtFxylD0REmm+abA==} - '@types/through@0.0.33': resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==} - '@types/ttf2eot@2.0.2': - resolution: {integrity: sha512-KynDvCZEd1UuMkvGo/4TcrBlFj3K0HIrSlachIUrTHzqsGmxCL3I6QG6k83JPdxgbXSFGS+BILq0yZeLHgpkww==} - - '@types/ttf2woff@2.0.4': - resolution: {integrity: sha512-pD66iwSkU5lIMWWTz5sxIMjwM7/qs/EYgE01vqu5C3S1izONHiF1GRy2dWvlKMlC39TfZszP7+OVXgVk3BccOg==} - '@types/unist@2.0.11': resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} @@ -9121,6 +8796,9 @@ packages: '@vitest/utils@3.0.9': resolution: {integrity: sha512-ilHM5fHhZ89MCp5aAaM9uhfl1c2JdxVxl3McqsdVyVNN6JffnEen8UMCdRTzOhGXNQGo5GNL9QugHrz727Wnng==} + '@volar/source-map@2.4.28': + resolution: {integrity: sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==} + '@vscode/l10n@0.0.18': resolution: {integrity: sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==} @@ -9223,8 +8901,10 @@ packages: webpack-dev-server: optional: true - '@with/svg-to-fonts@0.3.0': - resolution: {integrity: sha512-6dFMfRux1fk54X0o1rzhm/cp48TBSJV7Q+MmXP+SlaTHyxA0LWPui7sUdN6aaHOateBxZYGxwVKFzuPdD0dHdw==} + '@xmldom/xmldom@0.7.13': + resolution: {integrity: sha512-lm2GW5PkosIzccsaZIz7tp8cPADSIlIHWDFTR1N0SzfinhhYgeIQjFMz4rYzanCScr3DqQLeomUDArp6MWKm+g==} + engines: {node: '>=10.0.0'} + deprecated: this version is no longer supported, please update to at least 0.8.* '@xtuc/ieee754@1.2.0': resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} @@ -9253,13 +8933,9 @@ packages: abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - abbrev@2.0.0: - resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} + abbrev@3.0.1: + resolution: {integrity: sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==} + engines: {node: ^18.17.0 || >=20.5.0} accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} @@ -9408,9 +9084,6 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - any-base@1.1.0: - resolution: {integrity: sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==} - any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} @@ -9620,10 +9293,6 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - await-to-js@3.0.0: - resolution: {integrity: sha512-zJAaP9zxTcvTHRlejau3ZOY4V7SRpiByf3/dxx2uyKxxor19tpmpV2QRsTKikckwhaPmr2dVpxxMr7jOCYVp5g==} - engines: {node: '>=6.0.0'} - axe-core@4.10.3: resolution: {integrity: sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==} engines: {node: '>=4'} @@ -9751,12 +9420,6 @@ packages: bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - bmp-js@0.1.0: - resolution: {integrity: sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==} - - bmp-ts@1.0.9: - resolution: {integrity: sha512-cTEHk2jLrPyi+12M3dhpEbnnPOsaZuq7C45ylbbQIiWgDFZq4UVYPEY5mlqjvsj/6gJv9qX5sa+ebDzLXT28Vw==} - body-parser@1.20.3: resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -9809,19 +9472,12 @@ packages: buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - buffer-equal@0.0.1: - resolution: {integrity: sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==} - engines: {node: '>=0.4.0'} - buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - bufferstreams@4.0.0: resolution: {integrity: sha512-azX778/2VQ9K2uiYprSUKLgK2K6lR1KtJycJDsMg7u0+Cc994A9HyGaUKb01e/T+M8jse057429iKXurCaT35g==} engines: {node: '>=20.11.1'} @@ -9852,9 +9508,9 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - cacache@18.0.4: - resolution: {integrity: sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==} - engines: {node: ^16.14.0 || >=18.0.0} + cacache@19.0.1: + resolution: {integrity: sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==} + engines: {node: ^18.17.0 || >=20.5.0} cache-base@1.0.1: resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} @@ -9938,15 +9594,16 @@ packages: resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==} engines: {node: '>=4'} + case@1.6.3: + resolution: {integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==} + engines: {node: '>= 0.8.0'} + ccount@1.1.0: resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - centra@2.7.0: - resolution: {integrity: sha512-PbFMgMSrmgx6uxCdm57RUos9Tc3fclMvhLSATYN39XsDV29B89zZ3KA89jmY0vwSGazyU+uerqwa6t+KaodPcg==} - chai@4.5.0: resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} engines: {node: '>=4'} @@ -10027,6 +9684,10 @@ packages: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} + chownr@3.0.0: + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} + chrome-trace-event@1.0.4: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} @@ -10070,6 +9731,10 @@ packages: resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} engines: {node: '>=12'} + cli-color@2.0.4: + resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==} + engines: {node: '>=0.10'} + cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} @@ -10119,13 +9784,6 @@ packages: code-block-writer@10.1.1: resolution: {integrity: sha512-67ueh2IRGst/51p0n6FvPrnRjAGHY5F8xdjkgrYE7DDzpJe6qA07RYQ9VcoUeo5ATOjSOiWpSL3SWBRRbempMw==} - codemirror-shiki@0.2.2: - resolution: {integrity: sha512-nDFc4TrnLQ0RMBhQmnUvsORt4oT5k7mB5Ju1YemZGnyL4tq29a/shdxt8zVBlnwMjdNyrlmoT6KirApo1jZzqg==} - peerDependencies: - '@codemirror/state': ^6 - '@codemirror/view': ^6 - shiki: '>=2.0.0' - collapse-white-space@1.0.6: resolution: {integrity: sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==} @@ -10187,6 +9845,10 @@ packages: resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} engines: {node: '>=18'} + commander@14.0.3: + resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} + engines: {node: '>=20'} + commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -10516,6 +10178,10 @@ packages: resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} engines: {node: '>=12'} + d@1.0.2: + resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} + engines: {node: '>=0.12'} + damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} @@ -10571,6 +10237,15 @@ packages: supports-color: optional: true + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decamelize-keys@1.1.1: resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} engines: {node: '>=0.10.0'} @@ -10787,9 +10462,6 @@ packages: dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - dom-walk@0.1.2: - resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} - domelementtype@1.3.1: resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} @@ -10807,9 +10479,6 @@ packages: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} - domino@2.1.6: - resolution: {integrity: sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==} - domutils@1.7.0: resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} @@ -10988,6 +10657,20 @@ packages: es-toolkit@1.39.3: resolution: {integrity: sha512-Qb/TCFCldgOy8lZ5uC7nLGdqJwSabkQiYQShmw4jyiPk1pZzaYWTwaYKYP7EgLccWYgZocMrtItrwh683voaww==} + es5-ext@0.10.64: + resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} + engines: {node: '>=0.10'} + + es6-iterator@2.0.3: + resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + + es6-symbol@3.1.4: + resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} + engines: {node: '>=0.12'} + + es6-weak-map@2.0.3: + resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} + esast-util-from-estree@2.0.0: resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} @@ -11409,6 +11092,10 @@ packages: jiti: optional: true + esniff@2.0.1: + resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} + engines: {node: '>=0.10'} + espree@10.3.0: resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -11484,9 +11171,8 @@ packages: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} - event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} + event-emitter@0.3.5: + resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} @@ -11522,9 +11208,6 @@ packages: resolution: {integrity: sha512-/J0Q8CvOvlAdpvhfkD/WnTQ4H1eU0exze2nFGPj/RSC7jpQ0NkKe2r28T5eMkhEEs+fzepMZNy1kVRKNlC04nQ==} engines: {node: '>=0.10.0'} - exif-parser@0.1.12: - resolution: {integrity: sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==} - expand-brackets@2.1.4: resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} engines: {node: '>=0.10.0'} @@ -11558,6 +11241,9 @@ packages: resolution: {integrity: sha512-ORF7g6qGnD+YtUG9yx4DFoqCShNMmUKiXuT5oWMHiOvt/4WFbHC6yCwQMTSBMno7AqntNCAzzcnnjowRkTL9eQ==} engines: {node: '>= 18'} + ext@1.7.0: + resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} + extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} engines: {node: '>=0.10.0'} @@ -11581,6 +11267,11 @@ packages: resolution: {integrity: sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==} hasBin: true + fantasticon@4.1.0: + resolution: {integrity: sha512-Clnp+ic3eH33fEKfJOf7eDOUAjv/+cD7lqPQVMwDk+5jYVzNoBrQi1JVSSsSL+j1+S04bQDHH35RkpnsvBQILA==} + engines: {node: '>= 22.0'} + hasBin: true + fast-copy@3.0.2: resolution: {integrity: sha512-dl0O9Vhju8IrcLndv2eU4ldt1ftXMqqfgN4H1cpmGV7P6jeB9FwpN9a2c8DPGE1Ys88rNUJVYDHq73CGAGOPfQ==} @@ -11665,10 +11356,6 @@ packages: file-system-cache@2.3.0: resolution: {integrity: sha512-l4DMNdsIPsVnKrgEXbJwDJsA5mB8rGwHYERMgqQx/xAUtChPJMre1bXBzDEqqVbWv9AIbFezXMxeEkZDSrXUOQ==} - file-type@16.5.4: - resolution: {integrity: sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==} - engines: {node: '>=10'} - file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} @@ -11845,6 +11532,10 @@ packages: resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} engines: {node: '>=14.14'} + fs-extra@11.3.3: + resolution: {integrity: sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==} + engines: {node: '>=14.14'} + fs-extra@8.1.0: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} @@ -11964,9 +11655,6 @@ packages: resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} engines: {node: '>=0.10.0'} - gifwrap@0.10.1: - resolution: {integrity: sha512-2760b1vpJHNmLzZ/ubTtNnEx5WApN/PYWJvXvgS+tL1egTTthayFYIQQNi136FLEDcN/IyEY2EcGpIITD6eYUw==} - giget@1.2.5: resolution: {integrity: sha512-r1ekGw/Bgpi3HLV3h1MRBIlSAdHoIMklpaQ3OQLFcRw9PwAj2rqigvIbg+dBUI51OxVI2jsEtDywDBjSiuf7Ug==} hasBin: true @@ -12006,6 +11694,10 @@ packages: engines: {node: 20 || >=22} hasBin: true + glob@13.0.1: + resolution: {integrity: sha512-B7U/vJpE3DkJ5WXTgTpTRN63uV42DseiXXKMwG14LQBXmsdeIoHAPbU/MEo6II0k5ED74uc2ZGTC6MwHFQhF6w==} + engines: {node: 20 || >=22} + glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported @@ -12026,9 +11718,6 @@ packages: resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} engines: {node: '>=6'} - global@4.4.0: - resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==} - globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} @@ -12375,9 +12064,6 @@ packages: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} - image-q@4.0.0: - resolution: {integrity: sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw==} - image-size@0.5.5: resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} engines: {node: '>=0.10.0'} @@ -12642,9 +12328,6 @@ packages: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - is-function@1.0.2: - resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==} - is-generator-function@1.1.0: resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} engines: {node: '>= 0.4'} @@ -12680,9 +12363,6 @@ packages: resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} engines: {node: '>=12'} - is-lambda@1.0.1: - resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} - is-map@2.0.3: resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} @@ -12742,6 +12422,9 @@ packages: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} + is-promise@2.2.2: + resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} + is-promise@4.0.0: resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} @@ -12876,9 +12559,6 @@ packages: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} - isomorphic-fetch@3.0.0: - resolution: {integrity: sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==} - isomorphic-rslog@0.0.6: resolution: {integrity: sha512-HM0q6XqQ93psDlqvuViNs/Ea3hAyGDkIdVAHlrEocjjAwGrs1fZ+EdQjS9eUPacnYB7Y8SoDdSY3H8p3ce205A==} engines: {node: '>=14.17.6'} @@ -12963,13 +12643,6 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jimp@0.22.12: - resolution: {integrity: sha512-R5jZaYDnfkxKJy1dwLpj/7cvyjxiclxU3F4TrI/J4j2rS0niq6YDUMoPn5hs8GDpO+OZGo7Ky057CRtWesyhfg==} - - jimp@1.6.0: - resolution: {integrity: sha512-YcwCHw1kiqEeI5xRpDlPPBGL2EOpBKLwO4yIBJcXWHPj5PnA5urGq0jbyhM5KoNpypQ6VboSoxc9D8HyfvngSg==} - engines: {node: '>=18'} - jiti@1.21.7: resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} hasBin: true @@ -13001,9 +12674,6 @@ packages: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} - jpeg-js@0.4.4: - resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==} - js-cookie@3.0.5: resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==} engines: {node: '>=14'} @@ -13092,9 +12762,6 @@ packages: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} - jszip@2.7.0: - resolution: {integrity: sha512-JIsRKRVC3gTRo2vM4Wy9WBC3TRcfnIZU8k65Phi3izkvPH975FowRYtKGT6PxevA0XnJ/yO8b0QwV0ydVyQwfw==} - keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -13184,9 +12851,6 @@ packages: linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} - load-bmfont@1.4.2: - resolution: {integrity: sha512-qElWkmjW9Oq1F9EI5Gt7aD9zcdHb9spJCW1L/dmPf7KzCCEJxq8nhHz5eCgI9aMf7vrG/wyaCqdsI+Iy9ZTlog==} - load-json-file@4.0.0: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} engines: {node: '>=4'} @@ -13323,6 +12987,9 @@ packages: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} + lru-queue@0.1.0: + resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} + lucide-react@0.468.0: resolution: {integrity: sha512-6koYRhnM2N0GGZIdXzSeiNwguv1gt/FAjZOiPl76roBi3xKEXa4WmfpxgQwTTL4KipXjefrnf3oV4IsYhi4JFA==} peerDependencies: @@ -13353,9 +13020,9 @@ packages: make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - make-fetch-happen@13.0.1: - resolution: {integrity: sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==} - engines: {node: ^16.14.0 || >=18.0.0} + make-fetch-happen@14.0.3: + resolution: {integrity: sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==} + engines: {node: ^18.17.0 || >=20.5.0} make-iterator@1.0.1: resolution: {integrity: sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==} @@ -13577,6 +13244,10 @@ packages: memoize-one@5.2.1: resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} + memoizee@0.4.17: + resolution: {integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==} + engines: {node: '>=0.12'} + memoizerific@1.11.3: resolution: {integrity: sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==} @@ -13862,11 +13533,6 @@ packages: engines: {node: '>=4.0.0'} hasBin: true - mime@3.0.0: - resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} - engines: {node: '>=10.0.0'} - hasBin: true - mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} @@ -13875,9 +13541,6 @@ packages: resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} engines: {node: '>=18'} - min-document@2.19.0: - resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==} - min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -13896,6 +13559,10 @@ packages: resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} engines: {node: 20 || >=22} + minimatch@10.1.2: + resolution: {integrity: sha512-fu656aJ0n2kcXwsnwnv9g24tkU5uSmOlTjd6WyyaKm2Z+h1qmY6bAjrcaIxF/BslFqbZ8UBtbJi7KgQOZD2PTw==} + engines: {node: 20 || >=22} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -13922,9 +13589,9 @@ packages: resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==} engines: {node: '>=16 || 14 >=14.17'} - minipass-fetch@3.0.5: - resolution: {integrity: sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + minipass-fetch@4.0.1: + resolution: {integrity: sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==} + engines: {node: ^18.17.0 || >=20.5.0} minipass-flush@1.0.5: resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} @@ -13960,6 +13627,10 @@ packages: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} + minizlib@3.1.0: + resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} + engines: {node: '>= 18'} + mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} @@ -14055,6 +13726,9 @@ packages: neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + next-tick@1.1.0: + resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} + nice-try@1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} @@ -14105,9 +13779,9 @@ packages: resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} hasBin: true - node-gyp@10.3.1: - resolution: {integrity: sha512-Pp3nFHBThHzVtNY7U6JfPjvT/DTE8+o/4xKsLQtBoU+j2HLsGlhcfzflAoUreaJbNmYnX+LlLi0qjV8kpyO6xQ==} - engines: {node: ^16.14.0 || >=18.0.0} + node-gyp@11.5.0: + resolution: {integrity: sha512-ra7Kvlhxn5V9Slyus0ygMa2h+UqExPqUIkfk7Pc8QTLT956JLSy51uWFwHtIYy0vI8cB4BDhc/S03+880My/LQ==} + engines: {node: ^18.17.0 || >=20.5.0} hasBin: true node-int64@0.4.0: @@ -14125,9 +13799,9 @@ packages: engines: {node: '>=6'} hasBin: true - nopt@7.2.1: - resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + nopt@8.1.0: + resolution: {integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==} + engines: {node: ^18.17.0 || >=20.5.0} hasBin: true normalize-package-data@2.5.0: @@ -14245,9 +13919,6 @@ packages: objectorarray@1.0.5: resolution: {integrity: sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==} - omggif@1.0.10: - resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==} - on-finished@2.3.0: resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} engines: {node: '>= 0.8'} @@ -14308,16 +13979,6 @@ packages: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} - oslllo-potrace@4.0.0: - resolution: {integrity: sha512-mJY1hEPqjHFaW8CERl6bWFPoIafyFhfbvsNqnoVTbafJs+VPQN9PfLurRwbLdmzHfubj6lw0UpZICAXGBYdZjQ==} - - oslllo-svg2@4.0.0: - resolution: {integrity: sha512-a2bXfBJOhBBps87DdCLDArseq54PeNVPvAPijjHGj4bUP3pNbn9vxIyI49/zn2u0RJg30aKH6FSvOMdZbRPa6A==} - - oslllo-validator@3.1.0: - resolution: {integrity: sha512-eqaVuDxnxDO55+pncqTTphbeq6O5XHMyrSfWQoL48mG2rUjr2ZBzvkFkcxIiG3l7IaIY6/L1oX1AJIDdZyzuPQ==} - engines: {node: '>= 10.0'} - overlayscrollbars@2.11.4: resolution: {integrity: sha512-GKYQo3OZ1QWnppNjQVv5hfpn+glYUxc6+ufW+ivdXUyLWFNc01XoH2Z36KGM4I8e5pXYeA3ElNItcXiLvmUhnQ==} @@ -14377,6 +14038,10 @@ packages: resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} engines: {node: '>=12'} + p-map@7.0.4: + resolution: {integrity: sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==} + engines: {node: '>=18'} + p-queue@6.6.2: resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} engines: {node: '>=8'} @@ -14402,6 +14067,10 @@ packages: pako@1.0.11: resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + paper@0.12.18: + resolution: {integrity: sha512-ZSLIEejQTJZuYHhSSqAf4jXOnii0kPhCJGAnYAANtdS72aNwXJ9cP95tZHgq1tnNpvEwgQhggy+4OarviqTCGw==} + engines: {node: '>=8.0.0'} + param-case@3.0.4: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} @@ -14409,15 +14078,6 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parse-bmfont-ascii@1.0.6: - resolution: {integrity: sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==} - - parse-bmfont-binary@1.0.6: - resolution: {integrity: sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==} - - parse-bmfont-xml@1.1.6: - resolution: {integrity: sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==} - parse-entities@1.2.2: resolution: {integrity: sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==} @@ -14431,9 +14091,6 @@ packages: resolution: {integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==} engines: {node: '>=0.8'} - parse-headers@2.0.6: - resolution: {integrity: sha512-Tz11t3uKztEW5FEVZnj1ox8GKblWn+PvHY9TmJV5Mll2uHEwRdR/5Li1OlXoECjLYkApdhWy44ocONwXLiKO5A==} - parse-json@4.0.0: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} engines: {node: '>=4'} @@ -14564,10 +14221,6 @@ packages: peberminta@0.9.0: resolution: {integrity: sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==} - peek-readable@4.1.0: - resolution: {integrity: sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==} - engines: {node: '>=8'} - peek-stream@1.1.3: resolution: {integrity: sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==} @@ -14577,10 +14230,6 @@ packages: periscopic@3.1.0: resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} - phin@3.7.1: - resolution: {integrity: sha512-GEazpTWwTZaEQ9RhL7Nyz0WwqilbqgLahDM3D0hxWwmVDI52nXEybHqiN6/elwpkJBhcuj+WbBu+QfT0uhPGfQ==} - engines: {node: '>= 8'} - picocolors@0.2.1: resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==} @@ -14618,14 +14267,6 @@ packages: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} - pixelmatch@4.0.2: - resolution: {integrity: sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA==} - hasBin: true - - pixelmatch@5.3.0: - resolution: {integrity: sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==} - hasBin: true - pkce-challenge@4.1.0: resolution: {integrity: sha512-ZBmhE1C9LcPoH9XZSdwiPtbPHZROwAnMy+kIFQVrnMCxY4Cudlz3gBOpzilgc0jOgRaiT3sIWfpMomW2ar2orQ==} engines: {node: '>=16.20.0'} @@ -14661,18 +14302,6 @@ packages: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} - pngjs@3.4.0: - resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==} - engines: {node: '>=4.0.0'} - - pngjs@6.0.0: - resolution: {integrity: sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==} - engines: {node: '>=12.13.0'} - - pngjs@7.0.0: - resolution: {integrity: sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==} - engines: {node: '>=14.19.0'} - polished@4.3.1: resolution: {integrity: sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==} engines: {node: '>=10'} @@ -15132,9 +14761,9 @@ packages: resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} engines: {node: '>=6'} - proc-log@4.2.0: - resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + proc-log@5.0.0: + resolution: {integrity: sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==} + engines: {node: ^18.17.0 || >=20.5.0} process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} @@ -15244,10 +14873,6 @@ packages: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} - quick-lru@7.0.1: - resolution: {integrity: sha512-kLjThirJMkWKutUKbZ8ViqFc09tDQhlbQo2MNuVeLWbRauqYP96Sm6nzlQ24F0HFjUNZ4i9+AgldJ9H6DZXi7g==} - engines: {node: '>=18'} - ramda@0.29.0: resolution: {integrity: sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==} @@ -15508,14 +15133,6 @@ packages: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} - readable-stream@4.7.0: - resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - readable-web-to-node-stream@3.0.4: - resolution: {integrity: sha512-9nX56alTf5bwXQ3ZDipHJhusu9NTQJ/CVPtb/XHAJCXihZeitfJvIRS4GqQ/mfIoOE3IelHMrpayVrosdHBuLw==} - engines: {node: '>=8'} - readdirp@3.3.0: resolution: {integrity: sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==} engines: {node: '>=8.10.0'} @@ -15591,9 +15208,6 @@ packages: regenerate@1.4.2: resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} @@ -16351,10 +15965,6 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - simple-xml-to-json@1.2.3: - resolution: {integrity: sha512-kWJDCr9EWtZ+/EYYM5MareWj2cRnZGF93YDNpH4jQiHB+hBIZnfPFSQiVMzZOdk+zXWqTZ/9fTeQNu2DqeiudA==} - engines: {node: '>=20.12.2'} - sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -16378,6 +15988,10 @@ packages: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} + slugify@1.6.6: + resolution: {integrity: sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==} + engines: {node: '>=8.0.0'} + smart-buffer@4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} @@ -16486,9 +16100,9 @@ packages: sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} - ssri@10.0.6: - resolution: {integrity: sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + ssri@12.0.0: + resolution: {integrity: sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==} + engines: {node: ^18.17.0 || >=20.5.0} stable-hash@0.0.5: resolution: {integrity: sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==} @@ -16667,10 +16281,6 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - strtok3@6.3.0: - resolution: {integrity: sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==} - engines: {node: '>=10'} - style-inject@0.3.0: resolution: {integrity: sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==} @@ -16807,11 +16417,16 @@ packages: resolution: {integrity: sha512-qd+AxqMpfRrRQaWb2SrNFvn69cvl6piqY8TxhYl2Li1g4/LO5F9NJb5wI4vNwRryqgSgD43gYKLm/w3ag1bKvQ==} engines: {node: '>=20.11.1'} + svg-reorient@1.0.3: + resolution: {integrity: sha512-0behqhkL07/Jg9wFfarh8r2twXYATsnbnuF35GjDSODw5nOJ+76eofvJD/uiT/sSWQaJoTgSTgNivl7qeHTQ+Q==} + engines: {node: '>=12'} + hasBin: true + svg-tags@1.0.0: resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} - svg2ttf@5.2.0: - resolution: {integrity: sha512-CzxPnSm2/CrMnJuKlXVllOx+q9wuarbIMi4Vf14eJoeESRqAOxVZiH0Ias71mhyXYGgz88A4T/E8fN/Y8eXoYA==} + svg2ttf@6.0.3: + resolution: {integrity: sha512-CgqMyZrbOPpc+WqH7aga4JWkDPso23EgypLsbQ6gN3uoPWwwiLjXvzgrwGADBExvCRJrWFzAeK1bSoSpE7ixSQ==} hasBin: true svgicons2svgfont@15.0.1: @@ -16897,6 +16512,10 @@ packages: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} + tar@7.5.7: + resolution: {integrity: sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==} + engines: {node: '>=18'} + telejson@7.2.0: resolution: {integrity: sha512-1QTEcJkJEhc8OnStBx/ILRu5J2p0GjvWsBx56bmZRqnrkdBMUe+nX92jxV+p3dB4CP6PZCdJMQJwCggkNBMzkQ==} @@ -16977,8 +16596,9 @@ packages: resolution: {integrity: sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g==} engines: {node: '>=10'} - timm@1.7.1: - resolution: {integrity: sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==} + timers-ext@0.1.8: + resolution: {integrity: sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==} + engines: {node: '>=0.12'} tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} @@ -16986,9 +16606,6 @@ packages: tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - tinycolor2@1.6.0: - resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} - tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} @@ -17059,10 +16676,6 @@ packages: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} - token-types@4.2.1: - resolution: {integrity: sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==} - engines: {node: '>=10'} - tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -17207,17 +16820,17 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - ttf2eot@2.0.0: - resolution: {integrity: sha512-U56aG2Ylw7psLOmakjemAzmpqVgeadwENg9oaDjaZG5NYX4WB6+7h74bNPcc+0BXsoU5A/XWiHabDXyzFOmsxQ==} + ttf2eot@3.1.0: + resolution: {integrity: sha512-aHTbcYosNHVqb2Qtt9Xfta77ae/5y0VfdwNLUS6sGBeGr22cX2JDMo/i5h3uuOf+FAD3akYOr17+fYd5NK8aXw==} hasBin: true - ttf2woff2@6.0.1: - resolution: {integrity: sha512-QVkHvd4VsJ9cZNnzrfJL4Fhl5tyGkO5ih9PRY3DQ2BicKjyA+92I+00H2p06mBw1d0eCtzSQh5bp7NTUA57trg==} + ttf2woff2@8.0.0: + resolution: {integrity: sha512-lW7oRGaRAARAfftS7fWJ+4QIfD+biBjXCHlSlH86pSDc6/5nzKp4p/Uj1Ot7RQGiAaUU4kLGwOi6p8YYYdzrTg==} engines: {node: '>=20.11.1'} hasBin: true - ttf2woff@2.0.2: - resolution: {integrity: sha512-X68badwBjAy/+itU49scLjXUL094up+rHuYk+YAOTTBYSUMOmLZ7VyhZJuqQESj1gnyLAC2/5V8Euv+mExmyPA==} + ttf2woff@3.0.0: + resolution: {integrity: sha512-OvmFcj70PhmAsVQKfC15XoKH55cRWuaRzvr2fpTNhTNer6JBpG8n6vOhRrIgxMjcikyYt88xqYXMMVapJ4Rjvg==} hasBin: true tunnel@0.0.6: @@ -17275,6 +16888,9 @@ packages: resolution: {integrity: sha512-gd0sGezQYCbWSbkZr75mln4YBidWUN60+devscpLF5mtRDUpiaTvKpBNrdaCvel1NdR2k6vclXybU5fBd2i+nw==} engines: {node: '>= 0.6'} + type@2.7.3: + resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} + typed-array-buffer@1.0.3: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} engines: {node: '>= 0.4'} @@ -17391,13 +17007,13 @@ packages: uniq@1.0.1: resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==} - unique-filename@3.0.0: - resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + unique-filename@4.0.0: + resolution: {integrity: sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==} + engines: {node: ^18.17.0 || >=20.5.0} - unique-slug@4.0.0: - resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + unique-slug@5.0.0: + resolution: {integrity: sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==} + engines: {node: ^18.17.0 || >=20.5.0} unique-string@2.0.0: resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} @@ -17579,9 +17195,6 @@ packages: resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} engines: {node: '>=0.10.0'} - utif2@4.1.0: - resolution: {integrity: sha512-+oknB9FHrJ7oW7A2WZYajOcv4FcDR4CfoGB0dPNfxbi4GO05RRnFmt5oa23+9w32EanrYcSJWspUiJkLMs+37w==} - util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -17626,10 +17239,6 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - validator@13.15.15: - resolution: {integrity: sha512-BgWVbCI72aIQy937xbawcs+hrVaN/CZ2UwutgaJ36hGqRrLNM+f5LUT/YPRbo8IV/ASeFzXszezV+y2+rq3l8A==} - engines: {node: '>= 0.10'} - varint@6.0.0: resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} @@ -17891,9 +17500,6 @@ packages: webpack-cli: optional: true - whatwg-fetch@3.6.20: - resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} - whatwg-mimetype@3.0.0: resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} engines: {node: '>=12'} @@ -17929,9 +17535,9 @@ packages: engines: {node: '>= 8'} hasBin: true - which@4.0.0: - resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} - engines: {node: ^16.13.0 || >=18.0.0} + which@5.0.0: + resolution: {integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==} + engines: {node: ^18.17.0 || >=20.5.0} hasBin: true why-is-node-running@2.3.0: @@ -18008,24 +17614,6 @@ packages: resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} engines: {node: '>= 6.0'} - xhr@2.6.0: - resolution: {integrity: sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==} - - xml-parse-from-string@1.0.1: - resolution: {integrity: sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==} - - xml2js@0.5.0: - resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==} - engines: {node: '>=4.0.0'} - - xmlbuilder@11.0.1: - resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} - engines: {node: '>=4.0'} - - xmldom@0.5.0: - resolution: {integrity: sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA==} - engines: {node: '>=10.0.0'} - xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} @@ -18036,6 +17624,10 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yallist@5.0.0: + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} + yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} @@ -19773,6 +19365,14 @@ snapshots: '@lezer/common': 1.2.3 '@lezer/css': 1.3.0 + '@codemirror/lang-go@6.0.1': + dependencies: + '@codemirror/autocomplete': 6.18.6 + '@codemirror/language': 6.11.1 + '@codemirror/state': 6.5.2 + '@lezer/common': 1.2.3 + '@lezer/go': 1.0.1 + '@codemirror/lang-html@6.4.11': dependencies: '@codemirror/autocomplete': 6.18.6 @@ -19884,6 +19484,13 @@ snapshots: dependencies: '@marijn/find-cluster-break': 1.0.2 + '@codemirror/theme-one-dark@6.1.3': + dependencies: + '@codemirror/language': 6.11.1 + '@codemirror/state': 6.5.2 + '@codemirror/view': 6.37.1 + '@lezer/highlight': 1.2.1 + '@codemirror/view@6.37.1': dependencies: '@codemirror/state': 6.5.2 @@ -20553,6 +20160,12 @@ snapshots: dependencies: mute-stream: 1.0.0 + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.1': + dependencies: + '@isaacs/balanced-match': 4.0.1 + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -20562,6 +20175,10 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 + '@isaacs/fs-minipass@4.0.1': + dependencies: + minipass: 7.1.2 + '@istanbuljs/load-nyc-config@1.1.0': dependencies: camelcase: 5.3.1 @@ -20617,411 +20234,6 @@ snapshots: '@types/yargs': 17.0.33 chalk: 4.1.2 - '@jimp/bmp@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/utils': 0.22.12 - bmp-js: 0.1.0 - - '@jimp/core@0.22.12(encoding@0.1.13)': - dependencies: - '@jimp/utils': 0.22.12 - any-base: 1.1.0 - buffer: 5.7.1 - exif-parser: 0.1.12 - file-type: 16.5.4 - isomorphic-fetch: 3.0.0(encoding@0.1.13) - pixelmatch: 4.0.2 - tinycolor2: 1.6.0 - transitivePeerDependencies: - - encoding - - '@jimp/core@1.6.0': - dependencies: - '@jimp/file-ops': 1.6.0 - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 - await-to-js: 3.0.0 - exif-parser: 0.1.12 - file-type: 16.5.4 - mime: 3.0.0 - - '@jimp/custom@0.22.12(encoding@0.1.13)': - dependencies: - '@jimp/core': 0.22.12(encoding@0.1.13) - transitivePeerDependencies: - - encoding - - '@jimp/diff@1.6.0': - dependencies: - '@jimp/plugin-resize': 1.6.0 - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 - pixelmatch: 5.3.0 - - '@jimp/file-ops@1.6.0': {} - - '@jimp/gif@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/utils': 0.22.12 - gifwrap: 0.10.1 - omggif: 1.0.10 - - '@jimp/jpeg@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/utils': 0.22.12 - jpeg-js: 0.4.4 - - '@jimp/js-bmp@1.6.0': - dependencies: - '@jimp/core': 1.6.0 - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 - bmp-ts: 1.0.9 - - '@jimp/js-gif@1.6.0': - dependencies: - '@jimp/core': 1.6.0 - '@jimp/types': 1.6.0 - gifwrap: 0.10.1 - omggif: 1.0.10 - - '@jimp/js-jpeg@1.6.0': - dependencies: - '@jimp/core': 1.6.0 - '@jimp/types': 1.6.0 - jpeg-js: 0.4.4 - - '@jimp/js-png@1.6.0': - dependencies: - '@jimp/core': 1.6.0 - '@jimp/types': 1.6.0 - pngjs: 7.0.0 - - '@jimp/js-tiff@1.6.0': - dependencies: - '@jimp/core': 1.6.0 - '@jimp/types': 1.6.0 - utif2: 4.1.0 - - '@jimp/plugin-blit@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/utils': 0.22.12 - - '@jimp/plugin-blit@1.6.0': - dependencies: - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 - zod: 3.24.2 - - '@jimp/plugin-blur@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/utils': 0.22.12 - - '@jimp/plugin-blur@1.6.0': - dependencies: - '@jimp/core': 1.6.0 - '@jimp/utils': 1.6.0 - - '@jimp/plugin-circle@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/utils': 0.22.12 - - '@jimp/plugin-circle@1.6.0': - dependencies: - '@jimp/types': 1.6.0 - zod: 3.24.2 - - '@jimp/plugin-color@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/utils': 0.22.12 - tinycolor2: 1.6.0 - - '@jimp/plugin-color@1.6.0': - dependencies: - '@jimp/core': 1.6.0 - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 - tinycolor2: 1.6.0 - zod: 3.24.2 - - '@jimp/plugin-contain@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-blit@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))(@jimp/plugin-scale@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/plugin-blit': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/plugin-resize': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/plugin-scale': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))) - '@jimp/utils': 0.22.12 - - '@jimp/plugin-contain@1.6.0': - dependencies: - '@jimp/core': 1.6.0 - '@jimp/plugin-blit': 1.6.0 - '@jimp/plugin-resize': 1.6.0 - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 - zod: 3.24.2 - - '@jimp/plugin-cover@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-crop@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))(@jimp/plugin-scale@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/plugin-crop': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/plugin-resize': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/plugin-scale': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))) - '@jimp/utils': 0.22.12 - - '@jimp/plugin-cover@1.6.0': - dependencies: - '@jimp/core': 1.6.0 - '@jimp/plugin-crop': 1.6.0 - '@jimp/plugin-resize': 1.6.0 - '@jimp/types': 1.6.0 - zod: 3.24.2 - - '@jimp/plugin-crop@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/utils': 0.22.12 - - '@jimp/plugin-crop@1.6.0': - dependencies: - '@jimp/core': 1.6.0 - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 - zod: 3.24.2 - - '@jimp/plugin-displace@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/utils': 0.22.12 - - '@jimp/plugin-displace@1.6.0': - dependencies: - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 - zod: 3.24.2 - - '@jimp/plugin-dither@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/utils': 0.22.12 - - '@jimp/plugin-dither@1.6.0': - dependencies: - '@jimp/types': 1.6.0 - - '@jimp/plugin-fisheye@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/utils': 0.22.12 - - '@jimp/plugin-fisheye@1.6.0': - dependencies: - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 - zod: 3.24.2 - - '@jimp/plugin-flip@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-rotate@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-blit@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))(@jimp/plugin-crop@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/plugin-rotate': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-blit@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))(@jimp/plugin-crop@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))) - '@jimp/utils': 0.22.12 - - '@jimp/plugin-flip@1.6.0': - dependencies: - '@jimp/types': 1.6.0 - zod: 3.24.2 - - '@jimp/plugin-gaussian@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/utils': 0.22.12 - - '@jimp/plugin-hash@1.6.0': - dependencies: - '@jimp/core': 1.6.0 - '@jimp/js-bmp': 1.6.0 - '@jimp/js-jpeg': 1.6.0 - '@jimp/js-png': 1.6.0 - '@jimp/js-tiff': 1.6.0 - '@jimp/plugin-color': 1.6.0 - '@jimp/plugin-resize': 1.6.0 - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 - any-base: 1.1.0 - - '@jimp/plugin-invert@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/utils': 0.22.12 - - '@jimp/plugin-mask@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/utils': 0.22.12 - - '@jimp/plugin-mask@1.6.0': - dependencies: - '@jimp/types': 1.6.0 - zod: 3.24.2 - - '@jimp/plugin-normalize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/utils': 0.22.12 - - '@jimp/plugin-print@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-blit@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/plugin-blit': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/utils': 0.22.12 - load-bmfont: 1.4.2 - transitivePeerDependencies: - - debug - - '@jimp/plugin-print@1.6.0': - dependencies: - '@jimp/core': 1.6.0 - '@jimp/js-jpeg': 1.6.0 - '@jimp/js-png': 1.6.0 - '@jimp/plugin-blit': 1.6.0 - '@jimp/types': 1.6.0 - parse-bmfont-ascii: 1.0.6 - parse-bmfont-binary: 1.0.6 - parse-bmfont-xml: 1.1.6 - simple-xml-to-json: 1.2.3 - zod: 3.24.2 - - '@jimp/plugin-quantize@1.6.0': - dependencies: - image-q: 4.0.0 - zod: 3.24.2 - - '@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/utils': 0.22.12 - - '@jimp/plugin-resize@1.6.0': - dependencies: - '@jimp/core': 1.6.0 - '@jimp/types': 1.6.0 - zod: 3.24.2 - - '@jimp/plugin-rotate@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-blit@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))(@jimp/plugin-crop@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/plugin-blit': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/plugin-crop': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/plugin-resize': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/utils': 0.22.12 - - '@jimp/plugin-rotate@1.6.0': - dependencies: - '@jimp/core': 1.6.0 - '@jimp/plugin-crop': 1.6.0 - '@jimp/plugin-resize': 1.6.0 - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 - zod: 3.24.2 - - '@jimp/plugin-scale@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/plugin-resize': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/utils': 0.22.12 - - '@jimp/plugin-shadow@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-blur@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/plugin-blur': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/plugin-resize': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/utils': 0.22.12 - - '@jimp/plugin-threshold@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-color@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/plugin-color': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/plugin-resize': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/utils': 0.22.12 - - '@jimp/plugin-threshold@1.6.0': - dependencies: - '@jimp/core': 1.6.0 - '@jimp/plugin-color': 1.6.0 - '@jimp/plugin-hash': 1.6.0 - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 - zod: 3.24.2 - - '@jimp/plugins@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/plugin-blit': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/plugin-blur': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/plugin-circle': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/plugin-color': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/plugin-contain': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-blit@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))(@jimp/plugin-scale@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))) - '@jimp/plugin-cover': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-crop@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))(@jimp/plugin-scale@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))) - '@jimp/plugin-crop': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/plugin-displace': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/plugin-dither': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/plugin-fisheye': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/plugin-flip': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-rotate@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-blit@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))(@jimp/plugin-crop@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))) - '@jimp/plugin-gaussian': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/plugin-invert': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/plugin-mask': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/plugin-normalize': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/plugin-print': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-blit@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))) - '@jimp/plugin-resize': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/plugin-rotate': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-blit@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))(@jimp/plugin-crop@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))) - '@jimp/plugin-scale': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))) - '@jimp/plugin-shadow': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-blur@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))) - '@jimp/plugin-threshold': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))(@jimp/plugin-color@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))) - timm: 1.7.1 - transitivePeerDependencies: - - debug - - '@jimp/png@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/utils': 0.22.12 - pngjs: 6.0.0 - - '@jimp/tiff@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))': - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - utif2: 4.1.0 - - '@jimp/types@0.22.12(@jimp/custom@0.22.12(encoding@0.1.13))': - dependencies: - '@jimp/bmp': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/gif': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/jpeg': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/png': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/tiff': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - timm: 1.7.1 - - '@jimp/types@1.6.0': - dependencies: - zod: 3.24.2 - - '@jimp/utils@0.22.12': - dependencies: - regenerator-runtime: 0.13.11 - - '@jimp/utils@1.6.0': - dependencies: - '@jimp/types': 1.6.0 - tinycolor2: 1.6.0 - '@jridgewell/gen-mapping@0.3.8': dependencies: '@jridgewell/set-array': 1.2.1 @@ -21091,6 +20303,12 @@ snapshots: '@lezer/common': 1.2.3 '@lezer/lr': 1.4.2 + '@lezer/go@1.0.1': + dependencies: + '@lezer/common': 1.2.3 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + '@lezer/highlight@1.2.1': dependencies: '@lezer/common': 1.2.3 @@ -21455,7 +20673,7 @@ snapshots: '@nozbe/microfuzz@1.0.0': {} - '@npmcli/agent@2.2.2': + '@npmcli/agent@3.0.0': dependencies: agent-base: 7.1.3 http-proxy-agent: 7.0.2 @@ -21465,7 +20683,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@npmcli/fs@3.1.1': + '@npmcli/fs@4.0.0': dependencies: semver: 7.7.1 @@ -22239,57 +21457,6 @@ snapshots: '@remix-run/router@1.23.0': {} - '@resvg/resvg-js-android-arm-eabi@2.6.2': - optional: true - - '@resvg/resvg-js-android-arm64@2.6.2': - optional: true - - '@resvg/resvg-js-darwin-arm64@2.6.2': - optional: true - - '@resvg/resvg-js-darwin-x64@2.6.2': - optional: true - - '@resvg/resvg-js-linux-arm-gnueabihf@2.6.2': - optional: true - - '@resvg/resvg-js-linux-arm64-gnu@2.6.2': - optional: true - - '@resvg/resvg-js-linux-arm64-musl@2.6.2': - optional: true - - '@resvg/resvg-js-linux-x64-gnu@2.6.2': - optional: true - - '@resvg/resvg-js-linux-x64-musl@2.6.2': - optional: true - - '@resvg/resvg-js-win32-arm64-msvc@2.6.2': - optional: true - - '@resvg/resvg-js-win32-ia32-msvc@2.6.2': - optional: true - - '@resvg/resvg-js-win32-x64-msvc@2.6.2': - optional: true - - '@resvg/resvg-js@2.6.2': - optionalDependencies: - '@resvg/resvg-js-android-arm-eabi': 2.6.2 - '@resvg/resvg-js-android-arm64': 2.6.2 - '@resvg/resvg-js-darwin-arm64': 2.6.2 - '@resvg/resvg-js-darwin-x64': 2.6.2 - '@resvg/resvg-js-linux-arm-gnueabihf': 2.6.2 - '@resvg/resvg-js-linux-arm64-gnu': 2.6.2 - '@resvg/resvg-js-linux-arm64-musl': 2.6.2 - '@resvg/resvg-js-linux-x64-gnu': 2.6.2 - '@resvg/resvg-js-linux-x64-musl': 2.6.2 - '@resvg/resvg-js-win32-arm64-msvc': 2.6.2 - '@resvg/resvg-js-win32-ia32-msvc': 2.6.2 - '@resvg/resvg-js-win32-x64-msvc': 2.6.2 - '@rolldown/pluginutils@1.0.0-beta.9': {} '@rollup/plugin-commonjs@28.0.9(rollup@4.41.1)': @@ -23208,7 +22375,7 @@ snapshots: ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) ajv-formats: 3.0.1 - fs-extra: 11.3.0 + fs-extra: 11.3.3 import-lazy: 4.0.0 jju: 1.4.0 resolve: 1.22.10 @@ -23278,23 +22445,23 @@ snapshots: '@shikijs/types': 3.6.0 '@shikijs/vscode-textmate': 10.0.2 - '@shikijs/langs@3.12.0': + '@shikijs/langs@3.12.3': dependencies: - '@shikijs/types': 3.12.0 + '@shikijs/types': 3.12.3 '@shikijs/langs@3.6.0': dependencies: '@shikijs/types': 3.6.0 - '@shikijs/themes@3.12.0': + '@shikijs/themes@3.12.3': dependencies: - '@shikijs/types': 3.12.0 + '@shikijs/types': 3.12.3 '@shikijs/themes@3.6.0': dependencies: '@shikijs/types': 3.6.0 - '@shikijs/types@3.12.0': + '@shikijs/types@3.12.3': dependencies: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -23507,7 +22674,7 @@ snapshots: esbuild-plugin-alias: 0.2.1 express: 4.21.2 find-cache-dir: 3.3.2 - fs-extra: 11.3.0 + fs-extra: 11.3.3 process: 0.11.10 util: 0.12.5 transitivePeerDependencies: @@ -23537,7 +22704,7 @@ snapshots: es-module-lexer: 1.6.0 express: 4.21.2 fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.2)(webpack@5.89.0) - fs-extra: 11.3.0 + fs-extra: 11.3.3 html-webpack-plugin: 5.6.3(@rspack/core@1.3.12(@swc/helpers@0.5.17))(webpack@5.89.0) magic-string: 0.30.17 path-browserify: 1.0.1 @@ -23608,7 +22775,7 @@ snapshots: execa: 5.1.1 express: 4.21.2 find-up: 5.0.0 - fs-extra: 11.3.0 + fs-extra: 11.3.3 get-npm-tarball-url: 2.1.0 get-port: 5.1.1 giget: 1.2.5 @@ -23696,7 +22863,7 @@ snapshots: file-system-cache: 2.3.0 find-cache-dir: 3.3.2 find-up: 5.0.0 - fs-extra: 11.3.0 + fs-extra: 11.3.3 glob: 10.4.5 handlebars: 4.7.8 lazy-universal-dotenv: 4.0.0 @@ -23745,7 +22912,7 @@ snapshots: compression: 1.8.0 detect-port: 1.6.1 express: 4.21.2 - fs-extra: 11.3.0 + fs-extra: 11.3.3 globby: 11.1.0 lodash: 4.17.21 open: 8.4.2 @@ -23792,7 +22959,7 @@ snapshots: '@babel/types': 7.26.10 '@storybook/csf': 0.1.13 '@storybook/types': 7.6.20 - fs-extra: 11.3.0 + fs-extra: 11.3.3 recast: 0.23.11 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -23890,7 +23057,7 @@ snapshots: '@types/node': 18.19.107 '@types/semver': 7.5.8 babel-plugin-add-react-displayname: 0.0.5 - fs-extra: 11.3.0 + fs-extra: 11.3.3 magic-string: 0.30.17 react: 18.2.0 react-docgen: 7.1.1 @@ -24048,7 +23215,7 @@ snapshots: chalk: 4.1.2 detect-package-manager: 2.0.1 fetch-retry: 5.0.6 - fs-extra: 11.3.0 + fs-extra: 11.3.3 read-pkg-up: 7.0.1 transitivePeerDependencies: - encoding @@ -24323,8 +23490,6 @@ snapshots: dependencies: '@testing-library/dom': 9.3.4 - '@tokenizer/token@0.3.0': {} - '@tootallnate/once@2.0.0': {} '@trysound/sax@0.2.0': {} @@ -24478,6 +23643,11 @@ snapshots: '@types/fined@1.1.5': {} + '@types/fs-extra@11.0.4': + dependencies: + '@types/jsonfile': 6.1.4 + '@types/node': 22.13.13 + '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 @@ -24525,6 +23695,10 @@ snapshots: '@types/json5@0.0.29': {} + '@types/jsonfile@6.1.4': + dependencies: + '@types/node': 22.13.13 + '@types/liftoff@4.0.3': dependencies: '@types/fined': 1.1.5 @@ -24573,8 +23747,6 @@ snapshots: '@types/node@16.18.11': {} - '@types/node@16.9.1': {} - '@types/node@18.19.107': dependencies: undici-types: 5.26.5 @@ -24643,20 +23815,10 @@ snapshots: '@types/stack-utils@2.0.3': {} - '@types/svg2ttf@5.0.3': {} - '@types/through@0.0.33': dependencies: '@types/node': 22.13.13 - '@types/ttf2eot@2.0.2': - dependencies: - '@types/node': 22.13.13 - - '@types/ttf2woff@2.0.4': - dependencies: - '@types/node': 22.13.13 - '@types/unist@2.0.11': {} '@types/unist@3.0.3': {} @@ -25317,6 +24479,8 @@ snapshots: loupe: 3.1.3 tinyrainbow: 2.0.0 + '@volar/source-map@2.4.28': {} + '@vscode/l10n@0.0.18': {} '@vue/compiler-core@3.5.16': @@ -25464,24 +24628,7 @@ snapshots: webpack: 5.89.0(@swc/core@1.11.29(@swc/helpers@0.5.17))(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack@5.89.0) - '@with/svg-to-fonts@0.3.0(encoding@0.1.13)': - dependencies: - '@resvg/resvg-js': 2.6.2 - '@types/svg2ttf': 5.0.3 - '@types/ttf2eot': 2.0.2 - '@types/ttf2woff': 2.0.4 - jszip: 2.7.0 - oslllo-potrace: 4.0.0 - oslllo-svg2: 4.0.0(encoding@0.1.13) - svg2ttf: 5.2.0 - svgicons2svgfont: 15.0.1 - ttf2eot: 2.0.0 - ttf2woff: 2.0.2 - ttf2woff2: 6.0.1 - transitivePeerDependencies: - - debug - - encoding - - supports-color + '@xmldom/xmldom@0.7.13': {} '@xtuc/ieee754@1.2.0': {} @@ -25509,11 +24656,7 @@ snapshots: abbrev@1.1.1: {} - abbrev@2.0.0: {} - - abort-controller@3.0.0: - dependencies: - event-target-shim: 5.0.1 + abbrev@3.0.1: {} accepts@1.3.8: dependencies: @@ -25654,8 +24797,6 @@ snapshots: ansi-styles@6.2.1: {} - any-base@1.1.0: {} - any-promise@1.3.0: {} anymatch@3.1.3: @@ -25857,8 +24998,6 @@ snapshots: dependencies: possible-typed-array-names: 1.1.0 - await-to-js@3.0.0: {} - axe-core@4.10.3: {} axios@1.8.4: @@ -26033,10 +25172,6 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 - bmp-js@0.1.0: {} - - bmp-ts@1.0.9: {} - body-parser@1.20.3: dependencies: bytes: 3.1.2 @@ -26121,8 +25256,6 @@ snapshots: buffer-crc32@0.2.13: {} - buffer-equal@0.0.1: {} - buffer-from@1.1.2: {} buffer@5.7.1: @@ -26130,11 +25263,6 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - buffer@6.0.3: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - bufferstreams@4.0.0: dependencies: readable-stream: 3.6.2 @@ -26157,9 +25285,9 @@ snapshots: cac@6.7.14: {} - cacache@18.0.4: + cacache@19.0.1: dependencies: - '@npmcli/fs': 3.1.1 + '@npmcli/fs': 4.0.0 fs-minipass: 3.0.3 glob: 10.4.5 lru-cache: 10.4.3 @@ -26167,10 +25295,10 @@ snapshots: minipass-collect: 2.0.1 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 - p-map: 4.0.0 - ssri: 10.0.6 - tar: 6.2.1 - unique-filename: 3.0.0 + p-map: 7.0.4 + ssri: 12.0.0 + tar: 7.5.7 + unique-filename: 4.0.0 cache-base@1.0.1: dependencies: @@ -26266,16 +25394,12 @@ snapshots: case-sensitive-paths-webpack-plugin@2.4.0: {} + case@1.6.3: {} + ccount@1.1.0: {} ccount@2.0.1: {} - centra@2.7.0: - dependencies: - follow-redirects: 1.15.9 - transitivePeerDependencies: - - debug - chai@4.5.0: dependencies: assertion-error: 1.1.0 @@ -26383,6 +25507,8 @@ snapshots: chownr@2.0.0: {} + chownr@3.0.0: {} + chrome-trace-event@1.0.4: {} ci-info@3.9.0: {} @@ -26422,6 +25548,14 @@ snapshots: dependencies: escape-string-regexp: 5.0.0 + cli-color@2.0.4: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-iterator: 2.0.3 + memoizee: 0.4.17 + timers-ext: 0.1.8 + cli-cursor@3.1.0: dependencies: restore-cursor: 3.1.0 @@ -26469,13 +25603,6 @@ snapshots: code-block-writer@10.1.1: {} - codemirror-shiki@0.2.2(@codemirror/state@6.5.2)(@codemirror/view@6.37.1)(shiki@3.6.0): - dependencies: - '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.1 - quick-lru: 7.0.1 - shiki: 3.6.0 - collapse-white-space@1.0.6: {} collapse-white-space@2.1.0: {} @@ -26521,6 +25648,8 @@ snapshots: commander@13.1.0: {} + commander@14.0.3: {} + commander@2.20.3: {} commander@4.1.1: {} @@ -26892,6 +26021,11 @@ snapshots: d3-timer@3.0.1: {} + d@1.0.2: + dependencies: + es5-ext: 0.10.64 + type: 2.7.3 + damerau-levenshtein@1.0.8: {} data-view-buffer@1.0.2: @@ -26942,6 +26076,10 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.4.3: + dependencies: + ms: 2.1.3 + decamelize-keys@1.1.1: dependencies: decamelize: 1.2.0 @@ -27159,8 +26297,6 @@ snapshots: domhandler: 5.0.3 entities: 4.5.0 - dom-walk@0.1.2: {} - domelementtype@1.3.1: {} domelementtype@2.3.0: {} @@ -27177,8 +26313,6 @@ snapshots: dependencies: domelementtype: 2.3.0 - domino@2.1.6: {} - domutils@1.7.0: dependencies: dom-serializer: 0.2.2 @@ -27435,6 +26569,31 @@ snapshots: es-toolkit@1.39.3: {} + es5-ext@0.10.64: + dependencies: + es6-iterator: 2.0.3 + es6-symbol: 3.1.4 + esniff: 2.0.1 + next-tick: 1.1.0 + + es6-iterator@2.0.3: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-symbol: 3.1.4 + + es6-symbol@3.1.4: + dependencies: + d: 1.0.2 + ext: 1.7.0 + + es6-weak-map@2.0.3: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-iterator: 2.0.3 + es6-symbol: 3.1.4 + esast-util-from-estree@2.0.0: dependencies: '@types/estree-jsx': 1.0.5 @@ -27994,6 +27153,13 @@ snapshots: transitivePeerDependencies: - supports-color + esniff@2.0.1: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + event-emitter: 0.3.5 + type: 2.7.3 + espree@10.3.0: dependencies: acorn: 8.14.1 @@ -28078,7 +27244,10 @@ snapshots: etag@1.8.1: {} - event-target-shim@5.0.1: {} + event-emitter@0.3.5: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 eventemitter3@4.0.7: {} @@ -28131,8 +27300,6 @@ snapshots: dependencies: clone-regexp: 1.0.1 - exif-parser@0.1.12: {} - expand-brackets@2.1.4: dependencies: debug: 2.6.9 @@ -28234,6 +27401,10 @@ snapshots: transitivePeerDependencies: - supports-color + ext@1.7.0: + dependencies: + type: 2.7.3 + extend-shallow@2.0.1: dependencies: is-extendable: 0.1.1 @@ -28269,6 +27440,22 @@ snapshots: mkdirp: 0.5.6 yauzl: 2.10.0 + fantasticon@4.1.0: + dependencies: + case: 1.6.3 + cli-color: 2.0.4 + commander: 14.0.3 + glob: 13.0.1 + handlebars: 4.7.8 + slugify: 1.6.6 + svg2ttf: 6.0.3 + svgicons2svgfont: 15.0.1 + ttf2eot: 3.1.0 + ttf2woff: 3.0.0 + ttf2woff2: 8.0.0 + transitivePeerDependencies: + - supports-color + fast-copy@3.0.2: {} fast-deep-equal@3.1.3: {} @@ -28349,12 +27536,6 @@ snapshots: fs-extra: 11.1.1 ramda: 0.29.0 - file-type@16.5.4: - dependencies: - readable-web-to-node-stream: 3.0.4 - strtok3: 6.3.0 - token-types: 4.2.1 - file-uri-to-path@1.0.0: {} filelist@1.0.4: @@ -28564,6 +27745,12 @@ snapshots: jsonfile: 6.1.0 universalify: 2.0.1 + fs-extra@11.3.3: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + fs-extra@8.1.0: dependencies: graceful-fs: 4.2.11 @@ -28681,11 +27868,6 @@ snapshots: get-value@2.0.6: {} - gifwrap@0.10.1: - dependencies: - image-q: 4.0.0 - omggif: 1.0.10 - giget@1.2.5: dependencies: citty: 0.1.6 @@ -28737,6 +27919,12 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 2.0.0 + glob@13.0.1: + dependencies: + minimatch: 10.1.2 + minipass: 7.1.2 + path-scurry: 2.0.0 + glob@7.2.3: dependencies: fs.realpath: 1.0.0 @@ -28770,11 +27958,6 @@ snapshots: kind-of: 6.0.3 which: 1.3.1 - global@4.4.0: - dependencies: - min-document: 2.19.0 - process: 0.11.10 - globals@11.12.0: {} globals@13.24.0: @@ -29167,7 +28350,7 @@ snapshots: http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.3 - debug: 4.4.0 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -29188,7 +28371,7 @@ snapshots: https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.3 - debug: 4.4.0 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -29234,10 +28417,6 @@ snapshots: ignore@7.0.5: {} - image-q@4.0.0: - dependencies: - '@types/node': 16.9.1 - image-size@0.5.5: optional: true @@ -29475,8 +28654,6 @@ snapshots: is-fullwidth-code-point@3.0.0: {} - is-function@1.0.2: {} - is-generator-function@1.1.0: dependencies: call-bound: 1.0.4 @@ -29506,8 +28683,6 @@ snapshots: is-interactive@2.0.0: {} - is-lambda@1.0.1: {} - is-map@2.0.3: {} is-module@1.0.0: {} @@ -29548,6 +28723,8 @@ snapshots: is-plain-object@5.0.0: {} + is-promise@2.2.2: {} + is-promise@4.0.0: {} is-reference@1.2.1: @@ -29657,13 +28834,6 @@ snapshots: isobject@3.0.1: {} - isomorphic-fetch@3.0.0(encoding@0.1.13): - dependencies: - node-fetch: 2.7.0(encoding@0.1.13) - whatwg-fetch: 3.6.20 - transitivePeerDependencies: - - encoding - isomorphic-rslog@0.0.6: {} istanbul-lib-coverage@3.2.2: {} @@ -29802,46 +28972,6 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jimp@0.22.12(encoding@0.1.13): - dependencies: - '@jimp/custom': 0.22.12(encoding@0.1.13) - '@jimp/plugins': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - '@jimp/types': 0.22.12(@jimp/custom@0.22.12(encoding@0.1.13)) - regenerator-runtime: 0.13.11 - transitivePeerDependencies: - - debug - - encoding - - jimp@1.6.0: - dependencies: - '@jimp/core': 1.6.0 - '@jimp/diff': 1.6.0 - '@jimp/js-bmp': 1.6.0 - '@jimp/js-gif': 1.6.0 - '@jimp/js-jpeg': 1.6.0 - '@jimp/js-png': 1.6.0 - '@jimp/js-tiff': 1.6.0 - '@jimp/plugin-blit': 1.6.0 - '@jimp/plugin-blur': 1.6.0 - '@jimp/plugin-circle': 1.6.0 - '@jimp/plugin-color': 1.6.0 - '@jimp/plugin-contain': 1.6.0 - '@jimp/plugin-cover': 1.6.0 - '@jimp/plugin-crop': 1.6.0 - '@jimp/plugin-displace': 1.6.0 - '@jimp/plugin-dither': 1.6.0 - '@jimp/plugin-fisheye': 1.6.0 - '@jimp/plugin-flip': 1.6.0 - '@jimp/plugin-hash': 1.6.0 - '@jimp/plugin-mask': 1.6.0 - '@jimp/plugin-print': 1.6.0 - '@jimp/plugin-quantize': 1.6.0 - '@jimp/plugin-resize': 1.6.0 - '@jimp/plugin-rotate': 1.6.0 - '@jimp/plugin-threshold': 1.6.0 - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 - jiti@1.21.7: {} jiti@2.4.2: {} @@ -29857,8 +28987,6 @@ snapshots: joycon@3.1.1: {} - jpeg-js@0.4.4: {} - js-cookie@3.0.5: {} js-tokens@4.0.0: {} @@ -29951,10 +29079,6 @@ snapshots: object.assign: 4.1.7 object.values: 1.2.1 - jszip@2.7.0: - dependencies: - pako: 1.0.11 - keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -30042,19 +29166,6 @@ snapshots: dependencies: uc.micro: 2.1.0 - load-bmfont@1.4.2: - dependencies: - buffer-equal: 0.0.1 - mime: 1.6.0 - parse-bmfont-ascii: 1.0.6 - parse-bmfont-binary: 1.0.6 - parse-bmfont-xml: 1.1.6 - phin: 3.7.1 - xhr: 2.6.0 - xtend: 4.0.2 - transitivePeerDependencies: - - debug - load-json-file@4.0.0: dependencies: graceful-fs: 4.2.11 @@ -30182,6 +29293,10 @@ snapshots: dependencies: yallist: 4.0.0 + lru-queue@0.1.0: + dependencies: + es5-ext: 0.10.64 + lucide-react@0.468.0(react@18.2.0): dependencies: react: 18.2.0 @@ -30213,20 +29328,19 @@ snapshots: make-error@1.3.6: {} - make-fetch-happen@13.0.1: + make-fetch-happen@14.0.3: dependencies: - '@npmcli/agent': 2.2.2 - cacache: 18.0.4 + '@npmcli/agent': 3.0.0 + cacache: 19.0.1 http-cache-semantics: 4.2.0 - is-lambda: 1.0.1 minipass: 7.1.2 - minipass-fetch: 3.0.5 + minipass-fetch: 4.0.1 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 - negotiator: 0.6.4 - proc-log: 4.2.0 + negotiator: 1.0.0 + proc-log: 5.0.0 promise-retry: 2.0.1 - ssri: 10.0.6 + ssri: 12.0.0 transitivePeerDependencies: - supports-color @@ -30642,6 +29756,17 @@ snapshots: memoize-one@5.2.1: {} + memoizee@0.4.17: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-weak-map: 2.0.3 + event-emitter: 0.3.5 + is-promise: 2.2.2 + lru-queue: 0.1.0 + next-tick: 1.1.0 + timers-ext: 0.1.8 + memoizerific@1.11.3: dependencies: map-or-similar: 1.5.0 @@ -31270,16 +30395,10 @@ snapshots: mime@2.6.0: {} - mime@3.0.0: {} - mimic-fn@2.1.0: {} mimic-function@5.0.1: {} - min-document@2.19.0: - dependencies: - dom-walk: 0.1.2 - min-indent@1.0.1: {} mini-css-extract-plugin@2.9.2(webpack@5.89.0): @@ -31294,6 +30413,10 @@ snapshots: dependencies: brace-expansion: 2.0.1 + minimatch@10.1.2: + dependencies: + '@isaacs/brace-expansion': 5.0.1 + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -31323,11 +30446,11 @@ snapshots: dependencies: minipass: 7.1.2 - minipass-fetch@3.0.5: + minipass-fetch@4.0.1: dependencies: minipass: 7.1.2 minipass-sized: 1.0.3 - minizlib: 2.1.2 + minizlib: 3.1.0 optionalDependencies: encoding: 0.1.13 @@ -31365,6 +30488,10 @@ snapshots: minipass: 3.3.6 yallist: 4.0.0 + minizlib@3.1.0: + dependencies: + minipass: 7.1.2 + mitt@3.0.1: {} mixin-deep@1.3.2: @@ -31453,6 +30580,8 @@ snapshots: neo-async@2.6.2: {} + next-tick@1.1.0: {} + nice-try@1.0.5: {} no-case@3.0.4: @@ -31491,18 +30620,18 @@ snapshots: node-gyp-build@4.8.4: {} - node-gyp@10.3.1: + node-gyp@11.5.0: dependencies: env-paths: 2.2.1 exponential-backoff: 3.1.2 - glob: 10.4.5 graceful-fs: 4.2.11 - make-fetch-happen: 13.0.1 - nopt: 7.2.1 - proc-log: 4.2.0 + make-fetch-happen: 14.0.3 + nopt: 8.1.0 + proc-log: 5.0.0 semver: 7.7.1 - tar: 6.2.1 - which: 4.0.0 + tar: 7.5.7 + tinyglobby: 0.2.14 + which: 5.0.0 transitivePeerDependencies: - supports-color @@ -31530,9 +30659,9 @@ snapshots: dependencies: abbrev: 1.1.1 - nopt@7.2.1: + nopt@8.1.0: dependencies: - abbrev: 2.0.0 + abbrev: 3.0.1 normalize-package-data@2.5.0: dependencies: @@ -31671,8 +30800,6 @@ snapshots: objectorarray@1.0.5: {} - omggif@1.0.10: {} - on-finished@2.3.0: dependencies: ee-first: 1.1.1 @@ -31757,25 +30884,6 @@ snapshots: os-tmpdir@1.0.2: {} - oslllo-potrace@4.0.0: - dependencies: - jimp: 1.6.0 - - oslllo-svg2@4.0.0(encoding@0.1.13): - dependencies: - '@resvg/resvg-js': 2.6.2 - domino: 2.1.6 - jimp: 0.22.12(encoding@0.1.13) - oslllo-validator: 3.1.0 - transitivePeerDependencies: - - debug - - encoding - - oslllo-validator@3.1.0: - dependencies: - domino: 2.1.6 - validator: 13.15.15 - overlayscrollbars@2.11.4: {} own-keys@1.0.1: @@ -31832,6 +30940,8 @@ snapshots: dependencies: aggregate-error: 4.0.1 + p-map@7.0.4: {} + p-queue@6.6.2: dependencies: eventemitter3: 4.0.7 @@ -31851,6 +30961,8 @@ snapshots: pako@1.0.11: {} + paper@0.12.18: {} + param-case@3.0.4: dependencies: dot-case: 3.0.4 @@ -31860,15 +30972,6 @@ snapshots: dependencies: callsites: 3.1.0 - parse-bmfont-ascii@1.0.6: {} - - parse-bmfont-binary@1.0.6: {} - - parse-bmfont-xml@1.1.6: - dependencies: - xml-parse-from-string: 1.0.1 - xml2js: 0.5.0 - parse-entities@1.2.2: dependencies: character-entities: 1.2.4 @@ -31903,8 +31006,6 @@ snapshots: map-cache: 0.2.2 path-root: 0.1.1 - parse-headers@2.0.6: {} - parse-json@4.0.0: dependencies: error-ex: 1.3.2 @@ -32011,8 +31112,6 @@ snapshots: peberminta@0.9.0: {} - peek-readable@4.1.0: {} - peek-stream@1.1.3: dependencies: buffer-from: 1.1.2 @@ -32027,12 +31126,6 @@ snapshots: estree-walker: 3.0.3 is-reference: 3.0.3 - phin@3.7.1: - dependencies: - centra: 2.7.0 - transitivePeerDependencies: - - debug - picocolors@0.2.1: {} picocolors@1.0.0: {} @@ -32053,14 +31146,6 @@ snapshots: pirates@4.0.6: {} - pixelmatch@4.0.2: - dependencies: - pngjs: 3.4.0 - - pixelmatch@5.3.0: - dependencies: - pngjs: 6.0.0 - pkce-challenge@4.1.0: {} pkg-dir@3.0.0: @@ -32104,12 +31189,6 @@ snapshots: pluralize@8.0.0: {} - pngjs@3.4.0: {} - - pngjs@6.0.0: {} - - pngjs@7.0.0: {} - polished@4.3.1: dependencies: '@babel/runtime': 7.26.10 @@ -32579,7 +31658,7 @@ snapshots: prismjs@1.30.0: {} - proc-log@4.2.0: {} + proc-log@5.0.0: {} process-nextick-args@2.0.1: {} @@ -32684,8 +31763,6 @@ snapshots: quick-lru@5.1.1: {} - quick-lru@7.0.1: {} - ramda@0.29.0: {} randombytes@2.1.0: @@ -33027,18 +32104,6 @@ snapshots: string_decoder: 1.3.0 util-deprecate: 1.0.2 - readable-stream@4.7.0: - dependencies: - abort-controller: 3.0.0 - buffer: 6.0.3 - events: 3.3.0 - process: 0.11.10 - string_decoder: 1.3.0 - - readable-web-to-node-stream@3.0.4: - dependencies: - readable-stream: 4.7.0 - readdirp@3.3.0: dependencies: picomatch: 2.3.1 @@ -33162,8 +32227,6 @@ snapshots: regenerate@1.4.2: {} - regenerator-runtime@0.13.11: {} - regenerator-runtime@0.14.1: {} regenerator-transform@0.15.2: @@ -33542,7 +32605,7 @@ snapshots: rspack-plugin-virtual-module@0.1.13: dependencies: - fs-extra: 11.3.0 + fs-extra: 11.3.3 rspack-resolver@1.2.2: optionalDependencies: @@ -34062,8 +33125,6 @@ snapshots: signal-exit@4.1.0: {} - simple-xml-to-json@1.2.3: {} - sisteransi@1.0.5: {} slash@2.0.0: {} @@ -34084,6 +33145,8 @@ snapshots: astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 + slugify@1.6.6: {} + smart-buffer@4.2.0: {} snake-case@3.0.4: @@ -34115,7 +33178,7 @@ snapshots: socks-proxy-agent@8.0.5: dependencies: agent-base: 7.1.3 - debug: 4.4.0 + debug: 4.4.3 socks: 2.8.4 transitivePeerDependencies: - supports-color @@ -34212,7 +33275,7 @@ snapshots: sprintf-js@1.1.3: {} - ssri@10.0.6: + ssri@12.0.0: dependencies: minipass: 7.1.2 @@ -34422,11 +33485,6 @@ snapshots: strip-json-comments@3.1.1: {} - strtok3@6.3.0: - dependencies: - '@tokenizer/token': 0.3.0 - peek-readable: 4.1.0 - style-inject@0.3.0: {} style-loader@1.3.0(webpack@5.89.0): @@ -34654,16 +33712,22 @@ snapshots: svg-pathdata@7.2.0: {} + svg-reorient@1.0.3: + dependencies: + globby: 13.2.2 + minimist: 1.2.8 + paper: 0.12.18 + svg-tags@1.0.0: {} - svg2ttf@5.2.0: + svg2ttf@6.0.3: dependencies: + '@xmldom/xmldom': 0.7.13 argparse: 2.0.1 cubic2quad: 1.2.1 lodash: 4.17.21 microbuffer: 1.0.0 svgpath: 2.6.0 - xmldom: 0.5.0 svgicons2svgfont@15.0.1: dependencies: @@ -34808,6 +33872,14 @@ snapshots: mkdirp: 1.0.4 yallist: 4.0.0 + tar@7.5.7: + dependencies: + '@isaacs/fs-minipass': 4.0.1 + chownr: 3.0.0 + minipass: 7.1.2 + minizlib: 3.1.0 + yallist: 5.0.0 + telejson@7.2.0: dependencies: memoizerific: 1.11.3 @@ -34909,14 +33981,15 @@ snapshots: dependencies: convert-hrtime: 3.0.0 - timm@1.7.1: {} + timers-ext@0.1.8: + dependencies: + es5-ext: 0.10.64 + next-tick: 1.1.0 tiny-invariant@1.3.3: {} tinybench@2.9.0: {} - tinycolor2@1.6.0: {} - tinyexec@0.3.2: {} tinyglobby@0.2.12: @@ -34979,11 +34052,6 @@ snapshots: toidentifier@1.0.1: {} - token-types@4.2.1: - dependencies: - '@tokenizer/token': 0.3.0 - ieee754: 1.2.1 - tr46@0.0.3: {} tr46@1.0.1: @@ -35149,26 +34217,24 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - ttf2eot@2.0.0: + ttf2eot@3.1.0: dependencies: - argparse: 1.0.10 - microbuffer: 1.0.0 + argparse: 2.0.1 - ttf2woff2@6.0.1: + ttf2woff2@8.0.0: dependencies: bindings: 1.5.0 bufferstreams: 4.0.0 - debug: 4.4.0 + debug: 4.4.3 nan: 2.22.2 - node-gyp: 10.3.1 + node-gyp: 11.5.0 yerror: 8.0.0 transitivePeerDependencies: - supports-color - ttf2woff@2.0.2: + ttf2woff@3.0.0: dependencies: - argparse: 1.0.10 - microbuffer: 1.0.0 + argparse: 2.0.1 pako: 1.0.11 tunnel@0.0.6: {} @@ -35208,6 +34274,8 @@ snapshots: media-typer: 1.1.0 mime-types: 3.0.0 + type@2.7.3: {} + typed-array-buffer@1.0.3: dependencies: call-bound: 1.0.4 @@ -35352,11 +34420,11 @@ snapshots: uniq@1.0.1: {} - unique-filename@3.0.0: + unique-filename@4.0.0: dependencies: - unique-slug: 4.0.0 + unique-slug: 5.0.0 - unique-slug@4.0.0: + unique-slug@5.0.0: dependencies: imurmurhash: 0.1.4 @@ -35549,10 +34617,6 @@ snapshots: use@3.1.1: {} - utif2@4.1.0: - dependencies: - pako: 1.0.11 - util-deprecate@1.0.2: {} util@0.12.5: @@ -35591,8 +34655,6 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - validator@13.15.15: {} - varint@6.0.0: {} vary@1.1.2: {} @@ -35974,8 +35036,6 @@ snapshots: - esbuild - uglify-js - whatwg-fetch@3.6.20: {} - whatwg-mimetype@3.0.0: {} whatwg-url@5.0.0: @@ -36038,7 +35098,7 @@ snapshots: dependencies: isexe: 2.0.0 - which@4.0.0: + which@5.0.0: dependencies: isexe: 3.1.1 @@ -36113,30 +35173,14 @@ snapshots: dependencies: os-paths: 4.4.0 - xhr@2.6.0: - dependencies: - global: 4.4.0 - is-function: 1.0.2 - parse-headers: 2.0.6 - xtend: 4.0.2 - - xml-parse-from-string@1.0.1: {} - - xml2js@0.5.0: - dependencies: - sax: 1.4.1 - xmlbuilder: 11.0.1 - - xmlbuilder@11.0.1: {} - - xmldom@0.5.0: {} - xtend@4.0.2: {} yallist@3.1.1: {} yallist@4.0.0: {} + yallist@5.0.0: {} + yaml@1.10.2: {} yaml@2.8.0: {} diff --git a/packages/text-editor/code-language-json/package.json b/packages/text-editor/code-language-json/package.json index c4dcdbe1..399d8e1a 100644 --- a/packages/text-editor/code-language-json/package.json +++ b/packages/text-editor/code-language-json/package.json @@ -26,9 +26,9 @@ "@coze-editor/extension-lint": "workspace:*", "@coze-editor/lezer-parser-json": "workspace:*", "@coze-editor/parser-json": "workspace:*", + "@coze-editor/utils": "workspace:*", "@lezer/json": "^1.0.2", "@lukeed/uuid": "^2.0.1", - "text-mapping": "^1.0.1", "vscode-json-languageservice": "^5.4.2", "vscode-uri": "^3.0.8" }, diff --git a/packages/text-editor/code-language-json/src/index.ts b/packages/text-editor/code-language-json/src/index.ts index a5e1d284..695d8d99 100644 --- a/packages/text-editor/code-language-json/src/index.ts +++ b/packages/text-editor/code-language-json/src/index.ts @@ -11,8 +11,8 @@ import { type JSONDocument, DiagnosticSeverity, } from 'vscode-json-languageservice'; -import { Text } from 'text-mapping'; import { v4 as uuid } from '@lukeed/uuid'; +import { Text } from '@coze-editor/utils'; import { parse } from '@coze-editor/parser-json'; import { type LanguageService as ILanguageService, diff --git a/packages/text-editor/code-language-json/tsconfig.build.json b/packages/text-editor/code-language-json/tsconfig.build.json index 22d06c2a..25015961 100644 --- a/packages/text-editor/code-language-json/tsconfig.build.json +++ b/packages/text-editor/code-language-json/tsconfig.build.json @@ -30,6 +30,9 @@ }, { "path": "../parser-json/tsconfig.build.json" + }, + { + "path": "../utils/tsconfig.build.json" } ] } diff --git a/packages/text-editor/dev/src/index.tsx b/packages/text-editor/dev/src/index.tsx index 832aa6d7..040c255c 100644 --- a/packages/text-editor/dev/src/index.tsx +++ b/packages/text-editor/dev/src/index.tsx @@ -1,5 +1,5 @@ import { createRoot } from 'react-dom/client'; -import Page from './pages/highlight'; +import Page from './pages/code'; import './index.css'; createRoot(document.getElementById('app')!).render(); diff --git a/packages/text-editor/dev/src/pages/code/index.tsx b/packages/text-editor/dev/src/pages/code/index.tsx index f8dfd289..70b97210 100644 --- a/packages/text-editor/dev/src/pages/code/index.tsx +++ b/packages/text-editor/dev/src/pages/code/index.tsx @@ -1,10 +1,11 @@ -import preset, { type EditorAPI, themes } from '@coze-editor/editor/preset-code' +import preset, { type EditorAPI, themes, transformerCreator } from '@coze-editor/editor/preset-code' import { createRenderer, EditorProvider } from '@coze-editor/editor/react' import { frozenRanges } from '@coze-editor/editor' import { EditorView } from '@codemirror/view' -import { useRef } from 'react' +import { useEffect, useRef } from 'react' import { darkTheme } from './theme' import './language-features' +import { json, type Text } from '@coze-editor/editor/language-json' themes.register('coze-dark', darkTheme) @@ -16,7 +17,7 @@ const CodeEditor = createRenderer(preset, [ }), ]) -const defaultValue = ` +const defaultTSValue = ` async function main({ params }: Args): Promise { return { key: 'value', @@ -28,6 +29,102 @@ async function main({ params }: Args): Promise { } `.trim() +const tsURI = 'file:///untitled.ts' + +const uri = 'file:///untitled.json' + +const schema = { + "type": "object", + "required": [], + "properties": { + "number": { + "type": "number", + "description": "hello" + }, + "string": { + "type": "string", + "description": "world" + }, + "status": { + "type": "string", + "description": "The status", + "enum": [ + "active", + "inactive" + ] + } + } +} + +json.languageService.configureSchemas({ + uri: 'foo', + fileMatch: [ + uri, + ], + schema, +}) + +const defaultValue = `{ + "hello": {{hello}}, + "title": "", + "world": {{world}}, + "field": 111, + "string": 222, + "number": 333, + property: true, + "array": [ + "http://x.com", + "http://y.com" + ] +}` + +interface Match { + match: string; + range: [number, number]; +} + +function findAllMatches(inputString: string, regex: RegExp): Match[] { + const globalRegex = new RegExp( + regex, + regex.flags.includes('g') ? regex.flags : `${regex.flags}g`, + ); + let match; + const matches: Match[] = []; + + while (true) { + match = globalRegex.exec(inputString); + if (!match) { + break; + } + + if (match.index === globalRegex.lastIndex) { + globalRegex.lastIndex++; + } + matches.push({ + match: match[0], + range: [match.index, match.index + match[0].length], + }); + } + + return matches; +} + +const transform = (text: Text) => { + const originalSource = text.toString(); + // eslint-disable-next-line no-useless-escape + const matches = findAllMatches(originalSource, /\{\{([^\}]*)\}\}/g); + + if (matches.length > 0) { + matches.forEach(({ range }) => { + text.replaceRange(range[0], range[1], 'null'); + }); + } + + return text; +} + +const transformer = transformerCreator(transform); + function findFrozenRanges(text: string) { const regex = /function/g; const matches = text.matchAll(regex); @@ -51,21 +148,50 @@ const extensions = [ function Page() { const editorRef = useRef(null) - return - { - editorRef.current = editor - }} - /> - + useEffect(() => { + setTimeout(() => { + json.languageService.validate(defaultValue, { + schema, + transform, + }).then(result => { + console.log('validate result', result) + }) + }, 2000) + }, []) + + return <> + + { + editorRef.current = editor + }} + /> + + +
+ + + + + } export { diff --git a/packages/text-editor/dev/src/pages/code/language-features.ts b/packages/text-editor/dev/src/pages/code/language-features.ts index 1164f076..c5bb445f 100644 --- a/packages/text-editor/dev/src/pages/code/language-features.ts +++ b/packages/text-editor/dev/src/pages/code/language-features.ts @@ -1,7 +1,15 @@ import { languages } from '@coze-editor/editor/preset-code' import { typescript } from '@coze-editor/editor/language-typescript' +import { json } from '@coze-editor/editor/language-json' +import { mixLanguages } from '@coze-editor/editor' languages.register('typescript', typescript) +languages.register('json', { + language: mixLanguages({ + outerLanguage: json.language, + }), + languageService: json.languageService, +}) typescript.languageService.addExtraFiles({ '/global-types.d.ts': ` diff --git a/packages/text-editor/dev/src/pages/highlight/examples.tsx b/packages/text-editor/dev/src/pages/highlight/examples.tsx index aaa1f9c3..a55a7e0b 100644 --- a/packages/text-editor/dev/src/pages/highlight/examples.tsx +++ b/packages/text-editor/dev/src/pages/highlight/examples.tsx @@ -140,4 +140,21 @@ if __name__ == '__main__': `, path: 'f.py', }, + { + code: `package main + +import "fmt" + +// sayHello 打印一条问候语 +func sayHello() { + fmt.Println("Hello, World!") +} + +func main() { + // 调用自定义函数 + sayHello() +} +`, + path: 'g.go' + } ]; diff --git a/packages/text-editor/dev/src/pages/highlight/index.tsx b/packages/text-editor/dev/src/pages/highlight/index.tsx index 5334f68a..64a9a4a9 100644 --- a/packages/text-editor/dev/src/pages/highlight/index.tsx +++ b/packages/text-editor/dev/src/pages/highlight/index.tsx @@ -12,8 +12,8 @@ const CodeHighlight = createEditor([ ], { defaultOptions: { fontSize: 15, - readOnly: true, - editable: false, + // readOnly: true, + // editable: false, } }) diff --git a/packages/text-editor/extension-completion-icons/.gitignore b/packages/text-editor/extension-completion-icons/.gitignore new file mode 100644 index 00000000..326b88ff --- /dev/null +++ b/packages/text-editor/extension-completion-icons/.gitignore @@ -0,0 +1 @@ +/icons diff --git a/packages/text-editor/extension-completion-icons/package.json b/packages/text-editor/extension-completion-icons/package.json index 84a97393..7c542d16 100644 --- a/packages/text-editor/extension-completion-icons/package.json +++ b/packages/text-editor/extension-completion-icons/package.json @@ -26,9 +26,12 @@ "@codemirror/view": "^6.26.1", "@coze-arch/ts-config": "workspace:*", "@coze-editor/eslint-config": "workspace:*", + "@types/fs-extra": "^11.0.4", "@types/node": "^22", - "@with/svg-to-fonts": "^0.3.0", "eslint": "9.14.0", + "fantasticon": "^4.1.0", + "fs-extra": "^11.3.3", + "svg-reorient": "^1.0.3", "tsup": "^8.0.1", "typescript": "^5.8.2" }, diff --git a/packages/text-editor/extension-completion-icons/svg/icons.mjs b/packages/text-editor/extension-completion-icons/scripts/icons.mjs similarity index 93% rename from packages/text-editor/extension-completion-icons/svg/icons.mjs rename to packages/text-editor/extension-completion-icons/scripts/icons.mjs index a25195e8..e6457d46 100644 --- a/packages/text-editor/extension-completion-icons/svg/icons.mjs +++ b/packages/text-editor/extension-completion-icons/scripts/icons.mjs @@ -3,90 +3,90 @@ export default [ { - 'name': 'codicon:file', + 'name': 'file', 'svg': '', }, { - 'name': 'codicon:folder', + 'name': 'folder', 'svg': '', }, { - 'name': 'codicon:go-to-file', + 'name': 'go-to-file', 'svg': '', }, { - 'name': 'codicon:symbol-class', + 'name': 'symbol-class', 'svg': '', }, { - 'name': 'codicon:symbol-color', + 'name': 'symbol-color', 'svg': '', }, { - 'name': 'codicon:symbol-constant', + 'name': 'symbol-constant', 'svg': '', }, { - 'name': 'codicon:symbol-enum', + 'name': 'symbol-enum', 'svg': '', }, { - 'name': 'codicon:symbol-event', + 'name': 'symbol-event', 'svg': '', }, { - 'name': 'codicon:symbol-field', + 'name': 'symbol-field', 'svg': '', }, { - 'name': 'codicon:symbol-interface', + 'name': 'symbol-interface', 'svg': '', }, { - 'name': 'codicon:symbol-key', + 'name': 'symbol-key', 'svg': '', }, { - 'name': 'codicon:symbol-keyword', + 'name': 'symbol-keyword', 'svg': '', }, { - 'name': 'codicon:symbol-method', + 'name': 'symbol-method', 'svg': '', }, { - 'name': 'codicon:symbol-namespace', + 'name': 'symbol-namespace', 'svg': '', }, { - 'name': 'codicon:symbol-operator', + 'name': 'symbol-operator', 'svg': '', }, { - 'name': 'codicon:symbol-parameter', + 'name': 'symbol-parameter', 'svg': '', }, { - 'name': 'codicon:symbol-property', + 'name': 'symbol-property', 'svg': ` `, }, { - 'name': 'codicon:symbol-ruler', + 'name': 'symbol-ruler', 'svg': '', }, { - 'name': 'codicon:symbol-snippet', + 'name': 'symbol-snippet', 'svg': '', }, { - 'name': 'codicon:symbol-structure', + 'name': 'symbol-structure', 'svg': '', }, { - 'name': 'codicon:symbol-variable', + 'name': 'symbol-variable', 'svg': '', }, -] \ No newline at end of file +] diff --git a/packages/text-editor/extension-completion-icons/scripts/update-iconfont.mjs b/packages/text-editor/extension-completion-icons/scripts/update-iconfont.mjs index 1715b7c2..993e8489 100644 --- a/packages/text-editor/extension-completion-icons/scripts/update-iconfont.mjs +++ b/packages/text-editor/extension-completion-icons/scripts/update-iconfont.mjs @@ -1,21 +1,46 @@ // Copyright (c) 2025 coze-dev // SPDX-License-Identifier: MIT -import fs from 'node:fs/promises' +import fse from 'fs-extra' import path from 'node:path' -import { pack } from '@with/svg-to-fonts' -import icons from '../svg/icons.mjs' - -const { files } = await pack(icons) +import { reorient } from 'svg-reorient' +import { generateFonts, FontAssetType, OtherAssetType } from 'fantasticon' +import icons from './icons.mjs' const cwd = process.cwd() +const iconsDir = path.join(cwd, `icons`) + +await fse.ensureDir(iconsDir) + +for (const icon of icons) { + await fse.writeFile( + path.join(iconsDir, `${icon.name}.svg`), + reorient(icon.svg) + ) +} + +const codepoint = 57345 +const codepoints = icons.reduce((memo, icon, i) => { + return { + ...memo, + [icon.name]: codepoint + i, + } +}, {}) + +const result = await generateFonts({ + name: 'iconfont', + fontTypes: [FontAssetType.WOFF], + inputDir: iconsDir, + assetTypes: [], + codepoints, +}) -const woff = `data:application/font-woff;base64,${files.woff.toString('base64') }` +const woff = `data:application/font-woff;base64,${result.assetsOut.woff.toString('base64') }` -const template = await fs.readFile(path.join(cwd, 'scripts/index.template.css'), 'utf-8') +const template = await fse.readFile(path.join(cwd, 'scripts/index.template.css'), 'utf-8') -await fs.writeFile( +await fse.writeFile( path.join(cwd, 'src/index.css'), template.replace(/{{WOFF}}/g, woff), 'utf8', -) \ No newline at end of file +) diff --git a/packages/text-editor/extension-completion-icons/src/index.css b/packages/text-editor/extension-completion-icons/src/index.css index e00ac325..04550373 100644 --- a/packages/text-editor/extension-completion-icons/src/index.css +++ b/packages/text-editor/extension-completion-icons/src/index.css @@ -13,5 +13,5 @@ font-family: "codicon-cm"; font-weight: normal; font-style: normal; - src: url(data:application/font-woff;base64,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) format('woff'); + src: url(data:application/font-woff;base64,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) format('woff'); } \ No newline at end of file diff --git a/packages/text-editor/preset-code-languages/package.json b/packages/text-editor/preset-code-languages/package.json index 652b7b54..fa3d1394 100644 --- a/packages/text-editor/preset-code-languages/package.json +++ b/packages/text-editor/preset-code-languages/package.json @@ -24,6 +24,7 @@ "dependencies": { "@codemirror/lang-cpp": "^6.0.2", "@codemirror/lang-css": "^6.3.1", + "@codemirror/lang-go": "^6.0.1", "@codemirror/lang-html": "^6.4.9", "@codemirror/lang-json": "^6.0.1", "@codemirror/lang-markdown": "^6.3.2", diff --git a/packages/text-editor/preset-code-languages/src/languages.ts b/packages/text-editor/preset-code-languages/src/languages.ts index 94a37967..8cf7ce24 100644 --- a/packages/text-editor/preset-code-languages/src/languages.ts +++ b/packages/text-editor/preset-code-languages/src/languages.ts @@ -133,6 +133,13 @@ export const supportedLanguages = [ return import('@codemirror/lang-sql').then(module => module.sql()); }, }), + LanguageDescription.of({ + name: 'Go', + extensions: ['go'], + async load() { + return import('@codemirror/lang-go').then(module => module.go()); + }, + }), ]; // 添加缓存机制 diff --git a/packages/text-editor/preset-code/package.json b/packages/text-editor/preset-code/package.json index 67bf48b7..3afc2494 100644 --- a/packages/text-editor/preset-code/package.json +++ b/packages/text-editor/preset-code/package.json @@ -24,6 +24,7 @@ "dependencies": { "@codemirror/autocomplete": "^6.18.0", "@codemirror/language": "^6.10.1", + "@codemirror/theme-one-dark": "^6.1.3", "@coze-editor/core": "workspace:*", "@coze-editor/core-plugins": "workspace:*", "@coze-editor/extension-completion-icons": "workspace:*", @@ -38,7 +39,6 @@ "@nozbe/microfuzz": "^1.0.0", "@shikijs/langs": "~3.12.0", "@shikijs/themes": "~3.12.0", - "codemirror-shiki": "^0.2.2", "marked": "^15.0.7", "marked-shiki": "^1.2.0", "shiki": "^3.2.2", diff --git a/packages/text-editor/preset-code/src/language-registry.ts b/packages/text-editor/preset-code/src/language-registry.ts index 7336ff41..cd6051eb 100644 --- a/packages/text-editor/preset-code/src/language-registry.ts +++ b/packages/text-editor/preset-code/src/language-registry.ts @@ -1,3 +1,5 @@ +/* eslint-disable complexity */ +/* eslint-disable max-lines-per-function */ // Copyright (c) 2025 coze-dev // SPDX-License-Identifier: MIT @@ -7,7 +9,6 @@ import { MarkupContent, type CompletionItem, } from 'vscode-languageserver-types'; -import shiki from 'codemirror-shiki'; import createFuzzySearch from '@nozbe/microfuzz'; import { type Diagnostic, linter } from '@coze-editor/extension-lint'; import { type Link, links } from '@coze-editor/extension-links'; @@ -23,13 +24,14 @@ import { ViewPlugin, type ViewUpdate, } from '@codemirror/view'; +import { oneDarkHighlightStyle } from '@codemirror/theme-one-dark'; import { EditorSelection, type EditorState, type Extension, StateField, } from '@codemirror/state'; -import { LanguageSupport } from '@codemirror/language'; +import { LanguageSupport, syntaxHighlighting } from '@codemirror/language'; import { autocompletion, type Completion, @@ -39,9 +41,8 @@ import { import { signatureHelp } from './signature-help'; import { renderMarkdown } from './markdown'; -import { highlighterPromise } from './highlighter'; import gotoDefinition from './goto-definition'; -import { DEFAULT_SYNTAX_THEME, LINT_REFRESH_USER_EVENT } from './const'; +import { LINT_REFRESH_USER_EVENT } from './const'; function formatContents(contents: MarkupContent | string | string[]): string { if (MarkupContent.is(contents)) { @@ -89,17 +90,7 @@ class LanguagesRegistry { langaugeExtensions.push(new LanguageSupport(language)); - // TODO: use shiki for all languages - // Only use shiki for TypeScript, Python, SQL temporarily - if (id === 'typescript' || id === 'python' || id === 'sql') { - langaugeExtensions.push( - shiki({ - highlighter: highlighterPromise, - language: id, - theme: DEFAULT_SYNTAX_THEME, - }), - ); - } + langaugeExtensions.push(syntaxHighlighting(oneDarkHighlightStyle)); langaugeExtensions.push( StateField.define({ @@ -339,11 +330,11 @@ class LanguagesRegistry { } let { items } = completionResult; - const content = state.doc.toString(); - const charBefore = content.slice(pos - 1, pos); + const content = textDocument.getText(); + const charBefore = content.slice(offset - 1, offset); const triggerCharacters = languageService.triggerCharacters ?? []; if (!triggerCharacters.includes(charBefore)) { - let i = pos - 1; + let i = offset - 1; let query = ''; while (i >= 0) { @@ -353,43 +344,48 @@ class LanguagesRegistry { break; } - if (!identRe.test(char) && i + 1 <= pos) { + if (!identRe.test(char) && i + 1 <= offset) { break; } i--; } - query = content.slice(i + 1, pos); + query = content.slice(i + 1, offset); if (query) { const fuzzySearch = createFuzzySearch(items, { key: 'label', }); - items = fuzzySearch(query).map(v => ({ - ...v.item, - textEdit: { - range: { - start: textDocument.positionAt(i + 1), - end: textDocument.positionAt(pos), + items = fuzzySearch(query).map(v => { + const finalItem = { + ...v.item, + data: { + matches: v.matches.reduce((memo, current) => { + if (!current) { + return memo; + } + + return [ + ...memo, + ...current.reduce( + (m, c) => [...m, c[0], c[1] + 1], + [], + ), + ]; + }, []), }, - newText: v.item.label, - }, - data: { - matches: v.matches.reduce((memo, current) => { - if (!current) { - return memo; - } - - return [ - ...memo, - ...current.reduce( - (m, c) => [...m, c[0], c[1] + 1], - [], - ), - ]; - }, []), - }, - })); + }; + if (!finalItem.textEdit) { + finalItem.textEdit = { + range: { + start: textDocument.positionAt(i + 1), + end: textDocument.positionAt(offset), + }, + newText: v.item.label, + }; + } + return finalItem; + }); } else if (Array.isArray(languageService.triggerCharacters)) { // empty items if query is empty // e.g. type whitespace in JSON editor diff --git a/packages/text-editor/preset-code/src/transformer.ts b/packages/text-editor/preset-code/src/transformer.ts index c92ee315..4286ed90 100644 --- a/packages/text-editor/preset-code/src/transformer.ts +++ b/packages/text-editor/preset-code/src/transformer.ts @@ -1,7 +1,7 @@ // Copyright (c) 2025 coze-dev // SPDX-License-Identifier: MIT -import { Text } from 'text-mapping'; +import { Text } from '@coze-editor/utils'; import { type Transformer } from '@coze-editor/code-language-shared'; const transformerCreator = diff --git a/packages/text-editor/utils/package.json b/packages/text-editor/utils/package.json index 1b6f65ce..b78ea548 100644 --- a/packages/text-editor/utils/package.json +++ b/packages/text-editor/utils/package.json @@ -21,6 +21,9 @@ "build": "tsup", "lint": "eslint && tsc --noEmit" }, + "dependencies": { + "@volar/source-map": "^2.4.28" + }, "devDependencies": { "@codemirror/state": "^6.4.1", "@codemirror/view": "^6.26.1", diff --git a/packages/text-editor/utils/src/index.ts b/packages/text-editor/utils/src/index.ts index 13ad91fd..ab89ee50 100644 --- a/packages/text-editor/utils/src/index.ts +++ b/packages/text-editor/utils/src/index.ts @@ -16,3 +16,5 @@ export { FacetCombineStrategy } from './facet'; export { withDefaultValue } from './field'; export { singleton } from './singleton'; + +export { Text } from './text'; diff --git a/packages/text-editor/utils/src/text.ts b/packages/text-editor/utils/src/text.ts new file mode 100644 index 00000000..8cad2755 --- /dev/null +++ b/packages/text-editor/utils/src/text.ts @@ -0,0 +1,135 @@ +import { type Mapping, SourceMap } from '@volar/source-map'; + +interface Range { + from: number; + to: number; +} + +class Text { + private source: string; + private replacements: Array<{ from: number; to: number; content: string }> = + []; + + constructor(text: string) { + this.source = text; + } + + replaceRange(from: number, to: number, content: string) { + const rangeFrom = Math.min(from, to); + const rangeTo = Math.max(from, to); + const hasOverlap = this.replacements.some( + replacement => rangeFrom < replacement.to && rangeTo > replacement.from, + ); + if (hasOverlap) { + return; + } + this.replacements.push({ from: rangeFrom, to: rangeTo, content }); + } + + #toMappings(): Mapping[] { + const sortedReplacements = [...this.replacements].sort( + (a, b) => a.from - b.from, + ); + const mappings: Mapping[] = []; + let originalOffset = 0; + let generatedOffset = 0; + for (const replacement of sortedReplacements) { + if (originalOffset < replacement.from) { + const length = replacement.from - originalOffset; + mappings.push({ + sourceOffsets: [originalOffset], + generatedOffsets: [generatedOffset], + lengths: [length], + data: undefined, + }); + originalOffset = replacement.from; + generatedOffset += length; + } + originalOffset = replacement.to; + generatedOffset += replacement.content.length; + } + if (originalOffset < this.source.length) { + const length = this.source.length - originalOffset; + mappings.push({ + sourceOffsets: [originalOffset], + generatedOffsets: [generatedOffset], + lengths: [length], + data: undefined, + }); + } + return mappings; + } + + originalOffsetFor(offset: number): number { + const sourceMap = new SourceMap(this.#toMappings()); + const locations = Array.from(sourceMap.toSourceLocation(offset)); + const first = locations[0]; + if (Array.isArray(first) && typeof first[0] === 'number') { + return first[0]; + } + return offset; + } + + generatedOffsetFor(offset: number): number { + const sourceMap = new SourceMap(this.#toMappings()); + const locations = Array.from(sourceMap.toGeneratedLocation(offset)); + const first = locations[0]; + if (Array.isArray(first) && typeof first[0] === 'number') { + return first[0]; + } + return offset; + } + + originalRangeFor(range: Range): Range { + const sourceMap = new SourceMap(this.#toMappings()); + const ranges = Array.from( + sourceMap.toSourceRange(range.from, range.to, true), + ); + const first = ranges[0]; + if ( + Array.isArray(first) && + typeof first[0] === 'number' && + typeof first[1] === 'number' + ) { + return { from: first[0], to: first[1] }; + } + return range; + } + + generatedRangeFor(range: Range): Range { + const sourceMap = new SourceMap(this.#toMappings()); + const ranges = Array.from( + sourceMap.toGeneratedRange(range.from, range.to, true), + ); + const first = ranges[0]; + if ( + Array.isArray(first) && + typeof first[0] === 'number' && + typeof first[1] === 'number' + ) { + return { from: first[0], to: first[1] }; + } + return range; + } + + toString(): string { + const sortedReplacements = [...this.replacements].sort( + (a, b) => a.from - b.from, + ); + let cursor = 0; + let result = ''; + for (const replacement of sortedReplacements) { + if (cursor < replacement.from) { + result += this.source.slice(cursor, replacement.from); + } + result += replacement.content; + cursor = replacement.to; + } + if (cursor < this.source.length) { + result += this.source.slice(cursor); + } + return result; + } +} + +export { Text };