Evan You
3c60d40827
feat(shared): support Map and Set in toDisplayString
...
close #1067 , close #1100
2020-05-04 10:38:03 -04:00
Evan You
ff97be15c3
chore: ensure warn is dev only
2020-05-04 10:17:40 -04:00
Evan You
c6217b4d46
refactor(types): use pure type symbol
2020-05-04 09:38:32 -04:00
Evan You
6b33cc4229
feat(watch): support directly watching reactive object with deep default
...
Also warn invalid watch sources
close #1110
2020-05-04 09:27:28 -04:00
Evan You
64ef7c76bf
feat(types): re-expose resolve asset utitlies and registerRuntimeCompiler in type definitions
...
close #1109
2020-05-04 08:52:59 -04:00
Evan You
bc1f097e29
fix(types/reactivity): fix ref type inference on nested reactive properties with .value
...
fix #1111
2020-05-04 08:51:17 -04:00
Evan You
f40f3a0e95
fix(reactivity): avoid polluting Object prototype
2020-05-04 08:51:17 -04:00
Jackliu
42a99d28ae
chore: typo ( #1113 )
2020-05-04 10:30:24 +02:00
Evan You
6be2b73f8a
fix(reactivity): check own property for existing proxy of target
...
fix #1107
2020-05-03 15:36:19 -04:00
XinPing Wang
8bab78b648
test: reactive proto
2020-05-03 15:36:19 -04:00
Evan You
01b7e90eac
fix(hmr): handle cases where instances with same id having different definitions
2020-05-03 13:52:09 -04:00
Evan You
0c48558f4c
chore: remove commented stale code [ci skip]
2020-05-02 17:08:54 -04:00
Evan You
0dc44a6a86
release: v3.0.0-beta.7
2020-05-02 17:06:16 -04:00
Evan You
d901b6bea8
refactor(reactivity): use more efficient reactive checks
...
WeakSets and WeakMaps shows degrading performance as the amount of
observed objects increases. Using hidden keys result in better
performance especially when repeatedly creating large amounts of
reactive proxies.
This also makes it possible to more efficiently declare non-reactive
objects in userland.
2020-05-02 16:58:17 -04:00
Evan You
36972c20b5
feat(compiler-sfc): add transformAssetUrlsBase option
2020-05-02 16:58:17 -04:00
Eduardo San Martin Morote
71a942b25a
fix(warn): cast symbols to strings ( #1103 )
2020-05-02 10:26:32 -04:00
Evan You
583ba0c172
feat(types): re-expose withDirectives
as public type
2020-05-02 10:19:40 -04:00
Evan You
b570287dfe
release: v3.0.0-beta.6
2020-05-01 18:56:53 -04:00
HiiTea
f0d52d5428
chore: code comment formatting ( #1089 ) [ci skip]
2020-05-01 18:48:44 -04:00
Evan You
98bee596bd
fix(runtime-core): should catch dom prop set TypeErrors
...
based on #1051
2020-05-01 18:47:27 -04:00
Evan You
c5e7d8b532
fix(compiler-core): hoist pure annotations should apply to all nested calls
2020-05-01 18:36:34 -04:00
Evan You
cad25d95a3
fix(compiler-core): hoisted vnode calls and scoped id calls should be marked pure
...
Otherwise they cannot be tree-shaken
2020-05-01 17:34:11 -04:00
Evan You
6c60ce13e0
fix(compiler-ssr): handle comments codegen + refactor ssr codegen transform
2020-05-01 17:04:36 -04:00
underfin
8b85aaeea9
fix(runtime-core): should call Suspense fallback unmount hook ( #1061 )
...
fix #1059
2020-05-01 16:20:16 -04:00
Evan You
b40fcbc4c6
fix(types): augment ref unwrap bail types in appropriate packages
...
Packages can now augment the ref unwrap bail types in their own `d.ts`.
Also updated the build script to auto concat any files in a package's
`types` directory to the final generated `d.ts`.
- `@vue/reactivity` should no longer require `libs: ["DOM"]` in tsconfig
- Properly bail on `VNode` and `ComponentPublicInstance` in runtime-core
2020-05-01 16:14:30 -04:00
Evan You
7f23555356
fix(teleport): teleport should always be tracked as dynamic child for unmount
...
fix #1088
2020-05-01 15:12:07 -04:00
Evan You
08bf7e3607
fix(runtime-core): cloned vnodes with extra props should de-opt
2020-05-01 14:55:27 -04:00
Evan You
ac6a6f11ac
fix(runtime-core): fix slot fragment bail check
2020-05-01 14:16:55 -04:00
Evan You
11f38d8a85
perf: instance public proxy should never be observed
2020-05-01 13:24:38 -04:00
Evan You
62336085f4
fix(runtime-core): avoid infinite warning loop for isRef check on component public proxy
...
fix #1091
2020-05-01 13:23:59 -04:00
Evan You
5b09e743a0
fix(ssr): fix escape and handling for raw Text, Comment and Static vnodes
2020-05-01 11:52:40 -04:00
Evan You
1bddeea247
feat(runtime-core): warn against user properties with reserved prefixes
2020-05-01 11:23:22 -04:00
Evan You
20bc7ba1c5
fix(runtime-dom): should not coerce nullish values to empty strings for non-string dom props
...
fix #1049
close #1092 , close #1093 , close #1094
2020-05-01 11:06:24 -04:00
Evan You
68e1ce8b66
refactor(types): mark more internal APIs
2020-05-01 10:37:40 -04:00
HiiTea
22717772dd
chore: fix typos ( #1090 )
2020-05-01 09:42:58 -04:00
Evan You
127e96a993
types: fix internal exports from @vue/shared
2020-05-01 09:19:30 -04:00
Evan You
c9bf7ded2e
refactor(types): mark internal API exports and exclude from d.ts
...
BREAKING CHANGE: Internal APIs are now excluded from type decalrations.
2020-04-30 17:04:35 -04:00
Evan You
a5bb1d02b7
release: v3.0.0-beta.5
2020-04-30 16:20:25 -04:00
underfin
8ed3455251
fix(transition-group): should collect raw children with Fragment ( #1046 )
...
fix #1045
2020-04-30 15:06:50 -04:00
Bas van Meurs
ba240eb497
feat(runtime-core): export queuePostFlushCb ( #1078 )
2020-04-30 14:58:50 -04:00
Carlos Rodrigues
239270c38a
fix(keep-alive): do not invoke onVnodeBeforeUnmount if is KeepAlive component ( #1079 )
2020-04-30 14:52:03 -04:00
Evan You
352c369704
chore: remove stale _isVue checks
2020-04-30 14:45:25 -04:00
Evan You
386b093554
fix(hmr): support hmr for static nodes
2020-04-30 14:45:25 -04:00
Evan You
e087b4e024
fix(hydration): fix text mismatch warning
2020-04-29 17:07:41 -04:00
Evan You
08b4e8815d
fix(compiler-ssr): avoid unnecessary withCtx import
2020-04-29 16:21:54 -04:00
Evan You
a0e2c12874
fix(warning): always check for component instance presence when formatting traces
2020-04-29 14:41:22 -04:00
Evan You
892fb6d229
types: use more consistent naming for apiWatch type exports
...
BREAKING CHANGE: Some watch API types are renamed.
- `BaseWatchOptions` -> `WatchOptionsBase`
- `StopHandle` -> `WatchStopHandle`
2020-04-27 13:33:57 -04:00
Evan You
8ab44e1f80
types: expose ComponentOptionsBase
2020-04-27 13:31:40 -04:00
Evan You
bd0f7da2c6
build: add browser builds for @vue/compiler-sfc
2020-04-26 01:24:25 -04:00
Evan You
0bb1f67d12
types(compiler-sfc): expose SFCAsyncStyleCompileOptions
2020-04-24 17:11:41 -04:00
Evan You
d29aefcf99
release: v3.0.0-beta.4
2020-04-24 16:20:20 -04:00
Evan You
ca84f46cd0
chore: add tip about Suspense being experimental
2020-04-24 16:13:44 -04:00
Evan You
ded92f93b4
fix(runtime-core): dynamic component should support falsy values without warning
2020-04-24 15:32:47 -04:00
Carlos Rodrigues
f3a9b516bd
fix(types): make return type of defineComponent
assignable to Component
type ( #1032 )
...
fix #993
2020-04-24 13:22:58 -04:00
Carlos Rodrigues
28b4c317b4
feat(types): expose ToRefs
type ( #1037 )
2020-04-24 13:10:16 -04:00
Evan You
c9f10be9de
refactor(runtime-core): extract key/ref normalization logic
2020-04-24 13:06:56 -04:00
susiwen8
ad2b940c17
chore: remove unnecessary export ( #1044 ) [ci skip]
2020-04-24 13:02:44 -04:00
Evan You
d7379c7647
fix(runtime-core): fix key/ref resolution for cloneVNode
...
fix #1041
2020-04-24 12:42:46 -04:00
Evan You
dcf2458fa8
fix(runtime-core): fix dynamic node tracking in dynamic component that resolves to plain elements
...
fix #1039
2020-04-24 12:18:51 -04:00
Evan You
fa216a0c3a
feat(compiler-sfc): built-in support for css modules
2020-04-24 09:59:52 -04:00
Evan You
20d425fb19
feat(compiler-sfc): add preprocessCustomRequire option
2020-04-24 09:28:03 -04:00
underfin
63c8444d4a
Update packages/runtime-core/src/components/BaseTransition.ts
...
Co-Authored-By: Carlos Rodrigues <david-181@hotmail.com>
2020-04-23 06:53:46 +08:00
Evan You
2acf3e84b9
feat(reactivity): add triggerRef API
...
Also make shallowRef assignment behavior consistent with normal ref
2020-04-22 18:00:10 -04:00
underfin
2b19965bcf
fix(slots): compiled slot fallback should be functions ( #1030 )
...
This avoids it being collected as dynamic children when it's not used.
fix #1021
2020-04-22 16:52:41 -04:00
Evan You
ff4d1fcd81
fix(runtime-core): mixin options that rely on this context should be deferred
...
Also ensure consistent option apply order with Vue 2, close #1016 , close #1029
2020-04-22 16:36:18 -04:00
Evan You
b0d4df9743
perf(reactivity): ref should not trigger if value did not change
...
Note: shallowRef will always trigger on assignment because it does not
account for deep mutations
close #1012
2020-04-22 15:11:01 -04:00
Evan You
7d858a9001
test(compiler-core): test dynamic component block
2020-04-22 14:47:31 -04:00
Evan You
7d0ab3392a
fix(compiler-core): dynamic component should always be made blocks
...
since it can potentially resolve to plain elements
fix #1018
2020-04-22 14:45:00 -04:00
Carlos Rodrigues
0bdd889156
fix(types): fix ref(false) type to Ref<boolean> ( #1028 )
2020-04-22 11:54:54 -04:00
Evan You
e422b8b082
fix(runtime-core): only infer component name for object components
...
close #1023
2020-04-22 04:39:12 -04:00
likui
9bddf3820e
types(runtime-core): improve types for transition hook
...
fix #1000
2020-04-21 12:06:10 +08:00
Evan You
6fefeafe98
release: v3.0.0-beta.3
2020-04-20 17:00:26 -04:00
Andrew Talbot
cebad64d22
feat(runtime-core): improve warning for extraneous event listeners ( #1005 )
...
fix #1001
2020-04-20 16:40:59 -04:00
Evan You
dece6102aa
feat(warn): infer anonymous component named based on resolve name
2020-04-20 16:17:29 -04:00
Evan You
0278992f78
fix(warn): fix component name inference in warning trace
2020-04-20 16:06:51 -04:00
Andrew Talbot
054ccecd58
perf(core): use startsWith
instead of indexOf
( #989 )
2020-04-20 15:44:20 -04:00
Evan You
ab844fd169
feat(runtime-core): more specific warning for failed v-on fallthrough
...
close #1001
2020-04-20 15:32:21 -04:00
Evan You
e954ba21f0
feat(build): provide more specific warnings for runtime compilation
...
close #1004
2020-04-20 15:23:26 -04:00
Evan You
171cfa404f
fix(runtime-core): should not cast prop value if prop did not change
...
fix #999
2020-04-20 14:16:25 -04:00
Evan You
36d77f9a9e
refactor(hmr): simplify usage
2020-04-20 13:39:47 -04:00
Evan You
19223f5462
build: remove __BUNLDER__ flag so that HMR is available for all builds
2020-04-20 13:39:47 -04:00
limichange
fa40d1ef3a
refactor(reactivity): simplify if condition ( #1002 )
2020-04-20 13:39:35 -04:00
Evan You
218e6e1667
build: adjust build formats
...
- Rename `esm` to `esm-browser`
- Add runtime-only build for `esm-browser`
- Add default CDN alias for jsdelivr
2020-04-19 18:43:21 -04:00
Jian Zhang
a51b052672
chore: remove a dead if branch ( #986 )
2020-04-17 18:41:33 -04:00
Evan You
c1a85cb124
release: v3.0.0-beta.2
2020-04-17 11:01:01 -04:00
Evan You
d7ca1c5c6e
fix(runtime-core): fix user attched public instance properties that start with "$"
2020-04-17 10:23:10 -04:00
Carlos Rodrigues
99fd158d09
fix(watch): fix deep watchers on refs containing primitives ( #984 )
2020-04-17 09:55:41 -04:00
Evan You
c0adb67c2e
feat(types): expose ComponentCustomOptions for declaring custom options
2020-04-17 09:41:36 -04:00
Evan You
be21cfb1db
feat(types): feat(types): add ComponentCustomProperties
interface ( #982 )
2020-04-17 09:12:50 -04:00
Cédric Exbrayat
4cf5e07608
feat(types): expose ExtractPropTypes ( #983 )
2020-04-17 09:00:25 -04:00
扩散性百万甜面包
70c8c58be2
test(compiler-core): expect onError to be called ( #976 )
2020-04-17 08:58:38 -04:00
Evan You
ca6912554c
release: v3.0.0-beta.1
2020-04-16 15:45:04 -04:00
Evan You
370fc820cc
refactor(runtime-core): refactor instance public proxy context object
2020-04-16 12:49:50 -04:00
Evan You
b2662a62c5
wip: separate setupState
2020-04-16 11:50:33 -04:00
Evan You
0709380c5f
feat(runtime-core): skip emit warn if has equivalent onXXX prop
2020-04-16 11:27:52 -04:00
Evan You
bfd6744fb1
perf(runtime-core): use raw context on component options init
2020-04-16 10:39:51 -04:00
Evan You
24e5ab33f5
refactor(runtime-core): remove need for internal instance sink
2020-04-16 10:09:20 -04:00
Cédric Exbrayat
4d014dc3d3
fix(reactivity): remove Symbol.observable ( #968 )
...
* chore: add @types/node as an explicit dependency
As `tsconfig.json` references it, it should be listed in the dependencies.
It currently uses an older version: this commit also bumps to the latest v12 version, and fixes a typing issue.
* fix(reactivity): remove Symbol.observable
`Symbol.observable` is brought by `@types/node@12` and is not a "well-known" typescript symbol https://www.typescriptlang.org/docs/handbook/symbols.html that can be find in lib.es20xx like the others. It has been removed in `@types/node@v13`.
It means that an application using vue@3.0.0-alpha.13 does not compile unless it explicitely adds `@types/node@v12` as a dependency and `node` in its own tsconfig types.
2020-04-16 09:33:30 -04:00
Carlos Rodrigues
d7ae1d0244
test(reactivity): add tests for object with symbols ( #969 )
2020-04-16 09:24:46 -04:00
Evan You
09b4202a22
refactor(reactivity): adjust APIs
...
BREAKING CHANGE: Reactivity APIs adjustments:
- `readonly` is now non-tracking if called on plain objects.
`lock` and `unlock` have been removed. A `readonly` proxy can no
longer be directly mutated. However, it can still wrap an already
reactive object and track changes to the source reactive object.
- `isReactive` now only returns true for proxies created by `reactive`,
or a `readonly` proxy that wraps a `reactive` proxy.
- A new utility `isProxy` is introduced, which returns true for both
reactive or readonly proxies.
- `markNonReactive` has been renamed to `markRaw`.
2020-04-15 16:45:20 -04:00
Evan You
11654a6e50
release: v3.0.0-alpha.13
2020-04-15 12:46:26 -04:00
pikax
8a74260b70
types: remove tuple check and add type check for tuple
2020-04-15 16:22:44 +01:00
Carlos Rodrigues
70b55d797f
Apply suggestions from code review
...
Co-Authored-By: Evan You <yyx990803@gmail.com>
2020-04-15 16:07:07 +01:00
pikax
dcb5985c00
Merge remote-tracking branch 'github/master' into changing_unwrap_ref
2020-04-15 15:54:26 +01:00
Evan You
1068212cb2
chore: run prettier
2020-04-15 10:51:07 -04:00
Evan You
d45e47569d
fix(runtime-dom/v-on): support event.stopImmediatePropagation on multiple listeners
...
close #916
2020-04-15 10:35:34 -04:00
Evan You
3178504273
refactor(reactivity): make readonly non-tracking
2020-04-14 23:49:46 -04:00
Evan You
09b44e07cb
refactor(reactivity): move array ref handling into getter
2020-04-14 22:18:58 -04:00
Evan You
486dc188fe
feat(reactivity): add support for toRef
API
2020-04-14 20:49:18 -04:00
Evan You
b83c580131
feat(reactivity): add support for customRef
API
2020-04-14 20:45:46 -04:00
Evan You
4046f0bc03
chore: revert debugging dev flag
2020-04-14 18:32:27 -04:00
Evan You
8ae362400e
types: fix public instance $root and $parent type
2020-04-14 18:13:53 -04:00
Evan You
2e06f5bbe8
feat(runtime-core): detect and warn against components made reactive
...
close #962
2020-04-14 18:07:47 -04:00
Evan You
3e7bb7d110
feat(runtime-core): warn async data()
2020-04-14 17:40:41 -04:00
Evan You
78977c3997
fix(scheduler): sort jobs before flushing
...
This fixes the case where a child component is added to the queue before
its parent, but should be invalidated by its parent's update. Same logic
was present in Vue 2.
Properly fixes #910
ref: https://github.com/vuejs/vue-next/issues/910#issuecomment-613097539
2020-04-14 17:31:35 -04:00
Evan You
c80b857eb5
fix(runtime-core): should resolve value instead of delete for dynamic props with options
2020-04-14 16:17:35 -04:00
Evan You
0869443d01
chore: import toRaw from @vue/reactivity
2020-04-14 09:59:02 -04:00
Evan You
e8a866ec99
refactor(reactivity): remove stale API markReadonly
...
BREAKING CHANGE: `markReadonly` has been removed.
2020-04-13 17:39:48 -04:00
Evan You
9e9d264412
Revert "feat(reactivity): add effect to public api ( #909 )" ( #961 )
...
This reverts commit 6fba241850
.
2020-04-13 17:13:06 -04:00
pikax
6a66b7b60a
Merge remote-tracking branch 'github/master' into changing_unwrap_ref
2020-04-13 18:32:14 +01:00
Evan You
7cbf684611
fix(runtime-core): fix kebab-case props update
...
fix #955
2020-04-13 12:37:31 -04:00
likui
27b5c71944
fix(runtime-dom): should patch svg innerHtml ( #956 )
2020-04-13 12:13:37 -04:00
Thorsten Lünborg
33ccfc0a8b
fix(types): UnwrapRef should bail on DOM element types ( #952 )
...
fix #951
2020-04-13 11:51:32 -04:00
Evan You
5968cff3a8
refactor: make sure setupContext.emit always reference current emit on instance
...
This is dev only and for internal use by vue-test-utils.
2020-04-13 10:06:51 -04:00
pikax
c20d8af8c0
types: add symbolExtract to extract all known symbols
...
#951
2020-04-12 11:45:56 +01:00
Evan You
ab16a065a8
refactor: adjust runtime-dom test structure + tests for dom props
2020-04-10 15:37:30 -04:00
Evan You
ed235f16de
refactor: simplify runtime-dom class tests
2020-04-10 15:23:01 -04:00
Evan You
6eb3399311
fix(runtime-dom): fix patching for attributes starting with on
...
fix #949
BREAKING CHANGE: Only props starting with `on` followed by an uppercase
letter or a non-letter character are considered event listeners.
2020-04-10 11:57:07 -04:00
Evan You
55566e8f52
refactor(runtime-core): remove emit return value
...
BREAKING CHANGE: this.$emit() and setupContext.emit() no longer
return values. For logic that relies on return value of listeners,
the listener should be declared as an `onXXX` prop and be called
directly. This still allows the parent component to pass in
a handler using `v-on`, since `v-on:foo` internally compiles
to `onFoo`.
ref: https://github.com/vuejs/rfcs/pull/16
2020-04-10 10:59:46 -04:00
Evan You
a6e2b1052a
fix(compiler-core): should not generate CLASS/STYLE patch flags on components
...
ref #677
2020-04-10 10:19:26 -04:00
Evan You
cda50ea788
refactor(runtime-core): move updateCompnent into separate function
2020-04-10 10:19:26 -04:00
Evan You
1d9f8fc979
release: v3.0.0-alpha.12
2020-04-08 18:59:49 -04:00
Evan You
1f6e72b110
fix(compiler): support full range of entity decoding in browser builds
...
BREAKING CHANGE: compiler options have been adjusted.
- new option `decodeEntities` is added.
- `namedCharacterReferences` option has been removed.
- `maxCRNameLength` option has been rmeoved.
2020-04-08 18:51:25 -04:00
Evan You
8c17535a47
fix(compiler): should not condense
...
fix #945
2020-04-08 17:33:07 -04:00
Evan You
be666ebd59
fix(compiler): should only strip leading newline directly in pre tag
2020-04-08 16:44:32 -04:00
pikax
ab9add4f78
types: bring back my changes
2020-04-08 21:34:00 +01:00
pikax
5ae74144f2
Merge remote-tracking branch 'github/master' into changing_unwrap_ref
...
# Conflicts:
# packages/reactivity/src/ref.ts
# packages/runtime-core/__tests__/apiTemplateRef.spec.ts
# packages/runtime-core/src/apiWatch.ts
2020-04-08 21:21:04 +01:00
Evan You
84440780f9
fix(slots): should update compiled dynamic slots
2020-04-08 12:23:44 -04:00
likui
a27e9ee9ae
fix(runtime-core): set fragment root children should also update dynamicChildren ( #944 )
...
fix #943
2020-04-08 09:32:09 -04:00
Evan You
d531686f91
fix(compiler-core): elements with dynamic keys should be forced into blocks
...
fix #916
2020-04-07 18:44:21 -04:00
Evan You
42278317e1
fix(transition): should ship props declarations in production
2020-04-07 17:19:37 -04:00
Evan You
b8da8b2dfa
fix(transition): fix dynamic transition update on nested HOCs
2020-04-07 16:08:15 -04:00
Evan You
e804463492
feat(asyncComponent): add onError
option for defineAsyncComponent
...
BREAKING CHANGE: `retryWhen` and `maxRetries` options for
`defineAsyncComponent` has been replaced by the more flexible `onError`
option, per https://github.com/vuejs/rfcs/pull/148
2020-04-07 14:34:42 -04:00
Evan You
f87d6b501e
test: fix runtime-dom v-on test
2020-04-07 11:41:48 -04:00
Evan You
2302dea162
fix(runtime-dom): support native onxxx handlers
...
close #927
2020-04-07 11:34:54 -04:00
Evan You
cb504c287f
refactor(runtime-core): refactor slots resolution
...
Get rid of need for setup proxy in production mode and improve console
inspection in dev mode
2020-04-06 21:06:53 -04:00
Evan You
c5f0f63b91
refactor(runtime-core): make setup attrs proxy dev only
2020-04-06 17:57:27 -04:00
Evan You
ec4a4c1e06
refactor(runtime-core): refactor props resolution
...
Improve performance in optimized mode + tests
2020-04-06 17:37:47 -04:00
Evan You
c28a9196b2
fix(runtime-core): fix globalProperties in check on instance render proxy
2020-04-06 11:41:28 -04:00
Rahul Kadyan
4d196366c8
types(runtime-core): Adds type signature for renderList helper ( #924 )
2020-04-06 09:57:32 -04:00
Jian Zhang
da1fb7afef
fix(runtime-dom): fix getModelAssigner order in vModelCheckbox ( #926 )
2020-04-06 09:55:19 -04:00
ysj16
667e42065d
chore: typo ( #928 )
2020-04-06 09:09:44 -04:00
Evan You
899287ad35
feat(runtime-core): improve component public instance proxy inspection
2020-04-05 18:39:22 -04:00
Evan You
f42d11e8e1
fix(v-model): handle dynamic assigners and array assigners
...
close #923
2020-04-04 20:51:42 -04:00
Evan You
c1d5928f3b
fix(types): accept generic Component type in h()
...
fix #922
2020-04-04 13:29:29 -04:00
Evan You
5dcc645fc0
fix(reactivity): track reactive keys in raw collection types
...
Also warn against presence of both raw and reactive versions of the
same object in a collection as keys.
fix #919
2020-04-04 12:57:22 -04:00
Evan You
7402951d94
release: v3.0.0-alpha.11
2020-04-03 21:45:50 -04:00
Evan You
e42cb54394
fix(runtime-core): support attr merging on child with root level comments
...
fix #904
2020-04-03 21:37:58 -04:00
Evan You
5bf72517ce
refactor(compiler-sfc): make more explicit regarding template pad behavior
2020-04-03 21:11:26 -04:00
Rahul Kadyan
db50009353
fix(compiler-sfc): always use offset for template block sourcemaps ( #911 )
2020-04-03 21:10:22 -04:00
Evan You
f3b6559408
fix(types/reactivity): add generics constraint for markNonReactive
...
fix #917
2020-04-03 21:06:03 -04:00
Evan You
7f30cb5772
fix(compiler): fix pre tag whitespace handling
...
- should preserve whitespace even in nested elements
- should remove leading newline per spec
fix #908
2020-04-03 21:02:20 -04:00
Evan You
c7c3a6a3be
feat(runtime-core): emits validation and warnings
2020-04-03 20:40:34 -04:00
Evan You
24e9efcc21
refactor(runtime-core): extract component emit related logic into dedicated file
2020-04-03 19:08:17 -04:00
Evan You
bf473a64ea
feat(runtime-core): type and attr fallthrough support for emits option
2020-04-03 12:05:52 -04:00
Robbin Baauw
6fba241850
feat(reactivity): add effect to public api ( #909 )
2020-04-03 09:30:58 -04:00
Carlos Rodrigues
026eb729f3
fix(types): allow use PropType with Function ( #915 )
...
close #748
2020-04-03 09:28:13 -04:00
Evan You
4b03b922e2
chore: remove debugger
2020-04-03 09:21:21 -04:00
Evan You
21bcdec943
refactor(runtime-core): adjust attr fallthrough behavior
...
BREAKING CHANGE: attribute fallthrough behavior has been adjusted
according to https://github.com/vuejs/rfcs/pull/154
2020-04-03 09:20:37 -04:00
Cédric Exbrayat
2103a485d7
refactor(runtime-core): remove unnecessary tracing check ( #912 )
...
The check for `config.performance` is already done inside `endMeasure` and is not done anywhere else `endMeasure` is called.
2020-04-03 09:19:53 -04:00
Evan You
0764c33d3d
fix(reactivity): scheduled effect should not execute if stopped
...
fix #910
2020-04-02 19:50:48 -04:00
Evan You
835789532c
test: make events test more stable
2020-04-01 21:59:42 -04:00
Evan You
eee5095692
refactor: rename <portal>
to <teleport>
...
BREAKING CHANGE: `<portal>` has been renamed to `<teleport>`.
`target` prop is also renmaed to `to`, so the new usage will be:
```html
<Teleport to="#modal-layer" :disabled="isMobile">
<div class="modal">
hello
</div>
</Teleport>
```
The primary reason for the renaming is to avoid potential naming
conflict with [native portals](https://wicg.github.io/portals/ ).
2020-04-01 21:55:19 -04:00
Evan You
8080c38323
chore: avoid v-cloak test warning
2020-04-01 21:39:47 -04:00
Evan You
e93e426bfa
feat(runtime-core): config.performance tracing support
2020-04-01 21:36:50 -04:00
Evan You
a022b63605
fix(compiler-core/slots): should support on-component named slots
2020-04-01 20:44:53 -04:00
Igor Randjelovic
20f4965b45
feat(compiler-core): export transformElement
from compiler-core ( #907 )
2020-04-01 11:25:05 -04:00
likui
0ed147d336
fix(runtime-dom): v-cloak should be removed after compile on the root element ( #893 )
...
fix #890
2020-03-31 18:13:59 -04:00
Eduardo San Martin Morote
37b1dc8242
fix(transition): warn only when there is more than one rendered child ( #903 )
2020-03-31 18:12:51 -04:00
Evan You
449ab039fe
feat(templateRef): should work with direct reactive property
...
close #901
2020-03-31 10:35:49 -04:00
Evan You
55b364decc
feat(templateRef): support template ref for all vnode types
2020-03-31 10:30:12 -04:00
Eduardo San Martin Morote
94562daea7
fix(inject): allow default value to be undefined
( #894 )
...
Close #892
2020-03-30 15:24:55 -04:00
Evan You
573bcb2e11
refactor(runtime-core): remove the need for currentSuspense
2020-03-30 11:49:51 -04:00
Evan You
b74bab216c
feat(portal): hydration support for portal disabled mode
2020-03-30 11:24:29 -04:00
Evan You
9ed9bf3687
feat(portal): SSR support for portal disabled prop
2020-03-30 11:24:29 -04:00
Evan You
8ce3da0104
feat(portal): support disabled prop
2020-03-30 11:24:28 -04:00
Evan You
e866434f0c
feat(portal): SSR support for multi portal shared target
2020-03-27 20:49:01 -04:00
Evan You
aafb880a0a
feat(portal): support multiple portal appending to same target
2020-03-27 18:42:57 -04:00
Evan You
b8ffbffaf7
feat(compiler-core): support v-is
...
see https://github.com/vuejs/rfcs/pull/149 for details
2020-03-27 16:38:31 -04:00
Evan You
b1d0b046af
fix(runtome-dom): properly support creating customized built-in element
2020-03-27 12:39:00 -04:00
Eduardo San Martin Morote
412ec86128
fix(types): export missing types from runtime-core ( #889 )
2020-03-27 09:30:49 -04:00
Evan You
c01930e60b
feat(asyncComponent): retry support
...
BREAKING CHANGE: async component `error` and `loading` options have been
renamed to `errorComponent` and `loadingComponent` respectively.
2020-03-26 20:58:31 -04:00
Cédric Exbrayat
ebc587376c
refactor(runtime-core): rename createAsyncComponent
to defineAsyncComponent
( #888 )
...
BREAKING CHANGE: `createAsyncComponent` has been renamed to `defineAsyncComponent` for consistency with `defineComponent`.
2020-03-26 11:59:54 -04:00
Cédric Exbrayat
6a65739f61
chore: readme typos ( #885 )
...
[ci skip]
2020-03-26 09:31:54 -04:00
Evan You
925ba6bb7b
chore: fix tests
2020-03-25 17:55:09 -04:00
Evan You
16cd8eee78
fix(portal): portal should always remove its children when unmounted
2020-03-25 17:27:55 -04:00
Evan You
cb31eb4d0a
feat(runtime-core): failed component resolution should fallback to native element
2020-03-25 15:08:15 -04:00
Evan You
c5beb9fb4c
chore: remove unused import
2020-03-25 09:48:24 -04:00
Evan You
27873dbe1c
feat(runtime-core): support app.config.globalProperties
...
per https://github.com/vuejs/rfcs/pull/117/
2020-03-25 09:28:43 -04:00
Evan You
de81faf00a
release: v3.0.0-alpha.10
2020-03-24 18:33:40 -04:00
Evan You
c403c39126
chore: improve parser option comments [ci skip]
2020-03-24 18:29:15 -04:00
Evan You
d99437f870
chore: rmeove debugger [ci skip]
2020-03-24 18:18:59 -04:00
Evan You
76a83857c1
chore: fix resolveAsset test typing
2020-03-24 13:02:17 -04:00
Evan You
10ad965100
fix: fix option merge global mixins presence check
2020-03-24 12:59:33 -04:00
Evan You
dbbd9990e0
chore: fix Portal test types
2020-03-24 12:58:12 -04:00
Evan You
45ba06ac5f
fix(reactivity): should not trigger map keys iteration when keys did not change
...
fix #877
2020-03-24 12:43:06 -04:00
ysj16
0dba5d44e6
fix(TransitionGroup): ignore comment node when warn (fix#869) ( #875 )
2020-03-24 12:09:42 -04:00
Evan You
4cb3c5c49a
test: improve $options test to use beforeCreate hook
2020-03-24 12:03:21 -04:00
Evan You
528621ba41
feat(runtime-core): support config.optionMergeStrategies
...
Note the behavior is different from Vue 2:
- merge strategies no longer apply to built-in options.
- the default value is now an empty object and no longer exposes merge
strategies for built-in options.
2020-03-24 11:59:00 -04:00
Evan You
123738727a
fix(keep-alive): should update re-activated component with latest props
2020-03-24 10:28:00 -04:00
Evan You
bfae9b2e55
types: fix createVNode dts generation
2020-03-23 17:36:19 -04:00
Evan You
0831b98eac
fix(compiler-core): support interpolation in RCDATA mode (e.g. textarea)
2020-03-23 17:25:29 -04:00
Evan You
455a1534c9
refactor: transformHArgs -> transformVNodeArgs
2020-03-23 16:54:28 -04:00
Evan You
cba2f1aadb
feat(asyncComponent): SSR/hydration support for async component
2020-03-23 16:14:56 -04:00
Evan You
9fc8ade884
chore: update dist file readme
2020-03-23 15:26:16 -04:00
Evan You
4c1a193617
fix: do not drop SFC runtime behavior code in global builds
...
fix #873
2020-03-23 15:10:35 -04:00
Evan You
4126a9dd51
build: add runtime-global build for vue
2020-03-23 15:09:29 -04:00
Evan You
f529dbde23
fix: dynamic component fallback to native element
...
fix #870
2020-03-23 14:47:04 -04:00
Evan You
1b2149dbb2
fix(reactivity): should not observe frozen objects
...
fix #867
2020-03-23 11:28:20 -04:00
Evan You
0dc2478569
fix(transition): fix duration prop validation
...
fix #868
2020-03-23 11:13:37 -04:00
Yang Mingshan
dff2fbab93
types(watch): export watchEffect types ( #866 )
2020-03-23 11:11:27 -04:00
Yang Mingshan
14908f2734
chore: prefer const ( #865 )
2020-03-23 11:11:00 -04:00
Evan You
b8c1be18f3
refactor(types): use stricter settings
...
fix #847
2020-03-23 11:08:22 -04:00
Evan You
b3890a93e3
fix(runtime-core): fix component proxy props presence check
...
fix #864
2020-03-21 16:25:33 -04:00
Evan You
c3bb3169f4
feat(runtime-core): async component support
2020-03-21 16:01:08 -04:00
Igor Randjelovic
d425818901
fix(runtime-dom): invalid lineGradient svg tag ( #863 )
...
close #862
2020-03-21 15:11:04 -04:00
ysj16
a3601e9fa7
perf(transform-vif): don't need to createBlock for a component ( #853 )
2020-03-20 11:29:44 -04:00
Jessica Sachs
b7d1e0fa2f
feat: add hook for transforming h's arguments ( #851 )
...
Note: this is for internal use (e.g. `@vue/test-utils`) only
2020-03-19 10:54:03 -04:00
Evan You
ba9a91c48c
refactor: remove null comparisons
2020-03-18 18:14:51 -04:00
Evan You
811f28a7d1
test(runtime-core): tests for vnode hooks
2020-03-18 16:35:04 -04:00
Evan You
ebc1ca8eff
fix(suspense): clear effects on suspense resolve
2020-03-18 15:40:20 -04:00
Evan You
be91b43564
types: improve directive hook argument types
2020-03-18 12:30:26 -04:00
Evan You
aa4ab39c1a
refactor: separate vnode hooks and directive hooks
2020-03-18 12:30:26 -04:00
Evan You
6679799540
refactor: refactor vnode hooks invocation
2020-03-18 12:30:26 -04:00
Evan You
a1da9c28a0
fix(compiler-core): assign patchFlag for template v-if fragment
...
fix #850
2020-03-17 11:36:56 -04:00
Evan You
3b282e7e3c
fix(runtime-core): fix boolean props validation
2020-03-17 10:35:32 -04:00
Evan You
5282ff0edb
release: v3.0.0-alpha.9
2020-03-16 18:56:44 -04:00
likui
d318576d74
fix(runtime-dom): patch xlink attribute ( #842 )
2020-03-16 18:46:01 -04:00
yang
3d38e6faf3
refactor(componentProps): extract validate prop name logic ( #825 )
2020-03-16 18:45:08 -04:00
yang
703c9bc61f
types(ComponentInternalInstance): ComponentInternalInstance.type could reuse Component type ( #824 )
2020-03-16 18:41:11 -04:00
Evan You
c450ede12d
feat(ssr): support getSSRProps for vnode directives
2020-03-16 18:36:19 -04:00
Evan You
a46f3b354d
fix(compiler-ssr): should pass necessary tag names for dynamic v-bind
2020-03-16 18:24:26 -04:00
Evan You
3b40fc56db
fix(compiler-ssr): fix input w/ v-bind="obj" codegen
2020-03-16 18:14:49 -04:00
Evan You
9eef37fa32
refactor(compiler): remove modelValue from generated code for native v-model
2020-03-16 17:51:56 -04:00
Evan You
3b2d236714
feat(compiler-sfc): add ssr option
2020-03-16 16:24:49 -04:00
Evan You
38f0269765
refactor: simplify suspense ssr + adjust behavior
2020-03-16 15:38:35 -04:00
Evan You
eb5b32fead
test: fix resolveAssets test + test resolveDynamicComponent in slots
2020-03-16 13:17:57 -04:00
Evan You
4dc8ffc378
fix: simplify and use correct ctx in withCtx
2020-03-16 13:06:46 -04:00
Evan You
fd3418d79d
chore: fix snapshot
2020-03-16 13:06:46 -04:00
Evan You
23701666cb
Revert "refactor(directives): remove binding.instance"
...
This reverts commit 52cc7e8231
.
2020-03-16 13:06:46 -04:00
Evan You
19228a469a
refactor: simplify resolveDyanmicComponent
2020-03-16 13:06:46 -04:00
Evan You
9ad65b1653
refactor(template-ref): improve template ref handling
...
close #836 , close #839
2020-03-16 13:06:46 -04:00
Evan You
8a58dce603
feat(runtime-core): set context for manual slot functions as well
2020-03-16 13:06:46 -04:00
Evan You
ecd7ce60d5
feat(compiler-core): wrap slot functions with render context
2020-03-16 13:06:46 -04:00
djy0
bcb750bb3a
test(runtime-core): fix test for vnode key ( #846 )
2020-03-16 13:06:03 -04:00
sqal
d9dd1d8a0a
fix(runtime-core): pass instance proxy as data() argument ( #828 )
...
Match current behaviour of vue 2
2020-03-16 10:28:17 -04:00
Evan You
586e5bb800
fix(compiler-core): fix property shorthand detection
...
fix #845
2020-03-16 10:27:03 -04:00
jods
c7ae269972
fix(runtime-core): empty boolean props ( #844 )
...
close #843
2020-03-16 10:19:06 -04:00
likui
760c3e0fd6
feat(types): export ErrorTypes
( #840 )
2020-03-15 11:40:58 -04:00
djy0
58bc51991e
chore(runtime-core): fix typo in warning ( #841 ) [ci skip]
2020-03-15 11:29:21 -04:00
Evan You
60ed4e7e08
feat(ssr): improve fragment mismatch handling
2020-03-13 18:02:53 -04:00
Evan You
eb1d538ea2
test(ssr): hydration suspense tests
2020-03-13 13:05:05 -04:00
Evan You
1f9c9c14ae
chore: move hydration tests
2020-03-13 13:05:05 -04:00
Evan You
a05d41c940
refactor(ssr): adjust ssr fragment anchor content
2020-03-13 13:05:05 -04:00
Evan You
cad5bcce40
feat(ssr): hide comment anchors during hydration in dev mode
2020-03-13 13:05:05 -04:00
Evan You
a3cc970030
feat(ssr/suspense): suspense hydration
...
In order to support hydration of async components, server-rendered
fragments must be explicitly marked with comment nodes.
2020-03-13 13:05:05 -04:00
Evan You
bb7fa3dabc
feat(runtime-core): implement RFC-0020
...
BREAKING CHANGE: data no longer supports object format (per RFC-0020)
2020-03-12 16:13:12 -04:00
Katashin
dd17fa1c90
feat(runtime-core): add special property to get class component options ( #821 )
2020-03-12 11:46:32 -04:00
hareku
1e9d1319c3
fix(types): app.component should accept defineComponent return type ( #822 )
...
fix #730
2020-03-12 10:19:30 -04:00
Cédric Exbrayat
28a9beed16
fix(runtime-core): always set invalid vnode type ( #820 )
...
Currently, when a component used is not properly registered, we have a warning and the vnode type is set to a Comment type in DEV mode. But in prod mode, we have no default value, making such an application broken and throw a strange error (`can not read _isSuspense of undefined`).
This commit avoids such an error in prod mode (as it is currently the case in Vue 2.x).
2020-03-11 16:44:14 -04:00
Evan You
206640a2d8
fix(build): remove __RUNTIME_COMPILE__ flag
...
behavior should be consistent in all builds. fix #817
2020-03-11 16:39:26 -04:00
Cédric Exbrayat
f59779706b
refactor(Suspense): remove unnecessary casts ( #819 )
2020-03-11 11:17:10 -04:00
Evan You
7af089d429
test: fix & improve ssr warning assertion
2020-03-10 17:13:27 -04:00
Evan You
80c625dce3
feat(ssr): compiler-ssr support for Suspense
2020-03-10 16:52:31 -04:00
Evan You
47ead3b33a
refactor(ssr): improve ssr async setup / suspense error handling
2020-03-10 16:52:31 -04:00
Evan You
9c4de7b9ed
test(srr): group portal tests
2020-03-10 16:52:31 -04:00
Dmitry Sharshakov
589aeb402c
feat(server-renderer): render suspense in vnode mode ( #727 )
2020-03-09 18:20:30 -04:00
hareku
e12ddd96ba
test(runtime-core/renderer): tests for rendering elements ( #699 )
2020-03-09 17:08:05 -04:00
Evan You
ca5f39ee35
refactor(runtime-core): adjust patchProp value arguments order
...
BREAKING CHANGE: `RendererOptions.patchProp` arguments order has changed
The `prevValue` and `nextValue` position has been swapped to keep it
consistent with other functions in the renderer implementation. This
only affects custom renderers using the `createRenderer` API.
2020-03-09 16:15:49 -04:00
hareku
cd34603864
fix(runtime-core): pass prev value to hostPatchProp ( #809 )
...
fix #808
2020-03-09 16:08:10 -04:00
djy0
54a0e93c27
fix(runtime-core): should allow empty string and 0 as valid vnode key ( #807 )
2020-03-09 16:03:57 -04:00
djy0
b13886b1ba
types(reactivity): remove this in get accessor, fix #800 ( #806 )
2020-03-09 16:01:49 -04:00
hareku
257727569a
types(runtime-core): update error type to unknown ( #798 )
2020-03-09 15:58:52 -04:00
Evan You
c75388d538
release: v3.0.0-alpha.8
2020-03-06 15:58:40 -05:00
Evan You
dd2d25fee1
test(ssr): test for hydration mismatch handling
2020-03-06 15:39:54 -05:00
Evan You
f7a026109d
test(ssr): ssr + hydration integration test
2020-03-06 15:14:12 -05:00
Evan You
3be3785f94
fix(ssr): fix ssr on-the-fly compilation + slot fallback branch helper injection
2020-03-06 14:52:15 -05:00
Evan You
274f81c5db
fix(reactivity): allow effect trigger inside no-track execution contexts
...
fix #804
2020-03-06 12:11:37 -05:00
Evan You
d6bf9ffdc6
chore(template-explorer): bump monaco version for live deployed page
2020-03-06 12:02:38 -05:00
Cédric Exbrayat
6fad2efb8c
chore(template-explorer): update monaco dependency ( #793 )
2020-03-06 12:01:13 -05:00
hareku
643ff233af
types(reactivity): add undefined type to ref/shallowRef when no args ( #791 )
2020-03-06 11:32:39 -05:00
Evan You
a3066581f3
fix(reactivity): should not trigger length dependency on Array delete
...
close #774
2020-03-06 11:31:10 -05:00
Evan You
cc69fd72e3
fix(reactivity): Map/Set identity methods should work even if raw value contains reactive entries
...
fix #799
2020-03-06 11:10:02 -05:00
Evan You
16f9e63951
types: remove 'this' annotation from 'get' accessor ( #801 )
...
The next version of Typescript disallows 'this' parameter annotations on
accessors, which causes vue-next to fail to compile.
This PR removes the annotation and adds a cast instead.
Fixes #800
2020-03-05 16:57:52 -06:00
Evan You
08bba093af
test(ssr): more hydration tests
2020-03-05 10:29:50 -06:00
Evan You
fb4856b363
test(ssr): hydratioon tests (wip)
2020-03-04 17:06:50 -06:00
Evan You
91269da52c
feat(ssr): hydration mismatch handling
2020-03-03 15:12:38 -06:00
Evan You
7971b0468c
fix(directives): ignore invalid directive hooks
...
fix #795
2020-03-03 12:26:48 -06:00
火石
27afbaf02d
chore: fix componentRenderUtils.ts comment typo ( #790 ) [ci skip]
2020-03-03 10:05:07 -06:00
Evan You
11e6fba78c
chore: update @vue/shared readme [ci skip]
2020-02-29 22:05:41 -05:00