Commit Graph

1149 Commits

Author SHA1 Message Date
Evan You 16174da21d
fix(compiler-core): fix loc.source for end tags with whitespace before >
close #10694
close #10695
2024-04-15 11:50:57 +08:00
Evan You f709238c30
chore: use correct parse in parser tests for whitespace: condense 2024-04-15 11:35:05 +08:00
renovate[bot] 01172fdb77
fix(deps): update compiler (#10581)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-25 16:22:58 +08:00
renovate[bot] c6e245efe4
chore(deps): update all non-major dependencies (#10580)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-25 15:10:49 +08:00
renovate[bot] c3dd9378b0
chore(deps): update all non-major dependencies (#10539)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-18 15:14:20 +08:00
renovate[bot] de0336a7c3
fix(deps): update compiler (#10492)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-11 16:08:51 +08:00
Evan You f66a75ea75 release: v3.4.21 2024-02-28 12:12:15 +01:00
Evan You 89de26cdcd release: v3.4.20 2024-02-26 10:07:13 +08:00
Evan You e0e02535cd fix(parser): should not treat uppercase components as special tags
close #10395
2024-02-25 23:05:15 +08:00
孟世博 3199189901
chore: standardize the spelling of TypeScript (#10186) [ci skip] 2024-02-20 21:43:45 +08:00
Evan You 272ab9fbdc release: v3.4.19 2024-02-13 18:08:22 +08:00
Evan You 64f431aab0 release: v3.4.18 2024-02-09 10:31:29 +08:00
Evan You dfb271a293 release: v3.4.17 2024-02-09 08:38:19 +08:00
Evan You 1339330850 release: v3.4.16 2024-02-08 11:45:34 +08:00
Evan You 2b0a706dc7 chore: move X_V_BIND_INVALID_SAME_NAME_ARGUMENT to preserve error code order 2024-02-08 11:36:51 +08:00
Evan You cb87b6213d fix(compiler-core): handle same-name shorthand edge case for in-DOM templates
Also add error for invalid arguments for same-name shorthand.

close #10280
2024-02-07 12:15:39 +08:00
zhoulixiang 91f058a90c
fix(compiler-core): support v-bind shorthand syntax for dynamic slot name (#10218)
close #10213
2024-02-06 17:54:06 +08:00
renovate[bot] 336bb65820
fix(deps): update compiler (#10269)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-05 11:34:34 +08:00
Evan You ee4cd78a06 release: v3.4.15 2024-01-18 21:34:34 +08:00
Evan You c3087ff2cc fix: correct url for production error reference links 2024-01-18 20:00:01 +08:00
Evan You 07922dacc7 release: v3.4.14 2024-01-15 23:41:12 +08:00
Evan You 3a642fb95c release: v3.4.13 2024-01-13 16:03:45 +08:00
Evan You ffd0473e0f release: v3.4.12 2024-01-13 10:41:29 +08:00
Evan You fd337dddd1 release: v3.4.11 2024-01-12 22:15:16 +08:00
Evan You c60479146a dx(defineModel): warn against reference of setup scope variables in defineModel options
close #10093
2024-01-12 22:07:16 +08:00
Evan You bb6b7a297e release: v3.4.10 2024-01-11 23:04:20 +08:00
Evan You 9636357c89 release: v3.4.9 2024-01-11 18:49:05 +08:00
Evan You 92514db708
build: add node production/development condition in package exports (#10036)
follow up of #9977
2024-01-11 18:04:32 +08:00
Evan You 8d656ce88d release: v3.4.8 2024-01-11 01:03:51 +08:00
Evan You a3725a729c release: v3.4.7 2024-01-09 18:15:03 +08:00
zhangenming 9c54dacd0d
chore: use NOOP. (#9938) 2024-01-09 15:24:10 +08:00
Haoqun Jiang 923d560d0b
fix(parser): skip compat mode check for SFC root `<template>` tags (#10034)
Fixes https://github.com/vitejs/vite-plugin-vue/issues/330
2024-01-09 11:14:00 +08:00
Evan You dc91463eb6 release: v3.4.6 2024-01-08 23:01:54 +08:00
Evan You 7bd4e90506 fix(build): revert "build: add production/development export conditions (#9977)"
This reverts commit e790e1bdd7.

close #10012
close #10020
2024-01-08 22:29:08 +08:00
Evan You 0275dd329d release: v3.4.5 2024-01-04 17:21:24 +08:00
Evan You ae60a91cc2 fix(compiler-sfc): fix sfc template unref rewrite for class instantiation
close #6483
close #6491
2024-01-04 15:58:13 +08:00
Daniel Roe e790e1bdd7
build: add production/development export conditions (#9977) 2024-01-04 11:24:17 +08:00
Evan You f70f7ca9ae release: v3.4.4 2024-01-03 18:40:28 +08:00
Evan You 8f85b6da44 release: v3.4.3 2023-12-30 21:34:23 +08:00
Evan You b010cb9939 release: v3.4.2 2023-12-30 19:41:35 +08:00
Evan You f787337b47 release: v3.4.1 2023-12-30 09:02:48 +08:00
Masa-Shin 77d33e263c
fix(compat): correct enum value for COMPILER_FILTERS feature (#9875) 2023-12-29 12:41:21 +08:00
Evan You d702b66482 release: v3.4.0 2023-12-29 10:50:32 +08:00
Evan You ef90a99208 release: v3.4.0-rc.3 2023-12-27 10:15:44 +08:00
三咲智子 Kevin Deng bfe6b459d3
style: update format & lint config (#9162)
Co-authored-by: 丶远方 <yangpanteng@gmail.com>
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
Co-authored-by: Guo Xingjun <99574369+Plumbiu@users.noreply.github.com>
2023-12-26 19:39:47 +08:00
Evan You 947aacf5ea release: v3.4.0-rc.2 2023-12-26 15:52:53 +08:00
Evan You 9cbb27745d release: v3.4.0-rc.1 2023-12-25 16:42:12 +08:00
Evan You 5ec937723a chore: Merge branch 'main' into minor 2023-12-24 22:50:06 +08:00
Evan You 7aa3f250f2 fix(compiler-core): fix parsing `<script setup>` generics with >
close #9890
2023-12-22 22:49:30 +08:00
renovate[bot] e01bb5bdaf
chore(deps): update compiler to ^7.23.6 (#9858)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-20 10:38:35 +08:00
Evan You 048dffd7ee release: v3.4.0-beta.4 2023-12-19 18:23:57 +08:00
Evan You 95f6fffea2 chore: Merge branch 'main' into minor 2023-12-19 18:16:16 +08:00
Evan You 7c49a9c4d8 release: v3.3.13 2023-12-19 18:12:48 +08:00
edison eb51b23d85
fix(compile-sfc): fix identifier prefixing edge case caused by reused AST (#9867)
close #9853
close #9863
2023-12-19 18:04:36 +08:00
白雾三语 bae79ddf85
fix(compiler-core): fix v-on with modifiers on inline expression of undefined (#9866)
close #9865
improve isMemberExpression check for undefined
2023-12-19 17:08:46 +08:00
Evan You 317b783a53 release: v3.4.0-beta.3 2023-12-16 14:41:29 +08:00
Evan You 4e7967f016 release: v3.3.12 2023-12-16 14:23:40 +08:00
Cédric Exbrayat 7bc3c9e205
fix(compiler-core): vnode hooks error message (#9842) 2023-12-15 23:07:15 +08:00
Evan You c51ab4c765 release: v3.4.0-beta.2 2023-12-14 10:28:34 +08:00
Evan You e00b160435 release: v3.4.0-beta.1 2023-12-13 18:52:16 +08:00
Evan You 0b6effb423 chore: preserve error code enum order 2023-12-13 00:48:32 +08:00
三咲智子 Kevin Deng cf77435338
refactor(compiler-core): reuse unwrapTS utility function (#9795) 2023-12-11 10:46:28 +08:00
Evan You 2ffc1e8cfd
feat(ssr): improve ssr hydration mismatch checks (#5953)
- Include the actual element in the warning message
- Also warn class/style/attribute mismatches

Note: class/style/attribute mismatches are check-only and will not be
rectified.

close #5063
2023-12-08 15:49:09 +08:00
Adrien Foulon 638f1abbb6
feat(compiler-core): add current filename to TransformContext (#8950) 2023-12-08 15:23:50 +08:00
Evan You 19b590fa3a release: v3.3.11 2023-12-08 14:13:52 +08:00
三咲智子 Kevin Deng 0dc875d53e
fix(compiler-core): use the same resolved options for all compile stages (#9760) 2023-12-06 14:41:21 +08:00
Evan You a817883c26 chore: Merge branch 'main' into minor 2023-12-05 10:54:20 +08:00
Evan You e2f2b75b62 chore(deps): bump vitest to 1.0 2023-12-05 10:48:04 +08:00
Evan You c0d396b785 release: v3.4.0-alpha.4 2023-12-04 23:24:43 +08:00
Evan You e12b10ac3e chore: Merge branch 'main' into minor 2023-12-04 23:17:41 +08:00
Evan You 53aaa1eb28 fix(parser): fix interpolation parsing in v-pre
ref: https://github.com/vuejs/docs/issues/2586
2023-12-04 23:06:56 +08:00
Evan You d5a88ef9d7 release: v3.3.10 2023-12-04 21:42:18 +08:00
renovate[bot] bf7269ac47
chore(deps): update compiler (#9745)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 16:43:47 +08:00
Evan You c3b704e446 chore: remove v-is deprecation enum
support is already removed during parser rewrite
2023-12-01 11:57:22 +08:00
Evan You 8abc754d5d feat(compiler): lift vnode hooks deprecation warning to error 2023-12-01 11:56:29 +08:00
Evan You e8bbc946cb
feat(compiler-sfc): analyze import usage in template via AST (#9729)
close #8897
close nuxt/nuxt#22416
2023-12-01 11:14:48 +08:00
Evan You f8b74dcf29 chore: group parser edge case tests 2023-11-30 22:39:55 +08:00
Evan You 4d94ebfe75 perf(v-on): constant handlers with modifiers should not be treated as dynamic 2023-11-30 19:26:36 +08:00
edison 7cbcee3d83
fix(compiler-sfc): support resolving components from props (#8785) 2023-11-30 18:03: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
ZHAO Jin-Xiang 3071de44bc
fix(compiler-core): fix referencing typo (#9708) 2023-11-29 21:15:44 +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
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
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] 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
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 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 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
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 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 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