diff --git a/examples/vite/package.json b/examples/vite/package.json index 019ed2c..ef67898 100644 --- a/examples/vite/package.json +++ b/examples/vite/package.json @@ -18,7 +18,7 @@ "typescript": "^5.7.2", "unplugin-vue-markdown": "workspace:*", "vite": "^6.0.1", - "vite-plugin-inspect": "^0.8.8", + "vite-plugin-inspect": "^0.10.2", "vite-plugin-pages": "^0.32.4" } } diff --git a/package.json b/package.json index f39b8f7..7e14bb2 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "unplugin-vue-markdown", "type": "module", - "version": "0.26.3", - "packageManager": "pnpm@9.14.2", + "version": "0.27.0", + "packageManager": "pnpm@9.14.4", "description": "Compile Markdown to Vue component", "author": "Anthony Fu ", "license": "MIT", @@ -84,18 +84,19 @@ "@rollup/pluginutils": "^5.1.3", "@types/markdown-it": "^14.1.2", "markdown-it": "^14.1.0", + "markdown-it-async": "^0.1.3", "unplugin": "^1.16.0" }, "devDependencies": { - "@antfu/eslint-config": "^3.10.0", + "@antfu/eslint-config": "^3.11.2", "@antfu/ni": "^0.23.1", "@antfu/utils": "^0.7.10", - "@types/node": "^22.10.0", + "@types/node": "^22.10.1", "@unhead/vue": "^1.11.13", "@vue/test-utils": "^2.4.6", "bumpp": "^9.8.1", "chalk": "^5.3.0", - "eslint": "^9.15.0", + "eslint": "^9.16.0", "esno": "^4.8.0", "fast-glob": "^3.3.2", "rollup": "^4.27.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9ae2a18..36a39b1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,13 +26,16 @@ importers: markdown-it: specifier: ^14.1.0 version: 14.1.0 + markdown-it-async: + specifier: ^0.1.3 + version: 0.1.3 unplugin: specifier: ^1.16.0 version: 1.16.0 devDependencies: '@antfu/eslint-config': - specifier: ^3.10.0 - version: 3.10.0(@typescript-eslint/utils@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2))(@vue/compiler-sfc@3.5.13)(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)(vitest@2.1.6(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1)) + specifier: ^3.11.2 + version: 3.11.2(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(@vue/compiler-sfc@3.5.13)(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)(vitest@2.1.6(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1)) '@antfu/ni': specifier: ^0.23.1 version: 0.23.1 @@ -40,8 +43,8 @@ importers: specifier: ^0.7.10 version: 0.7.10 '@types/node': - specifier: ^22.10.0 - version: 22.10.0 + specifier: ^22.10.1 + version: 22.10.1 '@unhead/vue': specifier: ^1.11.13 version: 1.11.13(vue@3.5.13(typescript@5.7.2)) @@ -55,8 +58,8 @@ importers: specifier: ^5.3.0 version: 5.3.0 eslint: - specifier: ^9.15.0 - version: 9.15.0(jiti@1.21.6) + specifier: ^9.16.0 + version: 9.16.0(jiti@1.21.6) esno: specifier: ^4.8.0 version: 4.8.0 @@ -74,10 +77,10 @@ importers: version: 5.7.2 vite: specifier: ^6.0.1 - version: 6.0.1(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1) + version: 6.0.1(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1) vitest: specifier: ^2.1.6 - version: 2.1.6(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1) + version: 2.1.6(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1) vue: specifier: ^3.5.13 version: 3.5.13(typescript@5.7.2) @@ -99,7 +102,7 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@6.0.1(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) + version: 5.2.1(vite@6.0.1(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) cross-env: specifier: ^7.0.3 version: 7.0.3 @@ -117,13 +120,13 @@ importers: version: link:../.. vite: specifier: ^6.0.1 - version: 6.0.1(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1) + version: 6.0.1(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1) vite-plugin-inspect: - specifier: ^0.8.8 - version: 0.8.8(rollup@4.27.4)(vite@6.0.1(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1)) + specifier: ^0.10.2 + version: 0.10.2(rollup@4.27.4)(vite@6.0.1(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1)) vite-plugin-pages: specifier: ^0.32.4 - version: 0.32.4(@vue/compiler-sfc@3.5.13)(vite@6.0.1(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.2))) + version: 0.32.4(@vue/compiler-sfc@3.5.13)(vite@6.0.1(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.2))) examples/vue-cli: dependencies: @@ -161,8 +164,8 @@ packages: resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} engines: {node: '>=6.0.0'} - '@antfu/eslint-config@3.10.0': - resolution: {integrity: sha512-rTl9BA42RIaC2l9iol1+uinO1alqVchAr8Vg2WDnXiAJPDaqiwRnbXIWM1fCZVNF4lwgqv71NIsusd67EpTPqA==} + '@antfu/eslint-config@3.11.2': + resolution: {integrity: sha512-hoi2MnOdiKL8mIhpMtinwMrqVPq6QVbHPA+BuQD4pqE6yVLyYvjdLFiKApMsezAM+YofCsbhak2oY+JCiIyeNA==} hasBin: true peerDependencies: '@eslint-react/eslint-plugin': ^1.5.8 @@ -176,7 +179,7 @@ packages: eslint-plugin-react-refresh: ^0.4.4 eslint-plugin-solid: ^0.14.3 eslint-plugin-svelte: '>=2.35.1' - prettier-plugin-astro: ^0.13.0 + prettier-plugin-astro: ^0.14.0 prettier-plugin-slidev: ^1.0.5 svelte-eslint-parser: '>=0.37.0' peerDependenciesMeta: @@ -207,8 +210,8 @@ packages: svelte-eslint-parser: optional: true - '@antfu/install-pkg@0.4.1': - resolution: {integrity: sha512-T7yB5QNG29afhWVkVq7XeIMBa5U/vs9mX69YqayXypPRmYzUmzwnYltplHmPtZ4HPCn+sQKeXW8I47wCbuBOjw==} + '@antfu/install-pkg@0.5.0': + resolution: {integrity: sha512-dKnk2xlAyC7rvTkpkHmu+Qy/2Zc3Vm/l8PtNyIOGDBtXPY3kThfU4ORNEp3V7SXw5XSOb+tOJaUYpfquPzL/Tg==} '@antfu/ni@0.23.1': resolution: {integrity: sha512-VFAvMTJhjP6L7CuBKT5FioDCSpdmZxJ4POKTJOrFNicI2CK6mlaRwVEBGWLGm2V6BtQgdbBn9X68piHSbw5wQQ==} @@ -1151,8 +1154,8 @@ packages: resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.15.0': - resolution: {integrity: sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg==} + '@eslint/js@9.16.0': + resolution: {integrity: sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/markdown@6.2.1': @@ -1385,7 +1388,7 @@ packages: resolution: {integrity: sha512-PNRHbydNG5EH8NK4c+izdJlxajIR6GxcUhzsYNRsn6Myep4dsZt0qFCz3rCPnkvgO5FYibDcMqgNHUT+zvjYZw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^9.15.0 + eslint: '>=8.40.0' '@trysound/sax@0.2.0': resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} @@ -1457,8 +1460,8 @@ packages: '@types/ms@0.7.31': resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} - '@types/node@22.10.0': - resolution: {integrity: sha512-XC70cRZVElFHfIUB40FgZOBbgJYFKKMa5nb9lxcwYstFG/Mi+/Y0bGS+rs6Dmhmkpq4pnNiLiuZAbc02YCOnmA==} + '@types/node@22.10.1': + resolution: {integrity: sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==} '@types/normalize-package-data@2.4.1': resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -1573,11 +1576,11 @@ packages: resolution: {integrity: sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - vite: 6.0.0-alpha.19 + vite: ^5.0.0 || ^6.0.0 vue: ^3.2.25 - '@vitest/eslint-plugin@1.1.10': - resolution: {integrity: sha512-uScH5Kz5v32vvtQYB2iodpoPg2mGASK+VKpjlc2IUgE0+16uZKqVKi2vQxjxJ6sMCQLBs4xhBFZlmZBszsmfKQ==} + '@vitest/eslint-plugin@1.1.12': + resolution: {integrity: sha512-iv9K9fz9qRxBo9J/PGSMcLdOFIKqtFZ6THqSVG/jW8CJZFkIWLxPduCTXkbyG6FNKgL49fkv348nSgmfqCU6FA==} peerDependencies: '@typescript-eslint/utils': '>= 8.0' eslint: '>= 8.57.0' @@ -2857,8 +2860,8 @@ packages: peerDependencies: eslint: ^8.57.0 || ^9.0.0 - eslint-plugin-jsdoc@50.5.0: - resolution: {integrity: sha512-xTkshfZrUbiSHXBwZ/9d5ulZ2OcHXxSvm/NPo494H/hadLRJwOq5PMV0EUpMqsb9V+kQo+9BAgi6Z7aJtdBp2A==} + eslint-plugin-jsdoc@50.6.0: + resolution: {integrity: sha512-tCNp4fR79Le3dYTPB0dKEv7yFyvGkUCa+Z3yuTrrNGGOxBlXo9Pn0PEgroOZikUQOGjxoGMVKNjrOHcYEdfszg==} engines: {node: '>=18'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -2950,8 +2953,8 @@ packages: resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.15.0: - resolution: {integrity: sha512-7CrWySmIibCgT1Os28lUU6upBshZ+GxybLOrmRzi08kS8MBuO8QA7pXEgYgY5W8vK3e74xv0lpjo9DbaGU9Rkw==} + eslint@9.16.0: + resolution: {integrity: sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -3738,6 +3741,9 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} + markdown-it-async@0.1.3: + resolution: {integrity: sha512-R0oC5NCrGhAZGZXQ923+RUNbv6vAFCyHebC2SA9Q2TR7yYBowAboLhrsRJrfB9s9cL3epF+JaHrg5WSeoh+CRA==} + markdown-it-prism@2.3.0: resolution: {integrity: sha512-ePtHY80gZyeje4bn3R3SL0jpd1C9HFaYffJW2Ma0YD+tspqa2v9TuVwUyFwboFu4jnFNcO8oPQROgbcYJbmBvw==} engines: {node: '>=6.0.0'} @@ -5271,12 +5277,12 @@ packages: engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - vite-plugin-inspect@0.8.8: - resolution: {integrity: sha512-aZlBuXsWUPJFmMK92GIv6lH7LrwG2POu4KJ+aEdcqnu92OAf+rhBnfMDQvxIJPEB7hE2t5EyY/PMgf5aDLT8EA==} + vite-plugin-inspect@0.10.2: + resolution: {integrity: sha512-7PLKJB/JBC2vQjMG9GS9sMWp5orh0FCA0hf8FwlrsVWEDrzGAD0E4OoDKxMZ7BOkIq9iTKqzY3/eTaExEFUZnA==} engines: {node: '>=14'} peerDependencies: '@nuxt/kit': '*' - vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 + vite: ^6.0.1 peerDependenciesMeta: '@nuxt/kit': optional: true @@ -5287,7 +5293,7 @@ packages: '@solidjs/router': '*' '@vue/compiler-sfc': ^2.7.0 || ^3.0.0 react-router: '*' - vite: 6.0.0-alpha.19 + vite: ^2.0.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0 || ^6.0.0 vue-router: '*' peerDependenciesMeta: '@solidjs/router': @@ -5639,42 +5645,42 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@antfu/eslint-config@3.10.0(@typescript-eslint/utils@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2))(@vue/compiler-sfc@3.5.13)(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)(vitest@2.1.6(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1))': + '@antfu/eslint-config@3.11.2(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(@vue/compiler-sfc@3.5.13)(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)(vitest@2.1.6(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: - '@antfu/install-pkg': 0.4.1 + '@antfu/install-pkg': 0.5.0 '@clack/prompts': 0.8.2 - '@eslint-community/eslint-plugin-eslint-comments': 4.4.1(eslint@9.15.0(jiti@1.21.6)) + '@eslint-community/eslint-plugin-eslint-comments': 4.4.1(eslint@9.16.0(jiti@1.21.6)) '@eslint/markdown': 6.2.1 - '@stylistic/eslint-plugin': 2.11.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2) - '@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2) - '@typescript-eslint/parser': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2) - '@vitest/eslint-plugin': 1.1.10(@typescript-eslint/utils@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)(vitest@2.1.6(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1)) - eslint: 9.15.0(jiti@1.21.6) - eslint-config-flat-gitignore: 0.3.0(eslint@9.15.0(jiti@1.21.6)) + '@stylistic/eslint-plugin': 2.11.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) + '@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) + '@typescript-eslint/parser': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) + '@vitest/eslint-plugin': 1.1.12(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)(vitest@2.1.6(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1)) + eslint: 9.16.0(jiti@1.21.6) + eslint-config-flat-gitignore: 0.3.0(eslint@9.16.0(jiti@1.21.6)) eslint-flat-config-utils: 0.4.0 - eslint-merge-processors: 0.1.0(eslint@9.15.0(jiti@1.21.6)) - eslint-plugin-antfu: 2.7.0(eslint@9.15.0(jiti@1.21.6)) - eslint-plugin-command: 0.2.6(eslint@9.15.0(jiti@1.21.6)) - eslint-plugin-import-x: 4.4.3(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2) - eslint-plugin-jsdoc: 50.5.0(eslint@9.15.0(jiti@1.21.6)) - eslint-plugin-jsonc: 2.18.2(eslint@9.15.0(jiti@1.21.6)) - eslint-plugin-n: 17.14.0(eslint@9.15.0(jiti@1.21.6)) + eslint-merge-processors: 0.1.0(eslint@9.16.0(jiti@1.21.6)) + eslint-plugin-antfu: 2.7.0(eslint@9.16.0(jiti@1.21.6)) + eslint-plugin-command: 0.2.6(eslint@9.16.0(jiti@1.21.6)) + eslint-plugin-import-x: 4.4.3(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) + eslint-plugin-jsdoc: 50.6.0(eslint@9.16.0(jiti@1.21.6)) + eslint-plugin-jsonc: 2.18.2(eslint@9.16.0(jiti@1.21.6)) + eslint-plugin-n: 17.14.0(eslint@9.16.0(jiti@1.21.6)) eslint-plugin-no-only-tests: 3.3.0 - eslint-plugin-perfectionist: 4.1.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2) - eslint-plugin-regexp: 2.7.0(eslint@9.15.0(jiti@1.21.6)) - eslint-plugin-toml: 0.11.1(eslint@9.15.0(jiti@1.21.6)) - eslint-plugin-unicorn: 56.0.1(eslint@9.15.0(jiti@1.21.6)) - eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.15.0(jiti@1.21.6)) - eslint-plugin-vue: 9.31.0(eslint@9.15.0(jiti@1.21.6)) - eslint-plugin-yml: 1.15.0(eslint@9.15.0(jiti@1.21.6)) - eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.5.13)(eslint@9.15.0(jiti@1.21.6)) + eslint-plugin-perfectionist: 4.1.2(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) + eslint-plugin-regexp: 2.7.0(eslint@9.16.0(jiti@1.21.6)) + eslint-plugin-toml: 0.11.1(eslint@9.16.0(jiti@1.21.6)) + eslint-plugin-unicorn: 56.0.1(eslint@9.16.0(jiti@1.21.6)) + eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.16.0(jiti@1.21.6)) + eslint-plugin-vue: 9.31.0(eslint@9.16.0(jiti@1.21.6)) + eslint-plugin-yml: 1.15.0(eslint@9.16.0(jiti@1.21.6)) + eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.5.13)(eslint@9.16.0(jiti@1.21.6)) globals: 15.12.0 jsonc-eslint-parser: 2.4.0 local-pkg: 0.5.1 parse-gitignore: 2.0.0 picocolors: 1.1.1 toml-eslint-parser: 0.10.0 - vue-eslint-parser: 9.4.3(eslint@9.15.0(jiti@1.21.6)) + vue-eslint-parser: 9.4.3(eslint@9.16.0(jiti@1.21.6)) yaml-eslint-parser: 1.2.3 yargs: 17.7.2 transitivePeerDependencies: @@ -5685,7 +5691,7 @@ snapshots: - typescript - vitest - '@antfu/install-pkg@0.4.1': + '@antfu/install-pkg@0.5.0': dependencies: package-manager-detector: 0.2.5 tinyexec: 0.3.1 @@ -6598,22 +6604,22 @@ snapshots: '@esbuild/win32-x64@0.24.0': optional: true - '@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@9.15.0(jiti@1.21.6))': + '@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@9.16.0(jiti@1.21.6))': dependencies: escape-string-regexp: 4.0.0 - eslint: 9.15.0(jiti@1.21.6) + eslint: 9.16.0(jiti@1.21.6) ignore: 5.3.2 - '@eslint-community/eslint-utils@4.4.1(eslint@9.15.0(jiti@1.21.6))': + '@eslint-community/eslint-utils@4.4.1(eslint@9.16.0(jiti@1.21.6))': dependencies: - eslint: 9.15.0(jiti@1.21.6) + eslint: 9.16.0(jiti@1.21.6) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/compat@1.2.3(eslint@9.15.0(jiti@1.21.6))': + '@eslint/compat@1.2.3(eslint@9.16.0(jiti@1.21.6))': optionalDependencies: - eslint: 9.15.0(jiti@1.21.6) + eslint: 9.16.0(jiti@1.21.6) '@eslint/config-array@0.19.0': dependencies: @@ -6639,7 +6645,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.15.0': {} + '@eslint/js@9.16.0': {} '@eslint/markdown@6.2.1': dependencies: @@ -6834,10 +6840,10 @@ snapshots: '@soda/get-current-script@1.0.2': {} - '@stylistic/eslint-plugin@2.11.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)': + '@stylistic/eslint-plugin@2.11.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)': dependencies: - '@typescript-eslint/utils': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2) - eslint: 9.15.0(jiti@1.21.6) + '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) + eslint: 9.16.0(jiti@1.21.6) eslint-visitor-keys: 4.2.0 espree: 10.3.0 estraverse: 5.3.0 @@ -6851,20 +6857,20 @@ snapshots: '@types/body-parser@1.19.2': dependencies: '@types/connect': 3.4.35 - '@types/node': 22.10.0 + '@types/node': 22.10.1 '@types/bonjour@3.5.10': dependencies: - '@types/node': 22.10.0 + '@types/node': 22.10.1 '@types/connect-history-api-fallback@1.5.0': dependencies: '@types/express-serve-static-core': 4.17.35 - '@types/node': 22.10.0 + '@types/node': 22.10.1 '@types/connect@3.4.35': dependencies: - '@types/node': 22.10.0 + '@types/node': 22.10.1 '@types/debug@4.1.12': dependencies: @@ -6884,7 +6890,7 @@ snapshots: '@types/express-serve-static-core@4.17.35': dependencies: - '@types/node': 22.10.0 + '@types/node': 22.10.1 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 '@types/send': 0.17.1 @@ -6902,7 +6908,7 @@ snapshots: '@types/http-proxy@1.17.11': dependencies: - '@types/node': 22.10.0 + '@types/node': 22.10.1 '@types/json-schema@7.0.15': {} @@ -6927,7 +6933,7 @@ snapshots: '@types/ms@0.7.31': {} - '@types/node@22.10.0': + '@types/node@22.10.1': dependencies: undici-types: 6.20.0 @@ -6944,7 +6950,7 @@ snapshots: '@types/send@0.17.1': dependencies: '@types/mime': 1.3.2 - '@types/node': 22.10.0 + '@types/node': 22.10.1 '@types/serve-index@1.9.1': dependencies: @@ -6954,27 +6960,27 @@ snapshots: dependencies: '@types/http-errors': 2.0.1 '@types/mime': 3.0.1 - '@types/node': 22.10.0 + '@types/node': 22.10.1 '@types/sockjs@0.3.33': dependencies: - '@types/node': 22.10.0 + '@types/node': 22.10.1 '@types/unist@3.0.3': {} '@types/ws@8.5.5': dependencies: - '@types/node': 22.10.0 + '@types/node': 22.10.1 - '@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)': + '@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2) + '@typescript-eslint/parser': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) '@typescript-eslint/scope-manager': 8.16.0 - '@typescript-eslint/type-utils': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2) - '@typescript-eslint/utils': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2) + '@typescript-eslint/type-utils': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) + '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) '@typescript-eslint/visitor-keys': 8.16.0 - eslint: 9.15.0(jiti@1.21.6) + eslint: 9.16.0(jiti@1.21.6) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -6984,14 +6990,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)': + '@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)': dependencies: '@typescript-eslint/scope-manager': 8.16.0 '@typescript-eslint/types': 8.16.0 '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2) '@typescript-eslint/visitor-keys': 8.16.0 debug: 4.3.7 - eslint: 9.15.0(jiti@1.21.6) + eslint: 9.16.0(jiti@1.21.6) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: @@ -7002,12 +7008,12 @@ snapshots: '@typescript-eslint/types': 8.16.0 '@typescript-eslint/visitor-keys': 8.16.0 - '@typescript-eslint/type-utils@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)': + '@typescript-eslint/type-utils@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)': dependencies: '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2) - '@typescript-eslint/utils': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2) + '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) debug: 4.3.7 - eslint: 9.15.0(jiti@1.21.6) + eslint: 9.16.0(jiti@1.21.6) ts-api-utils: 1.3.0(typescript@5.7.2) optionalDependencies: typescript: 5.7.2 @@ -7031,13 +7037,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)': + '@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) '@typescript-eslint/scope-manager': 8.16.0 '@typescript-eslint/types': 8.16.0 '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2) - eslint: 9.15.0(jiti@1.21.6) + eslint: 9.16.0(jiti@1.21.6) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: @@ -7071,18 +7077,18 @@ snapshots: unhead: 1.11.13 vue: 3.5.13(typescript@5.7.2) - '@vitejs/plugin-vue@5.2.1(vite@6.0.1(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))': + '@vitejs/plugin-vue@5.2.1(vite@6.0.1(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))': dependencies: - vite: 6.0.1(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.1(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1) vue: 3.5.13(typescript@5.7.2) - '@vitest/eslint-plugin@1.1.10(@typescript-eslint/utils@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)(vitest@2.1.6(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1))': + '@vitest/eslint-plugin@1.1.12(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)(vitest@2.1.6(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: - '@typescript-eslint/utils': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2) - eslint: 9.15.0(jiti@1.21.6) + '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) + eslint: 9.16.0(jiti@1.21.6) optionalDependencies: typescript: 5.7.2 - vitest: 2.1.6(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1) + vitest: 2.1.6(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1) '@vitest/expect@2.1.6': dependencies: @@ -7091,13 +7097,13 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.6(vite@6.0.1(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1))': + '@vitest/mocker@2.1.6(vite@6.0.1(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: '@vitest/spy': 2.1.6 estree-walker: 3.0.3 magic-string: 0.30.14 optionalDependencies: - vite: 6.0.1(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.1(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1) '@vitest/pretty-format@2.1.6': dependencies: @@ -8469,20 +8475,20 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-compat-utils@0.5.1(eslint@9.15.0(jiti@1.21.6)): + eslint-compat-utils@0.5.1(eslint@9.16.0(jiti@1.21.6)): dependencies: - eslint: 9.15.0(jiti@1.21.6) + eslint: 9.16.0(jiti@1.21.6) semver: 7.6.3 - eslint-compat-utils@0.6.3(eslint@9.15.0(jiti@1.21.6)): + eslint-compat-utils@0.6.3(eslint@9.16.0(jiti@1.21.6)): dependencies: - eslint: 9.15.0(jiti@1.21.6) + eslint: 9.16.0(jiti@1.21.6) semver: 7.6.3 - eslint-config-flat-gitignore@0.3.0(eslint@9.15.0(jiti@1.21.6)): + eslint-config-flat-gitignore@0.3.0(eslint@9.16.0(jiti@1.21.6)): dependencies: - '@eslint/compat': 1.2.3(eslint@9.15.0(jiti@1.21.6)) - eslint: 9.15.0(jiti@1.21.6) + '@eslint/compat': 1.2.3(eslint@9.16.0(jiti@1.21.6)) + eslint: 9.16.0(jiti@1.21.6) find-up-simple: 1.0.0 eslint-flat-config-utils@0.4.0: @@ -8497,39 +8503,39 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-json-compat-utils@0.2.1(eslint@9.15.0(jiti@1.21.6))(jsonc-eslint-parser@2.4.0): + eslint-json-compat-utils@0.2.1(eslint@9.16.0(jiti@1.21.6))(jsonc-eslint-parser@2.4.0): dependencies: - eslint: 9.15.0(jiti@1.21.6) + eslint: 9.16.0(jiti@1.21.6) esquery: 1.6.0 jsonc-eslint-parser: 2.4.0 - eslint-merge-processors@0.1.0(eslint@9.15.0(jiti@1.21.6)): + eslint-merge-processors@0.1.0(eslint@9.16.0(jiti@1.21.6)): dependencies: - eslint: 9.15.0(jiti@1.21.6) + eslint: 9.16.0(jiti@1.21.6) - eslint-plugin-antfu@2.7.0(eslint@9.15.0(jiti@1.21.6)): + eslint-plugin-antfu@2.7.0(eslint@9.16.0(jiti@1.21.6)): dependencies: '@antfu/utils': 0.7.10 - eslint: 9.15.0(jiti@1.21.6) + eslint: 9.16.0(jiti@1.21.6) - eslint-plugin-command@0.2.6(eslint@9.15.0(jiti@1.21.6)): + eslint-plugin-command@0.2.6(eslint@9.16.0(jiti@1.21.6)): dependencies: '@es-joy/jsdoccomment': 0.48.0 - eslint: 9.15.0(jiti@1.21.6) + eslint: 9.16.0(jiti@1.21.6) - eslint-plugin-es-x@7.8.0(eslint@9.15.0(jiti@1.21.6)): + eslint-plugin-es-x@7.8.0(eslint@9.16.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) '@eslint-community/regexpp': 4.12.1 - eslint: 9.15.0(jiti@1.21.6) - eslint-compat-utils: 0.5.1(eslint@9.15.0(jiti@1.21.6)) + eslint: 9.16.0(jiti@1.21.6) + eslint-compat-utils: 0.5.1(eslint@9.16.0(jiti@1.21.6)) - eslint-plugin-import-x@4.4.3(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2): + eslint-plugin-import-x@4.4.3(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2): dependencies: - '@typescript-eslint/utils': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2) + '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) debug: 4.3.7 doctrine: 3.0.0 - eslint: 9.15.0(jiti@1.21.6) + eslint: 9.16.0(jiti@1.21.6) eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.8.1 is-glob: 4.0.3 @@ -8541,14 +8547,14 @@ snapshots: - supports-color - typescript - eslint-plugin-jsdoc@50.5.0(eslint@9.15.0(jiti@1.21.6)): + eslint-plugin-jsdoc@50.6.0(eslint@9.16.0(jiti@1.21.6)): dependencies: '@es-joy/jsdoccomment': 0.49.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 debug: 4.3.7 escape-string-regexp: 4.0.0 - eslint: 9.15.0(jiti@1.21.6) + eslint: 9.16.0(jiti@1.21.6) espree: 10.3.0 esquery: 1.6.0 parse-imports: 2.2.1 @@ -8558,12 +8564,12 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-jsonc@2.18.2(eslint@9.15.0(jiti@1.21.6)): + eslint-plugin-jsonc@2.18.2(eslint@9.16.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@1.21.6)) - eslint: 9.15.0(jiti@1.21.6) - eslint-compat-utils: 0.6.3(eslint@9.15.0(jiti@1.21.6)) - eslint-json-compat-utils: 0.2.1(eslint@9.15.0(jiti@1.21.6))(jsonc-eslint-parser@2.4.0) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) + eslint: 9.16.0(jiti@1.21.6) + eslint-compat-utils: 0.6.3(eslint@9.16.0(jiti@1.21.6)) + eslint-json-compat-utils: 0.2.1(eslint@9.16.0(jiti@1.21.6))(jsonc-eslint-parser@2.4.0) espree: 9.6.1 graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 @@ -8572,12 +8578,12 @@ snapshots: transitivePeerDependencies: - '@eslint/json' - eslint-plugin-n@17.14.0(eslint@9.15.0(jiti@1.21.6)): + eslint-plugin-n@17.14.0(eslint@9.16.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) enhanced-resolve: 5.17.1 - eslint: 9.15.0(jiti@1.21.6) - eslint-plugin-es-x: 7.8.0(eslint@9.15.0(jiti@1.21.6)) + eslint: 9.16.0(jiti@1.21.6) + eslint-plugin-es-x: 7.8.0(eslint@9.16.0(jiti@1.21.6)) get-tsconfig: 4.8.1 globals: 15.12.0 ignore: 5.3.2 @@ -8586,45 +8592,45 @@ snapshots: eslint-plugin-no-only-tests@3.3.0: {} - eslint-plugin-perfectionist@4.1.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2): + eslint-plugin-perfectionist@4.1.2(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2): dependencies: '@typescript-eslint/types': 8.16.0 - '@typescript-eslint/utils': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2) - eslint: 9.15.0(jiti@1.21.6) + '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) + eslint: 9.16.0(jiti@1.21.6) natural-orderby: 5.0.0 transitivePeerDependencies: - supports-color - typescript - eslint-plugin-regexp@2.7.0(eslint@9.15.0(jiti@1.21.6)): + eslint-plugin-regexp@2.7.0(eslint@9.16.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) '@eslint-community/regexpp': 4.12.1 comment-parser: 1.4.1 - eslint: 9.15.0(jiti@1.21.6) + eslint: 9.16.0(jiti@1.21.6) jsdoc-type-pratt-parser: 4.1.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-plugin-toml@0.11.1(eslint@9.15.0(jiti@1.21.6)): + eslint-plugin-toml@0.11.1(eslint@9.16.0(jiti@1.21.6)): dependencies: debug: 4.3.7 - eslint: 9.15.0(jiti@1.21.6) - eslint-compat-utils: 0.5.1(eslint@9.15.0(jiti@1.21.6)) + eslint: 9.16.0(jiti@1.21.6) + eslint-compat-utils: 0.5.1(eslint@9.16.0(jiti@1.21.6)) lodash: 4.17.21 toml-eslint-parser: 0.10.0 transitivePeerDependencies: - supports-color - eslint-plugin-unicorn@56.0.1(eslint@9.15.0(jiti@1.21.6)): + eslint-plugin-unicorn@56.0.1(eslint@9.16.0(jiti@1.21.6)): dependencies: '@babel/helper-validator-identifier': 7.25.9 - '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) ci-info: 4.0.0 clean-regexp: 1.0.0 core-js-compat: 3.39.0 - eslint: 9.15.0(jiti@1.21.6) + eslint: 9.16.0(jiti@1.21.6) esquery: 1.6.0 globals: 15.12.0 indent-string: 4.0.0 @@ -8637,41 +8643,41 @@ snapshots: semver: 7.6.3 strip-indent: 3.0.0 - eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.15.0(jiti@1.21.6)): + eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.16.0(jiti@1.21.6)): dependencies: - eslint: 9.15.0(jiti@1.21.6) + eslint: 9.16.0(jiti@1.21.6) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2) + '@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) - eslint-plugin-vue@9.31.0(eslint@9.15.0(jiti@1.21.6)): + eslint-plugin-vue@9.31.0(eslint@9.16.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@1.21.6)) - eslint: 9.15.0(jiti@1.21.6) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) + eslint: 9.16.0(jiti@1.21.6) globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.0.15 semver: 7.6.3 - vue-eslint-parser: 9.4.3(eslint@9.15.0(jiti@1.21.6)) + vue-eslint-parser: 9.4.3(eslint@9.16.0(jiti@1.21.6)) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color - eslint-plugin-yml@1.15.0(eslint@9.15.0(jiti@1.21.6)): + eslint-plugin-yml@1.15.0(eslint@9.16.0(jiti@1.21.6)): dependencies: debug: 4.3.7 - eslint: 9.15.0(jiti@1.21.6) - eslint-compat-utils: 0.5.1(eslint@9.15.0(jiti@1.21.6)) + eslint: 9.16.0(jiti@1.21.6) + eslint-compat-utils: 0.5.1(eslint@9.16.0(jiti@1.21.6)) lodash: 4.17.21 natural-compare: 1.4.0 yaml-eslint-parser: 1.2.3 transitivePeerDependencies: - supports-color - eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.5.13)(eslint@9.15.0(jiti@1.21.6)): + eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.5.13)(eslint@9.16.0(jiti@1.21.6)): dependencies: '@vue/compiler-sfc': 3.5.13 - eslint: 9.15.0(jiti@1.21.6) + eslint: 9.16.0(jiti@1.21.6) eslint-scope@5.1.1: dependencies: @@ -8692,14 +8698,14 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@9.15.0(jiti@1.21.6): + eslint@9.16.0(jiti@1.21.6): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.19.0 '@eslint/core': 0.9.0 '@eslint/eslintrc': 3.2.0 - '@eslint/js': 9.15.0 + '@eslint/js': 9.16.0 '@eslint/plugin-kit': 0.2.3 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 @@ -9307,7 +9313,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 22.10.0 + '@types/node': 22.10.1 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -9505,6 +9511,11 @@ snapshots: dependencies: semver: 6.3.1 + markdown-it-async@0.1.3: + dependencies: + '@types/markdown-it': 14.1.2 + markdown-it: 14.1.0 + markdown-it-prism@2.3.0: dependencies: prismjs: 1.29.0 @@ -11172,13 +11183,13 @@ snapshots: vary@1.1.2: {} - vite-node@2.1.6(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1): + vite-node@2.1.6(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1): dependencies: cac: 6.7.14 debug: 4.3.7 es-module-lexer: 1.5.4 pathe: 1.1.2 - vite: 6.0.1(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.1(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - '@types/node' - jiti @@ -11193,7 +11204,7 @@ snapshots: - tsx - yaml - vite-plugin-inspect@0.8.8(rollup@4.27.4)(vite@6.0.1(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1)): + vite-plugin-inspect@0.10.2(rollup@4.27.4)(vite@6.0.1(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1)): dependencies: '@antfu/utils': 0.7.10 '@rollup/pluginutils': 5.1.3(rollup@4.27.4) @@ -11204,12 +11215,12 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.1.1 sirv: 3.0.0 - vite: 6.0.1(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.1(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - rollup - supports-color - vite-plugin-pages@0.32.4(@vue/compiler-sfc@3.5.13)(vite@6.0.1(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.2))): + vite-plugin-pages@0.32.4(@vue/compiler-sfc@3.5.13)(vite@6.0.1(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.2))): dependencies: '@types/debug': 4.1.12 debug: 4.3.7 @@ -11219,7 +11230,7 @@ snapshots: json5: 2.2.3 local-pkg: 0.5.1 picocolors: 1.1.1 - vite: 6.0.1(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.1(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1) yaml: 2.6.1 optionalDependencies: '@vue/compiler-sfc': 3.5.13 @@ -11227,23 +11238,23 @@ snapshots: transitivePeerDependencies: - supports-color - vite@6.0.1(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1): + vite@6.0.1(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1): dependencies: esbuild: 0.24.0 postcss: 8.4.49 rollup: 4.27.4 optionalDependencies: - '@types/node': 22.10.0 + '@types/node': 22.10.1 fsevents: 2.3.3 jiti: 1.21.6 terser: 5.27.0 tsx: 4.19.2 yaml: 2.6.1 - vitest@2.1.6(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1): + vitest@2.1.6(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1): dependencies: '@vitest/expect': 2.1.6 - '@vitest/mocker': 2.1.6(vite@6.0.1(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1)) + '@vitest/mocker': 2.1.6(vite@6.0.1(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1)) '@vitest/pretty-format': 2.1.6 '@vitest/runner': 2.1.6 '@vitest/snapshot': 2.1.6 @@ -11259,11 +11270,11 @@ snapshots: tinyexec: 0.3.1 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 6.0.1(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1) - vite-node: 2.1.6(@types/node@22.10.0)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.1(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1) + vite-node: 2.1.6(@types/node@22.10.1)(jiti@1.21.6)(terser@5.27.0)(tsx@4.19.2)(yaml@2.6.1) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.10.0 + '@types/node': 22.10.1 transitivePeerDependencies: - jiti - less @@ -11280,10 +11291,10 @@ snapshots: vue-component-type-helpers@2.0.13: {} - vue-eslint-parser@9.4.3(eslint@9.15.0(jiti@1.21.6)): + vue-eslint-parser@9.4.3(eslint@9.16.0(jiti@1.21.6)): dependencies: debug: 4.3.7 - eslint: 9.15.0(jiti@1.21.6) + eslint: 9.16.0(jiti@1.21.6) eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 diff --git a/src/core/markdown.ts b/src/core/markdown.ts index 3095d5f..b5911b2 100644 --- a/src/core/markdown.ts +++ b/src/core/markdown.ts @@ -3,7 +3,7 @@ import type { MarkdownEnv, ResolvedOptions } from '../types' import { toArray, uniq } from '@antfu/utils' import { componentPlugin } from '@mdit-vue/plugin-component' import { frontmatterPlugin } from '@mdit-vue/plugin-frontmatter' -import MarkdownIt from 'markdown-it' +import MarkdownIt from 'markdown-it-async' import { preprocessHead } from './head' const scriptSetupRE = /<\s*script([^>]*)\bsetup\b([^>]*)>([\s\S]*)<\/script>/g @@ -61,10 +61,10 @@ function extractCustomBlock(html: string, options: ResolvedOptions) { return { html, blocks } } -export async function createMarkdown(options: ResolvedOptions) { +export function createMarkdown(options: ResolvedOptions) { const isVue2 = options.vueVersion.startsWith('2.') - const markdown = new MarkdownIt({ + const markdown = MarkdownIt({ html: true, linkify: true, typographer: true, @@ -91,9 +91,13 @@ export async function createMarkdown(options: ResolvedOptions) { markdown.use(plugin, options) }) - await options.markdownItSetup(markdown) + const setupPromise = (async () => { + await options.markdownItSetup(markdown) + })() + + return async (id: string, raw: string): Promise => { + await setupPromise - return (id: string, raw: string): TransformResult => { const { wrapperClasses, wrapperComponent, @@ -106,7 +110,7 @@ export async function createMarkdown(options: ResolvedOptions) { raw = transforms.before?.(raw, id) ?? raw const env: MarkdownEnv = { id } - let html = markdown.render(raw, env) + let html = await markdown.renderAsync(raw, env) const { excerpt = '', frontmatter: data = null } = env const wrapperClassesResolved = toArray( diff --git a/src/index.ts b/src/index.ts index dc7f323..ec2529d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -24,7 +24,7 @@ export const unpluginFactory: UnpluginFactory = (userOptions = {}) => { }, async transform(raw, id) { try { - return (await markdownToVue)(id, raw) + return await markdownToVue(id, raw) } catch (e: any) { this.error(e) @@ -37,7 +37,7 @@ export const unpluginFactory: UnpluginFactory = (userOptions = {}) => { const defaultRead = ctx.read ctx.read = async function () { - return (await markdownToVue)(ctx.file, await defaultRead()).code + return (await markdownToVue(ctx.file, await defaultRead())).code } }, }, diff --git a/src/types.ts b/src/types.ts index 730ab5d..32c003c 100644 --- a/src/types.ts +++ b/src/types.ts @@ -2,7 +2,12 @@ import type { ComponentPluginOptions } from '@mdit-vue/plugin-component' import type { FrontmatterPluginOptions } from '@mdit-vue/plugin-frontmatter' import type { MarkdownItEnv } from '@mdit-vue/types' import type { FilterPattern } from '@rollup/pluginutils' -import type MarkdownIt from 'markdown-it' +import type { + MarkdownItAsync, + MarkdownItAsyncOptions, + PluginSimple as MarkdownItPluginSimple, + PluginWithOptions as MarkdownItPluginWithOptions, +} from 'markdown-it-async' import type { preprocessHead } from './core/head' /** a `` property in HTML is defined with the following name/values */ @@ -147,14 +152,14 @@ export interface Options { /** * Options passed to Markdown It */ - markdownItOptions?: MarkdownIt.Options + markdownItOptions?: MarkdownItAsyncOptions /** * Plugins for Markdown It */ markdownItUses?: ( - | MarkdownIt.PluginSimple - | [MarkdownIt.PluginSimple | MarkdownIt.PluginWithOptions, any] + | MarkdownItPluginSimple + | [MarkdownItPluginSimple | MarkdownItPluginWithOptions, any] | any )[] @@ -162,7 +167,7 @@ export interface Options { * A function providing the Markdown It instance gets the ability to apply custom * settings/plugins */ - markdownItSetup?: (MarkdownIt: MarkdownIt) => void | Promise + markdownItSetup?: (MarkdownIt: MarkdownItAsync) => void | Promise /** * Class names for wrapper div diff --git a/test/excerpt.test.ts b/test/excerpt.test.ts index c2dfe80..9037f2d 100644 --- a/test/excerpt.test.ts +++ b/test/excerpt.test.ts @@ -13,7 +13,7 @@ describe('excerpt', () => { }, }, }) - const markdownToVue = await createMarkdown(options) + const markdownToVue = createMarkdown(options) const md = `--- title: Hey --- @@ -27,7 +27,7 @@ This is an excerpt which has been rendered to **HTML**. - A - B - C` - expect(markdownToVue('', md).code).toMatchSnapshot() + expect((await markdownToVue('', md)).code).toMatchSnapshot() }) it('raw excerpt', async () => { @@ -41,7 +41,7 @@ This is an excerpt which has been rendered to **HTML**. }, }, }) - const markdownToVue = await createMarkdown(options) + const markdownToVue = createMarkdown(options) const md = `--- title: Hey --- @@ -55,6 +55,6 @@ This is an excerpt which is kept as **raw Markdown**. - A - B - C` - expect(markdownToVue('', md).code).toMatchSnapshot() + expect((await markdownToVue('', md)).code).toMatchSnapshot() }) }) diff --git a/test/frontmatterPreprocessor.test.ts b/test/frontmatterPreprocessor.test.ts index fefa8d7..7632c0a 100644 --- a/test/frontmatterPreprocessor.test.ts +++ b/test/frontmatterPreprocessor.test.ts @@ -27,8 +27,9 @@ const frontmatterPreprocess: ResolvedOptions['frontmatterPreprocess'] = (fm) => describe('provide bespoke frontmatter processor', () => { it('inline markdown is used over default properties', async () => { - const parser = await createMarkdown(resolveOptions({ frontmatterPreprocess })) - const md = parser('', await readFile('test/fixtures/simple.md', 'utf-8')).code + const markdownToVue = createMarkdown(resolveOptions({ frontmatterPreprocess })) + const md = (await markdownToVue('', await readFile('test/fixtures/simple.md', 'utf-8'))).code + // Positive tests expect( md.includes('Hello World'), diff --git a/test/transform.test.ts b/test/transform.test.ts index 9ec3d87..d1747d1 100644 --- a/test/transform.test.ts +++ b/test/transform.test.ts @@ -4,9 +4,9 @@ import { resolveOptions } from '../src/core/options' describe('transform', async () => { const options = resolveOptions({}) - const markdownToVue = await createMarkdown(options) + const markdownToVue = createMarkdown(options) - it('basic', () => { + it('basic', async () => { const md = `--- title: Hey --- @@ -17,19 +17,19 @@ title: Hey - B - C ` - expect(markdownToVue('', md).code).toMatchSnapshot() + expect((await markdownToVue('', md)).code).toMatchSnapshot() }) - it('style', () => { + it('style', async () => { const md = ` # Hello ` - expect(markdownToVue('', md).code).toMatchSnapshot() + expect((await markdownToVue('', md)).code).toMatchSnapshot() }) - it('script setup', () => { + it('script setup', async () => { const md = ` # Hello @@ -37,19 +37,19 @@ title: Hey import Foo from './Foo.vue' ` - expect(markdownToVue('', md).code).toMatchSnapshot() + expect((await markdownToVue('', md)).code).toMatchSnapshot() }) - it('exposes frontmatter', () => { + it('exposes frontmatter', async () => { const md = `--- title: Hey --- # Hello` - expect(markdownToVue('', md).code).toMatchSnapshot() + expect((await markdownToVue('', md)).code).toMatchSnapshot() }) - it('couldn\'t expose frontmatter', () => { + it('couldn\'t expose frontmatter', async () => { const md = `--- title: Hey --- @@ -58,10 +58,10 @@ title: Hey defineExpose({ test: 'test'}) ` - expect(markdownToVue('', md).code).toMatchSnapshot() + expect((await markdownToVue('', md)).code).toMatchSnapshot() }) - it('escapeCodeTagInterpolation', () => { + it('escapeCodeTagInterpolation', async () => { const md = `
{{hello}}
@@ -69,10 +69,10 @@ defineExpose({ test: 'test'})
{{hello}}
\`\`\` ` - expect(markdownToVue('', md).code).toMatchSnapshot() + expect((await markdownToVue('', md)).code).toMatchSnapshot() }) - it('frontmatter interpolation', () => { + it('frontmatter interpolation', async () => { const md = ` --- name: 'My Cool App' @@ -82,10 +82,10 @@ name: 'My Cool App' This is {{frontmatter.name}} ` - expect(markdownToVue('', md).code).toMatchSnapshot() + expect((await markdownToVue('', md)).code).toMatchSnapshot() }) - it('vue directives', () => { + it('vue directives', async () => { const md = ` --- name: 'My Cool App' @@ -99,10 +99,10 @@ function onClick() { ` - expect(markdownToVue('', md).code).toMatchSnapshot() + expect((await markdownToVue('', md)).code).toMatchSnapshot() }) - it('export keyword frontmatters', () => { + it('export keyword frontmatters', async () => { const md = ` --- class: 'text' @@ -111,10 +111,10 @@ default: 'foo' Hello ` - expect(markdownToVue('', md).code).toMatchSnapshot() + expect((await markdownToVue('', md)).code).toMatchSnapshot() }) - it('code escape', () => { + it('code escape', async () => { const md = ` Hello \`{{ world }}\` @@ -122,6 +122,6 @@ Hello \`{{ world }}\` console.log(\`{{ world }}\`) \`\`\` ` - expect(markdownToVue('', md).code).toMatchSnapshot() + expect((await markdownToVue('', md)).code).toMatchSnapshot() }) })