diff --git a/.github/contributing.md b/.github/contributing.md
index 6439f1239..2554582b8 100644
--- a/.github/contributing.md
+++ b/.github/contributing.md
@@ -236,7 +236,7 @@ Tests that test against source code are grouped under `nr test-unit`, while test
### `nr test-dts`
-Runs `nr build-dts` first, then verify the type tests in `packages/dts-test` are working correctly against the actual built type declarations.
+Runs `nr build-dts` first, then verify the type tests in `packages-private/dts-test` are working correctly against the actual built type declarations.
## Project Structure
@@ -335,7 +335,7 @@ Test coverage is continuously deployed at https://coverage.vuejs.org. PRs that i
### Testing Type Definition Correctness
-Type tests are located in the `packages/dts-test` directory. To run the dts tests, run `nr test-dts`. Note that the type test requires all relevant `*.d.ts` files to be built first (and the script does it for you). Once the `d.ts` files are built and up-to-date, the tests can be re-run by running `nr test-dts-only`.
+Type tests are located in the `packages-private/dts-test` directory. To run the dts tests, run `nr test-dts`. Note that the type test requires all relevant `*.d.ts` files to be built first (and the script does it for you). Once the `d.ts` files are built and up-to-date, the tests can be re-run by running `nr test-dts-only`.
## Financial Contribution
diff --git a/.github/renovate.json5 b/.github/renovate.json5
index 9c0458702..f13e5dd97 100644
--- a/.github/renovate.json5
+++ b/.github/renovate.json5
@@ -17,8 +17,8 @@
{
groupName: 'playground',
matchFileNames: [
- 'packages/sfc-playground/package.json',
- 'packages/template-explorer/package.json',
+ 'packages-private/sfc-playground/package.json',
+ 'packages-private/template-explorer/package.json',
],
},
{
diff --git a/eslint.config.js b/eslint.config.js
index 334787fd9..2e752e191 100644
--- a/eslint.config.js
+++ b/eslint.config.js
@@ -76,7 +76,11 @@ export default tseslint.config(
// tests, no restrictions (runs in Node / Vitest with jsdom)
{
- files: ['**/__tests__/**', 'packages/dts-test/**'],
+ files: [
+ '**/__tests__/**',
+ 'packages-private/dts-test/**',
+ 'packages-private/dts-build-test/**',
+ ],
plugins: { vitest },
languageOptions: {
globals: {
@@ -119,7 +123,10 @@ export default tseslint.config(
// Private package, browser only + no syntax restrictions
{
- files: ['packages/template-explorer/**', 'packages/sfc-playground/**'],
+ files: [
+ 'packages-private/template-explorer/**',
+ 'packages-private/sfc-playground/**',
+ ],
rules: {
'no-restricted-globals': ['error', ...NodeGlobals],
'no-restricted-syntax': ['error', banConstEnum],
diff --git a/package.json b/package.json
index 240dad49a..d9ab4b983 100644
--- a/package.json
+++ b/package.json
@@ -20,7 +20,7 @@
"test-unit": "vitest -c vitest.unit.config.ts",
"test-e2e": "node scripts/build.js vue -f global -d && vitest -c vitest.e2e.config.ts",
"test-dts": "run-s build-dts test-dts-only",
- "test-dts-only": "tsc -p packages/dts-built-test/tsconfig.json && tsc -p ./packages/dts-test/tsconfig.test.json",
+ "test-dts-only": "tsc -p packages-private/dts-built-test/tsconfig.json && tsc -p ./packages-private/dts-test/tsconfig.test.json",
"test-coverage": "vitest -c vitest.unit.config.ts --coverage",
"test-bench": "vitest bench",
"release": "node scripts/release.js",
@@ -29,7 +29,7 @@
"dev-compiler": "run-p \"dev template-explorer\" serve",
"dev-sfc": "run-s dev-sfc-prepare dev-sfc-run",
"dev-sfc-prepare": "node scripts/pre-dev-sfc.js || npm run build-all-cjs",
- "dev-sfc-serve": "vite packages/sfc-playground --host",
+ "dev-sfc-serve": "vite packages-private/sfc-playground --host",
"dev-sfc-run": "run-p \"dev compiler-sfc -f esm-browser\" \"dev vue -if esm-bundler-runtime\" \"dev vue -ipf esm-browser-runtime\" \"dev server-renderer -if esm-bundler\" dev-sfc-serve",
"serve": "serve",
"open": "open http://localhost:3000/packages/template-explorer/local.html",
@@ -38,7 +38,7 @@
"build-runtime-esm": "node scripts/build.js runtime reactivity shared -af esm-bundler && node scripts/build.js vue -f esm-bundler-runtime && node scripts/build.js vue -f esm-browser-runtime",
"build-browser-esm": "node scripts/build.js runtime reactivity shared -af esm-bundler && node scripts/build.js vue -f esm-bundler && node scripts/build.js vue -f esm-browser",
"build-ssr-esm": "node scripts/build.js compiler-sfc server-renderer -f esm-browser",
- "build-sfc-playground-self": "cd packages/sfc-playground && npm run build",
+ "build-sfc-playground-self": "cd packages-private/sfc-playground && npm run build",
"preinstall": "npx only-allow pnpm",
"postinstall": "simple-git-hooks"
},
diff --git a/packages/dts-built-test/README.md b/packages-private/dts-built-test/README.md
similarity index 65%
rename from packages/dts-built-test/README.md
rename to packages-private/dts-built-test/README.md
index 8191d66e3..5c14f2190 100644
--- a/packages/dts-built-test/README.md
+++ b/packages-private/dts-built-test/README.md
@@ -2,4 +2,4 @@
This package is private and for testing only. It is used to verify edge cases for external libraries that build their types using Vue core types - e.g. Vuetify as in [#8376](https://github.com/vuejs/core/issues/8376).
-When running the `build-dts` task, this package's types are built alongside other packages. Then, during `test-dts-only` it is imported and used in [`packages/dts-test/built.test-d.ts`](https://github.com/vuejs/core/blob/main/packages/dts-test/built.test-d.ts) to verify that the built types work correctly.
+When running the `build-dts` task, this package's types are built alongside other packages. Then, during `test-dts-only` it is imported and used in [`packages-private/dts-test/built.test-d.ts`](https://github.com/vuejs/core/blob/main/packages-private/dts-test/built.test-d.ts) to verify that the built types work correctly.
diff --git a/packages/dts-built-test/package.json b/packages-private/dts-built-test/package.json
similarity index 85%
rename from packages/dts-built-test/package.json
rename to packages-private/dts-built-test/package.json
index dd81cab68..ffcaa4a67 100644
--- a/packages/dts-built-test/package.json
+++ b/packages-private/dts-built-test/package.json
@@ -1,5 +1,5 @@
{
- "name": "@vue/dts-built-test",
+ "name": "dts-built-test",
"private": true,
"version": "0.0.0",
"types": "dist/index.d.ts",
diff --git a/packages/dts-built-test/src/index.ts b/packages-private/dts-built-test/src/index.ts
similarity index 100%
rename from packages/dts-built-test/src/index.ts
rename to packages-private/dts-built-test/src/index.ts
diff --git a/packages/dts-built-test/tsconfig.json b/packages-private/dts-built-test/tsconfig.json
similarity index 100%
rename from packages/dts-built-test/tsconfig.json
rename to packages-private/dts-built-test/tsconfig.json
diff --git a/packages/dts-test/README.md b/packages-private/dts-test/README.md
similarity index 52%
rename from packages/dts-test/README.md
rename to packages-private/dts-test/README.md
index f75cc8b8d..075fc3431 100644
--- a/packages/dts-test/README.md
+++ b/packages-private/dts-test/README.md
@@ -4,4 +4,4 @@ Tests TypeScript types to ensure the types remain as expected.
- This directory is included in the root `tsconfig.json`, where package imports are aliased to `src` directories, so in IDEs and the `pnpm check` script the types are validated against source code.
-- When running `tsc` with `packages/dts-test/tsconfig.test.json`, packages are resolved using normal `node` resolution, so the types are validated against actual **built** types. This requires the types to be built first via `pnpm build-dts`.
+- When running `tsc` with `packages-private/dts-test/tsconfig.test.json`, packages are resolved using normal `node` resolution, so the types are validated against actual **built** types. This requires the types to be built first via `pnpm build-dts`.
diff --git a/packages/dts-test/appDirective.test-d.ts b/packages-private/dts-test/appDirective.test-d.ts
similarity index 100%
rename from packages/dts-test/appDirective.test-d.ts
rename to packages-private/dts-test/appDirective.test-d.ts
diff --git a/packages/dts-test/appUse.test-d.ts b/packages-private/dts-test/appUse.test-d.ts
similarity index 100%
rename from packages/dts-test/appUse.test-d.ts
rename to packages-private/dts-test/appUse.test-d.ts
diff --git a/packages/dts-test/built.test-d.ts b/packages-private/dts-test/built.test-d.ts
similarity index 82%
rename from packages/dts-test/built.test-d.ts
rename to packages-private/dts-test/built.test-d.ts
index ebff2955c..c2b4fb6d8 100644
--- a/packages/dts-test/built.test-d.ts
+++ b/packages-private/dts-test/built.test-d.ts
@@ -1,4 +1,4 @@
-import { CustomPropsNotErased } from '@vue/dts-built-test'
+import { CustomPropsNotErased } from 'dts-built-test/src/index'
import { describe, expectType } from './utils'
declare module 'vue' {
diff --git a/packages/dts-test/compiler.test-d.ts b/packages-private/dts-test/compiler.test-d.ts
similarity index 100%
rename from packages/dts-test/compiler.test-d.ts
rename to packages-private/dts-test/compiler.test-d.ts
diff --git a/packages/dts-test/component.test-d.ts b/packages-private/dts-test/component.test-d.ts
similarity index 100%
rename from packages/dts-test/component.test-d.ts
rename to packages-private/dts-test/component.test-d.ts
diff --git a/packages/dts-test/componentInstance.test-d.tsx b/packages-private/dts-test/componentInstance.test-d.tsx
similarity index 100%
rename from packages/dts-test/componentInstance.test-d.tsx
rename to packages-private/dts-test/componentInstance.test-d.tsx
diff --git a/packages/dts-test/componentTypeExtensions.test-d.tsx b/packages-private/dts-test/componentTypeExtensions.test-d.tsx
similarity index 100%
rename from packages/dts-test/componentTypeExtensions.test-d.tsx
rename to packages-private/dts-test/componentTypeExtensions.test-d.tsx
diff --git a/packages/dts-test/defineComponent.test-d.tsx b/packages-private/dts-test/defineComponent.test-d.tsx
similarity index 100%
rename from packages/dts-test/defineComponent.test-d.tsx
rename to packages-private/dts-test/defineComponent.test-d.tsx
diff --git a/packages/dts-test/defineCustomElement.test-d.ts b/packages-private/dts-test/defineCustomElement.test-d.ts
similarity index 100%
rename from packages/dts-test/defineCustomElement.test-d.ts
rename to packages-private/dts-test/defineCustomElement.test-d.ts
diff --git a/packages/dts-test/directives.test-d.ts b/packages-private/dts-test/directives.test-d.ts
similarity index 100%
rename from packages/dts-test/directives.test-d.ts
rename to packages-private/dts-test/directives.test-d.ts
diff --git a/packages/dts-test/extractProps.test-d.ts b/packages-private/dts-test/extractProps.test-d.ts
similarity index 100%
rename from packages/dts-test/extractProps.test-d.ts
rename to packages-private/dts-test/extractProps.test-d.ts
diff --git a/packages/dts-test/functionalComponent.test-d.tsx b/packages-private/dts-test/functionalComponent.test-d.tsx
similarity index 100%
rename from packages/dts-test/functionalComponent.test-d.tsx
rename to packages-private/dts-test/functionalComponent.test-d.tsx
diff --git a/packages/dts-test/h.test-d.ts b/packages-private/dts-test/h.test-d.ts
similarity index 100%
rename from packages/dts-test/h.test-d.ts
rename to packages-private/dts-test/h.test-d.ts
diff --git a/packages/dts-test/inject.test-d.ts b/packages-private/dts-test/inject.test-d.ts
similarity index 100%
rename from packages/dts-test/inject.test-d.ts
rename to packages-private/dts-test/inject.test-d.ts
diff --git a/packages/dts-test/package.json b/packages-private/dts-test/package.json
similarity index 74%
rename from packages/dts-test/package.json
rename to packages-private/dts-test/package.json
index a6ea96bfa..72b1b6ea6 100644
--- a/packages/dts-test/package.json
+++ b/packages-private/dts-test/package.json
@@ -4,6 +4,6 @@
"version": "0.0.0",
"dependencies": {
"vue": "workspace:*",
- "@vue/dts-built-test": "workspace:*"
+ "dts-built-test": "workspace:*"
}
}
diff --git a/packages/dts-test/reactivity.test-d.ts b/packages-private/dts-test/reactivity.test-d.ts
similarity index 100%
rename from packages/dts-test/reactivity.test-d.ts
rename to packages-private/dts-test/reactivity.test-d.ts
diff --git a/packages/dts-test/ref.test-d.ts b/packages-private/dts-test/ref.test-d.ts
similarity index 100%
rename from packages/dts-test/ref.test-d.ts
rename to packages-private/dts-test/ref.test-d.ts
diff --git a/packages/dts-test/setupHelpers.test-d.ts b/packages-private/dts-test/setupHelpers.test-d.ts
similarity index 100%
rename from packages/dts-test/setupHelpers.test-d.ts
rename to packages-private/dts-test/setupHelpers.test-d.ts
diff --git a/packages/dts-test/tsconfig.test.json b/packages-private/dts-test/tsconfig.test.json
similarity index 100%
rename from packages/dts-test/tsconfig.test.json
rename to packages-private/dts-test/tsconfig.test.json
diff --git a/packages/dts-test/tsx.test-d.tsx b/packages-private/dts-test/tsx.test-d.tsx
similarity index 100%
rename from packages/dts-test/tsx.test-d.tsx
rename to packages-private/dts-test/tsx.test-d.tsx
diff --git a/packages/dts-test/utils.d.ts b/packages-private/dts-test/utils.d.ts
similarity index 100%
rename from packages/dts-test/utils.d.ts
rename to packages-private/dts-test/utils.d.ts
diff --git a/packages/dts-test/watch.test-d.ts b/packages-private/dts-test/watch.test-d.ts
similarity index 100%
rename from packages/dts-test/watch.test-d.ts
rename to packages-private/dts-test/watch.test-d.ts
diff --git a/packages/sfc-playground/README.md b/packages-private/sfc-playground/README.md
similarity index 100%
rename from packages/sfc-playground/README.md
rename to packages-private/sfc-playground/README.md
diff --git a/packages/sfc-playground/index.html b/packages-private/sfc-playground/index.html
similarity index 100%
rename from packages/sfc-playground/index.html
rename to packages-private/sfc-playground/index.html
diff --git a/packages/sfc-playground/package.json b/packages-private/sfc-playground/package.json
similarity index 90%
rename from packages/sfc-playground/package.json
rename to packages-private/sfc-playground/package.json
index 9d38811c7..b43247e9c 100644
--- a/packages/sfc-playground/package.json
+++ b/packages-private/sfc-playground/package.json
@@ -9,7 +9,7 @@
"serve": "vite preview"
},
"devDependencies": {
- "@vitejs/plugin-vue": "^5.1.2",
+ "@vitejs/plugin-vue": "catalog:",
"vite": "catalog:"
},
"dependencies": {
diff --git a/packages/sfc-playground/public/logo.svg b/packages-private/sfc-playground/public/logo.svg
similarity index 100%
rename from packages/sfc-playground/public/logo.svg
rename to packages-private/sfc-playground/public/logo.svg
diff --git a/packages/sfc-playground/src/App.vue b/packages-private/sfc-playground/src/App.vue
similarity index 100%
rename from packages/sfc-playground/src/App.vue
rename to packages-private/sfc-playground/src/App.vue
diff --git a/packages/sfc-playground/src/Header.vue b/packages-private/sfc-playground/src/Header.vue
similarity index 98%
rename from packages/sfc-playground/src/Header.vue
rename to packages-private/sfc-playground/src/Header.vue
index 8e810d894..922a2b111 100644
--- a/packages/sfc-playground/src/Header.vue
+++ b/packages-private/sfc-playground/src/Header.vue
@@ -125,7 +125,7 @@ function toggleDark() {
{
- const filePath = path.resolve(__dirname, file)
+ const filePath = path.resolve(__dirname, '../../packages', file)
const basename = path.basename(file)
if (!fs.existsSync(filePath)) {
throw new Error(
@@ -49,11 +49,11 @@ function copyVuePlugin(): Plugin {
})
}
- copyFile(`../vue/dist/vue.esm-browser.js`)
- copyFile(`../vue/dist/vue.esm-browser.prod.js`)
- copyFile(`../vue/dist/vue.runtime.esm-browser.js`)
- copyFile(`../vue/dist/vue.runtime.esm-browser.prod.js`)
- copyFile(`../server-renderer/dist/server-renderer.esm-browser.js`)
+ copyFile(`vue/dist/vue.esm-browser.js`)
+ copyFile(`vue/dist/vue.esm-browser.prod.js`)
+ copyFile(`vue/dist/vue.runtime.esm-browser.js`)
+ copyFile(`vue/dist/vue.runtime.esm-browser.prod.js`)
+ copyFile(`server-renderer/dist/server-renderer.esm-browser.js`)
},
}
}
diff --git a/packages/template-explorer/README.md b/packages-private/template-explorer/README.md
similarity index 100%
rename from packages/template-explorer/README.md
rename to packages-private/template-explorer/README.md
diff --git a/packages/template-explorer/_redirects b/packages-private/template-explorer/_redirects
similarity index 100%
rename from packages/template-explorer/_redirects
rename to packages-private/template-explorer/_redirects
diff --git a/packages/template-explorer/index.html b/packages-private/template-explorer/index.html
similarity index 100%
rename from packages/template-explorer/index.html
rename to packages-private/template-explorer/index.html
diff --git a/packages/template-explorer/local.html b/packages-private/template-explorer/local.html
similarity index 100%
rename from packages/template-explorer/local.html
rename to packages-private/template-explorer/local.html
diff --git a/packages/template-explorer/package.json b/packages-private/template-explorer/package.json
similarity index 100%
rename from packages/template-explorer/package.json
rename to packages-private/template-explorer/package.json
diff --git a/packages/template-explorer/src/index.ts b/packages-private/template-explorer/src/index.ts
similarity index 100%
rename from packages/template-explorer/src/index.ts
rename to packages-private/template-explorer/src/index.ts
diff --git a/packages/template-explorer/src/options.ts b/packages-private/template-explorer/src/options.ts
similarity index 100%
rename from packages/template-explorer/src/options.ts
rename to packages-private/template-explorer/src/options.ts
diff --git a/packages/template-explorer/src/theme.ts b/packages-private/template-explorer/src/theme.ts
similarity index 100%
rename from packages/template-explorer/src/theme.ts
rename to packages-private/template-explorer/src/theme.ts
diff --git a/packages/template-explorer/style.css b/packages-private/template-explorer/style.css
similarity index 100%
rename from packages/template-explorer/style.css
rename to packages-private/template-explorer/style.css
diff --git a/packages-private/vite-debug/App.vue b/packages-private/vite-debug/App.vue
new file mode 100644
index 000000000..95b3be8ee
--- /dev/null
+++ b/packages-private/vite-debug/App.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
diff --git a/packages-private/vite-debug/README.md b/packages-private/vite-debug/README.md
new file mode 100644
index 000000000..4f035ae6f
--- /dev/null
+++ b/packages-private/vite-debug/README.md
@@ -0,0 +1 @@
+This package is used for debugging issues that are related to `@vitejs/plugin-vue`, or can only be reproduced in a Vite-based setup. It aims to be as close to production as possible so Vue packages are resolved to the dist files instead of source.
diff --git a/packages-private/vite-debug/index.html b/packages-private/vite-debug/index.html
new file mode 100644
index 000000000..79052a023
--- /dev/null
+++ b/packages-private/vite-debug/index.html
@@ -0,0 +1,2 @@
+
+
diff --git a/packages-private/vite-debug/main.ts b/packages-private/vite-debug/main.ts
new file mode 100644
index 000000000..52668a0a5
--- /dev/null
+++ b/packages-private/vite-debug/main.ts
@@ -0,0 +1,6 @@
+import { createApp } from 'vue'
+import App from './App.vue'
+
+const app = createApp(App)
+
+app.mount('#app')
diff --git a/packages-private/vite-debug/package.json b/packages-private/vite-debug/package.json
new file mode 100644
index 000000000..b0f2bad2b
--- /dev/null
+++ b/packages-private/vite-debug/package.json
@@ -0,0 +1,15 @@
+{
+ "name": "vite-debug",
+ "private": true,
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "vite build",
+ "serve": "vite preview"
+ },
+ "devDependencies": {
+ "@vitejs/plugin-vue": "catalog:",
+ "vite": "catalog:",
+ "vue": "workspace:*"
+ }
+}
diff --git a/packages-private/vite-debug/tsconfig.json b/packages-private/vite-debug/tsconfig.json
new file mode 100644
index 000000000..ceecb1cde
--- /dev/null
+++ b/packages-private/vite-debug/tsconfig.json
@@ -0,0 +1,7 @@
+{
+ "compilerOptions": {
+ "module": "esnext",
+ "moduleResolution": "bundler"
+ },
+ "include": ["./*"]
+}
diff --git a/packages-private/vite-debug/vite.config.ts b/packages-private/vite-debug/vite.config.ts
new file mode 100644
index 000000000..c40aa3c36
--- /dev/null
+++ b/packages-private/vite-debug/vite.config.ts
@@ -0,0 +1,6 @@
+import { defineConfig } from 'vite'
+import vue from '@vitejs/plugin-vue'
+
+export default defineConfig({
+ plugins: [vue()],
+})
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 75497dd7f..496c3fb87 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -12,6 +12,9 @@ catalogs:
'@babel/types':
specifier: ^7.25.2
version: 7.25.2
+ '@vitejs/plugin-vue':
+ specifier: ^5.1.2
+ version: 5.1.2
estree-walker:
specifier: ^2.0.2
version: 2.0.2
@@ -180,6 +183,70 @@ importers:
specifier: ^2.0.0
version: 2.0.5(@types/node@20.14.14)(jsdom@24.1.1)(sass@1.77.8)
+ packages-private/dts-built-test:
+ dependencies:
+ '@vue/reactivity':
+ specifier: workspace:*
+ version: link:../../packages/reactivity
+ '@vue/shared':
+ specifier: workspace:*
+ version: link:../../packages/shared
+ vue:
+ specifier: workspace:*
+ version: link:../../packages/vue
+
+ packages-private/dts-test:
+ dependencies:
+ dts-built-test:
+ specifier: workspace:*
+ version: link:../dts-built-test
+ vue:
+ specifier: workspace:*
+ version: link:../../packages/vue
+
+ packages-private/sfc-playground:
+ dependencies:
+ '@vue/repl':
+ specifier: ^4.3.1
+ version: 4.3.1
+ file-saver:
+ specifier: ^2.0.5
+ version: 2.0.5
+ jszip:
+ specifier: ^3.10.1
+ version: 3.10.1
+ vue:
+ specifier: workspace:*
+ version: link:../../packages/vue
+ devDependencies:
+ '@vitejs/plugin-vue':
+ specifier: 'catalog:'
+ version: 5.1.2(vite@5.4.0(@types/node@20.14.14)(sass@1.77.8))(vue@packages+vue)
+ vite:
+ specifier: 'catalog:'
+ version: 5.4.0(@types/node@20.14.14)(sass@1.77.8)
+
+ packages-private/template-explorer:
+ dependencies:
+ monaco-editor:
+ specifier: ^0.50.0
+ version: 0.50.0
+ source-map-js:
+ specifier: ^1.2.0
+ version: 1.2.0
+
+ packages-private/vite-debug:
+ devDependencies:
+ '@vitejs/plugin-vue':
+ specifier: 'catalog:'
+ version: 5.1.2(vite@5.4.0(@types/node@20.14.14)(sass@1.77.8))(vue@packages+vue)
+ vite:
+ specifier: 'catalog:'
+ version: 5.4.0(@types/node@20.14.14)(sass@1.77.8)
+ vue:
+ specifier: workspace:*
+ version: link:../../packages/vue
+
packages/compiler-core:
dependencies:
'@babel/parser':
@@ -281,27 +348,6 @@ importers:
specifier: workspace:*
version: link:../shared
- packages/dts-built-test:
- dependencies:
- '@vue/reactivity':
- specifier: workspace:*
- version: link:../reactivity
- '@vue/shared':
- specifier: workspace:*
- version: link:../shared
- vue:
- specifier: workspace:*
- version: link:../vue
-
- packages/dts-test:
- dependencies:
- '@vue/dts-built-test':
- specifier: workspace:*
- version: link:../dts-built-test
- vue:
- specifier: workspace:*
- version: link:../vue
-
packages/reactivity:
dependencies:
'@vue/shared':
@@ -357,39 +403,8 @@ importers:
specifier: workspace:*
version: link:../vue
- packages/sfc-playground:
- dependencies:
- '@vue/repl':
- specifier: ^4.3.1
- version: 4.3.1
- file-saver:
- specifier: ^2.0.5
- version: 2.0.5
- jszip:
- specifier: ^3.10.1
- version: 3.10.1
- vue:
- specifier: workspace:*
- version: link:../vue
- devDependencies:
- '@vitejs/plugin-vue':
- specifier: ^5.1.2
- version: 5.1.2(vite@5.4.0(@types/node@20.14.14)(sass@1.77.8))(vue@packages+vue)
- vite:
- specifier: 'catalog:'
- version: 5.4.0(@types/node@20.14.14)(sass@1.77.8)
-
packages/shared: {}
- packages/template-explorer:
- dependencies:
- monaco-editor:
- specifier: ^0.50.0
- version: 0.50.0
- source-map-js:
- specifier: ^1.2.0
- version: 1.2.0
-
packages/vue:
dependencies:
'@vue/compiler-dom':
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index facb791e6..23270954b 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -1,5 +1,6 @@
packages:
- 'packages/*'
+ - 'packages-private/*'
catalog:
'@babel/parser': ^7.25.3
@@ -8,3 +9,4 @@ catalog:
'magic-string': ^0.30.11
'source-map-js': ^1.2.0
'vite': ^5.4.0
+ '@vitejs/plugin-vue': ^5.1.2
diff --git a/rollup.config.js b/rollup.config.js
index 8e97d74c5..79883d1dd 100644
--- a/rollup.config.js
+++ b/rollup.config.js
@@ -2,6 +2,7 @@
import assert from 'node:assert/strict'
import { createRequire } from 'node:module'
import { fileURLToPath } from 'node:url'
+import fs from 'node:fs'
import path from 'node:path'
import replace from '@rollup/plugin-replace'
import json from '@rollup/plugin-json'
@@ -33,7 +34,11 @@ const __dirname = fileURLToPath(new URL('.', import.meta.url))
const masterVersion = require('./package.json').version
const consolidatePkg = require('@vue/consolidate/package.json')
-const packagesDir = path.resolve(__dirname, 'packages')
+const privatePackages = fs.readdirSync('packages-private')
+const pkgBase = privatePackages.includes(process.env.TARGET)
+ ? `packages-private`
+ : `packages`
+const packagesDir = path.resolve(__dirname, pkgBase)
const packageDir = path.resolve(packagesDir, process.env.TARGET)
const resolve = (/** @type {string} */ p) => path.resolve(packageDir, p)
diff --git a/scripts/build.js b/scripts/build.js
index ec111a038..4a0aef645 100644
--- a/scripts/build.js
+++ b/scripts/build.js
@@ -16,7 +16,7 @@ nr build core --formats cjs
```
*/
-import fs from 'node:fs/promises'
+import fs from 'node:fs'
import { parseArgs } from 'node:util'
import { existsSync, readFileSync } from 'node:fs'
import path from 'node:path'
@@ -84,7 +84,7 @@ const sizeDir = path.resolve('temp/size')
run()
async function run() {
- if (writeSize) await fs.mkdir(sizeDir, { recursive: true })
+ if (writeSize) fs.mkdirSync(sizeDir, { recursive: true })
const removeCache = scanEnums()
try {
const resolvedTargets = targets.length
@@ -151,13 +151,18 @@ async function runParallel(maxConcurrency, source, iteratorFn) {
return Promise.all(ret)
}
+const privatePackages = fs.readdirSync('packages-private')
+
/**
* Builds the target.
* @param {string} target - The target to build.
* @returns {Promise} - A promise representing the build process.
*/
async function build(target) {
- const pkgDir = path.resolve(`packages/${target}`)
+ const pkgBase = privatePackages.includes(target)
+ ? `packages-private`
+ : `packages`
+ const pkgDir = path.resolve(`${pkgBase}/${target}`)
const pkg = JSON.parse(readFileSync(`${pkgDir}/package.json`, 'utf-8'))
// if this is a full build (no specific targets), ignore private packages
@@ -167,7 +172,7 @@ async function build(target) {
// if building a specific format, do not remove dist.
if (!formats && existsSync(`${pkgDir}/dist`)) {
- await fs.rm(`${pkgDir}/dist`, { recursive: true })
+ fs.rmSync(`${pkgDir}/dist`, { recursive: true })
}
const env =
@@ -232,7 +237,7 @@ async function checkFileSize(filePath) {
if (!existsSync(filePath)) {
return
}
- const file = await fs.readFile(filePath)
+ const file = fs.readFileSync(filePath)
const fileName = path.basename(filePath)
const gzipped = gzipSync(file)
@@ -247,7 +252,7 @@ async function checkFileSize(filePath) {
)
if (writeSize)
- await fs.writeFile(
+ fs.writeFileSync(
path.resolve(sizeDir, `${fileName}.json`),
JSON.stringify({
file: fileName,
diff --git a/scripts/utils.js b/scripts/utils.js
index 056d95b7b..3c92bf7ba 100644
--- a/scripts/utils.js
+++ b/scripts/utils.js
@@ -6,19 +6,22 @@ import { spawn } from 'node:child_process'
const require = createRequire(import.meta.url)
-export const targets = fs.readdirSync('packages').filter(f => {
- if (
- !fs.statSync(`packages/${f}`).isDirectory() ||
- !fs.existsSync(`packages/${f}/package.json`)
- ) {
- return false
- }
- const pkg = require(`../packages/${f}/package.json`)
- if (pkg.private && !pkg.buildOptions) {
- return false
- }
- return true
-})
+export const targets = fs
+ .readdirSync('packages')
+ .filter(f => {
+ if (
+ !fs.statSync(`packages/${f}`).isDirectory() ||
+ !fs.existsSync(`packages/${f}/package.json`)
+ ) {
+ return false
+ }
+ const pkg = require(`../packages/${f}/package.json`)
+ if (pkg.private && !pkg.buildOptions) {
+ return false
+ }
+ return true
+ })
+ .concat('template-explorer')
/**
*
diff --git a/tsconfig.json b/tsconfig.json
index 8ff1b2a31..a12850af0 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -32,12 +32,13 @@
"include": [
"packages/global.d.ts",
"packages/*/src",
+ "packages-private/*/src",
"packages/runtime-dom/types/jsx.d.ts",
"packages/*/__tests__",
- "packages/dts-test",
+ "packages-private/dts-test",
"packages/vue/jsx-runtime",
"scripts/*",
"rollup.*.js"
],
- "exclude": ["packages/sfc-playground/src/vue-dev-proxy*"]
+ "exclude": ["packages-private/sfc-playground/src/vue-dev-proxy*"]
}
diff --git a/vitest.config.ts b/vitest.config.ts
index 0b6c014f4..f661a003d 100644
--- a/vitest.config.ts
+++ b/vitest.config.ts
@@ -40,7 +40,7 @@ export default defineConfig({
'packages/runtime-dom/src/components/Transition*',
// mostly entries
'packages/vue-compat/**',
- 'packages/sfc-playground/**',
+ 'packages-private/**',
'scripts/**',
],
},