Commit Graph

2376 Commits

Author SHA1 Message Date
Evan You
10bb34bb86 fix(reactivity): fix toRaw for objects prototype inherting reactive
fix #1246
2020-06-11 15:12:57 -04:00
Evan You
f3623e4d1e fix(compiler-core): fix prod whitespace/comment removal
fix #1256
2020-06-11 11:45:10 -04:00
Evan You
80c868aefe workflow: setup eslint for prohibited syntax and globals
fix #1285
2020-06-10 16:54:23 -04:00
Evan You
e4dc03a8b1 feat(types): adjust type exports for manual render function and tooling usage
- v-model and v-show directives are now exposed as public
- compiler-used runtime helpers are now exposed for TS tooling, but marked as @private

close #1329
2020-06-10 14:57:21 -04:00
Evan You
9b5d13e598 fix: bail stringification for slots
fix #1281, close #1286
2020-06-10 14:31:59 -04:00
蜗牛老湿
fbaf52ae9f
fix(compiler-dom): add tfoot,caption,col element on bail stringification (#1333) 2020-06-10 14:24:51 -04:00
Carlos Rodrigues
958b6c80cf
fix(compiler-core): allow multiline expression on v-model and v-on (#1234) 2020-06-09 17:24:48 -04:00
Carlos Rodrigues
c97d1bae56
fix(reactivity): shallowReactive collection to not-readonly (#1212) 2020-06-09 17:20:30 -04:00
Evan You
3f80183f1f test: test for table stringification bail 2020-06-09 17:10:07 -04:00
Evan You
a938b61edc fix(compiler-dom): bail stringification on table elements
close #1230, close #1268
2020-06-09 17:02:27 -04:00
Zardddddd60
64ec8bfb54
fix(compiler-core): bail static stringfication even threshold is met (#1298)
fix #1128
2020-06-09 16:26:03 -04:00
Evan You
215c106297 test: test for mixin/extends props merging 2020-06-09 16:20:33 -04:00
Evan You
2417a0cb30 fix(runtime-core): respect props from mixins and extends
fix #1236, close #1250
2020-06-09 11:27:40 -04:00
Evan You
dc986addd9 fix(build): retain main vue package side effect for compiler registration
fix #1263
2020-06-09 10:38:56 -04:00
doly mood
d3c436ae2e
feat(types): mixins/extends support in TypeScript (#626) 2020-06-09 10:37:00 -04:00
Carlos Rodrigues
97dedebd80
feat(types): update to Typescript 3.9 (#1106) 2020-06-09 10:17:42 -04:00
Alexandre Bonaventure Geissmann
4a5021e763
fix(runtime-core): use array destructuring instead of object for edge compat (#1302)
fix #1294
2020-06-05 10:57:44 -04:00
Evan You
2408a65662 fix(hmr): force full update in child component on slot update 2020-05-29 10:50:01 -04:00
Evan You
5ddd9d2417 fix(compiler-sfc): asset url transform should ignore direct hash urls 2020-05-29 10:20:57 -04:00
Evan You
5f15d9aa4b fix(compiler-ssr): should escape template string interpolation chars in generated code 2020-05-26 14:38:24 -04:00
Evan You
38f2d23a60 feat(runtime-core): add inheritRef option + make <transition> & <keep-alive> inherit refs 2020-05-22 10:26:17 -04:00
Evan You
0a7932c6b3 fix(ssr): should set ref on hydration 2020-05-21 17:37:23 -04:00
zhangzhonghe
5a3b44caf7
chore: fix typo in comment (#1217) 2020-05-21 09:34:05 +02:00
Evan You
32b3f78a36 release: v3.0.0-beta.14 2020-05-18 14:42:11 -04:00
Evan You
24168bbb33 chore: improve comments 2020-05-18 11:17:57 -04:00
Carlos Rodrigues
488e2bcfef
fix(reactivity): shallowReactive for collections (#1204)
close #1202
2020-05-18 11:17:37 -04:00
Yang Mingshan
ba62ccd55d
feat(watch): support directly watching reactive object in multiple sources with deep default (#1201) 2020-05-18 11:02:51 -04:00
underfin
83b7158017
fix(v-model): should not trigger updates during input composition (#1183) 2020-05-18 10:23:55 -04:00
underfin
520cad7d4d
test(runtime-core): add test case for createBlock with disableTracking (#1169) 2020-05-18 10:20:05 -04:00
underfin
efa3214866
test(runtime-core): add test for renderSlot (#1160) 2020-05-18 10:14:09 -04:00
zhangenming
6574a5bf29
chore: merge imports (#1182) 2020-05-18 10:12:14 -04:00
Albert Kaaman
ab86b190ce
fix(runtime-dom): event handlers with modifiers should get all event arguments (#1193) 2020-05-18 10:11:39 -04:00
underfin
d73a508a73
fix(Transition): fix validate duration (#1188) 2020-05-18 10:09:10 -04:00
Carlos Rodrigues
8e30d0c74c
types(server-renderer): export SSRContext type (#1199) 2020-05-18 10:07:20 -04:00
Jian Zhang
b2dd5612ff
chore: fix typo Stringiable -> Stringifiable (#1200) 2020-05-18 10:06:57 -04:00
Evan You
dd2bfb5a8f fix(compiler-dom): should bail stringification on runtime constant regardless of position
ref: vuejs/vite#157
2020-05-18 10:04:18 -04:00
Evan You
449fd05ad6 release: v3.0.0-beta.13 2020-05-16 21:53:47 -04:00
Evan You
d965bb6227 feat: improve static content stringiciation
Now a single static vnode can contain stringified content
for multiple consecutive nodes, which greatly improves the
coverage of this optimization.
2020-05-16 21:30:16 -04:00
Evan You
59d50dad9c wip: account for text call nodes in stringify chunks 2020-05-15 17:55:24 -04:00
Evan You
b26976b6d8 wip: fix tests 2020-05-15 17:05:26 -04:00
Evan You
dc229bcda4 wip(hydration): hydrate multi-element static nodes 2020-05-15 16:30:20 -04:00
Evan You
1184118d23 wip(runtime): test for static vnode handling 2020-05-15 16:11:53 -04:00
Evan You
baa6973b13 wip(compiler): tests for new stringification 2020-05-15 15:50:42 -04:00
Evan You
dbf627f136 wip(runtime): support multi-element static vnode in renderer 2020-05-15 15:12:26 -04:00
Evan You
cb9444807e wip(compiler): improve node stringification to support adjacent nodes 2020-05-15 12:58:44 -04:00
Evan You
c2f3ee4dc0 chore: use jsdoc comments in ast 2020-05-15 11:00:07 -04:00
Evan You
3c88299f6a release: v3.0.0-beta.12 2020-05-11 15:52:37 -04:00
Evan You
2bc6a8c1cf fix(hmr): static child traversal should only affect elements 2020-05-11 15:46:30 -04:00
Evan You
aa1672a8bd test: fix hmr test id 2020-05-11 15:44:13 -04:00
Evan You
7887c54dfe release: v3.0.0-beta.11 2020-05-11 14:25:36 -04:00
Evan You
1b946c85df fix(hmr): always force full child component props update in HMR mode 2020-05-11 14:17:35 -04:00
Evan You
5b8883a846 fix(runtime-core): should not take unmount children fast path for v-for fragments
fix #1153
2020-05-11 13:53:28 -04:00
underfin
697de07e63
fix(transition): should reset enter class after appear (#1152) 2020-05-11 12:30:10 -04:00
Evan You
9d111f534a test(transition): refactor DOM transition test 2020-05-11 11:52:08 -04:00
Evan You
66c5a556dc fix(hmr): ensure static nodes inherit DOM element in hmr mode
fix #1156
2020-05-11 11:34:42 -04:00
Evan You
a165d8293d feat(runtime-core): expose isVNode 2020-05-11 11:09:36 -04:00
Evan You
13acb9134e release: v3.0.0-beta.10 2020-05-07 11:21:18 -04:00
underfin
66dd1aaecd
test(Transition): test transition (#1140) 2020-05-07 11:10:28 -04:00
Evan You
d10835aee7 fix(compiler-sfc): template with alt lang should be parsed as raw text
fix #1120
2020-05-07 11:08:17 -04:00
Evan You
e58beecc97 refactor(compiler/types): convert compiler options documentation to jsdoc
BREAKING CHANGE: `getTextMode` compiler option signature has changed from

  ```ts
  (tag: string, ns: string, parent: ElementNode | undefined) => TextModes
  ```

  to

  ```ts
  (node: ElementNode, parent: ElementNode | undefined) => TextModes
  ```
2020-05-07 11:01:36 -04:00
Evan You
304ab8c99b fix(compiler-dom): bail static stringfication on non-attr bindings
fix #1128
2020-05-07 10:32:54 -04:00
Evan You
2f69167e88 perf(compiler-sfc): only add character mapping if not whitespace 2020-05-07 10:32:54 -04:00
Evan You
675330ba54 fix(compiler): warn against v-bind with empty attribute value
ref: https://github.com/vuejs/vue-next/issues/1128#issuecomment-624647434
2020-05-07 10:32:54 -04:00
Evan You
698c8d35d5 feat(compiler-sfc): improve sfc source map generation 2020-05-07 01:37:34 -04:00
龙腾道
e08f6f0ede
fix(reactivity): use correct thisArg for collection method callbacks (#1132) 2020-05-06 13:41:34 -04:00
Evan You
8df6bc0132 refactor: reuse parseStringStyle across compiler and runtime 2020-05-06 11:22:49 -04:00
t-zzzzzzzzz
2d9f136077
fix(runtime-dom/style): normalize string when merging styles (#1127) 2020-05-06 11:14:07 -04:00
susiwen8
df4150dc4c
chore: LegacyOptions doesn't need to be exported (#1134) 2020-05-06 11:07:11 -04:00
Evan You
d66211849c fix(compiler-sfc): should not transform external asset url with
includeAbsolute: true
2020-05-06 09:41:31 -04:00
龙腾道
037fa07113
fix(reactivity): fix __proto__ access on proxy objects (#1133) 2020-05-06 09:08:44 -04:00
Evan You
c5dcfe16f6 perf(compiler-sfc): improve asset url trasnform efficiency 2020-05-05 16:07:15 -04:00
Evan You
40166a8637 feat(types): re-expose trasnformVNodeArgs 2020-05-05 10:45:33 -04:00
Evan You
c32ed52b97 release: v3.0.0-beta.9 2020-05-04 17:14:42 -04:00
Evan You
f05aeea7ae fix(transitionGroup): fix transition children resolving condition 2020-05-04 17:09:19 -04:00
Evan You
6a0be882d4 feat(compiler-sfc): support transforming absolute asset urls
BREAKING CHANGE: `@vue/compiler-sfc`'s `transformAssetUrlsBase` option
has been removed. It is merged into `trasnformAssetUrls` which now also
accepts the format of

  ```ts
  {
    base?: string
    includeAbsolute?: string
    tags?: { [name: string]: string[] }
  }
  ```
2020-05-04 16:45:19 -04:00
Evan You
f9a3766fd6 fix(compiler): bail strigification on runtime constant expressions 2020-05-04 15:15:26 -04:00
Evan You
3c3fe88c64 release: v3.0.0-beta.8 2020-05-04 10:49:23 -04:00
underfin
26a50ce67f
fix(transitionGroup): inner children should skip comment node (#1105) 2020-05-04 10:41:48 -04:00
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 &nbsp;
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
Evan You
bcb2a9b4a6 build: make @vue/shared public
This avoids it being inlined multiple times in esm bundler builds
2020-02-29 22:04:42 -05:00
Evan You
e1660f4338 refactor(runtime-core): adjust attr fallthrough behavior
BREAKING CHANGE: adjust attr fallthrough behavior

    Updated per pending RFC https://github.com/vuejs/rfcs/pull/137

    - Implicit fallthrough now by default only applies for a whitelist
      of attributes (class, style, event listeners, a11y attributes, and
      data attributes).

    - Fallthrough is now applied regardless of whether the component has
      explicitly declared props. (close #749)
2020-02-28 17:53:26 -05:00
Evan You
6810d1402e fix(runtime-core): ensure inhertied attrs update on optimized child root
fix #677, close #784
2020-02-27 21:51:57 -05:00
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