Commit Graph

858 Commits

Author SHA1 Message Date
Evan You e49dffc9ec fix(parser): directive arg should be undefined on shorthands with no arg 2023-11-27 18:10:00 +08:00
Evan You 41ff68ea57 feat(compiler): improve parsing tolerance for language-tools 2023-11-27 16:55:54 +08:00
Evan You fb619cf9a4 fix(compiler-sfc): fix ast reuse for ssr 2023-11-27 15:38:30 +08:00
Evan You 2e65ea481f fix(compiler-core): fix line/column tracking when fast forwarding 2023-11-27 14:49:13 +08:00
Evan You 50cde7cfbc perf(compiler-sfc): use faster source map addMapping 2023-11-27 14:42:12 +08:00
Evan You d193666fdc chore: use MappingItem type 2023-11-27 14:16:16 +08:00
Evan You f15d2f6cf6 perf: avoid sfc source map unnecessary serialization and parsing 2023-11-27 12:26:51 +08:00
Evan You 157cfcb796 refactor: restore isSelfClosing as optional property 2023-11-25 22:55:39 +08:00
Evan You e48cbf02be refactor: restore SourceLocation.source
this is used extensively in @vue/language-tools and does not have
noticeable impact on performance
2023-11-25 19:22:39 +08:00
Evan You 08f0baa2ad refactor: preserve source location convention in sfc mode for base parser
For compatibility w/ usage like https://github.com/vue-macros/vue-macros/blob/main/packages/setup-block/src/core/index.ts
2023-11-25 18:07:29 +08:00
Evan You be6cae7dac chore: remove isSelfClosing property 2023-11-25 18:03:22 +08:00
Evan You 6ec85ae872 chore: restructure parser files 2023-11-25 16:18:29 +08:00
Evan You c11002f16a perf(codegen): optimize source map generation 2023-11-25 16:18:29 +08:00
Evan You 3be53d9b97 perf(codegen): optimize line / column calculation during codegen
Previously, many CodegenContext.push() calls were unnecessarily
iterating through the entire pushed string to find newlines, when we
already know the newline positions for most of calls. Providing fast
paths for these calls significantly improves codegen performance when
source map is needed.

In benchmarks, this PR improves full SFC compilation performance by ~6%.
2023-11-25 16:18:29 +08:00
Evan You 20732366b9 perf: optimize position cloning 2023-11-25 16:18:29 +08:00
Evan You 3ee343928a wip: parser v2 compat 2023-11-25 16:18:29 +08:00
Evan You 6022ac05c4 chore: document rationale for ignoring some parsing errors 2023-11-25 16:18:29 +08:00
Evan You e702b278d4 wip: shorten some method names 2023-11-25 16:18:29 +08:00
Evan You 59227d4124 wip: parse error tests 2023-11-25 16:18:29 +08:00
Evan You 1b4efc30c3 wip: should parse sfc template with lang=html 2023-11-25 16:18:29 +08:00
Evan You e41cf8dc59 refactor: better naming for baseCompile argument 2023-11-25 16:18:29 +08:00
Evan You 94c86269d0 refactor: fix v-bind no-exp shorthand for new parser 2023-11-25 16:18:29 +08:00
Evan You e5afca6c1e wip: treat template with preprocessor as plain text 2023-11-25 16:18:29 +08:00
Evan You 059caafc13 wip: pass all compiler-sfc tests 2023-11-25 16:18:29 +08:00
Evan You dda4fd526e wip: pass all compiler-ssr tests 2023-11-25 16:18:29 +08:00
Evan You 5a44b84cde wip: pass all compiler-dom tests 2023-11-25 16:18:29 +08:00
Evan You 40f72d5e50 feat(compiler-core): support specifying root namespace when parsing 2023-11-25 16:18:29 +08:00
Evan You a1b10a21ac wip: pass more compiler-dom tests 2023-11-25 16:18:29 +08:00
Evan You 1912af04e3 wip: entities parsing in browser 2023-11-25 16:18:29 +08:00
Evan You caabba7590 wip: tune perf 2023-11-25 16:18:29 +08:00
Evan You 082b5a71c6 wip: pass all compiler-core tests 2023-11-25 16:18:29 +08:00
Evan You c4e50e46bb wip: more tests passing 2023-11-25 16:18:29 +08:00
Evan You e05ba29555 wip: pass all non-error parsing tests 2023-11-25 16:18:29 +08:00
Evan You a60ad9180d refactor: swap to new template parser
- get rid of SourceLocation.source for memory efficiency
- move source location generation logic transform phase into the parser
  itself so that SourceLocation.source is no longer needed
  - move v-for expression parsing into the parser itself
  - added nameLoc on AttributeNode for use in transformElement

