Commit Graph

4020 Commits

Author SHA1 Message Date
三咲智子 Kevin Deng 955752951e
fix(compiler-sfc): skip empty `defineOptions` and support TypeScript type assertions (#8028) 2023-04-05 17:33:29 +08:00
Evan You 91a931ae87 fix(types): improve defineProps return type with generic arguments 2023-04-05 17:21:31 +08:00
Evan You b2c874e3b9 refactor(compiler-sfc): move related files into separate directories 2023-04-05 16:35:10 +08:00
Eduardo San Martin Morote 869f3fb93e
feat(app): app.runWithContext() (#7451) 2023-04-05 15:18:13 +08:00
Evan You 2a9e379655 chore: remove unused args passed to ssrRender 2023-04-05 11:16:08 +08:00
Evan You 05f94cf7b0 fix(compiler-ssr): disable v-once transform in ssr vdom fallback branch
fix #7644
2023-04-05 11:10:21 +08:00
Evan You 036914c10b release: v3.3.0-alpha.8 2023-04-04 18:23:06 +08:00
6003ef74c7
chore: remove duplicate test (#8003) 2023-04-04 18:20:56 +08:00
Evan You f3145a915a fix(compiler-sfc): check binding is prop before erroring
fix #8017
2023-04-04 18:10:13 +08:00
Evan You 9a09e47667 release: v3.3.0-alpha.7 2023-04-03 18:19:11 +08:00
三咲智子 Kevin Deng 5a2f5d59cf
feat(types/slots): support slot presence / props type checks via `defineSlots` macro and `slots` option (#7982) 2023-04-03 16:49:16 +08:00
Evan You 59e828448e
feat(reactivity): improve support of getter usage in reactivity APIs (#7997) 2023-04-02 10:17:51 +08:00
Evan You dfb21a5363 chore: add docs links for sfc macros 2023-04-02 10:02:33 +08:00
Roland Hummel c346af2b6a
docs: comments on reactivity functions (fixes #4832) (#4836)
close #4832
2023-03-31 17:06:10 +08:00
白雾三语 5261085113
fix(compiler-dom): handle newlines when evaluating constants during stringification (#7995)
fix #7994
2023-03-31 16:33:00 +08:00
Evan You 482f2e3434 fix(compiler-sfc): use dynamic defaults merging for methods with computed keys
ref #7113
2023-03-31 09:08:23 +08:00
Evan You fe619443d2 feat(compiler-sfc): support arbitrary expression as withDefaults argument
ref #6459
2023-03-31 09:04:27 +08:00
Evan You 566748c1ed chore: remove unused param 2023-03-31 08:58:03 +08:00
Evan You 4af5d1b075 feat(sfc): revert withDefaults() deprecation
In some cases, the user still needs access to the full props object,
in such cases withDefaults() is still needed.
2023-03-31 08:53:15 +08:00
Evan You f5971468e5 refactor(compiler-sfc): remove unnecessary emits type codegen
This is no longer necessary as we no longer recommend type checking generated code
2023-03-30 20:06:11 +08:00
Evan You ef73ea53ea feat(compiler-sfc): codegen support for defineEmits() short syntax (followup of #7992) 2023-03-30 19:59:07 +08:00
Evan You 8876dccf42
feat(sfc): support more ergnomic defineEmits type syntax (#7992) 2023-03-30 19:24:32 +08:00
Evan You 8ac0620c1b release: v3.3.0-alpha.6 2023-03-30 18:22:42 +08:00
Evan You 15810c30d7 chore: bump csstype version 2023-03-30 18:06:28 +08:00
Evan You 71635be68d feat(compiler-sfc): support generating variable instead of default export in compileScript 2023-03-30 16:58:41 +08:00
Evan You 6bda4b6688 fix(compiler-core): fix codegen for literal const in non-inline mode 2023-03-30 15:19:27 +08:00
三咲智子 Kevin Deng ba4cec31b9
fix(compiler-sfc): infer runtime type in defineProps (#7972) 2023-03-30 14:49:28 +08:00
Evan You ba9c2ae247
feat(compiler-sfc): enable reactive props destructure by default and deprecate withDefaults() (#7986) 2023-03-30 11:58:16 +08:00
Evan You e10a89e608 fix(compiler-sfc): fix function default value handling w/ props destructure 2023-03-29 22:21:27 +08:00
Evan You 1a04fba10b fix(compiler-sfc): infer object type for empty type literal 2023-03-29 21:01:52 +08:00
Evan You a94072dd2c fix(compiler-sfc): fix defineExpose() codegen regression from #7949 2023-03-29 20:31:25 +08:00
Haoqun Jiang ffe679c490
fix(types/jsx): move JSX DOM types back to `@vue/runtime-dom` (#7979) 2023-03-29 20:22:29 +08:00
Leonardo Piccioni de Almeida ff60b933ae
fix(jsx-runtime): handle keys (#7976) 2023-03-29 16:17:34 +08:00
Haoqun Jiang 0f73f394da
fix(types/jsx): jsx-runtime types for global JSX namespace registration (#7978) 2023-03-29 16:15:08 +08:00
三咲智子 Kevin Deng 77686cf476
fix(compiler-core): check if expression is constant (#7974)
close #7973
2023-03-29 09:02:16 +08:00
三咲智子 Kevin Deng 63ad77f6f6
feat(runtime-core): add skipCheck for prop (#7548) 2023-03-28 22:29:54 +08:00
Evan You 1bde9fbc91 chore: fix accidentally replaced comments [ci skip] 2023-03-28 21:22:11 +08:00
白雾三语 ddba46ae6d
chore: update snapshots by #7766 (#7970) 2023-03-28 12:27:09 +02:00
白雾三语 139104ba26
fix(compiler-sfc): use prependLeft to handle CSSVars (#7760) 2023-03-28 17:47:10 +08:00
Evan You b9dc1adefb chore: update snapshots 2023-03-28 17:35:42 +08:00
三咲智子 Kevin Deng c839129ab9
fix(compiler-sfc): avoid codegen conflict with user variable named `expose` (#7949)
rename `expose` to `__expose` to avoid duplicate identifier

relate #7890
2023-03-28 17:34:23 +08:00
三咲智子 Kevin Deng 93f77292c9
fix(compiler-sfc): disallow `expose` property in `defineOptions` (#7967) 2023-03-28 17:32:37 +08:00
三咲智子 Kevin Deng b7bd50f505
feat(compiler-core): support parsing `const` modifier in type parameters (#7912) 2023-03-28 17:31:23 +08:00
Evan You eded94712e feat(compiler-sfc): improve runtime props inference for enum 2023-03-28 17:29:31 +08:00
Evan You 5fb406e3e1 fix(compiler-sfc): properly handle unknown types in runtime prop inference
fix #7511
2023-03-28 17:15:25 +08:00
Evan You 6f5698c932 Revert "fix(compiler-sfc): infer correct type for enums"
This reverts commit 2e074a7009.
2023-03-28 16:55:19 +08:00
Evan You 2e074a7009 fix(compiler-sfc): infer correct type for enums
fix #7511
2023-03-28 16:39:13 +08:00
三咲智子 Kevin Deng 0002567728
feat(compiler-sfc): support module string names syntax (#7428)
https://github.com/tc39/ecma262/pull/2154
2023-03-28 16:28:06 +08:00
三咲智子 Kevin Deng d60e58c9f6
fix(compiler-sfc): fix edge case of default export call with no args (#7536)
closes #7534
2023-03-28 16:27:34 +08:00
三咲智子 Kevin Deng 336a3d7b91
fix(compiler-sfc): properly remove comma of multiple macros in the same declaration (#7423)
closes #7422
reverts #6778
2023-03-28 16:23:39 +08:00
三咲智子 Kevin Deng 9f5e20ccff
fix(compiler-sfc): allow `<script>` with lang='js' (#7398) 2023-03-28 15:48:41 +08:00
Evan You 4355d2492d fix(compiler-sfc): handle more TS built-in utilities in defineProps inference 2023-03-28 15:41:24 +08:00
三咲智子 Kevin Deng 151a8ad6b9
fix(compiler-sfc): infer TSIntersectionType in defineProps (#7394) 2023-03-28 15:40:03 +08:00
三咲智子 Kevin Deng 1b69d5f2f4
fix(compiler-sfc): unwrap TS node for defineProps (#7340) 2023-03-28 15:22:01 +08:00
三咲智子 Kevin Deng 6391daf658
fix(compiler-sfc): infer TS Extract&Exclude runtime type (#7339)
closes #7337
closes #6252
2023-03-28 15:19:14 +08:00
三咲智子 Kevin Deng 3a7572cdb2
fix(compiler-sfc): infer function prop type from type literal w/ callable signature (#7119) 2023-03-28 11:59:21 +08:00
三咲智子 Kevin Deng 701b95ff3d
fix(compiler-sfc): rewrite default export with AST analysis instead of regex (#7068)
closes #7038
closes #7041
closes #7078
2023-03-28 11:54:22 +08:00
三咲智子 Kevin Deng 7def8b15b8
feat(complier-sfc): hoist literal constants for script (#5752)
- Support using literal constants in macros
- fix useCssVars insert position edge case
- fix non-literal-const enum hoisting

close #5750
2023-03-28 11:34:29 +08:00
Evan You e224922e97 fix(types): revert jsx global removal (to be removed in 3.4) 2023-03-28 11:17:38 +08:00
Remco Haszing 5838950ecf
fix(jsx-runtime): fix automatic runtime implementation (#7959) 2023-03-28 11:06:49 +08:00
三咲智子 Kevin Deng bcf5841dde
feat(compiler-sfc): add defineOptions macro (#5738) 2023-03-28 10:43:51 +08:00
三咲智子 Kevin Deng 703f8c22e5
chore(deps): upgrade rollup & magic-string (#7326) 2023-03-28 09:52:06 +08:00
Evan You e3de9a6911 test: add test for defineComponent function syntax with object emits 2023-03-28 08:57:56 +08:00
Evan You efb54e7315 feat(sfc): deprecate reactivity transform 2023-03-27 21:01:36 +08:00
Evan You d77557c403
feat(types): `defineComponent()` with generics support (#7963)
BREAKING CHANGE: The type of `defineComponent()` when passing in a function has changed. This overload signature is rarely used in practice and the breakage will be minimal, so repurposing it to something more useful should be worth it.

close #3102
2023-03-27 18:28:43 +08:00
Evan You 9a8073d0ae chore: fix type 2023-03-27 18:03:02 +08:00
Evan You 28e30c819d fix(types/jsx): remove $slots children override 2023-03-26 17:44:01 +08:00
Evan You 27e1e38641 release: v3.3.0-alpha.5 2023-03-26 16:52:46 +08:00
Evan You d0b7ef3b61
feat(types/jsx): support jsxImportSource, avoid global JSX conflict (#7958)
- No longer implicitly register global JSX types by default
  - This avoid conflict when using Vue in the same project with React
  - Global registration must now be done by explicitly importing /
    referencing `vue/jsx`, or listing it in `compilerOptions.types`.
- Add `vue/jsx-runtime` to support `jsxImportSource` usage
  - Can enable globally by setting `compilerOptions.jsxImportSource` to `'vue'`
  - Can also opt-in per-file with `/** @jsxImportSource vue */`
2023-03-26 16:40:53 +08:00
Evan You c288c7b0bd fix(types): ensure defineProps with generics return correct types 2023-03-26 15:58:04 +08:00
Evan You f61499da7f chore: add redirect for template explorer 2023-03-26 10:01:53 +08:00
Himself65 cbc2733953
test: improve test case on `$el` (#7922) 2023-03-25 09:01:10 +08:00
Evan You 4c9bfd2b99 feat(dx): improve readability of displayed types for props 2023-03-24 15:06:43 +08:00
Evan You 58e5c51149 build: upgrade to TypeScript 5.x 2023-03-23 17:11:35 +08:00
Evan You e60ebd07a4 chore: bump vite & vitest 2023-03-23 16:36:33 +08:00
Evan You aac163110f refactor: remove circular dependencies in compiler 2023-03-23 16:30:42 +08:00
Evan You c02d8d097d chore: remove warnings due to potential false-positives 2023-02-21 22:43:45 +08:00
Evan You 8d2d5bf48a fix(runtime-core): support `getCurrentInstance` across mutiple builds of Vue 2023-02-21 21:59:41 +08:00
Evan You 34ad609bd7 refactor(runtime-core): use Symbol.for for runtime Symbols 2023-02-21 17:42:06 +08:00
丶远方 a0e7dc3343
chore: fix typo (#7680) 2023-02-11 17:55:21 +01:00
Evan You 78b86150b8 release: v3.3.0-alpha.4 2023-02-06 14:10:56 +08:00
Evan You 097f6beca2 release: v3.3.0-alpha.3 2023-02-06 10:27:25 +08:00
Evan You d1181ad692 fix(build): avoid const enum conflicts 2023-02-06 09:44:12 +08:00
Evan You 37ec04b984 release: v3.3.0-alpha.2 2023-02-05 16:23:54 +08:00
Evan You 85f4d8ccb9 release: v3.3.0-alpha.1 2023-02-05 11:20:39 +08:00
Evan You 2774ba5f0f chore: use workspace vue dep for sfc-playground 2023-02-03 21:49:18 +08:00
Evan You 1e0251a377 test: more strict linking in dts tests 2023-02-03 21:41:33 +08:00
Evan You 7a0a6658c6 docs: update contributing guide 2023-02-03 17:47:34 +08:00
Evan You 40dab4d9dd build: fix size check 2023-02-03 17:22:01 +08:00
Evan You 1ddde63b40 build: adjust dts test setup 2023-02-03 17:10:31 +08:00
Evan You eb0c1e7025 build: remove api-extractor 2023-02-03 15:57:00 +08:00
Evan You 6213b73cd2 build: custom const enum processing 2023-02-03 09:54:15 +08:00
Evan You 53e3533b75 chore: bump deps 2023-02-03 05:47:40 +08:00
Evan You e22b5c510d chore: remove hanging slash from import 2023-02-03 04:31:17 +08:00
Evan You 124373db50 wip: isolatedModules + use rollup-plugin-esbuild 2023-02-03 04:30:19 +08:00
Evan You e077e6f5f3 workflow: disable threads during tests 2023-02-02 22:08:37 +08:00
Evan You 1487d81160 chore: define compile time flags during size check 2023-02-02 21:39:04 +08:00
Evan You 3a6f5eb0f7 fix(build): ensure BaseTransition functions can be tree-shaken 2023-02-02 21:38:57 +08:00
Evan You c1cbb747b5 chore: fix types 2023-02-02 15:27:29 +08:00
Evan You 45984d559f release: v3.2.47 2023-02-02 13:48:18 +08:00
Evan You 29f8cf8b07 release: v3.2.46 2023-02-02 11:32:04 +08:00
三咲智子 Kevin Deng a0a010ddc9
fix(types): optional boolean props should have boolean type in return type of defineProps (#7619)
close #7116
fix #5847
fix #7487
2023-02-01 21:57:28 -05:00
edison 30399d46b1
fix(compiler-sfc): support resolving type declaration from normal script (#5831)
fix #5830
2023-02-01 04:24:50 -05:00
李想 1fde49c0f5
fix(runtime-core): fix keep-alive cache prune logic on vnodes with same type but different keys (#7510)
fix #7355
2023-02-01 04:02:03 -05:00
Evan You f19f803ea8 chore: fix jest reference in merged test case 2023-02-01 16:50:13 +08:00
René Koller efe2efd210
fix(compat): fix custom transition classes in compat mode (#7435)
fix #6253
2023-02-01 03:21:50 -05:00
Anthony Fu e64c9ae957
fix(reactivity): `triggerRef` working with `toRef` from reactive (#7507)
* fix(reactivity): `triggerRef` working with `toRef` from reactive

* chore: refactor
2023-02-01 03:20:47 -05:00
Anthony Fu 5f1883ec53
fix(types): accept sync `serverPrefetch()` (#7000) 2023-02-01 03:15:51 -05:00
三咲智子 Kevin Deng 734b06a124
test: fix await patch prop case (#7600) 2023-02-01 08:59:50 +01:00
Evan You 957722c418 fix(build): ensure type exports is first 2023-02-01 10:49:31 +08:00
Evan You a1b3057c4d test: configure test hooks sequence order, remove workaround 2023-01-27 14:52:41 +08:00
Evan You 28b95daa70 workflow: complete migration from jest to vitest 2023-01-26 22:53:39 +08:00
Evan You 158db33611 wip(vitest-migration): all tests passing 2023-01-26 22:22:43 +08:00
Evan You 4ee0dad0fe wip(vitest-migration): runtime-dom tests passing + use environmentMatchGlobs 2023-01-26 21:35:50 +08:00
Evan You a6be280fc3 chore: only wrap during tests 2023-01-26 20:59:30 +08:00
Evan You 7e8f175db7 wip(vitest-migration): runtime-core tests passing 2023-01-26 20:48:47 +08:00
Evan You e478755c7d wip(vitest-migration): compat tests passing 2023-01-26 20:24:54 +08:00
Evan You dca4224c2c wip(vitest-migration): compiler-ssr tests passing 2023-01-26 16:50:19 +08:00
Evan You 0cd2213e6b wip(vitest-migration): compiler-sfc tests passing 2023-01-26 16:49:10 +08:00
Evan You 8599242bb4 wip(vitest-migration): compiler-dom tests passing 2023-01-26 16:48:19 +08:00
Evan You 5804406fac wip(vitest-migration): compiler-core tests passing 2023-01-26 16:20:59 +08:00
Evan You f0d78e8c8f wip(vitest-migration): ssr tests passing 2023-01-26 16:18:40 +08:00
Evan You 3db69af53d wip(vitest-migration): shared tests passing 2023-01-26 15:31:52 +08:00
Evan You 8867bb259a wip(vitest-migration): reactivity tests passing 2023-01-26 15:25:55 +08:00
Evan You ab45f6f8a2 build: update build scripts to esm 2023-01-26 14:24:49 +08:00
Evan You ec4531a6b3 chore: bump vite and esbuild 2023-01-26 13:33:28 +08:00
白雾三语 bef85e7975
fix(shared): `feDistanceLight` changed to `feDistantLight` (#7540)
close https://github.com/vuejs/core/issues/7535
2023-01-16 09:46:56 +01:00
Anthony Fu 4a16b204be chore: run format 2023-01-12 12:58:11 +01:00
skirtle 4902354925
dx(runtime-core): warn when expose() is misused (#7221) 2023-01-09 15:23:10 +01:00
13dc28aeff
refactor(reactivity): hasOwnProperty add this parameter (#7233)
hasOwnProperty adds this parameter and delete @ts-ignore
2023-01-09 15:21:32 +01:00
Thorsten Lünborg cd7c887b75
fix(reactivity): ensure watch(Effect) can run independent of unmounted instance if created in a detatched effectScope (fix #7319) (#7330)
* fix(reactivity): ensure watch(Effect) can run independent of unmounted instance if created in a detatched effectScope

* test: use separate counters for each watcher to make test more robust
2023-01-09 15:20:21 +01:00
8731852919
test(reactivity): Using toRaw on a raw Array (#7354) 2023-01-09 15:19:19 +01:00
yurj26 b7cfa6f539
fix(runtime-dom): style update error when component use shorthand properties (#7425)
* fix(runtime-dom): style update error when component use shorthand properties

* test(runtime-dom): style update with shorthand properties
2023-01-09 15:16:08 +01:00
Julien Huang 686c829fec
fix(compiler-sfc): allow declaring variables after defineProps (#7461)
* fix(compiler-sfc): allow declaring variables after defineProps

* test(compiler-sfc): test defineProps in multiple variable declaration
2023-01-09 15:13:58 +01:00
Yue Yang 1fa3d95730
fix(types): add or update referrerpolicy (#7199) 2023-01-01 11:44:20 +01:00
白雾三语 c6e5bda27d
fix(customElement): customElement can emit event (#7296)
close https://github.com/vuejs/core/issues/7293
2022-12-23 22:32:21 +01:00
白雾三语 620327d527
fix(runtime-core): ensure prop type validation warning shows custom class names (#7198)
* fix(runtime-core): 

* fix(runtime-core): update

* fix(runtime-core): update reg

* test(runtime-core): add test case for warnings about prop type mismatches

Co-authored-by: Thorsten Luenborg <t.luenborg@googlemail.com>
2022-11-25 20:52:39 +01:00
Evan You 2913bbfdee chore: add script notes for SFC playgound [ci skip] 2022-11-14 19:14:15 +08:00
CHOYSEN 80a4c3000f
chore(sfc-playground): add README to link to its website (#6346) [ci skip] 2022-11-14 06:12:05 -05:00
Evan You f0645a9b2f chore: remove yarn reference
close #6709
2022-11-14 19:03:51 +08:00
Evan You 9d5e30d911 build: bump jest, puppeteer and use official rollup terser plugin 2022-11-14 18:21:58 +08:00
Evan You b55846f05c fix(shared): toNumber should only coerce strings 2022-11-14 17:50:56 +08:00
翠 / green eb2a83283c
fix(types): allow assigning wider SetupContext type (#2818)
fix #2362
2022-11-14 04:33:29 -05:00
Evan You 588bd44f03 fix(reactivity): track hasOwnProperty
fix #2619
close #2621
2022-11-14 17:17:35 +08:00
Evan You ce363e55a8 chore: fix assertNumber for undefined value 2022-11-14 16:57:44 +08:00
Evan You 7d0c63ff43 fix(custom-elements): use strict number casting
close #4946
close #2598
close #2604

This commit also refactors internal usage of previous loose
implementation of `toNumber` to the stricter version where applicable.
Use of `looseToNumber` is preserved for `v-model.number` modifier to
ensure backwards compatibility and consistency with Vue 2 behavior.
2022-11-14 16:20:12 +08:00
Evan You efa2ac54d9 refactor: use Number constructor when coercing array length 2022-11-14 16:10:05 +08:00
三咲智子 Kevin Deng 3427052229
fix(reactivity-transform): prohibit const assignment at compile time (#6993)
close #6992
2022-11-14 02:54:41 -05:00
三咲智子 Kevin Deng 87c72ae49a
fix(v-model): ensure v-model listener casing is consistent with manual v-on listener (#7067)
fix #7066
2022-11-14 02:21:29 -05:00
Cédric Exbrayat b46ba6e2ad
chore(compiler-core): missing space in v-slot mixed usage error message (#7076) 2022-11-14 02:06:24 -05:00
Samuel Rigaud 378386694b
fix(compiler-core): typeof should be allowed in browser expression validation (#7037) 2022-11-14 01:50:35 -05:00
webfansplz 11bd8db768
chore(types): remove unnecessary type assertions (#7032) 2022-11-14 01:44:06 -05:00
Zollero da2ced1533
fix(runtime-core): set scope id before props (#6948)
close #6923
Also ensure consistency with Vue 2
2022-11-13 22:53:46 -05:00
Evan You a1099afe1b chore: snapshot 2022-11-14 11:41:44 +08:00
Evan You e06d3b614e fix(reactivity-transform): fix $$ escape edge cases
fix #6312
close #6944
2022-11-14 11:36:24 +08:00
被雨水过滤的空气-Rairn d01c091967
test(Transition): events with arguments (#6823) 2022-11-13 20:45:44 -05:00
三咲智子 Kevin Deng 9060bf0353
refactor(compiler-core): make ast.helpers a Set (#6774) 2022-11-13 20:44:02 -05:00
Tamay Eser Uysal 7443174e2a
fix(compiler): add `hgroup` to supported `HTML_TAGS` (#6321)
close #6313
2022-11-13 20:28:56 -05:00
webfansplz 59ffe5ee1f
fix(types/effectScope): re-expose `active` as readonly property (#6187)
close #6186
2022-11-13 20:27:52 -05:00
三咲智子 Kevin Deng 4e5d9cdb82
refactor(compiler-sfc): drop Function prop type when no static default value (#7125) 2022-11-13 20:15:17 -05:00
webfansplz 0187f998f7
chore(runtime-core): add `isRegExp` to check `RegExp` (#6041) 2022-11-13 20:14:28 -05:00
Tony Trinh c513126c5d
types(runtime-core): support plugin options type inference (#3969) 2022-11-13 20:13:32 -05:00
三咲智子 Kevin Deng 584eae60d1
fix(compiler-sfc): always generate runtime prop type for Function (#7112)
fix #7111
2022-11-13 19:36:03 -05:00
Evan You 6f663d47e5 release: v3.2.45 2022-11-11 17:35:27 +08:00
Evan You 24964dab25 test: test case for #6966 2022-11-11 17:06:50 +08:00
ysy945 67890daad1
fix(custom-elements): custom element should re-instantiate when inserted again (#6966)
fix #6934
2022-11-11 04:06:21 -05:00
Evan You ffef822869 fix(custom-elements): respect slot props in custom element mode 2022-11-11 16:06:05 +08:00
Thorsten Lünborg 55382aed58
fix(custom-elements): define declared properties in constructor (#5328) 2022-11-11 02:46:01 -05:00
Evan You 89f37ceb62 fix(custom-elements): fix number type props casting check
fix #5793
adapted from #5794
2022-11-11 15:20:28 +08:00
Evan You afe889999c fix(custom-elements): properties set pre-upgrade should not show up in $attrs 2022-11-11 14:42:42 +08:00
Evan You 5e50909100 fix(custom-elements): should not reflect non-decalred properties set before upgrade 2022-11-11 14:14:55 +08:00
Thorsten Lünborg 665f2ae121
fix(custom-elements): fix event emitting for async custom elements (#5601)
fix #5599
2022-11-10 23:33:17 -05:00
Thorsten Lünborg 0b39e46192
fix(custom-elements): also dispatch hyphenated version of emitted events (#5378)
fix #5373
2022-11-10 23:01:10 -05:00
Thorsten Lünborg 192dcb648c
fix(custom-elements): ensure custom elements can inherit provides from ancestors (#5098)
fix #5096
2022-11-10 21:33:17 -05:00
花果山大圣 4798a9f704
refactor: more concise bitwise operations for flag removal (#7092) 2022-11-10 20:15:37 -05:00
被雨水过滤的空气(Rairn) 4049ffcf29
fix(runtime-core): fix move/removal of static fragments containing text nodes (#6858)
fix #6852
2022-11-10 05:03:10 -05:00
被雨水过滤的空气(Rairn) a54bff2c9c
fix(hmr/keep-alive): fix error in reload component (#7049)
fix #7042
2022-11-10 05:01:31 -05:00
Evan You 0594400980 fix(sfc): also generate getter for import bindings during dev 2022-11-10 17:32:06 +08:00
Evan You 5a3d45ae29 fix(sfc): ensure consistent dev/prod behavior for non-reactive variables declared in `<script setup>`
fix #5655
2022-11-10 17:02:45 +08:00
Evan You f73925d76a fix(sfc): ensure `<script setup>` binding behavior consistency on `this` between prod and dev
close #6248
2022-11-10 16:02:45 +08:00
Evan You 15e889afaf fix(v-model): fix incorrect codegen for non-ref bindings
fix #6241
2022-11-10 15:32:58 +08:00
Evan You 11214eedd2 fix(teleport/css-v-bind): fix css v-bind in teleport in child component slot 2022-11-10 15:08:25 +08:00
Evan You 42239cf284 fix(teleport/css-v-bind): fix css v-bind for teleported content
fix #4605
close #4609 (used tests from this PR)
2022-11-10 14:41:45 +08:00
Evan You 9ca8b7c1b5 chore: fix test 2022-11-10 14:30:50 +08:00
Evan You d45cbfcdfb chore(types): mark more internal component instance properties 2022-11-10 14:11:55 +08:00
Evan You 001184e6bb fix(compiler/v-model): catch incorrect v-model usage on prop bindings
close #5584
2022-11-10 10:42:27 +08:00
Evan You ec795bfc51 release: v3.2.44 2022-11-10 07:25:22 +08:00
Thorsten Lünborg 5dc593ba28
fix(watch): for immediate watch with single source, ensure cb is called with undefined as oldValue (#7075)
fix: #7074
2022-11-09 18:19:35 -05:00
skirtle 9a816dcec0
dx(runtime-dom): warn when a style value ends in a semicolon (#7062) 2022-11-09 08:16:34 -05:00
skirtle fccfb1821f
chore(compat): change 'vnode-' to 'vue:' in event hooks warning (#7063) 2022-11-09 08:15:41 -05:00
Evan You 71977ec972 release: v3.2.43 2022-11-09 21:00:57 +08:00
Evan You 23e85e21a5 fix(watch): ensure oldValue in multi-source watcher is always an array
fix #7070
2022-11-09 20:50:02 +08:00
Evan You d33292dd47 chore: return early in warn() in prod 2022-11-09 11:48:35 +08:00
Evan You 8dbf083133 build: put ssrContext warning behind __DEV__ flag 2022-11-09 11:41:26 +08:00
Evan You f023d49a49 release: v3.2.42 2022-11-09 11:36:09 +08:00
三咲智子 Kevin Deng 57c9013837
fix(compiler-sfc): only escape parsing-breaking characters in v-bind css var names (#6816)
close #6803
2022-11-08 22:30:05 -05:00
白雾三语 2c27556fe5
fix(compiler): avoid namespace collisions when transforming template refs in inline mode (#6975)
fix #6964
2022-11-08 22:22:29 -05:00
三咲智子 Kevin Deng 8a882ce0a1
fix(compiler-sfc): handle method shorthand syntax in withDefaults (#6972)
fix #6971
2022-11-08 22:12:54 -05:00
白雾三语 5bfe438ef3
fix(compiler-core/v-on): only apply case preservation on native elements (#6902)
fix #6900
2022-11-08 21:58:22 -05:00
三咲智子 Kevin Deng 910fa7677f
fix(compiler-sfc): resolve computed object key (#6963) 2022-11-08 21:57:40 -05:00
三咲智子 Kevin Deng 7663a79a29
fix(reactivity-transform): respect user defined symbols that conflict with macros (#6840)
closes #6838
2022-11-08 20:26:43 -05:00
Johnson Chu bad3f3ce46
fix(types): stricter type condition for `EventHandlers` (#6855)
fix #6899
2022-11-08 10:37:37 -05:00
Evan You dd3354c4c7 fix(compiler-core): fix parsing error on comments between v-if in prod
close #6843
2022-11-08 23:35:35 +08:00
被雨水过滤的空气(Rairn) 64e6d9221d
fix(transition/keep-alive): fix unmount bug for component with out-in transition (#6839)
fix #6835
2022-11-08 10:01:43 -05:00
Rudy 48876182db
fix(compiler-core): keep whitespaces between interpolation and comment (#6828)
fix #6352
2022-11-08 09:50:43 -05:00
Evan You 6861d2380b refactor(compiler-sfc): optimize import alias check for binding analysis 2022-11-08 17:47:47 +08:00
Evan You 8d1f526174 fix(compiler-sfc): fix binding analysis for aliased late import 2022-11-08 17:19:45 +08:00
三咲智子 Kevin Deng 4a00fddfed
fix(compiler-sfc): check import source during binding analysation (#6826)
fix #6825
2022-11-08 04:07:28 -05:00
三咲智子 Kevin Deng fdc5902cce
fix(types/reactivity-transform): fix type when initial value is not used (#6821)
fix #6820
2022-11-08 01:38:53 -05:00
Evan You 9906e3a82a chore: remove blank line [ci skip] 2022-11-08 14:29:13 +08:00
花果山大圣 bdaf83aae7
fix(hmr): fix hmr for components managed by keep-alive (#6809)
fix #6222
2022-11-08 01:26:56 -05:00
Evan You 4c3203b9b7 chore: run prettier 2022-11-08 14:25:48 +08:00
三咲智子 Kevin Deng e049772247
workflow(sfc-playground): set all scopes to production mode (#6815) 2022-11-08 01:10:56 -05:00
Rudy e4de623ea7
fix(types): support inferring injected properties in options api (#6804)
close #3031
close #5931
2022-11-08 01:09:53 -05:00
Rudy 50e2253057
fix(compiler/runtime-dom): ignore comments in inline styles (#6808)
fix #6807
2022-11-07 22:42:32 -05:00
Evan You 1c292e19af chore: fix snapshot 2022-11-08 11:36:16 +08:00
花果山大圣 a0c7f271a2
fix(compiler-sfc): require <template> or <script> in SFC (#6781)
fix #6676
2022-11-07 22:34:39 -05:00
三咲智子 Kevin Deng 9768949ce0
fix(shared): fix parsing of multi-line inline style (#6777) 2022-11-07 22:17:50 -05:00
花果山大圣 99b6697fb4
fix(compiler-sfc): fix macro usage in multi-variable declaration (#6778)
fix #6757
2022-11-07 22:16:21 -05:00
Travis bcfe480d75
fix(compiler-core/v-on): support inline handler with return type annotation (#6769)
fix #6378
2022-11-07 22:09:15 -05:00
被雨水过滤的空气(Rairn) 640cfce4ff
fix(compiler-core): avoid duplicate keys in codegen with `v-if` (#6689)
fix #6641
2022-11-07 22:04:31 -05:00
Evan You f55cfe6d3b chore: prettier 2022-11-08 11:03:37 +08:00
littleboarx 168c857247
fix(sfc/types): improve the type inference using withDefaults (#6764)
fix #6552
2022-11-07 21:59:31 -05:00
btea 79e7c1ee43
fix(ssr): remove css number value check (#6636)
Previously this prevented custom properties and vendor-prefixed properties to be rendered correctly.

fix #6625
2022-11-07 21:53:44 -05:00
Cédric Exbrayat 04553786e4
fix(runtime-core): do not throw on unknown directives (#6671)
fix #6340

This commit improves the case when a directive is not found in a template.
As `resolveDirective` returns `undefined`, some code was failing with the following error:

```
TypeError: Cannot read properties of undefined (reading 'deep')
```
2022-11-07 21:49:49 -05:00
三咲智子 Kevin Deng b72a4af38a
fix(compiler-sfc): add semicolon after `defineProps` statement (#6461)
fix #6428
2022-11-07 21:17:48 -05:00
三咲智子 Kevin Deng 97aadd8290
types: use actual type for script block ASTs (#6457) 2022-11-07 21:14:10 -05:00
三咲智子 Kevin Deng e9172db68b
fix(types): export `Raw` type (#6380)
fix #7048
2022-11-07 21:03:49 -05:00
三咲智子 Kevin Deng c4f213b425
fix(reactivity-transform): add semicolon after statements (#6303) 2022-11-07 20:38:47 -05:00
Thorsten Lünborg f67bb500b6
fix(runtime-dom): ensure customElement handles empty props correctly. (#6182)
fix Scoped attribute in Vue file affects the use of web component #6163,#6895
2022-11-01 09:49:06 +01:00
HakimLu 3bed82be32
fix:spell checker (#6982)
Co-authored-by: hakim <hakim.lu@yunlsp.com>
2022-10-28 09:29:30 +02:00
三咲智子 (Kevin) bbb66d7ac7
ci: check prettier format (#6830) 2022-10-28 09:39:34 +08:00
webfansplz 0e0976168f
fix(ssr/watch) flush: sync watchers should work in ssr (#6139)
fix #6013
2022-10-26 06:30:15 -04:00
Julian Meinking 32b51249bf
fix(runtime-core): `in` operator returning `false` for built-in instance properties in `exposeProxy` (#6138)
fix #6137
2022-10-26 05:54:10 -04:00
shadowings-zy 018b850399
fix(v-model): fix trim modifier on events with non-string args ( (#5770)
fix #5765
2022-10-26 05:47:05 -04:00
Evan You bb06819d83 chore: fix snapshot 2022-10-26 17:46:17 +08:00
webfansplz 41d9c47300
fix(types): `$watch` callback parameters type (#6136)
fix #6135
2022-10-26 05:43:42 -04:00
ygj6 eab76046e3
fix(compiler-sfc): allow type annotation for defineEmits variable (#5394)
fix #5393
2022-10-26 05:12:55 -04:00
nandi95 506a42a9a5
types(runtime-core): added `ComponentCustomProperties` type to `globalProperties` (#5389) 2022-10-26 05:00:47 -04:00
edison 83f7e6f8a6
fix(compiler-sfc): support using extends interface with defineProps() (#4512)
fix #4498
2022-10-26 04:44:30 -04:00
webfansplz 183e4e6152
refactor(types): use template literal types insteads of any (#4166) 2022-10-26 04:31:09 -04:00
HeYunfei e816812f10
fix(types): should unwrap tuple correctly (#3820)
fix #3819
2022-10-26 04:27:42 -04:00
Evan You 09bb3e996e fix(compiler-ssr): fix invalid codegen when v-slot name is explicit empty attr (#3326)
squashed from fix by @tjk
2022-10-26 16:18:19 +08:00
Evan You d9de6caecd refactor: move toNumber call out of loop 2022-10-26 15:17:25 +08:00
Carlos Rodrigues 8e792d93a8
types(h): Support passing `props` to `Component` when using `h` (#3219) 2022-10-26 03:07:44 -04:00
引证 cbc3e67c37
types(shared): Improve LooseRequired<T> (#6244) 2022-10-26 03:01:37 -04:00
Thorsten Lünborg b0b74a160c
fix(runtime-core): custom-element: ensure number casting of camelCase props. (fix: #5374) (#5377) 2022-10-22 11:20:46 +02:00
Thorsten Lünborg 54b6ba32ca
fix(runtime-core): ensure props definition objects are not mutated during props normalization (close: #6915) (#6916) 2022-10-22 11:20:02 +02:00
bcq028 e6224f4256
fix(reactivity): enable trigger when use str to set length of arr (#6810)
Co-authored-by: Anthony Fu <anthonyfu117@hotmail.com>
2022-10-21 09:25:06 +02:00
Thorsten Lünborg e5fc7dcc02
fix(types): ensure createBlock() helper accepts Teleport and Supsense types (fix: #2855) (#5458)
Co-authored-by: Carlos Rodrigues <carlos@hypermob.co.uk>
2022-10-20 21:45:51 +02:00