diff --git a/package.json b/package.json index a09b0d5c..0cc03086 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "docs:build": "pnpm build && pnpm -C docs run docs:build", "docs:serve": "pnpm -C docs run docs:serve", "storybook": "pnpm -C storybook run dev", - "play": "pnpm run build && pnpm -C packages/core run play", + "play": "tsx scripts/play.ts", "play:debug": "pnpm -C packages/core run play:debug", "play:standalone": "pnpm -C packages/core run play:standalone", "example:plugin-file-explorer": "pnpm -C examples/plugin-file-explorer run play:dev", @@ -57,6 +57,7 @@ "@types/connect": "catalog:types", "@types/d3": "catalog:types", "@types/d3-hierarchy": "catalog:types", + "@types/prompts": "catalog:types", "@types/ws": "catalog:types", "@typescript-eslint/utils": "catalog:devtools", "@unocss/eslint-config": "catalog:devtools", @@ -77,6 +78,7 @@ "oxlint": "catalog:devtools", "p-limit": "catalog:deps", "pathe": "catalog:deps", + "prompts": "catalog:devtools", "simple-git-hooks": "catalog:devtools", "skills-npm": "catalog:devtools", "tinyexec": "catalog:deps", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 57b061b3..2c72c85e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -152,6 +152,9 @@ catalogs: oxlint: specifier: ^1.74.0 version: 1.74.0 + prompts: + specifier: ^2.4.2 + version: 2.4.2 serve: specifier: ^14.2.6 version: 14.2.6 @@ -391,6 +394,9 @@ catalogs: '@types/picomatch': specifier: ^4.0.3 version: 4.0.3 + '@types/prompts': + specifier: ^2.4.9 + version: 2.4.9 '@types/react': specifier: ^19.2.17 version: 19.2.17 @@ -515,6 +521,9 @@ importers: '@types/d3-hierarchy': specifier: catalog:types version: 3.1.7 + '@types/prompts': + specifier: catalog:types + version: 2.4.9 '@types/ws': specifier: catalog:types version: 8.18.1 @@ -575,6 +584,9 @@ importers: pathe: specifier: catalog:deps version: 2.0.3 + prompts: + specifier: catalog:devtools + version: 2.4.2 simple-git-hooks: specifier: catalog:devtools version: 2.13.1 @@ -1115,7 +1127,7 @@ importers: version: 3.2.0 floating-vue: specifier: '*' - version: 5.2.2(@nuxt/kit@4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))))(vue@3.5.39(typescript@6.0.3)) + version: 5.2.2(@nuxt/kit@4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))))(vue@3.5.39(typescript@6.0.3)) fuse.js: specifier: '*' version: 7.4.2 @@ -1124,7 +1136,7 @@ importers: version: 1.0.0 nuxt: specifier: ^4.5.0 - version: 4.5.0(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.0(supports-color@10.2.2)))(@parcel/watcher@2.5.6)(@types/node@25.0.3)(@vitejs/devtools@0.3.4)(@vue/compiler-sfc@3.5.40)(cac@7.0.0)(crossws@0.4.10(srvx@0.11.22))(db0@0.3.4)(esbuild@0.28.1)(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(idb-keyval@6.3.0)(ioredis@5.10.1(supports-color@10.2.2))(lightningcss@1.32.0)(magicast@0.5.2)(optionator@0.9.4)(oxc-parser@0.140.0)(oxlint@1.74.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.2.0)(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.22)(supports-color@10.2.2)(terser@5.44.1)(tsx@4.23.1)(typescript@6.0.3)(vite@8.1.5)(vue-tsc@3.3.7(typescript@6.0.3))(webpack@5.104.1(esbuild@0.28.1))(yaml@2.9.0) + version: 4.5.0(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.0(supports-color@10.2.2)))(@parcel/watcher@2.5.6)(@types/node@25.0.3)(@vitejs/devtools@0.3.4)(@vue/compiler-sfc@3.5.40)(cac@7.0.0)(crossws@0.4.10(srvx@0.11.22))(db0@0.3.4)(esbuild@0.28.1)(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(idb-keyval@6.3.0)(ioredis@5.10.1(supports-color@10.2.2))(lightningcss@1.32.0)(magicast@0.5.2)(optionator@0.9.4)(oxc-parser@0.131.0)(oxlint@1.74.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.2.0)(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.22)(supports-color@10.2.2)(terser@5.44.1)(tsx@4.23.1)(typescript@6.0.3)(vite@8.1.5)(vue-tsc@3.3.7(typescript@6.0.3))(webpack@5.104.1(esbuild@0.28.1))(yaml@2.9.0) pathe: specifier: catalog:deps version: 2.0.3 @@ -4189,6 +4201,9 @@ packages: '@types/picomatch@4.0.3': resolution: {integrity: sha512-iG0T6+nYJ9FAPmx9SsUlnwcq1ZVRuCXcVEvWnntoPlrOpwtSTKNDC9uVAxTsC3PUvJ+99n4RpAcNgBbHX3JSnQ==} + '@types/prompts@2.4.9': + resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==} + '@types/react-dom@19.2.3': resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} peerDependencies: @@ -7067,6 +7082,10 @@ packages: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + kleur@4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} @@ -8151,6 +8170,10 @@ packages: promise@7.3.1: resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + proper-lockfile@4.1.2: resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==} @@ -9915,7 +9938,7 @@ snapshots: '@babel/helper-module-imports@7.28.6(supports-color@10.2.2)': dependencies: - '@babel/traverse': 7.29.0(supports-color@10.2.2) + '@babel/traverse': 7.29.7(supports-color@10.2.2) '@babel/types': 7.29.7 transitivePeerDependencies: - supports-color @@ -10155,6 +10178,30 @@ snapshots: '@docsearch/sidepanel-js@4.6.3': {} + '@dxup/nuxt@0.5.3(esbuild@0.28.1)(magicast@0.5.2)(oxc-parser@0.131.0)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))': + dependencies: + '@dxup/unimport': 0.1.2 + '@nuxt/kit': 4.5.0(magic-string@0.30.21)(magicast@0.5.2)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))) + '@vue/compiler-dom': 3.5.39 + chokidar: 5.0.0 + knitwork: 1.3.0 + magic-string: 0.30.21 + pathe: 2.0.3 + tinyglobby: 0.2.17 + unplugin: 3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)) + transitivePeerDependencies: + - '@farmfe/core' + - '@rspack/core' + - bun-types-no-globals + - esbuild + - magicast + - oxc-parser + - rolldown + - rollup + - unloader + - vite + - webpack + '@dxup/nuxt@0.5.3(esbuild@0.28.1)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))': dependencies: '@dxup/unimport': 0.1.2 @@ -10747,6 +10794,18 @@ snapshots: '@nuxt/devalue@2.0.2': {} + '@nuxt/devtools-kit@3.2.4(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)))(vite@8.1.5)': + dependencies: + '@nuxt/kit': 4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))) + execa: 8.0.1 + vite: 8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.3.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) + transitivePeerDependencies: + - magic-string + - magicast + - oxc-parser + - rolldown + - unplugin + '@nuxt/devtools-kit@3.2.4(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)))(vite@8.1.5)': dependencies: '@nuxt/kit': 4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))) @@ -10770,6 +10829,53 @@ snapshots: pkg-types: 2.3.1 semver: 7.8.5 + '@nuxt/devtools@3.2.4(@vitejs/devtools@0.3.4)(magic-string@1.0.0)(oxc-parser@0.131.0)(rolldown@1.2.0)(supports-color@10.2.2)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)))(vite@8.1.5)(vue@3.5.39(typescript@6.0.3))': + dependencies: + '@nuxt/devtools-kit': 3.2.4(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)))(vite@8.1.5) + '@nuxt/devtools-wizard': 3.2.4 + '@nuxt/kit': 4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))) + '@vue/devtools-core': 8.1.0(vue@3.5.39(typescript@6.0.3)) + '@vue/devtools-kit': 8.1.5 + birpc: 4.0.0 + consola: 3.4.2 + destr: 2.0.5 + error-stack-parser-es: 1.0.5 + execa: 8.0.1 + fast-npm-meta: 1.4.2 + get-port-please: 3.2.0 + hookable: 6.1.1 + image-meta: 0.2.2 + is-installed-globally: 1.0.0 + launch-editor: 2.13.2 + local-pkg: 1.2.1 + magicast: 0.5.2 + nypm: 0.6.6 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + pkg-types: 2.3.1 + semver: 7.8.5 + simple-git: 3.33.0(supports-color@10.2.2) + sirv: 3.0.2 + structured-clone-es: 2.0.0 + tinyglobby: 0.2.17 + vite: 8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.3.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) + vite-plugin-inspect: 11.3.3(@nuxt/kit@4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))))(supports-color@10.2.2)(vite@8.1.5) + vite-plugin-vue-tracer: 1.4.0(vite@8.1.5)(vue@3.5.39(typescript@6.0.3)) + which: 6.0.1 + ws: 8.21.0 + optionalDependencies: + '@vitejs/devtools': 0.3.4(crossws@0.4.10(srvx@0.11.22))(db0@0.3.4)(esbuild@0.28.1)(idb-keyval@6.3.0)(ioredis@5.10.1(supports-color@10.2.2))(rolldown@1.2.0)(rollup@4.60.2)(typescript@6.0.3)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)) + transitivePeerDependencies: + - bufferutil + - magic-string + - oxc-parser + - rolldown + - supports-color + - unplugin + - utf-8-validate + - vue + '@nuxt/devtools@3.2.4(@vitejs/devtools@0.3.4)(magic-string@1.0.0)(oxc-parser@0.140.0)(rolldown@1.2.0)(supports-color@10.2.2)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)))(vite@8.1.5)(vue@3.5.39(typescript@6.0.3))': dependencies: '@nuxt/devtools-kit': 3.2.4(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)))(vite@8.1.5) @@ -10970,6 +11076,36 @@ snapshots: - vite - vue + '@nuxt/kit@4.5.0(magic-string@0.30.21)(magicast@0.5.2)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)))': + dependencies: + c12: 3.3.4(magicast@0.5.2) + consola: 3.4.2 + defu: 6.1.7 + destr: 2.0.5 + errx: 0.1.0 + exsolve: 1.1.0 + ignore: 7.0.6 + jiti: 2.7.0 + klona: 2.0.6 + mlly: 1.8.2 + nostics: 1.2.0 + ohash: 2.0.11 + pathe: 2.0.3 + pkg-types: 2.3.1 + rc9: 3.0.1 + scule: 1.3.0 + semver: 7.8.5 + tinyglobby: 0.2.17 + ufo: 1.6.4 + unctx: 3.0.0(magic-string@0.30.21)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))) + untyped: 2.0.0 + transitivePeerDependencies: + - magic-string + - magicast + - oxc-parser + - rolldown + - unplugin + '@nuxt/kit@4.5.0(magic-string@0.30.21)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)))': dependencies: c12: 3.3.4(magicast@0.5.2) @@ -11000,6 +11136,36 @@ snapshots: - rolldown - unplugin + '@nuxt/kit@4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)))': + dependencies: + c12: 3.3.4(magicast@0.5.2) + consola: 3.4.2 + defu: 6.1.7 + destr: 2.0.5 + errx: 0.1.0 + exsolve: 1.1.0 + ignore: 7.0.6 + jiti: 2.7.0 + klona: 2.0.6 + mlly: 1.8.2 + nostics: 1.2.0 + ohash: 2.0.11 + pathe: 2.0.3 + pkg-types: 2.3.1 + rc9: 3.0.1 + scule: 1.3.0 + semver: 7.8.5 + tinyglobby: 0.2.17 + ufo: 1.6.4 + unctx: 3.0.0(magic-string@1.0.0)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))) + untyped: 2.0.0 + transitivePeerDependencies: + - magic-string + - magicast + - oxc-parser + - rolldown + - unplugin + '@nuxt/kit@4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5(@types/node@25.0.3)(@vitejs/devtools@packages+core)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.104.1(esbuild@0.28.1)))': dependencies: c12: 3.3.4(magicast@0.5.2) @@ -11061,6 +11227,92 @@ snapshots: - rolldown - unplugin + '@nuxt/nitro-server@4.5.0(7d9d8d26ab08d9ea2a2a9f0cace5924e)': + dependencies: + '@nuxt/devalue': 2.0.2 + '@nuxt/kit': 4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))) + '@unhead/vue': 3.2.1(crossws@0.4.10(srvx@0.11.22))(esbuild@0.28.1)(lightningcss@1.32.0)(rolldown@1.2.0)(rollup@4.60.2)(typescript@6.0.3)(vite@8.1.5)(vue@3.5.39(typescript@6.0.3))(webpack@5.104.1(esbuild@0.28.1)) + '@vue/shared': 3.5.39 + consola: 3.4.2 + defu: 6.1.7 + destr: 2.0.5 + devalue: 5.8.1 + errx: 0.1.0 + escape-string-regexp: 5.0.0 + exsolve: 1.1.0 + h3: 1.15.11 + impound: 1.1.5(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)) + klona: 2.0.6 + mocked-exports: 0.1.1 + nitropack: 2.13.4(idb-keyval@6.3.0)(oxc-parser@0.131.0)(rolldown@1.2.0)(srvx@0.11.22)(supports-color@10.2.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)) + nostics: 1.1.4 + nuxt: 4.5.0(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.0(supports-color@10.2.2)))(@parcel/watcher@2.5.6)(@types/node@25.0.3)(@vitejs/devtools@0.3.4)(@vue/compiler-sfc@3.5.40)(cac@7.0.0)(crossws@0.4.10(srvx@0.11.22))(db0@0.3.4)(esbuild@0.28.1)(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(idb-keyval@6.3.0)(ioredis@5.10.1(supports-color@10.2.2))(lightningcss@1.32.0)(magicast@0.5.2)(optionator@0.9.4)(oxc-parser@0.131.0)(oxlint@1.74.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.2.0)(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.22)(supports-color@10.2.2)(terser@5.44.1)(tsx@4.23.1)(typescript@6.0.3)(vite@8.1.5)(vue-tsc@3.3.7(typescript@6.0.3))(webpack@5.104.1(esbuild@0.28.1))(yaml@2.9.0) + nypm: 0.6.8 + ohash: 2.0.11 + pathe: 2.0.3 + rou3: 0.9.1 + std-env: 4.2.0 + ufo: 1.6.4 + unctx: 3.0.0(magic-string@1.0.0)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))) + unstorage: 1.17.5(db0@0.3.4)(idb-keyval@6.3.0)(ioredis@5.10.1(supports-color@10.2.2)) + vue: 3.5.39(typescript@6.0.3) + vue-bundle-renderer: 2.3.1 + vue-devtools-stub: 0.1.0 + optionalDependencies: + '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.0(supports-color@10.2.2)) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@electric-sql/pglite' + - '@farmfe/core' + - '@libsql/client' + - '@modelcontextprotocol/sdk' + - '@netlify/blobs' + - '@planetscale/database' + - '@rspack/core' + - '@unhead/cli' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bare-abort-controller + - better-sqlite3 + - bufferutil + - bun-types-no-globals + - crossws + - db0 + - drizzle-orm + - encoding + - esbuild + - idb-keyval + - ioredis + - lightningcss + - magic-string + - magicast + - mysql2 + - oxc-parser + - react-native-b4a + - rolldown + - rollup + - sqlite3 + - srvx + - supports-color + - typescript + - unloader + - unplugin + - uploadthing + - utf-8-validate + - vite + - webpack + - xml2js + '@nuxt/nitro-server@4.5.0(f8575a87bf59e95550b315c967408423)': dependencies: '@nuxt/devalue': 2.0.2 @@ -11156,6 +11408,15 @@ snapshots: pkg-types: 2.3.1 std-env: 4.2.0 + '@nuxt/telemetry@2.8.0(@nuxt/kit@4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))))': + dependencies: + '@nuxt/kit': 4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))) + citty: 0.2.2 + consola: 3.4.2 + ofetch: 2.0.0-alpha.3 + rc9: 3.0.1 + std-env: 4.1.0 + '@nuxt/telemetry@2.8.0(@nuxt/kit@4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))))': dependencies: '@nuxt/kit': 4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))) @@ -11227,33 +11488,95 @@ snapshots: - vue-tsc - yaml - '@ota-meshi/ast-token-store@0.3.0': {} - - '@oxc-parser/binding-android-arm-eabi@0.127.0': - optional: true - - '@oxc-parser/binding-android-arm-eabi@0.131.0': - optional: true - - '@oxc-parser/binding-android-arm-eabi@0.132.0': - optional: true - - '@oxc-parser/binding-android-arm-eabi@0.138.0': - optional: true - - '@oxc-parser/binding-android-arm-eabi@0.140.0': - optional: true - - '@oxc-parser/binding-android-arm64@0.127.0': - optional: true - - '@oxc-parser/binding-android-arm64@0.131.0': - optional: true - - '@oxc-parser/binding-android-arm64@0.132.0': - optional: true - - '@oxc-parser/binding-android-arm64@0.138.0': + '@nuxt/vite-builder@4.5.0(dd2d855146f780cc98a41c9c88093503)': + dependencies: + '@nuxt/kit': 4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))) + '@vitejs/plugin-vue': 6.0.8(vite@8.1.5)(vue@3.5.39(typescript@6.0.3)) + '@vitejs/plugin-vue-jsx': 5.1.6(supports-color@10.2.2)(vite@8.1.5)(vue@3.5.39(typescript@6.0.3)) + autoprefixer: 10.5.4(postcss@8.5.20) + consola: 3.4.2 + cssnano: 8.0.2(postcss@8.5.20) + defu: 6.1.7 + escape-string-regexp: 5.0.0 + exsolve: 1.1.0 + get-port-please: 3.2.0 + jiti: 2.7.0 + js-tokens: 10.0.0 + knitwork: 1.3.0 + mlly: 1.8.2 + mocked-exports: 0.1.1 + nuxt: 4.5.0(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.0(supports-color@10.2.2)))(@parcel/watcher@2.5.6)(@types/node@25.0.3)(@vitejs/devtools@0.3.4)(@vue/compiler-sfc@3.5.40)(cac@7.0.0)(crossws@0.4.10(srvx@0.11.22))(db0@0.3.4)(esbuild@0.28.1)(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(idb-keyval@6.3.0)(ioredis@5.10.1(supports-color@10.2.2))(lightningcss@1.32.0)(magicast@0.5.2)(optionator@0.9.4)(oxc-parser@0.131.0)(oxlint@1.74.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.2.0)(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.22)(supports-color@10.2.2)(terser@5.44.1)(tsx@4.23.1)(typescript@6.0.3)(vite@8.1.5)(vue-tsc@3.3.7(typescript@6.0.3))(webpack@5.104.1(esbuild@0.28.1))(yaml@2.9.0) + nypm: 0.6.8 + pathe: 2.0.3 + pkg-types: 2.3.1 + postcss: 8.5.20 + rolldown-string: 0.3.1(rolldown@1.2.0) + seroval: 1.5.6 + std-env: 4.2.0 + ufo: 1.6.4 + unenv: 2.0.0-rc.24 + vite: 8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.3.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) + vite-node: 6.0.0(@types/node@25.0.3)(@vitejs/devtools@0.3.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) + vite-plugin-checker: 0.14.4(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(optionator@0.9.4)(oxlint@1.74.0)(typescript@6.0.3)(vite@8.1.5)(vue-tsc@3.3.7(typescript@6.0.3)) + vue: 3.5.39(typescript@6.0.3) + vue-bundle-renderer: 2.3.1 + optionalDependencies: + '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0(supports-color@10.2.2)) + rolldown: 1.2.0 + rollup-plugin-visualizer: 7.0.1(rolldown@1.2.0)(rollup@4.60.2) + transitivePeerDependencies: + - '@biomejs/biome' + - '@types/node' + - '@vitejs/devtools' + - esbuild + - eslint + - less + - magic-string + - magicast + - meow + - optionator + - oxc-parser + - oxlint + - sass + - sass-embedded + - stylelint + - stylus + - sugarss + - supports-color + - terser + - tsx + - typescript + - unplugin + - vue-tsc + - yaml + + '@ota-meshi/ast-token-store@0.3.0': {} + + '@oxc-parser/binding-android-arm-eabi@0.127.0': + optional: true + + '@oxc-parser/binding-android-arm-eabi@0.131.0': + optional: true + + '@oxc-parser/binding-android-arm-eabi@0.132.0': + optional: true + + '@oxc-parser/binding-android-arm-eabi@0.138.0': + optional: true + + '@oxc-parser/binding-android-arm-eabi@0.140.0': + optional: true + + '@oxc-parser/binding-android-arm64@0.127.0': + optional: true + + '@oxc-parser/binding-android-arm64@0.131.0': + optional: true + + '@oxc-parser/binding-android-arm64@0.132.0': + optional: true + + '@oxc-parser/binding-android-arm64@0.138.0': optional: true '@oxc-parser/binding-android-arm64@0.140.0': @@ -12545,6 +12868,11 @@ snapshots: '@types/picomatch@4.0.3': {} + '@types/prompts@2.4.9': + dependencies: + '@types/node': 25.0.3 + kleur: 3.0.3 + '@types/react-dom@19.2.3(@types/react@19.2.17)': dependencies: '@types/react': 19.2.17 @@ -15574,21 +15902,21 @@ snapshots: flatted@3.4.2: {} - floating-vue@5.2.2(@nuxt/kit@4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5(@types/node@25.0.3)(@vitejs/devtools@packages+core)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.104.1(esbuild@0.28.1))))(vue@3.5.39(typescript@6.0.3)): + floating-vue@5.2.2(@nuxt/kit@4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))))(vue@3.5.39(typescript@6.0.3)): dependencies: '@floating-ui/dom': 1.1.1 vue: 3.5.39(typescript@6.0.3) vue-resize: 2.0.0-alpha.1(vue@3.5.39(typescript@6.0.3)) optionalDependencies: - '@nuxt/kit': 4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5(@types/node@25.0.3)(@vitejs/devtools@packages+core)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.104.1(esbuild@0.28.1))) + '@nuxt/kit': 4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))) - floating-vue@5.2.2(@nuxt/kit@4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))))(vue@3.5.39(typescript@6.0.3)): + floating-vue@5.2.2(@nuxt/kit@4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5(@types/node@25.0.3)(@vitejs/devtools@packages+core)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.104.1(esbuild@0.28.1))))(vue@3.5.39(typescript@6.0.3)): dependencies: '@floating-ui/dom': 1.1.1 vue: 3.5.39(typescript@6.0.3) vue-resize: 2.0.0-alpha.1(vue@3.5.39(typescript@6.0.3)) optionalDependencies: - '@nuxt/kit': 4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))) + '@nuxt/kit': 4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5(@types/node@25.0.3)(@vitejs/devtools@packages+core)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.104.1(esbuild@0.28.1))) floating-vue@5.2.2(@nuxt/kit@4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))))(vue@3.5.40(typescript@6.0.3)): dependencies: @@ -16049,6 +16377,8 @@ snapshots: kind-of@6.0.3: {} + kleur@3.0.3: {} + kleur@4.1.5: {} klona@2.0.6: {} @@ -16743,6 +17073,116 @@ snapshots: neo-async@2.6.2: {} + nitropack@2.13.4(idb-keyval@6.3.0)(oxc-parser@0.131.0)(rolldown@1.2.0)(srvx@0.11.22)(supports-color@10.2.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)): + dependencies: + '@cloudflare/kv-asset-handler': 0.4.2 + '@rollup/plugin-alias': 6.0.0(rollup@4.60.2) + '@rollup/plugin-commonjs': 29.0.2(rollup@4.60.2) + '@rollup/plugin-inject': 5.0.5(rollup@4.60.2) + '@rollup/plugin-json': 6.1.0(rollup@4.60.2) + '@rollup/plugin-node-resolve': 16.0.3(rollup@4.60.2) + '@rollup/plugin-replace': 6.0.3(rollup@4.60.2) + '@rollup/plugin-terser': 1.0.0(rollup@4.60.2) + '@vercel/nft': 1.5.0(rollup@4.60.2)(supports-color@10.2.2) + archiver: 7.0.1 + c12: 3.3.4(magicast@0.5.2) + chokidar: 5.0.0 + citty: 0.2.2 + compatx: 0.2.0 + confbox: 0.2.4 + consola: 3.4.2 + cookie-es: 2.0.1 + croner: 10.0.1 + crossws: 0.3.5 + db0: 0.3.4 + defu: 6.1.7 + destr: 2.0.5 + dot-prop: 10.1.0 + esbuild: 0.28.1 + escape-string-regexp: 5.0.0 + etag: 1.8.1 + exsolve: 1.0.8 + globby: 16.2.0 + gzip-size: 7.0.0 + h3: 1.15.11 + hookable: 5.5.3 + httpxy: 0.5.1 + ioredis: 5.10.1(supports-color@10.2.2) + jiti: 2.7.0 + klona: 2.0.6 + knitwork: 1.3.0 + listhen: 1.10.0(srvx@0.11.22) + magic-string: 0.30.21 + magicast: 0.5.2 + mime: 4.1.0 + mlly: 1.8.2 + node-fetch-native: 1.6.7 + node-mock-http: 1.0.4 + ofetch: 1.5.1 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + pkg-types: 2.3.1 + pretty-bytes: 7.1.0 + radix3: 1.1.2 + rollup: 4.60.2 + rollup-plugin-visualizer: 7.0.1(rolldown@1.2.0)(rollup@4.60.2) + scule: 1.3.0 + semver: 7.8.5 + serve-placeholder: 2.0.2 + serve-static: 2.2.1(supports-color@10.2.2) + source-map: 0.7.6 + std-env: 4.1.0 + ufo: 1.6.4 + ultrahtml: 1.6.0 + uncrypto: 0.1.3 + unctx: 2.5.0 + unenv: 2.0.0-rc.24 + unimport: 6.3.0(esbuild@0.28.1)(oxc-parser@0.131.0)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)) + unplugin-utils: 0.3.2 + unstorage: 1.17.5(db0@0.3.4)(idb-keyval@6.3.0)(ioredis@5.10.1(supports-color@10.2.2)) + untyped: 2.0.0 + unwasm: 0.5.3 + youch: 4.1.1 + youch-core: 0.3.3 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@electric-sql/pglite' + - '@farmfe/core' + - '@libsql/client' + - '@netlify/blobs' + - '@planetscale/database' + - '@rspack/core' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bare-abort-controller + - better-sqlite3 + - bun-types-no-globals + - drizzle-orm + - encoding + - idb-keyval + - mysql2 + - oxc-parser + - react-native-b4a + - rolldown + - sqlite3 + - srvx + - supports-color + - unloader + - uploadthing + - vite + - webpack + nitropack@2.13.4(idb-keyval@6.3.0)(oxc-parser@0.140.0)(rolldown@1.2.0)(srvx@0.11.22)(supports-color@10.2.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 @@ -16917,6 +17357,146 @@ snapshots: dependencies: boolbase: 1.0.0 + nuxt@4.5.0(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.0(supports-color@10.2.2)))(@parcel/watcher@2.5.6)(@types/node@25.0.3)(@vitejs/devtools@0.3.4)(@vue/compiler-sfc@3.5.40)(cac@7.0.0)(crossws@0.4.10(srvx@0.11.22))(db0@0.3.4)(esbuild@0.28.1)(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(idb-keyval@6.3.0)(ioredis@5.10.1(supports-color@10.2.2))(lightningcss@1.32.0)(magicast@0.5.2)(optionator@0.9.4)(oxc-parser@0.131.0)(oxlint@1.74.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.2.0)(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.22)(supports-color@10.2.2)(terser@5.44.1)(tsx@4.23.1)(typescript@6.0.3)(vite@8.1.5)(vue-tsc@3.3.7(typescript@6.0.3))(webpack@5.104.1(esbuild@0.28.1))(yaml@2.9.0): + dependencies: + '@dxup/nuxt': 0.5.3(esbuild@0.28.1)(magicast@0.5.2)(oxc-parser@0.131.0)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)) + '@nuxt/cli': 3.37.0(@nuxt/schema@4.5.0)(cac@7.0.0)(magicast@0.5.2)(supports-color@10.2.2) + '@nuxt/devtools': 3.2.4(@vitejs/devtools@0.3.4)(magic-string@1.0.0)(oxc-parser@0.131.0)(rolldown@1.2.0)(supports-color@10.2.2)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)))(vite@8.1.5)(vue@3.5.39(typescript@6.0.3)) + '@nuxt/kit': 4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))) + '@nuxt/nitro-server': 4.5.0(7d9d8d26ab08d9ea2a2a9f0cace5924e) + '@nuxt/schema': 4.5.0 + '@nuxt/telemetry': 2.8.0(@nuxt/kit@4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)))) + '@nuxt/vite-builder': 4.5.0(dd2d855146f780cc98a41c9c88093503) + '@unhead/vue': 3.2.1(crossws@0.4.10(srvx@0.11.22))(esbuild@0.28.1)(lightningcss@1.32.0)(rolldown@1.2.0)(rollup@4.60.2)(typescript@6.0.3)(vite@8.1.5)(vue@3.5.39(typescript@6.0.3))(webpack@5.104.1(esbuild@0.28.1)) + '@vue/shared': 3.5.39 + chokidar: 5.0.0 + compatx: 0.2.0 + consola: 3.4.2 + cookie-es: 3.1.1 + defu: 6.1.7 + devalue: 5.8.1 + errx: 0.1.0 + escape-string-regexp: 5.0.0 + exsolve: 1.1.0 + fnv1a-64: 0.1.1 + hookable: 6.1.1 + ignore: 7.0.6 + impound: 1.1.5(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)) + jiti: 2.7.0 + klona: 2.0.6 + knitwork: 1.3.0 + magic-string: 1.0.0 + mlly: 1.8.2 + nanotar: 0.3.0 + nostics: 1.1.4 + nypm: 0.6.8 + object-identity: 0.2.3 + ofetch: 1.5.1 + ohash: 2.0.11 + on-change: 6.0.2 + oxc-walker: 1.0.0(esbuild@0.28.1)(oxc-parser@0.131.0)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)) + pathe: 2.0.3 + perfect-debounce: 2.1.0 + picomatch: 4.0.5 + pkg-types: 2.3.1 + rolldown: 1.2.0 + rolldown-string: 0.3.1(rolldown@1.2.0) + rou3: 0.9.1 + scule: 1.3.0 + semver: 7.8.5 + std-env: 4.2.0 + tinyglobby: 0.2.17 + ufo: 1.6.4 + ultrahtml: 1.7.0 + uncrypto: 0.1.3 + unctx: 3.0.0(magic-string@1.0.0)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))) + undici: 8.8.0 + unhead: 3.2.1(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)) + unimport: 6.3.0(esbuild@0.28.1)(oxc-parser@0.131.0)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)) + unplugin: 3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)) + unrouting: 0.1.7 + untyped: 2.0.0 + vue: 3.5.39(typescript@6.0.3) + vue-router: 5.2.0(@vue/compiler-sfc@3.5.40)(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(vue@3.5.39(typescript@6.0.3))(webpack@5.104.1(esbuild@0.28.1)) + optionalDependencies: + '@parcel/watcher': 2.5.6 + '@types/node': 25.0.3 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@babel/plugin-proposal-decorators' + - '@babel/plugin-syntax-jsx' + - '@babel/plugin-syntax-typescript' + - '@biomejs/biome' + - '@capacitor/preferences' + - '@deno/kv' + - '@electric-sql/pglite' + - '@farmfe/core' + - '@libsql/client' + - '@modelcontextprotocol/sdk' + - '@netlify/blobs' + - '@pinia/colada' + - '@planetscale/database' + - '@rollup/plugin-babel' + - '@rspack/core' + - '@unhead/cli' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - '@vitejs/devtools' + - '@vue/compiler-sfc' + - aws4fetch + - bare-abort-controller + - better-sqlite3 + - bufferutil + - bun-types-no-globals + - cac + - commander + - crossws + - db0 + - drizzle-orm + - encoding + - esbuild + - eslint + - idb-keyval + - ioredis + - less + - lightningcss + - magicast + - meow + - mysql2 + - optionator + - oxc-parser + - oxlint + - pinia + - react-native-b4a + - rollup + - rollup-plugin-visualizer + - sass + - sass-embedded + - sqlite3 + - srvx + - stylelint + - stylus + - sugarss + - supports-color + - terser + - tsx + - typescript + - unloader + - uploadthing + - utf-8-validate + - vite + - vue-tsc + - webpack + - xml2js + - yaml + nuxt@4.5.0(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.0(supports-color@10.2.2)))(@parcel/watcher@2.5.6)(@types/node@25.0.3)(@vitejs/devtools@0.3.4)(@vue/compiler-sfc@3.5.40)(cac@7.0.0)(crossws@0.4.10(srvx@0.11.22))(db0@0.3.4)(esbuild@0.28.1)(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(idb-keyval@6.3.0)(ioredis@5.10.1(supports-color@10.2.2))(lightningcss@1.32.0)(magicast@0.5.2)(optionator@0.9.4)(oxc-parser@0.140.0)(oxlint@1.74.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.2.0)(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.22)(supports-color@10.2.2)(terser@5.44.1)(tsx@4.23.1)(typescript@6.0.3)(vite@8.1.5)(vue-tsc@3.3.7(typescript@6.0.3))(webpack@5.104.1(esbuild@0.28.1))(yaml@2.9.0): dependencies: '@dxup/nuxt': 0.5.3(esbuild@0.28.1)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)) @@ -17290,6 +17870,22 @@ snapshots: magic-regexp: 0.10.0 oxc-parser: 0.131.0 + oxc-walker@1.0.0(esbuild@0.28.1)(oxc-parser@0.131.0)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)): + dependencies: + magic-regexp: 0.11.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)) + optionalDependencies: + oxc-parser: 0.131.0 + rolldown: 1.2.0 + transitivePeerDependencies: + - '@farmfe/core' + - '@rspack/core' + - bun-types-no-globals + - esbuild + - rollup + - unloader + - vite + - webpack + oxc-walker@1.0.0(esbuild@0.28.1)(oxc-parser@0.140.0)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)): dependencies: magic-regexp: 0.11.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)) @@ -17660,6 +18256,11 @@ snapshots: dependencies: asap: 2.0.6 + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + proper-lockfile@4.1.2: dependencies: graceful-fs: 4.2.11 @@ -18647,6 +19248,13 @@ snapshots: magic-string: 0.30.21 unplugin: 2.3.11 + unctx@3.0.0(magic-string@0.30.21)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))): + optionalDependencies: + magic-string: 0.30.21 + oxc-parser: 0.131.0 + rolldown: 1.2.0 + unplugin: 3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)) + unctx@3.0.0(magic-string@0.30.21)(oxc-parser@0.140.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))): optionalDependencies: magic-string: 0.30.21 @@ -18654,6 +19262,13 @@ snapshots: rolldown: 1.2.0 unplugin: 3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)) + unctx@3.0.0(magic-string@1.0.0)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))): + optionalDependencies: + magic-string: 1.0.0 + oxc-parser: 0.131.0 + rolldown: 1.2.0 + unplugin: 3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)) + unctx@3.0.0(magic-string@1.0.0)(oxc-parser@0.140.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5(@types/node@25.0.3)(@vitejs/devtools@packages+core)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.104.1(esbuild@0.28.1))): optionalDependencies: magic-string: 1.0.0 @@ -18697,6 +19312,35 @@ snapshots: unicorn-magic@0.4.0: {} + unimport@6.3.0(esbuild@0.28.1)(oxc-parser@0.131.0)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)): + dependencies: + acorn: 8.16.0 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + local-pkg: 1.2.1 + magic-string: 0.30.21 + mlly: 1.8.2 + pathe: 2.0.3 + picomatch: 4.0.5 + pkg-types: 2.3.1 + scule: 1.3.0 + strip-literal: 3.1.0 + tinyglobby: 0.2.17 + unplugin: 3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)) + unplugin-utils: 0.3.2 + optionalDependencies: + oxc-parser: 0.131.0 + rolldown: 1.2.0 + transitivePeerDependencies: + - '@farmfe/core' + - '@rspack/core' + - bun-types-no-globals + - esbuild + - rollup + - unloader + - vite + - webpack + unimport@6.3.0(esbuild@0.28.1)(oxc-parser@0.140.0)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1)): dependencies: acorn: 8.16.0 @@ -19043,6 +19687,23 @@ snapshots: typescript: 6.0.3 vue-tsc: 3.3.7(typescript@6.0.3) + vite-plugin-inspect@11.3.3(@nuxt/kit@4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))))(supports-color@10.2.2)(vite@8.1.5): + dependencies: + ansis: 4.3.1 + debug: 4.4.3(supports-color@10.2.2) + error-stack-parser-es: 1.0.5 + ohash: 2.0.11 + open: 10.2.0 + perfect-debounce: 2.1.0 + sirv: 3.0.2 + unplugin-utils: 0.3.2 + vite: 8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.3.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) + vite-dev-rpc: 1.1.0(vite@8.1.5) + optionalDependencies: + '@nuxt/kit': 4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.131.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))) + transitivePeerDependencies: + - supports-color + vite-plugin-inspect@11.3.3(@nuxt/kit@4.5.0(magic-string@1.0.0)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.2.0)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.60.2)(vite@8.1.5)(webpack@5.104.1(esbuild@0.28.1))))(supports-color@10.2.2)(vite@8.1.5): dependencies: ansis: 4.3.1 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 2a5ec899..67c46d90 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -100,6 +100,7 @@ catalogs: nano-staged: ^1.0.2 oxfmt: ^0.59.0 oxlint: ^1.74.0 + prompts: ^2.4.2 serve: ^14.2.6 simple-git-hooks: ^2.13.1 skills-npm: ^1.2.0 @@ -190,6 +191,7 @@ catalogs: '@types/d3-hierarchy': ^3.1.7 '@types/envinfo': ^7.8.4 '@types/picomatch': ^4.0.3 + '@types/prompts': ^2.4.9 '@types/react': ^19.2.17 '@types/react-dom': ^19.2.3 '@types/splitpanes': ^2.2.6 diff --git a/scripts/play.ts b/scripts/play.ts new file mode 100644 index 00000000..1b70b668 --- /dev/null +++ b/scripts/play.ts @@ -0,0 +1,113 @@ +import type { Choice } from 'prompts' +import { spawnSync } from 'node:child_process' +import { existsSync, readdirSync, readFileSync } from 'node:fs' +import { dirname, join, resolve } from 'node:path' +import process from 'node:process' +import { fileURLToPath } from 'node:url' +import prompts from 'prompts' + +/** + * Workspace globs, mirrored from `pnpm-workspace.yaml`'s `packages:` list: a + * new package, example, or other playground shows up here for free, with no + * change to this script. + */ +const WORKSPACE_PATTERNS = ['packages/*', 'examples/*', 'docs', 'e2e', 'storybook'] + +/** + * Script names that make a workspace package runnable as a "play" — the + * first one present in a package's `scripts` wins. `play:dev`/`play` cover + * the examples/core convention, `dev` covers the Nuxt UI packages, `docs` + * and `start` round out the rest. + */ +const RUN_SCRIPTS = ['play:dev', 'play', 'dev', 'docs', 'start'] + +const rootDir = resolve(dirname(fileURLToPath(import.meta.url)), '..') + +interface Play { + dir: string + pkgName: string + script: string +} + +function expandPattern(pattern: string): string[] { + if (!pattern.endsWith('/*')) + return [pattern] + const base = pattern.slice(0, -2) + const baseDir = join(rootDir, base) + if (!existsSync(baseDir)) + return [] + return readdirSync(baseDir, { withFileTypes: true }) + .filter(entry => entry.isDirectory()) + .map(entry => `${base}/${entry.name}`) +} + +function findPlay(dir: string): Play | undefined { + const pkgPath = join(rootDir, dir, 'package.json') + if (!existsSync(pkgPath)) + return undefined + const pkg = JSON.parse(readFileSync(pkgPath, 'utf8')) + const script = RUN_SCRIPTS.find(name => pkg.scripts?.[name]) + if (!script) + return undefined + return { dir, pkgName: pkg.name, script } +} + +function suggest(input: string, choices: Choice[]): Promise { + const needle = input.toLowerCase() + return Promise.resolve(choices.filter(choice => choice.title.toLowerCase().includes(needle))) +} + +async function main(): Promise { + const plays = WORKSPACE_PATTERNS + .flatMap(expandPattern) + .map(findPlay) + .filter((play): play is Play => play !== undefined) + .sort((a, b) => a.dir.localeCompare(b.dir)) + + if (plays.length === 0) { + console.error(`No playgrounds found — none of ${WORKSPACE_PATTERNS.join(', ')} has a package.json with a ${RUN_SCRIPTS.join('/')} script.`) + process.exitCode = 1 + return + } + + const { play } = await prompts({ + type: 'autocomplete', + name: 'play', + message: 'Select a playground to run', + choices: plays.map(p => ({ + title: p.dir, + description: `${p.pkgName} · pnpm run ${p.script}`, + value: p, + })), + suggest, + }) as { play?: Play } + + if (!play) { + console.log('No playground selected.') + return + } + + console.log('\n▶ pnpm run build\n') + + const build = spawnSync('pnpm', ['run', 'build'], { + cwd: rootDir, + stdio: 'inherit', + shell: false, + }) + + if (build.status !== 0) { + process.exitCode = build.status ?? 1 + return + } + + console.log(`\n▶ pnpm run ${play.script} (${play.dir})\n`) + const result = spawnSync('pnpm', ['run', play.script], { + cwd: join(rootDir, play.dir), + stdio: 'inherit', + shell: false, + }) + + process.exitCode = result.status ?? 1 +} + +main()