Commit Graph

4748 Commits

Author SHA1 Message Date
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 f77bd36a24
chore: eslint node env should apply to root ts config files (#7687) 2023-03-28 09:56:21 +08:00
Evan You b828514c1a chore: remove unused deps
close #7365
2023-03-28 09:53:33 +08:00
三咲智子 Kevin Deng 703f8c22e5
chore(deps): upgrade rollup & magic-string (#7326) 2023-03-28 09:52:06 +08:00
Haoqun Jiang ff35fe9ffe
build: exit with code 1 on release failure (#7962)
See https://github.com/vuejs/core/actions/runs/4527710331/jobs/7973811532#step:6:279

The canary release action should fail if the release script fails.
2023-03-28 09:43:09 +08:00
Haoqun Jiang 543d6dbc94
build: don't wait for changelog edits when `--skip-prompts` or `--canary` is specified (#7965) 2023-03-28 09:42:45 +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 ea5bf1235d ci: avoid duplicated ci runs on self-repo pull requests 2023-03-27 18:32:45 +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 9dd98f00f2 chore: allow editing changelog before committing release 2023-03-26 16:38:42 +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 0587c70e9f build: bump rollup, remove cjs re-exports hack 2023-03-23 16:33:10 +08:00
Evan You aac163110f refactor: remove circular dependencies in compiler 2023-03-23 16:30:42 +08:00
Haoqun Jiang 650f5c26f4
build: fix canary bundling issues (#7907)
1. correct the rollup config after the package name changed
2. fix the same-day patch version bump of canary releases
2023-03-17 16:47:48 +08:00
Haoqun Jiang 29852dfa9c
ci: release canary versions every week (#7860)
* build: support `--canary` flag for canary releases

Also adds `--skip-git` and `--skip-prompts` flags as they would be
useful in ecosystem-ci

* ci: add a workflow to do canary releases every Monday

* build: allow manually releasing patch canary versions

* chore: don't bother updating the README

As far as I know, only Knighly modifies the README for nightly builds:
<https://www.npmjs.com/package/@knightly/vue>

Nuxt, React, and TypeScript all keep the README as-is for edge releases.

So I think we can avoid the complexity here.

* refactor: checkCIStatus -> getCIResult

* chore: keep the canary major in sync with the repo major

* fix: fix version rewriting

* fix: `@vue/compat` is also a core package

The directory name format of `@vue/compat` is different from other core packages, so it needs to be handled separately.

Missing it didn't cause any problems because the `isCorePackage`
function is only used to test dependency names, and `@vue/compat` isn't
used as a dependency anywhere.

But it's good to fix it anyway.
2023-03-17 15:37:29 +08:00
Evan You 98f1934811 ci: only disable threads for gh 2023-02-21 22:46:43 +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 f597dc69e7 chore: bump vitest + use threads 2023-02-21 20:44:00 +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
Haoqun Jiang 1d09540798
ci: add a ecosystem-ci-trigger workflow (#7618) 2023-02-10 19:02:41 +08:00
Evan You 78b86150b8 release: v3.3.0-alpha.4 2023-02-06 14:10:56 +08:00
Evan You 92bb189ca7 fix(build): fix const enum w/ number values 2023-02-06 14:03:15 +08:00
Evan You 097f6beca2 release: v3.3.0-alpha.3 2023-02-06 10:27:25 +08:00