]> git.ipfire.org Git - thirdparty/vuejs/core.git/log
thirdparty/vuejs/core.git
2 years agofix(compiler-sfc): fix ast reuse for ssr
Evan You [Mon, 27 Nov 2023 07:38:30 +0000 (15:38 +0800)] 
fix(compiler-sfc): fix ast reuse for ssr

2 years agofix(compiler-sfc): use correct compiler when re-parsing in ssr mode
Evan You [Mon, 27 Nov 2023 07:06:07 +0000 (15:06 +0800)] 
fix(compiler-sfc): use correct compiler when re-parsing in ssr mode

2 years agofix(compiler-core): fix line/column tracking when fast forwarding
Evan You [Mon, 27 Nov 2023 06:49:13 +0000 (14:49 +0800)] 
fix(compiler-core): fix line/column tracking when fast forwarding

2 years agoperf(compiler-sfc): use faster source map addMapping
Evan You [Mon, 27 Nov 2023 06:42:12 +0000 (14:42 +0800)] 
perf(compiler-sfc): use faster source map addMapping

2 years agochore: use MappingItem type
Evan You [Mon, 27 Nov 2023 06:16:16 +0000 (14:16 +0800)] 
chore: use MappingItem type

2 years agoperf: avoid sfc source map unnecessary serialization and parsing
Evan You [Mon, 27 Nov 2023 04:18:01 +0000 (12:18 +0800)] 
perf: avoid sfc source map unnecessary serialization and parsing

2 years agorefactor: restore isSelfClosing as optional property
Evan You [Sat, 25 Nov 2023 14:55:39 +0000 (22:55 +0800)] 
refactor: restore isSelfClosing as optional property

2 years agochore: fix tests with rawExp
Evan You [Sat, 25 Nov 2023 14:50:40 +0000 (22:50 +0800)] 
chore: fix tests with rawExp

2 years agorefactor: restore SourceLocation.source
Evan You [Sat, 25 Nov 2023 11:22:39 +0000 (19:22 +0800)] 
refactor: restore SourceLocation.source

this is used extensively in @vue/language-tools and does not have
noticeable impact on performance

2 years agorefactor: preserve source location convention in sfc mode for base parser
Evan You [Sat, 25 Nov 2023 10:07:17 +0000 (18:07 +0800)] 
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

2 years agochore: remove isSelfClosing property
Evan You [Sat, 25 Nov 2023 10:03:22 +0000 (18:03 +0800)] 
chore: remove isSelfClosing property

2 years agofix: avoid confusing breakage in @vitejs/plugin-vue
Evan You [Sat, 25 Nov 2023 08:39:30 +0000 (16:39 +0800)] 
fix: avoid confusing breakage in @vitejs/plugin-vue

2 years agochore: restructure parser files
Evan You [Fri, 24 Nov 2023 13:53:35 +0000 (21:53 +0800)] 
chore: restructure parser files

2 years agoperf(codegen): optimize source map generation
Evan You [Fri, 24 Nov 2023 12:48:12 +0000 (20:48 +0800)] 
perf(codegen): optimize source map generation

2 years agoperf(codegen): optimize line / column calculation during codegen
Evan You [Thu, 23 Nov 2023 16:58:47 +0000 (00:58 +0800)] 
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%.

2 years agoperf(compiler-sfc): remove magic-string trim on script
Evan You [Thu, 23 Nov 2023 15:18:23 +0000 (23:18 +0800)] 
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.

2 years agoperf: optimize position cloning
Evan You [Thu, 23 Nov 2023 15:07:51 +0000 (23:07 +0800)] 
perf: optimize position cloning

2 years agowip: should not reuse AST when using custom compiler
Evan You [Wed, 22 Nov 2023 09:00:39 +0000 (17:00 +0800)] 
wip: should not reuse AST when using custom compiler

2 years agowip: parser v2 compat
Evan You [Wed, 22 Nov 2023 07:19:06 +0000 (15:19 +0800)] 
wip: parser v2 compat

2 years agochore: document rationale for ignoring some parsing errors
Evan You [Wed, 22 Nov 2023 06:04:31 +0000 (14:04 +0800)] 
chore: document rationale for ignoring some parsing errors

