Evan You
33ab0f8e0f
chore: fix snapshot
2020-02-27 17:15:51 -05:00
Evan You
8449a9727c
feat(compiler-core): switch to @babel/parser for expression parsing
...
This enables default support for parsing bigInt, optional chaining
and nullish coalescing, and also adds the `expressionPlugins`
compiler option for enabling additional parsing plugins listed at
https://babeljs.io/docs/en/next/babel-parser#plugins .
2020-02-27 16:53:51 -05:00
Evan You
4809325c07
refactor(hydration): move fragment to seaprate function + skip normalization in optimized mode
2020-02-27 11:26:39 -05:00
Evan You
3357ff438c
fix(slots): fix conditional slot
...
fix #787
2020-02-26 21:43:27 -05:00
Evan You
5d952cc051
test: fix options usage of reactive
2020-02-26 21:29:41 -05:00
Evan You
e67f655b26
refactor(runtime-core): revert setup() result reactive conversion
...
BREAKING CHANGE: revert setup() result reactive conversion
Revert 6b10f0c
& a840e7d
. The motivation of the original change was
avoiding unnecessary deep conversions, but that can be achieved by
explicitly marking values non-reactive via `markNonReactive`.
Removing the reactive conversion behavior leads to an usability
issue in that plain objects containing refs (which is what most
composition functions will return), when exposed as a nested
property from `setup()`, will not unwrap the refs in templates. This
goes against the "no .value in template" intuition and the only
workaround requires users to manually wrap it again with `reactive()`.
So in this commit we are reverting to the previous behavior where
objects returned from `setup()` are implicitly wrapped with
`reactive()` for deep ref unwrapping.
2020-02-26 19:01:42 -05:00
Evan You
11d2fb2594
refactor(fragments): remove visible anchors for fragments
2020-02-26 16:32:06 -05:00
Evan You
439752822c
fix(portal): fix portal placeholder text
2020-02-26 16:07:00 -05:00
Evan You
d52ffaa202
refactor(compiler-ssr): extract portal processing + emit errors
2020-02-26 15:05:11 -05:00
Dmitry Sharshakov
d8ed0e7fbf
feat(compiler-ssr): compile portal ( #775 )
2020-02-26 14:59:53 -05:00
Evan You
312513d255
release: v3.0.0-alpha.7
2020-02-26 14:36:38 -05:00
Evan You
e42d6b0712
refactor: use consistent name for watch invalidation register function
2020-02-26 10:20:30 -05:00
djy0
04f83fa681
fix(runtime-core): set appContext.provides to Object.create(null) ( #781 )
2020-02-26 10:20:10 -05:00
djy0
59393dd757
fix(template-explorer): rename watch -> watchEffect ( #780 )
2020-02-26 10:13:07 -05:00
Evan You
3206e5dfe5
fix(types): shallowRef should not unwrap value type
2020-02-25 20:43:01 -05:00
Evan You
d4c6957e2d
fix(types): ref value type unwrapping should happen at creation time
2020-02-25 19:44:06 -05:00
Evan You
711d16cc65
refactor: remove old watch signature support
2020-02-25 19:39:49 -05:00
Evan You
52cc7e8231
refactor(directives): remove binding.instance
...
BREAKING CHANGE: custom directive bindings no longer expose instance
This is a rarely used property that creates extra complexity in
ensuring it points to the correct instance. From a design
perspective, a custom directive should be scoped to the element and
data it is bound to and should not have access to the entire
instance in the first place.
2020-02-25 19:35:48 -05:00
Evan You
3eab143843
fix(template-ref): fix string template refs inside slots
2020-02-25 18:29:51 -05:00
ysj16
8cb0b83088
fix(renderSlot): set slot render as a STABLE_FRAGMENT ( #776 )
...
fix #766
2020-02-25 16:41:44 +01:00
Evan You
4a5b91bd1f
fix(runtime-core): fix slot fallback + slots typing
...
fix #773
2020-02-25 09:41:07 -05:00
djy0
19a799c28b
fix(runtime-core): make watchEffect ignore deep option ( #765 )
2020-02-24 18:03:02 +01:00
djy0
c11905fe36
chore: fix typo ( #764 ) [ci skip]
2020-02-24 18:01:26 +01:00
Xin Du (Clark)
047844cfb8
refactor(ssr): extract buffer resolving and resolvePortals ( #771 )
2020-02-24 17:23:35 +01:00
Evan You
9ab22c7ae6
release: v3.0.0-alpha.6
2020-02-22 08:25:32 +01:00
Evan You
99a2e18c97
feat(runtime-core): add watchEffect API
...
BREAKING CHANGE: replae `watch(fn, options?)` with `watchEffect`
The `watch(fn, options?)` signature has been replaced by the new
`watchEffect` API, which has the same usage and behavior. `watch`
now only supports the `watch(source, cb, options?)` signautre.
2020-02-22 08:19:10 +01:00
Evan You
b36a76fe23
chore: remove debugger [ci skip]
2020-02-22 05:19:22 +01:00
guaijie
76c7f54269
perf(effect): optimize effect trigger for array length mutation ( #761 )
2020-02-22 05:17:30 +01:00
Evan You
e9024bf1b7
feat(reactivity): expose unref and shallowRef
2020-02-22 04:39:32 +01:00
Evan You
0c67201942
chore: fix test type
2020-02-22 03:54:20 +01:00
Evan You
775a7c2b41
refactor: preserve refs in reactive arrays
...
BREAKING CHANGE: reactive arrays no longer unwraps contained refs
When reactive arrays contain refs, especially a mix of refs and
plain values, Array prototype methods will fail to function
properly - e.g. sort() or reverse() will overwrite the ref's value
instead of moving it (see #737 ).
Ensuring correct behavior for all possible Array methods while
retaining the ref unwrapping behavior is exceedinly complicated; In
addition, even if Vue handles the built-in methods internally, it
would still break when the user attempts to use a 3rd party utility
functioon (e.g. lodash) on a reactive array containing refs.
After this commit, similar to other collection types like Map and
Set, Arrays will no longer automatically unwrap contained refs.
The usage of mixed refs and plain values in Arrays should be rare in
practice. In cases where this is necessary, the user can create a
computed property that performs the unwrapping.
2020-02-21 17:48:39 +01:00
Evan You
627b9df4a2
fix(types): improve ref typing, close #759
2020-02-21 17:45:42 +01:00
Evan You
33622d6360
perf(reactivity): only trigger all effects on Array length mutation if new length is shorter than old length
2020-02-21 15:05:16 +01:00
hareku
014acc13e9
test(reactivity): test for ref without init value ( #746 )
2020-02-21 14:44:41 +01:00
hareku
9547c2b93d
fix(sfc): inherit parent scopeId on child rooot ( #756 )
2020-02-21 14:44:13 +01:00
Evan You
1b9b235663
fix(compiler-dom): properly stringify class/style bindings when hoisting static strings
2020-02-21 13:10:13 +01:00
Evan You
189a0a3b19
chore: use undefined for TS 3.8 compat
2020-02-21 11:38:41 +01:00
guaijie
5fac65589b
fix(reactivity): should trigger all effects when array length is mutated ( #754 )
2020-02-21 11:38:07 +01:00
Luxiaosong
c54aa43fa7
chore: use 'const' instead of 'let' ( #755 ) [ci skip]
2020-02-21 11:21:24 +01:00
Evan You
a840e7ddf0
fix(types): update setup binding unwrap types for 6b10f0c
...
close #738
2020-02-19 18:29:18 +01:00
basvanmeurs
8d817bb446
build: use buildOption to determine runtime compile build ( #742 )
...
This makes it possible to create a separate package that uses runtime compilation.
2020-02-19 09:50:24 -05:00
likui
7b987d9450
fix(compiler-core): should alias name in helperString ( #743 )
...
fix #740
2020-02-19 09:49:46 -05:00
Evan You
478b4cfb2c
release: v3.0.0-alpha.5
2020-02-18 15:00:55 -05:00
Evan You
8f463b3859
chore: readme
2020-02-18 14:56:53 -05:00
Evan You
8383e5450e
fix(runtime-core): ensure renderCache always exists
2020-02-18 14:43:12 -05:00
Evan You
028f748c32
fix(v-on): transform click.right and click.middle modifiers
...
fix #735
2020-02-18 14:32:06 -05:00
Evan You
583f9468fa
refactor: extract remove util
2020-02-18 13:52:59 -05:00
Evan You
fd031490fb
feat(ssr): useSSRContext
2020-02-18 13:26:15 -05:00
Evan You
86464e8c04
refactor: only run useCssModule code in non-global builds
2020-02-18 13:23:30 -05:00
Evan You
e8e67729cb
fix(reactivity): effect should handle self dependency mutations
2020-02-18 13:22:09 -05:00
Evan You
e1c9153b9e
fix(reactivity): trigger iteration effect on Map.set
...
fix #709
2020-02-18 00:09:24 -05:00
Evan You
2fb7a63943
fix(computed): support arrow function usage for computed option
...
fix #733
2020-02-17 23:22:25 -05:00
Evan You
9571ede84b
refactor(watch): adjsut watch API behavior
...
BREAKING CHANGE: `watch` behavior has been adjusted.
- When using the `watch(source, callback, options?)` signature, the
callback now fires lazily by default (consistent with 2.x
behavior).
Note that the `watch(effect, options?)` signature is still eager,
since it must invoke the `effect` immediately to collect
dependencies.
- The `lazy` option has been replaced by the opposite `immediate`
option, which defaults to `false`. (It's ignored when using the
effect signature)
- Due to the above changes, the `watch` option in Options API now
behaves exactly the same as 2.x.
- When using the effect signature or `{ immediate: true }`, the
intital execution is now performed synchronously instead of
deferred until the component is mounted. This is necessary for
certain use cases to work properly with `async setup()` and
Suspense.
The side effect of this is the immediate watcher invocation will
no longer have access to the mounted DOM. However, the watcher can
be initiated inside `onMounted` to retain previous behavior.
2020-02-17 23:16:58 -05:00
Evan You
d9d63f21b1
fix(reactivity): avoid cross-component dependency leaks in setup()
2020-02-17 23:14:07 -05:00
Evan You
202532c301
chore: use consistent signature for shared utilities
2020-02-17 14:43:16 -05:00
Evan You
0c1fe72dcf
build: make watch tree-shakable in lean build
2020-02-17 11:02:15 -05:00
Evan You
77103e1fd7
types: fix tsx dts tests
2020-02-15 21:48:45 -05:00
Evan You
57ee5df364
fix(types): app.component should accept defineComponent return type
...
fix #730
2020-02-15 21:04:29 -05:00
Evan You
9d2ac6675a
refactor: make portal tree-shakeable
2020-02-15 17:44:37 -05:00
Dmitry Sharshakov
e495fa4a18
feat(ssr): render portals ( #714 )
2020-02-15 17:41:20 -05:00
Evan You
aa09f01a1e
chore: mark main package side-effects free
2020-02-15 12:02:00 -05:00
hareku
66e7d7f28e
test(server-renderer): implement ssrRenderList tests ( #726 )
2020-02-15 11:42:38 -05:00
夜宴
8a4412077c
chore: remove redundant Non-Null Assertion ( #728 )
2020-02-15 11:33:22 -05:00
Dmitry Sharshakov
4669215ca2
fix(ssr): render components returning render function from setup ( #720 )
2020-02-15 11:11:55 -05:00
Evan You
a0163f1aa8
chore: fix snapshots
2020-02-15 11:10:52 -05:00
Evan You
70dc3e3ae7
feat(ssr): support portal hydration
2020-02-14 21:04:08 -05:00
Evan You
688ad92391
fix(ssr): fix class/style rendering + ssrRenderComponent export name
2020-02-14 20:48:06 -05:00
Evan You
66b5f0b480
chore: fix hoistStatic exhaustive check
2020-02-14 16:41:55 -05:00
Evan You
96605b79a3
types: avoid duplicate type declarations for renderer closure functions
2020-02-14 16:25:41 -05:00
Evan You
e0f3c6b352
fix(compiler-core): should apply text transform to if branches
...
fix #725
2020-02-14 15:57:14 -05:00
Evan You
80904e92b8
types: cleanup renderer & hydration typing
2020-02-14 12:33:32 -05:00
Evan You
629ee75588
perf: prevent renderer hot functions being inlined by minifiers
...
Terser will aggressively inline hot functions in renderer.ts in order
to reduce "function" declarations, but the inlining leads to performance
overhead (small, but noticeable in benchmarks).
Since we cannot control user's minifier options, we have to avoid the
deopt in the source code by using arrow functions in hot paths.
2020-02-14 03:27:27 -05:00
Evan You
6df2aca070
refactor(types): move shapeFlags to shared
2020-02-14 01:36:42 -05:00
Evan You
167f8241bd
refactor(ssr): make hydration logic tree-shakeable
2020-02-14 01:30:08 -05:00
Evan You
112d8f7d86
refactor: use explicit exports for runtime-core
2020-02-14 00:13:54 -05:00
Evan You
42d80b5888
wip(ssr): component hydration
2020-02-13 23:31:03 -05:00
Evan You
32d6a46474
build: avoid runtime wildcard import in global build
2020-02-13 18:50:36 -05:00
Evan You
5455e8e69a
fix(compiler-core): should not hoist element with cached + merged event handlers
2020-02-13 18:34:08 -05:00
Evan You
9aaef60ad2
wip(ssr): adjust event hydration flag
2020-02-13 18:28:40 -05:00
Evan You
6b505dcd23
wip(ssr): basic element hydration
2020-02-13 17:47:00 -05:00
Evan You
35d91f4e18
fix(runtime-core): handle component updates with only class/style bindings
2020-02-13 17:27:52 -05:00
Evan You
c6a9787941
fix(types): ensure correct oldValue typing based on lazy option
...
close #719
2020-02-13 12:09:13 -05:00
Evan You
8e19424c04
refactor(security): mark potential unsafe code paths
2020-02-12 15:00:32 -05:00
Evan You
8b7c162125
feat(compiler-dom): handle constant expressions when stringifying static content
2020-02-12 15:00:00 -05:00
Evan You
1389d7b88c
refactor(compiler-core): use more concise marker for compiled slots
2020-02-12 13:45:35 -05:00
Evan You
175f8aae8d
feat(compiler): mark hoisted trees with patchFlag
2020-02-12 13:31:29 -05:00
Evan You
d866d389f3
chore: fix import path + comment
2020-02-12 12:12:53 -05:00
Evan You
27913e661a
feat(compiler-dom/runtime-dom): stringify eligible static trees
2020-02-12 11:56:42 -05:00
Evan You
e861c6da90
test: test updates for d40c642
2020-02-11 18:40:42 -05:00
Evan You
e3988b40d8
refactor(compiler-core): use dedicated node type for element codegen
...
Previously codegen node for elements and components used raw expressions,
which leads to multiple permutations of AST shapes based on whether the
node is a block or has directives. The complexity is spread across the
entire compiler and occurs whenever a transform needs to deal with
element codegen nodes.
This refactor centralizes the handling of all possible permutations
into the codegen phase, so that all elements/components will have a
consistent node type throughout the transform phase.
The refactor is split into two commits (with test updates in a separate
one) so changes can be easier to inspect.
2020-02-11 18:40:42 -05:00
Yang Mingshan
fe9da2d0e4
fix(runtime-core/scheduler): invalidate job ( #717 )
2020-02-11 07:30:25 -05:00
Evan You
f4c54a888b
refactor(compiler-core): hoist static text calls between elements
2020-02-10 18:32:11 -05:00
Evan You
12fcf9ab95
fix(compiler): fix v-for fragment openBlock argument
2020-02-10 18:19:49 -05:00
Evan You
47e984d31f
refactor(compiler): provide _ctx and _cache via arguments
2020-02-10 17:29:12 -05:00
Evan You
ade07c64a1
fix(compiler-core): fix keep-alive when used in templates
...
fix #715
2020-02-10 16:49:37 -05:00
Dmitry Sharshakov
6d10a6c772
feat(server-renderer): support on-the-fly template compilation ( #707 )
2020-02-10 14:37:35 -05:00
Evan You
cfadb98011
fix(runtime-core): rework vnode hooks handling
...
- peroperly support directive on components (e.g. <foo v-show="x">)
- consistently invoke raw vnode hooks on component vnodes (fix #684 )
2020-02-10 13:15:36 -05:00
Evan You
8a87074df0
fix(runtime-core/scheduler): avoid duplicate updates of child component
2020-02-10 13:09:15 -05:00
Evan You
778f3a5e88
fix(runtime-core): should not return early on text patchFlag
...
fix vnode updated hook on elements with dynamic text children
2020-02-10 12:06:36 -05:00
Evan You
571ed4226b
feat(compiler-core/v-on): support @vnode-xxx usage for vnode hooks
2020-02-10 11:00:37 -05:00
Jonas
5495c70c4a
fix(transition-group): handle multiple move-classes ( #679 )
...
fix #678
2020-02-10 09:36:19 -05:00
Dmitry Sharshakov
430d4e10bb
test(compiler-sfc): add real tests for source maps ( #704 )
2020-02-10 09:34:13 -05:00
djy0
782db6d7f5
chore(compiler-core/codegen): avoid generate indent spaces of empty lines. ( #701 )
2020-02-10 09:33:04 -05:00
djy0
42db2fef9d
test(compiler-ssr): fix typo ( #713 )
2020-02-10 09:20:07 -05:00
Evan You
e308ad99e9
refactor: ensure setup context.emit always point to intenral emit
2020-02-09 21:47:16 -05:00
Evan You
4bc4cb970f
fix: remove effect from public API
...
close #712
2020-02-09 21:43:54 -05:00
jods
21944c4a42
feat(runtime-core/reactivity): expose shallowReactive ( #711 )
2020-02-09 21:42:34 -05:00
Evan You
03680399f2
wip(ssr): use consistent attr key behavior in compiler
2020-02-09 15:32:33 -05:00
jods
8874b21a7e
perf(reactivity): better computed tracking ( #710 )
2020-02-09 15:25:17 -05:00
hareku
fc7bcca1b3
chore(shared): fix comment ( #705 ) [ci skip]
2020-02-09 13:12:16 -05:00
Evan You
8b2d6a35d0
test: update tests and snapshots for helper prefixing
2020-02-07 19:04:55 -05:00
Evan You
51317af6e8
refactor(compiler): prefix all imported helpers to avoid scope collision
2020-02-07 18:53:39 -05:00
Evan You
c44d9fbe3d
build: drop unnecessary codegen branch for global build
2020-02-07 18:00:30 -05:00
Evan You
0f67aa7da5
fix(runtime-core): fix ShapeFlags tree shaking
2020-02-07 17:18:12 -05:00
Evan You
5b43764eac
fix(runtime-core): fix keep-alive tree-shaking
2020-02-07 17:00:39 -05:00
Evan You
9e51297702
fix(compiler-dom): fix duplicated transforms
2020-02-07 14:24:56 -05:00
Evan You
a51e710396
wip(ssr): proper scope analysis for ssr vnode slot fallback
2020-02-07 13:56:18 -05:00
Evan You
b7a74d0439
wip(ssr): ssr slot vnode fallback
2020-02-07 01:06:51 -05:00
Evan You
31f3383a02
workflow: log compile time in template explorer
2020-02-06 21:47:07 -05:00
Evan You
f1d579932e
chore: comment typo
2020-02-06 18:31:55 -05:00
Evan You
4659c366e0
wip(ssr): generate correct component code
2020-02-06 18:03:14 -05:00
Evan You
7984a135ca
wip(ssr): scopeId in slots
2020-02-06 17:45:46 -05:00
Evan You
797cc18967
wip(ssr): element scopeId
2020-02-06 17:45:46 -05:00
Evan You
4cc39e14a2
feat(compiler): warn invalid children for transition and keep-alive
2020-02-06 17:45:46 -05:00
Evan You
3c27bf6133
wip(compiler-ssr): built-in component fallthrough
2020-02-06 17:45:46 -05:00
Evan You
ae8fc9297d
test: update snapshots
2020-02-06 12:09:09 -05:00
Evan You
bc8f91d181
refactor(ssr): prefix ssr helpers
2020-02-06 12:07:25 -05:00
Evan You
f3e70b3733
wip(compiler-ssr): component slots
2020-02-06 12:05:53 -05:00
Evan You
39d1acf417
workflow: improve template-explorer local load speed
2020-02-06 10:22:16 -05:00
Evan You
ee5ed73361
wip(ssr): basic components
2020-02-05 23:07:23 -05:00
Evan You
0b90baec28
test: increase e2e tests timeout
2020-02-05 21:10:43 -05:00
Evan You
9b3b6962df
wip(srr): slot outlet
2020-02-05 21:04:40 -05:00
Evan You
7a63103a11
chore: fix snapshot
2020-02-05 17:29:41 -05:00
Evan You
201f18b58b
wip(ssr): v-model w/ dynamic type & props
2020-02-05 17:01:00 -05:00
Evan You
1f2de9e232
fix(v-model): should use dynamic directive on input with dynamic v-bind
2020-02-05 15:21:47 -05:00
Evan You
ae92925011
wip(ssr): should only render renderable values
2020-02-05 15:21:20 -05:00
Evan You
8f9e85afb1
test: fix tests w/ nested CompoundExpressions
2020-02-05 14:30:34 -05:00
Evan You
c952321fcf
wip(compiler-ssr): v-model static types + textarea
2020-02-05 14:23:03 -05:00
Evan You
8f6b6690a2
fix(compiler-ssr): import helpers from correct packages
2020-02-05 11:20:50 -05:00
Evan You
c441e88469
chore: fix snapshots
2020-02-04 22:56:53 -05:00
Evan You
8da6df7235
wip(ssr): handle <textarea>
with dynamic key v-bind
2020-02-04 22:49:47 -05:00
Evan You
1958314976
wip(compiler-ssr): v-show
2020-02-04 21:03:16 -05:00
Evan You
e2c5060fb4
test(ssr): test renderAttr
2020-02-04 18:42:13 -05:00
Evan You
ebf920e6af
wip(compiler-ssr): dynamic v-bind + class/style merging
2020-02-04 18:37:32 -05:00
Evan You
c059fc88b9
wip(compiler-ssr): v-bind with static keys
2020-02-04 16:47:12 -05:00
Evan You
e71781dcab
workflow: add ssr mode in template explorer
2020-02-04 15:59:41 -05:00
Evan You
98e3e03fd1
wip(ssr): fix index
2020-02-04 15:59:26 -05:00
Evan You
ba263c909c
wip(ssr): remove cjs codegen mode
2020-02-04 15:58:54 -05:00
Evan You
6a5ed49ea9
wip(ssr): v-bind basic usage
2020-02-04 12:21:04 -05:00
Dmitry Sharshakov
7f38c1e0ff
feat(reactivity): add shallowReactive function ( #689 )
2020-02-04 10:15:27 -05:00
Jason
2d56dfdc4f
fix(compiler-sfc): handle empty nodes with src attribute ( #695 )
2020-02-04 10:03:32 -05:00
Eduardo San Martin Morote
5742a0b826
fix(runtime-core/watch): trigger watcher with undefined as initial value ( #687 )
...
Fix #683
2020-02-04 09:59:04 -05:00
likui
3ddb441c56
wip(ssr): fix naming for runtime helpers ( #694 )
2020-02-04 09:24:49 -05:00
Jacek Karczmarczyk
1b2878d80f
chore: update runtime-dom/README example to latest signature ( #693 ) [ci skip]
2020-02-04 09:24:29 -05:00
Evan You
eb9e089277
chore: fix test types
2020-02-03 22:21:45 -05:00
Evan You
8cf6b5731d
test(compiler-ssr): v-for tests
2020-02-03 20:47:41 -05:00
Evan You
93c37b94f2
wip(ssr): v-for
2020-02-03 18:31:11 -05:00
Evan You
2ad0eed5cd
refactor(ssr): adjust helper structure + renderList
2020-02-03 18:31:11 -05:00
Evan You
889a0276eb
wip(ssr): do not generate commas between statements
2020-02-03 18:31:11 -05:00
Evan You
b685805a26
wip(ssr): ssr helper codegen
2020-02-03 18:31:10 -05:00
Evan You
d1d81cf1f9
chore: remove stale files
2020-02-03 18:31:10 -05:00
Evan You
e8c5de6cfd
wip(compiler-ssr): v-if
2020-02-03 18:31:10 -05:00
Evan You
090eb0ce67
wip(compiler-ssr): v-html, v-text & textarea value
2020-02-03 18:31:10 -05:00
Evan You
63e4486645
wip(compiler-ssr): text and interpolation
2020-02-02 22:28:54 -05:00
Evan You
d1eed36452
refactor(ssr): move escapeHtml to shared
2020-02-02 22:08:20 -05:00
Evan You
327670a034
test(compiler-ssr): test for ssr element transform
2020-02-02 21:47:10 -05:00
Evan You
8fd9e9ba97
test(compiler-core): test TempalteLiteral and IfStatement codegen
2020-02-02 21:35:44 -05:00
Evan You
5dc374a861
chore: remove stale file
2020-02-02 00:06:49 -05:00
Evan You
efbbd19b3d
wip(ssr): initial scaffold for compiler-ssr
2020-02-02 00:05:27 -05:00
Evan You
34e61197c7
refactor(compiler-core): improve template type handling
2020-01-31 17:20:52 -05:00
Evan You
78c4f321cd
fix(compiler-core): only check is prop on <component>
2020-01-31 16:15:05 -05:00
Evan You
74cb207c22
chore: use correct import path for vCloak
2020-01-31 11:16:51 -05:00
Evan You
bd9b690a51
chore: rmeove unused export
2020-01-31 11:07:10 -05:00
Evan You
f503167fb7
test: fix snapshots
2020-01-31 11:06:37 -05:00
Evan You
04da2a82e8
feat(compiler-core): support mode: cjs in codegen
2020-01-31 10:01:33 -05:00
Evan You
87e8c8094f
workflow: add version of template-explorer using local deps
2020-01-31 10:01:33 -05:00
Gabriel Loiácono
c088169170
style(compiler-core): while/expression instead of while/true ( #680 )
2020-01-31 09:43:34 -05:00
Evan You
c02e7bc7d6
wip(ssr): should apply app context when rendering app instance
2020-01-30 12:20:23 -05:00
Evan You
5c2fe536dc
refactor(ssr): adjust renderToString implementation
2020-01-30 12:09:50 -05:00
Evan You
842b368097
chore: use more representative size check code
2020-01-30 12:03:38 -05:00
Evan You
94e80cf6d1
test(ssr): test scopeId handling in vdom serialization
2020-01-29 21:13:34 -05:00
Evan You
eaf414f063
test(ssr): test rendering vnode elements
2020-01-29 17:36:06 -05:00
Evan You
8cdaf28515
test(ssr): test for rendering components
2020-01-29 16:46:18 -05:00
Evan You
6e06810add
test(ssr): tests for utils and props rendering
2020-01-29 15:10:45 -05:00
Evan You
730d329f79
fix(compiler-core): relax error on unknown entities
...
close #663
2020-01-29 12:16:58 -05:00
Evan You
93eba4347d
chore: fix template explorer mounting
2020-01-29 11:28:18 -05:00
Evan You
bc07e95ca8
fix(ssr): avoid hard-coded ssr checks in cjs builds
2020-01-29 09:49:17 -05:00
Evan You
6b1ce00621
wip(ssr): renderer support for optimized and manual slots
2020-01-28 22:58:02 -05:00
Evan You
a7b0954f14
wip(ssr): move ssr only utils to conditional export
2020-01-28 22:14:43 -05:00
Evan You
e6e2c58234
fix(runtime-dom/ssr): properly handle xlink and boolean attributes
2020-01-28 22:03:53 -05:00
Evan You
6f43c4b516
wip(ssr): vdom serialization
2020-01-28 18:48:27 -05:00
Evan You
8857b4f288
wip(ssr): improve buffer typing
2020-01-28 10:46:13 -05:00
Evan You
f4d190cc9c
wip(ssr): further restructure
2020-01-27 18:06:37 -05:00
Evan You
27fbfbdb8b
fix(runtime-core): render context set should not unwrap reactive values
2020-01-27 18:05:30 -05:00
Evan You
012bc5df9d
wip(ssr): restructure
2020-01-27 17:23:42 -05:00
Evan You
d293876c34
release: v3.0.0-alpha.4
2020-01-27 16:20:00 -05:00
Evan You
6b10f0cd1d
refactor: remove implicit reactive() call on renderContext
...
reference: https://github.com/vuejs/rfcs/issues/121
BREAKING CHANGE: object returned from `setup()` are no longer implicitly
passed to `reactive()`.
The renderContext is the object returned by `setup()` (or a new object
if no setup() is present). Before this change, it was implicitly passed
to `reactive()` for ref unwrapping. But this has the side effect of
unnecessary deep reactive conversion on properties that should not be
made reactive (e.g. computed return values and injected non-reactive
objects), and can lead to performance issues.
This change removes the `reactive()` call and instead performs a
shallow ref unwrapping at the render proxy level. The breaking part is
when the user returns an object with a plain property from `setup()`,
e.g. `return { count: 0 }`, this property will no longer trigger
updates when mutated by a in-template event handler. Instead, explicit
refs are required.
This also means that any objects not explicitly made reactive in
`setup()` will remain non-reactive. This can be desirable when
exposing heavy external stateful objects on `this`.
2020-01-27 16:00:18 -05:00
Evan You
763faac182
wip(ssr): revert reactivity ssr paths
...
The perf gains are not worth the correctness issues these paths may lead to
2020-01-27 16:00:18 -05:00
Evan You
cc47ae0118
test: update snapshots for toDisplayString
2020-01-27 16:00:18 -05:00
Evan You
2884831065
fix(runtime-core): instance should not expose non-declared props
2020-01-27 16:00:18 -05:00
Evan You
e43f5935b5
refactor: better variable naming
2020-01-27 16:00:18 -05:00
Evan You
066ba82c7f
wip(ssr): escape helpers
2020-01-27 16:00:18 -05:00
Evan You
4e40d0d7c8
chore: fix ssr compiler version
2020-01-27 16:00:18 -05:00
Evan You
297282a812
perf(ssr): avoid unnecessary async overhead
2020-01-27 16:00:17 -05:00
Evan You
25a0d4a65f
wip(ssr): reduce reactivity overhead during ssr
2020-01-27 16:00:17 -05:00
Evan You
cee36ad028
wip(ssr): render real components
2020-01-27 16:00:17 -05:00
Evan You
da25517377
wip(ssr): initial work on server-renderer
2020-01-27 16:00:17 -05:00
Evan You
c07751fd36
refactor: adjust createApp
related API signatures
...
BREAKING CHANGE: `createApp` API has been adjusted.
- `createApp()` now accepts the root component, and optionally a props
object to pass to the root component.
- `app.mount()` now accepts a single argument (the root container)
- `app.unmount()` no longer requires arguments.
New behavior looks like the following:
``` js
const app = createApp(RootComponent)
app.mount('#app')
app.unmount()
```
2020-01-27 16:00:17 -05:00
Evan You
eacd390992
chore: scaffold ssr compiler
2020-01-27 16:00:17 -05:00
Evan You
2837ce8428
fix(v-model/emit): update:camelCase events should trigger kebab case equivalent
...
close #656
2020-01-26 14:14:03 -05:00
Evan You
48152bc88e
fix(runtime-dom): should not access document in non-browser env
...
fix #657
2020-01-25 22:31:38 -05:00
Evan You
aefb7d282e
fix(reactivity): Array methods relying on identity should work with raw values
2020-01-23 13:42:31 -05:00
Evan You
b41677bf42
release: v3.0.0-alpha.3
2020-01-22 11:10:30 -05:00
likui
ec63623fe8
fix: Suspense should include into dynamic children ( #653 )
...
fix #649
2020-01-22 10:45:27 -05:00
Evan You
2569890e31
refactor: move mockWarn utility to @vue/shared
...
close #652
2020-01-22 09:29:45 -05:00
Evan You
4f06eebc1c
fix(dom): fix <svg> and <foreignObject> mount and updates
2020-01-21 11:32:33 -05:00
Evan You
f2ac28b31e
fix(compiler-core): force <svg> into blocks for correct runtime isSVG
...
state during patch
2020-01-20 14:48:26 -05:00
likui
0c42a6d8fa
types: refactor ref unwrapping ( #646 )
2020-01-20 13:22:18 -05:00
yang
98d50d874d
fix(transition): handle multiple transition classes ( #638 ) ( #645 )
...
fix #638
2020-01-20 12:44:01 -05:00
Rustin
5aa9868512
test(reactivity): declare the exact type ( #644 )
2020-01-20 12:02:08 -05:00
Evan You
035b6560f7
fix(runtime-core): isSVG check should also apply for patch branch
...
fix #639
2020-01-20 11:55:18 -05:00
Evan You
e81c8a32c7
feat(runtime-core): emit now returns array of return values from all triggered handlers
...
close #635
2020-01-20 11:24:08 -05:00
Ruijia Tang
aca2c2a81e
fix(compiler-core): avoid override user keys when injecting branch key ( #630 )
2020-01-20 10:15:53 -05:00
Sören Schwert
c71ca354b9
fix(compiler-sfc): only transform relative asset URLs ( #628 )
2020-01-20 09:57:17 -05:00
Rustin
787ac5f74e
test(runtime-core): modify test case to set different value ( #620 )
2020-01-20 09:43:58 -05:00
IU
2b4d0d6501
types(reactivity): handle primitive + object intersection types in UnwrapRef ( #614 )
2020-01-16 17:47:47 -05:00
Evan You
751d838fb9
fix(runtime-core): should not warn unused attrs when accessed via setup context
...
close #625
2020-01-16 17:45:08 -05:00
Evan You
c35fea3d60
fix(runtime-core): condition for parent node check should be any different nodes
...
fix #622
2020-01-16 16:21:37 -05:00
likui
04ac6c467a
feat(runtime-core): support app.unmount(container) ( #601 )
...
close #593
2020-01-16 12:23:47 -05:00
Sören Schwert
1081ef8089
chore: fix error reporting URL to point to vue-next ( #624 ) [ci skip]
2020-01-15 21:50:06 -05:00
Evan You
9f65d811af
release: v3.0.0-alpha.2
2020-01-13 17:44:30 -05:00
Evan You
2e9726e6a2
fix(runtime-core/renderer): fix v-if toggle inside blocks
...
Should check both branches for parent container access.
Fix #604 . Close #607 .
2020-01-13 17:31:22 -05:00
Cédric Exbrayat
74baea108a
fix(types): components options should accept components defined with defineComponent ( #602 )
2020-01-13 17:12:45 -05:00
likui
63a6563106
fix(reactivity): should delete observe value ( #598 )
...
fix #597
2020-01-13 17:11:49 -05:00
Yang Mingshan
f465199946
types: fix setup this type ( #605 )
2020-01-10 11:46:34 -05:00
Kael
8f616a89c5
fix(runtime-core): allow classes to be passed as plugins ( #588 )
2020-01-08 12:40:24 -05:00
Yang Mingshan
453e6889da
fix(watch): remove recorded effect on manual stop ( #590 )
2020-01-08 12:06:16 -05:00
Jason Yu
c9bb346941
chore: update README.md ( #592 ) [ci skip]
2020-01-07 13:19:54 -05:00
Yu Zong
54bb820f73
types: update jsx support ( #587 )
2020-01-06 16:19:18 -05:00
Carlos Rodrigues
985f4c91d9
types: improve isRef typing ( #578 )
2020-01-06 16:15:49 -05:00
Evan You
2ac4b723e0
fix(compiler/v-slot): handle implicit default slot mixed with named slots
2020-01-06 15:31:21 -05:00
Evan You
bb6a346996
fix(runtime-core): should preserve props casing when component has no declared props
...
close #583
2020-01-06 15:05:57 -05:00
Evan You
84dc5a6862
fix(runtime-core/vnode): should not render boolean values in vnode children ( close #574 )
2020-01-06 11:57:19 -05:00
Evan You
137893a4fd
fix(compiler/v-on): handle multiple statements in v-on handler ( close #572 )
2020-01-06 11:45:48 -05:00
pikax
9edc4fa1fe
types: fix failed typings?
2020-01-04 14:24:34 +00:00
pikax
07ff08956f
chore: simplifying and improve tupple & array output type on ref
2020-01-04 14:09:52 +00:00
pikax
14f1814292
types: improve type error logging and nest ref types
2020-01-04 10:10:53 +00:00
Evan You
1bb1271b5e
release: v3.0.0-alpha.1
2020-01-02 18:25:17 -05:00
Evan You
cee536360e
types: fix compiler-dom rolled up dts
2020-01-02 18:21:56 -05:00
Evan You
bfb0ad5a5e
types: refactor watcher types naming
2019-12-30 11:30:12 -05:00
Elad Frizi
1cf1ad5e94
test(reactivity): extracted repetitive assertions ( #554 )
2019-12-30 11:29:43 -05:00
susiwen8
dee5480317
chore: use Boolean to filter TemplateChildNode ( #569 )
2019-12-30 11:26:45 -05:00
likui
a7ef59c4c3
test(vnode): add test for dynamic children ( #563 )
2019-12-30 11:25:44 -05:00
djy0
ad2a0bde98
perf(compiler-core): simplify advancePositionWithMutation
( #564 )
2019-12-30 11:25:06 -05:00
Yang Mingshan
3980ad65de
types: exports watch api types ( #562 )
2019-12-30 11:19:57 -05:00
Evan You
7df5e70c83
types: accept defineComponent return types in app.mount
2019-12-24 11:04:44 -05:00
Evan You
59c595c1e8
refactor: use named export for compiled render function
2019-12-24 11:04:44 -05:00
宋铄运
4d20981eb0
fix(runtime-core): pass options to plugins ( #561 )
2019-12-24 10:33:47 -05:00
Evan You
6614f21bf4
chore: further edit formats and include it in vue package readme [ci skip]
2019-12-23 10:28:40 -05:00
Evan You
d6275a3c31
fix(sfc): treat custom block content as raw text
2019-12-22 21:09:39 -05:00
Evan You
90ddb7c260
refactor: expose parse in compiler-dom, improve sfc parse error handling
2019-12-22 19:44:21 -05:00
Evan You
7d436ab59a
fix: mounting new children
2019-12-22 16:24:24 -05:00
Evan You
2fdb499bd9
fix(fragment): perform direct remove when removing fragments
...
This avoids trying to grab .el from hoisted child nodes (which can
be created by another instance), and also skips transition check
since fragment children cannot have transitions.
2019-12-22 16:15:16 -05:00
Evan You
47a6a84631
fix(core): clone mounted hoisted vnodes on patch
...
...since they may need to be checked as fragment child
2019-12-22 13:31:13 -05:00
Evan You
eda495efd8
feat(hmr): root instance reload
2019-12-22 12:25:04 -05:00
Evan You
c9b9ae3941
refactor: rename apiApp.ts -> apiCreateApp.ts
2019-12-22 11:27:40 -05:00
Chris Fritz
1c4cdd841d
refactor(createComponent): rename to defineComponent ( #549 )
2019-12-22 10:58:12 -05:00
CodinCat
2e3c5aaf5f
test(e2e): add test for svg example ( #551 )
2019-12-20 11:56:36 -05:00
Evan You
755c7b581c
chore: mark get/set create calls pure
2019-12-20 11:16:46 -05:00
Evan You
0a4f306492
fix: shallowReadonly should keep reactive properties reactive
...
ref #552
2019-12-20 11:14:07 -05:00
Evan You
94d692b0cf
test: fix tests after missing end tag error location fix
2019-12-20 10:10:08 -05:00
Evan You
362831d8ab
fix(sfc): fix v-slotted attribute injection
2019-12-19 17:54:52 -05:00
Evan You
3a3a24d621
feat(sfc): accept inMap in compileTemplate()
2019-12-19 16:25:05 -05:00
Evan You
02c6d5c4e3
fix: codeframe marker should have min width of 1
2019-12-19 15:42:53 -05:00
Evan You
d6da48a33f
perf: optimize public properties access on componentProxy
2019-12-19 14:19:58 -05:00
Evan You
c73d889235
test(sfc): test @media and @supports query for scoped css
2019-12-19 14:19:58 -05:00
Evan You
bdbfead1e0
chore: adjust package.json
2019-12-19 14:19:58 -05:00
Evan You
9f52dce0d5
fix(renderer): should also use latest parent node when patching block child components
2019-12-18 17:09:28 -05:00
Evan You
3deb20df63
feat(watch): warn when using lazy with simple callback
2019-12-18 11:54:12 -05:00
Yang Mingshan
c2c9c2b57e
fix(watch): ignore lazy option in simple watch ( #546 )
...
* fix(watch): ignore lazy option in simple watch
* test: ignore lazy option in simple watch
2019-12-18 11:46:59 -05:00
djy0
fc48e43ac7
chore: fix typo [ci skip] ( #547 )
2019-12-18 11:45:28 -05:00
Evan You
c1959fa64d
build: set compiler-sfc peerDep on vue
2019-12-18 10:00:49 -05:00
Evan You
d84cf3a538
feat(sfc): css modules support
2019-12-18 10:00:49 -05:00
CodinCat
abfea8eb45
test(e2e): add test for grid example ( #545 )
2019-12-18 09:19:31 -05:00
Evan You
5cf7523787
build: export runtime-only build for bundlers by default in main vue package
2019-12-17 18:24:01 -05:00
Evan You
9550302df4
build: esm-bunlder builds should be considered browser builds
2019-12-17 17:34:10 -05:00
Evan You
a894a350cd
test(sfc): test scoped css compilation
2019-12-17 15:20:30 -05:00
Evan You
b689ca6e85
test: test scopeId support
2019-12-17 12:31:38 -05:00
Evan You
3d16c0ea5a
fix(runtime-test): output empty attrs without value in seralized output
2019-12-17 12:31:38 -05:00
Evan You
31ca7858bb
feat(sfc): ::v-global() pseudo selector support
2019-12-17 12:31:38 -05:00
Evan You
8ea2101553
test: test hot module replacement
2019-12-17 12:31:38 -05:00
Evan You
f194aa0eea
feat(sfc): ::slotted selector support
2019-12-17 12:31:38 -05:00
Evan You
69c9dbc825
feat(sfc): scopeId runtime support
2019-12-17 12:31:38 -05:00
Evan You
04e11187b9
perf: cache string helpers
2019-12-17 12:31:38 -05:00
Evan You
51980afca2
feat(sfc): wip scopeId compiler support
2019-12-17 12:31:38 -05:00
Evan You
b2c2d0590e
refactor: extract SFCInternalOptions inteface
2019-12-17 12:31:38 -05:00
Evan You
35858cec8c
build: adjust global names + allow inline overrides of build flags
2019-12-15 15:37:43 -05:00
Evan You
75113c8d3e
test: fix tests
2019-12-14 22:28:54 -05:00
Evan You
2b178981bc
refactor: move isRuntimeCompiled flag into component.ts
2019-12-14 22:15:38 -05:00
Evan You
46c5393224
perf(reactivity): optimize effect stack
2019-12-13 23:06:55 -05:00
Evan You
49a50d3c9c
feat(compiler): accept line offset in codeframe
2019-12-13 18:01:04 -05:00
Evan You
d6acb9c073
fix(hmr): force full diff on HMR
2019-12-13 17:57:21 -05:00
Evan You
b15951e190
chore: remove line numbers from default errors
2019-12-13 17:28:12 -05:00
Evan You
865c1ce9ee
feat(compiler-sfc): generate source map for template block
2019-12-13 13:22:30 -05:00
Evan You
9e757b5cc5
refactor(compiler-core): move compile into separate file
2019-12-13 13:22:15 -05:00
Evan You
8277d131c4
refactor(compiler): downgrade to source-map v6 for sync API
2019-12-13 12:56:31 -05:00
Evan You
a0ee4fbc36
types: use more specific type names
2019-12-13 11:24:09 -05:00
Evan You
fa5390fb6f
fix(fragment): properly remove compiler generated fragments
2019-12-13 10:31:40 -05:00
Cr
6797e35703
chore: fix typos ( #541 )
2019-12-13 11:49:01 +01:00
Evan You
7431c2e46e
fix(runtime-core): ensure $forceUpdate behavior consistency with 2.x
2019-12-12 22:12:45 -05:00
Evan You
2c3c65772b
perf: optimize props resolution
...
Store the keys for props that need default or boolean casting
during normalization, so that later we only need to iterate
through this array instead of the entire props object.
2019-12-12 22:07:48 -05:00
Evan You
c36941c498
fix(compiler-core): should apply text transform to <template v-for> children
2019-12-12 21:09:47 -05:00
Evan You
8ffd79c754
fix(compiler-core): handle template root and template v-if as stable fragments
2019-12-12 21:09:47 -05:00
Evan You
f77ae132e5
feat(hmr): reload and force slot update on re-render
2019-12-12 21:09:47 -05:00
Evan You
ef50c333ce
fix(core): generate fragment root with patchFlag + optimize fragment w/ patchFlag
2019-12-12 21:09:47 -05:00
Evan You
efe39db023
feat(runtime-core): hot module replacement
2019-12-12 21:09:47 -05:00
Evan You
3116b5d6c3
fix(runtime-core): initialize renderCache if not present
2019-12-12 21:09:47 -05:00
Evan You
5658f8b678
feat(compiler): expose generateCodeFrame
2019-12-12 21:09:47 -05:00
Evan You
3de7315b7a
types: use RawSourceMap types
2019-12-12 21:09:46 -05:00
Evan You
5ecc77df5a
chore: fix missed save
2019-12-11 10:39:29 -05:00
Evan You
b983c68575
test(e2e): avoid relying on CDN + reduce debounce delay
2019-12-11 10:37:03 -05:00
Evan You
4d730f464d
refactor: move runtime compile error handling to vue
2019-12-11 10:25:34 -05:00
Evan You
c202bd6ac0
test(e2e): use better mocking strategy for commits example
2019-12-11 10:15:52 -05:00
CodinCat
f48a4f71a7
test(e2e): add e2e test for commits example ( #526 )
...
* test(e2e): add e2e test for commits example
* test(e2e): add waitForResponse to enhance the test
* test(e2e): use mocks for commits test
2019-12-11 09:51:15 -05:00
Evan You
d3d4fe84cd
fix(vue): properly cache runtime compilation
2019-12-11 09:46:42 -05:00
宋铄运
559fa27185
test(compiler-sfc): more tests ( #536 )
2019-12-11 09:26:14 -05:00
CodinCat
532d3b68ab
test(e2e): add e2e test for markdown example ( #533 )
2019-12-11 09:13:47 -05:00
Evan You
818bf17cb7
feat(compiler-sfc): use @vue/compiler-dom by default
2019-12-10 22:23:55 -05:00
Evan You
136ab753b3
build: adjust esm formats
2019-12-10 22:14:02 -05:00
Evan You
8ed04ed503
build: release script
2019-12-10 21:29:52 -05:00
Evan You
cd5ba7cfcc
build: remove lerna
2019-12-10 18:24:59 -05:00
Evan You
3e3188fa9f
refactor: adjust sfc compiler options
2019-12-10 17:41:56 -05:00
Evan You
95b2cb6fd2
fix(compiler-core): should only parse interpolations in DATA text mode
2019-12-10 15:30:17 -05:00
Evan You
5cd1495767
refactor(compiler-core): centralize compiler options
2019-12-10 12:53:26 -05:00
Evan You
03301b264e
workflow(template-explorer): fix cacheHandlers disabled state
2019-12-10 12:46:38 -05:00
Evan You
c8c5b16ef7
feat(compiler-sfc): properly pass on options
2019-12-10 12:22:23 -05:00
宋铄运
0a14c04c81
feat(compiler-sfc): compile template WIP ( #534 )
2019-12-10 12:01:56 -05:00
Evan You
b198a665cf
workflow: add size-check package
2019-12-10 11:31:57 -05:00
Evan You
c97d83aff2
refactor(runtime-core): tweak component proxy implementation
2019-12-10 11:14:29 -05:00
Haoqun Jiang
d1527fbee4
test: add test for runtime-dom/modules/class ( #75 )
2019-12-09 14:52:20 -05:00
GCA
2383b45e32
chore: fix typo ( #530 ) [ci skip]
2019-12-09 14:23:57 -05:00
Evan You
e7e1314ccc
test: fix warning
2019-12-09 14:23:01 -05:00
CodinCat
12ec62e688
test(e2e): add e2e test for tree example ( #529 )
2019-12-09 14:20:56 -05:00
Pocho
55e234816e
types(compiler-sfc): use specific preprocessLang instead of string ( #528 )
2019-12-09 14:19:39 -05:00
CodinCat
9b5c4a2ec1
chore: fix debounce of markdown example ( #525 ) [ci skip]
2019-12-09 14:16:44 -05:00
Cédric Exbrayat
65bfe0130c
chore: fix grid composition example ( #519 ) [ci skip]
...
Commit 27a72bd8f1
fixed the example but introduced a useless import.
2019-12-09 14:16:21 -05:00
Evan You
c53fae987d
feat(runtime-core): warn incorrect root props value ( close #375 )
2019-12-09 14:06:31 -05:00
Evan You
83428fb844
chore: update readme
2019-12-09 14:06:31 -05:00
ztplz
02478b48eb
chore: use const instead of let ( #524 )
2019-12-06 00:10:06 +01:00
meteorlxy
f3007a6b4f
fix(core): use String to convert primitive types ( #518 )
2019-12-04 18:28:52 +01:00