Commit Graph

4378 Commits

Author SHA1 Message Date
edison 5199a12f88
fix(cssVars): cssVar names should be double-escaped when generating code for ssr (#8824)
close #7823
2023-11-30 18:35:20 +08:00
Evan You 6fcec3b2c7 chore: fix width/height check condition 2023-11-30 18:34:06 +08:00
edison 7cbcee3d83
fix(compiler-sfc): support resolving components from props (#8785) 2023-11-30 18:03:23 +08:00
Evan You 9845f1d2a1 chore: optimize widht/height element check 2023-11-30 17:59:27 +08:00
Evan You 38aaa8c886 perf: optimize on* prop check 2023-11-30 17:52:51 +08:00
zhoulixiang bfc1838f31
fix(runtime-dom): set width/height with units as attribute (#8781)
Technically, width / height on `<img>`, `<video>` etc must be integers and cannot contain units. When set as a DOM property, the DOM force converts strings with units to 0. However, this is such a common mistake that most browsers nowadays supports such usage, and it makes sense for Vue to at least let it be set as an attribute.
2023-11-30 17:27:23 +08:00
Eduardo San Martin Morote bcca475dbc
feat(compiler-core): support accessing Error as global in template expressions (#7018) 2023-11-30 16:39:40 +08:00
Evan You 2a507e32f0 feat(compiler-sfc): bump postcss-modules to v6 2023-11-30 16:37:40 +08:00
Evan You c46f91fd9e chore: bump @vue/repl 2023-11-30 13:11:27 +08:00
Rizumu Ayaka 184feee3ba
test: v-pre (#14)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2023-11-30 05:31:26 +08:00
ubugeeei 503615a31e
feat(compiler): v-on event modifier (#8) 2023-11-30 05:11:59 +08:00
ubugeeei 61f339ce7d
feat: vapor component base (#5)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2023-11-30 02:11:21 +08:00
三咲智子 Kevin Deng da931ea942
refactor: use enum 2023-11-29 22:09:46 +08:00
三咲智子 Kevin Deng b3fdccec6f
refactor: remove InsertPosition 2023-11-29 21:20:05 +08:00
三咲智子 Kevin Deng 5df8f0e134
Merge remote-tracking branch 'upstream/minor' 2023-11-29 21:16:14 +08:00
ZHAO Jin-Xiang 3071de44bc
fix(compiler-core): fix referencing typo (#9708) 2023-11-29 21:15:44 +08:00
三咲智子 Kevin Deng 377723d8b2
Merge remote-tracking branch 'upstream/minor' 2023-11-29 21:10:26 +08:00
三咲智子 Kevin Deng 55ef2f0c5f
fix(compiler-sfc): vue import 2023-11-29 20:58:10 +08:00
Jeff Yang 0ff307988a
chore: fix typo in compiler-vapor (#10) 2023-11-29 20:54:45 +08:00
edison 509c192ff4
chore: fix typo (#9689) 2023-11-29 12:26:10 +08:00
ZHAO Jin-Xiang fff7b864f4
feat: use enum to replace const enum (#9261)
close #1228
2023-11-29 12:24:50 +08:00
三咲智子 Kevin Deng 4549e28665
fix: playground 2023-11-29 02:38:01 +08:00
三咲智子 Kevin Deng ab9a2d28d7
feat: build vapor & add @vue/vapor package 2023-11-29 01:26:01 +08:00
Evan You 47ea285be3 fix(parser): properly set initial inXML state based on root ns 2023-11-28 18:37:17 +08:00
Evan You ef97e8b07d fix(parser): should reset inRCDATA state 2023-11-28 18:31:17 +08:00
Rizumu Ayaka 4200d4e2d0
feat: add vapor errors of `v-bind` / `v-on` (#3)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2023-11-28 18:17:41 +08:00
白雾三语 c1ddb700a8
test: add dynamic root nodes and interpolation (#1)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2023-11-28 13:06:44 +08:00
Evan You 7d89887f71 release: v3.4.0-alpha.3 2023-11-28 08:26:01 +08:00
Evan You 5afd04cbb8 chore: Merge branch 'main' into minor 2023-11-28 08:14:04 +08:00
renovate[bot] 3a65134360
chore(deps): update all non-major dependencies (#9682)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-28 08:03:07 +08:00
renovate[bot] 31f6ebc4df
fix(deps): update compiler to ^7.23.4 (#9681)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-28 08:02:38 +08:00
三咲智子 Kevin Deng 9f8ba9821f feat(dx): link errors to docs in prod build (#9165) 2023-11-28 07:39:11 +08:00
三咲智子 Kevin Deng 8b075796d7
feat: scheduler 2023-11-27 23:48:36 +08:00
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 ebaeb2e0aa release: v3.4.0-alpha.2 2023-11-27 17:26:22 +08:00
Evan You 41ff68ea57 feat(compiler): improve parsing tolerance for language-tools 2023-11-27 16:55:54 +08:00
Evan You 0721daf22d chore: Merge branch 'main' into minor 2023-11-27 15:59:07 +08:00
Evan You fb619cf9a4 fix(compiler-sfc): fix ast reuse for ssr 2023-11-27 15:38:30 +08:00
Evan You 678378afd5 fix(compiler-sfc): use correct compiler when re-parsing in ssr mode 2023-11-27 15:06:07 +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
三咲智子 Kevin Deng c53af4d57d
refactor: extract dynamicChildren 2023-11-27 14:16:11 +08:00
三咲智子 Kevin Deng 339a658cef
fix: use parser from runtime-dom 2023-11-27 14:13:09 +08:00
Evan You f15d2f6cf6 perf: avoid sfc source map unnecessary serialization and parsing 2023-11-27 12:26:51 +08:00
三咲智子 Kevin Deng 0867ca0139
feat: add size report for compiler vapor 2023-11-27 07:16:24 +08:00
三咲智子 Kevin Deng f9c607dbe4
chore: add todo comment for prepend append 2023-11-27 06:34:37 +08:00
三咲智子 Kevin Deng 71cf732d6d
feat: append & prepend multiple elements 2023-11-27 06:22:10 +08:00
三咲智子 Kevin Deng 6ff8b1bf0d
feat: use Array for Fragment, instead of native DocumentFragment 2023-11-27 05:29:38 +08:00
三咲智子 Kevin Deng 07373d41fd
feat: append multiple node 2023-11-27 05:16:21 +08:00
三咲智子 Kevin Deng df0f6275d4
test: fix template 2023-11-27 00:23:19 +08:00
三咲智子 Kevin Deng 12187fbc85
feat: dynamic root nodes 2023-11-26 03:53:47 +08:00
三咲智子 Kevin Deng f1e5bee7d5
fix: root 2023-11-26 03:24:12 +08:00
三咲智子 Kevin Deng 9602cd2011
feat: add api for document.createTextNode 2023-11-26 03:12:02 +08:00
三咲智子 Kevin Deng 45858c085d
fix: static + dynamic root nodes 2023-11-26 03:08:35 +08:00
三咲智子 Kevin Deng ac686033aa
feat: fragment 2023-11-26 02:13:59 +08:00
Evan You 157cfcb796 refactor: restore isSelfClosing as optional property 2023-11-25 22:55:39 +08:00
Evan You bab5bd375b chore: fix tests with rawExp 2023-11-25 22:50:40 +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
Rizumu Ayaka 9b2a6ffe70
test: v-once as root node (#2) 2023-11-25 17:05:00 +08:00
三咲智子 Kevin Deng bdbd524d59
Merge remote-tracking branch 'upstream/main' 2023-11-25 17:04:03 +08:00
Evan You ceec69c8cc fix: avoid confusing breakage in @vitejs/plugin-vue 2023-11-25 16:39:42 +08:00
三咲智子 Kevin Deng a2ba499186
chore: update todo 2023-11-25 16:25:43 +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 e8e3ec6ca7 perf(compiler-sfc): remove magic-string trim on script
magic-string's trim method uses a regex check for aborting which turns
out to be extremely expensive - it cna take up to 10% time in total SFC
compilation! The usage here is purely aesthetic so simply removing it
for a big perf gain is well worth it.
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 79d3cc6cec wip: should not reuse AST when using custom compiler 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 b6886a80b1 wip: force re-parse on reused sfc template ast 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 b59eabdc0d refactor: use more efficient walk for importUsageCheck 2023-11-25 16:18:29 +08:00
Evan You 37f9d3da8f wip: compiler-sfc should not attach ast on template with src import 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 5fc695be26 wip: support reusing template ast from sfc descriptor 2023-11-25 16:18:29 +08:00
Evan You fc4f801070 wip: decodeEntities test 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 bc170c49fc chore: disable parser tests for now 2023-11-25 16:18:29 +08:00
Evan You 59e38f18d8 wip: parseMode 2023-11-25 16:18:29 +08:00
Evan You ae6fba9495 perf: optimize makeMap 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 069f838691 release: v3.3.9 2023-11-25 16:11:31 +08:00
三咲智子 Kevin Deng 7e85be836a
refactor: root id 2023-11-24 20:41:46 +08:00
三咲智子 Kevin Deng 91e7f9bb83
feat: dynamic root node 2023-11-24 20:29:05 +08:00
三咲智子 Kevin Deng acec2409c7
test: add unit tests for directives 2023-11-24 20:03:28 +08:00
三咲智子 Kevin Deng 74031bac34
fix: remove get children when no dynamic node 2023-11-24 19:57:20 +08:00
三咲智子 Kevin Deng b70aa0a9a0
feat: v-cloak 2023-11-24 15:40:38 +08:00
三咲智子 Kevin Deng c9beaf6916
feat: v-pre 2023-11-24 15:37:49 +08:00
三咲智子 Kevin Deng 7ddf69e6e9
feat: once 2023-11-24 15:25:34 +08:00
三咲智子 Kevin Deng 0b07affe0b
fix: typo 2023-11-24 15:02:47 +08:00
三咲智子 Kevin Deng 30ba8daeb2
fix: self closing tag 2023-11-24 14:59:10 +08:00
三咲智子 Kevin Deng dc3bc7016e
feat: v-text 2023-11-24 14:48:51 +08:00
三咲智子 Kevin Deng 74b4328337
feat: v-html 2023-11-24 14:44:57 +08:00
三咲智子 Kevin Deng 567feccb39
chore: add todo comment 2023-11-24 11:42:16 +08:00
三咲智子 Kevin Deng e44d616c80
chore: codegen 2023-11-24 11:15:33 +08:00
三咲智子 Kevin Deng d02629efa2
refactor: helpers, import type, cleanup 2023-11-24 11:07:31 +08:00
三咲智子 Kevin Deng c347c02062
test: counter 2023-11-23 23:46:21 +08:00
三咲智子 Kevin Deng d21fd83a6d
Merge remote-tracking branch 'upstream/main' 2023-11-23 23:44:07 +08:00
三咲智子 Kevin Deng cd768d262f
refactor: tidy 2023-11-23 23:43:19 +08:00
三咲智子 Kevin Deng 1d2f66e111
feat: binding 2023-11-23 23:42:16 +08:00
Carlos Rodrigues 1c525f75a3
types: support app.component to be `defineComponent` (#9662) 2023-11-22 22:18:02 +08:00
三咲智子 Kevin Deng 79b8a0905b
feat!: remove reactivity transform (#9321)
BREAKING CHANGE: Reactivity Transform was marked deprecated in 3.3 and is now removed in 3.4. This change does not require a major due to the feature being experimental. Users who wish to continue using the feature can do so via the external plugin at https://vue-macros.dev/features/reactivity-transform.html
2023-11-21 18:06:42 +08:00
Evan You afb21f7813 test: fix keepalive transition out-in test case 2023-11-21 17:57:44 +08:00
Evan You 1ea775633d chore: Merge branch 'main' into minor 2023-11-21 09:48:26 +08:00
Evan You fc772dbf73 chore: exclude private packages from version updates 2023-11-21 09:37:37 +08:00
Evan You 8fddb19c3a workflow: use workspace deps 2023-11-21 09:22:12 +08:00
三咲智子 Kevin Deng 717aad275d
Merge remote-tracking branch 'upstream/main' 2023-11-20 18:28:52 +08:00
renovate[bot] 32fb79df41
chore(deps): update all non-major dependencies (#9636)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 17:38:13 +08:00
三咲智子 Kevin Deng b5eb4e78b8
fix: import 2023-11-20 14:20:21 +08:00
renovate[bot] 07bd2cd27e
chore(deps): update dependency vite to v5 (#9630)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2023-11-18 10:36:56 +08:00