diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 4f4d8d8f..00000000 --- a/.eslintignore +++ /dev/null @@ -1,4 +0,0 @@ -.nuxt -.output -dist -node_modules diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 34fc13c6..00000000 --- a/.eslintrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": ["@nuxt/eslint-config"], - "rules": { - "no-extra-semi": 0, - "vue/html-self-closing": 0, - "vue/singleline-html-element-content-newline": 0 - } -} diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 00000000..0512a302 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,20 @@ +// @ts-check +import { createConfigForNuxt } from '@nuxt/eslint-config/flat' + +export default createConfigForNuxt({ + features: { + tooling: true, + stylistic: true, + }, + dirs: { + src: [ + './playground', + ], + }, +}).append({ + rules: { + 'vue/singleline-html-element-content-newline': 'off', + // TODO: remove usage of `any` throughout codebase + '@typescript-eslint/no-explicit-any': 'off', + }, +}) diff --git a/package.json b/package.json index 4868d8b7..ba6fdf9b 100644 --- a/package.json +++ b/package.json @@ -26,8 +26,8 @@ "build:stub": "unbuild --stub", "dev": "node ./bin/nuxi.mjs dev ./playground", "dev:bun": "bun --bun ./bin/nuxi.mjs dev ./playground", - "lint": "eslint . && prettier --check src", - "lint:fix": "eslint --fix . && prettier --write src", + "lint": "eslint .", + "lint:fix": "eslint --fix .", "nuxi": "node ./bin/nuxi.mjs", "nuxi-bun": "bun --bun ./bin/nuxi.mjs", "prepack": "unbuild", @@ -37,7 +37,7 @@ "test:types": "tsc --noEmit" }, "devDependencies": { - "@nuxt/eslint-config": "^0.3.6", + "@nuxt/eslint-config": "^0.3.12", "@nuxt/kit": "^3.11.2", "@nuxt/schema": "^3.11.2", "@nuxt/test-utils": "^3.13.0", @@ -53,7 +53,7 @@ "colorette": "^2.0.20", "consola": "^3.2.3", "destr": "^2.0.3", - "eslint": "^8.57.0", + "eslint": "^9.2.0", "execa": "^8.0.1", "fuse.js": "^7.0.0", "giget": "^1.2.3", @@ -69,7 +69,6 @@ "pathe": "^1.1.2", "perfect-debounce": "^1.0.0", "pkg-types": "^1.0.3", - "prettier": "^3.2.5", "scule": "^1.3.0", "semver": "^7.6.0", "unbuild": "^2.0.0", @@ -89,4 +88,4 @@ "engines": { "node": "^16.10.0 || >=18.0.0" } -} \ No newline at end of file +} diff --git a/playground/nuxt.config.ts b/playground/nuxt.config.ts index fae08ac0..61571122 100644 --- a/playground/nuxt.config.ts +++ b/playground/nuxt.config.ts @@ -2,7 +2,7 @@ export default defineNuxtConfig({ nitro: { experimental: { - websocket: true - } - } + websocket: true, + }, + }, }) diff --git a/playground/pages/index.vue b/playground/pages/index.vue index 8ac49d23..b3f229d0 100644 --- a/playground/pages/index.vue +++ b/playground/pages/index.vue @@ -3,8 +3,8 @@ diff --git a/playground/pages/ws.vue b/playground/pages/ws.vue index eeec7a8c..6c6e3005 100644 --- a/playground/pages/ws.vue +++ b/playground/pages/ws.vue @@ -1,59 +1,58 @@ @@ -80,7 +79,7 @@ onMounted(async () => { class="ms-secondary ms-small" placeholder="Message..." @keydown.enter="sendMessage" - /> + >
-
+
       