2 years agowip: shorten some method names
Evan You [Wed, 22 Nov 2023 06:01:20 +0000 (14:01 +0800)] 
wip: shorten some method names

2 years agowip: parse error tests
Evan You [Wed, 22 Nov 2023 05:58:50 +0000 (13:58 +0800)] 
wip: parse error tests

2 years agowip: force re-parse on reused sfc template ast
Evan You [Tue, 21 Nov 2023 14:28:06 +0000 (22:28 +0800)] 
wip: force re-parse on reused sfc template ast

2 years agowip: should parse sfc template with lang=html
Evan You [Tue, 21 Nov 2023 14:27:35 +0000 (22:27 +0800)] 
wip: should parse sfc template with lang=html

2 years agorefactor: use more efficient walk for importUsageCheck
Evan You [Tue, 21 Nov 2023 14:10:00 +0000 (22:10 +0800)] 
refactor: use more efficient walk for importUsageCheck

2 years agowip: compiler-sfc should not attach ast on template with src import
Evan You [Tue, 21 Nov 2023 14:09:38 +0000 (22:09 +0800)] 
wip: compiler-sfc should not attach ast on template with src import

2 years agorefactor: better naming for baseCompile argument
Evan You [Tue, 21 Nov 2023 14:08:49 +0000 (22:08 +0800)] 
refactor: better naming for baseCompile argument

2 years agorefactor: fix v-bind no-exp shorthand for new parser
Evan You [Tue, 21 Nov 2023 10:37:47 +0000 (18:37 +0800)] 
refactor: fix v-bind no-exp shorthand for new parser

2 years agowip: treat template with preprocessor as plain text
Evan You [Mon, 20 Nov 2023 14:49:16 +0000 (22:49 +0800)] 
wip: treat template with preprocessor as plain text

2 years agowip: support reusing template ast from sfc descriptor
Evan You [Mon, 20 Nov 2023 14:05:27 +0000 (22:05 +0800)] 
wip: support reusing template ast from sfc descriptor

2 years agowip: decodeEntities test
Evan You [Mon, 20 Nov 2023 13:43:05 +0000 (21:43 +0800)] 
wip: decodeEntities test

2 years agowip: pass all compiler-sfc tests
Evan You [Mon, 20 Nov 2023 09:38:00 +0000 (17:38 +0800)] 
wip: pass all compiler-sfc tests

2 years agowip: pass all compiler-ssr tests
Evan You [Mon, 20 Nov 2023 07:33:03 +0000 (15:33 +0800)] 
wip: pass all compiler-ssr tests

2 years agowip: pass all compiler-dom tests
Evan You [Sun, 19 Nov 2023 03:46:44 +0000 (11:46 +0800)] 
wip: pass all compiler-dom tests

2 years agofeat(compiler-core): support specifying root namespace when parsing
Evan You [Sun, 19 Nov 2023 03:20:05 +0000 (11:20 +0800)] 
feat(compiler-core): support specifying root namespace when parsing

2 years agowip: pass more compiler-dom tests
Evan You [Sun, 19 Nov 2023 02:39:11 +0000 (10:39 +0800)] 
wip: pass more compiler-dom tests

2 years agowip: entities parsing in browser
Evan You [Sat, 18 Nov 2023 13:39:31 +0000 (21:39 +0800)] 
wip: entities parsing in browser

2 years agowip: tune perf
Evan You [Sat, 18 Nov 2023 04:01:55 +0000 (12:01 +0800)] 
wip: tune perf

2 years agowip: pass all compiler-core tests
Evan You [Sat, 18 Nov 2023 03:22:15 +0000 (11:22 +0800)] 
wip: pass all compiler-core tests

2 years agowip: more tests passing
Evan You [Sat, 18 Nov 2023 02:49:29 +0000 (10:49 +0800)] 
wip: more tests passing

2 years agowip: pass all non-error parsing tests
Evan You [Fri, 17 Nov 2023 09:46:47 +0000 (17:46 +0800)] 
wip: pass all non-error parsing tests

