Commit Graph

3830 Commits

Author SHA1 Message Date
三咲智子 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