{{ log }}
+ v-for="l in logs" + :key="l" + > + {{ l }} +
diff --git a/playground/server/routes/_ws.ts b/playground/server/routes/_ws.ts index d86f1f2f..54bba3c9 100644 --- a/playground/server/routes/_ws.ts +++ b/playground/server/routes/_ws.ts @@ -1,20 +1,20 @@ export default defineWebSocketHandler({ open(peer) { - console.log("[ws] open", peer); + console.log('[ws] open', peer) }, message(peer, message) { - console.log("[ws] message", peer, message); - if (message.text().includes("ping")) { - peer.send("pong"); + console.log('[ws] message', peer, message) + if (message.text().includes('ping')) { + peer.send('pong') } }, close(peer, event) { - console.log("[ws] close", peer, event); + console.log('[ws] close', peer, event) }, error(peer, error) { - console.log("[ws] error", peer, error); + console.log('[ws] error', peer, error) }, -}); +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e2f52711..d2bd8e36 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,8 +18,8 @@ importers: version: 2.3.3 devDependencies: '@nuxt/eslint-config': - specifier: ^0.3.6 - version: 0.3.6(eslint@8.57.0)(typescript@5.4.2) + specifier: ^0.3.12 + version: 0.3.12(eslint@9.2.0)(typescript@5.4.2) '@nuxt/kit': specifier: ^3.11.2 version: 3.11.2(rollup@3.29.4) @@ -28,7 +28,7 @@ importers: version: 3.11.2(rollup@3.29.4) '@nuxt/test-utils': specifier: ^3.13.0 - version: 3.13.0(h3@1.11.1)(rollup@3.29.4)(vite@5.2.8)(vue-router@4.3.0)(vue@3.4.21) + version: 3.13.0(h3@1.11.1)(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue-router@4.3.0(vue@3.4.21(typescript@5.4.2)))(vue@3.4.21(typescript@5.4.2)) '@types/http-proxy': specifier: ^1.17.14 version: 1.17.14 @@ -66,8 +66,8 @@ importers: specifier: ^2.0.3 version: 2.0.3 eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.2.0 + version: 9.2.0 execa: specifier: ^8.0.1 version: 8.0.1 @@ -97,7 +97,7 @@ importers: version: 1.6.1 nuxt: specifier: ^3.11.2 - version: 3.11.2(@types/node@20.12.7)(@unocss/reset@0.58.9)(eslint@8.57.0)(floating-vue@5.2.2)(fuse.js@7.0.0)(rollup@3.29.4)(typescript@5.4.2)(unocss@0.58.9)(vite@5.2.8)(vue-tsc@2.0.12) + version: 3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.2.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@3.29.4))(vue@3.4.21(typescript@5.4.2)))(fuse.js@7.0.0)(ioredis@5.4.1)(optionator@0.9.3)(rollup@3.29.4)(terser@5.29.2)(typescript@5.4.2)(unocss@0.58.9(postcss@8.4.37)(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)))(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue-tsc@2.0.12(typescript@5.4.2)) nypm: specifier: ^0.3.8 version: 0.3.8 @@ -113,9 +113,6 @@ importers: pkg-types: specifier: ^1.0.3 version: 1.0.3 - prettier: - specifier: ^3.2.5 - version: 3.2.5 scule: specifier: ^1.3.0 version: 1.3.0 @@ -646,12 +643,12 @@ packages: resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/js@8.57.0': - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/eslintrc@3.0.2': + resolution: {integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.0.0': - resolution: {integrity: sha512-RThY/MnKrhubF6+s1JflwUjPEsnCEmYCWwqa/aRISKWNXGZ9epUwft4bUMM35SdKF9xvBrLydAM1RDHd1Z//ZQ==} + '@eslint/js@9.2.0': + resolution: {integrity: sha512-ESiIudvhoYni+MdsI8oD7skpprZ89qKocwRM2KEvhhBJ9nl5MRh7BXU5GTod7Mdygq+AUl+QzId6iWJKR/wABA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@fastify/busboy@2.1.1': @@ -667,16 +664,20 @@ packages: '@floating-ui/utils@0.2.1': resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} - '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + '@humanwhocodes/config-array@0.13.0': + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.2': - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + '@humanwhocodes/object-schema@2.0.3': + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + + '@humanwhocodes/retry@0.2.4': + resolution: {integrity: sha512-Ttl/jHpxfS3st5sxwICYfk4pOH0WrLI1SpW283GgQL7sCWU7EHIOhX4b4fkIxr3tkfzwg8+FNojtzsIEE7Ecgg==} + engines: {node: '>=18.18'} '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -799,13 +800,13 @@ packages: nuxt: ^3.11.2 vite: '*' - '@nuxt/eslint-config@0.3.6': - resolution: {integrity: sha512-uuAPflhCSym2UUs+613CU4GJo10wtFFwzZLba/fHO7H6IqpVk8kHGDuwrV/AvVwnty8IhIIqOXBgrx16RoDkSA==} + '@nuxt/eslint-config@0.3.12': + resolution: {integrity: sha512-ywGxClwkGPDV59iONa/d2fk3rgVPYxArm8aAmcTPOCbWCypAc/vlNDvgafo9VAljsZCbWj7JjlWmT5UzknwK7w==} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@nuxt/eslint-plugin@0.3.6': - resolution: {integrity: sha512-kyfvqWkxcMT672WkiupEZI6a/sDL6CLdZt5HS8SfjUe2rcZOvc0TRSMXKAvo+XBZlnJA/fIOKQMa8qUkLoBXWw==} + '@nuxt/eslint-plugin@0.3.12': + resolution: {integrity: sha512-RkD+GuQf4aIsq2KioGodrZyouJfyRSbEnsxfJe9IT4hAI/hNznmiBxAklwIxD3DVPOVm1W87+8/vSIqeqFUITA==} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1229,32 +1230,32 @@ packages: resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} engines: {node: '>=18'} - '@stylistic/eslint-plugin-js@1.7.0': - resolution: {integrity: sha512-PN6On/+or63FGnhhMKSQfYcWutRlzOiYlVdLM6yN7lquoBTqUJHYnl4TA4MHwiAt46X5gRxDr1+xPZ1lOLcL+Q==} - engines: {node: ^16.0.0 || >=18.0.0} + '@stylistic/eslint-plugin-js@2.1.0': + resolution: {integrity: sha512-gdXUjGNSsnY6nPyqxu6lmDTtVrwCOjun4x8PUn0x04d5ucLI74N3MT1Q0UhdcOR9No3bo5PGDyBgXK+KmD787A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' - '@stylistic/eslint-plugin-jsx@1.7.0': - resolution: {integrity: sha512-BACdBwXakQvjYIST5N2WWhRbvhRsIxa/F59BiZol+0IH4FSmDXhie7v/yaxDIIA9CbfElzOmIA5nWNYTVXcnwQ==} - engines: {node: ^16.0.0 || >=18.0.0} + '@stylistic/eslint-plugin-jsx@2.1.0': + resolution: {integrity: sha512-mMD7S+IndZo2vxmwpHVTCwx2O1VdtE5tmpeNwgaEcXODzWV1WTWpnsc/PECQKIr/mkLPFWiSIqcuYNhQ/3l6AQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' - '@stylistic/eslint-plugin-plus@1.7.0': - resolution: {integrity: sha512-AabDw8sXsc70Ydx3qnbeTlRHZnIwY6UKEenBPURPhY3bfYWX+/pDpZH40HkOu94v8D0DUrocPkeeEUxl4e0JDg==} + '@stylistic/eslint-plugin-plus@2.1.0': + resolution: {integrity: sha512-S5QAlgYXESJaSBFhBSBLZy9o36gXrXQwWSt6QkO+F0SrT9vpV5JF/VKoh+ojO7tHzd8Ckmyouq02TT9Sv2B0zQ==} peerDependencies: eslint: '*' - '@stylistic/eslint-plugin-ts@1.7.0': - resolution: {integrity: sha512-QsHv98mmW1xaucVYQTyLDgEpybPJ/6jPPxVBrIchntWWwj74xCWKUiw79hu+TpYj/Pbhd9rkqJYLNq3pQGYuyA==} - engines: {node: ^16.0.0 || >=18.0.0} + '@stylistic/eslint-plugin-ts@2.1.0': + resolution: {integrity: sha512-2ioFibufHYBALx2TBrU4KXovCkN8qCqcb9yIHc0fyOfTaO5jw4d56WW7YRcF3Zgde6qFyXwAN6z/+w4pnmos1g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' - '@stylistic/eslint-plugin@1.7.0': - resolution: {integrity: sha512-ThMUjGIi/jeWYNvOdjZkoLw1EOVs0tEuKXDgWvTn8uWaEz55HuPlajKxjKLpv19C+qRDbKczJfzUODfCdME53A==} - engines: {node: ^16.0.0 || >=18.0.0} + '@stylistic/eslint-plugin@2.1.0': + resolution: {integrity: sha512-cBBowKP2u/+uE5CzgH5w8pE9VKqcM7BXdIDPIbGt2rmLJGnA6MJPr9vYGaqgMoJFs7R/FzsMQerMvvEP40g2uw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' @@ -1270,8 +1271,8 @@ packages: resolution: {integrity: sha512-c8nj8BaOExmZKO2DXhDfegyhSGcG9E/mPN3U13L+/PsoWm1uaGiHHjxqSHQiasDBQwDA3aHuw9+9spYAP1qvvg==} engines: {node: ^16.14.0 || >=18.0.0} - '@types/eslint@8.56.7': - resolution: {integrity: sha512-SjDvI/x3zsZnOkYZ3lCt9lOZWZLB2jIlNKz+LBgCtDurK0JZcwucxYHn1w2BJkD34dgX9Tjnak0txtq4WTggEA==} + '@types/eslint@8.56.10': + resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==} '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} @@ -1300,8 +1301,8 @@ packages: '@types/ws@8.5.10': resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} - '@typescript-eslint/eslint-plugin@7.6.0': - resolution: {integrity: sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==} + '@typescript-eslint/eslint-plugin@7.9.0': + resolution: {integrity: sha512-6e+X0X3sFe/G/54aC3jt0txuMTURqLyekmEHViqyA2VnxhLMpvA6nqmcjIy+Cr9tLDHPssA74BP5Mx9HQIxBEA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -1311,8 +1312,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@7.6.0': - resolution: {integrity: sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==} + '@typescript-eslint/parser@7.9.0': + resolution: {integrity: sha512-qHMJfkL5qvgQB2aLvhUSXxbK7OLnDkwPzFalg458pxQgfxKDfT1ZDbHQM/I6mDIf/svlMkj21kzKuQ2ixJlatQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1321,16 +1322,16 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@6.21.0': - resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} - engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/scope-manager@7.6.0': resolution: {integrity: sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/type-utils@7.6.0': - resolution: {integrity: sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==} + '@typescript-eslint/scope-manager@7.9.0': + resolution: {integrity: sha512-ZwPK4DeCDxr3GJltRz5iZejPFAAr4Wk3+2WIBaj1L5PYK5RgxExu/Y68FFVclN0y6GGwH8q+KgKRCvaTmFBbgQ==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/type-utils@7.9.0': + resolution: {integrity: sha512-6Qy8dfut0PFrFRAZsGzuLoM4hre4gjzWJB6sUvdunCYZsYemTkzZNwF1rnGea326PHPT3zn5Lmg32M/xfJfByA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1339,25 +1340,25 @@ packages: typescript: optional: true - '@typescript-eslint/types@6.21.0': - resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} - engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/types@7.6.0': resolution: {integrity: sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/typescript-estree@6.21.0': - resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/types@7.9.0': + resolution: {integrity: sha512-oZQD9HEWQanl9UfsbGVcZ2cGaR0YT5476xfWE0oE5kQa2sNK2frxOlkeacLOTh9po4AlUT5rtkGyYM5kew0z5w==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/typescript-estree@7.6.0': + resolution: {integrity: sha512-+7Y/GP9VuYibecrCQWSKgl3GvUM5cILRttpWtnAu8GNL9j11e4tbuGZmZjJ8ejnKYyBRb2ddGQ3rEFCq3QjMJw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/typescript-estree@7.6.0': - resolution: {integrity: sha512-+7Y/GP9VuYibecrCQWSKgl3GvUM5cILRttpWtnAu8GNL9j11e4tbuGZmZjJ8ejnKYyBRb2ddGQ3rEFCq3QjMJw==} + '@typescript-eslint/typescript-estree@7.9.0': + resolution: {integrity: sha512-zBCMCkrb2YjpKV3LA0ZJubtKCDxLttxfdGmwZvTqqWevUPN0FZvSI26FalGFFUZU/9YQK/A4xcQF9o/VVaCKAg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -1365,28 +1366,25 @@ packages: typescript: optional: true - '@typescript-eslint/utils@6.21.0': - resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - '@typescript-eslint/utils@7.6.0': resolution: {integrity: sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/visitor-keys@6.21.0': - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/utils@7.9.0': + resolution: {integrity: sha512-5KVRQCzZajmT4Ep+NEgjXCvjuypVvYHUW7RHlXzNPuak2oWpVoD1jf5xCP0dPAuNIchjC7uQyvbdaSTFaLqSdA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 '@typescript-eslint/visitor-keys@7.6.0': resolution: {integrity: sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw==} engines: {node: ^18.18.0 || >=20.0.0} - '@ungap/structured-clone@1.2.0': - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + '@typescript-eslint/visitor-keys@7.9.0': + resolution: {integrity: sha512-iESPx2TNLDNGQLyjKhUvIKprlP49XNEK+MvIf9nIO7ZZaZdbnfWKHnXAgufpxqfA0YryH8XToi4+CjBgVnFTSQ==} + engines: {node: ^18.18.0 || >=20.0.0} '@unhead/dom@1.9.4': resolution: {integrity: sha512-nEaHOcCL0u56g4XOV5XGwRMFZ05eEINfp8nxVrPiIGLrS9BoFrZS7/6IYSkalkNRTmw8M5xqxt6BalBr594SaA==} @@ -2344,8 +2342,8 @@ packages: eslint-config-flat-gitignore@0.1.5: resolution: {integrity: sha512-hEZLwuZjDBGDERA49c2q7vxc8sCGv8EdBp6PQYzGOMcHIgrfG9YOM6s/4jx24zhD+wnK9AI8mgN5RxSss5nClQ==} - eslint-flat-config-utils@0.2.2: - resolution: {integrity: sha512-iWjXCsGBuyqlGhmam4V9IXlxpDfnc7l0VC1YzncROF2PYIPSRpejugrIp2bXPT5mutKF3zq69Vbt7J9su9E/Lw==} + eslint-flat-config-utils@0.2.4: + resolution: {integrity: sha512-k7MJkSIfF0bs5eQu1KXyV0AhsvdsqSt1pQfZNLwf6qkozuHQV6aNHg5f8+3Ya+WTzpB+e7I3hMhs4qBwx7nEkw==} eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} @@ -2368,8 +2366,8 @@ packages: peerDependencies: eslint: '>=8.56.0' - eslint-plugin-vue@9.24.1: - resolution: {integrity: sha512-wk3SuwmS1pZdcuJlokGYEi/buDOwD6KltvhIZyOnpJ/378dcQ4zchu9PAMbbLAaydCz1iYc5AozszcOOgZIIOg==} + eslint-plugin-vue@9.26.0: + resolution: {integrity: sha512-eTvlxXgd4ijE1cdur850G6KalZqk65k1JKoOI2d1kT3hr8sPD07j1q98FRFdNnpxBELGPWxZmInxeHGF/GxtqQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -2378,15 +2376,27 @@ packages: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.0.1: + resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-visitor-keys@4.0.0: + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.2.0: + resolution: {integrity: sha512-0n/I88vZpCOzO+PQpt0lbsqmn9AsnsJAQseIqhZFI8ibQT0U1AkEKRxA3EVMos0BoHSXDQvCXY25TUjB5tr8Og==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + espree@10.0.1: + resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2474,9 +2484,9 @@ packages: resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} engines: {node: '>=18'} - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} @@ -2497,9 +2507,9 @@ packages: resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} engines: {node: '>=18'} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} @@ -2634,8 +2644,12 @@ packages: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} - globals@15.0.0: - resolution: {integrity: sha512-m/C/yR4mjO6pXDTm9/R/SpYTAIyaUB4EOzcaaMEl7mds7Mshct9GfejiJNQGjHHbdMPey13Kpu4TMbYi9ex1pw==} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@15.2.0: + resolution: {integrity: sha512-FQ5YwCHZM3nCmtb5FzEWwdUc9K5d3V/w9mzcz8iGD1gC/aOTHc6PouYu0kkKipNJqHAT7m51sqzQjEjIP+cK0A==} engines: {node: '>=18'} globby@11.1.0: @@ -3791,11 +3805,6 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier@3.2.5: - resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} - engines: {node: '>=14'} - hasBin: true - pretty-bytes@6.1.1: resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} engines: {node: ^14.13.1 || >=16.0.0} @@ -5250,9 +5259,9 @@ snapshots: '@esbuild/win32-x64@0.20.2': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.2.0)': dependencies: - eslint: 8.57.0 + eslint: 9.2.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.10.0': {} @@ -5271,9 +5280,21 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.0': {} + '@eslint/eslintrc@3.0.2': + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 10.0.1 + globals: 14.0.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color - '@eslint/js@9.0.0': {} + '@eslint/js@9.2.0': {} '@fastify/busboy@2.1.1': {} @@ -5287,9 +5308,9 @@ snapshots: '@floating-ui/utils@0.2.1': {} - '@humanwhocodes/config-array@0.11.14': + '@humanwhocodes/config-array@0.13.0': dependencies: - '@humanwhocodes/object-schema': 2.0.2 + '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: @@ -5297,7 +5318,9 @@ snapshots: '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.2': {} + '@humanwhocodes/object-schema@2.0.3': {} + + '@humanwhocodes/retry@0.2.4': {} '@iconify/types@2.0.0': {} @@ -5309,7 +5332,7 @@ snapshots: debug: 4.3.4 kolorist: 1.8.0 local-pkg: 0.5.0 - mlly: 1.6.1 + mlly: 1.7.0 transitivePeerDependencies: - supports-color @@ -5354,12 +5377,12 @@ snapshots: '@kwsites/promise-deferred@1.1.1': {} - '@mapbox/node-pre-gyp@1.0.11': + '@mapbox/node-pre-gyp@1.0.11(encoding@0.1.13)': dependencies: detect-libc: 2.0.3 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.7.0 + node-fetch: 2.7.0(encoding@0.1.13) nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 @@ -5455,13 +5478,13 @@ snapshots: '@nuxt/devalue@2.0.2': {} - '@nuxt/devtools-kit@1.1.5(nuxt@3.11.2)(rollup@3.29.4)(vite@5.2.8)': + '@nuxt/devtools-kit@1.1.5(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.2.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@3.29.4))(vue@3.4.21(typescript@5.4.2)))(fuse.js@7.0.0)(ioredis@5.4.1)(optionator@0.9.3)(rollup@3.29.4)(terser@5.29.2)(typescript@5.4.2)(unocss@0.58.9(postcss@8.4.37)(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)))(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue-tsc@2.0.12(typescript@5.4.2)))(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))': dependencies: '@nuxt/kit': 3.11.2(rollup@3.29.4) '@nuxt/schema': 3.11.2(rollup@3.29.4) execa: 7.2.0 - nuxt: 3.11.2(@types/node@20.12.7)(@unocss/reset@0.58.9)(eslint@8.57.0)(floating-vue@5.2.2)(fuse.js@7.0.0)(rollup@3.29.4)(typescript@5.4.2)(unocss@0.58.9)(vite@5.2.8)(vue-tsc@2.0.12) - vite: 5.2.8(@types/node@20.12.7) + nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.2.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@3.29.4))(vue@3.4.21(typescript@5.4.2)))(fuse.js@7.0.0)(ioredis@5.4.1)(optionator@0.9.3)(rollup@3.29.4)(terser@5.29.2)(typescript@5.4.2)(unocss@0.58.9(postcss@8.4.37)(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)))(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue-tsc@2.0.12(typescript@5.4.2)) + vite: 5.2.8(@types/node@20.12.7)(terser@5.29.2) transitivePeerDependencies: - rollup - supports-color @@ -5479,15 +5502,15 @@ snapshots: rc9: 2.1.1 semver: 7.6.0 - '@nuxt/devtools@1.1.5(@unocss/reset@0.58.9)(floating-vue@5.2.2)(fuse.js@7.0.0)(nuxt@3.11.2)(rollup@3.29.4)(unocss@0.58.9)(vite@5.2.8)(vue@3.4.21)': + '@nuxt/devtools@1.1.5(@unocss/reset@0.58.9)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@3.29.4))(vue@3.4.21(typescript@5.4.2)))(fuse.js@7.0.0)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.2.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@3.29.4))(vue@3.4.21(typescript@5.4.2)))(fuse.js@7.0.0)(ioredis@5.4.1)(optionator@0.9.3)(rollup@3.29.4)(terser@5.29.2)(typescript@5.4.2)(unocss@0.58.9(postcss@8.4.37)(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)))(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue-tsc@2.0.12(typescript@5.4.2)))(rollup@3.29.4)(unocss@0.58.9(postcss@8.4.37)(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)))(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue@3.4.21(typescript@5.4.2))': dependencies: '@antfu/utils': 0.7.7 - '@nuxt/devtools-kit': 1.1.5(nuxt@3.11.2)(rollup@3.29.4)(vite@5.2.8) + '@nuxt/devtools-kit': 1.1.5(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.2.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@3.29.4))(vue@3.4.21(typescript@5.4.2)))(fuse.js@7.0.0)(ioredis@5.4.1)(optionator@0.9.3)(rollup@3.29.4)(terser@5.29.2)(typescript@5.4.2)(unocss@0.58.9(postcss@8.4.37)(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)))(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue-tsc@2.0.12(typescript@5.4.2)))(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)) '@nuxt/devtools-wizard': 1.1.5 '@nuxt/kit': 3.11.2(rollup@3.29.4) - '@vue/devtools-applet': 7.0.25(@unocss/reset@0.58.9)(floating-vue@5.2.2)(fuse.js@7.0.0)(unocss@0.58.9)(vite@5.2.8)(vue@3.4.21) - '@vue/devtools-core': 7.0.25(vite@5.2.8)(vue@3.4.21) - '@vue/devtools-kit': 7.0.25(vue@3.4.21) + '@vue/devtools-applet': 7.0.25(@unocss/reset@0.58.9)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@3.29.4))(vue@3.4.21(typescript@5.4.2)))(fuse.js@7.0.0)(unocss@0.58.9(postcss@8.4.37)(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)))(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue@3.4.21(typescript@5.4.2)) + '@vue/devtools-core': 7.0.25(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue@3.4.21(typescript@5.4.2)) + '@vue/devtools-kit': 7.0.25(vue@3.4.21(typescript@5.4.2)) birpc: 0.2.17 consola: 3.2.3 cronstrue: 2.49.0 @@ -5503,7 +5526,7 @@ snapshots: launch-editor: 2.6.1 local-pkg: 0.5.0 magicast: 0.3.3 - nuxt: 3.11.2(@types/node@20.12.7)(@unocss/reset@0.58.9)(eslint@8.57.0)(floating-vue@5.2.2)(fuse.js@7.0.0)(rollup@3.29.4)(typescript@5.4.2)(unocss@0.58.9)(vite@5.2.8)(vue-tsc@2.0.12) + nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.2.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@3.29.4))(vue@3.4.21(typescript@5.4.2)))(fuse.js@7.0.0)(ioredis@5.4.1)(optionator@0.9.3)(rollup@3.29.4)(terser@5.29.2)(typescript@5.4.2)(unocss@0.58.9(postcss@8.4.37)(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)))(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue-tsc@2.0.12(typescript@5.4.2)) nypm: 0.3.8 ohash: 1.1.3 pacote: 17.0.6 @@ -5516,9 +5539,9 @@ snapshots: simple-git: 3.23.0 sirv: 2.0.4 unimport: 3.7.1(rollup@3.29.4) - vite: 5.2.8(@types/node@20.12.7) - vite-plugin-inspect: 0.8.3(@nuxt/kit@3.11.2)(rollup@3.29.4)(vite@5.2.8) - vite-plugin-vue-inspector: 4.0.2(vite@5.2.8) + vite: 5.2.8(@types/node@20.12.7)(terser@5.29.2) + vite-plugin-inspect: 0.8.3(@nuxt/kit@3.11.2(rollup@3.29.4))(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)) + vite-plugin-vue-inspector: 4.0.2(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)) which: 3.0.1 ws: 8.16.0 transitivePeerDependencies: @@ -5544,34 +5567,34 @@ snapshots: - utf-8-validate - vue - '@nuxt/eslint-config@0.3.6(eslint@8.57.0)(typescript@5.4.2)': + '@nuxt/eslint-config@0.3.12(eslint@9.2.0)(typescript@5.4.2)': dependencies: - '@eslint/js': 9.0.0 - '@nuxt/eslint-plugin': 0.3.6(eslint@8.57.0)(typescript@5.4.2) + '@eslint/js': 9.2.0 + '@nuxt/eslint-plugin': 0.3.12(eslint@9.2.0)(typescript@5.4.2) '@rushstack/eslint-patch': 1.10.2 - '@stylistic/eslint-plugin': 1.7.0(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/parser': 7.6.0(eslint@8.57.0)(typescript@5.4.2) - eslint: 8.57.0 + '@stylistic/eslint-plugin': 2.1.0(eslint@9.2.0)(typescript@5.4.2) + '@typescript-eslint/eslint-plugin': 7.9.0(@typescript-eslint/parser@7.9.0(eslint@9.2.0)(typescript@5.4.2))(eslint@9.2.0)(typescript@5.4.2) + '@typescript-eslint/parser': 7.9.0(eslint@9.2.0)(typescript@5.4.2) + eslint: 9.2.0 eslint-config-flat-gitignore: 0.1.5 - eslint-flat-config-utils: 0.2.2 - eslint-plugin-import-x: 0.5.0(eslint@8.57.0)(typescript@5.4.2) - eslint-plugin-jsdoc: 48.2.3(eslint@8.57.0) - eslint-plugin-unicorn: 52.0.0(eslint@8.57.0) - eslint-plugin-vue: 9.24.1(eslint@8.57.0) - globals: 15.0.0 + eslint-flat-config-utils: 0.2.4 + eslint-plugin-import-x: 0.5.0(eslint@9.2.0)(typescript@5.4.2) + eslint-plugin-jsdoc: 48.2.3(eslint@9.2.0) + eslint-plugin-unicorn: 52.0.0(eslint@9.2.0) + eslint-plugin-vue: 9.26.0(eslint@9.2.0) + globals: 15.2.0 pathe: 1.1.2 tslib: 2.6.2 - vue-eslint-parser: 9.4.2(eslint@8.57.0) + vue-eslint-parser: 9.4.2(eslint@9.2.0) transitivePeerDependencies: - supports-color - typescript - '@nuxt/eslint-plugin@0.3.6(eslint@8.57.0)(typescript@5.4.2)': + '@nuxt/eslint-plugin@0.3.12(eslint@9.2.0)(typescript@5.4.2)': dependencies: - '@typescript-eslint/types': 7.6.0 - '@typescript-eslint/utils': 7.6.0(eslint@8.57.0)(typescript@5.4.2) - eslint: 8.57.0 + '@typescript-eslint/types': 7.9.0 + '@typescript-eslint/utils': 7.9.0(eslint@9.2.0)(typescript@5.4.2) + eslint: 9.2.0 transitivePeerDependencies: - supports-color - typescript @@ -5640,7 +5663,7 @@ snapshots: - rollup - supports-color - '@nuxt/test-utils@3.13.0(h3@1.11.1)(rollup@3.29.4)(vite@5.2.8)(vue-router@4.3.0)(vue@3.4.21)': + '@nuxt/test-utils@3.13.0(h3@1.11.1)(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue-router@4.3.0(vue@3.4.21(typescript@5.4.2)))(vue@3.4.21(typescript@5.4.2))': dependencies: '@nuxt/kit': 3.11.2(rollup@3.29.4) '@nuxt/schema': 3.11.2(rollup@3.29.4) @@ -5665,22 +5688,22 @@ snapshots: ufo: 1.5.3 unenv: 1.9.0 unplugin: 1.10.1 - vite: 5.2.8(@types/node@20.12.7) - vitest-environment-nuxt: 1.0.0(h3@1.11.1)(rollup@3.29.4)(vite@5.2.8)(vue-router@4.3.0)(vue@3.4.21) + vite: 5.2.8(@types/node@20.12.7)(terser@5.29.2) + vitest-environment-nuxt: 1.0.0(h3@1.11.1)(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue-router@4.3.0(vue@3.4.21(typescript@5.4.2)))(vue@3.4.21(typescript@5.4.2)) vue: 3.4.21(typescript@5.4.2) - vue-router: 4.3.0(vue@3.4.21) + vue-router: 4.3.0(vue@3.4.21(typescript@5.4.2)) transitivePeerDependencies: - rollup - supports-color '@nuxt/ui-templates@1.3.2': {} - '@nuxt/vite-builder@3.11.2(@types/node@20.12.7)(eslint@8.57.0)(rollup@3.29.4)(typescript@5.4.2)(vue-tsc@2.0.12)(vue@3.4.21)': + '@nuxt/vite-builder@3.11.2(@types/node@20.12.7)(eslint@9.2.0)(optionator@0.9.3)(rollup@3.29.4)(terser@5.29.2)(typescript@5.4.2)(vue-tsc@2.0.12(typescript@5.4.2))(vue@3.4.21(typescript@5.4.2))': dependencies: '@nuxt/kit': 3.11.2(rollup@3.29.4) '@rollup/plugin-replace': 5.0.5(rollup@3.29.4) - '@vitejs/plugin-vue': 5.0.4(vite@5.2.8)(vue@3.4.21) - '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.2.8)(vue@3.4.21) + '@vitejs/plugin-vue': 5.0.4(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue@3.4.21(typescript@5.4.2)) + '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue@3.4.21(typescript@5.4.2)) autoprefixer: 10.4.19(postcss@8.4.38) clear: 0.1.0 consola: 3.2.3 @@ -5707,9 +5730,9 @@ snapshots: ufo: 1.5.3 unenv: 1.9.0 unplugin: 1.10.1 - vite: 5.2.8(@types/node@20.12.7) - vite-node: 1.4.0(@types/node@20.12.7) - vite-plugin-checker: 0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.2.8)(vue-tsc@2.0.12) + vite: 5.2.8(@types/node@20.12.7)(terser@5.29.2) + vite-node: 1.4.0(@types/node@20.12.7)(terser@5.29.2) + vite-plugin-checker: 0.6.4(eslint@9.2.0)(optionator@0.9.3)(typescript@5.4.2)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue-tsc@2.0.12(typescript@5.4.2)) vue: 3.4.21(typescript@5.4.2) vue-bundle-renderer: 2.0.0 transitivePeerDependencies: @@ -5800,13 +5823,15 @@ snapshots: '@rollup/plugin-alias@5.1.0(rollup@3.29.4)': dependencies: - rollup: 3.29.4 slash: 4.0.0 + optionalDependencies: + rollup: 3.29.4 '@rollup/plugin-alias@5.1.0(rollup@4.17.2)': dependencies: - rollup: 4.17.2 slash: 4.0.0 + optionalDependencies: + rollup: 4.17.2 '@rollup/plugin-commonjs@25.0.7(rollup@3.29.4)': dependencies: @@ -5816,6 +5841,7 @@ snapshots: glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.9 + optionalDependencies: rollup: 3.29.4 '@rollup/plugin-commonjs@25.0.7(rollup@4.17.2)': @@ -5826,6 +5852,7 @@ snapshots: glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.9 + optionalDependencies: rollup: 4.17.2 '@rollup/plugin-inject@5.0.5(rollup@4.17.2)': @@ -5833,16 +5860,19 @@ snapshots: '@rollup/pluginutils': 5.1.0(rollup@4.17.2) estree-walker: 2.0.2 magic-string: 0.30.10 + optionalDependencies: rollup: 4.17.2 '@rollup/plugin-json@6.1.0(rollup@3.29.4)': dependencies: '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + optionalDependencies: rollup: 3.29.4 '@rollup/plugin-json@6.1.0(rollup@4.17.2)': dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.17.2) + optionalDependencies: rollup: 4.17.2 '@rollup/plugin-node-resolve@15.2.3(rollup@3.29.4)': @@ -5853,6 +5883,7 @@ snapshots: is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 + optionalDependencies: rollup: 3.29.4 '@rollup/plugin-node-resolve@15.2.3(rollup@4.17.2)': @@ -5863,26 +5894,30 @@ snapshots: is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 + optionalDependencies: rollup: 4.17.2 '@rollup/plugin-replace@5.0.5(rollup@3.29.4)': dependencies: '@rollup/pluginutils': 5.1.0(rollup@3.29.4) magic-string: 0.30.9 + optionalDependencies: rollup: 3.29.4 '@rollup/plugin-replace@5.0.5(rollup@4.17.2)': dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.17.2) magic-string: 0.30.9 + optionalDependencies: rollup: 4.17.2 '@rollup/plugin-terser@0.4.4(rollup@4.17.2)': dependencies: - rollup: 4.17.2 serialize-javascript: 6.0.2 smob: 1.4.1 terser: 5.29.2 + optionalDependencies: + rollup: 4.17.2 '@rollup/pluginutils@4.2.1': dependencies: @@ -5894,6 +5929,7 @@ snapshots: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 + optionalDependencies: rollup: 3.29.4 '@rollup/pluginutils@5.1.0(rollup@4.17.2)': @@ -5901,6 +5937,7 @@ snapshots: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 + optionalDependencies: rollup: 4.17.2 '@rollup/rollup-android-arm-eabi@4.14.0': @@ -6034,50 +6071,49 @@ snapshots: '@sindresorhus/merge-streams@4.0.0': {} - '@stylistic/eslint-plugin-js@1.7.0(eslint@8.57.0)': + '@stylistic/eslint-plugin-js@2.1.0(eslint@9.2.0)': dependencies: - '@types/eslint': 8.56.7 + '@types/eslint': 8.56.10 acorn: 8.11.3 - escape-string-regexp: 4.0.0 - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint: 9.2.0 + eslint-visitor-keys: 4.0.0 + espree: 10.0.1 - '@stylistic/eslint-plugin-jsx@1.7.0(eslint@8.57.0)': + '@stylistic/eslint-plugin-jsx@2.1.0(eslint@9.2.0)': dependencies: - '@stylistic/eslint-plugin-js': 1.7.0(eslint@8.57.0) - '@types/eslint': 8.56.7 - eslint: 8.57.0 + '@stylistic/eslint-plugin-js': 2.1.0(eslint@9.2.0) + '@types/eslint': 8.56.10 + eslint: 9.2.0 estraverse: 5.3.0 picomatch: 4.0.2 - '@stylistic/eslint-plugin-plus@1.7.0(eslint@8.57.0)(typescript@5.4.2)': + '@stylistic/eslint-plugin-plus@2.1.0(eslint@9.2.0)(typescript@5.4.2)': dependencies: - '@types/eslint': 8.56.7 - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.2) - eslint: 8.57.0 + '@types/eslint': 8.56.10 + '@typescript-eslint/utils': 7.9.0(eslint@9.2.0)(typescript@5.4.2) + eslint: 9.2.0 transitivePeerDependencies: - supports-color - typescript - '@stylistic/eslint-plugin-ts@1.7.0(eslint@8.57.0)(typescript@5.4.2)': + '@stylistic/eslint-plugin-ts@2.1.0(eslint@9.2.0)(typescript@5.4.2)': dependencies: - '@stylistic/eslint-plugin-js': 1.7.0(eslint@8.57.0) - '@types/eslint': 8.56.7 - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.2) - eslint: 8.57.0 + '@stylistic/eslint-plugin-js': 2.1.0(eslint@9.2.0) + '@types/eslint': 8.56.10 + '@typescript-eslint/utils': 7.9.0(eslint@9.2.0)(typescript@5.4.2) + eslint: 9.2.0 transitivePeerDependencies: - supports-color - typescript - '@stylistic/eslint-plugin@1.7.0(eslint@8.57.0)(typescript@5.4.2)': + '@stylistic/eslint-plugin@2.1.0(eslint@9.2.0)(typescript@5.4.2)': dependencies: - '@stylistic/eslint-plugin-js': 1.7.0(eslint@8.57.0) - '@stylistic/eslint-plugin-jsx': 1.7.0(eslint@8.57.0) - '@stylistic/eslint-plugin-plus': 1.7.0(eslint@8.57.0)(typescript@5.4.2) - '@stylistic/eslint-plugin-ts': 1.7.0(eslint@8.57.0)(typescript@5.4.2) - '@types/eslint': 8.56.7 - eslint: 8.57.0 + '@stylistic/eslint-plugin-js': 2.1.0(eslint@9.2.0) + '@stylistic/eslint-plugin-jsx': 2.1.0(eslint@9.2.0) + '@stylistic/eslint-plugin-plus': 2.1.0(eslint@9.2.0)(typescript@5.4.2) + '@stylistic/eslint-plugin-ts': 2.1.0(eslint@9.2.0)(typescript@5.4.2) + '@types/eslint': 8.56.10 + eslint: 9.2.0 transitivePeerDependencies: - supports-color - typescript @@ -6089,9 +6125,9 @@ snapshots: '@tufjs/models@2.0.0': dependencies: '@tufjs/canonical-json': 2.0.0 - minimatch: 9.0.3 + minimatch: 9.0.4 - '@types/eslint@8.56.7': + '@types/eslint@8.56.10': dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 @@ -6120,129 +6156,127 @@ snapshots: dependencies: '@types/node': 20.12.7 - '@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.2)': + '@typescript-eslint/eslint-plugin@7.9.0(@typescript-eslint/parser@7.9.0(eslint@9.2.0)(typescript@5.4.2))(eslint@9.2.0)(typescript@5.4.2)': dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.6.0(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/scope-manager': 7.6.0 - '@typescript-eslint/type-utils': 7.6.0(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/utils': 7.6.0(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/visitor-keys': 7.6.0 - debug: 4.3.4 - eslint: 8.57.0 + '@typescript-eslint/parser': 7.9.0(eslint@9.2.0)(typescript@5.4.2) + '@typescript-eslint/scope-manager': 7.9.0 + '@typescript-eslint/type-utils': 7.9.0(eslint@9.2.0)(typescript@5.4.2) + '@typescript-eslint/utils': 7.9.0(eslint@9.2.0)(typescript@5.4.2) + '@typescript-eslint/visitor-keys': 7.9.0 + eslint: 9.2.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.6.0 ts-api-utils: 1.3.0(typescript@5.4.2) + optionalDependencies: typescript: 5.4.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.6.0(eslint@8.57.0)(typescript@5.4.2)': + '@typescript-eslint/parser@7.9.0(eslint@9.2.0)(typescript@5.4.2)': dependencies: - '@typescript-eslint/scope-manager': 7.6.0 - '@typescript-eslint/types': 7.6.0 - '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.2) - '@typescript-eslint/visitor-keys': 7.6.0 + '@typescript-eslint/scope-manager': 7.9.0 + '@typescript-eslint/types': 7.9.0 + '@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.2) + '@typescript-eslint/visitor-keys': 7.9.0 debug: 4.3.4 - eslint: 8.57.0 + eslint: 9.2.0 + optionalDependencies: typescript: 5.4.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@6.21.0': - dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 - '@typescript-eslint/scope-manager@7.6.0': dependencies: '@typescript-eslint/types': 7.6.0 '@typescript-eslint/visitor-keys': 7.6.0 - '@typescript-eslint/type-utils@7.6.0(eslint@8.57.0)(typescript@5.4.2)': + '@typescript-eslint/scope-manager@7.9.0': dependencies: - '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.2) - '@typescript-eslint/utils': 7.6.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/types': 7.9.0 + '@typescript-eslint/visitor-keys': 7.9.0 + + '@typescript-eslint/type-utils@7.9.0(eslint@9.2.0)(typescript@5.4.2)': + dependencies: + '@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.2) + '@typescript-eslint/utils': 7.9.0(eslint@9.2.0)(typescript@5.4.2) debug: 4.3.4 - eslint: 8.57.0 + eslint: 9.2.0 ts-api-utils: 1.3.0(typescript@5.4.2) + optionalDependencies: typescript: 5.4.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@6.21.0': {} - '@typescript-eslint/types@7.6.0': {} - '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.2)': + '@typescript-eslint/types@7.9.0': {} + + '@typescript-eslint/typescript-estree@7.6.0(typescript@5.4.2)': dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 + '@typescript-eslint/types': 7.6.0 + '@typescript-eslint/visitor-keys': 7.6.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - minimatch: 9.0.3 + minimatch: 9.0.4 semver: 7.6.0 ts-api-utils: 1.3.0(typescript@5.4.2) + optionalDependencies: typescript: 5.4.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@7.6.0(typescript@5.4.2)': + '@typescript-eslint/typescript-estree@7.9.0(typescript@5.4.2)': dependencies: - '@typescript-eslint/types': 7.6.0 - '@typescript-eslint/visitor-keys': 7.6.0 + '@typescript-eslint/types': 7.9.0 + '@typescript-eslint/visitor-keys': 7.9.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.4 semver: 7.6.0 ts-api-utils: 1.3.0(typescript@5.4.2) + optionalDependencies: typescript: 5.4.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.2)': + '@typescript-eslint/utils@7.6.0(eslint@9.2.0)(typescript@5.4.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.2) - eslint: 8.57.0 - semver: 7.6.0 - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/utils@7.6.0(eslint@8.57.0)(typescript@5.4.2)': - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 7.6.0 '@typescript-eslint/types': 7.6.0 '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.2) - eslint: 8.57.0 + eslint: 9.2.0 semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@6.21.0': + '@typescript-eslint/utils@7.9.0(eslint@9.2.0)(typescript@5.4.2)': dependencies: - '@typescript-eslint/types': 6.21.0 - eslint-visitor-keys: 3.4.3 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) + '@typescript-eslint/scope-manager': 7.9.0 + '@typescript-eslint/types': 7.9.0 + '@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.2) + eslint: 9.2.0 + transitivePeerDependencies: + - supports-color + - typescript '@typescript-eslint/visitor-keys@7.6.0': dependencies: '@typescript-eslint/types': 7.6.0 eslint-visitor-keys: 3.4.3 - '@ungap/structured-clone@1.2.0': {} + '@typescript-eslint/visitor-keys@7.9.0': + dependencies: + '@typescript-eslint/types': 7.9.0 + eslint-visitor-keys: 3.4.3 '@unhead/dom@1.9.4': dependencies: @@ -6263,7 +6297,7 @@ snapshots: '@unhead/schema': 1.9.4 '@unhead/shared': 1.9.4 - '@unhead/vue@1.9.4(vue@3.4.21)': + '@unhead/vue@1.9.4(vue@3.4.21(typescript@5.4.2))': dependencies: '@unhead/schema': 1.9.4 '@unhead/shared': 1.9.4 @@ -6271,12 +6305,13 @@ snapshots: unhead: 1.9.4 vue: 3.4.21(typescript@5.4.2) - '@unocss/astro@0.58.9(rollup@3.29.4)(vite@5.2.8)': + '@unocss/astro@0.58.9(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))': dependencies: '@unocss/core': 0.58.9 '@unocss/reset': 0.58.9 - '@unocss/vite': 0.58.9(rollup@3.29.4)(vite@5.2.8) - vite: 5.2.8(@types/node@20.12.7) + '@unocss/vite': 0.58.9(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)) + optionalDependencies: + vite: 5.2.8(@types/node@20.12.7)(terser@5.29.2) transitivePeerDependencies: - rollup @@ -6292,7 +6327,7 @@ snapshots: colorette: 2.0.20 consola: 3.2.3 fast-glob: 3.3.2 - magic-string: 0.30.9 + magic-string: 0.30.10 pathe: 1.1.2 perfect-debounce: 1.0.0 transitivePeerDependencies: @@ -6323,7 +6358,7 @@ snapshots: '@unocss/rule-utils': 0.58.9 css-tree: 2.3.1 fast-glob: 3.3.2 - magic-string: 0.30.9 + magic-string: 0.30.10 postcss: 8.4.37 '@unocss/preset-attributify@0.58.9': @@ -6376,7 +6411,7 @@ snapshots: '@unocss/rule-utils@0.58.9': dependencies: '@unocss/core': 0.58.9 - magic-string: 0.30.9 + magic-string: 0.30.10 '@unocss/scope@0.58.9': {} @@ -6407,7 +6442,7 @@ snapshots: dependencies: '@unocss/core': 0.58.9 - '@unocss/vite@0.58.9(rollup@3.29.4)(vite@5.2.8)': + '@unocss/vite@0.58.9(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@3.29.4) @@ -6418,14 +6453,14 @@ snapshots: '@unocss/transformer-directives': 0.58.9 chokidar: 3.6.0 fast-glob: 3.3.2 - magic-string: 0.30.9 - vite: 5.2.8(@types/node@20.12.7) + magic-string: 0.30.10 + vite: 5.2.8(@types/node@20.12.7)(terser@5.29.2) transitivePeerDependencies: - rollup - '@vercel/nft@0.26.4': + '@vercel/nft@0.26.4(encoding@0.1.13)': dependencies: - '@mapbox/node-pre-gyp': 1.0.11 + '@mapbox/node-pre-gyp': 1.0.11(encoding@0.1.13) '@rollup/pluginutils': 4.2.1 acorn: 8.11.3 acorn-import-attributes: 1.9.2(acorn@8.11.3) @@ -6441,19 +6476,19 @@ snapshots: - encoding - supports-color - '@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.8)(vue@3.4.21)': + '@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue@3.4.21(typescript@5.4.2))': dependencies: '@babel/core': 7.24.1 '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.1) '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.1) - vite: 5.2.8(@types/node@20.12.7) + vite: 5.2.8(@types/node@20.12.7)(terser@5.29.2) vue: 3.4.21(typescript@5.4.2) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.0.4(vite@5.2.8)(vue@3.4.21)': + '@vitejs/plugin-vue@5.0.4(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue@3.4.21(typescript@5.4.2))': dependencies: - vite: 5.2.8(@types/node@20.12.7) + vite: 5.2.8(@types/node@20.12.7)(terser@5.29.2) vue: 3.4.21(typescript@5.4.2) '@volar/language-core@2.2.0-alpha.7': @@ -6469,7 +6504,7 @@ snapshots: '@volar/language-core': 2.2.0-alpha.7 path-browserify: 1.0.1 - '@vue-macros/common@1.10.1(rollup@3.29.4)(vue@3.4.21)': + '@vue-macros/common@1.10.1(rollup@3.29.4)(vue@3.4.21(typescript@5.4.2))': dependencies: '@babel/types': 7.24.0 '@rollup/pluginutils': 5.1.0(rollup@3.29.4) @@ -6477,6 +6512,7 @@ snapshots: ast-kit: 0.11.3(rollup@3.29.4) local-pkg: 0.5.0 magic-string-ast: 0.3.0 + optionalDependencies: vue: 3.4.21(typescript@5.4.2) transitivePeerDependencies: - rollup @@ -6485,7 +6521,6 @@ snapshots: '@vue/babel-plugin-jsx@1.2.2(@babel/core@7.24.1)': dependencies: - '@babel/core': 7.24.1 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.1) @@ -6497,6 +6532,8 @@ snapshots: camelcase: 6.3.0 html-tags: 3.3.1 svg-tags: 1.0.0 + optionalDependencies: + '@babel/core': 7.24.1 transitivePeerDependencies: - supports-color @@ -6541,16 +6578,16 @@ snapshots: '@vue/devtools-api@6.6.1': {} - '@vue/devtools-applet@7.0.25(@unocss/reset@0.58.9)(floating-vue@5.2.2)(fuse.js@7.0.0)(unocss@0.58.9)(vite@5.2.8)(vue@3.4.21)': + '@vue/devtools-applet@7.0.25(@unocss/reset@0.58.9)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@3.29.4))(vue@3.4.21(typescript@5.4.2)))(fuse.js@7.0.0)(unocss@0.58.9(postcss@8.4.37)(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)))(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue@3.4.21(typescript@5.4.2))': dependencies: - '@vue/devtools-core': 7.0.25(vite@5.2.8)(vue@3.4.21) - '@vue/devtools-kit': 7.0.25(vue@3.4.21) + '@vue/devtools-core': 7.0.25(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue@3.4.21(typescript@5.4.2)) + '@vue/devtools-kit': 7.0.25(vue@3.4.21(typescript@5.4.2)) '@vue/devtools-shared': 7.0.25 - '@vue/devtools-ui': 7.0.25(@unocss/reset@0.58.9)(floating-vue@5.2.2)(fuse.js@7.0.0)(unocss@0.58.9)(vue@3.4.21) + '@vue/devtools-ui': 7.0.25(@unocss/reset@0.58.9)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@3.29.4))(vue@3.4.21(typescript@5.4.2)))(fuse.js@7.0.0)(unocss@0.58.9(postcss@8.4.37)(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)))(vue@3.4.21(typescript@5.4.2)) perfect-debounce: 1.0.0 splitpanes: 3.1.5 vue: 3.4.21(typescript@5.4.2) - vue-virtual-scroller: 2.0.0-beta.8(vue@3.4.21) + vue-virtual-scroller: 2.0.0-beta.8(vue@3.4.21(typescript@5.4.2)) transitivePeerDependencies: - '@unocss/reset' - '@vue/composition-api' @@ -6569,19 +6606,19 @@ snapshots: - unocss - vite - '@vue/devtools-core@7.0.25(vite@5.2.8)(vue@3.4.21)': + '@vue/devtools-core@7.0.25(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue@3.4.21(typescript@5.4.2))': dependencies: - '@vue/devtools-kit': 7.0.25(vue@3.4.21) + '@vue/devtools-kit': 7.0.25(vue@3.4.21(typescript@5.4.2)) '@vue/devtools-shared': 7.0.25 mitt: 3.0.1 nanoid: 3.3.7 pathe: 1.1.2 - vite-hot-client: 0.2.3(vite@5.2.8) + vite-hot-client: 0.2.3(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)) transitivePeerDependencies: - vite - vue - '@vue/devtools-kit@7.0.25(vue@3.4.21)': + '@vue/devtools-kit@7.0.25(vue@3.4.21(typescript@5.4.2))': dependencies: '@vue/devtools-shared': 7.0.25 hookable: 5.5.3 @@ -6594,16 +6631,16 @@ snapshots: dependencies: rfdc: 1.3.1 - '@vue/devtools-ui@7.0.25(@unocss/reset@0.58.9)(floating-vue@5.2.2)(fuse.js@7.0.0)(unocss@0.58.9)(vue@3.4.21)': + '@vue/devtools-ui@7.0.25(@unocss/reset@0.58.9)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@3.29.4))(vue@3.4.21(typescript@5.4.2)))(fuse.js@7.0.0)(unocss@0.58.9(postcss@8.4.37)(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)))(vue@3.4.21(typescript@5.4.2))': dependencies: '@unocss/reset': 0.58.9 - '@vueuse/components': 10.9.0(vue@3.4.21) - '@vueuse/core': 10.9.0(vue@3.4.21) - '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(fuse.js@7.0.0)(vue@3.4.21) + '@vueuse/components': 10.9.0(vue@3.4.21(typescript@5.4.2)) + '@vueuse/core': 10.9.0(vue@3.4.21(typescript@5.4.2)) + '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(fuse.js@7.0.0)(vue@3.4.21(typescript@5.4.2)) colord: 2.9.3 - floating-vue: 5.2.2(@nuxt/kit@3.11.2)(vue@3.4.21) + floating-vue: 5.2.2(@nuxt/kit@3.11.2(rollup@3.29.4))(vue@3.4.21(typescript@5.4.2)) focus-trap: 7.5.4 - unocss: 0.58.9(postcss@8.4.37)(rollup@3.29.4)(vite@5.2.8) + unocss: 0.58.9(postcss@8.4.37)(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)) vue: 3.4.21(typescript@5.4.2) transitivePeerDependencies: - '@vue/composition-api' @@ -6627,8 +6664,9 @@ snapshots: computeds: 0.0.1 minimatch: 9.0.3 path-browserify: 1.0.1 - typescript: 5.4.2 vue-template-compiler: 2.7.16 + optionalDependencies: + typescript: 5.4.2 '@vue/reactivity@3.4.21': dependencies: @@ -6645,7 +6683,7 @@ snapshots: '@vue/shared': 3.4.21 csstype: 3.1.3 - '@vue/server-renderer@3.4.21(vue@3.4.21)': + '@vue/server-renderer@3.4.21(vue@3.4.21(typescript@5.4.2))': dependencies: '@vue/compiler-ssr': 3.4.21 '@vue/shared': 3.4.21 @@ -6653,41 +6691,42 @@ snapshots: '@vue/shared@3.4.21': {} - '@vueuse/components@10.9.0(vue@3.4.21)': + '@vueuse/components@10.9.0(vue@3.4.21(typescript@5.4.2))': dependencies: - '@vueuse/core': 10.9.0(vue@3.4.21) - '@vueuse/shared': 10.9.0(vue@3.4.21) - vue-demi: 0.14.7(vue@3.4.21) + '@vueuse/core': 10.9.0(vue@3.4.21(typescript@5.4.2)) + '@vueuse/shared': 10.9.0(vue@3.4.21(typescript@5.4.2)) + vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.2)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/core@10.9.0(vue@3.4.21)': + '@vueuse/core@10.9.0(vue@3.4.21(typescript@5.4.2))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.9.0 - '@vueuse/shared': 10.9.0(vue@3.4.21) - vue-demi: 0.14.7(vue@3.4.21) + '@vueuse/shared': 10.9.0(vue@3.4.21(typescript@5.4.2)) + vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.2)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/integrations@10.9.0(focus-trap@7.5.4)(fuse.js@7.0.0)(vue@3.4.21)': + '@vueuse/integrations@10.9.0(focus-trap@7.5.4)(fuse.js@7.0.0)(vue@3.4.21(typescript@5.4.2))': dependencies: - '@vueuse/core': 10.9.0(vue@3.4.21) - '@vueuse/shared': 10.9.0(vue@3.4.21) + '@vueuse/core': 10.9.0(vue@3.4.21(typescript@5.4.2)) + '@vueuse/shared': 10.9.0(vue@3.4.21(typescript@5.4.2)) + vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.2)) + optionalDependencies: focus-trap: 7.5.4 fuse.js: 7.0.0 - vue-demi: 0.14.7(vue@3.4.21) transitivePeerDependencies: - '@vue/composition-api' - vue '@vueuse/metadata@10.9.0': {} - '@vueuse/shared@10.9.0(vue@3.4.21)': + '@vueuse/shared@10.9.0(vue@3.4.21(typescript@5.4.2))': dependencies: - vue-demi: 0.14.7(vue@3.4.21) + vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.2)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -7430,9 +7469,9 @@ snapshots: find-up: 7.0.0 parse-gitignore: 2.0.0 - eslint-flat-config-utils@0.2.2: + eslint-flat-config-utils@0.2.4: dependencies: - '@types/eslint': 8.56.7 + '@types/eslint': 8.56.10 pathe: 1.1.2 eslint-import-resolver-node@0.3.9: @@ -7443,29 +7482,29 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-import-x@0.5.0(eslint@8.57.0)(typescript@5.4.2): + eslint-plugin-import-x@0.5.0(eslint@9.2.0)(typescript@5.4.2): dependencies: - '@typescript-eslint/utils': 7.6.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/utils': 7.6.0(eslint@9.2.0)(typescript@5.4.2) debug: 4.3.4 doctrine: 3.0.0 - eslint: 8.57.0 + eslint: 9.2.0 eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.7.3 is-glob: 4.0.3 - minimatch: 9.0.3 + minimatch: 9.0.4 semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript - eslint-plugin-jsdoc@48.2.3(eslint@8.57.0): + eslint-plugin-jsdoc@48.2.3(eslint@9.2.0): dependencies: '@es-joy/jsdoccomment': 0.42.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 debug: 4.3.4 escape-string-regexp: 4.0.0 - eslint: 8.57.0 + eslint: 9.2.0 esquery: 1.5.0 is-builtin-module: 3.2.1 semver: 7.6.0 @@ -7473,15 +7512,15 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-unicorn@52.0.0(eslint@8.57.0): + eslint-plugin-unicorn@52.0.0(eslint@9.2.0): dependencies: '@babel/helper-validator-identifier': 7.22.20 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) '@eslint/eslintrc': 2.1.4 ci-info: 4.0.0 clean-regexp: 1.0.0 core-js-compat: 3.36.1 - eslint: 8.57.0 + eslint: 9.2.0 esquery: 1.5.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 @@ -7495,16 +7534,16 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-vue@9.24.1(eslint@8.57.0): + eslint-plugin-vue@9.26.0(eslint@9.2.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - eslint: 8.57.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) + eslint: 9.2.0 globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.0.16 semver: 7.6.0 - vue-eslint-parser: 9.4.2(eslint@8.57.0) + vue-eslint-parser: 9.4.2(eslint@9.2.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -7514,40 +7553,43 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 + eslint-scope@8.0.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + eslint-visitor-keys@3.4.3: {} - eslint@8.57.0: + eslint-visitor-keys@4.0.0: {} + + eslint@9.2.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint/eslintrc': 3.0.2 + '@eslint/js': 9.2.0 + '@humanwhocodes/config-array': 0.13.0 '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.2.4 '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.4 - doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.0.1 + eslint-visitor-keys: 4.0.0 + espree: 10.0.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 @@ -7559,6 +7601,12 @@ snapshots: transitivePeerDependencies: - supports-color + espree@10.0.1: + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 4.0.0 + espree@9.6.1: dependencies: acorn: 8.11.3 @@ -7675,9 +7723,9 @@ snapshots: dependencies: is-unicode-supported: 2.0.0 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 file-uri-to-path@1.0.0: {} @@ -7701,22 +7749,22 @@ snapshots: path-exists: 5.0.0 unicorn-magic: 0.1.0 - flat-cache@3.2.0: + flat-cache@4.0.1: dependencies: flatted: 3.3.1 keyv: 4.5.4 - rimraf: 3.0.2 flat@5.0.2: {} flatted@3.3.1: {} - floating-vue@5.2.2(@nuxt/kit@3.11.2)(vue@3.4.21): + floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@3.29.4))(vue@3.4.21(typescript@5.4.2)): dependencies: '@floating-ui/dom': 1.1.1 - '@nuxt/kit': 3.11.2(rollup@3.29.4) vue: 3.4.21(typescript@5.4.2) - vue-resize: 2.0.0-alpha.1(vue@3.4.21) + vue-resize: 2.0.0-alpha.1(vue@3.4.21(typescript@5.4.2)) + optionalDependencies: + '@nuxt/kit': 3.11.2(rollup@3.29.4) focus-trap@7.5.4: dependencies: @@ -7819,7 +7867,7 @@ snapshots: dependencies: foreground-child: 3.1.1 jackspeak: 2.3.6 - minimatch: 9.0.3 + minimatch: 9.0.4 minipass: 7.0.4 path-scurry: 1.10.1 @@ -7850,7 +7898,9 @@ snapshots: dependencies: type-fest: 0.20.2 - globals@15.0.0: {} + globals@14.0.0: {} + + globals@15.2.0: {} globby@11.1.0: dependencies: @@ -7981,7 +8031,7 @@ snapshots: ignore-walk@6.0.4: dependencies: - minimatch: 9.0.3 + minimatch: 9.0.4 ignore@5.3.1: {} @@ -8399,6 +8449,7 @@ snapshots: pathe: 1.1.2 postcss: 8.4.37 postcss-nested: 6.0.1(postcss@8.4.37) + optionalDependencies: typescript: 5.4.2 mlly@1.6.1: @@ -8435,7 +8486,7 @@ snapshots: negotiator@0.6.3: {} - nitropack-nightly@2.10.0-28585081.346a4950: + nitropack-nightly@2.10.0-28585081.346a4950(encoding@0.1.13): dependencies: '@cloudflare/kv-asset-handler': 0.3.2 '@netlify/functions': 2.6.0 @@ -8448,7 +8499,7 @@ snapshots: '@rollup/plugin-terser': 0.4.4(rollup@4.17.2) '@rollup/pluginutils': 5.1.0(rollup@4.17.2) '@types/http-proxy': 1.17.14 - '@vercel/nft': 0.26.4 + '@vercel/nft': 0.26.4(encoding@0.1.13) archiver: 7.0.1 c12: 1.10.0 chalk: 5.3.0 @@ -8480,7 +8531,7 @@ snapshots: listhen: 1.7.2 magic-string: 0.30.10 mime: 4.0.3 - mlly: 1.6.1 + mlly: 1.7.0 mri: 1.2.0 node-fetch-native: 1.6.4 ofetch: 1.3.4 @@ -8532,9 +8583,11 @@ snapshots: node-fetch-native@1.6.4: {} - node-fetch@2.7.0: + node-fetch@2.7.0(encoding@0.1.13): dependencies: whatwg-url: 5.0.0 + optionalDependencies: + encoding: 0.1.13 node-forge@1.3.1: {} @@ -8646,19 +8699,18 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - nuxt@3.11.2(@types/node@20.12.7)(@unocss/reset@0.58.9)(eslint@8.57.0)(floating-vue@5.2.2)(fuse.js@7.0.0)(rollup@3.29.4)(typescript@5.4.2)(unocss@0.58.9)(vite@5.2.8)(vue-tsc@2.0.12): + nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.2.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@3.29.4))(vue@3.4.21(typescript@5.4.2)))(fuse.js@7.0.0)(ioredis@5.4.1)(optionator@0.9.3)(rollup@3.29.4)(terser@5.29.2)(typescript@5.4.2)(unocss@0.58.9(postcss@8.4.37)(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)))(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue-tsc@2.0.12(typescript@5.4.2)): dependencies: '@nuxt/devalue': 2.0.2 - '@nuxt/devtools': 1.1.5(@unocss/reset@0.58.9)(floating-vue@5.2.2)(fuse.js@7.0.0)(nuxt@3.11.2)(rollup@3.29.4)(unocss@0.58.9)(vite@5.2.8)(vue@3.4.21) + '@nuxt/devtools': 1.1.5(@unocss/reset@0.58.9)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@3.29.4))(vue@3.4.21(typescript@5.4.2)))(fuse.js@7.0.0)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.2.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@3.29.4))(vue@3.4.21(typescript@5.4.2)))(fuse.js@7.0.0)(ioredis@5.4.1)(optionator@0.9.3)(rollup@3.29.4)(terser@5.29.2)(typescript@5.4.2)(unocss@0.58.9(postcss@8.4.37)(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)))(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue-tsc@2.0.12(typescript@5.4.2)))(rollup@3.29.4)(unocss@0.58.9(postcss@8.4.37)(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)))(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue@3.4.21(typescript@5.4.2)) '@nuxt/kit': 3.11.2(rollup@3.29.4) '@nuxt/schema': 3.11.2(rollup@3.29.4) '@nuxt/telemetry': 2.5.3(rollup@3.29.4) '@nuxt/ui-templates': 1.3.2 - '@nuxt/vite-builder': 3.11.2(@types/node@20.12.7)(eslint@8.57.0)(rollup@3.29.4)(typescript@5.4.2)(vue-tsc@2.0.12)(vue@3.4.21) - '@types/node': 20.12.7 + '@nuxt/vite-builder': 3.11.2(@types/node@20.12.7)(eslint@9.2.0)(optionator@0.9.3)(rollup@3.29.4)(terser@5.29.2)(typescript@5.4.2)(vue-tsc@2.0.12(typescript@5.4.2))(vue@3.4.21(typescript@5.4.2)) '@unhead/dom': 1.9.4 '@unhead/ssr': 1.9.4 - '@unhead/vue': 1.9.4(vue@3.4.21) + '@unhead/vue': 1.9.4(vue@3.4.21(typescript@5.4.2)) '@vue/shared': 3.4.21 acorn: 8.11.3 c12: 1.10.0 @@ -8679,7 +8731,7 @@ snapshots: knitwork: 1.1.0 magic-string: 0.30.9 mlly: 1.6.1 - nitropack: nitropack-nightly@2.10.0-28585081.346a4950 + nitropack: nitropack-nightly@2.10.0-28585081.346a4950(encoding@0.1.13) nuxi: 3.11.1 nypm: 0.3.8 ofetch: 1.3.4 @@ -8698,13 +8750,16 @@ snapshots: unenv: 1.9.0 unimport: 3.7.1(rollup@3.29.4) unplugin: 1.10.1 - unplugin-vue-router: 0.7.0(rollup@3.29.4)(vue-router@4.3.0)(vue@3.4.21) + unplugin-vue-router: 0.7.0(rollup@3.29.4)(vue-router@4.3.0(vue@3.4.21(typescript@5.4.2)))(vue@3.4.21(typescript@5.4.2)) unstorage: 1.10.2(ioredis@5.4.1) untyped: 1.4.2 vue: 3.4.21(typescript@5.4.2) vue-bundle-renderer: 2.0.0 vue-devtools-stub: 0.1.0 - vue-router: 4.3.0(vue@3.4.21) + vue-router: 4.3.0(vue@3.4.21(typescript@5.4.2)) + optionalDependencies: + '@parcel/watcher': 2.4.1 + '@types/node': 20.12.7 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -9283,8 +9338,6 @@ snapshots: prelude-ls@1.2.1: {} - prettier@3.2.5: {} - pretty-bytes@6.1.1: {} pretty-ms@9.0.0: @@ -9438,17 +9491,19 @@ snapshots: dependencies: open: 8.4.2 picomatch: 2.3.1 - rollup: 3.29.4 source-map: 0.7.4 yargs: 17.7.2 + optionalDependencies: + rollup: 3.29.4 rollup-plugin-visualizer@5.12.0(rollup@4.17.2): dependencies: open: 8.4.2 picomatch: 2.3.1 - rollup: 4.17.2 source-map: 0.7.4 yargs: 17.7.2 + optionalDependencies: + rollup: 4.17.2 rollup@3.29.4: optionalDependencies: @@ -9869,8 +9924,9 @@ snapshots: rollup: 3.29.4 rollup-plugin-dts: 6.1.0(rollup@3.29.4)(typescript@5.4.2) scule: 1.3.0 - typescript: 5.4.2 untyped: 1.4.2 + optionalDependencies: + typescript: 5.4.2 transitivePeerDependencies: - sass - supports-color @@ -9880,7 +9936,7 @@ snapshots: '@antfu/utils': 0.7.7 defu: 6.1.4 jiti: 1.21.0 - mlly: 1.6.1 + mlly: 1.7.0 uncrypto@0.1.3: {} @@ -9960,9 +10016,9 @@ snapshots: universalify@2.0.1: {} - unocss@0.58.9(postcss@8.4.37)(rollup@3.29.4)(vite@5.2.8): + unocss@0.58.9(postcss@8.4.37)(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)): dependencies: - '@unocss/astro': 0.58.9(rollup@3.29.4)(vite@5.2.8) + '@unocss/astro': 0.58.9(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)) '@unocss/cli': 0.58.9(rollup@3.29.4) '@unocss/core': 0.58.9 '@unocss/extractor-arbitrary-variants': 0.58.9 @@ -9981,18 +10037,19 @@ snapshots: '@unocss/transformer-compile-class': 0.58.9 '@unocss/transformer-directives': 0.58.9 '@unocss/transformer-variant-group': 0.58.9 - '@unocss/vite': 0.58.9(rollup@3.29.4)(vite@5.2.8) - vite: 5.2.8(@types/node@20.12.7) + '@unocss/vite': 0.58.9(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)) + optionalDependencies: + vite: 5.2.8(@types/node@20.12.7)(terser@5.29.2) transitivePeerDependencies: - postcss - rollup - supports-color - unplugin-vue-router@0.7.0(rollup@3.29.4)(vue-router@4.3.0)(vue@3.4.21): + unplugin-vue-router@0.7.0(rollup@3.29.4)(vue-router@4.3.0(vue@3.4.21(typescript@5.4.2)))(vue@3.4.21(typescript@5.4.2)): dependencies: '@babel/types': 7.24.0 '@rollup/pluginutils': 5.1.0(rollup@3.29.4) - '@vue-macros/common': 1.10.1(rollup@3.29.4)(vue@3.4.21) + '@vue-macros/common': 1.10.1(rollup@3.29.4)(vue@3.4.21(typescript@5.4.2)) ast-walker-scope: 0.5.0(rollup@3.29.4) chokidar: 3.6.0 fast-glob: 3.3.2 @@ -10002,8 +10059,9 @@ snapshots: pathe: 1.1.2 scule: 1.3.0 unplugin: 1.10.1 - vue-router: 4.3.0(vue@3.4.21) yaml: 2.4.1 + optionalDependencies: + vue-router: 4.3.0(vue@3.4.21(typescript@5.4.2)) transitivePeerDependencies: - rollup - vue @@ -10028,13 +10086,14 @@ snapshots: chokidar: 3.6.0 destr: 2.0.3 h3: 1.11.1 - ioredis: 5.4.1 listhen: 1.7.2 lru-cache: 10.2.0 mri: 1.2.0 node-fetch-native: 1.6.4 ofetch: 1.3.4 ufo: 1.5.3 + optionalDependencies: + ioredis: 5.4.1 transitivePeerDependencies: - uWebSockets.js @@ -10062,7 +10121,7 @@ snapshots: dependencies: knitwork: 1.1.0 magic-string: 0.30.10 - mlly: 1.6.1 + mlly: 1.7.0 pathe: 1.1.2 pkg-types: 1.1.1 unplugin: 1.10.1 @@ -10096,17 +10155,17 @@ snapshots: dependencies: builtins: 5.0.1 - vite-hot-client@0.2.3(vite@5.2.8): + vite-hot-client@0.2.3(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)): dependencies: - vite: 5.2.8(@types/node@20.12.7) + vite: 5.2.8(@types/node@20.12.7)(terser@5.29.2) - vite-node@1.4.0(@types/node@20.12.7): + vite-node@1.4.0(@types/node@20.12.7)(terser@5.29.2): dependencies: cac: 6.7.14 debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.8(@types/node@20.12.7) + vite: 5.2.8(@types/node@20.12.7)(terser@5.29.2) transitivePeerDependencies: - '@types/node' - less @@ -10117,32 +10176,33 @@ snapshots: - supports-color - terser - vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.2.8)(vue-tsc@2.0.12): + vite-plugin-checker@0.6.4(eslint@9.2.0)(optionator@0.9.3)(typescript@5.4.2)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue-tsc@2.0.12(typescript@5.4.2)): dependencies: '@babel/code-frame': 7.24.2 ansi-escapes: 4.3.2 chalk: 4.1.2 chokidar: 3.6.0 commander: 8.3.0 - eslint: 8.57.0 fast-glob: 3.3.2 fs-extra: 11.2.0 npm-run-path: 4.0.1 semver: 7.6.0 strip-ansi: 6.0.1 tiny-invariant: 1.3.3 - typescript: 5.4.2 - vite: 5.2.8(@types/node@20.12.7) + vite: 5.2.8(@types/node@20.12.7)(terser@5.29.2) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 + optionalDependencies: + eslint: 9.2.0 + optionator: 0.9.3 + typescript: 5.4.2 vue-tsc: 2.0.12(typescript@5.4.2) - vite-plugin-inspect@0.8.3(@nuxt/kit@3.11.2)(rollup@3.29.4)(vite@5.2.8): + vite-plugin-inspect@0.8.3(@nuxt/kit@3.11.2(rollup@3.29.4))(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)): dependencies: '@antfu/utils': 0.7.7 - '@nuxt/kit': 3.11.2(rollup@3.29.4) '@rollup/pluginutils': 5.1.0(rollup@3.29.4) debug: 4.3.4 error-stack-parser-es: 0.1.1 @@ -10151,12 +10211,14 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.2.8(@types/node@20.12.7) + vite: 5.2.8(@types/node@20.12.7)(terser@5.29.2) + optionalDependencies: + '@nuxt/kit': 3.11.2(rollup@3.29.4) transitivePeerDependencies: - rollup - supports-color - vite-plugin-vue-inspector@4.0.2(vite@5.2.8): + vite-plugin-vue-inspector@4.0.2(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2)): dependencies: '@babel/core': 7.24.1 '@babel/plugin-proposal-decorators': 7.24.1(@babel/core@7.24.1) @@ -10167,22 +10229,23 @@ snapshots: '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 magic-string: 0.30.9 - vite: 5.2.8(@types/node@20.12.7) + vite: 5.2.8(@types/node@20.12.7)(terser@5.29.2) transitivePeerDependencies: - supports-color - vite@5.2.8(@types/node@20.12.7): + vite@5.2.8(@types/node@20.12.7)(terser@5.29.2): dependencies: - '@types/node': 20.12.7 esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.14.0 optionalDependencies: + '@types/node': 20.12.7 fsevents: 2.3.3 + terser: 5.29.2 - vitest-environment-nuxt@1.0.0(h3@1.11.1)(rollup@3.29.4)(vite@5.2.8)(vue-router@4.3.0)(vue@3.4.21): + vitest-environment-nuxt@1.0.0(h3@1.11.1)(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue-router@4.3.0(vue@3.4.21(typescript@5.4.2)))(vue@3.4.21(typescript@5.4.2)): dependencies: - '@nuxt/test-utils': 3.13.0(h3@1.11.1)(rollup@3.29.4)(vite@5.2.8)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.13.0(h3@1.11.1)(rollup@3.29.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.29.2))(vue-router@4.3.0(vue@3.4.21(typescript@5.4.2)))(vue@3.4.21(typescript@5.4.2)) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -10229,16 +10292,16 @@ snapshots: dependencies: ufo: 1.5.3 - vue-demi@0.14.7(vue@3.4.21): + vue-demi@0.14.7(vue@3.4.21(typescript@5.4.2)): dependencies: vue: 3.4.21(typescript@5.4.2) vue-devtools-stub@0.1.0: {} - vue-eslint-parser@9.4.2(eslint@8.57.0): + vue-eslint-parser@9.4.2(eslint@9.2.0): dependencies: debug: 4.3.4 - eslint: 8.57.0 + eslint: 9.2.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 @@ -10248,15 +10311,15 @@ snapshots: transitivePeerDependencies: - supports-color - vue-observe-visibility@2.0.0-alpha.1(vue@3.4.21): + vue-observe-visibility@2.0.0-alpha.1(vue@3.4.21(typescript@5.4.2)): dependencies: vue: 3.4.21(typescript@5.4.2) - vue-resize@2.0.0-alpha.1(vue@3.4.21): + vue-resize@2.0.0-alpha.1(vue@3.4.21(typescript@5.4.2)): dependencies: vue: 3.4.21(typescript@5.4.2) - vue-router@4.3.0(vue@3.4.21): + vue-router@4.3.0(vue@3.4.21(typescript@5.4.2)): dependencies: '@vue/devtools-api': 6.6.1 vue: 3.4.21(typescript@5.4.2) @@ -10273,20 +10336,21 @@ snapshots: semver: 7.6.0 typescript: 5.4.2 - vue-virtual-scroller@2.0.0-beta.8(vue@3.4.21): + vue-virtual-scroller@2.0.0-beta.8(vue@3.4.21(typescript@5.4.2)): dependencies: mitt: 2.1.0 vue: 3.4.21(typescript@5.4.2) - vue-observe-visibility: 2.0.0-alpha.1(vue@3.4.21) - vue-resize: 2.0.0-alpha.1(vue@3.4.21) + vue-observe-visibility: 2.0.0-alpha.1(vue@3.4.21(typescript@5.4.2)) + vue-resize: 2.0.0-alpha.1(vue@3.4.21(typescript@5.4.2)) vue@3.4.21(typescript@5.4.2): dependencies: '@vue/compiler-dom': 3.4.21 '@vue/compiler-sfc': 3.4.21 '@vue/runtime-dom': 3.4.21 - '@vue/server-renderer': 3.4.21(vue@3.4.21) + '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.4.2)) '@vue/shared': 3.4.21 + optionalDependencies: typescript: 5.4.2 webidl-conversions@3.0.1: {} diff --git a/src/commands/add.ts b/src/commands/add.ts index 0db8d617..f403c30b 100644 --- a/src/commands/add.ts +++ b/src/commands/add.ts @@ -1,9 +1,9 @@ import { existsSync, promises as fsp } from 'node:fs' import { dirname, resolve, extname } from 'pathe' import { consola } from 'consola' +import { defineCommand } from 'citty' import { loadKit } from '../utils/kit' import { templates } from '../utils/templates' -import { defineCommand } from 'citty' import { sharedArgs } from './_shared' export default defineCommand({ @@ -34,8 +34,8 @@ export default defineCommand({ const template = ctx.args.template const ext = extname(ctx.args.name) - const name = - ext === '.vue' || ext === '.ts' + const name + = ext === '.vue' || ext === '.ts' ? ctx.args.name.replace(ext, '') : ctx.args.name diff --git a/src/commands/analyze.ts b/src/commands/analyze.ts index c99962b4..8be33147 100644 --- a/src/commands/analyze.ts +++ b/src/commands/analyze.ts @@ -4,10 +4,10 @@ import { createApp, eventHandler, lazyEventHandler, toNodeListener } from 'h3' import { listen } from 'listhen' import type { NuxtAnalyzeMeta } from '@nuxt/schema' import { defu } from 'defu' +import { defineCommand } from 'citty' import { loadKit } from '../utils/kit' import { clearDir } from '../utils/fs' import { overrideEnv } from '../utils/env' -import { defineCommand } from 'citty' import { sharedArgs, legacyRootDirArgs } from './_shared' export default defineCommand({ @@ -54,8 +54,8 @@ export default defineCommand({ const analyzeDir = nuxt.options.analyzeDir const buildDir = nuxt.options.buildDir - const outDir = - nuxt.options.nitro.output?.dir || join(nuxt.options.rootDir, '.output') + const outDir + = nuxt.options.nitro.output?.dir || join(nuxt.options.rootDir, '.output') nuxt.options.build.analyze = defu(nuxt.options.build.analyze, { filename: join(analyzeDir, 'client.html'), diff --git a/src/commands/build-module.ts b/src/commands/build-module.ts index 541ff020..f4411ba6 100644 --- a/src/commands/build-module.ts +++ b/src/commands/build-module.ts @@ -1,8 +1,8 @@ import { execa } from 'execa' import { consola } from 'consola' import { resolve } from 'pathe' -import { tryResolveModule } from '../utils/esm' import { defineCommand } from 'citty' +import { tryResolveModule } from '../utils/esm' import { legacyRootDirArgs, sharedArgs } from './_shared' const MODULE_BUILDER_PKG = '@nuxt/module-builder' diff --git a/src/commands/build.ts b/src/commands/build.ts index 1fe07adf..7c16cead 100644 --- a/src/commands/build.ts +++ b/src/commands/build.ts @@ -1,11 +1,11 @@ import { relative, resolve } from 'pathe' import { consola } from 'consola' import type { Nitro } from 'nitropack' +import { defineCommand } from 'citty' import { loadKit } from '../utils/kit' import { clearBuildDir } from '../utils/fs' import { overrideEnv } from '../utils/env' import { showVersions } from '../utils/banner' -import { defineCommand } from 'citty' import { sharedArgs, legacyRootDirArgs } from './_shared' export default defineCommand({ @@ -66,7 +66,8 @@ export default defineCommand({ try { // Use ? for backward compatibility for Nuxt <= RC.10 nitro = kit.useNitro?.() - } catch { + } + catch { // } diff --git a/src/commands/cleanup.ts b/src/commands/cleanup.ts index f826b97c..f81e0d02 100644 --- a/src/commands/cleanup.ts +++ b/src/commands/cleanup.ts @@ -1,9 +1,9 @@ import { resolve } from 'pathe' -import { cleanupNuxtDirs } from '../utils/nuxt' import { defineCommand } from 'citty' +import { cleanupNuxtDirs } from '../utils/nuxt' -import { sharedArgs, legacyRootDirArgs } from './_shared' import { loadKit } from '../utils/kit' +import { sharedArgs, legacyRootDirArgs } from './_shared' export default defineCommand({ meta: { diff --git a/src/commands/dev-child.ts b/src/commands/dev-child.ts index d6685885..dab35d5d 100644 --- a/src/commands/dev-child.ts +++ b/src/commands/dev-child.ts @@ -1,14 +1,11 @@ import { resolve } from 'pathe' import { consola } from 'consola' -import { overrideEnv } from '../utils/env' import { defineCommand } from 'citty' -import { sharedArgs, legacyRootDirArgs } from './_shared' import { isTest } from 'std-env' -import { - NuxtDevContext, - NuxtDevIPCMessage, - createNuxtDevServer, -} from '../utils/dev' +import { overrideEnv } from '../utils/env' +import type { NuxtDevContext, NuxtDevIPCMessage } from '../utils/dev' +import { createNuxtDevServer } from '../utils/dev' +import { sharedArgs, legacyRootDirArgs } from './_shared' export default defineCommand({ meta: { @@ -34,8 +31,8 @@ export default defineCommand({ const cwd = resolve(ctx.args.cwd || ctx.args.rootDir || '.') // Get dev context info - const devContext: NuxtDevContext = - JSON.parse(process.env.__NUXT_DEV__ || 'null') || {} + const devContext: NuxtDevContext + = JSON.parse(process.env.__NUXT_DEV__ || 'null') || {} // Init Nuxt dev const nuxtDev = await createNuxtDevServer({ @@ -52,11 +49,12 @@ export default defineCommand({ function sendIPCMessage(message: T) { if (process.send) { process.send(message) - } else { + } + else { logger.info( 'Dev server event:', Object.entries(message) - .map((e) => e[0] + '=' + JSON.stringify(e[1])) + .map(e => e[0] + '=' + JSON.stringify(e[1])) .join(' '), ) } diff --git a/src/commands/dev.ts b/src/commands/dev.ts index 498d6ef8..b92aadf9 100644 --- a/src/commands/dev.ts +++ b/src/commands/dev.ts @@ -1,23 +1,23 @@ import { fork } from 'node:child_process' +import type { ChildProcess } from 'node:child_process' +import type { IncomingMessage, ServerResponse } from 'node:http' import { resolve } from 'pathe' import { setupDotenv } from 'c12' -import { defineCommand, ParsedArgs } from 'citty' +import type { ParsedArgs } from 'citty' +import { defineCommand } from 'citty' import { isBun, isTest } from 'std-env' import { getArgs as getListhenArgs, parseArgs as parseListhenArgs, } from 'listhen/cli' +import type { HTTPSOptions, ListenOptions } from 'listhen' +import type { NuxtOptions } from '@nuxt/schema' import { showVersions } from '../utils/banner' import { loadKit } from '../utils/kit' import { importModule } from '../utils/esm' import { overrideEnv } from '../utils/env' -import { sharedArgs, legacyRootDirArgs } from './_shared' - -import type { HTTPSOptions, ListenOptions } from 'listhen' -import type { ChildProcess } from 'node:child_process' -import type { NuxtOptions } from '@nuxt/schema' -import type { IncomingMessage, ServerResponse } from 'node:http' import type { NuxtDevContext, NuxtDevIPCMessage } from '../utils/dev' +import { sharedArgs, legacyRootDirArgs } from './_shared' const forkSupported = !isBun && !isTest @@ -70,7 +70,8 @@ const command = defineCommand({ const devProxy = await _createDevProxy(nuxtOptions, listenOptions) await _startSubprocess(devProxy, ctx.rawArgs) return { listener: devProxy?.listener } - } else { + } + else { // Directly start Nuxt dev const { createNuxtDevServer } = await import('../utils/dev') const devServer = await createNuxtDevServer( @@ -95,7 +96,10 @@ export default command // --- Internal --- -type ArgsT = Exclude, undefined | Function> +type ArgsT = Exclude< + Awaited, + undefined | ((...args: unknown[]) => unknown) +> type DevProxy = Awaited> @@ -104,10 +108,10 @@ async function _createDevProxy( listenOptions: Partial, ) { let loadingMessage = 'Nuxt dev server is starting...' - const loadingTemplate = - nuxtOptions.devServer.loadingTemplate ?? - (await importModule('@nuxt/ui-templates', nuxtOptions.modulesDir).then( - (r) => r.loading, + const loadingTemplate + = nuxtOptions.devServer.loadingTemplate + ?? (await importModule('@nuxt/ui-templates', nuxtOptions.modulesDir).then( + r => r.loading, )) const { createProxyServer } = await import('httpxy') @@ -165,7 +169,7 @@ async function _startSubprocess(devProxy: DevProxy, rawArgs: string[]) { kill('SIGHUP') // Start new process - childProc = fork(globalThis.__nuxt_cli__?.entry!, ['_dev', ...rawArgs], { + childProc = fork(globalThis.__nuxt_cli__!.entry!, ['_dev', ...rawArgs], { execArgv: [ '--enable-source-maps', process.argv.includes('--inspect') && '--inspect', @@ -193,10 +197,12 @@ async function _startSubprocess(devProxy: DevProxy, rawArgs: string[]) { childProc.on('message', (message: NuxtDevIPCMessage) => { if (message.type === 'nuxt:internal:dev:ready') { devProxy.setAddress(`http://127.0.0.1:${message.port}`) - } else if (message.type === 'nuxt:internal:dev:loading') { + } + else if (message.type === 'nuxt:internal:dev:loading') { devProxy.setAddress(undefined) devProxy.setLoadingMessage(message.message) - } else if (message.type === 'nuxt:internal:dev:restart') { + } + else if (message.type === 'nuxt:internal:dev:restart') { restart() } }) @@ -226,57 +232,57 @@ function _resolveListenOptions( nuxtOptions: NuxtOptions, args: ParsedArgs, ): Partial { - const _port = - args.port ?? - args.p ?? - process.env.NUXT_PORT ?? - process.env.NITRO_PORT ?? - process.env.PORT ?? - nuxtOptions.devServer.port - - const _hostname = - typeof args.host === 'string' + const _port + = args.port + ?? args.p + ?? process.env.NUXT_PORT + ?? process.env.NITRO_PORT + ?? process.env.PORT + ?? nuxtOptions.devServer.port + + const _hostname + = typeof args.host === 'string' ? args.host - : (args.host === true ? '' : undefined) ?? - process.env.NUXT_HOST ?? - process.env.NITRO_HOST ?? - process.env.HOST ?? + : (args.host === true ? '' : undefined) + ?? process.env.NUXT_HOST + ?? process.env.NITRO_HOST + ?? process.env.HOST // TODO: Default host in schema should be undefined instead of '' - nuxtOptions._layers?.[0].config?.devServer?.host ?? - undefined + ?? nuxtOptions._layers?.[0].config?.devServer?.host + ?? undefined - const _public: boolean | undefined = - args.public ?? - (_hostname && !['localhost', '127.0.0.1', '::1'].includes(_hostname)) + const _public: boolean | undefined + = args.public + ?? (_hostname && !['localhost', '127.0.0.1', '::1'].includes(_hostname)) ? true : undefined - const _httpsCert = - args['https.cert'] || - (args.sslCert as string) || - process.env.NUXT_SSL_CERT || - process.env.NITRO_SSL_CERT || - (typeof nuxtOptions.devServer.https !== 'boolean' && - nuxtOptions.devServer.https?.cert) || - '' - - const _httpsKey = - args['https.key'] || - (args.sslKey as string) || - process.env.NUXT_SSL_KEY || - process.env.NITRO_SSL_KEY || - (typeof nuxtOptions.devServer.https !== 'boolean' && - nuxtOptions.devServer.https?.key) || - '' - - const httpsEnabled = - args.https == true || - (args.https === undefined && !!nuxtOptions.devServer.https) + const _httpsCert + = args['https.cert'] + || (args.sslCert as string) + || process.env.NUXT_SSL_CERT + || process.env.NITRO_SSL_CERT + || (typeof nuxtOptions.devServer.https !== 'boolean' + && nuxtOptions.devServer.https?.cert) + || '' + + const _httpsKey + = args['https.key'] + || (args.sslKey as string) + || process.env.NUXT_SSL_KEY + || process.env.NITRO_SSL_KEY + || (typeof nuxtOptions.devServer.https !== 'boolean' + && nuxtOptions.devServer.https?.key) + || '' + + const httpsEnabled + = args.https == true + || (args.https === undefined && !!nuxtOptions.devServer.https) const _listhenOptions = parseListhenArgs({ ...args, - open: (args.o as boolean) || args.open, - https: httpsEnabled, + 'open': (args.o as boolean) || args.open, + 'https': httpsEnabled, 'https.cert': _httpsCert, 'https.key': _httpsKey, }) diff --git a/src/commands/index.ts b/src/commands/index.ts index c1f8ff95..a3462443 100644 --- a/src/commands/index.ts +++ b/src/commands/index.ts @@ -3,22 +3,22 @@ import type { CommandDef } from 'citty' const _rDefault = (r: any) => (r.default || r) as Promise export const commands = { - add: () => import('./add').then(_rDefault), - analyze: () => import('./analyze').then(_rDefault), + 'add': () => import('./add').then(_rDefault), + 'analyze': () => import('./analyze').then(_rDefault), 'build-module': () => import('./build-module').then(_rDefault), - build: () => import('./build').then(_rDefault), - cleanup: () => import('./cleanup').then(_rDefault), - _dev: () => import('./dev-child').then(_rDefault), - dev: () => import('./dev').then(_rDefault), - devtools: () => import('./devtools').then(_rDefault), - generate: () => import('./generate').then(_rDefault), - info: () => import('./info').then(_rDefault), - init: () => import('./init').then(_rDefault), - module: () => import('./module').then(_rDefault), - prepare: () => import('./prepare').then(_rDefault), - preview: () => import('./preview').then(_rDefault), - start: () => import('./preview').then(_rDefault), - test: () => import('./test').then(_rDefault), - typecheck: () => import('./typecheck').then(_rDefault), - upgrade: () => import('./upgrade').then(_rDefault), + 'build': () => import('./build').then(_rDefault), + 'cleanup': () => import('./cleanup').then(_rDefault), + '_dev': () => import('./dev-child').then(_rDefault), + 'dev': () => import('./dev').then(_rDefault), + 'devtools': () => import('./devtools').then(_rDefault), + 'generate': () => import('./generate').then(_rDefault), + 'info': () => import('./info').then(_rDefault), + 'init': () => import('./init').then(_rDefault), + 'module': () => import('./module').then(_rDefault), + 'prepare': () => import('./prepare').then(_rDefault), + 'preview': () => import('./preview').then(_rDefault), + 'start': () => import('./preview').then(_rDefault), + 'test': () => import('./test').then(_rDefault), + 'typecheck': () => import('./typecheck').then(_rDefault), + 'upgrade': () => import('./upgrade').then(_rDefault), } as const diff --git a/src/commands/info.ts b/src/commands/info.ts index 2de17bc9..1504ba2c 100644 --- a/src/commands/info.ts +++ b/src/commands/info.ts @@ -8,16 +8,16 @@ import type { PackageJson } from 'pkg-types' import { splitByCase } from 'scule' import clipboardy from 'clipboardy' import type { NuxtModule } from '@nuxt/schema' +import { defineCommand } from 'citty' import type { packageManagerLocks } from '../utils/packageManagers' import { getPackageManager, getPackageManagerVersion, } from '../utils/packageManagers' import { findup } from '../utils/fs' -import { defineCommand } from 'citty' -import { legacyRootDirArgs, sharedArgs } from './_shared' import nuxiPkg from '../../package.json' +import { legacyRootDirArgs, sharedArgs } from './_shared' export default defineCommand({ meta: { @@ -44,7 +44,7 @@ export default defineCommand({ const listModules = (arr = []) => arr - .map((m) => normalizeConfigModule(m, cwd)) + .map(m => normalizeConfigModule(m, cwd)) .filter(Boolean) .map((name) => { const npmName = name!.split('/').splice(0, 2).join('/') // @foo/bar/baz => @foo/bar @@ -54,12 +54,12 @@ export default defineCommand({ .join(', ') // Check Nuxt version - const nuxtVersion = - getDepVersion('nuxt') || - getDepVersion('nuxt-nightly') || - getDepVersion('nuxt-edge') || - getDepVersion('nuxt3') || - '-' + const nuxtVersion + = getDepVersion('nuxt') + || getDepVersion('nuxt-nightly') + || getDepVersion('nuxt-edge') + || getDepVersion('nuxt3') + || '-' const isLegacy = nuxtVersion.startsWith('2') const builder = !isLegacy ? nuxtConfig.builder /* latest schema */ || '-' @@ -69,11 +69,12 @@ export default defineCommand({ ? 'vite' /* nuxt-vite */ : 'webpack' - let packageManager: keyof typeof packageManagerLocks | 'unknown' | null = - getPackageManager(cwd) + let packageManager: keyof typeof packageManagerLocks | 'unknown' | null + = getPackageManager(cwd) if (packageManager) { packageManager += '@' + getPackageManagerVersion(packageManager) - } else { + } + else { packageManager = 'unknown' } @@ -86,7 +87,7 @@ export default defineCommand({ PackageManager: packageManager, Builder: builder, UserConfig: Object.keys(nuxtConfig) - .map((key) => '`' + key + '`') + .map(key => '`' + key + '`') .join(', '), RuntimeModules: listModules(nuxtConfig.modules), BuildModules: listModules(nuxtConfig.buildModules || []), @@ -104,11 +105,11 @@ export default defineCommand({ }) let infoStr = '' for (const [label, value] of entries) { - infoStr += - '- ' + - (label + ': ').padEnd(maxLength + 2) + - (value.includes('`') ? value : '`' + value + '`') + - '\n' + infoStr + += '- ' + + (label + ': ').padEnd(maxLength + 2) + + (value.includes('`') ? value : '`' + value + '`') + + '\n' } const copied = await clipboardy @@ -167,7 +168,8 @@ function getNuxtConfig(rootDir: string) { ) delete (globalThis as any).defineNuxtConfig return result - } catch (err) { + } + catch (err) { // TODO: Show error as warning if it is not 404 return {} } @@ -181,7 +183,8 @@ function getPkg(name: string, rootDir: string) { const _require = createRequire(rootDir) try { pkgPath = _require.resolve(name + '/package.json') - } catch (_err) { + } + catch (_err) { // console.log('not found:', name) } @@ -202,7 +205,8 @@ function findPackage(rootDir: string) { function readJSONSync(filePath: string) { try { return destr(readFileSync(filePath, 'utf-8')) - } catch (err) { + } + catch (err) { // TODO: Warn error return null } diff --git a/src/commands/init.ts b/src/commands/init.ts index 9ac49ad3..4c90c4e8 100644 --- a/src/commands/init.ts +++ b/src/commands/init.ts @@ -8,8 +8,8 @@ import { defineCommand } from 'citty' import { sharedArgs } from './_shared' -const DEFAULT_REGISTRY = - 'https://raw.githubusercontent.com/nuxt/starter/templates/templates' +const DEFAULT_REGISTRY + = 'https://raw.githubusercontent.com/nuxt/starter/templates/templates' const DEFAULT_TEMPLATE_NAME = 'v3' export default defineCommand({ @@ -83,7 +83,8 @@ export default defineCommand({ preferOffline: Boolean(ctx.args.preferOffline), registry: process.env.NUXI_INIT_REGISTRY || DEFAULT_REGISTRY, }) - } catch (err) { + } + catch (err) { if (process.env.DEBUG) { throw err } @@ -104,15 +105,16 @@ export default defineCommand({ ) ? packageManagerArg : await consola.prompt('Which package manager would you like to use?', { - type: 'select', - options: packageManagerOptions, - }) + type: 'select', + options: packageManagerOptions, + }) // Install project dependencies // or skip installation based on the '--no-install' flag if (ctx.args.install === false) { consola.info('Skipping install dependencies step.') - } else { + } + else { consola.start('Installing dependencies...') try { @@ -123,7 +125,8 @@ export default defineCommand({ command: selectedPackageManager, }, }) - } catch (err) { + } + catch (err) { if (process.env.DEBUG) { throw err } @@ -155,9 +158,9 @@ export default defineCommand({ ) const relativeTemplateDir = relative(process.cwd(), template.dir) || '.' const nextSteps = [ - !ctx.args.shell && - relativeTemplateDir.length > 1 && - `\`cd ${relativeTemplateDir}\``, + !ctx.args.shell + && relativeTemplateDir.length > 1 + && `\`cd ${relativeTemplateDir}\``, `Start development server with \`${selectedPackageManager} run dev\``, ].filter(Boolean) diff --git a/src/commands/module/add.ts b/src/commands/module/add.ts index 8fdf9730..227eb631 100644 --- a/src/commands/module/add.ts +++ b/src/commands/module/add.ts @@ -1,20 +1,21 @@ -import { resolve } from 'pathe' -import { defineCommand } from 'citty' -import { sharedArgs } from '../_shared' import { existsSync } from 'node:fs' -import { loadFile, writeFile, parseModule, ProxifiedModule } from 'magicast' +import { defineCommand } from 'citty' +import { resolve } from 'pathe' +import type { ProxifiedModule } from 'magicast' +import { loadFile, writeFile, parseModule } from 'magicast' import consola from 'consola' import { addDependency } from 'nypm' import { $fetch } from 'ofetch' +import { satisfies } from 'semver' +import { colors } from 'consola/utils' +import { sharedArgs } from '../_shared' import { - NuxtModule, checkNuxtCompatibility, fetchModules, getNuxtVersion, getProjectPackage, } from './_utils' -import { satisfies } from 'semver' -import { colors } from 'consola/utils' +import type { NuxtModule } from './_utils' export default defineCommand({ meta: { @@ -120,7 +121,8 @@ async function updateNuxtConfig( if (existsSync(nuxtConfigFile)) { consola.info('Updating `nuxt.config.ts`') _module = await loadFile(nuxtConfigFile) - } else { + } + else { consola.info('Creating `nuxt.config.ts`') _module = parseModule(getDefaultNuxtConfig()) } @@ -130,7 +132,8 @@ async function updateNuxtConfig( } if (defaultExport.$type === 'function-call') { update(defaultExport.$args[0]) - } else { + } + else { update(defaultExport) } await writeFile(_module as any, nuxtConfigFile) @@ -146,8 +149,8 @@ export default defineNuxtConfig({ } // Based on https://github.com/dword-design/package-name-regex -const packageRegex = - /^(@[a-z0-9-~][a-z0-9-._~]*\/)?([a-z0-9-~][a-z0-9-._~]*)(@[^@]+)?$/ +const packageRegex + = /^(@[a-z0-9-~][a-z0-9-._~]*\/)?([a-z0-9-~][a-z0-9-._~]*)(@[^@]+)?$/ async function resolveModule( moduleName: string, @@ -155,11 +158,11 @@ async function resolveModule( ): Promise< | false | { - nuxtModule?: NuxtModule - pkg: string - pkgName: string - pkgVersion: string - } + nuxtModule?: NuxtModule + pkg: string + pkgName: string + pkgVersion: string + } > { let pkgName = moduleName let pkgVersion: string | undefined @@ -170,7 +173,8 @@ async function resolveModule( pkgName = `${reMatch[1] || ''}${reMatch[2] || ''}` pkgVersion = reMatch[3].slice(1) } - } else { + } + else { consola.error(`Invalid package name \`${pkgName}\`.`) return false } @@ -181,10 +185,10 @@ async function resolveModule( }) const matchedModule = modulesDB.find( - (module) => - module.name === moduleName || - module.npm === pkgName || - module.aliases?.includes(pkgName), + module => + module.name === moduleName + || module.npm === pkgName + || module.aliases?.includes(pkgName), ) if (matchedModule?.npm) { @@ -219,7 +223,8 @@ async function resolveModule( if (satisfies(nuxtVersion, _nuxtVersion)) { if (!pkgVersion) { pkgVersion = _moduleVersion - } else { + } + else { consola.warn( `Recommended version of \`${pkgName}\` for Nuxt \`${nuxtVersion}\` is \`${_moduleVersion}\` but you have requested \`${pkgVersion}\``, ) @@ -244,9 +249,9 @@ async function resolveModule( pkg.devDependencies || {}, ) if ( - !pkgDependencies['nuxt'] && - !pkgDependencies['nuxt-edge'] && - !pkgDependencies['@nuxt/kit'] + !pkgDependencies['nuxt'] + && !pkgDependencies['nuxt-edge'] + && !pkgDependencies['@nuxt/kit'] ) { consola.warn(`It seems that \`${pkgName}\` is not a Nuxt module.`) const shouldContinue = await consola.prompt( diff --git a/src/commands/module/index.ts b/src/commands/module/index.ts index bea51f33..a7da58d2 100644 --- a/src/commands/module/index.ts +++ b/src/commands/module/index.ts @@ -7,7 +7,7 @@ export default defineCommand({ }, args: {}, subCommands: { - add: () => import('./add').then((r) => r.default || r), - search: () => import('./search').then((r) => r.default || r), + add: () => import('./add').then(r => r.default || r), + search: () => import('./search').then(r => r.default || r), }, }) diff --git a/src/commands/module/search.ts b/src/commands/module/search.ts index 9c38dbe9..43412856 100644 --- a/src/commands/module/search.ts +++ b/src/commands/module/search.ts @@ -1,10 +1,10 @@ import { defineCommand } from 'citty' -import { sharedArgs } from '../_shared' import consola from 'consola' -import { fetchModules, checkNuxtCompatibility, getNuxtVersion } from './_utils' import Fuse from 'fuse.js' import { upperFirst, kebabCase } from 'scule' import { bold, green, magenta, cyan, gray, yellow } from 'colorette' +import { sharedArgs } from '../_shared' +import { fetchModules, checkNuxtCompatibility, getNuxtVersion } from './_utils' const { format: formatNumber } = Intl.NumberFormat('en-GB', { notation: 'compact', @@ -38,7 +38,7 @@ export default defineCommand({ async function findModuleByKeywords(query: string, nuxtVersion: string) { const allModules = await fetchModules() - const compatibleModules = allModules.filter((m) => + const compatibleModules = allModules.filter(m => checkNuxtCompatibility(m, nuxtVersion), ) const fuse = new Fuse(compatibleModules, { @@ -103,11 +103,11 @@ async function findModuleByKeywords(query: string, nuxtVersion: string) { }) let infoStr = '' for (const [label, value] of entries) { - infoStr += - bold(label === 'Install' ? '→ ' : '- ') + - green(label.padEnd(maxLength + 2)) + - value + - '\n' + infoStr + += bold(label === 'Install' ? '→ ' : '- ') + + green(label.padEnd(maxLength + 2)) + + value + + '\n' } console.log(infoStr) } diff --git a/src/commands/prepare.ts b/src/commands/prepare.ts index 51f89c14..2488d912 100644 --- a/src/commands/prepare.ts +++ b/src/commands/prepare.ts @@ -3,9 +3,9 @@ import { consola } from 'consola' // we are deliberately inlining this code as a backup in case user has `@nuxt/schema<3.7` import { writeTypes as writeTypesLegacy } from '@nuxt/kit' +import { defineCommand } from 'citty' import { clearBuildDir } from '../utils/fs' import { loadKit } from '../utils/kit' -import { defineCommand } from 'citty' import { legacyRootDirArgs, sharedArgs } from './_shared' diff --git a/src/commands/preview.ts b/src/commands/preview.ts index e5485957..56aa3acd 100644 --- a/src/commands/preview.ts +++ b/src/commands/preview.ts @@ -5,9 +5,8 @@ import { setupDotenv } from 'c12' import { resolve } from 'pathe' import { consola } from 'consola' import { box, colors } from 'consola/utils' -import { loadKit } from '../utils/kit' - import { defineCommand } from 'citty' +import { loadKit } from '../utils/kit' import { legacyRootDirArgs, sharedArgs } from './_shared' @@ -32,7 +31,7 @@ export default defineCommand({ const { loadNuxtConfig } = await loadKit(cwd) const config = await loadNuxtConfig({ cwd, - overrides: /*ctx.options?.overrides || */ {}, + overrides: /* ctx.options?.overrides || */ {}, }) const resolvedOutputDir = resolve( @@ -44,7 +43,7 @@ export default defineCommand({ const defaultOutput = resolve(cwd, '.output', 'nitro.json') // for backwards compatibility const nitroJSONPaths = [resolvedOutputDir, defaultOutput] - const nitroJSONPath = nitroJSONPaths.find((p) => existsSync(p)) + const nitroJSONPath = nitroJSONPaths.find(p => existsSync(p)) if (!nitroJSONPath) { consola.error( 'Cannot find `nitro.json`. Did you run `nuxi build` first? Search path:\n', diff --git a/src/commands/test.ts b/src/commands/test.ts index e50a51af..583bc897 100644 --- a/src/commands/test.ts +++ b/src/commands/test.ts @@ -34,7 +34,7 @@ export default defineCommand({ rootDir: cwd, dev: ctx.args.dev, watch: ctx.args.watch, - .../*ctx.options ||*/ {}, + ...{}, }) }, }) @@ -53,7 +53,8 @@ async function importTestUtils(): Promise { throw new Error('Invalid version of `@nuxt/test-utils` is installed!') } return exports - } catch (_err) { + } + catch (_err) { err = _err } } diff --git a/src/commands/typecheck.ts b/src/commands/typecheck.ts index ffb20e96..2fcac7f5 100644 --- a/src/commands/typecheck.ts +++ b/src/commands/typecheck.ts @@ -34,7 +34,7 @@ export default defineCommand({ overrides: { _prepare: true, logLevel: ctx.args.logLevel as 'silent' | 'info' | 'verbose', - .../*ctx.options?.overrides || */ {}, + ...{}, }, }) @@ -54,7 +54,8 @@ export default defineCommand({ stdio: 'inherit', cwd, }) - } else { + } + else { await execa( 'npx', '-p vue-tsc -p typescript vue-tsc --noEmit'.split(' '), diff --git a/src/commands/upgrade.ts b/src/commands/upgrade.ts index f4b1fa6a..0fd8621a 100644 --- a/src/commands/upgrade.ts +++ b/src/commands/upgrade.ts @@ -3,16 +3,16 @@ import { consola } from 'consola' import { colors } from 'consola/utils' import { relative, resolve } from 'pathe' import { readPackageJSON } from 'pkg-types' +import { defineCommand } from 'citty' import { getPackageManager, packageManagerLocks, } from '../utils/packageManagers' import { rmRecursive, touchFile } from '../utils/fs' import { cleanupNuxtDirs, nuxtVersionToGitIdentifier } from '../utils/nuxt' -import { defineCommand } from 'citty' -import { legacyRootDirArgs, sharedArgs } from './_shared' import { loadKit } from '../utils/kit' +import { legacyRootDirArgs, sharedArgs } from './_shared' async function getNuxtVersion(path: string): Promise { try { @@ -21,7 +21,8 @@ async function getNuxtVersion(path: string): Promise { consola.warn('Cannot find any installed Nuxt versions in ', path) } return pkg.version || null - } catch { + } + catch { return null } } @@ -63,7 +64,7 @@ export default defineCommand({ // Force install const pmLockFile = resolve(cwd, packageManagerLocks[packageManager]) const forceRemovals = ['node_modules', relative(process.cwd(), pmLockFile)] - .map((p) => colors.cyan(p)) + .map(p => colors.cyan(p)) .join(' and ') if (ctx.args.force === undefined) { ctx.args.force = await consola.prompt( @@ -97,7 +98,8 @@ export default defineCommand({ const { loadNuxtConfig } = await loadKit(cwd) const nuxtOptions = await loadNuxtConfig({ cwd }) buildDir = nuxtOptions.buildDir - } catch { + } + catch { // Use default buildDir (.nuxt) } await cleanupNuxtDirs(cwd, buildDir) @@ -107,8 +109,9 @@ export default defineCommand({ consola.info('Upgraded Nuxt version:', upgradedVersion) if (upgradedVersion === currentVersion) { - consola.success("You're already using the latest version of Nuxt.") - } else { + consola.success('You\'re already using the latest version of Nuxt.') + } + else { consola.success( 'Successfully upgraded Nuxt from', currentVersion, diff --git a/src/main.ts b/src/main.ts index 3781b613..283fc8df 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,9 +1,9 @@ import { defineCommand } from 'citty' import { provider } from 'std-env' +import nuxiPkg from '../package.json' assert { type: 'json' } import { commands } from './commands' import { setupGlobalConsole } from './utils/console' import { checkEngines } from './utils/engines' -import nuxiPkg from '../package.json' assert { type: 'json' } // import { checkForUpdates } from './utils/update' @@ -25,7 +25,7 @@ export const main = defineCommand({ backgroundTasks = Promise.all([ checkEngines(), // checkForUpdates(), - ]).catch((err) => console.error(err)) + ]).catch(err => console.error(err)) } // Avoid background check to fix prompt issues diff --git a/src/utils/banner.ts b/src/utils/banner.ts index 4ab4c141..7ecab391 100644 --- a/src/utils/banner.ts +++ b/src/utils/banner.ts @@ -5,17 +5,17 @@ export function showVersions(cwd: string) { const getPkgVersion = (pkg: string) => { return tryRequireModule(`${pkg}/package.json`, cwd)?.version || '' } - const nuxtVersion = - getPkgVersion('nuxt') || - getPkgVersion('nuxt-nightly') || - getPkgVersion('nuxt3') || - getPkgVersion('nuxt-edge') - const nitroVersion = - getPkgVersion('nitropack') || getPkgVersion('nitropack-edge') + const nuxtVersion + = getPkgVersion('nuxt') + || getPkgVersion('nuxt-nightly') + || getPkgVersion('nuxt3') + || getPkgVersion('nuxt-edge') + const nitroVersion + = getPkgVersion('nitropack') || getPkgVersion('nitropack-edge') console.log( gray( - green(`Nuxt ${bold(nuxtVersion)}`) + - (nitroVersion ? ` with Nitro ${bold(nitroVersion)}` : ''), + green(`Nuxt ${bold(nuxtVersion)}`) + + (nitroVersion ? ` with Nitro ${bold(nitroVersion)}` : ''), ), ) } diff --git a/src/utils/cjs.ts b/src/utils/cjs.ts index 2e404bb7..498ecc62 100644 --- a/src/utils/cjs.ts +++ b/src/utils/cjs.ts @@ -25,7 +25,8 @@ export function requireModule(id: string, paths?: string | string[]) { export function tryRequireModule(id: string, paths?: string | string[]) { try { return requireModule(id, paths) - } catch { + } + catch { return null } } @@ -34,7 +35,8 @@ export function getNearestPackage(id: string, paths?: string | string[]) { while (dirname(id) !== id) { try { return requireModule(id + '/package.json', paths) - } catch { + } + catch { // Ignore error } id = dirname(id) diff --git a/src/utils/console.ts b/src/utils/console.ts index 96eed815..d13a14b4 100644 --- a/src/utils/console.ts +++ b/src/utils/console.ts @@ -43,15 +43,16 @@ export function setupGlobalConsole(opts: { dev?: boolean } = {}) { // Wrap all console logs with consola for better DX if (opts.dev) { consola.wrapAll() - } else { + } + else { consola.wrapConsole() } - process.on('unhandledRejection', (err) => + process.on('unhandledRejection', err => consola.error('[unhandledRejection]', err), ) - process.on('uncaughtException', (err) => + process.on('uncaughtException', err => consola.error('[uncaughtException]', err), ) } diff --git a/src/utils/dev.ts b/src/utils/dev.ts index 3f5abb70..c7ccbc50 100644 --- a/src/utils/dev.ts +++ b/src/utils/dev.ts @@ -1,28 +1,23 @@ import type { RequestListener, ServerResponse } from 'node:http' import EventEmitter from 'node:events' +import type { AddressInfo } from 'node:net' import { relative, resolve, join } from 'pathe' import chokidar from 'chokidar' import { consola } from 'consola' import { debounce } from 'perfect-debounce' import { toNodeListener } from 'h3' import { joinURL } from 'ufo' -import { - HTTPSOptions, - ListenURL, - listen, - Listener, - ListenOptions, -} from 'listhen' +import type { HTTPSOptions, ListenURL, Listener, ListenOptions } from 'listhen' +import { listen } from 'listhen' import type { Nuxt, NuxtConfig } from '@nuxt/schema' import { loadKit } from '../utils/kit' import { loadNuxtManifest, writeNuxtManifest } from '../utils/nuxt' import { clearBuildDir } from '../utils/fs' import { importModule } from './esm' -import { AddressInfo } from 'node:net' export type NuxtDevIPCMessage = - | { type: 'nuxt:internal:dev:ready'; port: number } - | { type: 'nuxt:internal:dev:loading'; message: string } + | { type: 'nuxt:internal:dev:ready', port: number } + | { type: 'nuxt:internal:dev:loading', message: string } | { type: 'nuxt:internal:dev:restart' } export interface NuxtDevContext { @@ -62,7 +57,7 @@ export async function createNuxtDevServer( ) // Merge interface with public context - // @ts-expect-error + // @ts-expect-error private property devServer.listener._url = devServer.listener.url if (options.devContext.proxy?.url) { devServer.listener.url = options.devContext.proxy.url @@ -79,8 +74,8 @@ export async function createNuxtDevServer( } // https://regex101.com/r/7HkR5c/1 -const RESTART_RE = - /^(nuxt\.config\.[a-z0-9]+|\.nuxtignore|\.nuxtrc|\.config\/nuxt(\.config)?\.[a-z0-9]+)$/ +const RESTART_RE + = /^(nuxt\.config\.[a-z0-9]+|\.nuxtignore|\.nuxtrc|\.config\/nuxt(\.config)?\.[a-z0-9]+)$/ class NuxtDevServer extends EventEmitter { private _handler?: RequestListener @@ -109,27 +104,28 @@ class NuxtDevServer extends EventEmitter { await _initPromise if (this._handler) { this._handler(req, res) - } else { + } + else { this._renderError(res) } } - // @ts-ignore we set it in wrapper function + // @ts-expect-error we set it in wrapper function this.listener = undefined } async _renderError(res: ServerResponse, _error?: Error) { res.statusCode = 503 res.setHeader('Content-Type', 'text/html') - const loadingTemplate = - this.options.loadingTemplate || - this._currentNuxt?.options.devServer.loadingTemplate || - ( + const loadingTemplate + = this.options.loadingTemplate + || this._currentNuxt?.options.devServer.loadingTemplate + || ( await importModule('@nuxt/ui-templates', this.options.cwd).then( - (r) => r.loading, + r => r.loading, ) - ).catch(() => {}) || - ((params: { loading: string }) => `

${params.loading}

`) + ).catch(() => {}) + || ((params: { loading: string }) => `

${params.loading}

`) res.end( loadingTemplate({ loading: _error?.toString() || this._loadingMessage || 'Loading...', @@ -145,11 +141,12 @@ class NuxtDevServer extends EventEmitter { async load(reload?: boolean, reason?: string) { try { await this._load(reload, reason) - } catch (error) { + } + catch (error) { consola.error(`Cannot ${reload ? 'restart' : 'start'} nuxt: `, error) this._handler = undefined - this._loadingMessage = - 'Error while loading Nuxt. Please check console and fix errors.' + this._loadingMessage + = 'Error while loading Nuxt. Please check console and fix errors.' this.emit('loading', this._loadingMessage) } } @@ -222,9 +219,9 @@ class NuxtDevServer extends EventEmitter { ) const newManifest = await writeNuxtManifest(this._currentNuxt) if ( - previousManifest && - newManifest && - previousManifest._hash !== newManifest._hash + previousManifest + && newManifest + && previousManifest._hash !== newManifest._hash ) { await clearBuildDir(this._currentNuxt.options.buildDir) } @@ -275,7 +272,7 @@ class NuxtDevServer extends EventEmitter { !!this.listener.https, ) this._currentNuxt.options.devServer.https = this.options.devContext.proxy - ?.https as boolean | { key: string; cert: string } + ?.https as boolean | { key: string, cert: string } if (this.listener.https && !process.env.NODE_TLS_REJECT_UNAUTHORIZED) { consola.warn( diff --git a/src/utils/engines.ts b/src/utils/engines.ts index 5a77d3d5..b15184e5 100644 --- a/src/utils/engines.ts +++ b/src/utils/engines.ts @@ -1,6 +1,6 @@ export async function checkEngines() { const satisfies = await import('semver/functions/satisfies.js').then( - (r) => + r => r.default || (r as any as typeof import('semver/functions/satisfies.js')), ) // npm/node-semver#381 const currentNode = process.versions.node diff --git a/src/utils/esm.ts b/src/utils/esm.ts index 2a7b3d2d..e4efe39c 100644 --- a/src/utils/esm.ts +++ b/src/utils/esm.ts @@ -4,7 +4,8 @@ import { interopDefault, resolvePath } from 'mlly' export async function tryResolveModule(id: string, url = import.meta.url) { try { return await resolvePath(id, { url }) - } catch { + } + catch { // Ignore error } } @@ -20,7 +21,8 @@ export async function importModule( export function tryImportModule(id: string, url = import.meta.url) { try { return importModule(id, url).catch(() => undefined) - } catch { + } + catch { // Ignore error } } diff --git a/src/utils/fs.ts b/src/utils/fs.ts index c25464be..4832d34f 100644 --- a/src/utils/fs.ts +++ b/src/utils/fs.ts @@ -7,7 +7,8 @@ export async function exists(path: string) { try { await fsp.access(path) return true - } catch { + } + catch { return false } } @@ -15,7 +16,8 @@ export async function exists(path: string) { export async function clearDir(path: string, exclude?: string[]) { if (!exclude) { await fsp.rm(path, { recursive: true, force: true }) - } else if (existsSync(path)) { + } + else if (existsSync(path)) { const files = await fsp.readdir(path) await Promise.all( files.map(async (name) => { @@ -35,7 +37,7 @@ export function clearBuildDir(path: string) { export async function rmRecursive(paths: string[]) { await Promise.all( paths - .filter((p) => typeof p === 'string') + .filter(p => typeof p === 'string') .map(async (path) => { consola.debug('Removing recursive path', path) await fsp.rm(path, { recursive: true, force: true }).catch(() => {}) diff --git a/src/utils/kit.ts b/src/utils/kit.ts index 1e0c449b..c9f430c3 100644 --- a/src/utils/kit.ts +++ b/src/utils/kit.ts @@ -1,7 +1,6 @@ -import { importModule, tryResolveModule } from './esm' - // we are deliberately inlining this code as a backup in case user has `@nuxt/schema<3.7` import { writeTypes as writeTypesLegacy } from '@nuxt/kit' +import { importModule, tryResolveModule } from './esm' export const loadKit = async ( rootDir: string, @@ -20,8 +19,9 @@ export const loadKit = async ( kit = { ...kit, writeTypes: writeTypesLegacy } } return kit - } catch (e: any) { - if (e.toString().includes("Cannot find module '@nuxt/kit'")) { + } + catch (e: any) { + if (e.toString().includes('Cannot find module \'@nuxt/kit\'')) { throw new Error( 'nuxi requires `@nuxt/kit` to be installed in your project. Try installing `nuxt` v3 or `@nuxt/bridge` first.', ) diff --git a/src/utils/nuxt.ts b/src/utils/nuxt.ts index c0d7f499..575df558 100644 --- a/src/utils/nuxt.ts +++ b/src/utils/nuxt.ts @@ -25,7 +25,7 @@ export async function cleanupNuxtDirs(rootDir: string, buildDir: string) { 'dist', 'node_modules/.vite', 'node_modules/.cache', - ].map((dir) => resolve(rootDir, dir)), + ].map(dir => resolve(rootDir, dir)), ) } @@ -69,7 +69,7 @@ export async function loadNuxtManifest( const manifestPath = resolve(buildDir, 'nuxt.json') const manifest: NuxtProjectManifest | null = await fsp .readFile(manifestPath, 'utf-8') - .then((data) => JSON.parse(data) as NuxtProjectManifest) + .then(data => JSON.parse(data) as NuxtProjectManifest) .catch(() => null) return manifest } diff --git a/src/utils/templates.ts b/src/utils/templates.ts index 0bb60eed..1fe23630 100644 --- a/src/utils/templates.ts +++ b/src/utils/templates.ts @@ -6,7 +6,7 @@ interface TemplateOptions { } interface Template { - (options: TemplateOptions): { path: string; contents: string } + (options: TemplateOptions): { path: string, contents: string } } const httpMethods = [ diff --git a/src/utils/update.ts b/src/utils/update.ts index 0d67c7d4..bc230981 100644 --- a/src/utils/update.ts +++ b/src/utils/update.ts @@ -1,8 +1,8 @@ -import nuxiPkg from '../../package.json' import { $fetch } from 'ofetch' import { cyan, green, yellow, underline } from 'colorette' import consola from 'consola' import * as semver from 'semver' +import nuxiPkg from '../../package.json' export async function checkForUpdates() { if (process.env.SKIP_NUXT_UPDATE_CHECK) { diff --git a/types.d.ts b/types.d.ts index a860ae8e..b84f72db 100644 --- a/types.d.ts +++ b/types.d.ts @@ -6,9 +6,9 @@ declare global { var __nuxt_cli__: | undefined | { - entry: string - startTime: number - } + entry: string + startTime: number + } } export {}