Tests are not passing yet.
2023-11-25 16:18:29 +08:00
Evan You 65b44045ef wip: parse mode 2023-11-25 16:18:29 +08:00
Evan You 66c0ed0a3c perf: optimize away isBuiltInType 2023-11-25 16:18:29 +08:00
Evan You 59e38f18d8 wip: parseMode 2023-11-25 16:18:29 +08:00
Evan You 81e941da5b wip: getting ready for textmode handling 2023-11-25 16:18:29 +08:00
Evan You 5a855c57d7 wip: comments 2023-11-25 16:18:29 +08:00
Evan You a12abe72bc wip: refine element type 2023-11-25 16:18:29 +08:00
Evan You c342433cb5 wip: v-pre handling 2023-11-25 16:18:29 +08:00
Evan You 1a1f680536 wip: pre tag handling 2023-11-25 16:18:29 +08:00
Evan You 5762288bdf wip: parse interpolation 2023-11-25 16:18:29 +08:00
Evan You 70edd1c61e wip: check duplicated attributes 2023-11-25 16:18:29 +08:00
Evan You ec33e61e87 wip: remove htmlMode 2023-11-25 16:18:29 +08:00
Evan You db085b4a79 wip: remove foreignContext check 2023-11-25 16:18:29 +08:00
Evan You 65c0b31148 wip: modifiers 2023-11-25 16:18:29 +08:00
Evan You b81415ceac wip: source location for props 2023-11-25 16:18:29 +08:00
Evan You 08038a938c wip: parse directive in tokenizer 2023-11-25 16:18:29 +08:00
Evan You 622d34efe1 wip: optimize condenseWhitespace 2023-11-25 16:18:29 +08:00
Evan You 9aa8effec3 wip: parse directives 2023-11-25 16:18:29 +08:00
Evan You f131a4723b wip: loc for elements 2023-11-25 16:18:29 +08:00
Evan You f7db16b9cf wip: refactor line / column generation 2023-11-25 16:18:29 +08:00
Evan You 6311ebbf32 wip: save 2023-11-25 16:18:29 +08:00
Evan You 19bd714239 wip: port parser 2023-11-25 16:18:29 +08:00
Evan You 2a6292e37f wip: remove unused options 2023-11-25 16:18:29 +08:00
Evan You bc37eae8b0 wip: strip xmlMode / htmlMode 2023-11-25 16:18:29 +08:00
Evan You 5b9141cc30 wip: setup 2023-11-25 16:18:29 +08:00
Evan You 1ea775633d chore: Merge branch 'main' into minor 2023-11-21 09:48:26 +08:00
renovate[bot] 16a6438236
chore(deps): update lint (#9627)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-11-18 10:33:24 +08:00
Tycho d5fd343555
refactor(compiler-sfc): reuse `forAliasRE` regex from compiler-core (#9568) 2023-11-10 14:22:00 +08:00
Ha Pam 341b5416b2
chore: typo and grammar (#8568) [ci skip]
Co-authored-by: Han <phamvanhan@gmail.com>
2023-11-10 13:42:26 +08:00
Evan You 364f319d21 fix(hydration): force hydration for v-bind with .prop modifier
ref #7490
2023-11-10 13:13:07 +08:00
edison a2d810eb40
fix(compiler-core): avoid rewriting scope variables in inline for loops (#7245)
close #7238
2023-11-09 17:20:54 +08:00
zhiyuanzmj 26399aa6fa
feat(compiler-core): support v-bind shorthand for key and value with the same name (#9451) 2023-11-02 17:48:11 +08:00
丶远方 a75d1c5c62
fix(compiler-core): known global should be shadowed by local variables in expression rewrite (#9492)
fix #9482
2023-10-28 15:22:03 +08:00
花果山大圣 f7e80ee4a0
feat(compiler-core): export error message (#8729) 2023-10-27 23:28:40 +09:00
edison e09c26bc9b
fix(compiler-ssr): proper scope analysis for ssr vnode slot fallback (#7184)
close #7095
2023-10-25 01:01:29 +08:00
Evan You 28a6f05bf5 chore: remove internal flag on hmr option 2023-10-22 09:10:43 +08:00
Evan You 733437691f fix(hmr): fix hmr error for hoisted children array in v-for
fix #6978
close #7114
2023-10-21 21:08:49 +08:00
丶远方 712f96d6ac
perf: replace Map/Set with WeakMap/WeakSet (#8549) 2023-10-20 17:11:52 +08:00
Evan You ae7453f0f1 chore: use moduleResolution: bundler + shim estree-walker 2023-06-23 08:54:25 +08:00
Evan You a95e612b25 chore: rename globals allow list
close #8416
2023-05-26 11:07:13 -05:00
Evan You 8dc8cf852b fix(compiler-core): treat floating point numbers as constants
close #8295
2023-05-12 10:53:40 +01:00
Evan You b434d12bf6 fix(compiler-core): handle slot argument parsing edge case
ref https://github.com/vuejs/language-tools/issues/2710
2023-04-27 16:55:37 +08:00
Evan You bbd8301a13 feat(deprecation): deprecate v-is directive 2023-04-21 15:30:26 +08:00
Evan You 5f0394a5ab feat(deprecation): deprecate @vnode hooks in favor of vue: prefix 2023-04-21 15:20:12 +08:00
Evan You 0f77a2b1d1 fix(compiler): fix expression codegen for literal const bindings in non-inline mode 2023-04-18 11:39:53 +08:00
Evan You 8aa4ea81d6 feat(compiler-sfc): support relative imported types in macros 2023-04-15 22:08:39 +08:00
Evan You d0ac57872c refactor(compiler-sfc): extract more defineProps logic 2023-04-11 16:05:00 +08:00
Evan You 19e17a951c perf(compiler): use source-map-js 2023-04-09 16:50:20 +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 6bda4b6688 fix(compiler-core): fix codegen for literal const in non-inline mode 2023-03-30 15:19:27 +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
三咲智子 Kevin Deng 77686cf476
fix(compiler-core): check if expression is constant (#7974)
close #7973
2023-03-29 09:02:16 +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 1b69d5f2f4
fix(compiler-sfc): unwrap TS node for defineProps (#7340) 2023-03-28 15:22:01 +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 58e5c51149 build: upgrade to TypeScript 5.x 2023-03-23 17:11:35 +08:00
Evan You aac163110f refactor: remove circular dependencies in compiler 2023-03-23 16:30:42 +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
Anthony Fu 4a16b204be chore: run format 2023-01-12 12:58:11 +01: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
三咲智子 Kevin Deng 9060bf0353
refactor(compiler-core): make ast.helpers a Set (#6774) 2022-11-13 20:44:02 -05: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 001184e6bb fix(compiler/v-model): catch incorrect v-model usage on prop bindings
close #5584
2022-11-10 10:42:27 +08: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
白雾三语 5bfe438ef3
fix(compiler-core/v-on): only apply case preservation on native elements (#6902)
fix #6900
2022-11-08 21:58:22 -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
Rudy 48876182db
fix(compiler-core): keep whitespaces between interpolation and comment (#6828)
fix #6352
2022-11-08 09:50:43 -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 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
世新 82e3f2dc30
chore: symbols as helperNameMap index type (#6622) 2022-10-06 05:26:16 +08:00
Anthony Fu 534593cfa8 chore: format 2022-10-03 15:30:43 +08:00
Evan You f402d416b8 refactor(compiler-core): extract props merging helper 2022-09-28 10:59:13 +08:00
Dunqing f9d43b99f8
fix(compilre-core): dynamic v-on and static v-on should be merged (#6747)
fix #6742
2022-09-27 22:46:55 -04:00
Evan You 03820193a8 fix(ssr): fix pre tag windows newline hydration mismatch
fix #6410
2022-09-28 08:45:32 +08:00
Evan You fc5bdb36ed fix(runtime-core): avoid hoisted vnodes retaining detached DOM nodes
fix #6591
2022-09-27 16:20:52 +08:00
Evan You 00036bb52c fix(slots): ensure different branches of dynamic slots have different keys
fix #6202
2022-08-30 15:55:09 +08:00
Evan You 0739f8909a fix(custom-element): fix event listeners with capital letter event names on custom elements
close https://github.com/vuejs/docs/issues/1708
close https://github.com/vuejs/docs/pull/1890
2022-08-30 14:07:35 +08:00
Travis 7fbc933f4d
fix(compiler-core): fix svg with directives being incorrectly hoisted (#5919)
fix #5289
2022-05-22 21:40:53 -04:00
Evan You 516bc548fc fix(compiler-ssr): fix wrong attrs fallthrough on non-single-root v-if branches
fix #5140
2022-05-19 11:21:17 +08:00
Evan You 415091b0ee fix(compiler-core): should generate HYDRATE_EVENTS flag on dynamic component that resolves to element
fix #5870
2022-05-17 16:39:48 +08:00
阿崔cxr e85e0a7f3a
chore: use ast node creation helper (#5255) 2022-05-13 04:37:50 -04:00
edison 242914d938
fix(reactivity-transform): fix props access codegen for non-identifier prop names (#5436)
fix #5425
2022-05-12 22:38:46 -04:00
Evan You 6283b2ec41 fix(compiler-dom): properly stringify v-html/v-text with constant value
fix #5439
close #5445
2022-05-13 08:57:43 +08:00
Evan You 0f00cf43cf fix(compiler-core): normalize v-bind:style with array literal value
fix #5106
2022-05-12 16:31:16 +08:00
edison cd395559ce
chore(compiler-core): use aliasHelper (#3592) 2022-05-11 20:40:05 -04:00
Evan You 51f3d386de fix(compiler-core): template v-if should never be treated as dev root fragment
close #5189
2022-05-11 17:43:20 +08:00
Evan You 410144149f fix(compiler-sfc): defineProps return binding or rest binding should be considered reactive 2022-05-10 17:34:15 +08:00
Evan You ce34d9114e chore: remove v3.vuejs.org references 2022-02-07 13:13:26 +08:00
Evan You 60cf175d88 feat(ssr): support custom directive getSSRProps in optimized compilation
close #5304
2022-02-04 08:58:31 +08:00
btea 63210fe41a
refactor: includes instead of indexOf (#5117) 2022-01-21 02:36:48 -05:00
edison 9f55e6fbb1
fix(compiler-core): handle v-memo in template v-for (#5291)
fix #5288
2022-01-21 01:54:46 -05:00
Yugang Cao e603fd258c
chore: fix typo (#5261) [ci skip] 2022-01-21 01:18:34 -05:00
Evan You ae4b0783d7 chore: update repo references 2022-01-18 16:43:59 +08:00
Forzen FIsh 57a09331b2
chore: fix some typos (#5050) [ci skip] 2021-12-11 20:58:46 -05:00
Evan You 41c18effea feat: support ref in v-for, remove compat deprecation warnings 2021-12-10 23:49:01 +08:00
Evan You 4b0ca8709a feat(compiler-core): support aliasing vue: prefixed events to inline vnode hooks 2021-12-10 16:09:23 +08:00
Evan You 1c9a4810fc fix(compiler): force block for custom dirs and inline beforeUpdate hooks
to ensure they are called before children updates
2021-12-10 15:36:10 +08:00
Forzen FIsh 095fe269cb
chore: remove redundant variable declaration (#5053) 2021-12-05 23:10:58 -05:00
Evan You 29beda7c6f fix(compiler-dom): avoid bailing stringification on setup const bindings 2021-12-06 11:53:02 +08:00
btea e1ee3c4fe8
refactor(compiler-core): refactor isComponentTag method (#4934) 2021-11-14 21:39:13 -05:00
Che Guevara e772108922
chore: break compat mode v-for/v-if precedence check loop early (#4773) 2021-10-09 17:12:34 -04:00
Che Guevara 6bcb7a5ea3
chore: remove deprecated usage of String.prototype.substr (#4699) 2021-10-08 12:31:34 -04:00
Evan You 646e694f0a chore: remove babelParserDefaultPlugins
The version of @babel/parser we are using now has these plugins enabled by default.
2021-10-07 19:33:06 -04:00
Evan You 467e113b95
feat(compiler-sfc): `<script setup>` defineProps destructure transform (#4690) 2021-09-27 14:24:21 -04:00
Herrington Darkholme 7aa0ea06c8
fix(compiler-core): should treat attribute key as expression (#4658) 2021-09-25 14:21:09 -04:00
Evan You 7b7e28ad6a test: fix utils test 2021-09-24 12:34:31 -04:00
Evan You fc85ad28ae fix(build): avoid importing @babel/parser in esm-bundler build
fix #4665
2021-09-23 23:20:53 -04:00
Evan You 8e05b7f9fc fix(ssr): fix ssr runtime helper import in module mode 2021-09-23 10:08:28 -04:00
Evan You d74f21a42c fix(compiler-ssr): import ssr helpers from updated path 2021-09-22 23:28:20 -04:00
Evan You 6257adeaac fix(compiler-core): more robust member expression check in Node 2021-09-22 17:16:21 -04:00
Evan You 686d0149b6 fix(compiler-core): generate TS-cast safe assignment code for v-model
fix #4655
2021-09-22 16:55:06 -04:00
Ziwen Mei 1873f0f48c
chore(compiler-core): fix typo in transformElement (#4649) [ci skip] 2021-09-22 10:12:52 -04:00
Ziwen Mei bf267b1ce3
chore(compiler-core): fix typo in errors.ts and options.ts (#4650) [ci skip] 2021-09-22 10:12:33 -04:00
Ziwen Mei 56be30b5c7
chore(compiler-core): fix typo in hoistStatic (#4625) [ci skip] 2021-09-21 13:06:39 -04:00
就是喜欢陈粒 5addef8ecd
fix(compiler-core): add check when v-else-if is behind v-else (#4603) 2021-09-21 12:59:38 -04:00
Herrington Darkholme d8a36d0198
fix(compiler-core): only merge true handlers (#4577) 2021-09-21 12:37:51 -04:00
Herrington Darkholme 044812525f
fix(compiler-core): dedupe renderSlot's default props (#4557) 2021-09-21 12:31:27 -04:00
Evan You d23fde3d3b fix(compiler-core): more robust member expression check when running in node
fix #4640
2021-09-21 12:19:27 -04:00
Evan You 0dc521b9e1 fix(compiler-core): support ts syntax in expressions when isTS is true 2021-09-20 11:51:01 -04:00
Evan You cb2d7c0e3c fix(compiler-core): ensure hoisted scopeId code can be treeshaken 2021-09-19 17:14:26 -04:00
lidlanca fc968d607b
fix(compiler-core): v-on inline async function expression handler (#4569)
fix #4568
2021-09-16 12:36:04 -04:00
ygj6 f29d061124
fix(compiler): fix template ref codegen for setup-maybe-ref binding types (#4549)
fix #4546
2021-09-16 11:33:16 -04:00
Roy Eden b8653d390a
fix(compiler): condense whitespaces in static class attributes (#4432)
fix #4251
2021-09-07 12:01:17 -04:00
Herrington Darkholme 5d262e08d5
fix(compiler-core): pick last char when dynamic directive doesn't close (#4507) 2021-09-07 11:36:37 -04:00
Herrington Darkholme 1c4f0f0afd
chore: fix typo in jsdoc (#4526) [ci skip] 2021-09-07 11:31:27 -04:00
Evan You 1045590d4b fix(compiler-core): avoid runtime dependency on @babel/types
fix #4531
2021-09-07 09:54:49 -04:00
edison 5594643d7b
fix(compiler-sfc): fix script setup ref assignment codegen edge case (#4520)
fix #4514
2021-09-05 18:02:50 -04:00
ygj6 4cd282b0a1
fix(compiler): generate function ref for script setup if inline is ture. (#4492) 2021-09-02 11:27:20 -04:00
dependabot[bot] 305883a12f
build(deps-dev): bump typescript from 4.3.5 to 4.4.2 (#4482)
* build(deps-dev): bump typescript from 4.3.5 to 4.4.2

Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.3.5 to 4.4.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.3.5...v4.4.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps-dev): bump typescript from 4.3.5 to 4.4.2

* test: fix nodeOps types

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carlos Rodrigues <carlos@hypermob.co.uk>
Co-authored-by: Evan You <yyx990803@gmail.com>
2021-09-02 09:53:57 -04:00
Herrington Darkholme c00925ed5c
fix(compiler): report invalid directive name error (#4494) (#4495) 2021-09-02 09:42:20 -04:00
Evan You 3628991906 fix(compiler): only generate non-static ref for script setup if the binding exists
fix #4431
2021-09-01 17:27:03 -04:00
Herrington Darkholme 4502a0eab5
refactor(compiler): refine CDATA endTokens (#4459) 2021-09-01 16:43:10 -04:00
Herrington Darkholme 7178716b4c
chore: fix typo in error message (#4434) [ci skip] 2021-09-01 16:42:24 -04:00
Evan You 935b4e2210 fix(compiler-core): remove no longer necessary withScopeId import in generated code 2021-09-01 11:30:34 -04:00
Evan You 4c468eb30a fix(build): avoid imports to @babel/types in client build of compiler-core 2021-08-24 12:39:38 -04:00
shadowings-zy 32827506ff
fix(compiler-core): fix duplicated component identifier for names with non-ascii chars (#4429)
fix #4422
2021-08-24 11:48:08 -04:00
Evan You f1fa30adc3 refactor(ref-transform): improve algorithm into one pass 2021-08-23 18:22:21 -04:00
Evan You 06051c4bf2 feat(experimental): support ref transform for sfc normal `<script>` 2021-08-23 16:00:46 -04:00
Evan You 986681568f chore: export extractIdentifiers 2021-08-23 12:18:43 -04:00
Evan You e565831c98 feat(experimental): shouldTransform for ref-transform 2021-08-23 10:45:58 -04:00
Evan You db8dc753c0 feat(experimental): standalone ref transform 2021-08-22 22:21:42 -04:00
Evan You 84b24a71f0 chore: bump deps 2021-08-22 15:33:21 -04:00
Evan You 73f8cae465 refactor(compiler): further extract babel ast utilities 2021-08-22 14:51:16 -04:00
Evan You 62f752552a refactor(compiler): extract shared ast transform utils
Also improve referenced identifier check using isReferenced from  @babel/types
2021-08-22 13:24:16 -04:00
fishDog 092bdcdf58
fix(compiler-core): fix style binding edge case (#4319)
where static `style` attribute and `:style` with constant binding are used together

fix #4317
2021-08-16 16:37:31 -04:00
Evan You a6c1db2728 fix(compiler-core): fix hoisting logic for elements with cached handlers + other bindings
fix #4327
2021-08-16 15:57:10 -04:00
fishDog abb3a81e87
fix(compiler-core): detected forwarded slots in nested components (#4268)
fix #4244
2021-08-06 22:37:55 -04:00
edison a211e271ee
fix(v-memo): ensure track block when returning cached vnode (#4270)
fix #4253
2021-08-06 21:44:45 -04:00
webfansplz 9c931d8154
chore(types): remove unnecessary non-null assertion (#4169) 2021-07-21 15:50:08 -04:00
Evan You a21ca3dccc fix(compiler-core): fix self-closing tags with v-pre 2021-07-19 19:29:28 -04:00
Evan You 7e75b4105a refactor: better fix for ec6abe8d 2021-07-19 19:23:44 -04:00
Evan You ec6abe8d5e fix(compiler-sfc): fix whitespace preservation when block contains single self-closing tag 2021-07-19 18:54:35 -04:00
Evan You 47f488350c chore: run updated prettier 2021-07-19 18:24:18 -04:00
Austin Keener dd0f9d1ce6
feat(compiler): allow 'comments' option to affect comment inclusion in dev (#4115)
Close: #3392
Replace: #3395
2021-07-19 11:40:37 -04:00
webfansplz df0ce21836
chore(types): improve of type assertion (#4141) 2021-07-19 10:32:07 -04:00
Evan You 317654b34f chore: fix codegen error due to scopeId deprecation change 2021-07-16 14:30:49 -04:00
fishDog eca4d7891a chore(compiler-core): reduce unnecessary cache inside v-once (#4112) 2021-07-16 14:30:49 -04:00
Evan You e5a4412764 feat(sfc): support namespaced component tags when using `<script setup>` 2021-07-16 14:30:49 -04:00
Evan You a8edf2bdff refactor: remove outdated slot ctx wrapper codegen 2021-07-16 14:30:49 -04:00
Evan You 29732c2c86 fix: ignore .prop/.attr modifiers in ssr 2021-07-16 14:30:49 -04:00
Evan You f596e008ef refactor: remove deprecated scopeId codegen
BREAKING CHANGE: Output of SFC using `<style scoped>` generated by 3.2+
will be incompatible w/ runtime <3.2.
2021-07-16 14:30:49 -04:00
Evan You 1c7d737cc8 feat: support v-bind .prop & .attr modifiers
Also allows render function usage like the following:

```js
h({
  '.prop': 1, // force set as property
  '^attr': 'foo' // force set as attribute
})
```
2021-07-16 14:30:49 -04:00
Evan You 3b64508e3b feat: v-memo 2021-07-16 14:30:49 -04:00