2 years agorefactor: swap to new template parser
Evan You [Fri, 17 Nov 2023 06:17:30 +0000 (14:17 +0800)] 
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.

2 years agowip: parse mode
Evan You [Fri, 17 Nov 2023 01:22:12 +0000 (09:22 +0800)] 
wip: parse mode

2 years agoperf: optimize away isBuiltInType
Evan You [Thu, 16 Nov 2023 09:30:00 +0000 (17:30 +0800)] 
perf: optimize away isBuiltInType

2 years agochore: disable parser tests for now
Evan You [Thu, 16 Nov 2023 09:29:31 +0000 (17:29 +0800)] 
chore: disable parser tests for now

2 years agowip: parseMode
Evan You [Thu, 16 Nov 2023 09:04:07 +0000 (17:04 +0800)] 
wip: parseMode

2 years agoperf: optimize makeMap
Evan You [Thu, 16 Nov 2023 09:02:17 +0000 (17:02 +0800)] 
perf: optimize makeMap

2 years agowip: getting ready for textmode handling
Evan You [Thu, 16 Nov 2023 08:28:56 +0000 (16:28 +0800)] 
wip: getting ready for textmode handling

2 years agowip: comments
Evan You [Thu, 16 Nov 2023 03:05:31 +0000 (11:05 +0800)] 
wip: comments

2 years agowip: refine element type
Evan You [Thu, 16 Nov 2023 02:54:54 +0000 (10:54 +0800)] 
wip: refine element type

2 years agowip: v-pre handling
Evan You [Wed, 15 Nov 2023 17:31:52 +0000 (01:31 +0800)] 
wip: v-pre handling

2 years agowip: pre tag handling
Evan You [Wed, 15 Nov 2023 15:55:50 +0000 (23:55 +0800)] 
wip: pre tag handling

2 years agowip: parse interpolation
Evan You [Wed, 15 Nov 2023 15:33:57 +0000 (23:33 +0800)] 
wip: parse interpolation

2 years agowip: check duplicated attributes
Evan You [Wed, 15 Nov 2023 11:36:05 +0000 (19:36 +0800)] 
wip: check duplicated attributes

2 years agowip: remove htmlMode
Evan You [Wed, 15 Nov 2023 11:15:04 +0000 (19:15 +0800)] 
wip: remove htmlMode

2 years agowip: remove foreignContext check
Evan You [Wed, 15 Nov 2023 11:13:28 +0000 (19:13 +0800)] 
wip: remove foreignContext check

2 years agowip: modifiers
Evan You [Wed, 15 Nov 2023 09:57:28 +0000 (17:57 +0800)] 
wip: modifiers

2 years agowip: source location for props
Evan You [Wed, 15 Nov 2023 09:45:42 +0000 (17:45 +0800)] 
wip: source location for props

2 years agowip: parse directive in tokenizer
Evan You [Tue, 14 Nov 2023 17:14:36 +0000 (01:14 +0800)] 
wip: parse directive in tokenizer

2 years agowip: optimize condenseWhitespace
Evan You [Tue, 14 Nov 2023 13:55:16 +0000 (21:55 +0800)] 
wip: optimize condenseWhitespace

2 years agowip: parse directives
Evan You [Tue, 14 Nov 2023 12:39:08 +0000 (20:39 +0800)] 
wip: parse directives

2 years agowip: loc for elements
Evan You [Tue, 14 Nov 2023 10:03:00 +0000 (18:03 +0800)] 
wip: loc for elements

2 years agowip: refactor line / column generation
Evan You [Tue, 14 Nov 2023 08:35:52 +0000 (16:35 +0800)] 
wip: refactor line / column generation

2 years agowip: save
Evan You [Mon, 13 Nov 2023 17:14:33 +0000 (01:14 +0800)] 
wip: save

2 years agowip: port parser
Evan You [Mon, 13 Nov 2023 13:03:39 +0000 (21:03 +0800)] 
wip: port parser

2 years agowip: remove unused options
Evan You [Sun, 12 Nov 2023 13:42:27 +0000 (21:42 +0800)] 
wip: remove unused options

2 years agowip: strip xmlMode / htmlMode
Evan You [Sun, 12 Nov 2023 09:01:05 +0000 (17:01 +0800)] 
wip: strip xmlMode / htmlMode

