Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: vuejs/core
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.2.45
Choose a base ref
...
head repository: vuejs/core
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.2.46
Choose a head ref
Loading
Showing with 7,035 additions and 6,488 deletions.
  1. +7 −2 .eslintrc.js
  2. +36 −23 .github/contributing.md
  3. +10 −4 .github/workflows/ci.yml
  4. +1 −1 BACKERS.md
  5. +37 −1 CHANGELOG.md
  6. +1 −1 README.md
  7. +0 −62 jest.config.js
  8. +1 −1 netlify.toml
  9. +42 −37 package.json
  10. +20 −20 packages/compiler-core/__tests__/__snapshots__/codegen.spec.ts.snap
  11. +4 −4 packages/compiler-core/__tests__/__snapshots__/compile.spec.ts.snap
  12. +2,055 −2,055 packages/compiler-core/__tests__/__snapshots__/parse.spec.ts.snap
  13. +5 −5 packages/compiler-core/__tests__/__snapshots__/scopeId.spec.ts.snap
  14. +20 −20 packages/compiler-core/__tests__/codegen.spec.ts
  15. +5 −4 packages/compiler-core/__tests__/parse.spec.ts
  16. +6 −5 packages/compiler-core/__tests__/transform.spec.ts
  17. +26 −26 packages/compiler-core/__tests__/transforms/__snapshots__/hoistStatic.spec.ts.snap
  18. +3 −3 packages/compiler-core/__tests__/transforms/__snapshots__/transformExpressions.spec.ts.snap
  19. +9 −9 packages/compiler-core/__tests__/transforms/__snapshots__/transformText.spec.ts.snap
  20. +16 −16 packages/compiler-core/__tests__/transforms/__snapshots__/vFor.spec.ts.snap
  21. +10 −10 packages/compiler-core/__tests__/transforms/__snapshots__/vIf.spec.ts.snap
  22. +7 −7 packages/compiler-core/__tests__/transforms/__snapshots__/vMemo.spec.ts.snap
  23. +12 −12 packages/compiler-core/__tests__/transforms/__snapshots__/vModel.spec.ts.snap
  24. +6 −6 packages/compiler-core/__tests__/transforms/__snapshots__/vOnce.spec.ts.snap
  25. +16 −16 packages/compiler-core/__tests__/transforms/__snapshots__/vSlot.spec.ts.snap
  26. +2 −1 packages/compiler-core/__tests__/transforms/transformElement.spec.ts
  27. +2 −1 packages/compiler-core/__tests__/transforms/transformExpressions.spec.ts
  28. +2 −1 packages/compiler-core/__tests__/transforms/transformSlotOutlet.spec.ts
  29. +2 −1 packages/compiler-core/__tests__/transforms/vBind.spec.ts
  30. +7 −6 packages/compiler-core/__tests__/transforms/vFor.spec.ts
  31. +4 −3 packages/compiler-core/__tests__/transforms/vIf.spec.ts
  32. +10 −9 packages/compiler-core/__tests__/transforms/vModel.spec.ts
  33. +3 −2 packages/compiler-core/__tests__/transforms/vOn.spec.ts
  34. +5 −4 packages/compiler-core/__tests__/transforms/vSlot.spec.ts
  35. +2 −2 packages/compiler-core/package.json
  36. +2 −2 packages/compiler-core/src/ast.ts
  37. +14 −12 packages/compiler-core/src/codegen.ts
  38. +1 −1 packages/compiler-core/src/errors.ts
  39. +3 −3 packages/compiler-core/src/parse.ts
  40. +1 −1 packages/compiler-core/src/transform.ts
  41. +2 −1 packages/compiler-core/src/transforms/vModel.ts
  42. +5 −6 packages/compiler-core/src/validateExpression.ts
  43. +2 −2 packages/compiler-dom/__tests__/__snapshots__/index.spec.ts.snap
  44. +3 −0 packages/compiler-dom/__tests__/decoderHtmlBrowser.spec.ts
  45. +2 −1 packages/compiler-dom/__tests__/transforms/Transition.spec.ts
  46. +1 −1 packages/compiler-dom/__tests__/transforms/__snapshots__/Transition.spec.ts.snap
  47. +5 −5 packages/compiler-dom/__tests__/transforms/__snapshots__/stringifyStatic.spec.ts.snap
  48. +14 −14 packages/compiler-dom/__tests__/transforms/__snapshots__/vModel.spec.ts.snap
  49. +2 −2 packages/compiler-dom/__tests__/transforms/__snapshots__/vShow.spec.ts.snap
  50. +3 −2 packages/compiler-dom/__tests__/transforms/vHtml.spec.ts
  51. +5 −4 packages/compiler-dom/__tests__/transforms/vModel.spec.ts
  52. +2 −1 packages/compiler-dom/__tests__/transforms/vShow.spec.ts
  53. +3 −2 packages/compiler-dom/__tests__/transforms/vText.spec.ts
  54. +3 −3 packages/compiler-dom/package.json
  55. +12 −1 packages/compiler-dom/src/errors.ts
  56. +1 −2 packages/compiler-dom/src/parserOptions.ts
  57. +178 −84 packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap
  58. +30 −12 packages/compiler-sfc/__tests__/__snapshots__/compileScriptPropsTransform.spec.ts.snap
  59. +7 −7 packages/compiler-sfc/__tests__/__snapshots__/compileScriptRefTransform.spec.ts.snap
  60. +6 −6 packages/compiler-sfc/__tests__/__snapshots__/compileTemplate.spec.ts.snap
  61. +11 −11 packages/compiler-sfc/__tests__/__snapshots__/cssVars.spec.ts.snap
  62. +11 −11 packages/compiler-sfc/__tests__/__snapshots__/templateTransformAssetUrl.spec.ts.snap
  63. +6 −6 packages/compiler-sfc/__tests__/__snapshots__/templateTransformSrcset.spec.ts.snap
  64. +90 −0 packages/compiler-sfc/__tests__/compileScript.spec.ts
  65. +31 −0 packages/compiler-sfc/__tests__/compileScriptPropsTransform.spec.ts
  66. +0 −4 packages/compiler-sfc/__tests__/compileStyle.spec.ts
  67. +6 −6 packages/compiler-sfc/package.json
  68. +55 −30 packages/compiler-sfc/src/compileScript.ts
  69. +42 −42 packages/compiler-ssr/__tests__/ssrComponent.spec.ts
  70. +80 −80 packages/compiler-ssr/__tests__/ssrElement.spec.ts
  71. +5 −5 packages/compiler-ssr/__tests__/ssrFallthroughAttrs.spec.ts
  72. +2 −2 packages/compiler-ssr/__tests__/ssrInjectCssVars.spec.ts
  73. +14 −14 packages/compiler-ssr/__tests__/ssrPortal.spec.ts
  74. +17 −17 packages/compiler-ssr/__tests__/ssrSlotOutlet.spec.ts
  75. +2 −2 packages/compiler-ssr/__tests__/ssrText.spec.ts
  76. +18 −18 packages/compiler-ssr/__tests__/ssrVFor.spec.ts
  77. +54 −54 packages/compiler-ssr/__tests__/ssrVIf.spec.ts
  78. +66 −66 packages/compiler-ssr/__tests__/ssrVModel.spec.ts
  79. +21 −21 packages/compiler-ssr/__tests__/ssrVShow.spec.ts
  80. +3 −3 packages/compiler-ssr/package.json
  81. +6 −3 packages/compiler-ssr/src/ssrCodegenTransform.ts
  82. +30 −1 packages/reactivity-transform/__tests__/__snapshots__/reactivityTransform.spec.ts.snap
  83. +74 −0 packages/reactivity-transform/__tests__/reactivityTransform.spec.ts
  84. +3 −3 packages/reactivity-transform/package.json
  85. +98 −40 packages/reactivity-transform/src/reactivityTransform.ts
  86. +1 −1 packages/reactivity/README.md
  87. +5 −4 packages/reactivity/__tests__/collections/Map.spec.ts
  88. +4 −3 packages/reactivity/__tests__/collections/Set.spec.ts
  89. +3 −2 packages/reactivity/__tests__/collections/WeakMap.spec.ts
  90. +2 −1 packages/reactivity/__tests__/collections/WeakSet.spec.ts
  91. +8 −7 packages/reactivity/__tests__/computed.spec.ts
  92. +16 −15 packages/reactivity/__tests__/deferredComputed.spec.ts
  93. +54 −27 packages/reactivity/__tests__/effect.spec.ts
  94. +14 −5 packages/reactivity/__tests__/effectScope.spec.ts
  95. +5 −5 packages/reactivity/__tests__/reactiveArray.spec.ts
  96. +3 −2 packages/reactivity/__tests__/ref.spec.ts
  97. +3 −2 packages/reactivity/__tests__/shallowReactive.spec.ts
  98. +2 −2 packages/reactivity/package.json
  99. +13 −2 packages/reactivity/src/baseHandlers.ts
  100. +6 −2 packages/reactivity/src/effect.ts
  101. +8 −4 packages/reactivity/src/effectScope.ts
  102. +9 −3 packages/reactivity/src/ref.ts
  103. +3 −3 packages/runtime-core/README.md
  104. +19 −18 packages/runtime-core/__tests__/apiAsyncComponent.spec.ts
  105. +7 −6 packages/runtime-core/__tests__/apiCreateApp.spec.ts
  106. +39 −0 packages/runtime-core/__tests__/apiExpose.spec.ts
  107. +13 −12 packages/runtime-core/__tests__/apiLifecycle.spec.ts
  108. +17 −13 packages/runtime-core/__tests__/apiOptions.spec.ts
  109. +2 −1 packages/runtime-core/__tests__/apiSetupContext.spec.ts
  110. +4 −3 packages/runtime-core/__tests__/apiSetupHelpers.spec.ts
  111. +83 −27 packages/runtime-core/__tests__/apiWatch.spec.ts
  112. +24 −23 packages/runtime-core/__tests__/componentEmits.spec.ts
  113. +58 −3 packages/runtime-core/__tests__/componentProps.spec.ts
  114. +6 −5 packages/runtime-core/__tests__/componentPublicInstance.spec.ts
  115. +2 −1 packages/runtime-core/__tests__/componentSlots.spec.ts
  116. +14 −14 packages/runtime-core/__tests__/components/BaseTransition.spec.ts
  117. +36 −35 packages/runtime-core/__tests__/components/KeepAlive.spec.ts
  118. +11 −7 packages/runtime-core/__tests__/components/Suspense.spec.ts
  119. +6 −2 packages/runtime-core/__tests__/components/Teleport.spec.ts
  120. +18 −17 packages/runtime-core/__tests__/directives.spec.ts
  121. +20 −19 packages/runtime-core/__tests__/errorHandling.spec.ts
  122. +4 −0 packages/runtime-core/__tests__/helpers/withMemo.spec.ts
  123. +11 −10 packages/runtime-core/__tests__/hmr.spec.ts
  124. +20 −16 packages/runtime-core/__tests__/hydration.spec.ts
  125. +19 −15 packages/runtime-core/__tests__/rendererAttrsFallthrough.spec.ts
  126. +6 −5 packages/runtime-core/__tests__/rendererComponent.spec.ts
  127. +7 −6 packages/runtime-core/__tests__/rendererOptimizedMode.spec.ts
  128. +8 −7 packages/runtime-core/__tests__/rendererTemplateRef.spec.ts
  129. +4 −3 packages/runtime-core/__tests__/scheduler.spec.ts
  130. +3 −3 packages/runtime-core/__tests__/scopeId.spec.ts
  131. +2 −1 packages/runtime-core/__tests__/vnode.spec.ts
  132. +13 −12 packages/runtime-core/__tests__/vnodeHooks.spec.ts
  133. +3 −3 packages/runtime-core/package.json
  134. +15 −5 packages/runtime-core/src/apiCreateApp.ts
  135. +1 −1 packages/runtime-core/src/apiLifecycle.ts
  136. +13 −2 packages/runtime-core/src/apiSetupHelpers.ts
  137. +11 −12 packages/runtime-core/src/apiWatch.ts
  138. +3 −3 packages/runtime-core/src/compat/instance.ts
  139. +31 −25 packages/runtime-core/src/component.ts
  140. +3 −3 packages/runtime-core/src/componentEmits.ts
  141. +3 −3 packages/runtime-core/src/componentOptions.ts
  142. +2 −2 packages/runtime-core/src/componentProps.ts
  143. +7 −5 packages/runtime-core/src/components/KeepAlive.ts
  144. +11 −2 packages/runtime-core/src/components/Suspense.ts
  145. +16 −0 packages/runtime-core/src/enums.ts
  146. +3 −2 packages/runtime-core/src/errorHandling.ts
  147. +1 −1 packages/runtime-core/src/index.ts
  148. +7 −3 packages/runtime-core/src/renderer.ts
  149. +2 −1 packages/runtime-core/src/vnode.ts
  150. +14 −0 packages/runtime-core/src/warning.ts
  151. +2 −1 packages/runtime-dom/__tests__/createApp.spec.ts
  152. +31 −10 packages/runtime-dom/__tests__/customElement.spec.ts
  153. +3 −2 packages/runtime-dom/__tests__/customizedBuiltIn.spec.ts
  154. +5 −4 packages/runtime-dom/__tests__/directives/vModel.spec.ts
  155. +9 −8 packages/runtime-dom/__tests__/directives/vOn.spec.ts
  156. +23 −22 packages/runtime-dom/__tests__/patchEvents.spec.ts
  157. +4 −3 packages/runtime-dom/__tests__/patchProps.spec.ts
  158. +14 −1 packages/runtime-dom/__tests__/patchStyle.spec.ts
  159. +3 −3 packages/runtime-dom/package.json
  160. +14 −24 packages/runtime-dom/src/components/Transition.ts
  161. +7 −4 packages/runtime-dom/src/directives/vModel.ts
  162. +3 −3 packages/runtime-dom/src/modules/style.ts
  163. +20 −3 packages/runtime-dom/types/jsx.d.ts
  164. +3 −3 packages/runtime-test/package.json
  165. +5 −8 packages/server-renderer/__tests__/render.spec.ts
  166. +0 −4 packages/server-renderer/__tests__/ssrAttrFallthrough.spec.ts
  167. +0 −4 packages/server-renderer/__tests__/ssrCompilerOptions.spec.ts
  168. +2 −1 packages/server-renderer/__tests__/ssrComputed.spec.ts
  169. +0 −4 packages/server-renderer/__tests__/ssrDirectives.spec.ts
  170. +0 −4 packages/server-renderer/__tests__/ssrDynamicComponent.spec.ts
  171. +0 −4 packages/server-renderer/__tests__/ssrInterpolate.spec.ts
  172. +0 −4 packages/server-renderer/__tests__/ssrRenderAttrs.spec.ts
  173. +0 −4 packages/server-renderer/__tests__/ssrRenderList.spec.ts
  174. +0 −4 packages/server-renderer/__tests__/ssrScopeId.spec.ts
  175. +0 −4 packages/server-renderer/__tests__/ssrSlot.spec.ts
  176. +5 −8 packages/server-renderer/__tests__/ssrSuspense.spec.ts
  177. +0 −4 packages/server-renderer/__tests__/ssrTeleport.spec.ts
  178. +0 −4 packages/server-renderer/__tests__/ssrVModelHelpers.spec.ts
  179. +0 −4 packages/server-renderer/__tests__/webStream.spec.ts
  180. +4 −4 packages/server-renderer/package.json
  181. +10 −1 packages/server-renderer/src/helpers/ssrCompile.ts
  182. +1 −24 packages/server-renderer/src/index.ts
  183. +25 −0 packages/server-renderer/src/internal.ts
  184. +19 −0 packages/sfc-playground/README.md
  185. +4 −4 packages/sfc-playground/package.json
  186. +7 −7 packages/shared/__tests__/__snapshots__/codeframe.spec.ts.snap
  187. +3 −0 packages/shared/__tests__/looseEqual.spec.ts
  188. +1 −1 packages/shared/__tests__/normalizeProp.spec.ts
  189. +4 −1 packages/shared/__tests__/toDisplayString.spec.ts
  190. +1 −1 packages/shared/package.json
  191. +2 −2 packages/shared/src/domTagConfig.ts
  192. +16 −1 packages/shared/src/index.ts
  193. +1 −1 packages/size-check/package.json
  194. +1 −1 packages/template-explorer/package.json
  195. +2 −1 packages/vue-compat/__tests__/compiler.spec.ts
  196. +1 −1 packages/vue-compat/__tests__/componentFunctional.spec.ts
  197. +6 −5 packages/vue-compat/__tests__/global.spec.ts
  198. +3 −2 packages/vue-compat/__tests__/globalConfig.spec.ts
  199. +8 −7 packages/vue-compat/__tests__/instance.spec.ts
  200. +8 −7 packages/vue-compat/__tests__/misc.spec.ts
  201. +5 −4 packages/vue-compat/__tests__/options.spec.ts
  202. +7 −0 packages/vue-compat/api-extractor.json
  203. +2 −2 packages/vue-compat/package.json
  204. +3 −2 packages/vue/__tests__/customElementCasing.spec.ts
  205. +160 −42 packages/vue/__tests__/{ → e2e}/Transition.spec.ts
  206. +10 −9 packages/vue/__tests__/{ → e2e}/TransitionGroup.spec.ts
  207. 0 packages/vue/{examples/__tests__ → __tests__/e2e}/commits.mock.ts
  208. +2 −2 packages/vue/{examples/__tests__ → __tests__/e2e}/commits.spec.ts
  209. +2 −2 packages/vue/__tests__/{ → e2e}/e2eUtils.ts
  210. +2 −2 packages/vue/{examples/__tests__ → __tests__/e2e}/grid.spec.ts
  211. +2 −6 packages/vue/{examples/__tests__ → __tests__/e2e}/markdown.spec.ts
  212. +4 −4 packages/vue/{examples/__tests__ → __tests__/e2e}/svg.spec.ts
  213. +2 −2 packages/vue/{examples/__tests__ → __tests__/e2e}/todomvc.spec.ts
  214. +1 −1 packages/vue/__tests__/{ → e2e}/transition.html
  215. +2 −2 packages/vue/{examples/__tests__ → __tests__/e2e}/tree.spec.ts
  216. +9 −8 packages/vue/__tests__/index.spec.ts
  217. +12 −12 packages/vue/package.json
  218. +1 −0 packages/vue/src/dev.ts
  219. +1,667 −2,418 pnpm-lock.yaml
  220. +71 −15 rollup.config.js → rollup.config.mjs
  221. +12 −4 scripts/{bootstrap.js → bootstrap.mjs}
  222. +29 −18 scripts/{build.js → build.mjs}
  223. +0 −109 scripts/dev.js
  224. +127 −0 scripts/dev.mjs
  225. +0 −17 scripts/filter-e2e.js
  226. +0 −9 scripts/filter-unit.js
  227. +27 −0 scripts/pre-dev-sfc.mjs
  228. 0 scripts/{preinstall.js → preinstall.mjs}
  229. +64 −30 scripts/{release.js → release.mjs}
  230. +4 −2 scripts/{setupJestEnv.ts → setupVitest.ts}
  231. +8 −5 scripts/{utils.js → utils.mjs}
  232. +95 −0 test-dts/appUse.test-d.ts
  233. +11 −1 test-dts/component.test-d.ts
  234. +7 −7 test-dts/defineComponent.test-d.tsx
  235. +9 −9 test-dts/defineCustomElement.test-d.ts
  236. +73 −73 test-dts/reactivity.test-d.ts
  237. +2 −1 test-dts/ref.test-d.ts
  238. +11 −1 test-dts/setupHelpers.test-d.ts
  239. +1 −1 tsconfig.json
  240. +64 −0 vitest.config.ts
  241. +10 −0 vitest.e2e.config.ts
  242. +10 −0 vitest.unit.config.ts
