diff --git a/package-lock.json b/package-lock.json index eeff9b8..7ae4640 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,24 +10,40 @@ "license": "GPL-3.0-or-later", "dependencies": { "front-matter": "^4.0.2", - "markdown-it": "^13.0.2", - "markdown-it-footnote": "^3.0.3" + "markdown-it": "^14.0.0", + "markdown-it-footnote": "^4.0.0" }, "devDependencies": { - "@types/markdown-it": "^13.0.2", - "@types/markdown-it-footnote": "^3.0.1", - "@types/node": "^20.8.6", - "prettier": "^3.0.3", - "prettier-plugin-organize-imports": "^3.2.3", - "typescript": "^5.2.2", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@types/markdown-it": "^13.0.7", + "@types/markdown-it-footnote": "^3.0.3", + "@types/node": "^20.10.7", + "prettier": "^3.1.1", + "prettier-plugin-organize-imports": "^3.2.4", + "typescript": "^5.3.3", + "vite": "^5.0.11", + "vitest": "^1.1.3" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", + "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" } }, "node_modules/@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz", + "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", "cpu": [ "arm" ], @@ -41,9 +57,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", + "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", "cpu": [ "arm64" ], @@ -57,9 +73,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz", + "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", "cpu": [ "x64" ], @@ -73,9 +89,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", + "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", "cpu": [ "arm64" ], @@ -89,9 +105,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", + "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", "cpu": [ "x64" ], @@ -105,9 +121,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", + "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", "cpu": [ "arm64" ], @@ -121,9 +137,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", + "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", "cpu": [ "x64" ], @@ -137,9 +153,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", + "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", "cpu": [ "arm" ], @@ -153,9 +169,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", + "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", "cpu": [ "arm64" ], @@ -169,9 +185,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", + "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", "cpu": [ "ia32" ], @@ -185,9 +201,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", + "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", "cpu": [ "loong64" ], @@ -201,9 +217,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", + "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", "cpu": [ "mips64el" ], @@ -217,9 +233,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", + "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", "cpu": [ "ppc64" ], @@ -233,9 +249,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", + "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", "cpu": [ "riscv64" ], @@ -249,9 +265,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", + "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", "cpu": [ "s390x" ], @@ -265,9 +281,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", + "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", "cpu": [ "x64" ], @@ -281,9 +297,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", + "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", "cpu": [ "x64" ], @@ -297,9 +313,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", + "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", "cpu": [ "x64" ], @@ -313,9 +329,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", + "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", "cpu": [ "x64" ], @@ -329,9 +345,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", + "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", "cpu": [ "arm64" ], @@ -345,9 +361,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", + "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", "cpu": [ "ia32" ], @@ -361,9 +377,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", + "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", "cpu": [ "x64" ], @@ -394,37 +410,197 @@ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.4.tgz", + "integrity": "sha512-ub/SN3yWqIv5CWiAZPHVS1DloyZsJbtXmX4HxUTIpS0BHm9pW5iYBo2mIZi+hE3AeiTzHz33blwSnhdUo+9NpA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.4.tgz", + "integrity": "sha512-ehcBrOR5XTl0W0t2WxfTyHCR/3Cq2jfb+I4W+Ch8Y9b5G+vbAecVv0Fx/J1QKktOrgUYsIKxWAKgIpvw56IFNA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.4.tgz", + "integrity": "sha512-1fzh1lWExwSTWy8vJPnNbNM02WZDS8AW3McEOb7wW+nPChLKf3WG2aG7fhaUmfX5FKw9zhsF5+MBwArGyNM7NA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.4.tgz", + "integrity": "sha512-Gc6cukkF38RcYQ6uPdiXi70JB0f29CwcQ7+r4QpfNpQFVHXRd0DfWFidoGxjSx1DwOETM97JPz1RXL5ISSB0pA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.4.tgz", + "integrity": "sha512-g21RTeFzoTl8GxosHbnQZ0/JkuFIB13C3T7Y0HtKzOXmoHhewLbVTFBQZu+z5m9STH6FZ7L/oPgU4Nm5ErN2fw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.4.tgz", + "integrity": "sha512-TVYVWD/SYwWzGGnbfTkrNpdE4HON46orgMNHCivlXmlsSGQOx/OHHYiQcMIOx38/GWgwr/po2LBn7wypkWw/Mg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.4.tgz", + "integrity": "sha512-XcKvuendwizYYhFxpvQ3xVpzje2HHImzg33wL9zvxtj77HvPStbSGI9czrdbfrf8DGMcNNReH9pVZv8qejAQ5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.4.tgz", + "integrity": "sha512-LFHS/8Q+I9YA0yVETyjonMJ3UA+DczeBd/MqNEzsGSTdNvSJa1OJZcSH8GiXLvcizgp9AlHs2walqRcqzjOi3A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.4.tgz", + "integrity": "sha512-dIYgo+j1+yfy81i0YVU5KnQrIJZE8ERomx17ReU4GREjGtDW4X+nvkBak2xAUpyqLs4eleDSj3RrV72fQos7zw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.4.tgz", + "integrity": "sha512-RoaYxjdHQ5TPjaPrLsfKqR3pakMr3JGqZ+jZM0zP2IkDtsGa4CqYaWSfQmZVgFUCgLrTnzX+cnHS3nfl+kB6ZQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.4.tgz", + "integrity": "sha512-T8Q3XHV+Jjf5e49B4EAaLKV74BbX7/qYBRQ8Wop/+TyyU0k+vSjiLVSHNWdVd1goMjZcbhDmYZUYW5RFqkBNHQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.4.tgz", + "integrity": "sha512-z+JQ7JirDUHAsMecVydnBPWLwJjbppU+7LZjffGf+Jvrxq+dVjIE7By163Sc9DKc3ADSU50qPVw0KonBS+a+HQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.4.tgz", + "integrity": "sha512-LfdGXCV9rdEify1oxlN9eamvDSjv9md9ZVMAbNHA87xqIfFCxImxan9qZ8+Un54iK2nnqPlbnSi4R54ONtbWBw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, - "node_modules/@types/chai": { - "version": "4.3.8", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.8.tgz", - "integrity": "sha512-yW/qTM4mRBBcsA9Xw9FbcImYtFPY7sgr+G/O5RDYVmxiy9a+pE5FyoFUi8JYCZY5nicj8atrr1pcfPiYpeNGOA==", + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, - "node_modules/@types/chai-subset": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.3.tgz", - "integrity": "sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==", - "dev": true, - "dependencies": { - "@types/chai": "*" - } - }, "node_modules/@types/linkify-it": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.3.tgz", - "integrity": "sha512-pTjcqY9E4nOI55Wgpz7eiI8+LzdYnw3qxXCfHyBDdPbYvbyLgWLJGh8EdPvqawwMK1Uo1794AUkkR38Fr0g+2g==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz", + "integrity": "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==", "dev": true }, "node_modules/@types/markdown-it": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-13.0.2.tgz", - "integrity": "sha512-Tla7hH9oeXHOlJyBFdoqV61xWE9FZf/y2g+gFVwQ2vE1/eBzjUno5JCd3Hdb5oATve5OF6xNjZ/4VIZhVVx+hA==", + "version": "13.0.7", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-13.0.7.tgz", + "integrity": "sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==", "dev": true, "dependencies": { "@types/linkify-it": "*", @@ -432,37 +608,37 @@ } }, "node_modules/@types/markdown-it-footnote": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/markdown-it-footnote/-/markdown-it-footnote-3.0.1.tgz", - "integrity": "sha512-D7q4SDvFiKjAX/RPI8RZbRInCGPoYdWvC4yAhVO/I5wwAreyKRSXVykHQfwxYMOi/2IxJ9WJWwf2cFeOnZ+skw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/markdown-it-footnote/-/markdown-it-footnote-3.0.3.tgz", + "integrity": "sha512-sMLBj0VcWo/4vi1J7jx3DNdup2w+14RwDMdQtcFJPabeDwt945ghc8sFBgsUfnEjcBOuKaELY22JwGb7KGmsVw==", "dev": true, "dependencies": { "@types/markdown-it": "*" } }, "node_modules/@types/mdurl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.3.tgz", - "integrity": "sha512-T5k6kTXak79gwmIOaDF2UUQXFbnBE0zBUzF20pz7wDYu0RQMzWg+Ml/Pz50214NsFHBITkoi5VtdjFZnJ2ijjA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz", + "integrity": "sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==", "dev": true }, "node_modules/@types/node": { - "version": "20.8.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.6.tgz", - "integrity": "sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==", + "version": "20.10.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.7.tgz", + "integrity": "sha512-fRbIKb8C/Y2lXxB5eVMj4IU7xpdox0Lh8bUPEdtLysaylsml1hOOx1+STloRs/B9nf7C6kPRmmg/V7aQW7usNg==", "dev": true, "dependencies": { - "undici-types": "~5.25.1" + "undici-types": "~5.26.4" } }, "node_modules/@vitest/expect": { - "version": "0.34.6", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.34.6.tgz", - "integrity": "sha512-QUzKpUQRc1qC7qdGo7rMK3AkETI7w18gTCUrsNnyjjJKYiuUB9+TQK3QnR1unhCnWRC0AbKv2omLGQDF/mIjOw==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.1.3.tgz", + "integrity": "sha512-MnJqsKc1Ko04lksF9XoRJza0bGGwTtqfbyrsYv5on4rcEkdo+QgUdITenBQBUltKzdxW7K3rWh+nXRULwsdaVg==", "dev": true, "dependencies": { - "@vitest/spy": "0.34.6", - "@vitest/utils": "0.34.6", + "@vitest/spy": "1.1.3", + "@vitest/utils": "1.1.3", "chai": "^4.3.10" }, "funding": { @@ -470,13 +646,13 @@ } }, "node_modules/@vitest/runner": { - "version": "0.34.6", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.34.6.tgz", - "integrity": "sha512-1CUQgtJSLF47NnhN+F9X2ycxUP0kLHQ/JWvNHbeBfwW8CzEGgeskzNnHDyv1ieKTltuR6sdIHV+nmR6kPxQqzQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.1.3.tgz", + "integrity": "sha512-Va2XbWMnhSdDEh/OFxyUltgQuuDRxnarK1hW5QNN4URpQrqq6jtt8cfww/pQQ4i0LjoYxh/3bYWvDFlR9tU73g==", "dev": true, "dependencies": { - "@vitest/utils": "0.34.6", - "p-limit": "^4.0.0", + "@vitest/utils": "1.1.3", + "p-limit": "^5.0.0", "pathe": "^1.1.1" }, "funding": { @@ -484,49 +660,50 @@ } }, "node_modules/@vitest/snapshot": { - "version": "0.34.6", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.34.6.tgz", - "integrity": "sha512-B3OZqYn6k4VaN011D+ve+AA4whM4QkcwcrwaKwAbyyvS/NB1hCWjFIBQxAQQSQir9/RtyAAGuq+4RJmbn2dH4w==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.1.3.tgz", + "integrity": "sha512-U0r8pRXsLAdxSVAyGNcqOU2H3Z4Y2dAAGGelL50O0QRMdi1WWeYHdrH/QWpN1e8juWfVKsb8B+pyJwTC+4Gy9w==", "dev": true, "dependencies": { - "magic-string": "^0.30.1", + "magic-string": "^0.30.5", "pathe": "^1.1.1", - "pretty-format": "^29.5.0" + "pretty-format": "^29.7.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/spy": { - "version": "0.34.6", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.34.6.tgz", - "integrity": "sha512-xaCvneSaeBw/cz8ySmF7ZwGvL0lBjfvqc1LpQ/vcdHEvpLn3Ff1vAvjw+CoGn0802l++5L/pxb7whwcWAw+DUQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.1.3.tgz", + "integrity": "sha512-Ec0qWyGS5LhATFQtldvChPTAHv08yHIOZfiNcjwRQbFPHpkih0md9KAbs7TfeIfL7OFKoe7B/6ukBTqByubXkQ==", "dev": true, "dependencies": { - "tinyspy": "^2.1.1" + "tinyspy": "^2.2.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/utils": { - "version": "0.34.6", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.34.6.tgz", - "integrity": "sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.1.3.tgz", + "integrity": "sha512-Dyt3UMcdElTll2H75vhxfpZu03uFpXRCHxWnzcrFjZxT1kTbq8ALUYIeBgGolo1gldVdI0YSlQRacsqxTwNqwg==", "dev": true, "dependencies": { - "diff-sequences": "^29.4.3", - "loupe": "^2.3.6", - "pretty-format": "^29.5.0" + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -536,9 +713,9 @@ } }, "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.1.tgz", + "integrity": "sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==", "dev": true, "engines": { "node": ">=0.4.0" @@ -583,9 +760,9 @@ } }, "node_modules/chai": { - "version": "4.3.10", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", - "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.0.tgz", + "integrity": "sha512-x9cHNq1uvkCdU+5xTkNh5WtgD4e4yDFCsp9jVc7N7qVeKeftv3gO/ZrviX5d+3ZfxdYnZXZYujjRInu1RogU6A==", "dev": true, "dependencies": { "assertion-error": "^1.1.0", @@ -612,6 +789,20 @@ "node": "*" } }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -651,9 +842,9 @@ } }, "node_modules/entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "engines": { "node": ">=0.12" }, @@ -662,9 +853,9 @@ } }, "node_modules/esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", + "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", "dev": true, "hasInstallScript": true, "bin": { @@ -674,28 +865,29 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" + "@esbuild/aix-ppc64": "0.19.11", + "@esbuild/android-arm": "0.19.11", + "@esbuild/android-arm64": "0.19.11", + "@esbuild/android-x64": "0.19.11", + "@esbuild/darwin-arm64": "0.19.11", + "@esbuild/darwin-x64": "0.19.11", + "@esbuild/freebsd-arm64": "0.19.11", + "@esbuild/freebsd-x64": "0.19.11", + "@esbuild/linux-arm": "0.19.11", + "@esbuild/linux-arm64": "0.19.11", + "@esbuild/linux-ia32": "0.19.11", + "@esbuild/linux-loong64": "0.19.11", + "@esbuild/linux-mips64el": "0.19.11", + "@esbuild/linux-ppc64": "0.19.11", + "@esbuild/linux-riscv64": "0.19.11", + "@esbuild/linux-s390x": "0.19.11", + "@esbuild/linux-x64": "0.19.11", + "@esbuild/netbsd-x64": "0.19.11", + "@esbuild/openbsd-x64": "0.19.11", + "@esbuild/sunos-x64": "0.19.11", + "@esbuild/win32-arm64": "0.19.11", + "@esbuild/win32-ia32": "0.19.11", + "@esbuild/win32-x64": "0.19.11" } }, "node_modules/esprima": { @@ -710,6 +902,38 @@ "node": ">=4" } }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, "node_modules/front-matter": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz", @@ -741,6 +965,45 @@ "node": "*" } }, + "node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, "node_modules/js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", @@ -760,18 +1023,22 @@ "dev": true }, "node_modules/linkify-it": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz", - "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", "dependencies": { - "uc.micro": "^1.0.1" + "uc.micro": "^2.0.0" } }, "node_modules/local-pkg": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", - "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", "dev": true, + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, "engines": { "node": ">=14" }, @@ -801,24 +1068,25 @@ } }, "node_modules/markdown-it": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.2.tgz", - "integrity": "sha512-FtwnEuuK+2yVU7goGn/MJ0WBZMM9ZPgU9spqlFs7/A/pDIUNSOQZhUgOqYCficIuR2QaFnrt8LHqBWsbTAoI5w==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.0.0.tgz", + "integrity": "sha512-seFjF0FIcPt4P9U39Bq1JYblX0KZCjDLFFQPHpL5AzHpqPEKtosxmdq/LTVZnjfH7tjt9BxStm+wXcDBNuYmzw==", "dependencies": { "argparse": "^2.0.1", - "entities": "~3.0.1", - "linkify-it": "^4.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.0.0" }, "bin": { - "markdown-it": "bin/markdown-it.js" + "markdown-it": "bin/markdown-it.mjs" } }, "node_modules/markdown-it-footnote": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/markdown-it-footnote/-/markdown-it-footnote-3.0.3.tgz", - "integrity": "sha512-YZMSuCGVZAjzKMn+xqIco9d1cLGxbELHZ9do/TSYVzraooV8ypsppKNmUJ0fVH5ljkCInQAtFpm8Rb3eXSrt5w==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/markdown-it-footnote/-/markdown-it-footnote-4.0.0.tgz", + "integrity": "sha512-WYJ7urf+khJYl3DqofQpYfEYkZKbmXmwxQV8c8mO/hGIhgZ1wOe7R4HLFNwqx7TjILbnC98fuyeSsin19JdFcQ==" }, "node_modules/markdown-it/node_modules/argparse": { "version": "2.0.1", @@ -826,9 +1094,27 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "node_modules/mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/mlly": { "version": "1.4.2", @@ -849,9 +1135,9 @@ "dev": true }, "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true, "funding": [ { @@ -866,21 +1152,72 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/p-limit": { + "node_modules/npm-run-path": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", + "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-limit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", "dev": true, "dependencies": { "yocto-queue": "^1.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/pathe": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz", @@ -914,9 +1251,9 @@ } }, "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "version": "8.4.33", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", + "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", "dev": true, "funding": [ { @@ -933,7 +1270,7 @@ } ], "dependencies": { - "nanoid": "^3.3.6", + "nanoid": "^3.3.7", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -942,9 +1279,9 @@ } }, "node_modules/prettier": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", - "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", + "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" @@ -957,9 +1294,9 @@ } }, "node_modules/prettier-plugin-organize-imports": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-3.2.3.tgz", - "integrity": "sha512-KFvk8C/zGyvUaE3RvxN2MhCLwzV6OBbFSkwZ2OamCrs9ZY4i5L77jQ/w4UmUr+lqX8qbaqVq6bZZkApn+IgJSg==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-3.2.4.tgz", + "integrity": "sha512-6m8WBhIp0dfwu0SkgfOxJqh+HpdyfqSSLfKKRZSFbDuEQXDDndb8fTpRWkUrX/uBenkex3MgnVk0J3b3Y5byog==", "dev": true, "peerDependencies": { "@volar/vue-language-plugin-pug": "^1.0.4", @@ -990,6 +1327,14 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "engines": { + "node": ">=6" + } + }, "node_modules/react-is": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", @@ -997,27 +1342,76 @@ "dev": true }, "node_modules/rollup": { - "version": "3.29.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", - "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.4.tgz", + "integrity": "sha512-2ztU7pY/lrQyXSCnnoU4ICjT/tCG9cdH3/G25ERqE3Lst6vl2BCM5hL2Nw+sslAvAf+ccKsAq1SkKQALyqhR7g==", "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, "bin": { "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=14.18.0", + "node": ">=18.0.0", "npm": ">=8.0.0" }, "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.9.4", + "@rollup/rollup-android-arm64": "4.9.4", + "@rollup/rollup-darwin-arm64": "4.9.4", + "@rollup/rollup-darwin-x64": "4.9.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.9.4", + "@rollup/rollup-linux-arm64-gnu": "4.9.4", + "@rollup/rollup-linux-arm64-musl": "4.9.4", + "@rollup/rollup-linux-riscv64-gnu": "4.9.4", + "@rollup/rollup-linux-x64-gnu": "4.9.4", + "@rollup/rollup-linux-x64-musl": "4.9.4", + "@rollup/rollup-win32-arm64-msvc": "4.9.4", + "@rollup/rollup-win32-ia32-msvc": "4.9.4", + "@rollup/rollup-win32-x64-msvc": "4.9.4", "fsevents": "~2.3.2" } }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/siginfo": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", "dev": true }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", @@ -1039,11 +1433,23 @@ "dev": true }, "node_modules/std-env": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.4.3.tgz", - "integrity": "sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", "dev": true }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/strip-literal": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", @@ -1063,9 +1469,9 @@ "dev": true }, "node_modules/tinypool": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.7.0.tgz", - "integrity": "sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.1.tgz", + "integrity": "sha512-zBTCK0cCgRROxvs9c0CGK838sPkeokNGdQVUUwHAbynHFlmyJYj825f/oRs528HaIJ97lo0pLIlDUzwN+IorWg==", "dev": true, "engines": { "node": ">=14.0.0" @@ -1090,9 +1496,9 @@ } }, "node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -1103,46 +1509,46 @@ } }, "node_modules/uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.0.0.tgz", + "integrity": "sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig==" }, "node_modules/ufo": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.1.tgz", - "integrity": "sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz", + "integrity": "sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==", "dev": true }, "node_modules/undici-types": { - "version": "5.25.3", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", - "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==", + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "dev": true }, "node_modules/vite": { - "version": "4.4.11", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.11.tgz", - "integrity": "sha512-ksNZJlkcU9b0lBwAGZGGaZHCMqHsc8OpgtoYhsQ4/I2v5cnpmmmqe5pM4nv/4Hn6G/2GhTdj0DhZh2e+Er1q5A==", + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.11.tgz", + "integrity": "sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA==", "dev": true, "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" + "esbuild": "^0.19.3", + "postcss": "^8.4.32", + "rollup": "^4.2.0" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": "^18.0.0 || >=20.0.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" }, "optionalDependencies": { - "fsevents": "~2.3.2" + "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": ">= 14", + "@types/node": "^18.0.0 || >=20.0.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", @@ -1175,82 +1581,79 @@ } }, "node_modules/vite-node": { - "version": "0.34.6", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.34.6.tgz", - "integrity": "sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.1.3.tgz", + "integrity": "sha512-BLSO72YAkIUuNrOx+8uznYICJfTEbvBAmWClY3hpath5+h1mbPS5OMn42lrTxXuyCazVyZoDkSRnju78GiVCqA==", "dev": true, "dependencies": { "cac": "^6.7.14", "debug": "^4.3.4", - "mlly": "^1.4.0", "pathe": "^1.1.1", "picocolors": "^1.0.0", - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0-0" + "vite": "^5.0.0" }, "bin": { "vite-node": "vite-node.mjs" }, "engines": { - "node": ">=v14.18.0" + "node": "^18.0.0 || >=20.0.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/vitest": { - "version": "0.34.6", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.34.6.tgz", - "integrity": "sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.1.3.tgz", + "integrity": "sha512-2l8om1NOkiA90/Y207PsEvJLYygddsOyr81wLQ20Ra8IlLKbyQncWsGZjnbkyG2KwwuTXLQjEPOJuxGMG8qJBQ==", "dev": true, "dependencies": { - "@types/chai": "^4.3.5", - "@types/chai-subset": "^1.3.3", - "@types/node": "*", - "@vitest/expect": "0.34.6", - "@vitest/runner": "0.34.6", - "@vitest/snapshot": "0.34.6", - "@vitest/spy": "0.34.6", - "@vitest/utils": "0.34.6", - "acorn": "^8.9.0", - "acorn-walk": "^8.2.0", + "@vitest/expect": "1.1.3", + "@vitest/runner": "1.1.3", + "@vitest/snapshot": "1.1.3", + "@vitest/spy": "1.1.3", + "@vitest/utils": "1.1.3", + "acorn-walk": "^8.3.1", "cac": "^6.7.14", "chai": "^4.3.10", "debug": "^4.3.4", - "local-pkg": "^0.4.3", - "magic-string": "^0.30.1", + "execa": "^8.0.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", "pathe": "^1.1.1", "picocolors": "^1.0.0", - "std-env": "^3.3.3", - "strip-literal": "^1.0.1", - "tinybench": "^2.5.0", - "tinypool": "^0.7.0", - "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0", - "vite-node": "0.34.6", + "std-env": "^3.5.0", + "strip-literal": "^1.3.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.1", + "vite": "^5.0.0", + "vite-node": "1.1.3", "why-is-node-running": "^2.2.2" }, "bin": { "vitest": "vitest.mjs" }, "engines": { - "node": ">=v14.18.0" + "node": "^18.0.0 || >=20.0.0" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { "@edge-runtime/vm": "*", - "@vitest/browser": "*", - "@vitest/ui": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "^1.0.0", + "@vitest/ui": "^1.0.0", "happy-dom": "*", - "jsdom": "*", - "playwright": "*", - "safaridriver": "*", - "webdriverio": "*" + "jsdom": "*" }, "peerDependenciesMeta": { "@edge-runtime/vm": { "optional": true }, + "@types/node": { + "optional": true + }, "@vitest/browser": { "optional": true }, @@ -1262,18 +1665,24 @@ }, "jsdom": { "optional": true - }, - "playwright": { - "optional": true - }, - "safaridriver": { - "optional": true - }, - "webdriverio": { - "optional": true } } }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/why-is-node-running": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", diff --git a/package.json b/package.json index 7dc8907..0a3f757 100644 --- a/package.json +++ b/package.json @@ -1,33 +1,34 @@ { "name": "@xieyuheng/x-markdown", "version": "0.2.0", + "type": "module", "repository": "github:xieyuheng/x-markdown", "main": "lib/index.js", "files": [ - "lib" + "src", "lib" ], "scripts": { "build": "rm -r lib && tsc", "build:watch": "rm -r lib && tsc --watch", - "test:ts": "vitest --dir src --threads false --run", - "test:watch": "vitest --dir src --threads false", + "test:ts": "vitest --dir src --run", + "test:watch": "vitest --dir src", "test": "npm run test:ts", "format": "prettier src --write" }, "dependencies": { "front-matter": "^4.0.2", - "markdown-it": "^13.0.2", - "markdown-it-footnote": "^3.0.3" + "markdown-it": "^14.0.0", + "markdown-it-footnote": "^4.0.0" }, "devDependencies": { - "@types/markdown-it": "^13.0.2", - "@types/markdown-it-footnote": "^3.0.1", - "@types/node": "^20.8.6", - "prettier": "^3.0.3", - "prettier-plugin-organize-imports": "^3.2.3", - "typescript": "^5.2.2", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@types/markdown-it": "^13.0.7", + "@types/markdown-it-footnote": "^3.0.3", + "@types/node": "^20.10.7", + "prettier": "^3.1.1", + "prettier-plugin-organize-imports": "^3.2.4", + "typescript": "^5.3.3", + "vite": "^5.0.11", + "vitest": "^1.1.3" }, "license": "GPL-3.0-or-later" } diff --git a/src/document/Document.ts b/src/document/Document.ts index 0d35fef..a710cea 100644 --- a/src/document/Document.ts +++ b/src/document/Document.ts @@ -1,5 +1,5 @@ -import { Node } from "../node" -import { Footnote } from "../parse/Footnote" +import { type Node } from "../node/index.js" +import { type Footnote } from "../parse/Footnote.js" export type Document = { kind: "Document" diff --git a/src/document/documentChildren.ts b/src/document/documentChildren.ts index 3412ccd..10182c5 100644 --- a/src/document/documentChildren.ts +++ b/src/document/documentChildren.ts @@ -1,5 +1,5 @@ -import { Node } from "../node" -import { Document } from "./Document" +import { type Node } from "../node/index.js" +import { type Document } from "./Document.js" export function documentChildren(document: Document): Array { return [ diff --git a/src/document/index.ts b/src/document/index.ts index 6d5fd64..30784ac 100644 --- a/src/document/index.ts +++ b/src/document/index.ts @@ -1,2 +1,2 @@ -export * from "./Document" -export * from "./documentChildren" +export * from "./Document.js" +export * from "./documentChildren.js" diff --git a/src/format/formatNode.ts b/src/format/formatNode.ts index 3ee4d85..923a439 100644 --- a/src/format/formatNode.ts +++ b/src/format/formatNode.ts @@ -1,5 +1,5 @@ -import { Node } from "../node" -import { Alignment } from "../nodes" +import { type Node } from "../node/index.js" +import { type Alignment } from "../nodes/index.js" export function formatNode(node: Node): string { switch (node.kind) { diff --git a/src/format/index.ts b/src/format/index.ts index 25da802..3300c01 100644 --- a/src/format/index.ts +++ b/src/format/index.ts @@ -1 +1 @@ -export * from "./formatNode" +export * from "./formatNode.js" diff --git a/src/index.ts b/src/index.ts index 4d16f43..e0ed6f8 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,6 @@ -export * from "./document" -export * from "./format" -export * from "./node" -export * as Nodes from "./nodes" -export * from "./parse" -export * from "./traverse" +export * from "./document/index.js" +export * from "./format/index.js" +export * from "./node/index.js" +export * as Nodes from "./nodes/index.js" +export * from "./parse/index.js" +export * from "./traverse/index.js" diff --git a/src/node/Node.ts b/src/node/Node.ts index f0a3152..6b9025a 100644 --- a/src/node/Node.ts +++ b/src/node/Node.ts @@ -1,4 +1,4 @@ -import * as Nodes from "../nodes" +import * as Nodes from "../nodes/index.js" export type Node = // ContainerBlock diff --git a/src/node/index.ts b/src/node/index.ts index 2a34fba..103534c 100644 --- a/src/node/index.ts +++ b/src/node/index.ts @@ -1,2 +1,2 @@ -export * from "./Node" -export * from "./nodeChildren" +export * from "./Node.js" +export * from "./nodeChildren.js" diff --git a/src/node/nodeChildren.ts b/src/node/nodeChildren.ts index 90b1145..999c555 100644 --- a/src/node/nodeChildren.ts +++ b/src/node/nodeChildren.ts @@ -1,4 +1,4 @@ -import { Node } from "./Node" +import { type Node } from "./Node.js" export function nodeChildren(node: Node): Array { if (node.kind === "Table") { diff --git a/src/nodes/container-blocks/BlockQuote.ts b/src/nodes/container-blocks/BlockQuote.ts index 95158e9..a9050b0 100644 --- a/src/nodes/container-blocks/BlockQuote.ts +++ b/src/nodes/container-blocks/BlockQuote.ts @@ -1,4 +1,4 @@ -import { Node } from "../../node" +import { type Node } from "../../node/index.js" export type BlockQuote = { kind: "BlockQuote" diff --git a/src/nodes/container-blocks/Item.ts b/src/nodes/container-blocks/Item.ts index 43fef4a..27847dd 100644 --- a/src/nodes/container-blocks/Item.ts +++ b/src/nodes/container-blocks/Item.ts @@ -1,4 +1,4 @@ -import { Node } from "../../node" +import { type Node } from "../../node/index.js" export type Item = { kind: "Item" diff --git a/src/nodes/container-blocks/List.ts b/src/nodes/container-blocks/List.ts index dc912ae..55332d3 100644 --- a/src/nodes/container-blocks/List.ts +++ b/src/nodes/container-blocks/List.ts @@ -1,4 +1,4 @@ -import * as Nodes from "../../nodes" +import * as Nodes from "../../nodes/index.js" export type List = { kind: "List" diff --git a/src/nodes/container-blocks/OrderedItem.ts b/src/nodes/container-blocks/OrderedItem.ts index 7770ec1..18b61b3 100644 --- a/src/nodes/container-blocks/OrderedItem.ts +++ b/src/nodes/container-blocks/OrderedItem.ts @@ -1,4 +1,4 @@ -import { Node } from "../../node" +import { type Node } from "../../node/index.js" export type OrderedItem = { kind: "OrderedItem" diff --git a/src/nodes/container-blocks/OrderedList.ts b/src/nodes/container-blocks/OrderedList.ts index 8b08a32..4068ed6 100644 --- a/src/nodes/container-blocks/OrderedList.ts +++ b/src/nodes/container-blocks/OrderedList.ts @@ -1,4 +1,4 @@ -import * as Nodes from "../../nodes" +import * as Nodes from "../../nodes/index.js" export type OrderedList = { kind: "OrderedList" diff --git a/src/nodes/index.ts b/src/nodes/index.ts index 1f4b7ab..4463d8d 100644 --- a/src/nodes/index.ts +++ b/src/nodes/index.ts @@ -1,21 +1,21 @@ -export * from "./container-blocks/BlockQuote" -export * from "./container-blocks/Item" -export * from "./container-blocks/List" -export * from "./container-blocks/OrderedItem" -export * from "./container-blocks/OrderedList" -export * from "./inlines/Code" -export * from "./inlines/Emphasis" -export * from "./inlines/FootnoteRef" -export * from "./inlines/HardLineBreak" -export * from "./inlines/HtmlInline" -export * from "./inlines/Image" -export * from "./inlines/Link" -export * from "./inlines/SoftLineBreak" -export * from "./inlines/Strong" -export * from "./inlines/Text" -export * from "./leaf-blocks/CodeBlock" -export * from "./leaf-blocks/Headline" -export * from "./leaf-blocks/HtmlBlock" -export * from "./leaf-blocks/Paragraph" -export * from "./leaf-blocks/Table" -export * from "./leaf-blocks/ThematicBreak" +export * from "./container-blocks/BlockQuote.js" +export * from "./container-blocks/Item.js" +export * from "./container-blocks/List.js" +export * from "./container-blocks/OrderedItem.js" +export * from "./container-blocks/OrderedList.js" +export * from "./inlines/Code.js" +export * from "./inlines/Emphasis.js" +export * from "./inlines/FootnoteRef.js" +export * from "./inlines/HardLineBreak.js" +export * from "./inlines/HtmlInline.js" +export * from "./inlines/Image.js" +export * from "./inlines/Link.js" +export * from "./inlines/SoftLineBreak.js" +export * from "./inlines/Strong.js" +export * from "./inlines/Text.js" +export * from "./leaf-blocks/CodeBlock.js" +export * from "./leaf-blocks/Headline.js" +export * from "./leaf-blocks/HtmlBlock.js" +export * from "./leaf-blocks/Paragraph.js" +export * from "./leaf-blocks/Table.js" +export * from "./leaf-blocks/ThematicBreak.js" diff --git a/src/nodes/inlines/Emphasis.ts b/src/nodes/inlines/Emphasis.ts index 242650a..7fd4dbc 100644 --- a/src/nodes/inlines/Emphasis.ts +++ b/src/nodes/inlines/Emphasis.ts @@ -1,4 +1,4 @@ -import { Node } from "../../node" +import { type Node } from "../../node/index.js" export type Emphasis = { kind: "Emphasis" diff --git a/src/nodes/inlines/Image.ts b/src/nodes/inlines/Image.ts index 546053b..750387d 100644 --- a/src/nodes/inlines/Image.ts +++ b/src/nodes/inlines/Image.ts @@ -1,4 +1,4 @@ -import { Node } from "../../node" +import { type Node } from "../../node/index.js" export type Image = { kind: "Image" diff --git a/src/nodes/inlines/Link.ts b/src/nodes/inlines/Link.ts index 067c577..3695a66 100644 --- a/src/nodes/inlines/Link.ts +++ b/src/nodes/inlines/Link.ts @@ -1,4 +1,4 @@ -import { Node } from "../../node" +import { type Node } from "../../node/index.js" export type Link = { kind: "Link" diff --git a/src/nodes/inlines/Strong.ts b/src/nodes/inlines/Strong.ts index 9834d49..0349bf4 100644 --- a/src/nodes/inlines/Strong.ts +++ b/src/nodes/inlines/Strong.ts @@ -1,4 +1,4 @@ -import { Node } from "../../node" +import { type Node } from "../../node/index.js" export type Strong = { kind: "Strong" diff --git a/src/nodes/leaf-blocks/Headline.ts b/src/nodes/leaf-blocks/Headline.ts index b29db42..859e6f4 100644 --- a/src/nodes/leaf-blocks/Headline.ts +++ b/src/nodes/leaf-blocks/Headline.ts @@ -1,4 +1,4 @@ -import { Node } from "../../node" +import { type Node } from "../../node/index.js" export type Headline = { kind: "Headline" diff --git a/src/nodes/leaf-blocks/Paragraph.ts b/src/nodes/leaf-blocks/Paragraph.ts index 7556446..279df47 100644 --- a/src/nodes/leaf-blocks/Paragraph.ts +++ b/src/nodes/leaf-blocks/Paragraph.ts @@ -1,4 +1,4 @@ -import { Node } from "../../node" +import { type Node } from "../../node/index.js" export type Paragraph = { kind: "Paragraph" diff --git a/src/nodes/leaf-blocks/Table.ts b/src/nodes/leaf-blocks/Table.ts index 0520f55..adc4b4b 100644 --- a/src/nodes/leaf-blocks/Table.ts +++ b/src/nodes/leaf-blocks/Table.ts @@ -1,4 +1,4 @@ -import { Node } from "../../node" +import { type Node } from "../../node/index.js" export type Alignment = null | "left" | "right" | "center" diff --git a/src/parse/Context.ts b/src/parse/Context.ts index 73b78a5..b9f320e 100644 --- a/src/parse/Context.ts +++ b/src/parse/Context.ts @@ -1,5 +1,5 @@ -import { Data } from "./Data" -import { Footnote } from "./Footnote" +import { type Data } from "./Data.js" +import { type Footnote } from "./Footnote.js" export type Context = { stack: Array diff --git a/src/parse/Data.ts b/src/parse/Data.ts index 72b7ef9..52a8694 100644 --- a/src/parse/Data.ts +++ b/src/parse/Data.ts @@ -1,6 +1,6 @@ -import { Node } from "../node" -import { TableData } from "./TableData" -import { Token } from "./Token" +import { type Node } from "../node/index.js" +import { type TableData } from "./TableData.js" +import { type Token } from "./Token.js" export type Data = | { kind: "Node"; node: Node } diff --git a/src/parse/Footnote.ts b/src/parse/Footnote.ts index c75a36e..6937cf7 100644 --- a/src/parse/Footnote.ts +++ b/src/parse/Footnote.ts @@ -1,4 +1,4 @@ -import { Node } from "../node" +import { type Node } from "../node/index.js" export type Footnote = { id: number diff --git a/src/parse/TableData.ts b/src/parse/TableData.ts index 0d1c2ce..9a1e5f7 100644 --- a/src/parse/TableData.ts +++ b/src/parse/TableData.ts @@ -1,5 +1,5 @@ -import { Node } from "../node" -import { Alignment } from "../nodes" +import { type Node } from "../node/index.js" +import { type Alignment } from "../nodes/index.js" export type TableData = TableHead | TableBody | TableRow | TableCell diff --git a/src/parse/TokenHandler.ts b/src/parse/TokenHandler.ts index fef7c1d..238310f 100644 --- a/src/parse/TokenHandler.ts +++ b/src/parse/TokenHandler.ts @@ -1,4 +1,4 @@ -import { Context } from "./Context" -import { Token } from "./Token" +import { type Context } from "./Context.js" +import { type Token } from "./Token.js" export type TokenHandler = (ctx: Context, token: Token) => void diff --git a/src/parse/assertDataIsTableCell.ts b/src/parse/assertDataIsTableCell.ts index 2c737f8..7b178ec 100644 --- a/src/parse/assertDataIsTableCell.ts +++ b/src/parse/assertDataIsTableCell.ts @@ -1,5 +1,5 @@ -import { Data } from "./Data" -import { TableCell } from "./TableData" +import { type Data } from "./Data.js" +import { type TableCell } from "./TableData.js" export function assertDataIsTableCell(data: Data, who: string): TableCell { if (data.kind === "TableCell") { diff --git a/src/parse/assertDataIsTableRow.ts b/src/parse/assertDataIsTableRow.ts index 07039ad..9f56fec 100644 --- a/src/parse/assertDataIsTableRow.ts +++ b/src/parse/assertDataIsTableRow.ts @@ -1,5 +1,5 @@ -import { Data } from "./Data" -import { TableRow } from "./TableData" +import { type Data } from "./Data.js" +import { type TableRow } from "./TableData.js" export function assertDataIsTableRow(data: Data, who: string): TableRow { if (data.kind === "TableRow") { diff --git a/src/parse/assertNodeIsItem.ts b/src/parse/assertNodeIsItem.ts index 36c57ee..5061fc2 100644 --- a/src/parse/assertNodeIsItem.ts +++ b/src/parse/assertNodeIsItem.ts @@ -1,5 +1,5 @@ -import { Node } from "../node" -import * as Nodes from "../nodes" +import { type Node } from "../node/index.js" +import * as Nodes from "../nodes/index.js" export function assertNodeIsItem(node: Node, who: string): Nodes.Item { if (node.kind === "Item") { diff --git a/src/parse/assertNodeIsOrderedItem.ts b/src/parse/assertNodeIsOrderedItem.ts index 46cca2b..38d6482 100644 --- a/src/parse/assertNodeIsOrderedItem.ts +++ b/src/parse/assertNodeIsOrderedItem.ts @@ -1,5 +1,5 @@ -import { Node } from "../node" -import * as Nodes from "../nodes" +import { type Node } from "../node/index.js" +import * as Nodes from "../nodes/index.js" export function assertNodeIsOrderedItem( node: Node, diff --git a/src/parse/collectNodes.ts b/src/parse/collectNodes.ts index 4238193..63b980b 100644 --- a/src/parse/collectNodes.ts +++ b/src/parse/collectNodes.ts @@ -1,5 +1,5 @@ -import { Node } from "../node" -import { Data } from "./Data" +import { type Node } from "../node/index.js" +import { type Data } from "./Data.js" export function collectNodes(stack: Array): Array { const who = "collectNodes" diff --git a/src/parse/collectNodesUntil.ts b/src/parse/collectNodesUntil.ts index 5ee2ed1..7a1e954 100644 --- a/src/parse/collectNodesUntil.ts +++ b/src/parse/collectNodesUntil.ts @@ -1,7 +1,7 @@ -import { Node } from "../node" -import { Data } from "./Data" -import { normalizeText } from "./normalizeText" -import { Token } from "./Token" +import { type Node } from "../node/index.js" +import { type Data } from "./Data.js" +import { normalizeText } from "./normalizeText.js" +import { type Token } from "./Token.js" export function collectNodesUntil( stack: Array, diff --git a/src/parse/collectUntil.ts b/src/parse/collectUntil.ts index bc0aa2f..dcb989f 100644 --- a/src/parse/collectUntil.ts +++ b/src/parse/collectUntil.ts @@ -1,5 +1,5 @@ -import { Data } from "./Data" -import { Token } from "./Token" +import { type Data } from "./Data.js" +import { type Token } from "./Token.js" export function collectUntil( stack: Array, diff --git a/src/parse/executeTokens.ts b/src/parse/executeTokens.ts index d54c2d3..01e7c0f 100644 --- a/src/parse/executeTokens.ts +++ b/src/parse/executeTokens.ts @@ -1,6 +1,6 @@ -import { Context } from "./Context" -import { Token } from "./Token" -import { TokenHandler } from "./TokenHandler" +import { type Context } from "./Context.js" +import { type Token } from "./Token.js" +import { type TokenHandler } from "./TokenHandler.js" export function executeTokens( ctx: Context, diff --git a/src/parse/handlers/allHandlers.ts b/src/parse/handlers/allHandlers.ts index 13145d9..fec3d88 100644 --- a/src/parse/handlers/allHandlers.ts +++ b/src/parse/handlers/allHandlers.ts @@ -1,9 +1,9 @@ -import { TokenHandler } from "../TokenHandler" -import { executeTokens } from "../executeTokens" -import { containerBlockHandlers } from "./containerBlockHandlers" -import { footnoteHandlers } from "./footnoteHandlers" -import { inlineHandlers } from "./inlineHandlers" -import { leafBlockHandlers } from "./leafBlockHandlers" +import { type TokenHandler } from "../TokenHandler.js" +import { executeTokens } from "../executeTokens.js" +import { containerBlockHandlers } from "./containerBlockHandlers.js" +import { footnoteHandlers } from "./footnoteHandlers.js" +import { inlineHandlers } from "./inlineHandlers.js" +import { leafBlockHandlers } from "./leafBlockHandlers.js" export const allHandlers: Record = { inline(ctx, token) { diff --git a/src/parse/handlers/containerBlockHandlers.ts b/src/parse/handlers/containerBlockHandlers.ts index 104831b..1cb4034 100644 --- a/src/parse/handlers/containerBlockHandlers.ts +++ b/src/parse/handlers/containerBlockHandlers.ts @@ -1,7 +1,7 @@ -import { TokenHandler } from "../TokenHandler" -import { assertNodeIsItem } from "../assertNodeIsItem" -import { assertNodeIsOrderedItem } from "../assertNodeIsOrderedItem" -import { collectNodesUntil } from "../collectNodesUntil" +import { type TokenHandler } from "../TokenHandler.js" +import { assertNodeIsItem } from "../assertNodeIsItem.js" +import { assertNodeIsOrderedItem } from "../assertNodeIsOrderedItem.js" +import { collectNodesUntil } from "../collectNodesUntil.js" export const containerBlockHandlers: Record = { blockquote_open(ctx, token) { diff --git a/src/parse/handlers/footnoteHandlers.ts b/src/parse/handlers/footnoteHandlers.ts index a5fab35..30dba09 100644 --- a/src/parse/handlers/footnoteHandlers.ts +++ b/src/parse/handlers/footnoteHandlers.ts @@ -1,6 +1,6 @@ -import { collectNodesUntil } from "../collectNodesUntil" -import { collectUntil } from "../collectUntil" -import { TokenHandler } from "../TokenHandler" +import { collectNodesUntil } from "../collectNodesUntil.js" +import { collectUntil } from "../collectUntil.js" +import { type TokenHandler } from "../TokenHandler.js" export const footnoteHandlers: Record = { footnote_anchor(ctx, token) { diff --git a/src/parse/handlers/inlineHandlers.ts b/src/parse/handlers/inlineHandlers.ts index 50a4960..cc25321 100644 --- a/src/parse/handlers/inlineHandlers.ts +++ b/src/parse/handlers/inlineHandlers.ts @@ -1,8 +1,8 @@ -import { createEmptyContext } from "../Context" -import { TokenHandler } from "../TokenHandler" -import { collectNodes } from "../collectNodes" -import { collectNodesUntil } from "../collectNodesUntil" -import { executeTokens } from "../executeTokens" +import { createEmptyContext } from "../Context.js" +import { type TokenHandler } from "../TokenHandler.js" +import { collectNodes } from "../collectNodes.js" +import { collectNodesUntil } from "../collectNodesUntil.js" +import { executeTokens } from "../executeTokens.js" export const inlineHandlers: Record = { text(ctx, token) { diff --git a/src/parse/handlers/leafBlockHandlers.ts b/src/parse/handlers/leafBlockHandlers.ts index 616f66d..db34585 100644 --- a/src/parse/handlers/leafBlockHandlers.ts +++ b/src/parse/handlers/leafBlockHandlers.ts @@ -1,7 +1,7 @@ -import { TokenHandler } from "../TokenHandler" -import { collectNodesUntil } from "../collectNodesUntil" -import { headlineLevelRecord } from "../headlineLevelRecord" -import { tableHandlers } from "./tableHandlers" +import { type TokenHandler } from "../TokenHandler.js" +import { collectNodesUntil } from "../collectNodesUntil.js" +import { headlineLevelRecord } from "../headlineLevelRecord.js" +import { tableHandlers } from "./tableHandlers.js" export const leafBlockHandlers: Record = { ...tableHandlers, diff --git a/src/parse/handlers/tableHandlers.ts b/src/parse/handlers/tableHandlers.ts index e7a44b4..88026ae 100644 --- a/src/parse/handlers/tableHandlers.ts +++ b/src/parse/handlers/tableHandlers.ts @@ -1,8 +1,8 @@ -import { assertDataIsTableCell } from "../assertDataIsTableCell" -import { assertDataIsTableRow } from "../assertDataIsTableRow" -import { collectNodesUntil } from "../collectNodesUntil" -import { collectUntil } from "../collectUntil" -import { TokenHandler } from "../TokenHandler" +import { assertDataIsTableCell } from "../assertDataIsTableCell.js" +import { assertDataIsTableRow } from "../assertDataIsTableRow.js" +import { collectNodesUntil } from "../collectNodesUntil.js" +import { collectUntil } from "../collectUntil.js" +import { type TokenHandler } from "../TokenHandler.js" export const tableHandlers: Record = { table_open(ctx, token) { diff --git a/src/parse/index.ts b/src/parse/index.ts index 5bf2e07..94b32ea 100644 --- a/src/parse/index.ts +++ b/src/parse/index.ts @@ -1 +1 @@ -export * from "./parseDocument" +export * from "./parseDocument.js" diff --git a/src/parse/normalizeText.ts b/src/parse/normalizeText.ts index 05da71d..78ef791 100644 --- a/src/parse/normalizeText.ts +++ b/src/parse/normalizeText.ts @@ -1,4 +1,4 @@ -import { Node } from "../node" +import { type Node } from "../node/index.js" export function normalizeText(nodes: Array): Array { // Sometimes, there are extra empty Text. diff --git a/src/parse/parseDocument.ts b/src/parse/parseDocument.ts index d86b388..13856e7 100644 --- a/src/parse/parseDocument.ts +++ b/src/parse/parseDocument.ts @@ -1,12 +1,12 @@ import frontMatter from "front-matter" import MarkdownIt from "markdown-it" import FootnotePlugin from "markdown-it-footnote" -import { Document } from "../document" -import { createEmptyContext } from "./Context" -import { Token } from "./Token" -import { collectNodes } from "./collectNodes" -import { executeTokens } from "./executeTokens" -import { allHandlers } from "./handlers/allHandlers" +import { type Document } from "../document/index.js" +import { createEmptyContext } from "./Context.js" +import { type Token } from "./Token.js" +import { collectNodes } from "./collectNodes.js" +import { executeTokens } from "./executeTokens.js" +import { allHandlers } from "./handlers/allHandlers.js" const parser = new MarkdownIt({ html: true }) diff --git a/src/tests/container-blocks/block-quote.test.ts b/src/tests/container-blocks/block-quote.test.ts index 5e2b367..40b6aa9 100644 --- a/src/tests/container-blocks/block-quote.test.ts +++ b/src/tests/container-blocks/block-quote.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest" -import { parseDocument } from "../../parse" +import { parseDocument } from "../../parse/index.js" test("block-quote", () => { const text = `\ diff --git a/src/tests/container-blocks/bullet-list--loose.test.ts b/src/tests/container-blocks/bullet-list--loose.test.ts index c81cca1..d793316 100644 --- a/src/tests/container-blocks/bullet-list--loose.test.ts +++ b/src/tests/container-blocks/bullet-list--loose.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest" -import { parseDocument } from "../../parse" +import { parseDocument } from "../../parse/index.js" test("bullet-list--loose", () => { const text = `\ diff --git a/src/tests/container-blocks/bullet-list--tight.test.ts b/src/tests/container-blocks/bullet-list--tight.test.ts index 29c22dd..6b122da 100644 --- a/src/tests/container-blocks/bullet-list--tight.test.ts +++ b/src/tests/container-blocks/bullet-list--tight.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest" -import { parseDocument } from "../../parse" +import { parseDocument } from "../../parse/index.js" test("bullet-list--tight", () => { const text = `\ diff --git a/src/tests/container-blocks/ordered-list--loose.test.ts b/src/tests/container-blocks/ordered-list--loose.test.ts index ef87c1b..08a5643 100644 --- a/src/tests/container-blocks/ordered-list--loose.test.ts +++ b/src/tests/container-blocks/ordered-list--loose.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest" -import { parseDocument } from "../../parse" +import { parseDocument } from "../../parse/index.js" test("ordered-list--loose", () => { const text = `\ diff --git a/src/tests/container-blocks/ordered-list--tight.test.ts b/src/tests/container-blocks/ordered-list--tight.test.ts index c555501..1f661b0 100644 --- a/src/tests/container-blocks/ordered-list--tight.test.ts +++ b/src/tests/container-blocks/ordered-list--tight.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest" -import { parseDocument } from "../../parse" +import { parseDocument } from "../../parse/index.js" test("ordered-list--tight", () => { const text = `\ diff --git a/src/tests/footnote.test.ts b/src/tests/footnote.test.ts index 559213e..9adddb7 100644 --- a/src/tests/footnote.test.ts +++ b/src/tests/footnote.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest" -import { parseDocument } from "../parse" +import { parseDocument } from "../parse/index.js" test("footnote", () => { const text = `\ diff --git a/src/tests/front-matter.test.ts b/src/tests/front-matter.test.ts index 3795d51..79806b2 100644 --- a/src/tests/front-matter.test.ts +++ b/src/tests/front-matter.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest" -import { parseDocument } from "../parse" +import { parseDocument } from "../parse/index.js" test("front-matter", () => { const text = `\ diff --git a/src/tests/inlines/code.test.ts b/src/tests/inlines/code.test.ts index 555fe60..5fa6a6f 100644 --- a/src/tests/inlines/code.test.ts +++ b/src/tests/inlines/code.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest" -import { parseDocument } from "../../parse" +import { parseDocument } from "../../parse/index.js" test("code", () => { const text = "`console.log('Hello')`" diff --git a/src/tests/inlines/emphasis.test.ts b/src/tests/inlines/emphasis.test.ts index 66a593e..ab555c5 100644 --- a/src/tests/inlines/emphasis.test.ts +++ b/src/tests/inlines/emphasis.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest" -import { parseDocument } from "../../parse" +import { parseDocument } from "../../parse/index.js" test("emphasis", () => { const text = "Hello *world*" diff --git a/src/tests/inlines/footnote-ref.test.ts b/src/tests/inlines/footnote-ref.test.ts index b873b06..ffb4629 100644 --- a/src/tests/inlines/footnote-ref.test.ts +++ b/src/tests/inlines/footnote-ref.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest" -import { parseDocument } from "../../parse" +import { parseDocument } from "../../parse/index.js" test("footnote-ref -- no footnote no ref", () => { const text = ` diff --git a/src/tests/inlines/hard-line-break.test.ts b/src/tests/inlines/hard-line-break.test.ts index 9ce8b4b..4b1b7c4 100644 --- a/src/tests/inlines/hard-line-break.test.ts +++ b/src/tests/inlines/hard-line-break.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest" -import { parseDocument } from "../../parse" +import { parseDocument } from "../../parse/index.js" test("hard-line-break", () => { const text = "Hello \nWorld" diff --git a/src/tests/inlines/html-inline.test.ts b/src/tests/inlines/html-inline.test.ts index 9c59507..6f323c5 100644 --- a/src/tests/inlines/html-inline.test.ts +++ b/src/tests/inlines/html-inline.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest" -import { parseDocument } from "../../parse" +import { parseDocument } from "../../parse/index.js" test("html-inline", () => { const text = ` diff --git a/src/tests/inlines/image.test.ts b/src/tests/inlines/image.test.ts index 2fb456f..72695a7 100644 --- a/src/tests/inlines/image.test.ts +++ b/src/tests/inlines/image.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest" -import { parseDocument } from "../../parse" +import { parseDocument } from "../../parse/index.js" test("image", () => { const text = '![example image](https://example.com "example title")' diff --git a/src/tests/inlines/link.test.ts b/src/tests/inlines/link.test.ts index 04ec4c4..c104ad2 100644 --- a/src/tests/inlines/link.test.ts +++ b/src/tests/inlines/link.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest" -import { parseDocument } from "../../parse" +import { parseDocument } from "../../parse/index.js" test("link", () => { const text = '[example link](https://example.com "example title")' diff --git a/src/tests/inlines/soft-break.test.ts b/src/tests/inlines/soft-break.test.ts index 9772412..da10756 100644 --- a/src/tests/inlines/soft-break.test.ts +++ b/src/tests/inlines/soft-break.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest" -import { parseDocument } from "../../parse" +import { parseDocument } from "../../parse/index.js" test("soft-break", () => { const text = "Hello\nWorld" diff --git a/src/tests/inlines/strong.test.ts b/src/tests/inlines/strong.test.ts index 89a275d..4624010 100644 --- a/src/tests/inlines/strong.test.ts +++ b/src/tests/inlines/strong.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest" -import { parseDocument } from "../../parse" +import { parseDocument } from "../../parse/index.js" test("strong", () => { const text = "Hi **there**" diff --git a/src/tests/leaf-blocks/code-block.test.ts b/src/tests/leaf-blocks/code-block.test.ts index eef8754..fab4cff 100644 --- a/src/tests/leaf-blocks/code-block.test.ts +++ b/src/tests/leaf-blocks/code-block.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest" -import { parseDocument } from "../../parse" +import { parseDocument } from "../../parse/index.js" test("code-block", () => { // NOTE The info line will be trimed diff --git a/src/tests/leaf-blocks/headline.test.ts b/src/tests/leaf-blocks/headline.test.ts index 46600d2..d1fb166 100644 --- a/src/tests/leaf-blocks/headline.test.ts +++ b/src/tests/leaf-blocks/headline.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest" -import { parseDocument } from "../../parse" +import { parseDocument } from "../../parse/index.js" test("headline", () => { const text = `\ diff --git a/src/tests/leaf-blocks/html-block.test.ts b/src/tests/leaf-blocks/html-block.test.ts index 9861932..8ecfbef 100644 --- a/src/tests/leaf-blocks/html-block.test.ts +++ b/src/tests/leaf-blocks/html-block.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest" -import { parseDocument } from "../../parse" +import { parseDocument } from "../../parse/index.js" test("html block -- self-closing", () => { const text = ` diff --git a/src/tests/leaf-blocks/paragraph.test.ts b/src/tests/leaf-blocks/paragraph.test.ts index e59fca7..8a31276 100644 --- a/src/tests/leaf-blocks/paragraph.test.ts +++ b/src/tests/leaf-blocks/paragraph.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest" -import { parseDocument } from "../../parse" +import { parseDocument } from "../../parse/index.js" test("paragraph", () => { const text = `\ diff --git a/src/tests/leaf-blocks/table.test.ts b/src/tests/leaf-blocks/table.test.ts index 09b529e..b114091 100644 --- a/src/tests/leaf-blocks/table.test.ts +++ b/src/tests/leaf-blocks/table.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest" -import { parseDocument } from "../../parse" +import { parseDocument } from "../../parse/index.js" test("table", () => { const text = `\ diff --git a/src/tests/leaf-blocks/thematic-break.test.ts b/src/tests/leaf-blocks/thematic-break.test.ts index 11ab983..7320835 100644 --- a/src/tests/leaf-blocks/thematic-break.test.ts +++ b/src/tests/leaf-blocks/thematic-break.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest" -import { parseDocument } from "../../parse" +import { parseDocument } from "../../parse/index.js" test("thematic-break", () => { const text = "\n---\n" diff --git a/src/traverse/index.ts b/src/traverse/index.ts index 223d55d..53cf5d0 100644 --- a/src/traverse/index.ts +++ b/src/traverse/index.ts @@ -1,2 +1,2 @@ -export * from "./traverseDocument" -export * from "./traverseNode" +export * from "./traverseDocument.js" +export * from "./traverseNode.js" diff --git a/src/traverse/traverseDocument.test.ts b/src/traverse/traverseDocument.test.ts index 1707a97..1e48295 100644 --- a/src/traverse/traverseDocument.test.ts +++ b/src/traverse/traverseDocument.test.ts @@ -1,6 +1,6 @@ import { test } from "vitest" -import { parseDocument } from "../parse" -import { traverseDocument } from "./traverseDocument" +import { parseDocument } from "../parse/index.js" +import { traverseDocument } from "./traverseDocument.js" test("traverseDocument", () => { const text = `\ diff --git a/src/traverse/traverseDocument.ts b/src/traverse/traverseDocument.ts index 2896aba..2735b60 100644 --- a/src/traverse/traverseDocument.ts +++ b/src/traverse/traverseDocument.ts @@ -1,6 +1,6 @@ -import { Document, documentChildren } from "../document" -import { Node } from "../node" -import { traverseNode } from "./traverseNode" +import { documentChildren, type Document } from "../document/index.js" +import { type Node } from "../node/index.js" +import { traverseNode } from "./traverseNode.js" export function* traverseDocument(document: Document): Generator { for (const child of documentChildren(document)) { diff --git a/src/traverse/traverseNode.ts b/src/traverse/traverseNode.ts index 2caa51d..b69bf23 100644 --- a/src/traverse/traverseNode.ts +++ b/src/traverse/traverseNode.ts @@ -1,4 +1,4 @@ -import { Node, nodeChildren } from "../node" +import { nodeChildren, type Node } from "../node/index.js" export function* traverseNode(node: Node): Generator { yield node diff --git a/tsconfig.json b/tsconfig.json index 06c91a8..94150fb 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,13 +2,14 @@ "include": ["src"], "compilerOptions": { "lib": ["esnext", "dom"], + "module": "nodenext", "target": "es6", - "module": "commonjs", - "moduleResolution": "node", - "esModuleInterop": true, - "declaration": true, "strict": true, - "outDir": "lib", - "baseUrl": "." + "verbatimModuleSyntax": true, + "declaration": true, + "sourceMap": true, + "declarationMap": true, + "resolveJsonModule": true, + "outDir": "lib" } }