2 years agowip: setup
Evan You [Sun, 12 Nov 2023 08:58:24 +0000 (16:58 +0800)] 
wip: setup

2 years agofeat!: remove reactivity transform (#9321)
三咲智子 Kevin Deng [Tue, 21 Nov 2023 10:06:42 +0000 (18:06 +0800)] 
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

2 years agotest: fix keepalive transition out-in test case
Evan You [Tue, 21 Nov 2023 09:57:44 +0000 (17:57 +0800)] 
test: fix keepalive transition out-in test case

2 years agochore: Merge branch 'main' into minor
Evan You [Tue, 21 Nov 2023 01:48:26 +0000 (09:48 +0800)] 
chore: Merge branch 'main' into minor

2 years agochore: exclude private packages from version updates
Evan You [Tue, 21 Nov 2023 01:37:37 +0000 (09:37 +0800)] 
chore: exclude private packages from version updates

2 years agoworkflow: use workspace deps
Evan You [Tue, 21 Nov 2023 01:16:14 +0000 (09:16 +0800)] 
workflow: use workspace deps

2 years agochore(deps): update all non-major dependencies (#9636)
renovate[bot] [Mon, 20 Nov 2023 09:38:13 +0000 (17:38 +0800)] 
chore(deps): update all non-major dependencies (#9636)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 years agochore(deps): update dependency vite to v5 (#9630)
renovate[bot] [Sat, 18 Nov 2023 02:36:56 +0000 (10:36 +0800)] 
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>
2 years agochore(deps): update dependency tsx to v4 (#9629)
renovate[bot] [Sat, 18 Nov 2023 02:33:45 +0000 (10:33 +0800)] 
chore(deps): update dependency tsx to v4 (#9629)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 years agochore(deps): update lint (#9627)
renovate[bot] [Sat, 18 Nov 2023 02:33:24 +0000 (10:33 +0800)] 
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>
2 years agochore(deps): update actions/github-script action to v7 (#9628)
renovate[bot] [Sat, 18 Nov 2023 02:31:45 +0000 (10:31 +0800)] 
chore(deps): update actions/github-script action to v7 (#9628)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 years agochore(deps): update dessant/lock-threads action to v5 (#9626)
renovate[bot] [Fri, 17 Nov 2023 23:32:25 +0000 (07:32 +0800)] 
chore(deps): update dessant/lock-threads action to v5 (#9626)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 years agochore(deps): update autofix-ci/action digest to bee19d7 (#9625)
renovate[bot] [Fri, 17 Nov 2023 23:13:04 +0000 (07:13 +0800)] 
chore(deps): update autofix-ci/action digest to bee19d7 (#9625)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 years agochore: fix polyfill node conditions in dev
三咲智子 Kevin Deng [Fri, 17 Nov 2023 00:04:52 +0000 (08:04 +0800)] 
chore: fix polyfill node conditions in dev

2 years agodocs: replace rollup-plugin-vue with vite version
三咲智子 Kevin Deng [Wed, 15 Nov 2023 13:43:18 +0000 (21:43 +0800)] 
docs: replace rollup-plugin-vue with vite version

2 years agofix(v-model): unnecessary value binding error should apply to dynamic instead of...
Evan You [Wed, 15 Nov 2023 00:51:50 +0000 (08:51 +0800)] 
fix(v-model): unnecessary value binding error should apply to dynamic instead of static binding

close #3596

2 years agofix(compiler-sfc): malformed filename on windows using path.posix.join() (#9478)
Bogdan Kolesnyk [Mon, 13 Nov 2023 07:48:25 +0000 (08:48 +0100)] 
fix(compiler-sfc): malformed filename on windows using path.posix.join() (#9478)

Closes: #8671, #9583
Not fixed with: #9446

Related: #9473

2 years agochore(deps): update compiler to ^7.23.3 (#9590)
renovate[bot] [Mon, 13 Nov 2023 07:45:51 +0000 (15:45 +0800)] 
chore(deps): update compiler to ^7.23.3 (#9590)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 years agochore(deps): update all non-major dependencies (#9589)
renovate[bot] [Mon, 13 Nov 2023 07:45:29 +0000 (15:45 +0800)] 
chore(deps): update all non-major dependencies (#9589)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 years agofix(types): revert class type restrictions
Evan You [Mon, 13 Nov 2023 07:23:16 +0000 (15:23 +0800)] 
fix(types): revert class type restrictions

reverts #8012 due to breakage in downstream types

2 years agoworkflow(playground): prod/dev toggle should apply to runtime behavior as well
Evan You [Sun, 12 Nov 2023 08:30:30 +0000 (16:30 +0800)] 
workflow(playground): prod/dev toggle should apply to runtime behavior as well

Previously, the prod/dev toggle in the SFC playground only affects the
SFC compiation behavior, but not the actual runtime. This can make it
confusing when users are trying to reproduce prod/dev behavior
inconsistency in the runtime code instead of the compiler.

2 years agochore: fix dev-sfc-prepare command (#9570)
Rick [Fri, 10 Nov 2023 09:17:17 +0000 (17:17 +0800)] 
chore: fix dev-sfc-prepare command (#9570)

2 years agochore(deps): update dependency puppeteer to ~21.5.1 (#9553)
renovate[bot] [Fri, 10 Nov 2023 09:16:15 +0000 (17:16 +0800)] 
chore(deps): update dependency puppeteer to ~21.5.1 (#9553)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 years agochore(deps): update lint (#9552)
renovate[bot] [Fri, 10 Nov 2023 09:16:02 +0000 (17:16 +0800)] 
chore(deps): update lint (#9552)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2 years agofix(types): fix `unref` and `toValue` when input union type contains ComputedRef...
丶远方 [Fri, 10 Nov 2023 08:56:29 +0000 (16:56 +0800)] 
fix(types): fix `unref` and `toValue` when input union type contains ComputedRef (#8748)

close #8747
close #8857

2 years agofix(reactivity): onCleanup also needs to be cleaned (#8655)
花果山大圣 [Fri, 10 Nov 2023 08:47:08 +0000 (16:47 +0800)] 
fix(reactivity): onCleanup also needs to be cleaned (#8655)

close #5151
close #7695

2 years agofix(compiler-sfc): support `:is` and `:where` selector in scoped css rewrite (#8929)
Cong [Fri, 10 Nov 2023 08:44:08 +0000 (16:44 +0800)] 
fix(compiler-sfc): support `:is` and `:where` selector in scoped css rewrite (#8929)

2 years agofix(compiler-sfc): support `:is` and `:where` selector in scoped css rewrite (#8929)
Cong [Fri, 10 Nov 2023 08:44:08 +0000 (16:44 +0800)] 
fix(compiler-sfc): support `:is` and `:where` selector in scoped css rewrite (#8929)

2 years agofix(compiler-sfc): consistently escape type-only prop names (#8654)
auvred [Fri, 10 Nov 2023 08:23:47 +0000 (11:23 +0300)] 
fix(compiler-sfc): consistently escape type-only prop names (#8654)

close #8635
close #8910
close vitejs/vite-plugin-vue#184

2 years agofix(compiler-sfc): support resolve extends interface for defineEmits (#8470)
edison [Fri, 10 Nov 2023 08:00:04 +0000 (16:00 +0800)] 
fix(compiler-sfc): support resolve extends interface for defineEmits (#8470)

close #8465

2 years agofix(types): widen ClassValue type
Evan You [Fri, 10 Nov 2023 07:33:21 +0000 (15:33 +0800)] 
fix(types): widen ClassValue type

2 years agofix(ssr): hydration `__vnode` missing for devtools (#9328)
Anthony Fu [Fri, 10 Nov 2023 07:27:16 +0000 (08:27 +0100)] 
fix(ssr): hydration `__vnode` missing for devtools (#9328)

2 years agochore: remove typeof NULL_DYNAMIC_COMPONENT for type compat with test-utils
Evan You [Fri, 10 Nov 2023 07:25:55 +0000 (15:25 +0800)] 
chore: remove typeof NULL_DYNAMIC_COMPONENT for type compat with test-utils