9 changes: 7 additions & 2 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -6,7 +6,7 @@ module.exports = {
parserOptions: {
sourceType: 'module'
},
plugins: ["jest"],
plugins: ['jest'],
rules: {
'no-debugger': 'error',
'no-unused-vars': [
@@ -72,7 +72,12 @@ module.exports = {
},
// Node scripts
{
files: ['scripts/**', './*.js', 'packages/**/index.js', 'packages/size-check/**'],
files: [
'scripts/**',
'./*.js',
'packages/**/index.js',
'packages/size-check/**'
],
rules: {
'no-restricted-globals': 'off',
'no-restricted-syntax': 'off'
59 changes: 36 additions & 23 deletions .github/contributing.md
Original file line number Diff line number Diff line change
@@ -47,6 +47,7 @@ Hi! I'm really excited that you are interested in contributing to Vue.js. Before
- Consider the performance / size impact of the changes, and whether the bug being fixes justifies the cost. If the bug being fixed is a very niche edge case, we should try to minimize the size / perf cost to make it worthwhile.

- Is the code perf-sensitive (e.g. in "hot paths" like component updates or the vdom patch function?)

- If the branch is dev-only, performance is less of a concern.

- Check how much extra bundle size the change introduces.
@@ -77,6 +78,8 @@ A high level overview of tools used:

**The examples below will be using the `nr` command from the [ni](https://github.com/antfu/ni) package.** You can also use plain `npm run`, but you will need to pass all additional arguments after the command after an extra `--`. For example, `nr build runtime --all` is equivalent to `npm run build -- runtime --all`.

The `run-s` and `run-p` commands found in some scripts are from [npm-run-all](https://github.com/mysticatea/npm-run-all) for orchestrating multiple scripts. `run-s` means "run in sequence" while `run-p` means "run in parallel".

### `nr build`

The `build` script builds all public packages (packages without `private: true` in their `package.json`).
@@ -106,7 +109,7 @@ Additional formats that only apply to the main `vue` package:
- **`esm-bundler-runtime`**
- **`esm-browser-runtime`**

More details about each of these formats can be found in the [`vue` package README](https://github.com/vuejs/core/blob/main/packages/vue/README.md#which-dist-file-to-use) and the [Rollup config file](https://github.com/vuejs/core/blob/main/rollup.config.js).
More details about each of these formats can be found in the [`vue` package README](https://github.com/vuejs/core/blob/main/packages/vue/README.md#which-dist-file-to-use) and the [Rollup config file](https://github.com/vuejs/core/blob/main/rollup.config.mjs).

For example, to build `runtime-core` with the global build only:

@@ -152,9 +155,17 @@ $ nr dev

- The `dev` script supports the `-i` flag for inlining all deps. This is useful when debugging `esm-bundler` builds which externalizes deps by default.

### `nr dev-sfc`

Shortcut for starting the SFC Playground in local dev mode. This provides the fastest feedback loop when debugging issues that can be reproduced in the SFC Playground.

### `nr dev-esm`

Builds and watches `vue/dist/vue-runtime.esm-bundler.js` with all deps inlined using esbuild. This is useful when debugging the ESM build in a reproductions that require real build setups: link `packages/vue` globally, then link it into the project being debugged.

### `nr dev-compiler`

The `dev-compiler` script builds, watches and serves the [Template Explorer](https://github.com/vuejs/core/tree/main/packages/template-explorer) at `http://localhost:5000`. This is extremely useful when working on the compiler.
The `dev-compiler` script builds, watches and serves the [Template Explorer](https://github.com/vuejs/core/tree/main/packages/template-explorer) at `http://localhost:5000`. This is useful when working on pure compiler issues.

### `nr test`

@@ -222,27 +233,29 @@ This is made possible via several configurations:

### Package Dependencies

```
+---------------------+
| |
| @vue/compiler-sfc |
| |
+-----+--------+------+
| |
v v
+---------------------+ +----------------------+
| | | |
+------------>| @vue/compiler-dom +--->| @vue/compiler-core |
| | | | |
+----+----+ +---------------------+ +----------------------+
| |
| vue |
| |
+----+----+ +---------------------+ +----------------------+ +-------------------+
| | | | | | |
+------------>| @vue/runtime-dom +--->| @vue/runtime-core +--->| @vue/reactivity |
| | | | | |
+---------------------+ +----------------------+ +-------------------+
```mermaid
flowchart LR
compiler-sfc["@vue/compiler-sfc"]
compiler-dom["@vue/compiler-dom"]
compiler-core["@vue/compiler-core"]
vue["vue"]
runtime-dom["@vue/runtime-dom"]
runtime-core["@vue/runtime-core"]
reactivity["@vue/reactivity"]
subgraph "Runtime Packages"
runtime-dom --> runtime-core
runtime-core --> reactivity
end
subgraph "Compiler Packages"
compiler-sfc --> compiler-core
compiler-sfc --> compiler-dom
compiler-dom --> compiler-core
end
vue ---> compiler-dom
vue --> runtime-dom
```

There are some rules to follow when importing across package boundaries:
14 changes: 10 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -25,7 +25,7 @@ jobs:
node-version: 18
cache: 'pnpm'

- run: pnpm install
- run: PUPPETEER_SKIP_DOWNLOAD=1 pnpm install

- name: Run unit tests
run: pnpm run test-unit
@@ -35,6 +35,12 @@ jobs:
steps:
- uses: actions/checkout@v3

- name: Setup cache for Chromium binary
uses: actions/cache@v3
with:
path: ~/.cache/puppeteer/chrome
key: chromium-${{ hashFiles('pnpm-lock.yaml') }}

- name: Install pnpm
uses: pnpm/action-setup@v2

@@ -63,13 +69,13 @@ jobs:
node-version: 18
cache: 'pnpm'

- run: pnpm install
- run: PUPPETEER_SKIP_DOWNLOAD=1 pnpm install

- name: Run eslint
run: pnpm run lint

# - name: Run prettier
# run: pnpm run format-check
# run: pnpm run format-check

- name: Run type declaration tests
run: pnpm run test-dts
@@ -90,7 +96,7 @@ jobs:
node-version: 18
cache: 'pnpm'

- run: pnpm install
- run: PUPPETEER_SKIP_DOWNLOAD=1 pnpm install
- run: pnpm run size

# - name: Check build size
2 changes: 1 addition & 1 deletion BACKERS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<h1 align="center">Sponsors &amp; Backers</h1>

Vue.js is an MIT-licensed open source project with its ongoing development made possible entirely by the support of the awesome sponsors and backers listed in this file. If you'd like to join them, please consider [ sponsor Vue's development](https://vuejs.org/sponsor/).
Vue.js is an MIT-licensed open source project with its ongoing development made possible entirely by the support of the awesome sponsors and backers listed in this file. If you'd like to join them, please consider [ sponsoring Vue's development](https://vuejs.org/sponsor/).

<p align="center">
<a target="_blank" href="https://sponsors.vuejs.org/backers.svg">
38 changes: 37 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,39 @@
## [3.2.46](https://github.com/vuejs/core/compare/v3.2.45...v3.2.46) (2023-02-02)


### Bug Fixes

* **build:** ensure cjs re-exports can be properly detected when imported from esm ([fb6ff3e](https://github.com/vuejs/core/commit/fb6ff3e99689022d963ea7257b03f73ff514c0c4))
* **build:** ensure type exports is first ([957722c](https://github.com/vuejs/core/commit/957722c4185ea87aabc711f6f8997e528dd3ba1b))
* **build:** fix cjs re-exports check for compat build ([ce064a1](https://github.com/vuejs/core/commit/ce064a172b3b5bcb096b4984fe0c1a54177ac9c0))
* **compat:** fix custom transition classes in compat mode ([#7435](https://github.com/vuejs/core/issues/7435)) ([efe2efd](https://github.com/vuejs/core/commit/efe2efd210f500311e5b603345cb0d353886bd7a)), closes [#6253](https://github.com/vuejs/core/issues/6253)
* **compiler-core:** typeof should be allowed in browser expression validation ([#7037](https://github.com/vuejs/core/issues/7037)) ([3783866](https://github.com/vuejs/core/commit/378386694be6dd43da71f1fa08ee9c5705c13f86))
* **compiler-sfc:** allow declaring variables after defineProps ([#7461](https://github.com/vuejs/core/issues/7461)) ([686c829](https://github.com/vuejs/core/commit/686c829fec9137cdfe6e51af34f2af01a575f7c6))
* **compiler-sfc:** always generate runtime prop type for Function ([#7112](https://github.com/vuejs/core/issues/7112)) ([584eae6](https://github.com/vuejs/core/commit/584eae60d1abe80d15b317ec80b7556712df8e5a)), closes [#7111](https://github.com/vuejs/core/issues/7111)
* **compiler-sfc:** support resolving type declaration from normal script ([#5831](https://github.com/vuejs/core/issues/5831)) ([30399d4](https://github.com/vuejs/core/commit/30399d46b15f890056e7a5d076cd588b3806cc15)), closes [#5830](https://github.com/vuejs/core/issues/5830)
* **compiler:** add `hgroup` to supported `HTML_TAGS` ([#6321](https://github.com/vuejs/core/issues/6321)) ([7443174](https://github.com/vuejs/core/commit/7443174e2aa9244bc08c63b4d6c78acc6ff89767)), closes [#6313](https://github.com/vuejs/core/issues/6313)
* **custom-elements:** use strict number casting ([7d0c63f](https://github.com/vuejs/core/commit/7d0c63ff4361e59e820441a24bf4fb2a93335a1e)), closes [#4946](https://github.com/vuejs/core/issues/4946) [#2598](https://github.com/vuejs/core/issues/2598) [#2604](https://github.com/vuejs/core/issues/2604)
* **customElement:** customElement can emit event ([#7296](https://github.com/vuejs/core/issues/7296)) ([c6e5bda](https://github.com/vuejs/core/commit/c6e5bda27d13554675d68dbe33b07f3474467aa6))
* **reactivity-transform:** fix $$ escape edge cases ([e06d3b6](https://github.com/vuejs/core/commit/e06d3b614ea518e9cdf83fca9200fc816eb4e5a1)), closes [#6312](https://github.com/vuejs/core/issues/6312) [#6944](https://github.com/vuejs/core/issues/6944)
* **reactivity-transform:** prohibit const assignment at compile time ([#6993](https://github.com/vuejs/core/issues/6993)) ([3427052](https://github.com/vuejs/core/commit/3427052229db3448252d938292a40e960a0f4b9c)), closes [#6992](https://github.com/vuejs/core/issues/6992)
* **reactivity:** `triggerRef` working with `toRef` from reactive ([#7507](https://github.com/vuejs/core/issues/7507)) ([e64c9ae](https://github.com/vuejs/core/commit/e64c9ae957aa2606b55e8652bbde30a6ada59fb0))
* **reactivity:** ensure watch(Effect) can run independent of unmounted instance if created in a detatched effectScope (fix [#7319](https://github.com/vuejs/core/issues/7319)) ([#7330](https://github.com/vuejs/core/issues/7330)) ([cd7c887](https://github.com/vuejs/core/commit/cd7c887b755810aedf83f3d458cb956d5b147f6f))
* **reactivity:** track hasOwnProperty ([588bd44](https://github.com/vuejs/core/commit/588bd44f036b79d7dee5d23661aa7244f70e6beb)), closes [#2619](https://github.com/vuejs/core/issues/2619) [#2621](https://github.com/vuejs/core/issues/2621)
* **runtime-core:** ensure prop type validation warning shows custom class names ([#7198](https://github.com/vuejs/core/issues/7198)) ([620327d](https://github.com/vuejs/core/commit/620327d527593c6263a21500baddbae1ebc30db8))
* **runtime-core:** fix keep-alive cache prune logic on vnodes with same type but different keys ([#7510](https://github.com/vuejs/core/issues/7510)) ([1fde49c](https://github.com/vuejs/core/commit/1fde49c0f57cc50fedf91366a274c9759d1d9a39)), closes [#7355](https://github.com/vuejs/core/issues/7355)
* **runtime-core:** set scope id before props ([#6948](https://github.com/vuejs/core/issues/6948)) ([da2ced1](https://github.com/vuejs/core/commit/da2ced15339b6fdb7a1459fa359bb79346a82bc2)), closes [#6923](https://github.com/vuejs/core/issues/6923)
* **runtime-dom:** style update error when component use shorthand properties ([#7425](https://github.com/vuejs/core/issues/7425)) ([b7cfa6f](https://github.com/vuejs/core/commit/b7cfa6f53952daced312862fbb3a88c86e42a77e))
* **shared:** `feDistanceLight` changed to `feDistantLight` ([#7540](https://github.com/vuejs/core/issues/7540)) ([bef85e7](https://github.com/vuejs/core/commit/bef85e7975084b05af00b60ecd171c83f251c6d5))
* **shared:** toNumber should only coerce strings ([b55846f](https://github.com/vuejs/core/commit/b55846f05c4a3b163be2ed70ce64014feec29fac))
* **types/effectScope:** re-expose `active` as readonly property ([#6187](https://github.com/vuejs/core/issues/6187)) ([59ffe5e](https://github.com/vuejs/core/commit/59ffe5ee1f1618be119875313970c72050b37b03)), closes [#6186](https://github.com/vuejs/core/issues/6186)
* **types:** accept sync `serverPrefetch()` ([#7000](https://github.com/vuejs/core/issues/7000)) ([5f1883e](https://github.com/vuejs/core/commit/5f1883ec53547d0847e1270f5a8fb0c46396fb07))
* **types:** add or update referrerpolicy ([#7199](https://github.com/vuejs/core/issues/7199)) ([1fa3d95](https://github.com/vuejs/core/commit/1fa3d9573051f549e6d381a5e88ec8d5d855e4c9))
* **types:** allow assigning wider SetupContext type ([#2818](https://github.com/vuejs/core/issues/2818)) ([eb2a832](https://github.com/vuejs/core/commit/eb2a83283caa9de0a45881d860a3cbd9d0bdd279)), closes [#2362](https://github.com/vuejs/core/issues/2362)
* **types:** optional boolean props should have boolean type in return type of defineProps ([#7619](https://github.com/vuejs/core/issues/7619)) ([a0a010d](https://github.com/vuejs/core/commit/a0a010ddc9ba8ef3e883454c73997bf6fb40b385)), closes [#7116](https://github.com/vuejs/core/issues/7116) [#5847](https://github.com/vuejs/core/issues/5847) [#7487](https://github.com/vuejs/core/issues/7487)
* **v-model:** ensure v-model listener casing is consistent with manual v-on listener ([#7067](https://github.com/vuejs/core/issues/7067)) ([87c72ae](https://github.com/vuejs/core/commit/87c72ae49a315a5464dd0c6b00f07163d1cb39e9)), closes [#7066](https://github.com/vuejs/core/issues/7066)



## [3.2.45](https://github.com/vuejs/core/compare/v3.2.44...v3.2.45) (2022-11-11)


@@ -1125,7 +1161,7 @@ Please refer to changelogs of previous beta releases for bug fixes included in t

### Features

- [Migration Build](https://v3.vuejs.org/guide/migration/migration-build.html)
- [Migration Build](https://v3-migration.vuejs.org/migration-build.html)
- **compiler-core:** whitespace handling strategy ([dee3d6a](https://github.com/vuejs/core/commit/dee3d6ab8b4da6653d15eb148c51d9878007f6b6))
- support component-level `compilerOptions` when using runtime compiler ([ce0bbe0](https://github.com/vuejs/core/commit/ce0bbe053abaf8ba18de8baf535e175048596ee5))
- **config:** support configuring runtime compiler via `app.config.compilerOptions` ([091e6d6](https://github.com/vuejs/core/commit/091e6d67bfcc215227d78be578c68ead542481ad))
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -6,7 +6,7 @@ Please follow the documentation at [vuejs.org](https://vuejs.org/)!

## Sponsors

Vue.js is an MIT-licensed open source project with its ongoing development made possible entirely by the support of these awesome [backers](https://github.com/vuejs/core/blob/main/BACKERS.md). If you'd like to join them, please consider [ sponsor Vue's development](https://vuejs.org/sponsor/).
Vue.js is an MIT-licensed open source project with its ongoing development made possible entirely by the support of these awesome [backers](https://github.com/vuejs/core/blob/main/BACKERS.md). If you'd like to join them, please consider [ sponsoring Vue's development](https://vuejs.org/sponsor/).

<p align="center">
<h3 align="center">Special Sponsor</h3>
62 changes: 0 additions & 62 deletions jest.config.js

This file was deleted.

2 changes: 1 addition & 1 deletion netlify.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[build.environment]
NODE_VERSION = "16"
NODE_VERSION = "18"
NPM_FLAGS = "--version" # prevent Netlify npm install
Loading