feat(nuxt): prompt to install devtools when it's enabled (#20126)

This commit is contained in:
Anthony Fu 2023-04-07 17:34:11 +02:00 committed by GitHub
parent 9fd398216c
commit 11a9780c80
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 139 additions and 319 deletions

View File

@ -19,7 +19,6 @@ export default defineNuxtCommand({
process.exit(1)
}
// Defer to feature setup
await execa('npx', ['@nuxt/devtools@latest', command, rootDir], { stdio: 'inherit', cwd: rootDir })
await execa('npx', ['@nuxt/devtools-wizard', command, rootDir], { stdio: 'inherit', cwd: rootDir })
}
})

View File

@ -80,14 +80,17 @@
"hookable": "^5.5.3",
"jiti": "^1.18.2",
"knitwork": "^1.0.0",
"local-pkg": "^0.4.3",
"magic-string": "^0.30.0",
"mlly": "^1.2.0",
"nitropack": "^2.3.2",
"nuxi": "workspace:../nuxi",
"nypm": "^0.1.0",
"ofetch": "^1.0.1",
"ohash": "^1.0.0",
"pathe": "^1.1.0",
"perfect-debounce": "^0.1.3",
"prompts": "^2.4.2",
"scule": "^1.0.0",
"strip-literal": "^1.0.1",
"ufo": "^1.1.1",
@ -104,6 +107,7 @@
"devDependencies": {
"@types/fs-extra": "^11.0.1",
"@types/hash-sum": "^1.0.0",
"@types/prompts": "^2.4.4",
"unbuild": "latest"
},
"peerDependencies": {

View File

@ -0,0 +1,36 @@
import { addDependency } from 'nypm'
import { isPackageExists } from 'local-pkg'
import { logger } from '@nuxt/kit'
import prompts from 'prompts'
export async function ensurePackageInstalled (rootDir: string, name: string, searchPaths?: string[]) {
if (isPackageExists(name, { paths: searchPaths })) {
return true
}
logger.info(`Package ${name} is missing`)
const { confirm } = await prompts({
type: 'confirm',
name: 'confirm',
message: `Do you want to install ${name} package?`,
initial: true
})
if (!confirm) {
return false
}
logger.info(`Installing ${name}...`)
try {
await addDependency(name, {
cwd: rootDir,
dev: true
})
logger.success(`Installed ${name}`)
return true
} catch (err) {
logger.error(err)
return false
}
}

View File

@ -1,7 +1,7 @@
import { join, normalize, relative, resolve } from 'pathe'
import { createHooks, createDebugger } from 'hookable'
import type { LoadNuxtOptions } from '@nuxt/kit'
import { resolvePath, resolveAlias, resolveFiles, loadNuxtConfig, nuxtCtx, installModule, addComponent, addVitePlugin, addWebpackPlugin, tryResolveModule, addPlugin } from '@nuxt/kit'
import { logger, resolvePath, resolveAlias, resolveFiles, loadNuxtConfig, nuxtCtx, installModule, addComponent, addVitePlugin, addWebpackPlugin, tryResolveModule, addPlugin } from '@nuxt/kit'
import type { Nuxt, NuxtOptions, NuxtHooks } from 'nuxt/schema'
import escapeRE from 'escape-string-regexp'
@ -366,6 +366,15 @@ export async function loadNuxt (opts: LoadNuxtOptions): Promise<Nuxt> {
options._modules.push('@nuxt/telemetry')
}
// Nuxt DevTools is currently opt-in
if (options.devtools === true || (options.devtools && options.devtools.enabled !== false)) {
if (await import('./features').then(r => r.ensurePackageInstalled(options.rootDir, '@nuxt/devtools', options.modulesDir))) {
options._modules.push('@nuxt/devtools')
} else {
logger.warn('Failed to install `@nuxt/devtools`, please install it manually, or disable `devtools` in `nuxt.config`')
}
}
const nuxt = createNuxt(options)
if (nuxt.options.debug) {

View File

@ -60,5 +60,17 @@ export default defineUntypedSchema({
*
* @type {boolean}
*/
telemetry: undefined
telemetry: undefined,
/**
* Enable Nuxt DevTools for development.
*
* This is an experimental feature.
* Breaking changes for devtools might not reflect on the version of Nuxt.
*
* @see [Nuxt DevTools](https://devtools.nuxtjs.org/) for more information.
* @experimental
* @type {boolean | { enabled: boolean }}
*/
devtools: false
})

View File

@ -593,6 +593,9 @@ importers:
knitwork:
specifier: ^1.0.0
version: 1.0.0
local-pkg:
specifier: ^0.4.3
version: 0.4.3
magic-string:
specifier: ^0.30.0
version: 0.30.0
@ -605,6 +608,9 @@ importers:
nuxi:
specifier: workspace:*
version: link:../nuxi
nypm:
specifier: ^0.1.0
version: 0.1.0
ofetch:
specifier: ^1.0.1
version: 1.0.1
@ -617,6 +623,9 @@ importers:
perfect-debounce:
specifier: ^0.1.3
version: 0.1.3
prompts:
specifier: ^2.4.2
version: 2.4.2
scule:
specifier: ^1.0.0
version: 1.0.0
@ -660,6 +669,9 @@ importers:
'@types/hash-sum':
specifier: ^1.0.0
version: 1.0.0
'@types/prompts':
specifier: ^2.4.4
version: 2.4.4
unbuild:
specifier: ^1.2.0
version: 1.2.0
@ -1083,12 +1095,6 @@ packages:
resolution: {integrity: sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==}
dev: true
/@babel/code-frame@7.18.6:
resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/highlight': 7.18.6
/@babel/code-frame@7.21.4:
resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==}
engines: {node: '>=6.9.0'}
@ -1099,28 +1105,6 @@ packages:
resolution: {integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==}
engines: {node: '>=6.9.0'}
/@babel/core@7.21.3:
resolution: {integrity: sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==}
engines: {node: '>=6.9.0'}
dependencies:
'@ampproject/remapping': 2.2.0
'@babel/code-frame': 7.21.4
'@babel/generator': 7.21.4
'@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.3)
'@babel/helper-module-transforms': 7.21.2
'@babel/helpers': 7.21.0
'@babel/parser': 7.21.4
'@babel/template': 7.20.7
'@babel/traverse': 7.21.4
'@babel/types': 7.21.4
convert-source-map: 1.9.0
debug: 4.3.4
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.0
transitivePeerDependencies:
- supports-color
/@babel/core@7.21.4:
resolution: {integrity: sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==}
engines: {node: '>=6.9.0'}
@ -1142,7 +1126,6 @@ packages:
semver: 6.3.0
transitivePeerDependencies:
- supports-color
dev: false
/@babel/generator@7.21.4:
resolution: {integrity: sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==}
@ -1157,20 +1140,7 @@ packages:
resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.21.3
/@babel/helper-compilation-targets@7.21.4(@babel/core@7.21.3):
resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/compat-data': 7.21.4
'@babel/core': 7.21.3
'@babel/helper-validator-option': 7.21.0
browserslist: 4.21.5
lru-cache: 5.1.1
semver: 6.3.0
'@babel/types': 7.21.4
/@babel/helper-compilation-targets@7.21.4(@babel/core@7.21.4):
resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==}
@ -1184,15 +1154,14 @@ packages:
browserslist: 4.21.5
lru-cache: 5.1.1
semver: 6.3.0
dev: false
/@babel/helper-create-class-features-plugin@7.21.0(@babel/core@7.21.3):
/@babel/helper-create-class-features-plugin@7.21.0(@babel/core@7.21.4):
resolution: {integrity: sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/core': 7.21.3
'@babel/core': 7.21.4
'@babel/helper-annotate-as-pure': 7.18.6
'@babel/helper-environment-visitor': 7.18.9
'@babel/helper-function-name': 7.21.0
@ -1213,7 +1182,7 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/template': 7.20.7
'@babel/types': 7.21.3
'@babel/types': 7.21.4
/@babel/helper-hoist-variables@7.18.6:
resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==}
@ -1225,7 +1194,7 @@ packages:
resolution: {integrity: sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.21.3
'@babel/types': 7.21.4
/@babel/helper-module-imports@7.18.6:
resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==}
@ -1252,7 +1221,7 @@ packages:
resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.21.3
'@babel/types': 7.21.4
/@babel/helper-plugin-utils@7.20.2:
resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==}
@ -1266,8 +1235,8 @@ packages:
'@babel/helper-member-expression-to-functions': 7.21.0
'@babel/helper-optimise-call-expression': 7.18.6
'@babel/template': 7.20.7
'@babel/traverse': 7.21.3
'@babel/types': 7.21.3
'@babel/traverse': 7.21.4
'@babel/types': 7.21.4
transitivePeerDependencies:
- supports-color
@ -1281,13 +1250,13 @@ packages:
resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.21.3
'@babel/types': 7.21.4
/@babel/helper-split-export-declaration@7.18.6:
resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.21.3
'@babel/types': 7.21.4
/@babel/helper-string-parser@7.19.4:
resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==}
@ -1319,13 +1288,6 @@ packages:
chalk: 2.4.2
js-tokens: 4.0.0
/@babel/parser@7.21.3:
resolution: {integrity: sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==}
engines: {node: '>=6.0.0'}
hasBin: true
dependencies:
'@babel/types': 7.21.3
/@babel/parser@7.21.4:
resolution: {integrity: sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==}
engines: {node: '>=6.0.0'}
@ -1333,34 +1295,34 @@ packages:
dependencies:
'@babel/types': 7.21.4
/@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.21.3):
/@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.21.4):
resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.21.3
'@babel/core': 7.21.4
'@babel/helper-plugin-utils': 7.20.2
/@babel/plugin-syntax-typescript@7.20.0(@babel/core@7.21.3):
/@babel/plugin-syntax-typescript@7.20.0(@babel/core@7.21.4):
resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.21.3
'@babel/core': 7.21.4
'@babel/helper-plugin-utils': 7.20.2
/@babel/plugin-transform-typescript@7.21.0(@babel/core@7.21.3):
/@babel/plugin-transform-typescript@7.21.0(@babel/core@7.21.4):
resolution: {integrity: sha512-xo///XTPp3mDzTtrqXoBlK9eiAYW3wv9JXglcn/u1bi60RW11dEUxIgA8cbnDhutS1zacjMRmAwxE0gMklLnZg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.21.3
'@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.3)
'@babel/core': 7.21.4
'@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.4)
'@babel/helper-plugin-utils': 7.20.2
'@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.21.3)
'@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.21.4)
transitivePeerDependencies:
- supports-color
@ -1376,23 +1338,6 @@ packages:
'@babel/parser': 7.21.4
'@babel/types': 7.21.4
/@babel/traverse@7.21.3:
resolution: {integrity: sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/code-frame': 7.21.4
'@babel/generator': 7.21.4
'@babel/helper-environment-visitor': 7.18.9
'@babel/helper-function-name': 7.21.0
'@babel/helper-hoist-variables': 7.18.6
'@babel/helper-split-export-declaration': 7.18.6
'@babel/parser': 7.21.4
'@babel/types': 7.21.4
debug: 4.3.4
globals: 11.12.0
transitivePeerDependencies:
- supports-color
/@babel/traverse@7.21.4:
resolution: {integrity: sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==}
engines: {node: '>=6.9.0'}
@ -1410,14 +1355,6 @@ packages:
transitivePeerDependencies:
- supports-color
/@babel/types@7.21.3:
resolution: {integrity: sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/helper-string-parser': 7.19.4
'@babel/helper-validator-identifier': 7.19.1
to-fast-properties: 2.0.0
/@babel/types@7.21.4:
resolution: {integrity: sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==}
engines: {node: '>=6.9.0'}
@ -1452,14 +1389,6 @@ packages:
jsdoc-type-pratt-parser: 4.0.0
dev: true
/@esbuild/android-arm64@0.17.14:
resolution: {integrity: sha512-eLOpPO1RvtsP71afiFTvS7tVFShJBCT0txiv/xjFBo5a7R7Gjw7X0IgIaFoLKhqXYAXhahoXm7qAmRXhY4guJg==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
requiresBuild: true
optional: true
/@esbuild/android-arm64@0.17.15:
resolution: {integrity: sha512-0kOB6Y7Br3KDVgHeg8PRcvfLkq+AccreK///B4Z6fNZGr/tNHX0z2VywCc7PTeWp+bPvjA5WMvNXltHw5QjAIA==}
engines: {node: '>=12'}
@ -1477,14 +1406,6 @@ packages:
dev: true
optional: true
/@esbuild/android-arm@0.17.14:
resolution: {integrity: sha512-0CnlwnjDU8cks0yJLXfkaU/uoLyRf9VZJs4p1PskBr2AlAHeEsFEwJEo0of/Z3g+ilw5mpyDwThlxzNEIxOE4g==}
engines: {node: '>=12'}
cpu: [arm]
os: [android]
requiresBuild: true
optional: true
/@esbuild/android-arm@0.17.15:
resolution: {integrity: sha512-sRSOVlLawAktpMvDyJIkdLI/c/kdRTOqo8t6ImVxg8yT7LQDUYV5Rp2FKeEosLr6ZCja9UjYAzyRSxGteSJPYg==}
engines: {node: '>=12'}
@ -1493,14 +1414,6 @@ packages:
requiresBuild: true
optional: true
/@esbuild/android-x64@0.17.14:
resolution: {integrity: sha512-nrfQYWBfLGfSGLvRVlt6xi63B5IbfHm3tZCdu/82zuFPQ7zez4XjmRtF/wIRYbJQ/DsZrxJdEvYFE67avYXyng==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
requiresBuild: true
optional: true
/@esbuild/android-x64@0.17.15:
resolution: {integrity: sha512-MzDqnNajQZ63YkaUWVl9uuhcWyEyh69HGpMIrf+acR4otMkfLJ4sUCxqwbCyPGicE9dVlrysI3lMcDBjGiBBcQ==}
engines: {node: '>=12'}
@ -1509,14 +1422,6 @@ packages:
requiresBuild: true
optional: true
/@esbuild/darwin-arm64@0.17.14:
resolution: {integrity: sha512-eoSjEuDsU1ROwgBH/c+fZzuSyJUVXQTOIN9xuLs9dE/9HbV/A5IqdXHU1p2OfIMwBwOYJ9SFVGGldxeRCUJFyw==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
requiresBuild: true
optional: true
/@esbuild/darwin-arm64@0.17.15:
resolution: {integrity: sha512-7siLjBc88Z4+6qkMDxPT2juf2e8SJxmsbNVKFY2ifWCDT72v5YJz9arlvBw5oB4W/e61H1+HDB/jnu8nNg0rLA==}
engines: {node: '>=12'}
@ -1525,14 +1430,6 @@ packages:
requiresBuild: true
optional: true
/@esbuild/darwin-x64@0.17.14:
resolution: {integrity: sha512-zN0U8RWfrDttdFNkHqFYZtOH8hdi22z0pFm0aIJPsNC4QQZv7je8DWCX5iA4Zx6tRhS0CCc0XC2m7wKsbWEo5g==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
requiresBuild: true
optional: true
/@esbuild/darwin-x64@0.17.15:
resolution: {integrity: sha512-NbImBas2rXwYI52BOKTW342Tm3LTeVlaOQ4QPZ7XuWNKiO226DisFk/RyPk3T0CKZkKMuU69yOvlapJEmax7cg==}
engines: {node: '>=12'}
@ -1541,14 +1438,6 @@ packages:
requiresBuild: true
optional: true
/@esbuild/freebsd-arm64@0.17.14:
resolution: {integrity: sha512-z0VcD4ibeZWVQCW1O7szaLxGsx54gcCnajEJMdYoYjLiq4g1jrP2lMq6pk71dbS5+7op/L2Aod+erw+EUr28/A==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
requiresBuild: true
optional: true
/@esbuild/freebsd-arm64@0.17.15:
resolution: {integrity: sha512-Xk9xMDjBVG6CfgoqlVczHAdJnCs0/oeFOspFap5NkYAmRCT2qTn1vJWA2f419iMtsHSLm+O8B6SLV/HlY5cYKg==}
engines: {node: '>=12'}
@ -1557,14 +1446,6 @@ packages:
requiresBuild: true
optional: true
/@esbuild/freebsd-x64@0.17.14:
resolution: {integrity: sha512-hd9mPcxfTgJlolrPlcXkQk9BMwNBvNBsVaUe5eNUqXut6weDQH8whcNaKNF2RO8NbpT6GY8rHOK2A9y++s+ehw==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
requiresBuild: true
optional: true
/@esbuild/freebsd-x64@0.17.15:
resolution: {integrity: sha512-3TWAnnEOdclvb2pnfsTWtdwthPfOz7qAfcwDLcfZyGJwm1SRZIMOeB5FODVhnM93mFSPsHB9b/PmxNNbSnd0RQ==}
engines: {node: '>=12'}
@ -1573,14 +1454,6 @@ packages:
requiresBuild: true
optional: true
/@esbuild/linux-arm64@0.17.14:
resolution: {integrity: sha512-FhAMNYOq3Iblcj9i+K0l1Fp/MHt+zBeRu/Qkf0LtrcFu3T45jcwB6A1iMsemQ42vR3GBhjNZJZTaCe3VFPbn9g==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
requiresBuild: true
optional: true
/@esbuild/linux-arm64@0.17.15:
resolution: {integrity: sha512-T0MVnYw9KT6b83/SqyznTs/3Jg2ODWrZfNccg11XjDehIved2oQfrX/wVuev9N936BpMRaTR9I1J0tdGgUgpJA==}
engines: {node: '>=12'}
@ -1589,14 +1462,6 @@ packages:
requiresBuild: true
optional: true
/@esbuild/linux-arm@0.17.14:
resolution: {integrity: sha512-BNTl+wSJ1omsH8s3TkQmIIIQHwvwJrU9u1ggb9XU2KTVM4TmthRIVyxSp2qxROJHhZuW/r8fht46/QE8hU8Qvg==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
requiresBuild: true
optional: true
/@esbuild/linux-arm@0.17.15:
resolution: {integrity: sha512-MLTgiXWEMAMr8nmS9Gigx43zPRmEfeBfGCwxFQEMgJ5MC53QKajaclW6XDPjwJvhbebv+RzK05TQjvH3/aM4Xw==}
engines: {node: '>=12'}
@ -1605,14 +1470,6 @@ packages:
requiresBuild: true
optional: true
/@esbuild/linux-ia32@0.17.14:
resolution: {integrity: sha512-91OK/lQ5y2v7AsmnFT+0EyxdPTNhov3y2CWMdizyMfxSxRqHazXdzgBKtlmkU2KYIc+9ZK3Vwp2KyXogEATYxQ==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
requiresBuild: true
optional: true
/@esbuild/linux-ia32@0.17.15:
resolution: {integrity: sha512-wp02sHs015T23zsQtU4Cj57WiteiuASHlD7rXjKUyAGYzlOKDAjqK6bk5dMi2QEl/KVOcsjwL36kD+WW7vJt8Q==}
engines: {node: '>=12'}
@ -1630,14 +1487,6 @@ packages:
dev: true
optional: true
/@esbuild/linux-loong64@0.17.14:
resolution: {integrity: sha512-vp15H+5NR6hubNgMluqqKza85HcGJgq7t6rMH7O3Y6ApiOWPkvW2AJfNojUQimfTp6OUrACUXfR4hmpcENXoMQ==}
engines: {node: '>=12'}
cpu: [loong64]
os: [linux]
requiresBuild: true
optional: true
/@esbuild/linux-loong64@0.17.15:
resolution: {integrity: sha512-k7FsUJjGGSxwnBmMh8d7IbObWu+sF/qbwc+xKZkBe/lTAF16RqxRCnNHA7QTd3oS2AfGBAnHlXL67shV5bBThQ==}
engines: {node: '>=12'}
@ -1646,14 +1495,6 @@ packages:
requiresBuild: true
optional: true
/@esbuild/linux-mips64el@0.17.14:
resolution: {integrity: sha512-90TOdFV7N+fgi6c2+GO9ochEkmm9kBAKnuD5e08GQMgMINOdOFHuYLPQ91RYVrnWwQ5683sJKuLi9l4SsbJ7Hg==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
requiresBuild: true
optional: true
/@esbuild/linux-mips64el@0.17.15:
resolution: {integrity: sha512-ZLWk6czDdog+Q9kE/Jfbilu24vEe/iW/Sj2d8EVsmiixQ1rM2RKH2n36qfxK4e8tVcaXkvuV3mU5zTZviE+NVQ==}
engines: {node: '>=12'}
@ -1662,14 +1503,6 @@ packages:
requiresBuild: true
optional: true
/@esbuild/linux-ppc64@0.17.14:
resolution: {integrity: sha512-NnBGeoqKkTugpBOBZZoktQQ1Yqb7aHKmHxsw43NddPB2YWLAlpb7THZIzsRsTr0Xw3nqiPxbA1H31ZMOG+VVPQ==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
requiresBuild: true
optional: true
/@esbuild/linux-ppc64@0.17.15:
resolution: {integrity: sha512-mY6dPkIRAiFHRsGfOYZC8Q9rmr8vOBZBme0/j15zFUKM99d4ILY4WpOC7i/LqoY+RE7KaMaSfvY8CqjJtuO4xg==}
engines: {node: '>=12'}
@ -1678,14 +1511,6 @@ packages:
requiresBuild: true
optional: true
/@esbuild/linux-riscv64@0.17.14:
resolution: {integrity: sha512-0qdlKScLXA8MGVy21JUKvMzCYWovctuP8KKqhtE5A6IVPq4onxXhSuhwDd2g5sRCzNDlDjitc5sX31BzDoL5Fw==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
requiresBuild: true
optional: true
/@esbuild/linux-riscv64@0.17.15:
resolution: {integrity: sha512-EcyUtxffdDtWjjwIH8sKzpDRLcVtqANooMNASO59y+xmqqRYBBM7xVLQhqF7nksIbm2yHABptoioS9RAbVMWVA==}
engines: {node: '>=12'}
@ -1694,14 +1519,6 @@ packages:
requiresBuild: true
optional: true
/@esbuild/linux-s390x@0.17.14:
resolution: {integrity: sha512-Hdm2Jo1yaaOro4v3+6/zJk6ygCqIZuSDJHdHaf8nVH/tfOuoEX5Riv03Ka15LmQBYJObUTNS1UdyoMk0WUn9Ww==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
requiresBuild: true
optional: true
/@esbuild/linux-s390x@0.17.15:
resolution: {integrity: sha512-BuS6Jx/ezxFuHxgsfvz7T4g4YlVrmCmg7UAwboeyNNg0OzNzKsIZXpr3Sb/ZREDXWgt48RO4UQRDBxJN3B9Rbg==}
engines: {node: '>=12'}
@ -1710,14 +1527,6 @@ packages:
requiresBuild: true
optional: true
/@esbuild/linux-x64@0.17.14:
resolution: {integrity: sha512-8KHF17OstlK4DuzeF/KmSgzrTWQrkWj5boluiiq7kvJCiQVzUrmSkaBvcLB2UgHpKENO2i6BthPkmUhNDaJsVw==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
requiresBuild: true
optional: true
/@esbuild/linux-x64@0.17.15:
resolution: {integrity: sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg==}
engines: {node: '>=12'}
@ -1726,14 +1535,6 @@ packages:
requiresBuild: true
optional: true
/@esbuild/netbsd-x64@0.17.14:
resolution: {integrity: sha512-nVwpqvb3yyXztxIT2+VsxJhB5GCgzPdk1n0HHSnchRAcxqKO6ghXwHhJnr0j/B+5FSyEqSxF4q03rbA2fKXtUQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
requiresBuild: true
optional: true
/@esbuild/netbsd-x64@0.17.15:
resolution: {integrity: sha512-R6fKjtUysYGym6uXf6qyNephVUQAGtf3n2RCsOST/neIwPqRWcnc3ogcielOd6pT+J0RDR1RGcy0ZY7d3uHVLA==}
engines: {node: '>=12'}
@ -1742,14 +1543,6 @@ packages:
requiresBuild: true
optional: true
/@esbuild/openbsd-x64@0.17.14:
resolution: {integrity: sha512-1RZ7uQQ9zcy/GSAJL1xPdN7NDdOOtNEGiJalg/MOzeakZeTrgH/DoCkbq7TaPDiPhWqnDF+4bnydxRqQD7il6g==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
requiresBuild: true
optional: true
/@esbuild/openbsd-x64@0.17.15:
resolution: {integrity: sha512-mVD4PGc26b8PI60QaPUltYKeSX0wxuy0AltC+WCTFwvKCq2+OgLP4+fFd+hZXzO2xW1HPKcytZBdjqL6FQFa7w==}
engines: {node: '>=12'}
@ -1758,14 +1551,6 @@ packages:
requiresBuild: true
optional: true
/@esbuild/sunos-x64@0.17.14:
resolution: {integrity: sha512-nqMjDsFwv7vp7msrwWRysnM38Sd44PKmW8EzV01YzDBTcTWUpczQg6mGao9VLicXSgW/iookNK6AxeogNVNDZA==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
requiresBuild: true
optional: true
/@esbuild/sunos-x64@0.17.15:
resolution: {integrity: sha512-U6tYPovOkw3459t2CBwGcFYfFRjivcJJc1WC8Q3funIwX8x4fP+R6xL/QuTPNGOblbq/EUDxj9GU+dWKX0oWlQ==}
engines: {node: '>=12'}
@ -1774,14 +1559,6 @@ packages:
requiresBuild: true
optional: true
/@esbuild/win32-arm64@0.17.14:
resolution: {integrity: sha512-xrD0mccTKRBBIotrITV7WVQAwNJ5+1va6L0H9zN92v2yEdjfAN7864cUaZwJS7JPEs53bDTzKFbfqVlG2HhyKQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
requiresBuild: true
optional: true
/@esbuild/win32-arm64@0.17.15:
resolution: {integrity: sha512-W+Z5F++wgKAleDABemiyXVnzXgvRFs+GVKThSI+mGgleLWluv0D7Diz4oQpgdpNzh4i2nNDzQtWbjJiqutRp6Q==}
engines: {node: '>=12'}
@ -1790,14 +1567,6 @@ packages:
requiresBuild: true
optional: true
/@esbuild/win32-ia32@0.17.14:
resolution: {integrity: sha512-nXpkz9bbJrLLyUTYtRotSS3t5b+FOuljg8LgLdINWFs3FfqZMtbnBCZFUmBzQPyxqU87F8Av+3Nco/M3hEcu1w==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
requiresBuild: true
optional: true
/@esbuild/win32-ia32@0.17.15:
resolution: {integrity: sha512-Muz/+uGgheShKGqSVS1KsHtCyEzcdOn/W/Xbh6H91Etm+wiIfwZaBn1W58MeGtfI8WA961YMHFYTthBdQs4t+w==}
engines: {node: '>=12'}
@ -1806,14 +1575,6 @@ packages:
requiresBuild: true
optional: true
/@esbuild/win32-x64@0.17.14:
resolution: {integrity: sha512-gPQmsi2DKTaEgG14hc3CHXHp62k8g6qr0Pas+I4lUxRMugGSATh/Bi8Dgusoz9IQ0IfdrvLpco6kujEIBoaogA==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
requiresBuild: true
optional: true
/@esbuild/win32-x64@0.17.15:
resolution: {integrity: sha512-DjDa9ywLUUmjhV2Y9wUTIF+1XsmuFGvZoCmOWkli1XcNAh5t25cc7fgsCx4Zi/Uurep3TTLyDiKATgGEg61pkA==}
engines: {node: '>=12'}
@ -2447,6 +2208,13 @@ packages:
resolution: {integrity: sha512-UYcJBAqWLyg+eITXGIu9DR7RXJFvSupz+Hf+RqJYHzDJedvDMTsB1JmDV6Qfna2g62VIxUKvoWqTxGHy6U/bLA==}
dev: true
/@types/prompts@2.4.4:
resolution: {integrity: sha512-p5N9uoTH76lLvSAaYSZtBCdEXzpOOufsRjnhjVSrZGXikVGHX9+cc9ERtHRV4hvBKHyZb1bg4K+56Bd2TqUn4A==}
dependencies:
'@types/node': 18.15.11
kleur: 3.0.3
dev: true
/@types/resolve@1.20.2:
resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
@ -2938,9 +2706,9 @@ packages:
vite: ^4.0.0
vue: ^3.0.0
dependencies:
'@babel/core': 7.21.3
'@babel/plugin-transform-typescript': 7.21.0(@babel/core@7.21.3)
'@vue/babel-plugin-jsx': 1.1.1(@babel/core@7.21.3)
'@babel/core': 7.21.4
'@babel/plugin-transform-typescript': 7.21.0(@babel/core@7.21.4)
'@vue/babel-plugin-jsx': 1.1.1(@babel/core@7.21.4)
vite: 4.2.1(@types/node@18.15.11)
vue: 3.2.47
transitivePeerDependencies:
@ -3024,14 +2792,14 @@ packages:
/@vue/babel-helper-vue-transform-on@1.0.2:
resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==}
/@vue/babel-plugin-jsx@1.1.1(@babel/core@7.21.3):
/@vue/babel-plugin-jsx@1.1.1(@babel/core@7.21.4):
resolution: {integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==}
dependencies:
'@babel/helper-module-imports': 7.18.6
'@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.21.3)
'@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.21.4)
'@babel/template': 7.20.7
'@babel/traverse': 7.21.3
'@babel/types': 7.21.3
'@babel/traverse': 7.21.4
'@babel/types': 7.21.4
'@vue/babel-helper-vue-transform-on': 1.0.2
camelcase: 6.3.0
html-tags: 3.2.0
@ -3043,7 +2811,7 @@ packages:
/@vue/compiler-core@3.2.47:
resolution: {integrity: sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==}
dependencies:
'@babel/parser': 7.21.3
'@babel/parser': 7.21.4
'@vue/shared': 3.2.47
estree-walker: 2.0.2
source-map: 0.6.1
@ -3081,7 +2849,7 @@ packages:
/@vue/reactivity-transform@3.2.47:
resolution: {integrity: sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==}
dependencies:
'@babel/parser': 7.21.3
'@babel/parser': 7.21.4
'@vue/compiler-core': 3.2.47
'@vue/shared': 3.2.47
estree-walker: 2.0.2
@ -4899,35 +4667,6 @@ packages:
esbuild-windows-arm64: 0.15.18
dev: true
/esbuild@0.17.14:
resolution: {integrity: sha512-vOO5XhmVj/1XQR9NQ1UPq6qvMYL7QFJU57J5fKBKBKxp17uDt5PgxFDb4A2nEiXhr1qQs4x0F5+66hVVw4ruNw==}
engines: {node: '>=12'}
hasBin: true
requiresBuild: true
optionalDependencies:
'@esbuild/android-arm': 0.17.14
'@esbuild/android-arm64': 0.17.14
'@esbuild/android-x64': 0.17.14
'@esbuild/darwin-arm64': 0.17.14
'@esbuild/darwin-x64': 0.17.14
'@esbuild/freebsd-arm64': 0.17.14
'@esbuild/freebsd-x64': 0.17.14
'@esbuild/linux-arm': 0.17.14
'@esbuild/linux-arm64': 0.17.14
'@esbuild/linux-ia32': 0.17.14
'@esbuild/linux-loong64': 0.17.14
'@esbuild/linux-mips64el': 0.17.14
'@esbuild/linux-ppc64': 0.17.14
'@esbuild/linux-riscv64': 0.17.14
'@esbuild/linux-s390x': 0.17.14
'@esbuild/linux-x64': 0.17.14
'@esbuild/netbsd-x64': 0.17.14
'@esbuild/openbsd-x64': 0.17.14
'@esbuild/sunos-x64': 0.17.14
'@esbuild/win32-arm64': 0.17.14
'@esbuild/win32-ia32': 0.17.14
'@esbuild/win32-x64': 0.17.14
/esbuild@0.17.15:
resolution: {integrity: sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw==}
engines: {node: '>=12'}
@ -5536,7 +5275,7 @@ packages:
typescript: '>3.6.0'
webpack: ^5.11.0
dependencies:
'@babel/code-frame': 7.18.6
'@babel/code-frame': 7.21.4
chalk: 4.1.2
chokidar: 3.5.3
cosmiconfig: 7.1.0
@ -6445,6 +6184,10 @@ packages:
verror: 1.10.0
dev: true
/kleur@3.0.3:
resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
engines: {node: '>=6'}
/klona@2.0.6:
resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==}
engines: {node: '>= 8'}
@ -7102,6 +6845,11 @@ packages:
dependencies:
boolbase: 1.0.0
/nypm@0.1.0:
resolution: {integrity: sha512-q+/Hl9SWeLsH5moeaZEZFFYqmosoCYN/WU4vckznuCEw95EBG/z4NT1eOkABhh3pvQdHkc3QsiBWHBfIGptBMw==}
engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0}
dev: false
/oauth-sign@0.9.0:
resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==}
dev: true
@ -7290,7 +7038,7 @@ packages:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
engines: {node: '>=8'}
dependencies:
'@babel/code-frame': 7.18.6
'@babel/code-frame': 7.21.4
error-ex: 1.3.2
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
@ -7827,6 +7575,14 @@ packages:
/process-nextick-args@2.0.1:
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
/prompts@2.4.2:
resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
engines: {node: '>= 6'}
dependencies:
kleur: 3.0.3
sisteransi: 1.0.5
dev: false
/protocols@2.0.1:
resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==}
dev: false
@ -8282,6 +8038,10 @@ packages:
totalist: 3.0.0
dev: true
/sisteransi@1.0.5:
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
dev: false
/slash@3.0.0:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'}
@ -8866,7 +8626,7 @@ packages:
chalk: 5.2.0
consola: 2.15.3
defu: 6.1.2
esbuild: 0.17.14
esbuild: 0.17.15
globby: 13.1.3
hookable: 5.5.3
jiti: 1.18.2
@ -9051,9 +8811,9 @@ packages:
resolution: {integrity: sha512-z219Z65rOGD6jXIvIhpZFfwWdqQckB8sdZec2NO+TkcH1Bph7gL0hwLzRJs1KsOo4Jz4mF9guBXhsEnyEBGVfw==}
hasBin: true
dependencies:
'@babel/core': 7.21.3
'@babel/core': 7.21.4
'@babel/standalone': 7.21.3
'@babel/types': 7.21.3
'@babel/types': 7.21.4
defu: 6.1.2
jiti: 1.18.2
mri: 1.2.0
@ -9178,7 +8938,7 @@ packages:
vue-tsc:
optional: true
dependencies:
'@babel/code-frame': 7.18.6
'@babel/code-frame': 7.21.4
ansi-escapes: 4.3.2
chalk: 4.1.2
chokidar: 3.5.3
@ -9260,7 +9020,7 @@ packages:
optional: true
dependencies:
'@types/node': 18.15.11
esbuild: 0.17.14
esbuild: 0.17.15
postcss: 8.4.21
resolve: 1.22.1
rollup: 3.20.2

View File

@ -43,7 +43,7 @@ describe.skipIf(isWindows || process.env.ECOSYSTEM_CI)('minimal nuxt application
expect(roundToKilobytes(stats.server.totalBytes)).toMatchInlineSnapshot('"91k"')
const modules = await analyzeSizes('node_modules/**/*', serverDir)
expect(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"2648k"')
expect(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"2649k"')
const packages = modules.files
.filter(m => m.endsWith('package.json'))