Commit Graph

1674 Commits

Author SHA1 Message Date
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
Praveen Puglia 1855a7f409
chore: fixes a small typo and prettifies the document (#778) 2020-02-26 10:11:49 -05:00
dependabot-preview[bot] e828d0b671 build(deps-dev): bump @types/puppeteer from 2.0.0 to 2.0.1
Bumps [@types/puppeteer](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/puppeteer) from 2.0.0 to 2.0.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/puppeteer)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-26 07:49:39 +00:00
Evan You 3206e5dfe5 fix(types): shallowRef should not unwrap value type 2020-02-25 20:43:01 -05:00
Evan You 9aaeeede62 test: add type test for nested refs in ref.value 2020-02-25 20:38:09 -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 20afd4093d chore: changelog edits [ci skip] 2020-02-22 08:29:02 +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
dependabot-preview[bot] 9882788cb3 build(deps-dev): bump typescript from 3.7.5 to 3.8.2
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 3.7.5 to 3.8.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-21 13:49:56 +00:00
Reed Jones 932de431b1
chore: typo (#744) [ci skip] 2020-02-21 14:44:58 +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 c3028ad6b3 build: remove compiler-ssr and server-renderer from skipped packages 2020-02-18 14:56:53 -05:00
dependabot-preview[bot] fbbf99ab3f
build(deps): bump postcss from 7.0.26 to 7.0.27 (#734)
Bumps [postcss](https://github.com/postcss/postcss) from 7.0.26 to 7.0.27.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/7.0.26...7.0.27)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-18 14:56:39 -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