Commit Graph

4582 Commits

Author SHA1 Message Date
yangxiuxiu 06488047c1
fix(runtime-core): correctly assign suspenseId to avoid conflicts with the default id (#9966)
close #9944
2024-01-03 17:22:06 +08:00
SerKo a47fb45c50
workflow(sfc-playground): init custom formatter when selecting new version (#9958)
close #9957
2024-01-03 16:54:47 +08:00
Evan You d94d8d4bff fix(compiler-sfc): use compilerOptions when re-parsing consumed AST
fixes hydration error for custom elements
2024-01-02 21:38:13 +08:00
Evan You be7eabda22 chore: bump repl version 2024-01-02 10:54:13 +08:00
Evan You 24d77c25ce perf(watch): avoid double traverse for reactive source 2023-12-31 17:29:58 +08:00
Evan You 8f85b6da44 release: v3.4.3 2023-12-30 21:34:23 +08:00
Evan You 274f6f71fc test: test case for sfc parse options cache invalidation 2023-12-30 21:09:15 +08:00
Evan You b8d58ec4f4 fix(compiler-sfc): respect sfc parse options in cache key 2023-12-30 20:38:58 +08:00
Evan You b010cb9939 release: v3.4.2 2023-12-30 19:41:35 +08:00
edison 6cb00ed0f9
fix(ssr): fix hydration error for slot outlet inside transition-group (#9937)
close #9933
2023-12-30 19:01:07 +08:00
Evan You c3fd577177 chore: fix snapshot 2023-12-30 18:57:22 +08:00
yangxiuxiu 4f703d120d
fix(runtime-core): support deep: false when watch reactive (#9928)
close #9916

---------

Co-authored-by: RicardoErii <‘1974364190@qq.com’>
Co-authored-by: Evan You <yyx990803@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-30 18:52:17 +08:00
Evan You dce99c12df fix(compiler-sfc): fix dev regression for dot / namespace component usage
close #9947
2023-12-30 18:20:14 +08:00
Evan You 63c3e621ce test: split import usage check tests into dedicated file 2023-12-30 18:13:35 +08:00
Evan You f787337b47 release: v3.4.1 2023-12-30 09:02:48 +08:00
Evan You 97ce041910 fix(defineModel): support local mutation when only prop but no listener is passed 2023-12-30 08:57:55 +08:00
Evan You 6fab8551e4 feat(compiler-sfc): support passing template parsing options when parsing sfc
- This is released in a patch because it is an relatively internal API
  but required to properly fix https://github.com/vitejs/vite-plugin-vue/issues/322

- `parseExpressions` is now deprecated because it can be passed using
  original template parsing options (`prefixIdentifiers`)
2023-12-30 08:44:39 +08:00
Carlos Rodrigues 4c20f502ca
chore: use relative import location instead of package (#9941) 2023-12-30 08:35:56 +08:00
Evan You 9bc3c7e29c fix(defineModel): always default modifiers to empty object
close #9945
2023-12-30 08:26:48 +08:00
丶远方 4af85835f7
fix(types): fix defineModel watch type error (#9942)
close #9939
2023-12-30 08:22:56 +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 d5f14ce2b0 chore: link to compile-time flag reference in docs [ci skip] 2023-12-27 13:08:44 +08:00
Evan You ef90a99208 release: v3.4.0-rc.3 2023-12-27 10:15:44 +08:00
Evan You 9e529f8acb chore(sfc-playground): correctly show selected version on start up 2023-12-27 10:08:26 +08:00
Evan You a772031ea8 feat(defineModel): support modifiers and transformers 2023-12-26 22:13:04 +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 baf0b7664d refactor(sfc-playground): default to dev mode 2023-12-26 17:57:53 +08:00
Evan You 38706e4a1e fix: also export runtime error strings in all cjs builds 2023-12-26 16:32:53 +08:00
Evan You 8e727d62ab chore: update new issue url in scheduler error message 2023-12-26 16:15:24 +08:00
Evan You 947aacf5ea release: v3.4.0-rc.2 2023-12-26 15:52:53 +08:00
Evan You cda74beceb chore: Merge branch 'main' into minor 2023-12-26 15:45:49 +08:00
Evan You 73ae6adbb1 refactor: adjust warn method treeshaking 2023-12-26 15:26:29 +08:00
Evan You 25c726eca8 feat(compiler-sfc): export aggregated error messages for compiler-core and compiler-dom 2023-12-26 15:06:56 +08:00
yangxiuxiu 0695c69e0d
fix(types): fix distribution of union types when unwrapping setup bindings (#9909)
close #9903
2023-12-26 11:57:50 +08:00
renovate[bot] f96c413e8e
fix(deps): update dependency @vue/repl to ^3.1.0 (#9911)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-26 11:29:22 +08:00
Evan You ee68c525f0 build: avoid exporting setDevTools in global prod build 2023-12-26 11:03:45 +08:00
Evan You b4ebe7ae8b fix(warning): ensure prod hydration warnings actually work 2023-12-26 10:52:45 +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 a8d0b1b38b fix(compiler-sfc): fix type resolution for shared type w/ different generic parameters
close #9871
2023-12-23 00:44:26 +08:00
Evan You 7aa3f250f2 fix(compiler-core): fix parsing `<script setup>` generics with >
close #9890
2023-12-22 22:49:30 +08:00
丶远方 1b522cae07
chore(test): replace deprecated `SpyInstance` import with the latest `MockInstance` (#9889) 2023-12-22 21:55:43 +08:00
agoni1212 e7135f7100
chore: fix mismatching tag in hydration test (#9888) 2023-12-22 21:55:11 +08:00
Evan You e585b0db43 fix(ssr): avoid hydration mismatch warning for classes with different order 2023-12-20 10:48:01 +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 42e0711381 chore: remove merge leftover 2023-12-19 18:20:39 +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
Evan You e8448b018d fix(ssr): fix hydration prop mismatch check for class on SVG elements 2023-12-19 18:09:42 +08:00
Evan You 8f339ea144 chore: reuse descriptor ast in compileScript inlineTemplate mode by default 2023-12-19 18:06:04 +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
Eduardo San Martin Morote 24b1c1dd57
fix(types): extract properties from extended collections (#9854)
close #9852
2023-12-19 17:05:29 +08:00
AlanYu 1d79b64ebc
feat(runtime-core): throw real error when scheduler detects infinite loop during dev (#7447)
close #7437
2023-12-19 16:59:47 +08:00
Thorsten Lünborg 04d2c05054
fix(runtime-dom): cache event handlers by key/modifiers (#9851)
close #9849
2023-12-16 21:54:37 +08:00
Evan You 317b783a53 release: v3.4.0-beta.3 2023-12-16 14:41:29 +08:00
Evan You 9f64d2b681 chore: Merge branch 'main' into minor 2023-12-16 14:37:21 +08:00
Evan You 4e7967f016 release: v3.3.12 2023-12-16 14:23:40 +08:00
Evan You d0b849ac39 test(types): add test for ref/shallowRef generic casting 2023-12-16 13:46:11 +08:00
丶远方 9a571582b5
fix(types): fix `shallowRef` type error (#9839) 2023-12-16 13:45:01 +08:00
edison eb12f211b8
fix(defineModel): ensure trigger effect when prop changed (#9841)
close #9838
2023-12-16 12:15:30 +08:00
edison e70f4c47c5
fix(hydration): handle appear transition before patch props (#9837)
close #9832
2023-12-16 11:55:40 +08:00
Cédric Exbrayat 4070502bd0
test(runtime-core): uncomment assertion in hydration test (#9843) 2023-12-15 23:07:45 +08:00
Cédric Exbrayat 7bc3c9e205
fix(compiler-core): vnode hooks error message (#9842) 2023-12-15 23:07:15 +08:00
Evan You f0f6f7cea6 fix(Suspense): fix edge case of Suspense being patched during async HOC child remount 2023-12-15 11:39:50 +08:00
丶远方 0a387dfb1d
fix(sfc/cssVars): fix loss of CSS v-bind variables when setting inline style with string value (#9824)
close #9821
2023-12-15 09:56:01 +08:00
Divyansh Singh ebd78d2c99
fix(mathml): update known mathML tags (#9829) 2023-12-14 22:08:55 +08:00
Evan You c51ab4c765 release: v3.4.0-beta.2 2023-12-14 10:28:34 +08:00
Evan You 92b8d9cef6 feat(types): remove default jsx global registration
BREAKING CHANGE: Vue no longer registers the global `JSX` namespace by
default.
2023-12-14 10:19:17 +08:00
Evan You e00b160435 release: v3.4.0-beta.1 2023-12-13 18:52:16 +08:00
Evan You 69a2acc6ea fix(runtime-core): properly pop warning context when mounting components with async setup 2023-12-13 17:57:57 +08:00
Evan You 0db336ff6c fix(Suspense): properly fix #6416
previous fix caused regressions in nuxt
2023-12-13 17:56:58 +08:00
Evan You 33159a5916 fix(hydration): should not warn mismatch for nullish prop 2023-12-13 02:41:49 +08:00
Evan You 0b6effb423 chore: preserve error code enum order 2023-12-13 00:48:32 +08:00
Evan You aa0c13f637 fix(Suspense): handle switching away from kept-alive component before resolve
close #6416
using test from #6467
2023-12-12 23:50:28 +08:00
Evan You 96aeb24d66 chore: remove unnecessary statements 2023-12-12 23:47:38 +08:00
Evan You 85c804092f chore(sfc-playground): use dev mode by default 2023-12-12 23:08:23 +08:00
丶远方 20ad475718
workflow(sfc-playground): add reload function (#8674) 2023-12-12 23:06:46 +08:00
mmis1000 bb0c8899ca
fix(runtime-core): fix suspense crash when patching non-resolved async setup component (#7290)
close #5993
close #6463
close #6949
close #6095
close #8121
2023-12-12 21:55:15 +08:00
Evan You e04d821422 fix(ssr): make isInSSRComponentSetup state sharable across copies of Vue
This also fixes the issue when rendering async components in
the SFC playground with SSR enabled.
2023-12-12 21:37:52 +08:00
Evan You f41fd86d5f fix(hydration): swap client/server labels for hydration mismatch warnings
this was swapped in #9098 but lost when merging #5953
2023-12-12 20:05:49 +08:00
三咲智子 Kevin Deng ef688ba92b
feat(compiler-sfc): promote defineModel stable (#9598) 2023-12-12 17:28:40 +08:00
Evan You 74387929cd chore: update defineModel comment docs [ci skip] 2023-12-12 17:04:16 +08:00
Evan You f74785bc4a feat(defineModel): support local mutation by default, remove local option
ref https://github.com/vuejs/rfcs/discussions/503#discussioncomment-7566278
2023-12-12 16:47:34 +08:00
Evan You 7e60d1058f perf: use sync watcher for defineModel local mode
ref https://github.com/vuejs/rfcs/discussions/503#discussioncomment-7566278
2023-12-12 13:49:23 +08:00
Evan You 70eca21f50 chore: remove accidentally kept file from merge 2023-12-12 13:48:42 +08:00
丶远方 a625376ac8
feat(types): improve event type inference when using `h` with native elements (#9756) 2023-12-11 22:10:01 +08:00
Carles Mitjans a41409ed02
feat(types): support passing generics when registering global directives (#9660) 2023-12-11 22:07:24 +08:00
Mehmet fd0b6ba016
feat(types): export AriaAttributes type (#8909) 2023-12-11 22:05:48 +08:00
三咲智子 Kevin Deng fa4969e7a3
feat(types): export ObjectPlugin and FunctionPlugin types (#8946)
close #8577
2023-12-11 22:04:56 +08:00
Evan You 982a145d38 chore: Merge branch 'main' into minor 2023-12-11 22:03:28 +08:00
丶远方 a6503e3e77
refactor(types): simplify `EmitsToProps` types (#9788) 2023-12-11 20:01:36 +08:00
btea 376dac4e6f
chore(sfc-playground): highlight the active version in dropdown (#9045) 2023-12-11 18:47:06 +08:00
Evan You ef432bda77 refactor(reactivity): improve nested readonly ref set check
ref #9094
2023-12-11 18:40:55 +08:00
丶远方 9d1ca320c4
refactor(compiler-sfc): avoid unnecessary switch case fallthrough (#8998) 2023-12-11 18:23:02 +08:00
renovate[bot] 879ea30ab8
chore(deps): update dependency monaco-editor to ^0.45.0 (#9803)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-11 10:49:18 +08:00
renovate[bot] 0550062172
chore(deps): update all non-major dependencies (#9799)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-11 10:48:44 +08:00
三咲智子 Kevin Deng cf77435338
refactor(compiler-core): reuse unwrapTS utility function (#9795) 2023-12-11 10:46:28 +08:00
三咲智子 Kevin Deng 096ba81817
feat(types): expose `DefineProps` type 2023-12-09 00:34:28 +08:00
edison 60415b5d67
fix(ssr): fix suspense hydration of fallback content (#7188) 2023-12-08 23:06:34 +08:00
Carlos Rodrigues 213eba479c
fix(types): support for generic keyof slots (#8374) 2023-12-08 22:54:57 +08:00
Evan You c95ab62936 chore: fix types 2023-12-08 22:34:47 +08:00
三咲智子 Kevin Deng 927ab17cfc
feat(types): add emits and slots type to `FunctionalComponent` (#8644) 2023-12-08 22:24:58 +08:00
Carlos Rodrigues bfb856565d
feat(types): provide ComponentInstance type (#5408) 2023-12-08 22:24:38 +08:00
Carlos Rodrigues 44135dc95f
feat(types): expose `PublicProps` type (#2403) 2023-12-08 22:17:46 +08:00
丶远方 0d61b429ec
fix(types): add `xmlns:xlink` to `SVGAttributes` (#9300)
close #9299
2023-12-08 22:16:25 +08:00
三咲智子 Kevin Deng b1fe48d851
ci: add continuous reactivity benchmark (#9638) 2023-12-08 21:26:48 +08:00
Fabian Gündel d42b6ba3f5
feat: MathML support (#7836)
close #7820
2023-12-08 18:25:01 +08:00
三咲智子 Kevin Deng aa954b969b
test: update snapshot 2023-12-08 18:16:22 +08:00
Divyansh Singh bc7698dbfe
feat(ssr): add `__VUE_PROD_HYDRATION_MISMATCH_DETAILS__` feature flag (#9550) 2023-12-08 16:41:15 +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
三咲智子 Kevin Deng 5b2bd1df78
feat(compiler-sfc): support import attributes and `using` syntax (#8786) 2023-12-08 15:22:27 +08:00
Evan You 19b590fa3a release: v3.3.11 2023-12-08 14:13:52 +08:00
edison b700328342
fix(Suspense): properly get anchor when mount fallback vnode (#9770)
close #9769
2023-12-08 12:29:15 +08:00
Rudy 6784f0b1f8
fix(watch): should not fire pre watcher on child component unmount (#7181)
close #7030
2023-12-08 12:24:44 +08:00
丶远方 cdac12161e
fix(types): ref() return type should not be any when initial value is any (#9768) 2023-12-07 16:28:16 +08:00
Evan You b4ac0e6ac1 chore(dx): fix defineProps jsdoc + update defineEmits jsdoc example 2023-12-07 14:30:32 +08:00
agoni1212 2744a09f3a
chore: typo (#9767) 2023-12-07 13:28:07 +08:00
Evan You 6ecbd5ce2a fix(reactivity): fix mutation on user proxy of reactive Array
close #9742
close #9751
close #9750
2023-12-07 13:26:30 +08:00
Evan You 983d45d4f8 fix(shared): handle more Symbol cases in toDisplayString 2023-12-07 10:40:27 +08:00
Carlos Rodrigues 364821d6bd
fix(shared): handle Map with symbol keys in toDisplayString (#9731)
close #9727
2023-12-07 10:33:48 +08:00
Evan You 5b002869c5 fix(runtime-dom): fix width and height prop check condition
close #9762
2023-12-07 10:09:26 +08:00
白雾三语 d74d364d62
fix(custom-element): correctly handle number type props in prod (#8989)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-06 08:16:16 +01: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
dependabot[bot] af5df91e95
chore(deps-dev): bump vite from 5.0.0 to 5.0.5 (#9758)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-06 14:35:36 +08:00
nandi95 8e27692029
feat(runtime-core): provide full props to props validator functions (#3258) 2023-12-05 17:14:17 +08:00
sunjiang0018 af909b7d45
chore: fix typo (#9752) [ci skip] 2023-12-05 12:05:53 +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
Carlos Rodrigues 243f504dc5
chore(playground): expose esm-browser files (#9725) 2023-12-05 03:08:21 +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
yangxiuxiu c3e2c556b5
fix(compiler-sfc): fix :where and :is selector in scoped mode with multiple selectors (#9735)
close #9707
2023-12-04 16:53:21 +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
Carlos Rodrigues ec715854ca
fix(app): prevent template from being cached between apps with different options (#9724)
close #9618
2023-12-04 16:43:30 +08:00
edison 65f3fe2731
fix(runtime-core): Suspense get anchor properly in Transition (#9309)
close #8105
2023-12-04 16:41:55 +08:00
Evan You f12db7fb56 fix(compiler-sfc): avoid passing forEach index to genMap 2023-12-04 15:43:29 +08:00
Carlos Rodrigues 43c3cfdec5
fix(types): improve return type withKeys and withModifiers (#9734) 2023-12-04 07:59:01 +08:00
Reii 9ea2b868be
chore(template-explorer): fix overflow screen problem (#7282) [ci skip] 2023-12-01 21:28:48 +08:00
edison eb5e307c0b
fix(compiler-sfc): support inferring generic types (#8511)
close #8482
2023-12-01 21:21:12 +08:00
Evan You 634519720a fix(compiler-sfc): deindent pug/jade templates
close #3231
close #3842
close #7723
2023-12-01 16:45:53 +08:00
edison 30d5d93a92 fix(ssr): avoid computed being accidentally cached before server render (#9688)
close #5300
2023-12-01 15:55:17 +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 7f00ec2d97 chore: remove deprecated AppConfig.unwrapInjectedRef option 2023-12-01 11:32:34 +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
edison 8d74ca0e6f
fix(compiler-sfc): generate more treeshaking friendly code (#9507)
close #9500
2023-12-01 02:52:26 +08:00
花果山大圣 cdb2df707b
chore(dx): improve color contrast in dark mode for custom formatter (#8704) 2023-12-01 02:45:03 +08:00
Blake Newman 887e54c347
fix(types): expose emits as props in functional components (#9234) 2023-12-01 02:37:51 +08:00
三咲智子 Kevin Deng ad27473701
fix(types): fix reactive collection types (#8960)
close #8904
2023-12-01 02:33:09 +08:00
Evan You f8b74dcf29 chore: group parser edge case tests 2023-11-30 22:39:55 +08:00
Evan You dd26e98233 chore(playground): use CodeMirror during local dev 2023-11-30 21:44:28 +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
Evan You da4a4fb5e8 perf(runtime-dom): cache modifier wrapper functions
close #8882
2023-11-30 19:00:00 +08:00
三咲智子 Kevin Deng 4936d2e11a
fix(compiler-sfc): throw error when failing to load TS during type resolution (#8883) 2023-11-30 18:41:21 +08:00
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
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] 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
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
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 ceec69c8cc fix: avoid confusing breakage in @vitejs/plugin-vue 2023-11-25 16:39:42 +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