From da05bd11fe03d6c6c87654c753d3995dcdf6decf Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Sat, 7 Feb 2026 18:36:23 +0000 Subject: [PATCH 01/13] test: update nuxt fixture packument --- .../npm-registry/packuments/nuxt.json | 931 ++++++++---------- 1 file changed, 435 insertions(+), 496 deletions(-) diff --git a/test/fixtures/npm-registry/packuments/nuxt.json b/test/fixtures/npm-registry/packuments/nuxt.json index 3c1f6e402..b4222f259 100644 --- a/test/fixtures/npm-registry/packuments/nuxt.json +++ b/test/fixtures/npm-registry/packuments/nuxt.json @@ -1,6 +1,6 @@ { "_id": "nuxt", - "_rev": "455-ca2dac9b7cf868285d6533786451a3bb", + "_rev": "461-18ff7c0b277b33499c7e2becf455937d", "name": "nuxt", "description": "Nuxt is a free and open-source framework with an intuitive and extendable way to create type-safe, performant and production-grade full-stack web applications and websites with Vue.js.", "dist-tags": { @@ -8,13 +8,13 @@ "2x": "2.18.1", "alpha": "4.0.0-alpha.4", "rc": "4.0.0-rc.0", - "3x": "3.21.0", - "latest": "4.3.0" + "latest": "4.3.1", + "3x": "3.21.1" }, "versions": { - "3.21.0": { + "4.3.1": { "name": "nuxt", - "version": "3.21.0", + "version": "4.3.1", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", @@ -43,20 +43,19 @@ "./kit": "./kit.js", "./meta": "./meta.js", "./app": "./dist/app/index.js", - "./app/defaults": "./dist/app/defaults.js", "./package.json": "./package.json" }, "imports": { "#app": "./dist/app/index.js", "#app/nuxt": "./dist/app/nuxt.js", - "#unhead/composables": "./dist/head/runtime/composables/v4.js" + "#unhead/composables": "./dist/head/runtime/composables.js" }, "dependencies": { "@dxup/nuxt": "^0.3.2", - "@nuxt/cli": "^3.32.0", + "@nuxt/cli": "^3.33.0", "@nuxt/devtools": "^3.1.1", - "@nuxt/telemetry": "^2.6.6", - "@unhead/vue": "^2.1.2", + "@nuxt/telemetry": "^2.7.0", + "@unhead/vue": "^2.1.3", "@vue/shared": "^3.5.27", "c12": "^3.3.3", "chokidar": "^5.0.0", @@ -79,20 +78,20 @@ "magic-string": "^0.30.21", "mlly": "^1.8.0", "nanotar": "^0.2.0", - "nypm": "^0.6.2", + "nypm": "^0.6.5", "ofetch": "^1.5.1", "ohash": "^2.0.11", - "on-change": "^6.0.1", - "oxc-minify": "^0.110.0", - "oxc-parser": "^0.110.0", - "oxc-transform": "^0.110.0", + "on-change": "^6.0.2", + "oxc-minify": "^0.112.0", + "oxc-parser": "^0.112.0", + "oxc-transform": "^0.112.0", "oxc-walker": "^0.7.0", "pathe": "^2.0.3", - "perfect-debounce": "^2.0.0", + "perfect-debounce": "^2.1.0", "pkg-types": "^2.3.0", "rou3": "^0.7.12", "scule": "^1.3.0", - "semver": "^7.7.3", + "semver": "^7.7.4", "std-env": "^3.10.0", "tinyglobby": "^0.2.15", "ufo": "^1.6.3", @@ -100,32 +99,32 @@ "uncrypto": "^0.1.3", "unctx": "^2.5.0", "unimport": "^5.6.0", - "unplugin": "^2.3.11", + "unplugin": "^3.0.0", "unplugin-vue-router": "^0.19.2", "untyped": "^2.0.0", "vue": "^3.5.27", "vue-router": "^4.6.4", - "@nuxt/kit": "3.21.0", - "@nuxt/schema": "3.21.0", - "@nuxt/vite-builder": "3.21.0", - "@nuxt/nitro-server": "3.21.0" + "@nuxt/kit": "4.3.1", + "@nuxt/schema": "4.3.1", + "@nuxt/vite-builder": "4.3.1", + "@nuxt/nitro-server": "4.3.1" }, "devDependencies": { "@nuxt/scripts": "0.13.2", - "@parcel/watcher": "2.5.4", + "@parcel/watcher": "2.5.6", "@types/estree": "1.0.8", - "@vitejs/plugin-vue": "6.0.3", - "@vitejs/plugin-vue-jsx": "5.1.3", + "@vitejs/plugin-vue": "6.0.4", + "@vitejs/plugin-vue-jsx": "5.1.4", "@vue/compiler-sfc": "3.5.27", "unbuild": "3.6.1", "vite": "7.3.1", - "vitest": "3.2.4", + "vitest": "4.0.18", "vue-bundle-renderer": "2.2.0", "vue-sfc-transformer": "0.1.17" }, "peerDependencies": { "@parcel/watcher": "^2.1.0", - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0" + "@types/node": ">=18.12.0" }, "peerDependenciesMeta": { "@parcel/watcher": { @@ -142,24 +141,23 @@ "build:stub": "unbuild --stub", "test:attw": "attw --pack" }, - "readmeFilename": "README.md", - "_id": "nuxt@3.21.0", + "_id": "nuxt@4.3.1", "bugs": { "url": "https://github.com/nuxt/nuxt/issues" }, - "_integrity": "sha512-K3vX68M0lXbqzvehWb+y6/YqAF+m7MEQQ3mtbcm34ynzB6OpFOJoZV9scBzFd5LehLoYl55CSNpY5vsupyJw7Q==", - "_resolved": "/tmp/20a8f983693ef4840f79a2362a6ff072/nuxt-3.21.0.tgz", - "_from": "file:nuxt-3.21.0.tgz", - "_nodeVersion": "25.4.0", - "_npmVersion": "11.7.0", + "_integrity": "sha512-bl+0rFcT5Ax16aiWFBFPyWcsTob19NTZaDL5P6t0MQdK63AtgS6fN6fwvwdbXtnTk6/YdCzlmuLzXhSM22h0OA==", + "_resolved": "/tmp/9ecd482ad657a700f878d1b78a7b85df/nuxt-4.3.1.tgz", + "_from": "file:nuxt-4.3.1.tgz", + "_nodeVersion": "25.6.0", + "_npmVersion": "11.8.0", "dist": { - "integrity": "sha512-K3vX68M0lXbqzvehWb+y6/YqAF+m7MEQQ3mtbcm34ynzB6OpFOJoZV9scBzFd5LehLoYl55CSNpY5vsupyJw7Q==", - "shasum": "efc0d9fc4978b8f4e3fb136ba974ac9d9b8076f6", - "tarball": "https://registry.npmjs.org/nuxt/-/nuxt-3.21.0.tgz", - "fileCount": 243, - "unpackedSize": 796813, + "integrity": "sha512-bl+0rFcT5Ax16aiWFBFPyWcsTob19NTZaDL5P6t0MQdK63AtgS6fN6fwvwdbXtnTk6/YdCzlmuLzXhSM22h0OA==", + "shasum": "f6fefbec9b838e3c3908181b9444d1daedfe7fdb", + "tarball": "https://registry.npmjs.org/nuxt/-/nuxt-4.3.1.tgz", + "fileCount": 235, + "unpackedSize": 716166, "attestations": { - "url": "https://registry.npmjs.org/-/npm/v1/attestations/nuxt@3.21.0", + "url": "https://registry.npmjs.org/-/npm/v1/attestations/nuxt@4.3.1", "provenance": { "predicateType": "https://slsa.dev/provenance/v1" } @@ -167,7 +165,7 @@ "signatures": [ { "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U", - "sig": "MEUCIHGulqw/n1Qd/TPuT0iHIMZ4BSHTcYXRhnvHDCiT2SKGAiEA81L0um9YDGQ7yeva98leEi93U1UTasu7LEAscOyDjuw=" + "sig": "MEUCIQCSK+w8e6K9B2yI7e1y0MS02D/ODGxjXFUfiilK+WmJdQIgFXhNavhDgpULLztDxw8sn5ARieqftakflL0LlTZTfVM=" } ] }, @@ -188,15 +186,15 @@ ], "_npmOperationalInternal": { "host": "s3://npm-registry-packages-npm-production", - "tmp": "tmp/nuxt_3.21.0_1769123090302_0.32709756823214" + "tmp": "tmp/nuxt_4.3.1_1770482496555_0.5369930512778691" }, "_hasShrinkwrap": false }, - "4.3.0": { + "3.21.1": { "name": "nuxt", - "version": "4.3.0", + "version": "3.21.1", "license": "MIT", - "_id": "nuxt@4.3.0", + "_id": "nuxt@3.21.1", "maintainers": [ { "name": "nuxtbot", @@ -212,26 +210,26 @@ "nuxt": "bin/nuxt.mjs" }, "dist": { - "shasum": "233e4fe523c86222707e10391ecc009c8fdd8bf9", - "tarball": "https://registry.npmjs.org/nuxt/-/nuxt-4.3.0.tgz", - "fileCount": 235, - "integrity": "sha512-99Iw3E3L5/2QtJyV4errZ0axkX/S9IAFK0AHm0pmRHkCu37OFn8mz2P4/CYTt6B/TG3mcKbXAVaeuF2FsAc1cA==", + "shasum": "8e8f6cb2c0d2f263cd53d9c0698495b63472a00b", + "tarball": "https://registry.npmjs.org/nuxt/-/nuxt-3.21.1.tgz", + "fileCount": 243, + "integrity": "sha512-lrrQY2+nN7BhoaBOgWMks0xtKz4qjpczVmM0Uk7tCVQDQTs14eR/YDkjhMM1vCLfzlspW0lBHmJFcGvNUXiT7g==", "signatures": [ { - "sig": "MEUCIQD8D+qmRtnqLsPpkSML8nvoWSRjzywU3tXkLWT9H/7k9gIgS+im5iA9LvzOdzxq4naULgKKeb0Shh75iUIhQ+t1CPY=", + "sig": "MEUCIQCnROCZIseb2C3OtMjmZQzpmwBI9A3T3QILgYhkmFYtSQIgV+kuKosAADi3W2N4yPLR823EmcxAfTuPd+2NoW+nV7Y=", "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U" } ], "attestations": { - "url": "https://registry.npmjs.org/-/npm/v1/attestations/nuxt@4.3.0", + "url": "https://registry.npmjs.org/-/npm/v1/attestations/nuxt@3.21.1", "provenance": { "predicateType": "https://slsa.dev/provenance/v1" } }, - "unpackedSize": 710544 + "unpackedSize": 802293 }, "type": "module", - "_from": "file:nuxt-4.3.0.tgz", + "_from": "file:nuxt-3.21.1.tgz", "types": "./types.d.ts", "engines": { "node": "^20.19.0 || >=22.12.0" @@ -250,12 +248,13 @@ "require": "./config.cjs" }, "./schema": "./schema.js", + "./app/defaults": "./dist/app/defaults.js", "./package.json": "./package.json" }, "imports": { "#app": "./dist/app/index.js", "#app/nuxt": "./dist/app/nuxt.js", - "#unhead/composables": "./dist/head/runtime/composables.js" + "#unhead/composables": "./dist/head/runtime/composables/v4.js" }, "scripts": { "test:attw": "attw --pack", @@ -269,17 +268,17 @@ "oidcConfigId": "oidc:d0585aa6-1a29-450d-8bf8-c3440b4bcc0f" } }, - "_resolved": "/tmp/e7a8458e2c751b327df6833e94bcef51/nuxt-4.3.0.tgz", - "_integrity": "sha512-99Iw3E3L5/2QtJyV4errZ0axkX/S9IAFK0AHm0pmRHkCu37OFn8mz2P4/CYTt6B/TG3mcKbXAVaeuF2FsAc1cA==", + "_resolved": "/tmp/7ea460d51aa7dbc32862a6026dea1073/nuxt-3.21.1.tgz", + "_integrity": "sha512-lrrQY2+nN7BhoaBOgWMks0xtKz4qjpczVmM0Uk7tCVQDQTs14eR/YDkjhMM1vCLfzlspW0lBHmJFcGvNUXiT7g==", "repository": { "url": "git+https://github.com/nuxt/nuxt.git", "type": "git", "directory": "packages/nuxt" }, - "_npmVersion": "11.7.0", + "_npmVersion": "11.8.0", "description": "Nuxt is a free and open-source framework with an intuitive and extendable way to create type-safe, performant and production-grade full-stack web applications and websites with Vue.js.", "directories": {}, - "_nodeVersion": "25.4.0", + "_nodeVersion": "25.6.0", "dependencies": { "h3": "^1.15.5", "c12": "^3.3.3", @@ -289,7 +288,7 @@ "errx": "^0.1.0", "jiti": "^2.6.1", "mlly": "^1.8.0", - "nypm": "^0.6.2", + "nypm": "^0.6.5", "rou3": "^0.7.12", "destr": "^2.0.5", "klona": "^2.0.6", @@ -299,7 +298,7 @@ "unctx": "^2.5.0", "ignore": "^7.0.5", "ofetch": "^1.5.1", - "semver": "^7.7.3", + "semver": "^7.7.4", "compatx": "^0.2.0", "consola": "^3.4.2", "devalue": "^5.6.2", @@ -313,48 +312,49 @@ "knitwork": "^1.3.0", "uncrypto": "^0.1.3", "unimport": "^5.6.0", - "unplugin": "^2.3.11", - "@nuxt/cli": "^3.32.0", - "@nuxt/kit": "4.3.0", + "unplugin": "^3.0.0", + "@nuxt/cli": "^3.33.0", + "@nuxt/kit": "3.21.1", "cookie-es": "^2.0.0", - "on-change": "^6.0.1", + "on-change": "^6.0.2", "pkg-types": "^2.3.0", "ultrahtml": "^1.6.0", "@dxup/nuxt": "^0.3.2", - "oxc-minify": "^0.110.0", - "oxc-parser": "^0.110.0", + "oxc-minify": "^0.112.0", + "oxc-parser": "^0.112.0", "oxc-walker": "^0.7.0", "tinyglobby": "^0.2.15", "vue-router": "^4.6.4", - "@unhead/vue": "^2.1.2", + "@unhead/vue": "^2.1.3", "@vue/shared": "^3.5.27", - "@nuxt/schema": "4.3.0", + "@nuxt/schema": "3.21.1", "magic-string": "^0.30.21", - "oxc-transform": "^0.110.0", + "oxc-transform": "^0.112.0", "@nuxt/devtools": "^3.1.1", - "@nuxt/telemetry": "^2.6.6", - "perfect-debounce": "^2.0.0", - "@nuxt/nitro-server": "4.3.0", - "@nuxt/vite-builder": "4.3.0", + "@nuxt/telemetry": "^2.7.0", + "perfect-debounce": "^2.1.0", + "@nuxt/nitro-server": "3.21.1", + "@nuxt/vite-builder": "3.21.1", "unplugin-vue-router": "^0.19.2", "escape-string-regexp": "^5.0.0" }, "_hasShrinkwrap": false, + "readmeFilename": "README.md", "devDependencies": { "vite": "7.3.1", - "vitest": "3.2.4", + "vitest": "4.0.18", "unbuild": "3.6.1", "@nuxt/scripts": "0.13.2", "@types/estree": "1.0.8", - "@parcel/watcher": "2.5.4", + "@parcel/watcher": "2.5.6", "@vue/compiler-sfc": "3.5.27", - "@vitejs/plugin-vue": "6.0.3", + "@vitejs/plugin-vue": "6.0.4", "vue-bundle-renderer": "2.2.0", "vue-sfc-transformer": "0.1.17", - "@vitejs/plugin-vue-jsx": "5.1.3" + "@vitejs/plugin-vue-jsx": "5.1.4" }, "peerDependencies": { - "@types/node": ">=18.12.0", + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "@parcel/watcher": "^2.1.0" }, "peerDependenciesMeta": { @@ -366,15 +366,15 @@ } }, "_npmOperationalInternal": { - "tmp": "tmp/nuxt_4.3.0_1769122934910_0.07836171421962757", + "tmp": "tmp/nuxt_3.21.1_1770482170169_0.647453693478977", "host": "s3://npm-registry-packages-npm-production" } }, - "4.2.2": { + "3.21.0": { "name": "nuxt", - "version": "4.2.2", + "version": "3.21.0", "license": "MIT", - "_id": "nuxt@4.2.2", + "_id": "nuxt@3.21.0", "maintainers": [ { "name": "nuxtbot", @@ -390,26 +390,26 @@ "nuxt": "bin/nuxt.mjs" }, "dist": { - "shasum": "f2579b99ad6d4a7ab8606f5d1131784716673309", - "tarball": "https://registry.npmjs.org/nuxt/-/nuxt-4.2.2.tgz", - "fileCount": 233, - "integrity": "sha512-n6oYFikgLEb70J4+K19jAzfx4exZcRSRX7yZn09P5qlf2Z59VNOBqNmaZO5ObzvyGUZ308SZfL629/Q2v2FVjw==", + "shasum": "efc0d9fc4978b8f4e3fb136ba974ac9d9b8076f6", + "tarball": "https://registry.npmjs.org/nuxt/-/nuxt-3.21.0.tgz", + "fileCount": 243, + "integrity": "sha512-K3vX68M0lXbqzvehWb+y6/YqAF+m7MEQQ3mtbcm34ynzB6OpFOJoZV9scBzFd5LehLoYl55CSNpY5vsupyJw7Q==", "signatures": [ { - "sig": "MEQCICu7TqjMZpWfALtX/G4z0XxOdcYsNyn7OeqgUMLAzKxeAiAI1YqGPHT05UBPutc7rA8qx3adBO5siVUX/o/C25D4uw==", + "sig": "MEUCIHGulqw/n1Qd/TPuT0iHIMZ4BSHTcYXRhnvHDCiT2SKGAiEA81L0um9YDGQ7yeva98leEi93U1UTasu7LEAscOyDjuw=", "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U" } ], "attestations": { - "url": "https://registry.npmjs.org/-/npm/v1/attestations/nuxt@4.2.2", + "url": "https://registry.npmjs.org/-/npm/v1/attestations/nuxt@3.21.0", "provenance": { "predicateType": "https://slsa.dev/provenance/v1" } }, - "unpackedSize": 689762 + "unpackedSize": 796813 }, "type": "module", - "_from": "file:nuxt-4.2.2.tgz", + "_from": "file:nuxt-3.21.0.tgz", "types": "./types.d.ts", "engines": { "node": "^20.19.0 || >=22.12.0" @@ -419,41 +419,26 @@ "types": "./types.d.mts", "import": "./dist/index.mjs" }, - "./app": { - "types": "./dist/app/index.d.ts", - "import": "./dist/app/index.js" - }, - "./kit": { - "types": "./kit.d.ts", - "import": "./kit.js" - }, + "./app": "./dist/app/index.js", + "./kit": "./kit.js", + "./meta": "./meta.js", "./config": { "types": "./config.d.ts", "import": "./config.js", "require": "./config.cjs" }, - "./schema": { - "types": "./schema.d.ts", - "import": "./schema.js" - }, + "./schema": "./schema.js", + "./app/defaults": "./dist/app/defaults.js", "./package.json": "./package.json" }, "imports": { - "#app": { - "types": "./dist/app/index.d.ts", - "import": "./dist/app/index.js" - }, - "#app/nuxt": { - "types": "./dist/app/nuxt.d.ts", - "import": "./dist/app/nuxt.js" - }, - "#unhead/composables": { - "types": "./dist/head/runtime/composables.d.ts", - "import": "./dist/head/runtime/composables.js" - } + "#app": "./dist/app/index.js", + "#app/nuxt": "./dist/app/nuxt.js", + "#unhead/composables": "./dist/head/runtime/composables/v4.js" }, "scripts": { - "test:attw": "attw --pack" + "test:attw": "attw --pack", + "build:stub": "unbuild --stub" }, "_npmUser": { "name": "GitHub Actions", @@ -463,40 +448,40 @@ "oidcConfigId": "oidc:d0585aa6-1a29-450d-8bf8-c3440b4bcc0f" } }, - "_resolved": "/tmp/048cb70dcb5357268e9973b7dbc536d8/nuxt-4.2.2.tgz", - "_integrity": "sha512-n6oYFikgLEb70J4+K19jAzfx4exZcRSRX7yZn09P5qlf2Z59VNOBqNmaZO5ObzvyGUZ308SZfL629/Q2v2FVjw==", + "_resolved": "/tmp/20a8f983693ef4840f79a2362a6ff072/nuxt-3.21.0.tgz", + "_integrity": "sha512-K3vX68M0lXbqzvehWb+y6/YqAF+m7MEQQ3mtbcm34ynzB6OpFOJoZV9scBzFd5LehLoYl55CSNpY5vsupyJw7Q==", "repository": { "url": "git+https://github.com/nuxt/nuxt.git", "type": "git", "directory": "packages/nuxt" }, - "_npmVersion": "11.6.2", + "_npmVersion": "11.7.0", "description": "Nuxt is a free and open-source framework with an intuitive and extendable way to create type-safe, performant and production-grade full-stack web applications and websites with Vue.js.", "directories": {}, - "_nodeVersion": "25.2.1", + "_nodeVersion": "25.4.0", "dependencies": { - "h3": "^1.15.4", - "c12": "^3.3.2", - "ufo": "^1.6.1", - "vue": "^3.5.25", + "h3": "^1.15.5", + "c12": "^3.3.3", + "ufo": "^1.6.3", + "vue": "^3.5.27", "defu": "^6.1.4", "errx": "^0.1.0", "jiti": "^2.6.1", "mlly": "^1.8.0", "nypm": "^0.6.2", + "rou3": "^0.7.12", "destr": "^2.0.5", "klona": "^2.0.6", "ohash": "^2.0.11", "pathe": "^2.0.3", "scule": "^1.3.0", - "unctx": "^2.4.1", + "unctx": "^2.5.0", "ignore": "^7.0.5", "ofetch": "^1.5.1", - "radix3": "^1.1.2", "semver": "^7.7.3", "compatx": "^0.2.0", "consola": "^3.4.2", - "devalue": "^5.6.0", + "devalue": "^5.6.2", "exsolve": "^1.0.8", "impound": "^1.0.0", "nanotar": "^0.2.0", @@ -506,49 +491,50 @@ "hookable": "^5.5.3", "knitwork": "^1.3.0", "uncrypto": "^0.1.3", - "unimport": "^5.5.0", + "unimport": "^5.6.0", "unplugin": "^2.3.11", - "@nuxt/cli": "^3.31.1", - "@nuxt/kit": "4.2.2", + "@nuxt/cli": "^3.32.0", + "@nuxt/kit": "3.21.0", "cookie-es": "^2.0.0", "on-change": "^6.0.1", "pkg-types": "^2.3.0", "ultrahtml": "^1.6.0", - "@dxup/nuxt": "^0.2.2", - "oxc-minify": "^0.102.0", - "oxc-parser": "^0.102.0", - "oxc-walker": "^0.6.0", + "@dxup/nuxt": "^0.3.2", + "oxc-minify": "^0.110.0", + "oxc-parser": "^0.110.0", + "oxc-walker": "^0.7.0", "tinyglobby": "^0.2.15", - "vue-router": "^4.6.3", - "@unhead/vue": "^2.0.19", - "@vue/shared": "^3.5.25", - "@nuxt/schema": "4.2.2", + "vue-router": "^4.6.4", + "@unhead/vue": "^2.1.2", + "@vue/shared": "^3.5.27", + "@nuxt/schema": "3.21.0", "magic-string": "^0.30.21", - "oxc-transform": "^0.102.0", + "oxc-transform": "^0.110.0", "@nuxt/devtools": "^3.1.1", "@nuxt/telemetry": "^2.6.6", "perfect-debounce": "^2.0.0", - "@nuxt/nitro-server": "4.2.2", - "@nuxt/vite-builder": "4.2.2", - "unplugin-vue-router": "^0.19.0", + "@nuxt/nitro-server": "3.21.0", + "@nuxt/vite-builder": "3.21.0", + "unplugin-vue-router": "^0.19.2", "escape-string-regexp": "^5.0.0" }, "_hasShrinkwrap": false, + "readmeFilename": "README.md", "devDependencies": { - "vite": "7.2.7", + "vite": "7.3.1", "vitest": "3.2.4", "unbuild": "3.6.1", - "@nuxt/scripts": "0.13.0", + "@nuxt/scripts": "0.13.2", "@types/estree": "1.0.8", - "@parcel/watcher": "2.5.1", - "@vue/compiler-sfc": "3.5.25", - "@vitejs/plugin-vue": "6.0.2", + "@parcel/watcher": "2.5.4", + "@vue/compiler-sfc": "3.5.27", + "@vitejs/plugin-vue": "6.0.3", "vue-bundle-renderer": "2.2.0", "vue-sfc-transformer": "0.1.17", - "@vitejs/plugin-vue-jsx": "5.1.2" + "@vitejs/plugin-vue-jsx": "5.1.3" }, "peerDependencies": { - "@types/node": ">=18.12.0", + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "@parcel/watcher": "^2.1.0" }, "peerDependenciesMeta": { @@ -560,15 +546,15 @@ } }, "_npmOperationalInternal": { - "tmp": "tmp/nuxt_4.2.2_1765300771481_0.8205738049728677", + "tmp": "tmp/nuxt_3.21.0_1769123090302_0.32709756823214", "host": "s3://npm-registry-packages-npm-production" } }, - "3.20.2": { + "4.3.0": { "name": "nuxt", - "version": "3.20.2", + "version": "4.3.0", "license": "MIT", - "_id": "nuxt@3.20.2", + "_id": "nuxt@4.3.0", "maintainers": [ { "name": "nuxtbot", @@ -584,26 +570,26 @@ "nuxt": "bin/nuxt.mjs" }, "dist": { - "shasum": "3ea40738a640329d3f819e0409377796010b9bdd", - "tarball": "https://registry.npmjs.org/nuxt/-/nuxt-3.20.2.tgz", - "fileCount": 233, - "integrity": "sha512-DoayekzYjYmGj7A5iI7crBiLRTq1K8U1DLgAR/vGADh1IQfOLagn5Klg1Jn1xxIyN8x0iiFDf3dGd2JWyiKBLA==", + "shasum": "233e4fe523c86222707e10391ecc009c8fdd8bf9", + "tarball": "https://registry.npmjs.org/nuxt/-/nuxt-4.3.0.tgz", + "fileCount": 235, + "integrity": "sha512-99Iw3E3L5/2QtJyV4errZ0axkX/S9IAFK0AHm0pmRHkCu37OFn8mz2P4/CYTt6B/TG3mcKbXAVaeuF2FsAc1cA==", "signatures": [ { - "sig": "MEUCIC85XqeBKWBnAnlsrclxBimSlV7jc0FZEc5IGbRv9JneAiEAt7QjadhgaQS9iux1Of8m82gqF2OBIGdFAwKvk9lzOMU=", + "sig": "MEUCIQD8D+qmRtnqLsPpkSML8nvoWSRjzywU3tXkLWT9H/7k9gIgS+im5iA9LvzOdzxq4naULgKKeb0Shh75iUIhQ+t1CPY=", "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U" } ], "attestations": { - "url": "https://registry.npmjs.org/-/npm/v1/attestations/nuxt@3.20.2", + "url": "https://registry.npmjs.org/-/npm/v1/attestations/nuxt@4.3.0", "provenance": { "predicateType": "https://slsa.dev/provenance/v1" } }, - "unpackedSize": 767603 + "unpackedSize": 710544 }, "type": "module", - "_from": "file:nuxt-3.20.2.tgz", + "_from": "file:nuxt-4.3.0.tgz", "types": "./types.d.ts", "engines": { "node": "^20.19.0 || >=22.12.0" @@ -613,45 +599,25 @@ "types": "./types.d.mts", "import": "./dist/index.mjs" }, - "./app": { - "types": "./dist/app/index.d.ts", - "import": "./dist/app/index.js" - }, - "./kit": { - "types": "./kit.d.ts", - "import": "./kit.js" - }, + "./app": "./dist/app/index.js", + "./kit": "./kit.js", + "./meta": "./meta.js", "./config": { "types": "./config.d.ts", "import": "./config.js", "require": "./config.cjs" }, - "./schema": { - "types": "./schema.d.ts", - "import": "./schema.js" - }, - "./app/defaults": { - "types": "./dist/app/defaults.d.ts", - "import": "./dist/app/defaults.js" - }, + "./schema": "./schema.js", "./package.json": "./package.json" }, "imports": { - "#app": { - "types": "./dist/app/index.d.ts", - "import": "./dist/app/index.js" - }, - "#app/nuxt": { - "types": "./dist/app/nuxt.d.ts", - "import": "./dist/app/nuxt.js" - }, - "#unhead/composables": { - "types": "./dist/head/runtime/composables/v4.d.ts", - "import": "./dist/head/runtime/composables/v4.js" - } + "#app": "./dist/app/index.js", + "#app/nuxt": "./dist/app/nuxt.js", + "#unhead/composables": "./dist/head/runtime/composables.js" }, "scripts": { - "test:attw": "attw --pack" + "test:attw": "attw --pack", + "build:stub": "unbuild --stub" }, "_npmUser": { "name": "GitHub Actions", @@ -661,40 +627,40 @@ "oidcConfigId": "oidc:d0585aa6-1a29-450d-8bf8-c3440b4bcc0f" } }, - "_resolved": "/tmp/08f7b656235edc7ec757e748796b99de/nuxt-3.20.2.tgz", - "_integrity": "sha512-DoayekzYjYmGj7A5iI7crBiLRTq1K8U1DLgAR/vGADh1IQfOLagn5Klg1Jn1xxIyN8x0iiFDf3dGd2JWyiKBLA==", + "_resolved": "/tmp/e7a8458e2c751b327df6833e94bcef51/nuxt-4.3.0.tgz", + "_integrity": "sha512-99Iw3E3L5/2QtJyV4errZ0axkX/S9IAFK0AHm0pmRHkCu37OFn8mz2P4/CYTt6B/TG3mcKbXAVaeuF2FsAc1cA==", "repository": { "url": "git+https://github.com/nuxt/nuxt.git", "type": "git", "directory": "packages/nuxt" }, - "_npmVersion": "11.6.2", + "_npmVersion": "11.7.0", "description": "Nuxt is a free and open-source framework with an intuitive and extendable way to create type-safe, performant and production-grade full-stack web applications and websites with Vue.js.", "directories": {}, - "_nodeVersion": "25.2.1", + "_nodeVersion": "25.4.0", "dependencies": { - "h3": "^1.15.4", - "c12": "^3.3.2", - "ufo": "^1.6.1", - "vue": "^3.5.25", + "h3": "^1.15.5", + "c12": "^3.3.3", + "ufo": "^1.6.3", + "vue": "^3.5.27", "defu": "^6.1.4", "errx": "^0.1.0", "jiti": "^2.6.1", "mlly": "^1.8.0", "nypm": "^0.6.2", + "rou3": "^0.7.12", "destr": "^2.0.5", "klona": "^2.0.6", "ohash": "^2.0.11", "pathe": "^2.0.3", "scule": "^1.3.0", - "unctx": "^2.4.1", + "unctx": "^2.5.0", "ignore": "^7.0.5", "ofetch": "^1.5.1", - "radix3": "^1.1.2", "semver": "^7.7.3", "compatx": "^0.2.0", "consola": "^3.4.2", - "devalue": "^5.6.0", + "devalue": "^5.6.2", "exsolve": "^1.0.8", "impound": "^1.0.0", "nanotar": "^0.2.0", @@ -704,50 +670,49 @@ "hookable": "^5.5.3", "knitwork": "^1.3.0", "uncrypto": "^0.1.3", - "unimport": "^5.5.0", + "unimport": "^5.6.0", "unplugin": "^2.3.11", - "@nuxt/cli": "^3.31.1", - "@nuxt/kit": "3.20.2", + "@nuxt/cli": "^3.32.0", + "@nuxt/kit": "4.3.0", "cookie-es": "^2.0.0", "on-change": "^6.0.1", "pkg-types": "^2.3.0", "ultrahtml": "^1.6.0", - "@dxup/nuxt": "^0.2.2", - "oxc-minify": "^0.102.0", - "oxc-parser": "^0.102.0", - "oxc-walker": "^0.6.0", + "@dxup/nuxt": "^0.3.2", + "oxc-minify": "^0.110.0", + "oxc-parser": "^0.110.0", + "oxc-walker": "^0.7.0", "tinyglobby": "^0.2.15", - "vue-router": "^4.6.3", - "@unhead/vue": "^2.0.19", - "@vue/shared": "^3.5.25", - "@nuxt/schema": "3.20.2", + "vue-router": "^4.6.4", + "@unhead/vue": "^2.1.2", + "@vue/shared": "^3.5.27", + "@nuxt/schema": "4.3.0", "magic-string": "^0.30.21", - "oxc-transform": "^0.102.0", + "oxc-transform": "^0.110.0", "@nuxt/devtools": "^3.1.1", "@nuxt/telemetry": "^2.6.6", "perfect-debounce": "^2.0.0", - "@nuxt/nitro-server": "3.20.2", - "@nuxt/vite-builder": "3.20.2", - "unplugin-vue-router": "^0.19.0", + "@nuxt/nitro-server": "4.3.0", + "@nuxt/vite-builder": "4.3.0", + "unplugin-vue-router": "^0.19.2", "escape-string-regexp": "^5.0.0" }, "_hasShrinkwrap": false, - "readmeFilename": "README.md", "devDependencies": { - "vite": "7.2.7", + "vite": "7.3.1", "vitest": "3.2.4", "unbuild": "3.6.1", - "@nuxt/scripts": "0.13.0", + "@nuxt/scripts": "0.13.2", "@types/estree": "1.0.8", - "@parcel/watcher": "2.5.1", - "@vue/compiler-sfc": "3.5.25", - "@vitejs/plugin-vue": "6.0.2", + "@parcel/watcher": "2.5.4", + "@vue/compiler-sfc": "3.5.27", + "@vitejs/plugin-vue": "6.0.3", "vue-bundle-renderer": "2.2.0", "vue-sfc-transformer": "0.1.17", - "@vitejs/plugin-vue-jsx": "5.1.2" + "@vitejs/plugin-vue-jsx": "5.1.3" }, "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@types/node": ">=18.12.0", "@parcel/watcher": "^2.1.0" }, "peerDependenciesMeta": { @@ -759,15 +724,15 @@ } }, "_npmOperationalInternal": { - "tmp": "tmp/nuxt_3.20.2_1765300466046_0.750110994656882", + "tmp": "tmp/nuxt_4.3.0_1769122934910_0.07836171421962757", "host": "s3://npm-registry-packages-npm-production" } }, - "4.2.1": { + "4.2.2": { "name": "nuxt", - "version": "4.2.1", + "version": "4.2.2", "license": "MIT", - "_id": "nuxt@4.2.1", + "_id": "nuxt@4.2.2", "maintainers": [ { "name": "nuxtbot", @@ -783,26 +748,26 @@ "nuxt": "bin/nuxt.mjs" }, "dist": { - "shasum": "b040202704c603cd9710fcffe59eb0beea876c44", - "tarball": "https://registry.npmjs.org/nuxt/-/nuxt-4.2.1.tgz", + "shasum": "f2579b99ad6d4a7ab8606f5d1131784716673309", + "tarball": "https://registry.npmjs.org/nuxt/-/nuxt-4.2.2.tgz", "fileCount": 233, - "integrity": "sha512-OE5ONizgwkKhjTGlUYB3ksE+2q2/I30QIYFl3N1yYz1r2rwhunGA3puUvqkzXwgLQ3AdsNcigPDmyQsqjbSdoQ==", + "integrity": "sha512-n6oYFikgLEb70J4+K19jAzfx4exZcRSRX7yZn09P5qlf2Z59VNOBqNmaZO5ObzvyGUZ308SZfL629/Q2v2FVjw==", "signatures": [ { - "sig": "MEUCIDwrAZ70j6QKJAk4IAxxwdoi4TKQatyNtDhmlAxgsVzjAiEAvkxktIY1raRz5Wmo9AOE9W2IsId/Oi4p37DVu0cS2NA=", + "sig": "MEQCICu7TqjMZpWfALtX/G4z0XxOdcYsNyn7OeqgUMLAzKxeAiAI1YqGPHT05UBPutc7rA8qx3adBO5siVUX/o/C25D4uw==", "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U" } ], "attestations": { - "url": "https://registry.npmjs.org/-/npm/v1/attestations/nuxt@4.2.1", + "url": "https://registry.npmjs.org/-/npm/v1/attestations/nuxt@4.2.2", "provenance": { "predicateType": "https://slsa.dev/provenance/v1" } }, - "unpackedSize": 685895 + "unpackedSize": 689762 }, "type": "module", - "_from": "file:nuxt-4.2.1.tgz", + "_from": "file:nuxt-4.2.2.tgz", "types": "./types.d.ts", "engines": { "node": "^20.19.0 || >=22.12.0" @@ -856,8 +821,8 @@ "oidcConfigId": "oidc:d0585aa6-1a29-450d-8bf8-c3440b4bcc0f" } }, - "_resolved": "/tmp/cacdbeaf27a80ff06ff2644838553705/nuxt-4.2.1.tgz", - "_integrity": "sha512-OE5ONizgwkKhjTGlUYB3ksE+2q2/I30QIYFl3N1yYz1r2rwhunGA3puUvqkzXwgLQ3AdsNcigPDmyQsqjbSdoQ==", + "_resolved": "/tmp/048cb70dcb5357268e9973b7dbc536d8/nuxt-4.2.2.tgz", + "_integrity": "sha512-n6oYFikgLEb70J4+K19jAzfx4exZcRSRX7yZn09P5qlf2Z59VNOBqNmaZO5ObzvyGUZ308SZfL629/Q2v2FVjw==", "repository": { "url": "git+https://github.com/nuxt/nuxt.git", "type": "git", @@ -866,12 +831,12 @@ "_npmVersion": "11.6.2", "description": "Nuxt is a free and open-source framework with an intuitive and extendable way to create type-safe, performant and production-grade full-stack web applications and websites with Vue.js.", "directories": {}, - "_nodeVersion": "25.1.0", + "_nodeVersion": "25.2.1", "dependencies": { "h3": "^1.15.4", - "c12": "^3.3.1", + "c12": "^3.3.2", "ufo": "^1.6.1", - "vue": "^3.5.23", + "vue": "^3.5.25", "defu": "^6.1.4", "errx": "^0.1.0", "jiti": "^2.6.1", @@ -889,56 +854,56 @@ "semver": "^7.7.3", "compatx": "^0.2.0", "consola": "^3.4.2", - "devalue": "^5.4.2", - "exsolve": "^1.0.7", + "devalue": "^5.6.0", + "exsolve": "^1.0.8", "impound": "^1.0.0", "nanotar": "^0.2.0", "std-env": "^3.10.0", "untyped": "^2.0.0", - "chokidar": "^4.0.3", + "chokidar": "^5.0.0", "hookable": "^5.5.3", - "knitwork": "^1.2.0", + "knitwork": "^1.3.0", "uncrypto": "^0.1.3", "unimport": "^5.5.0", - "unplugin": "^2.3.10", - "@nuxt/cli": "^3.30.0", - "@nuxt/kit": "4.2.1", + "unplugin": "^2.3.11", + "@nuxt/cli": "^3.31.1", + "@nuxt/kit": "4.2.2", "cookie-es": "^2.0.0", "on-change": "^6.0.1", "pkg-types": "^2.3.0", "ultrahtml": "^1.6.0", - "@dxup/nuxt": "^0.2.1", - "oxc-minify": "^0.96.0", - "oxc-parser": "^0.96.0", - "oxc-walker": "^0.5.2", + "@dxup/nuxt": "^0.2.2", + "oxc-minify": "^0.102.0", + "oxc-parser": "^0.102.0", + "oxc-walker": "^0.6.0", "tinyglobby": "^0.2.15", "vue-router": "^4.6.3", "@unhead/vue": "^2.0.19", - "@vue/shared": "^3.5.23", - "@nuxt/schema": "4.2.1", + "@vue/shared": "^3.5.25", + "@nuxt/schema": "4.2.2", "magic-string": "^0.30.21", - "oxc-transform": "^0.96.0", - "@nuxt/devtools": "^3.0.1", + "oxc-transform": "^0.102.0", + "@nuxt/devtools": "^3.1.1", "@nuxt/telemetry": "^2.6.6", "perfect-debounce": "^2.0.0", - "@nuxt/nitro-server": "4.2.1", - "@nuxt/vite-builder": "4.2.1", - "unplugin-vue-router": "^0.16.1", + "@nuxt/nitro-server": "4.2.2", + "@nuxt/vite-builder": "4.2.2", + "unplugin-vue-router": "^0.19.0", "escape-string-regexp": "^5.0.0" }, "_hasShrinkwrap": false, "devDependencies": { - "vite": "7.2.1", + "vite": "7.2.7", "vitest": "3.2.4", "unbuild": "3.6.1", "@nuxt/scripts": "0.13.0", "@types/estree": "1.0.8", "@parcel/watcher": "2.5.1", - "@vue/compiler-sfc": "3.5.23", - "@vitejs/plugin-vue": "6.0.1", + "@vue/compiler-sfc": "3.5.25", + "@vitejs/plugin-vue": "6.0.2", "vue-bundle-renderer": "2.2.0", "vue-sfc-transformer": "0.1.17", - "@vitejs/plugin-vue-jsx": "5.1.1" + "@vitejs/plugin-vue-jsx": "5.1.2" }, "peerDependencies": { "@types/node": ">=18.12.0", @@ -953,15 +918,15 @@ } }, "_npmOperationalInternal": { - "tmp": "tmp/nuxt_4.2.1_1762473414110_0.8535419209851838", + "tmp": "tmp/nuxt_4.2.2_1765300771481_0.8205738049728677", "host": "s3://npm-registry-packages-npm-production" } }, - "3.20.1": { + "3.20.2": { "name": "nuxt", - "version": "3.20.1", + "version": "3.20.2", "license": "MIT", - "_id": "nuxt@3.20.1", + "_id": "nuxt@3.20.2", "maintainers": [ { "name": "nuxtbot", @@ -977,26 +942,26 @@ "nuxt": "bin/nuxt.mjs" }, "dist": { - "shasum": "ff270dec28a1000e8307b4465fc203c91617a41f", - "tarball": "https://registry.npmjs.org/nuxt/-/nuxt-3.20.1.tgz", + "shasum": "3ea40738a640329d3f819e0409377796010b9bdd", + "tarball": "https://registry.npmjs.org/nuxt/-/nuxt-3.20.2.tgz", "fileCount": 233, - "integrity": "sha512-1d0tBndWdC3DQ/8s6cZqD6jc7DmFG4hIswjK2sYfYNsPzVe3WiM+svuXd9ixUGe6E13StaepJLDubz2GLyU+XQ==", + "integrity": "sha512-DoayekzYjYmGj7A5iI7crBiLRTq1K8U1DLgAR/vGADh1IQfOLagn5Klg1Jn1xxIyN8x0iiFDf3dGd2JWyiKBLA==", "signatures": [ { - "sig": "MEUCID9qFoDi3C0lszdenbLS9IWGt+JRvDOcGoKSrG7bZ7gxAiEA8D6MB2aZgMzwHEH7X8o7RAWum3joHa9E+ikj3X6gj/c=", + "sig": "MEUCIC85XqeBKWBnAnlsrclxBimSlV7jc0FZEc5IGbRv9JneAiEAt7QjadhgaQS9iux1Of8m82gqF2OBIGdFAwKvk9lzOMU=", "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U" } ], "attestations": { - "url": "https://registry.npmjs.org/-/npm/v1/attestations/nuxt@3.20.1", + "url": "https://registry.npmjs.org/-/npm/v1/attestations/nuxt@3.20.2", "provenance": { "predicateType": "https://slsa.dev/provenance/v1" } }, - "unpackedSize": 764701 + "unpackedSize": 767603 }, "type": "module", - "_from": "file:nuxt-3.20.1.tgz", + "_from": "file:nuxt-3.20.2.tgz", "types": "./types.d.ts", "engines": { "node": "^20.19.0 || >=22.12.0" @@ -1054,8 +1019,8 @@ "oidcConfigId": "oidc:d0585aa6-1a29-450d-8bf8-c3440b4bcc0f" } }, - "_resolved": "/tmp/2af4004f39d9e16c08f30b3cb99b77b3/nuxt-3.20.1.tgz", - "_integrity": "sha512-1d0tBndWdC3DQ/8s6cZqD6jc7DmFG4hIswjK2sYfYNsPzVe3WiM+svuXd9ixUGe6E13StaepJLDubz2GLyU+XQ==", + "_resolved": "/tmp/08f7b656235edc7ec757e748796b99de/nuxt-3.20.2.tgz", + "_integrity": "sha512-DoayekzYjYmGj7A5iI7crBiLRTq1K8U1DLgAR/vGADh1IQfOLagn5Klg1Jn1xxIyN8x0iiFDf3dGd2JWyiKBLA==", "repository": { "url": "git+https://github.com/nuxt/nuxt.git", "type": "git", @@ -1064,12 +1029,12 @@ "_npmVersion": "11.6.2", "description": "Nuxt is a free and open-source framework with an intuitive and extendable way to create type-safe, performant and production-grade full-stack web applications and websites with Vue.js.", "directories": {}, - "_nodeVersion": "25.1.0", + "_nodeVersion": "25.2.1", "dependencies": { "h3": "^1.15.4", - "c12": "^3.3.1", + "c12": "^3.3.2", "ufo": "^1.6.1", - "vue": "^3.5.23", + "vue": "^3.5.25", "defu": "^6.1.4", "errx": "^0.1.0", "jiti": "^2.6.1", @@ -1087,57 +1052,57 @@ "semver": "^7.7.3", "compatx": "^0.2.0", "consola": "^3.4.2", - "devalue": "^5.4.2", - "exsolve": "^1.0.7", + "devalue": "^5.6.0", + "exsolve": "^1.0.8", "impound": "^1.0.0", "nanotar": "^0.2.0", "std-env": "^3.10.0", "untyped": "^2.0.0", - "chokidar": "^4.0.3", + "chokidar": "^5.0.0", "hookable": "^5.5.3", - "knitwork": "^1.2.0", + "knitwork": "^1.3.0", "uncrypto": "^0.1.3", "unimport": "^5.5.0", - "unplugin": "^2.3.10", - "@nuxt/cli": "^3.30.0", - "@nuxt/kit": "3.20.1", + "unplugin": "^2.3.11", + "@nuxt/cli": "^3.31.1", + "@nuxt/kit": "3.20.2", "cookie-es": "^2.0.0", "on-change": "^6.0.1", "pkg-types": "^2.3.0", "ultrahtml": "^1.6.0", - "@dxup/nuxt": "^0.2.1", - "oxc-minify": "^0.96.0", - "oxc-parser": "^0.96.0", - "oxc-walker": "^0.5.2", + "@dxup/nuxt": "^0.2.2", + "oxc-minify": "^0.102.0", + "oxc-parser": "^0.102.0", + "oxc-walker": "^0.6.0", "tinyglobby": "^0.2.15", "vue-router": "^4.6.3", "@unhead/vue": "^2.0.19", - "@vue/shared": "^3.5.23", - "@nuxt/schema": "3.20.1", + "@vue/shared": "^3.5.25", + "@nuxt/schema": "3.20.2", "magic-string": "^0.30.21", - "oxc-transform": "^0.96.0", - "@nuxt/devtools": "^3.0.1", + "oxc-transform": "^0.102.0", + "@nuxt/devtools": "^3.1.1", "@nuxt/telemetry": "^2.6.6", "perfect-debounce": "^2.0.0", - "@nuxt/nitro-server": "3.20.1", - "@nuxt/vite-builder": "3.20.1", - "unplugin-vue-router": "^0.16.1", + "@nuxt/nitro-server": "3.20.2", + "@nuxt/vite-builder": "3.20.2", + "unplugin-vue-router": "^0.19.0", "escape-string-regexp": "^5.0.0" }, "_hasShrinkwrap": false, "readmeFilename": "README.md", "devDependencies": { - "vite": "7.2.1", + "vite": "7.2.7", "vitest": "3.2.4", "unbuild": "3.6.1", "@nuxt/scripts": "0.13.0", "@types/estree": "1.0.8", "@parcel/watcher": "2.5.1", - "@vue/compiler-sfc": "3.5.23", - "@vitejs/plugin-vue": "6.0.1", + "@vue/compiler-sfc": "3.5.25", + "@vitejs/plugin-vue": "6.0.2", "vue-bundle-renderer": "2.2.0", "vue-sfc-transformer": "0.1.17", - "@vitejs/plugin-vue-jsx": "5.1.1" + "@vitejs/plugin-vue-jsx": "5.1.2" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", @@ -1152,15 +1117,15 @@ } }, "_npmOperationalInternal": { - "tmp": "tmp/nuxt_3.20.1_1762473223637_0.39086443598533815", + "tmp": "tmp/nuxt_3.20.2_1765300466046_0.750110994656882", "host": "s3://npm-registry-packages-npm-production" } }, - "3.20.0": { + "4.2.1": { "name": "nuxt", - "version": "3.20.0", + "version": "4.2.1", "license": "MIT", - "_id": "nuxt@3.20.0", + "_id": "nuxt@4.2.1", "maintainers": [ { "name": "nuxtbot", @@ -1176,26 +1141,26 @@ "nuxt": "bin/nuxt.mjs" }, "dist": { - "shasum": "2fa2a51adc394f0b1dc55d01b3782497d93faa2a", - "tarball": "https://registry.npmjs.org/nuxt/-/nuxt-3.20.0.tgz", + "shasum": "b040202704c603cd9710fcffe59eb0beea876c44", + "tarball": "https://registry.npmjs.org/nuxt/-/nuxt-4.2.1.tgz", "fileCount": 233, - "integrity": "sha512-JjrKlbsJyK/OO7eF70Q/ay0tJALSMMeu2t4Ocu1aFJ6qS5aDkhYRAvOstcU+ojTLY4wOvOUrGBmVnfE+hgsfvw==", + "integrity": "sha512-OE5ONizgwkKhjTGlUYB3ksE+2q2/I30QIYFl3N1yYz1r2rwhunGA3puUvqkzXwgLQ3AdsNcigPDmyQsqjbSdoQ==", "signatures": [ { - "sig": "MEYCIQD+Ft8oLmKq8NRcJYMCqJY/LzsMasMd+y+zvKZ9eJ7Y5gIhAKcAUdtRTSemfUCDMMw/SmZ7O3ALv3ZDQEML50d+erLr", + "sig": "MEUCIDwrAZ70j6QKJAk4IAxxwdoi4TKQatyNtDhmlAxgsVzjAiEAvkxktIY1raRz5Wmo9AOE9W2IsId/Oi4p37DVu0cS2NA=", "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U" } ], "attestations": { - "url": "https://registry.npmjs.org/-/npm/v1/attestations/nuxt@3.20.0", + "url": "https://registry.npmjs.org/-/npm/v1/attestations/nuxt@4.2.1", "provenance": { "predicateType": "https://slsa.dev/provenance/v1" } }, - "unpackedSize": 764102 + "unpackedSize": 685895 }, "type": "module", - "_from": "file:nuxt-3.20.0.tgz", + "_from": "file:nuxt-4.2.1.tgz", "types": "./types.d.ts", "engines": { "node": "^20.19.0 || >=22.12.0" @@ -1222,10 +1187,6 @@ "types": "./schema.d.ts", "import": "./schema.js" }, - "./app/defaults": { - "types": "./dist/app/defaults.d.ts", - "import": "./dist/app/defaults.js" - }, "./package.json": "./package.json" }, "imports": { @@ -1238,8 +1199,8 @@ "import": "./dist/app/nuxt.js" }, "#unhead/composables": { - "types": "./dist/head/runtime/composables/v4.d.ts", - "import": "./dist/head/runtime/composables/v4.js" + "types": "./dist/head/runtime/composables.d.ts", + "import": "./dist/head/runtime/composables.js" } }, "scripts": { @@ -1253,8 +1214,8 @@ "oidcConfigId": "oidc:d0585aa6-1a29-450d-8bf8-c3440b4bcc0f" } }, - "_resolved": "/tmp/696068f892c9b71da0470369788fd842/nuxt-3.20.0.tgz", - "_integrity": "sha512-JjrKlbsJyK/OO7eF70Q/ay0tJALSMMeu2t4Ocu1aFJ6qS5aDkhYRAvOstcU+ojTLY4wOvOUrGBmVnfE+hgsfvw==", + "_resolved": "/tmp/cacdbeaf27a80ff06ff2644838553705/nuxt-4.2.1.tgz", + "_integrity": "sha512-OE5ONizgwkKhjTGlUYB3ksE+2q2/I30QIYFl3N1yYz1r2rwhunGA3puUvqkzXwgLQ3AdsNcigPDmyQsqjbSdoQ==", "repository": { "url": "git+https://github.com/nuxt/nuxt.git", "type": "git", @@ -1263,12 +1224,12 @@ "_npmVersion": "11.6.2", "description": "Nuxt is a free and open-source framework with an intuitive and extendable way to create type-safe, performant and production-grade full-stack web applications and websites with Vue.js.", "directories": {}, - "_nodeVersion": "25.0.0", + "_nodeVersion": "25.1.0", "dependencies": { "h3": "^1.15.4", - "c12": "^3.3.0", + "c12": "^3.3.1", "ufo": "^1.6.1", - "vue": "^3.5.22", + "vue": "^3.5.23", "defu": "^6.1.4", "errx": "^0.1.0", "jiti": "^2.6.1", @@ -1281,65 +1242,64 @@ "scule": "^1.3.0", "unctx": "^2.4.1", "ignore": "^7.0.5", - "ofetch": "^1.4.1", + "ofetch": "^1.5.1", "radix3": "^1.1.2", "semver": "^7.7.3", "compatx": "^0.2.0", "consola": "^3.4.2", - "devalue": "^5.3.2", + "devalue": "^5.4.2", "exsolve": "^1.0.7", "impound": "^1.0.0", "nanotar": "^0.2.0", - "std-env": "^3.9.0", + "std-env": "^3.10.0", "untyped": "^2.0.0", "chokidar": "^4.0.3", "hookable": "^5.5.3", "knitwork": "^1.2.0", "uncrypto": "^0.1.3", - "unimport": "^5.4.1", + "unimport": "^5.5.0", "unplugin": "^2.3.10", - "@nuxt/cli": "^3.29.3", - "@nuxt/kit": "3.20.0", + "@nuxt/cli": "^3.30.0", + "@nuxt/kit": "4.2.1", "cookie-es": "^2.0.0", - "on-change": "^6.0.0", + "on-change": "^6.0.1", "pkg-types": "^2.3.0", "ultrahtml": "^1.6.0", - "@dxup/nuxt": "^0.1.0", - "oxc-minify": "^0.94.0", - "oxc-parser": "^0.94.0", + "@dxup/nuxt": "^0.2.1", + "oxc-minify": "^0.96.0", + "oxc-parser": "^0.96.0", "oxc-walker": "^0.5.2", "tinyglobby": "^0.2.15", "vue-router": "^4.6.3", - "@unhead/vue": "^2.0.14", - "@vue/shared": "^3.5.22", - "@nuxt/schema": "3.20.0", - "magic-string": "^0.30.19", - "oxc-transform": "^0.94.0", - "@nuxt/devtools": "^2.6.5", + "@unhead/vue": "^2.0.19", + "@vue/shared": "^3.5.23", + "@nuxt/schema": "4.2.1", + "magic-string": "^0.30.21", + "oxc-transform": "^0.96.0", + "@nuxt/devtools": "^3.0.1", "@nuxt/telemetry": "^2.6.6", "perfect-debounce": "^2.0.0", - "@nuxt/nitro-server": "3.20.0", - "@nuxt/vite-builder": "3.20.0", - "unplugin-vue-router": "^0.16.0", + "@nuxt/nitro-server": "4.2.1", + "@nuxt/vite-builder": "4.2.1", + "unplugin-vue-router": "^0.16.1", "escape-string-regexp": "^5.0.0" }, "_hasShrinkwrap": false, - "readmeFilename": "README.md", "devDependencies": { - "vite": "7.1.9", + "vite": "7.2.1", "vitest": "3.2.4", "unbuild": "3.6.1", - "@nuxt/scripts": "0.12.1", + "@nuxt/scripts": "0.13.0", "@types/estree": "1.0.8", "@parcel/watcher": "2.5.1", - "@vue/compiler-sfc": "3.5.22", + "@vue/compiler-sfc": "3.5.23", "@vitejs/plugin-vue": "6.0.1", "vue-bundle-renderer": "2.2.0", "vue-sfc-transformer": "0.1.17", "@vitejs/plugin-vue-jsx": "5.1.1" }, "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@types/node": ">=18.12.0", "@parcel/watcher": "^2.1.0" }, "peerDependenciesMeta": { @@ -1351,15 +1311,15 @@ } }, "_npmOperationalInternal": { - "tmp": "tmp/nuxt_3.20.0_1761649323956_0.43466591109889485", + "tmp": "tmp/nuxt_4.2.1_1762473414110_0.8535419209851838", "host": "s3://npm-registry-packages-npm-production" } }, - "4.2.0": { + "3.20.1": { "name": "nuxt", - "version": "4.2.0", + "version": "3.20.1", "license": "MIT", - "_id": "nuxt@4.2.0", + "_id": "nuxt@3.20.1", "maintainers": [ { "name": "nuxtbot", @@ -1375,26 +1335,26 @@ "nuxt": "bin/nuxt.mjs" }, "dist": { - "shasum": "7e6a541eb36873c612db37a6660218ec34a0eca4", - "tarball": "https://registry.npmjs.org/nuxt/-/nuxt-4.2.0.tgz", + "shasum": "ff270dec28a1000e8307b4465fc203c91617a41f", + "tarball": "https://registry.npmjs.org/nuxt/-/nuxt-3.20.1.tgz", "fileCount": 233, - "integrity": "sha512-4qzf2Ymf07dMMj50TZdNZgMqCdzDch8NY3NO2ClucUaIvvsr6wd9+JrDpI1CckSTHwqU37/dIPFpvIQZoeHoYA==", + "integrity": "sha512-1d0tBndWdC3DQ/8s6cZqD6jc7DmFG4hIswjK2sYfYNsPzVe3WiM+svuXd9ixUGe6E13StaepJLDubz2GLyU+XQ==", "signatures": [ { - "sig": "MEQCIDJfaIwJVfGk/ozMvnZIo++jaqMxovCqx+H/l7/bbI1cAiAlNxwbRNarYglcJZmvHHZLcnZnfyERP7KAgArs/gDGuw==", + "sig": "MEUCID9qFoDi3C0lszdenbLS9IWGt+JRvDOcGoKSrG7bZ7gxAiEA8D6MB2aZgMzwHEH7X8o7RAWum3joHa9E+ikj3X6gj/c=", "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U" } ], "attestations": { - "url": "https://registry.npmjs.org/-/npm/v1/attestations/nuxt@4.2.0", + "url": "https://registry.npmjs.org/-/npm/v1/attestations/nuxt@3.20.1", "provenance": { "predicateType": "https://slsa.dev/provenance/v1" } }, - "unpackedSize": 685562 + "unpackedSize": 764701 }, "type": "module", - "_from": "file:nuxt-4.2.0.tgz", + "_from": "file:nuxt-3.20.1.tgz", "types": "./types.d.ts", "engines": { "node": "^20.19.0 || >=22.12.0" @@ -1421,6 +1381,10 @@ "types": "./schema.d.ts", "import": "./schema.js" }, + "./app/defaults": { + "types": "./dist/app/defaults.d.ts", + "import": "./dist/app/defaults.js" + }, "./package.json": "./package.json" }, "imports": { @@ -1433,8 +1397,8 @@ "import": "./dist/app/nuxt.js" }, "#unhead/composables": { - "types": "./dist/head/runtime/composables.d.ts", - "import": "./dist/head/runtime/composables.js" + "types": "./dist/head/runtime/composables/v4.d.ts", + "import": "./dist/head/runtime/composables/v4.js" } }, "scripts": { @@ -1448,8 +1412,8 @@ "oidcConfigId": "oidc:d0585aa6-1a29-450d-8bf8-c3440b4bcc0f" } }, - "_resolved": "/tmp/593946b93a9000a1032c0feebbdef26d/nuxt-4.2.0.tgz", - "_integrity": "sha512-4qzf2Ymf07dMMj50TZdNZgMqCdzDch8NY3NO2ClucUaIvvsr6wd9+JrDpI1CckSTHwqU37/dIPFpvIQZoeHoYA==", + "_resolved": "/tmp/2af4004f39d9e16c08f30b3cb99b77b3/nuxt-3.20.1.tgz", + "_integrity": "sha512-1d0tBndWdC3DQ/8s6cZqD6jc7DmFG4hIswjK2sYfYNsPzVe3WiM+svuXd9ixUGe6E13StaepJLDubz2GLyU+XQ==", "repository": { "url": "git+https://github.com/nuxt/nuxt.git", "type": "git", @@ -1458,12 +1422,12 @@ "_npmVersion": "11.6.2", "description": "Nuxt is a free and open-source framework with an intuitive and extendable way to create type-safe, performant and production-grade full-stack web applications and websites with Vue.js.", "directories": {}, - "_nodeVersion": "25.0.0", + "_nodeVersion": "25.1.0", "dependencies": { "h3": "^1.15.4", "c12": "^3.3.1", "ufo": "^1.6.1", - "vue": "^3.5.22", + "vue": "^3.5.23", "defu": "^6.1.4", "errx": "^0.1.0", "jiti": "^2.6.1", @@ -1476,7 +1440,7 @@ "scule": "^1.3.0", "unctx": "^2.4.1", "ignore": "^7.0.5", - "ofetch": "^1.4.1", + "ofetch": "^1.5.1", "radix3": "^1.1.2", "semver": "^7.7.3", "compatx": "^0.2.0", @@ -1493,47 +1457,48 @@ "uncrypto": "^0.1.3", "unimport": "^5.5.0", "unplugin": "^2.3.10", - "@nuxt/cli": "^3.29.3", - "@nuxt/kit": "4.2.0", + "@nuxt/cli": "^3.30.0", + "@nuxt/kit": "3.20.1", "cookie-es": "^2.0.0", - "on-change": "^6.0.0", + "on-change": "^6.0.1", "pkg-types": "^2.3.0", "ultrahtml": "^1.6.0", - "@dxup/nuxt": "^0.2.0", - "oxc-minify": "^0.95.0", - "oxc-parser": "^0.95.0", + "@dxup/nuxt": "^0.2.1", + "oxc-minify": "^0.96.0", + "oxc-parser": "^0.96.0", "oxc-walker": "^0.5.2", "tinyglobby": "^0.2.15", "vue-router": "^4.6.3", "@unhead/vue": "^2.0.19", - "@vue/shared": "^3.5.22", - "@nuxt/schema": "4.2.0", + "@vue/shared": "^3.5.23", + "@nuxt/schema": "3.20.1", "magic-string": "^0.30.21", - "oxc-transform": "^0.95.0", - "@nuxt/devtools": "^2.6.5", + "oxc-transform": "^0.96.0", + "@nuxt/devtools": "^3.0.1", "@nuxt/telemetry": "^2.6.6", "perfect-debounce": "^2.0.0", - "@nuxt/nitro-server": "4.2.0", - "@nuxt/vite-builder": "4.2.0", - "unplugin-vue-router": "^0.16.0", + "@nuxt/nitro-server": "3.20.1", + "@nuxt/vite-builder": "3.20.1", + "unplugin-vue-router": "^0.16.1", "escape-string-regexp": "^5.0.0" }, "_hasShrinkwrap": false, + "readmeFilename": "README.md", "devDependencies": { - "vite": "7.1.12", + "vite": "7.2.1", "vitest": "3.2.4", "unbuild": "3.6.1", "@nuxt/scripts": "0.13.0", "@types/estree": "1.0.8", "@parcel/watcher": "2.5.1", - "@vue/compiler-sfc": "3.5.22", + "@vue/compiler-sfc": "3.5.23", "@vitejs/plugin-vue": "6.0.1", "vue-bundle-renderer": "2.2.0", "vue-sfc-transformer": "0.1.17", "@vitejs/plugin-vue-jsx": "5.1.1" }, "peerDependencies": { - "@types/node": ">=18.12.0", + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "@parcel/watcher": "^2.1.0" }, "peerDependenciesMeta": { @@ -1545,27 +1510,19 @@ } }, "_npmOperationalInternal": { - "tmp": "tmp/nuxt_4.2.0_1761371846002_0.7998915347959945", + "tmp": "tmp/nuxt_3.20.1_1762473223637_0.39086443598533815", "host": "s3://npm-registry-packages-npm-production" } }, - "4.1.3": { + "3.20.0": { "name": "nuxt", - "version": "4.1.3", + "version": "3.20.0", "license": "MIT", - "_id": "nuxt@4.1.3", + "_id": "nuxt@3.20.0", "maintainers": [ { "name": "nuxtbot", "email": "user2@example.com" - }, - { - "name": "atinux", - "email": "user3@example.com" - }, - { - "name": "danielroe", - "email": "user4@example.com" } ], "homepage": "https://nuxt.com", @@ -1577,26 +1534,26 @@ "nuxt": "bin/nuxt.mjs" }, "dist": { - "shasum": "1b55e2bbe9d55a605b12e160daec3d88229bf8dd", - "tarball": "https://registry.npmjs.org/nuxt/-/nuxt-4.1.3.tgz", - "fileCount": 272, - "integrity": "sha512-FPl+4HNIOTRYWQXtsZe5KJAr/eddFesuXABvcSTnFLYckIfnxcistwmbtPlkJhkW6vr/Jdhef5QqqYYkBsowGg==", + "shasum": "2fa2a51adc394f0b1dc55d01b3782497d93faa2a", + "tarball": "https://registry.npmjs.org/nuxt/-/nuxt-3.20.0.tgz", + "fileCount": 233, + "integrity": "sha512-JjrKlbsJyK/OO7eF70Q/ay0tJALSMMeu2t4Ocu1aFJ6qS5aDkhYRAvOstcU+ojTLY4wOvOUrGBmVnfE+hgsfvw==", "signatures": [ { - "sig": "MEUCIHG5xwn2b+JofcKfUZ7+doQWu732QRzvXv4VSCb5vFy3AiEAgsWabR8qZNptgDTv3hh8KIdd9GjkZfEB56qQOYNve7w=", + "sig": "MEYCIQD+Ft8oLmKq8NRcJYMCqJY/LzsMasMd+y+zvKZ9eJ7Y5gIhAKcAUdtRTSemfUCDMMw/SmZ7O3ALv3ZDQEML50d+erLr", "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U" } ], "attestations": { - "url": "https://registry.npmjs.org/-/npm/v1/attestations/nuxt@4.1.3", + "url": "https://registry.npmjs.org/-/npm/v1/attestations/nuxt@3.20.0", "provenance": { "predicateType": "https://slsa.dev/provenance/v1" } }, - "unpackedSize": 769824 + "unpackedSize": 764102 }, "type": "module", - "_from": "file:nuxt-4.1.3.tgz", + "_from": "file:nuxt-3.20.0.tgz", "types": "./types.d.ts", "engines": { "node": "^20.19.0 || >=22.12.0" @@ -1623,6 +1580,10 @@ "types": "./schema.d.ts", "import": "./schema.js" }, + "./app/defaults": { + "types": "./dist/app/defaults.d.ts", + "import": "./dist/app/defaults.js" + }, "./package.json": "./package.json" }, "imports": { @@ -1635,8 +1596,8 @@ "import": "./dist/app/nuxt.js" }, "#unhead/composables": { - "types": "./dist/head/runtime/composables.d.ts", - "import": "./dist/head/runtime/composables.js" + "types": "./dist/head/runtime/composables/v4.d.ts", + "import": "./dist/head/runtime/composables/v4.js" } }, "scripts": { @@ -1650,17 +1611,17 @@ "oidcConfigId": "oidc:d0585aa6-1a29-450d-8bf8-c3440b4bcc0f" } }, - "_resolved": "/tmp/b70a93ef69c58d681f42490eb7029543/nuxt-4.1.3.tgz", - "_integrity": "sha512-FPl+4HNIOTRYWQXtsZe5KJAr/eddFesuXABvcSTnFLYckIfnxcistwmbtPlkJhkW6vr/Jdhef5QqqYYkBsowGg==", + "_resolved": "/tmp/696068f892c9b71da0470369788fd842/nuxt-3.20.0.tgz", + "_integrity": "sha512-JjrKlbsJyK/OO7eF70Q/ay0tJALSMMeu2t4Ocu1aFJ6qS5aDkhYRAvOstcU+ojTLY4wOvOUrGBmVnfE+hgsfvw==", "repository": { "url": "git+https://github.com/nuxt/nuxt.git", "type": "git", "directory": "packages/nuxt" }, - "_npmVersion": "11.6.0", + "_npmVersion": "11.6.2", "description": "Nuxt is a free and open-source framework with an intuitive and extendable way to create type-safe, performant and production-grade full-stack web applications and websites with Vue.js.", "directories": {}, - "_nodeVersion": "24.9.0", + "_nodeVersion": "25.0.0", "dependencies": { "h3": "^1.15.4", "c12": "^3.3.0", @@ -1680,11 +1641,10 @@ "ignore": "^7.0.5", "ofetch": "^1.4.1", "radix3": "^1.1.2", - "semver": "^7.7.2", + "semver": "^7.7.3", "compatx": "^0.2.0", "consola": "^3.4.2", "devalue": "^5.3.2", - "esbuild": "^0.25.10", "exsolve": "^1.0.7", "impound": "^1.0.0", "nanotar": "^0.2.0", @@ -1696,37 +1656,33 @@ "uncrypto": "^0.1.3", "unimport": "^5.4.1", "unplugin": "^2.3.10", - "@nuxt/cli": "^3.29.0", - "@nuxt/kit": "4.1.3", + "@nuxt/cli": "^3.29.3", + "@nuxt/kit": "3.20.0", "cookie-es": "^2.0.0", - "nitropack": "^2.12.6", "on-change": "^6.0.0", "pkg-types": "^2.3.0", "ultrahtml": "^1.6.0", - "unstorage": "^1.17.1", + "@dxup/nuxt": "^0.1.0", "oxc-minify": "^0.94.0", "oxc-parser": "^0.94.0", "oxc-walker": "^0.5.2", "tinyglobby": "^0.2.15", - "vue-router": "^4.5.1", + "vue-router": "^4.6.3", "@unhead/vue": "^2.0.14", "@vue/shared": "^3.5.22", - "@nuxt/schema": "4.1.3", + "@nuxt/schema": "3.20.0", "magic-string": "^0.30.19", - "@nuxt/devalue": "^2.0.2", - "estree-walker": "^3.0.3", "oxc-transform": "^0.94.0", "@nuxt/devtools": "^2.6.5", - "mocked-exports": "^0.1.1", "@nuxt/telemetry": "^2.6.6", "perfect-debounce": "^2.0.0", - "vue-devtools-stub": "^0.1.0", - "@nuxt/vite-builder": "4.1.3", - "unplugin-vue-router": "^0.15.0", - "vue-bundle-renderer": "^2.2.0", + "@nuxt/nitro-server": "3.20.0", + "@nuxt/vite-builder": "3.20.0", + "unplugin-vue-router": "^0.16.0", "escape-string-regexp": "^5.0.0" }, "_hasShrinkwrap": false, + "readmeFilename": "README.md", "devDependencies": { "vite": "7.1.9", "vitest": "3.2.4", @@ -1736,11 +1692,12 @@ "@parcel/watcher": "2.5.1", "@vue/compiler-sfc": "3.5.22", "@vitejs/plugin-vue": "6.0.1", + "vue-bundle-renderer": "2.2.0", "vue-sfc-transformer": "0.1.17", "@vitejs/plugin-vue-jsx": "5.1.1" }, "peerDependencies": { - "@types/node": ">=18.12.0", + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "@parcel/watcher": "^2.1.0" }, "peerDependenciesMeta": { @@ -1752,27 +1709,19 @@ } }, "_npmOperationalInternal": { - "tmp": "tmp/nuxt_4.1.3_1759766791655_0.39979724702758235", + "tmp": "tmp/nuxt_3.20.0_1761649323956_0.43466591109889485", "host": "s3://npm-registry-packages-npm-production" } }, - "3.19.3": { + "4.2.0": { "name": "nuxt", - "version": "3.19.3", + "version": "4.2.0", "license": "MIT", - "_id": "nuxt@3.19.3", + "_id": "nuxt@4.2.0", "maintainers": [ { "name": "nuxtbot", "email": "user2@example.com" - }, - { - "name": "atinux", - "email": "user3@example.com" - }, - { - "name": "danielroe", - "email": "user4@example.com" } ], "homepage": "https://nuxt.com", @@ -1784,26 +1733,26 @@ "nuxt": "bin/nuxt.mjs" }, "dist": { - "shasum": "0cfee281c2bcfd81f5785a1935e4a25b77ccb1fd", - "tarball": "https://registry.npmjs.org/nuxt/-/nuxt-3.19.3.tgz", - "fileCount": 269, - "integrity": "sha512-J5vfkt69gamnl81iDgeSi1tZ0ADEesKfZizPfKxY10dMdjuelAo9WYItFmFGWZ9j1+uXtFJ+PLzqGmXfPLBsuw==", + "shasum": "7e6a541eb36873c612db37a6660218ec34a0eca4", + "tarball": "https://registry.npmjs.org/nuxt/-/nuxt-4.2.0.tgz", + "fileCount": 233, + "integrity": "sha512-4qzf2Ymf07dMMj50TZdNZgMqCdzDch8NY3NO2ClucUaIvvsr6wd9+JrDpI1CckSTHwqU37/dIPFpvIQZoeHoYA==", "signatures": [ { - "sig": "MEQCIGHYKSDvkzCygXoJGzlXxqn8vnIx5dYJfuDGpvmqdDpkAiBuvrrZWKHz46YRxhO8B8iMw6uHg3M1oqOKsaken+RX2Q==", + "sig": "MEQCIDJfaIwJVfGk/ozMvnZIo++jaqMxovCqx+H/l7/bbI1cAiAlNxwbRNarYglcJZmvHHZLcnZnfyERP7KAgArs/gDGuw==", "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U" } ], "attestations": { - "url": "https://registry.npmjs.org/-/npm/v1/attestations/nuxt@3.19.3", + "url": "https://registry.npmjs.org/-/npm/v1/attestations/nuxt@4.2.0", "provenance": { "predicateType": "https://slsa.dev/provenance/v1" } }, - "unpackedSize": 842486 + "unpackedSize": 685562 }, "type": "module", - "_from": "file:nuxt-3.19.3.tgz", + "_from": "file:nuxt-4.2.0.tgz", "types": "./types.d.ts", "engines": { "node": "^20.19.0 || >=22.12.0" @@ -1830,10 +1779,6 @@ "types": "./schema.d.ts", "import": "./schema.js" }, - "./app/defaults": { - "types": "./dist/app/defaults.d.ts", - "import": "./dist/app/defaults.js" - }, "./package.json": "./package.json" }, "imports": { @@ -1846,8 +1791,8 @@ "import": "./dist/app/nuxt.js" }, "#unhead/composables": { - "types": "./dist/head/runtime/composables/v4.d.ts", - "import": "./dist/head/runtime/composables/v4.js" + "types": "./dist/head/runtime/composables.d.ts", + "import": "./dist/head/runtime/composables.js" } }, "scripts": { @@ -1861,20 +1806,20 @@ "oidcConfigId": "oidc:d0585aa6-1a29-450d-8bf8-c3440b4bcc0f" } }, - "_resolved": "/tmp/1e3e5e103f2d8dbd41d30686d8369d3a/nuxt-3.19.3.tgz", - "_integrity": "sha512-J5vfkt69gamnl81iDgeSi1tZ0ADEesKfZizPfKxY10dMdjuelAo9WYItFmFGWZ9j1+uXtFJ+PLzqGmXfPLBsuw==", + "_resolved": "/tmp/593946b93a9000a1032c0feebbdef26d/nuxt-4.2.0.tgz", + "_integrity": "sha512-4qzf2Ymf07dMMj50TZdNZgMqCdzDch8NY3NO2ClucUaIvvsr6wd9+JrDpI1CckSTHwqU37/dIPFpvIQZoeHoYA==", "repository": { "url": "git+https://github.com/nuxt/nuxt.git", "type": "git", "directory": "packages/nuxt" }, - "_npmVersion": "11.6.0", + "_npmVersion": "11.6.2", "description": "Nuxt is a free and open-source framework with an intuitive and extendable way to create type-safe, performant and production-grade full-stack web applications and websites with Vue.js.", "directories": {}, - "_nodeVersion": "24.9.0", + "_nodeVersion": "25.0.0", "dependencies": { "h3": "^1.15.4", - "c12": "^3.3.0", + "c12": "^3.3.1", "ufo": "^1.6.1", "vue": "^3.5.22", "defu": "^6.1.4", @@ -1891,68 +1836,62 @@ "ignore": "^7.0.5", "ofetch": "^1.4.1", "radix3": "^1.1.2", - "semver": "^7.7.2", + "semver": "^7.7.3", "compatx": "^0.2.0", "consola": "^3.4.2", - "devalue": "^5.3.2", - "esbuild": "^0.25.10", + "devalue": "^5.4.2", "exsolve": "^1.0.7", "impound": "^1.0.0", "nanotar": "^0.2.0", - "std-env": "^3.9.0", + "std-env": "^3.10.0", "untyped": "^2.0.0", "chokidar": "^4.0.3", "hookable": "^5.5.3", "knitwork": "^1.2.0", "uncrypto": "^0.1.3", - "unimport": "^5.4.1", + "unimport": "^5.5.0", "unplugin": "^2.3.10", - "@nuxt/cli": "^3.29.0", - "@nuxt/kit": "3.19.3", + "@nuxt/cli": "^3.29.3", + "@nuxt/kit": "4.2.0", "cookie-es": "^2.0.0", - "nitropack": "^2.12.6", "on-change": "^6.0.0", "pkg-types": "^2.3.0", "ultrahtml": "^1.6.0", - "unstorage": "^1.17.1", - "oxc-minify": "^0.94.0", - "oxc-parser": "^0.94.0", + "@dxup/nuxt": "^0.2.0", + "oxc-minify": "^0.95.0", + "oxc-parser": "^0.95.0", "oxc-walker": "^0.5.2", "tinyglobby": "^0.2.15", - "vue-router": "^4.5.1", - "@unhead/vue": "^2.0.14", + "vue-router": "^4.6.3", + "@unhead/vue": "^2.0.19", "@vue/shared": "^3.5.22", - "@nuxt/schema": "3.19.3", - "magic-string": "^0.30.19", - "@nuxt/devalue": "^2.0.2", - "estree-walker": "^3.0.3", - "oxc-transform": "^0.94.0", + "@nuxt/schema": "4.2.0", + "magic-string": "^0.30.21", + "oxc-transform": "^0.95.0", "@nuxt/devtools": "^2.6.5", - "mocked-exports": "^0.1.1", "@nuxt/telemetry": "^2.6.6", "perfect-debounce": "^2.0.0", - "vue-devtools-stub": "^0.1.0", - "@nuxt/vite-builder": "3.19.3", - "unplugin-vue-router": "^0.15.0", - "vue-bundle-renderer": "^2.2.0", + "@nuxt/nitro-server": "4.2.0", + "@nuxt/vite-builder": "4.2.0", + "unplugin-vue-router": "^0.16.0", "escape-string-regexp": "^5.0.0" }, "_hasShrinkwrap": false, - "readmeFilename": "README.md", "devDependencies": { - "vite": "7.1.9", + "vite": "7.1.12", "vitest": "3.2.4", "unbuild": "3.6.1", - "@nuxt/scripts": "0.12.1", + "@nuxt/scripts": "0.13.0", "@types/estree": "1.0.8", "@parcel/watcher": "2.5.1", "@vue/compiler-sfc": "3.5.22", "@vitejs/plugin-vue": "6.0.1", + "vue-bundle-renderer": "2.2.0", "vue-sfc-transformer": "0.1.17", "@vitejs/plugin-vue-jsx": "5.1.1" }, "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@types/node": ">=18.12.0", "@parcel/watcher": "^2.1.0" }, "peerDependenciesMeta": { @@ -1964,7 +1903,7 @@ } }, "_npmOperationalInternal": { - "tmp": "tmp/nuxt_3.19.3_1759765893347_0.35567231323311943", + "tmp": "tmp/nuxt_4.2.0_1761371846002_0.7998915347959945", "host": "s3://npm-registry-packages-npm-production" } }, @@ -2045,7 +1984,7 @@ }, "_npmUser": { "name": "pi0", - "email": "user5@example.com" + "email": "user4@example.com" }, "collective": { "url": "https://opencollective.com/nuxtjs", @@ -2206,7 +2145,7 @@ }, "_npmUser": { "name": "danielroe", - "email": "user4@example.com" + "email": "user5@example.com" }, "collective": { "url": "https://opencollective.com/nuxtjs", @@ -2254,7 +2193,7 @@ "maintainers": [ { "name": "pi0", - "email": "user5@example.com" + "email": "user4@example.com" }, { "name": "atinux", @@ -2262,7 +2201,7 @@ }, { "name": "danielroe", - "email": "user4@example.com" + "email": "user5@example.com" }, { "name": "antfu", @@ -2342,9 +2281,9 @@ "actor": { "name": "danielroe", "type": "user", - "email": "user4@example.com" + "email": "user5@example.com" }, - "email": "user4@example.com" + "email": "user5@example.com" }, "_resolved": "/private/var/folders/6z/46zhtr8n22zg8nh3bp7cq7c40000gn/T/417e8c8484037480b9304d4af956fc91/nuxt-4.0.0-alpha.4.tgz", "_integrity": "sha512-7iqrEonNhJhQbiAotARMtiRIeyMVgVcYQN4ZOqrVV2R+Xmol62vUPOQxlJ98ogCNgPDLZAtCgA1jUvsO8r16TA==", @@ -2462,7 +2401,7 @@ "maintainers": [ { "name": "pi0", - "email": "user5@example.com" + "email": "user4@example.com" }, { "name": "atinux", @@ -2470,7 +2409,7 @@ }, { "name": "danielroe", - "email": "user4@example.com" + "email": "user5@example.com" }, { "name": "antfu", @@ -2550,9 +2489,9 @@ "actor": { "name": "danielroe", "type": "user", - "email": "user4@example.com" + "email": "user5@example.com" }, - "email": "user4@example.com" + "email": "user5@example.com" }, "_resolved": "/private/var/folders/6z/46zhtr8n22zg8nh3bp7cq7c40000gn/T/4eedfae9c351fc33ba4cbeb15d4f6708/nuxt-4.0.0-rc.0.tgz", "_integrity": "sha512-0DLesgb0B5ruSkWMk0Ykh9nPR3TFzBQqWn05gfUx6B5KzJe9v+au9uVDRMMvEFy0gxq/9+w7co4VgsEJDaSqaw==", @@ -2664,8 +2603,10 @@ } }, "time": { - "modified": "2026-01-22T23:04:50.858Z", + "modified": "2026-02-07T16:41:37.159Z", "created": "2016-10-26T11:41:36.169Z", + "4.3.1": "2026-02-07T16:41:36.800Z", + "3.21.1": "2026-02-07T16:36:10.454Z", "3.21.0": "2026-01-22T23:04:50.573Z", "4.3.0": "2026-01-22T23:02:15.086Z", "4.2.2": "2025-12-09T17:19:31.667Z", @@ -2674,8 +2615,6 @@ "3.20.1": "2025-11-06T23:53:43.885Z", "3.20.0": "2025-10-28T11:02:04.225Z", "4.2.0": "2025-10-25T05:57:26.265Z", - "4.1.3": "2025-10-06T16:06:31.908Z", - "3.19.3": "2025-10-06T15:51:33.588Z", "1.4.5": "2018-11-27T17:49:50.250Z", "2.18.1": "2024-06-28T11:35:15.434Z", "4.0.0-alpha.4": "2025-06-27T13:38:04.826Z", @@ -2690,13 +2629,13 @@ "license": "MIT", "homepage": "https://nuxt.com", "repository": { - "url": "git+https://github.com/nuxt/nuxt.git", "type": "git", + "url": "git+https://github.com/nuxt/nuxt.git", "directory": "packages/nuxt" }, "bugs": { "url": "https://github.com/nuxt/nuxt/issues" }, - "readme": "", - "readmeFilename": "" + "readme": "[![Nuxt banner](https://github.com/nuxt/nuxt/blob/main/.github/assets/banner.svg)](https://nuxt.com)\n\n# Nuxt\n\n

\n \"Version\"\n \"Downloads\"\n \"License\"\n \"Modules\"\n \"Website\"\n \"Discord\"\n \"Nuxt\n \"Ask\n

\n\nNuxt is a free and open-source framework with an intuitive and extendable way to create type-safe, performant and production-grade full-stack web applications and websites with Vue.js.\n\nIt provides a number of features that make it easy to build fast, SEO-friendly, and scalable web applications, including:\n- Server-side rendering, static site generation, hybrid rendering and edge-side rendering\n- Automatic routing with code-splitting and pre-fetching\n- Data fetching and state management\n- Search engine optimization and defining meta tags\n- Auto imports of components, composables and utils\n- TypeScript with zero configuration\n- Go full-stack with our server/ directory\n- Extensible with [300+ modules](https://nuxt.com/modules)\n- Deployment to a variety of [hosting platforms](https://nuxt.com/deploy)\n- ...[and much more](https://nuxt.com) πŸš€\n\n### Table of Contents\n\n- πŸš€ [Getting Started](#getting-started)\n- πŸ’» [Vue Development](#vue-development)\n- πŸ“– [Documentation](#documentation)\n- 🧩 [Modules](#modules)\n- ❀️ [Contribute](#contribute)\n- 🏠 [Local Development](#local-development)\n- πŸ›Ÿ [Professional Support](#professional-support)\n- πŸ”— [Follow Us](#follow-us)\n- βš–οΈ [License](#license)\n\n---\n\n## πŸš€ Getting Started\n\nUse the following command to create a new starter project. This will create a starter project with all the necessary files and dependencies:\n\n```bash\nnpm create nuxt@latest \n```\n\n> [!TIP]\n> Discover also [nuxt.new](https://nuxt.new): Open a Nuxt starter on CodeSandbox, StackBlitz or locally to get up and running in a few seconds.\n\n## πŸ’» Vue Development\n\nSimple, intuitive and powerful, Nuxt lets you write Vue components in a way that makes sense. Every repetitive task is automated, so you can focus on writing your full-stack Vue application with confidence.\n\nExample of an `app.vue`:\n\n```vue\n\n\n\n\n\n```\n\n## πŸ“– Documentation\n\nWe highly recommend you take a look at the [Nuxt documentation](https://nuxt.com/docs) to level up. It’s a great resource for learning more about the framework. It covers everything from getting started to advanced topics.\n\n## 🧩 Modules\n\nDiscover our [list of modules](https://nuxt.com/modules) to supercharge your Nuxt project, created by the Nuxt team and community.\n\n## ❀️ Contribute\n\nWe invite you to contribute and help improve Nuxt πŸ’š\n\nHere are a few ways you can get involved:\n- **Reporting Bugs:** If you come across any bugs or issues, please check out the [reporting bugs guide](https://nuxt.com/docs/4.x/community/reporting-bugs) to learn how to submit a bug report.\n- **Suggestions:** Have ideas to enhance Nuxt? We'd love to hear them! Check out the [contribution guide](https://nuxt.com/docs/4.x/community/contribution) to share your suggestions.\n- **Questions:** If you have questions or need assistance, the [getting help guide](https://nuxt.com/docs/4.x/community/getting-help) provides resources to help you out.\n\n## 🏠 Local Development\n\nFollow the docs to [Set Up Your Local Development Environment](https://nuxt.com/docs/4.x/community/framework-contribution#setup) to contribute to the framework and documentation.\n\n## πŸ›Ÿ Professional Support\n\n- Technical audit & consulting: [Nuxt Experts](https://nuxt.com/enterprise/support)\n- Custom development & more: [Nuxt Agencies Partners](https://nuxt.com/enterprise/agencies)\n\n## πŸ”— Follow Us\n\n

\n \"Discord\"  \"Twitter\"  \"GitHub\"  \"Bluesky\"\n

\n\n## βš–οΈ License\n\n[MIT](https://github.com/nuxt/nuxt/blob/main/LICENSE)\n", + "readmeFilename": "README.md" } From 19f3835685b5d1fd1fd63c14d6f47fd4ff9924f6 Mon Sep 17 00:00:00 2001 From: userquin Date: Sat, 7 Feb 2026 20:01:50 +0100 Subject: [PATCH 02/13] fix: severity color contrast --- shared/utils/severity.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/shared/utils/severity.ts b/shared/utils/severity.ts index 88d4beeb4..60a6a5453 100644 --- a/shared/utils/severity.ts +++ b/shared/utils/severity.ts @@ -7,10 +7,10 @@ import { SEVERITY_LEVELS } from '../types' * Color classes for severity levels (banner style) */ export const SEVERITY_COLORS: Record = { - critical: 'text-red-500 bg-red-500/10 border-red-500/50', - high: 'text-red-400 bg-red-500/10 border-red-500/30', + critical: 'text-#db0000 dark:text-red-500 bg-red-500/10 border-red-500/50', + high: 'text-#ee0101 dark:text-red-400 bg-red-500/10 border-red-500/30', moderate: 'text-orange-400 bg-orange-500/10 border-orange-500/30', - low: 'text-yellow-400 bg-yellow-500/10 border-yellow-500/30', + low: 'text-#929220 dark:text-yellow-400 bg-yellow-500/10 border-yellow-500/30', unknown: 'text-fg-muted bg-bg-subtle border-border', } @@ -18,9 +18,9 @@ export const SEVERITY_COLORS: Record = { * Color classes for inline severity indicators */ export const SEVERITY_TEXT_COLORS: Record = { - critical: 'text-red-500', - high: 'text-orange-500', - moderate: 'text-yellow-500', + critical: 'text-#db0000 dark:text-red-500', + high: 'text-#bf7c01 dark:text-orange-500', + moderate: 'text-#929220 dark:text-yellow-500', low: 'text-blue-500', unknown: 'text-fg-subtle', } From 10e4b073703a20819295389acc68f002d06c608e Mon Sep 17 00:00:00 2001 From: userquin Date: Sat, 7 Feb 2026 20:18:24 +0100 Subject: [PATCH 03/13] fix: version color contrast --- app/utils/npm/outdated-dependencies.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/utils/npm/outdated-dependencies.ts b/app/utils/npm/outdated-dependencies.ts index 5e3bbebf7..9eff681a6 100644 --- a/app/utils/npm/outdated-dependencies.ts +++ b/app/utils/npm/outdated-dependencies.ts @@ -71,12 +71,12 @@ export function getVersionClass(info: OutdatedDependencyInfo | undefined): strin if (!info) return 'text-fg-subtle' // Green for up-to-date (e.g. "latest" constraint) if (info.majorsBehind === 0 && info.minorsBehind === 0 && info.resolved === info.latest) { - return 'text-green-500 cursor-help' + return 'text-green-700 dark:text-green-500 cursor-help' } // Red for major versions behind - if (info.majorsBehind > 0) return 'text-red-500 cursor-help' + if (info.majorsBehind > 0) return 'text-#db0000 dark:text-red-500 cursor-help' // Orange for minor versions behind - if (info.minorsBehind > 0) return 'text-orange-500 cursor-help' + if (info.minorsBehind > 0) return 'text-#bf7c01 dark:text-orange-500 cursor-help' // Yellow for patch versions behind - return 'text-yellow-500 cursor-help' + return 'text-#929220 dark:text-yellow-500 cursor-help' } From 7c5ee29b5ade8adc9f0c0348d61196d7696b7cca Mon Sep 17 00:00:00 2001 From: userquin Date: Sat, 7 Feb 2026 21:16:05 +0100 Subject: [PATCH 04/13] chore: replace gh-light green and red color --- server/utils/shiki.ts | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/server/utils/shiki.ts b/server/utils/shiki.ts index 0ddb9a5dc..9fbae2093 100644 --- a/server/utils/shiki.ts +++ b/server/utils/shiki.ts @@ -1,12 +1,34 @@ +import type { ThemeRegistration } from 'shiki' import { createHighlighterCore, type HighlighterCore } from 'shiki/core' import { createJavaScriptRegexEngine } from 'shiki/engine/javascript' let highlighter: HighlighterCore | null = null +function replaceThemeColors( + theme: ThemeRegistration, + replacements: Record, +): ThemeRegistration { + let themeString = JSON.stringify(theme) + for (const [oldColor, newColor] of Object.entries(replacements)) { + themeString = themeString.replaceAll(oldColor, newColor) + themeString = themeString.replaceAll(oldColor.toLowerCase(), newColor) + themeString = themeString.replaceAll(oldColor.toUpperCase(), newColor) + } + return JSON.parse(themeString) +} + export async function getShikiHighlighter(): Promise { if (!highlighter) { highlighter = await createHighlighterCore({ - themes: [import('@shikijs/themes/github-dark'), import('@shikijs/themes/github-light')], + themes: [ + import('@shikijs/themes/github-dark'), + import('@shikijs/themes/github-light').then(t => + replaceThemeColors(t.default ?? t, { + '#22863A': '#227436', // green + '#B31D28': '#AC222F', // red + }), + ), + ], langs: [ // Core web languages import('@shikijs/langs/javascript'), From ed73e25c3dc7f55645c3c2cc1fb8796a174d1fcf Mon Sep 17 00:00:00 2001 From: userquin Date: Sun, 8 Feb 2026 15:44:16 +0100 Subject: [PATCH 05/13] chore: update colors --- app/utils/npm/outdated-dependencies.ts | 7 ++++--- server/utils/shiki.ts | 2 ++ shared/utils/severity.ts | 17 +++++++++-------- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/app/utils/npm/outdated-dependencies.ts b/app/utils/npm/outdated-dependencies.ts index 9eff681a6..d6c1cb6ae 100644 --- a/app/utils/npm/outdated-dependencies.ts +++ b/app/utils/npm/outdated-dependencies.ts @@ -74,9 +74,10 @@ export function getVersionClass(info: OutdatedDependencyInfo | undefined): strin return 'text-green-700 dark:text-green-500 cursor-help' } // Red for major versions behind - if (info.majorsBehind > 0) return 'text-#db0000 dark:text-red-500 cursor-help' + if (info.majorsBehind > 0) return 'text-red-700 dark:text-red-500 cursor-help' + // if (info.majorsBehind > 0) return 'text-#db0000 dark:text-red-500 cursor-help' // Orange for minor versions behind - if (info.minorsBehind > 0) return 'text-#bf7c01 dark:text-orange-500 cursor-help' + if (info.minorsBehind > 0) return 'text-orange-700 dark:text-orange-500 cursor-help' // Yellow for patch versions behind - return 'text-#929220 dark:text-yellow-500 cursor-help' + return 'text-yellow-700 dark:text-yellow-500 cursor-help' } diff --git a/server/utils/shiki.ts b/server/utils/shiki.ts index 9fbae2093..00eaf6a71 100644 --- a/server/utils/shiki.ts +++ b/server/utils/shiki.ts @@ -25,6 +25,8 @@ export async function getShikiHighlighter(): Promise { import('@shikijs/themes/github-light').then(t => replaceThemeColors(t.default ?? t, { '#22863A': '#227436', // green + '#E36209': '#BA4D02', // orange + '#D73A49': '#CD3443', // red '#B31D28': '#AC222F', // red }), ), diff --git a/shared/utils/severity.ts b/shared/utils/severity.ts index 60a6a5453..fcd732878 100644 --- a/shared/utils/severity.ts +++ b/shared/utils/severity.ts @@ -7,10 +7,11 @@ import { SEVERITY_LEVELS } from '../types' * Color classes for severity levels (banner style) */ export const SEVERITY_COLORS: Record = { - critical: 'text-#db0000 dark:text-red-500 bg-red-500/10 border-red-500/50', - high: 'text-#ee0101 dark:text-red-400 bg-red-500/10 border-red-500/30', - moderate: 'text-orange-400 bg-orange-500/10 border-orange-500/30', - low: 'text-#929220 dark:text-yellow-400 bg-yellow-500/10 border-yellow-500/30', + critical: 'text-red-700 dark:text-red-500 bg-red-800/10 dark:bg-red-500/10 border-red-500/50', + high: 'text-red-800 dark:text-red-400 bg-red-800/10 dark:bg-red-500/10 border-red-500/30', + moderate: + 'text-orange-800 dark:text-orange-400 bg-orange-600/10 dark:bg-orange-500/10 border-orange-500/30', + low: 'text-yellow-700 dark:text-yellow-400 bg-yellow-500/10 border-yellow-500/30', unknown: 'text-fg-muted bg-bg-subtle border-border', } @@ -18,10 +19,10 @@ export const SEVERITY_COLORS: Record = { * Color classes for inline severity indicators */ export const SEVERITY_TEXT_COLORS: Record = { - critical: 'text-#db0000 dark:text-red-500', - high: 'text-#bf7c01 dark:text-orange-500', - moderate: 'text-#929220 dark:text-yellow-500', - low: 'text-blue-500', + critical: 'text-red-700 dark:text-red-500', + high: 'text-orange-700 dark:text-orange-500', + moderate: 'text-yellow-700 dark:text-yellow-500', + low: 'text-blue-700 dark:text-blue-500', unknown: 'text-fg-subtle', } From 9048794535719162b72d810362953c4c853c0067 Mon Sep 17 00:00:00 2001 From: userquin Date: Sun, 8 Feb 2026 15:44:51 +0100 Subject: [PATCH 06/13] chore: update components text colors --- .../Compare/ReplacementSuggestion.vue | 2 +- app/components/DependencyPathPopup.vue | 2 +- app/components/Package/Dependencies.vue | 2 +- app/components/Package/MetricsBadges.vue | 16 +++--- app/components/Package/Replacement.vue | 2 +- app/components/Package/Versions.vue | 24 ++++++-- app/components/Package/VulnerabilityTree.vue | 12 ++-- app/components/Tag/Static.vue | 4 +- app/pages/index.vue | 55 +++++++++++++++++++ app/pages/package/[[org]]/[name].vue | 4 +- 10 files changed, 95 insertions(+), 28 deletions(-) diff --git a/app/components/Compare/ReplacementSuggestion.vue b/app/components/Compare/ReplacementSuggestion.vue index cf71a02e7..d1b6a0692 100644 --- a/app/components/Compare/ReplacementSuggestion.vue +++ b/app/components/Compare/ReplacementSuggestion.vue @@ -26,7 +26,7 @@ const docUrl = computed(() => { class="flex items-start gap-2 px-3 py-2 rounded-lg text-sm" :class=" variant === 'nodep' - ? 'bg-amber-500/10 border border-amber-600/30 text-amber-700 dark:text-amber-400' + ? 'bg-amber-500/10 border border-amber-600/30 text-amber-800 dark:text-amber-400' : 'bg-blue-500/10 border border-blue-600/30 text-blue-700 dark:text-blue-400' " > diff --git a/app/components/DependencyPathPopup.vue b/app/components/DependencyPathPopup.vue index b80086552..9c3111121 100644 --- a/app/components/DependencyPathPopup.vue +++ b/app/components/DependencyPathPopup.vue @@ -68,7 +68,7 @@ function parsePackageString(pkg: string): { name: string; version: string } {