]> git.ipfire.org Git - thirdparty/vuejs/core.git/commit
feat: Vapor mode (#12359)
authorEvan You <evan@vuejs.org>
Mon, 7 Jul 2025 00:06:20 +0000 (08:06 +0800)
committerGitHub <noreply@github.com>
Mon, 7 Jul 2025 00:06:20 +0000 (08:06 +0800)
commitbfe5ce309c6fc16bb49cca78e141862bc12708ac
tree2e8c4a1438a22f56a816bd701c7a32df8eb5d26b
parent19ae372739beabbd818abf3384cbea2755514086
feat: Vapor mode (#12359)
303 files changed:
.github/contributing.md
.github/maintenance.md
.github/workflows/ci.yml
.github/workflows/test.yml
.gitignore
.vscode/settings.json
eslint.config.js
package.json
packages-private/benchmark/.gitignore [new file with mode: 0644]
packages-private/benchmark/client/App.vue [new file with mode: 0644]
packages-private/benchmark/client/AppVapor.vue [new file with mode: 0644]
packages-private/benchmark/client/data.ts [new file with mode: 0644]
packages-private/benchmark/client/index.html [new file with mode: 0644]
packages-private/benchmark/client/index.ts [new file with mode: 0644]
packages-private/benchmark/client/profiling.ts [new file with mode: 0644]
packages-private/benchmark/client/vapor.ts [new file with mode: 0644]
packages-private/benchmark/client/vdom.ts [new file with mode: 0644]
packages-private/benchmark/index.js [new file with mode: 0644]
packages-private/benchmark/package.json [new file with mode: 0644]
packages-private/benchmark/tsconfig.json [new file with mode: 0644]
packages-private/local-playground/index.html [new file with mode: 0644]
packages-private/local-playground/package.json [new file with mode: 0644]
packages-private/local-playground/setup/dev.js [new file with mode: 0644]
packages-private/local-playground/setup/vite.js [new file with mode: 0644]
packages-private/local-playground/src/.gitignore [new file with mode: 0644]
packages-private/local-playground/src/App.vue [new file with mode: 0644]
packages-private/local-playground/src/main.ts [new file with mode: 0644]
packages-private/local-playground/src/style.css [new file with mode: 0644]
packages-private/local-playground/tsconfig.json [new file with mode: 0644]
packages-private/local-playground/vite.config.ts [new file with mode: 0644]
packages-private/local-playground/vite.prod.config.ts [new file with mode: 0644]
packages-private/sfc-playground/src/App.vue
packages-private/sfc-playground/src/Header.vue
packages-private/sfc-playground/src/vue-dev-proxy-prod.ts
packages-private/sfc-playground/src/vue-dev-proxy.ts
packages-private/sfc-playground/src/welcome.vue [new file with mode: 0644]
packages-private/sfc-playground/vite.config.ts
packages-private/template-explorer/package.json
packages-private/template-explorer/src/index.ts
packages-private/template-explorer/src/options.ts
packages-private/tsconfig.json
packages-private/vapor-e2e-test/__tests__/todomvc.spec.ts [new file with mode: 0644]
packages-private/vapor-e2e-test/__tests__/vdomInterop.spec.ts [new file with mode: 0644]
packages-private/vapor-e2e-test/index.html [new file with mode: 0644]
packages-private/vapor-e2e-test/interop/App.vue [new file with mode: 0644]
packages-private/vapor-e2e-test/interop/VaporComp.vue [new file with mode: 0644]
packages-private/vapor-e2e-test/interop/VdomComp.vue [new file with mode: 0644]
packages-private/vapor-e2e-test/interop/index.html [new file with mode: 0644]
packages-private/vapor-e2e-test/interop/main.ts [new file with mode: 0644]
packages-private/vapor-e2e-test/package.json [new file with mode: 0644]
packages-private/vapor-e2e-test/todomvc/App.vue [new file with mode: 0644]
packages-private/vapor-e2e-test/todomvc/index.html [new file with mode: 0644]
packages-private/vapor-e2e-test/todomvc/main.ts [new file with mode: 0644]
packages-private/vapor-e2e-test/vite.config.ts [new file with mode: 0644]
packages/compiler-core/src/ast.ts
packages/compiler-core/src/babelUtils.ts
packages/compiler-core/src/codegen.ts
packages/compiler-core/src/index.ts
packages/compiler-core/src/options.ts
packages/compiler-core/src/transform.ts
packages/compiler-core/src/transforms/transformExpression.ts
packages/compiler-core/src/utils.ts
packages/compiler-dom/src/errors.ts
packages/compiler-dom/src/index.ts
packages/compiler-dom/src/transforms/vOn.ts
packages/compiler-sfc/README.md
packages/compiler-sfc/__tests__/compileScript/__snapshots__/definePropsDestructure.spec.ts.snap
packages/compiler-sfc/__tests__/compileScript/definePropsDestructure.spec.ts
packages/compiler-sfc/__tests__/parse.spec.ts
packages/compiler-sfc/package.json
packages/compiler-sfc/src/compileScript.ts
packages/compiler-sfc/src/compileTemplate.ts
packages/compiler-sfc/src/parse.ts
packages/compiler-sfc/src/script/defineProps.ts
packages/compiler-vapor/LICENSE [new file with mode: 0644]
packages/compiler-vapor/README.md [new file with mode: 0644]
packages/compiler-vapor/__tests__/__snapshots__/compile.spec.ts.snap [new file with mode: 0644]
packages/compiler-vapor/__tests__/abbreviation.spec.ts [new file with mode: 0644]
packages/compiler-vapor/__tests__/compile.spec.ts [new file with mode: 0644]
packages/compiler-vapor/__tests__/scopeId.spec.ts [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/__snapshots__/expression.spec.ts.snap [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/__snapshots__/transformChildren.spec.ts.snap [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/__snapshots__/transformElement.spec.ts.snap [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/__snapshots__/transformRef.spec.ts.snap [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/__snapshots__/transformSlotOutlet.spec.ts.snap [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/__snapshots__/transformTemplateRef.spec.ts.snap [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/__snapshots__/transformText.spec.ts.snap [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/__snapshots__/vBind.spec.ts.snap [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/__snapshots__/vFor.spec.ts.snap [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/__snapshots__/vHtml.spec.ts.snap [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/__snapshots__/vIf.spec.ts.snap [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/__snapshots__/vModel.spec.ts.snap [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/__snapshots__/vOn.spec.ts.snap [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/__snapshots__/vOnce.spec.ts.snap [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/__snapshots__/vShow.spec.ts.snap [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/__snapshots__/vSlot.spec.ts.snap [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/__snapshots__/vText.spec.ts.snap [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/_utils.ts [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/expression.spec.ts [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/transformChildren.spec.ts [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/transformElement.spec.ts [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/transformSlotOutlet.spec.ts [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/transformTemplateRef.spec.ts [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/transformText.spec.ts [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/vBind.spec.ts [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/vFor.spec.ts [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/vHtml.spec.ts [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/vIf.spec.ts [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/vModel.spec.ts [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/vOn.spec.ts [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/vOnce.spec.ts [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/vShow.spec.ts [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/vSlot.spec.ts [new file with mode: 0644]
packages/compiler-vapor/__tests__/transforms/vText.spec.ts [new file with mode: 0644]
packages/compiler-vapor/package.json [new file with mode: 0644]
packages/compiler-vapor/src/compile.ts [new file with mode: 0644]
packages/compiler-vapor/src/errors.ts [new file with mode: 0644]
packages/compiler-vapor/src/generate.ts [new file with mode: 0644]
packages/compiler-vapor/src/generators/block.ts [new file with mode: 0644]
packages/compiler-vapor/src/generators/component.ts [new file with mode: 0644]
packages/compiler-vapor/src/generators/directive.ts [new file with mode: 0644]
packages/compiler-vapor/src/generators/dom.ts [new file with mode: 0644]
packages/compiler-vapor/src/generators/event.ts [new file with mode: 0644]
packages/compiler-vapor/src/generators/expression.ts [new file with mode: 0644]
packages/compiler-vapor/src/generators/for.ts [new file with mode: 0644]
packages/compiler-vapor/src/generators/html.ts [new file with mode: 0644]
packages/compiler-vapor/src/generators/if.ts [new file with mode: 0644]
packages/compiler-vapor/src/generators/operation.ts [new file with mode: 0644]
packages/compiler-vapor/src/generators/prop.ts [new file with mode: 0644]
packages/compiler-vapor/src/generators/slotOutlet.ts [new file with mode: 0644]
packages/compiler-vapor/src/generators/template.ts [new file with mode: 0644]
packages/compiler-vapor/src/generators/templateRef.ts [new file with mode: 0644]
packages/compiler-vapor/src/generators/text.ts [new file with mode: 0644]
packages/compiler-vapor/src/generators/utils.ts [new file with mode: 0644]
packages/compiler-vapor/src/generators/vModel.ts [new file with mode: 0644]
packages/compiler-vapor/src/generators/vShow.ts [new file with mode: 0644]
packages/compiler-vapor/src/index.ts [new file with mode: 0644]
packages/compiler-vapor/src/ir/component.ts [new file with mode: 0644]
packages/compiler-vapor/src/ir/index.ts [new file with mode: 0644]
packages/compiler-vapor/src/transform.ts [new file with mode: 0644]
packages/compiler-vapor/src/transforms/transformChildren.ts [new file with mode: 0644]
packages/compiler-vapor/src/transforms/transformComment.ts [new file with mode: 0644]
packages/compiler-vapor/src/transforms/transformElement.ts [new file with mode: 0644]
packages/compiler-vapor/src/transforms/transformSlotOutlet.ts [new file with mode: 0644]
packages/compiler-vapor/src/transforms/transformTemplateRef.ts [new file with mode: 0644]
packages/compiler-vapor/src/transforms/transformText.ts [new file with mode: 0644]
packages/compiler-vapor/src/transforms/utils.ts [new file with mode: 0644]
packages/compiler-vapor/src/transforms/vBind.ts [new file with mode: 0644]
packages/compiler-vapor/src/transforms/vFor.ts [new file with mode: 0644]
packages/compiler-vapor/src/transforms/vHtml.ts [new file with mode: 0644]
packages/compiler-vapor/src/transforms/vIf.ts [new file with mode: 0644]
packages/compiler-vapor/src/transforms/vModel.ts [new file with mode: 0644]
packages/compiler-vapor/src/transforms/vOn.ts [new file with mode: 0644]
packages/compiler-vapor/src/transforms/vOnce.ts [new file with mode: 0644]
packages/compiler-vapor/src/transforms/vShow.ts [new file with mode: 0644]
packages/compiler-vapor/src/transforms/vSlot.ts [new file with mode: 0644]
packages/compiler-vapor/src/transforms/vText.ts [new file with mode: 0644]
packages/compiler-vapor/src/utils.ts [new file with mode: 0644]
packages/global.d.ts
packages/reactivity/__tests__/effectScope.spec.ts
packages/reactivity/__tests__/ref.spec.ts
packages/reactivity/src/debug.ts
packages/reactivity/src/effectScope.ts
packages/reactivity/src/ref.ts
packages/runtime-core/__tests__/componentProps.spec.ts
packages/runtime-core/__tests__/directives.spec.ts
packages/runtime-core/__tests__/rendererAttrsFallthrough.spec.ts
packages/runtime-core/__tests__/rendererComponent.spec.ts
packages/runtime-core/__tests__/rendererFragment.spec.ts
packages/runtime-core/__tests__/scheduler.spec.ts
packages/runtime-core/__tests__/vnode.spec.ts
packages/runtime-core/src/apiAsyncComponent.ts
packages/runtime-core/src/apiCreateApp.ts
packages/runtime-core/src/apiInject.ts
packages/runtime-core/src/apiLifecycle.ts
packages/runtime-core/src/apiSetupHelpers.ts
packages/runtime-core/src/compat/componentAsync.ts
packages/runtime-core/src/compat/global.ts
packages/runtime-core/src/component.ts
packages/runtime-core/src/componentCurrentInstance.ts [new file with mode: 0644]
packages/runtime-core/src/componentEmits.ts
packages/runtime-core/src/componentOptions.ts
packages/runtime-core/src/componentProps.ts
packages/runtime-core/src/componentPublicInstance.ts
packages/runtime-core/src/componentRenderUtils.ts
packages/runtime-core/src/componentSlots.ts
packages/runtime-core/src/components/KeepAlive.ts
packages/runtime-core/src/components/Suspense.ts
packages/runtime-core/src/components/Teleport.ts
packages/runtime-core/src/devtools.ts
packages/runtime-core/src/errorHandling.ts
packages/runtime-core/src/featureFlags.ts
packages/runtime-core/src/helpers/renderSlot.ts
packages/runtime-core/src/helpers/resolveAssets.ts
packages/runtime-core/src/helpers/useId.ts
packages/runtime-core/src/helpers/useModel.ts
packages/runtime-core/src/helpers/useTemplateRef.ts
packages/runtime-core/src/hmr.ts
packages/runtime-core/src/hydration.ts
packages/runtime-core/src/index.ts
packages/runtime-core/src/profiling.ts
packages/runtime-core/src/renderer.ts
packages/runtime-core/src/scheduler.ts
packages/runtime-core/src/vnode.ts
packages/runtime-core/src/warning.ts
packages/runtime-dom/src/components/TransitionGroup.ts
packages/runtime-dom/src/directives/vModel.ts
packages/runtime-dom/src/directives/vShow.ts
packages/runtime-dom/src/index.ts
packages/runtime-dom/src/modules/props.ts
packages/runtime-dom/src/modules/style.ts
packages/runtime-dom/src/patchProp.ts
packages/runtime-vapor/LICENSE [new file with mode: 0644]
packages/runtime-vapor/README.md [new file with mode: 0644]
packages/runtime-vapor/__tests__/_utils.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/apiCreateDynamicComponent.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/apiCreateSelector.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/apiCreateVaporApp.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/apiExpose.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/apiInject.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/apiLifecycle.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/apiSetupContext.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/apiSetupHelpers.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/apiWatch.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/block.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/component.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/componentAttrs.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/componentEmits.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/componentProps.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/componentSlots.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/directives/customDirective.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/directives/vModel.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/directives/vShow.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/dom/event.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/dom/prop.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/dom/template.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/dom/templateRef.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/errorHandling.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/for.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/hydration.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/if.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/renderEffect.spec.ts [new file with mode: 0644]
packages/runtime-vapor/__tests__/vdomInterop.spec.ts [new file with mode: 0644]
packages/runtime-vapor/package.json [new file with mode: 0644]
packages/runtime-vapor/src/.gitignore [new file with mode: 0644]
packages/runtime-vapor/src/apiCreateApp.ts [new file with mode: 0644]
packages/runtime-vapor/src/apiCreateDynamicComponent.ts [new file with mode: 0644]
packages/runtime-vapor/src/apiCreateFor.ts [new file with mode: 0644]
packages/runtime-vapor/src/apiCreateIf.ts [new file with mode: 0644]
packages/runtime-vapor/src/apiDefineComponent.ts [new file with mode: 0644]
packages/runtime-vapor/src/apiTemplateRef.ts [new file with mode: 0644]
packages/runtime-vapor/src/block.ts [new file with mode: 0644]
packages/runtime-vapor/src/component.ts [new file with mode: 0644]
packages/runtime-vapor/src/componentEmits.ts [new file with mode: 0644]
packages/runtime-vapor/src/componentProps.ts [new file with mode: 0644]
packages/runtime-vapor/src/componentSlots.ts [new file with mode: 0644]
packages/runtime-vapor/src/directives/custom.ts [new file with mode: 0644]
packages/runtime-vapor/src/directives/vModel.ts [new file with mode: 0644]
packages/runtime-vapor/src/directives/vShow.ts [new file with mode: 0644]
packages/runtime-vapor/src/dom/event.ts [new file with mode: 0644]
packages/runtime-vapor/src/dom/hydration.ts [new file with mode: 0644]
packages/runtime-vapor/src/dom/node.ts [new file with mode: 0644]
packages/runtime-vapor/src/dom/prop.ts [new file with mode: 0644]
packages/runtime-vapor/src/dom/template.ts [new file with mode: 0644]
packages/runtime-vapor/src/hmr.ts [new file with mode: 0644]
packages/runtime-vapor/src/index.ts [new file with mode: 0644]
packages/runtime-vapor/src/insertionState.ts [new file with mode: 0644]
packages/runtime-vapor/src/renderEffect.ts [new file with mode: 0644]
packages/runtime-vapor/src/vdomInterop.ts [new file with mode: 0644]
packages/server-renderer/src/render.ts
packages/shared/src/domAttrConfig.ts
packages/shared/src/general.ts
packages/shared/src/index.ts
packages/shared/src/normalizeProp.ts
packages/shared/src/subSequence.ts [new file with mode: 0644]
packages/shared/src/toDisplayString.ts
packages/shared/src/vaporFlags.ts [new file with mode: 0644]
packages/vue-compat/README.md
packages/vue/README.md
packages/vue/__tests__/e2e/Transition.spec.ts
packages/vue/__tests__/e2e/TransitionGroup.spec.ts
packages/vue/__tests__/e2e/e2eUtils.ts
packages/vue/package.json
packages/vue/src/index-with-vapor.ts [new file with mode: 0644]
packages/vue/src/runtime-with-vapor.ts [new file with mode: 0644]
packages/vue/src/runtime.ts
pnpm-lock.yaml
pnpm-workspace.yaml
rollup.config.js
rollup.dts.config.js
scripts/build.js
scripts/dev.js
scripts/inline-enums.js
scripts/prepare-cjs.js [moved from scripts/pre-dev-sfc.js with 95% similarity]
scripts/release.js
scripts/trim-vapor-exports.js [new file with mode: 0644]
scripts/usage-size.js
scripts/utils.js
tsconfig.json
vitest.config.ts
vitest.e2e.config.ts [deleted file]
vitest.unit.config.ts [deleted file]
vitest.workspace.ts [deleted file]