Commit Graph

436 Commits

Author SHA1 Message Date
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
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
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
7402951d94 release: v3.0.0-alpha.11 2020-04-03 21:45:50 -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
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
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
Evan You
9ed9bf3687 feat(portal): SSR support for portal disabled prop 2020-03-30 11:24:29 -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
16cd8eee78 fix(portal): portal should always remove its children when unmounted 2020-03-25 17:27:55 -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
0831b98eac fix(compiler-core): support interpolation in RCDATA mode (e.g. textarea) 2020-03-23 17:25: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
b8c1be18f3 refactor(types): use stricter settings
fix #847
2020-03-23 11:08:22 -04:00
ysj16
a3601e9fa7
perf(transform-vif): don't need to createBlock for a component (#853) 2020-03-20 11:29:44 -04:00
Evan You
ba9a91c48c refactor: remove null comparisons 2020-03-18 18:14:51 -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
5282ff0edb release: v3.0.0-alpha.9 2020-03-16 18:56:44 -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
4dc8ffc378 fix: simplify and use correct ctx in withCtx 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
ecd7ce60d5 feat(compiler-core): wrap slot functions with render context 2020-03-16 13:06:46 -04:00
Evan You
586e5bb800 fix(compiler-core): fix property shorthand detection
fix #845
2020-03-16 10:27:03 -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
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
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
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
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
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
312513d255 release: v3.0.0-alpha.7 2020-02-26 14:36:38 -05:00
Evan You
3eab143843 fix(template-ref): fix string template refs inside slots 2020-02-25 18:29:51 -05:00
djy0
c11905fe36
chore: fix typo (#764) [ci skip] 2020-02-24 18:01:26 +01:00
Evan You
9ab22c7ae6 release: v3.0.0-alpha.6 2020-02-22 08:25:32 +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
Luxiaosong
c54aa43fa7
chore: use 'const' instead of 'let' (#755) [ci skip] 2020-02-21 11:21:24 +01: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
028f748c32 fix(v-on): transform click.right and click.middle modifiers
fix #735
2020-02-18 14:32:06 -05:00
Evan You
66b5f0b480 chore: fix hoistStatic exhaustive check 2020-02-14 16:41:55 -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
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
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
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
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
Evan You
571ed4226b feat(compiler-core/v-on): support @vnode-xxx usage for vnode hooks 2020-02-10 11:00:37 -05:00
djy0
782db6d7f5
chore(compiler-core/codegen): avoid generate indent spaces of empty lines. (#701) 2020-02-10 09:33:04 -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
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
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
bc8f91d181 refactor(ssr): prefix ssr helpers 2020-02-06 12:07:25 -05:00
Evan You
ee5ed73361 wip(ssr): basic components 2020-02-05 23:07:23 -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
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
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
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
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
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
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
e8c5de6cfd wip(compiler-ssr): v-if 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
8fd9e9ba97 test(compiler-core): test TempalteLiteral and IfStatement codegen 2020-02-02 21:35:44 -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