Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: vuejs/core
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.0.0-alpha.7
Choose a base ref
...
head repository: vuejs/core
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.0.0-alpha.8
Choose a head ref

Commits on Feb 26, 2020

  1. Copy the full SHA
    d8ed0e7 View commit details
  2. Copy the full SHA
    d52ffaa View commit details
  3. Copy the full SHA
    4397528 View commit details
  4. Copy the full SHA
    11d2fb2 View commit details

Commits on Feb 27, 2020

  1. 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.
    yyx990803 committed Feb 27, 2020
    12
    Copy the full SHA
    e67f655 View commit details
  2. Copy the full SHA
    5d952cc View commit details
  3. fix(slots): fix conditional slot

    fix #787
    yyx990803 committed Feb 27, 2020
    Copy the full SHA
    3357ff4 View commit details
  4. refactor(hydration): move fragment to seaprate function + skip normal…

    …ization in optimized mode
    yyx990803 committed Feb 27, 2020
    Copy the full SHA
    4809325 View commit details
  5. 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.
    yyx990803 committed Feb 27, 2020
    Copy the full SHA
    8449a97 View commit details
  6. chore: fix snapshot

    yyx990803 committed Feb 27, 2020
    Copy the full SHA
    33ab0f8 View commit details

Commits on Feb 28, 2020

  1. Copy the full SHA
    6810d14 View commit details
  2. build(deps-dev): bump rollup from 1.31.1 to 1.32.0

    Bumps [rollup](https://github.com/rollup/rollup) from 1.31.1 to 1.32.0.
    - [Release notes](https://github.com/rollup/rollup/releases)
    - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
    - [Commits](rollup/rollup@v1.31.1...v1.32.0)
    
    Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
    dependabot-preview[bot] committed Feb 28, 2020
    Copy the full SHA
    06d3447 View commit details
  3. refactor(runtime-core): adjust attr fallthrough behavior

    BREAKING CHANGE: adjust attr fallthrough behavior
    
        Updated per pending RFC vuejs/rfcs#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)
    yyx990803 committed Feb 28, 2020
    Copy the full SHA
    e1660f4 View commit details

Commits on Mar 1, 2020

  1. build: make @vue/shared public

    This avoids it being inlined multiple times in esm bundler builds
    yyx990803 committed Mar 1, 2020
    Copy the full SHA
    bcb2a9b View commit details
  2. Copy the full SHA
    11e6fba View commit details

Commits on Mar 2, 2020

  1. build(deps-dev): bump typescript from 3.8.2 to 3.8.3

    Bumps [typescript](https://github.com/Microsoft/TypeScript) from 3.8.2 to 3.8.3.
    - [Release notes](https://github.com/Microsoft/TypeScript/releases)
    - [Commits](microsoft/TypeScript@v3.8.2...v3.8.3)
    
    Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
    dependabot-preview[bot] committed Mar 2, 2020
    Copy the full SHA
    e6ef52c View commit details

Commits on Mar 3, 2020

  1. Copy the full SHA
    27afbaf View commit details
  2. Copy the full SHA
    7971b04 View commit details
  3. Copy the full SHA
    91269da View commit details

Commits on Mar 4, 2020

  1. Copy the full SHA
    fb4856b View commit details

Commits on Mar 5, 2020

  1. Copy the full SHA
    08bba09 View commit details
  2. 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
    yyx990803 authored Mar 5, 2020
    Copy the full SHA
    16f9e63 View commit details

Commits on Mar 6, 2020

  1. fix(reactivity): Map/Set identity methods should work even if raw val…

    …ue contains reactive entries
    
    fix #799
    yyx990803 committed Mar 6, 2020
    Copy the full SHA
    cc69fd7 View commit details
  2. build(deps): bump @babel/types from 7.8.6 to 7.8.7 (#796)

    Bumps [@babel/types](https://github.com/babel/babel) from 7.8.6 to 7.8.7.
    - [Release notes](https://github.com/babel/babel/releases)
    - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
    - [Commits](babel/babel@v7.8.6...v7.8.7)
    
    Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
    
    Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
    dependabot-preview[bot] authored Mar 6, 2020
    Copy the full SHA
    3e92744 View commit details
  3. build(deps): bump @babel/parser from 7.8.6 to 7.8.7 (#797)

    Bumps [@babel/parser](https://github.com/babel/babel) from 7.8.6 to 7.8.7.
    - [Release notes](https://github.com/babel/babel/releases)
    - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
    - [Commits](babel/babel@v7.8.6...v7.8.7)
    
    Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
    
    Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
    dependabot-preview[bot] authored Mar 6, 2020
    Copy the full SHA
    689d45f View commit details
  4. Copy the full SHA
    a306658 View commit details
  5. Copy the full SHA
    643ff23 View commit details
  6. Copy the full SHA
    6fad2ef View commit details
  7. Copy the full SHA
    d6bf9ff View commit details
  8. Copy the full SHA
    274f81c View commit details
  9. Copy the full SHA
    3be3785 View commit details
  10. Copy the full SHA
    f7a0261 View commit details
  11. Copy the full SHA
    dd2d25f View commit details
  12. release: v3.0.0-alpha.8

    yyx990803 committed Mar 6, 2020
    Copy the full SHA
    c75388d View commit details
Showing with 1,357 additions and 596 deletions.
  1. +1 −10 .github/contributing.md
  2. +58 −0 CHANGELOG.md
  3. +4 −2 package.json
  4. +316 −0 packages/compiler-core/__tests__/hydration.spec.ts
  5. +59 −1 packages/compiler-core/__tests__/transforms/transformExpressions.spec.ts
  6. +7 −5 packages/compiler-core/package.json
  7. +7 −3 packages/compiler-core/src/errors.ts
  8. +1 −9 packages/compiler-core/src/index.ts
  9. +4 −0 packages/compiler-core/src/options.ts
  10. +2 −0 packages/compiler-core/src/transform.ts
  11. +34 −13 packages/compiler-core/src/transforms/transformExpression.ts
  12. +13 −6 packages/compiler-core/src/utils.ts
  13. +6 −5 packages/compiler-dom/package.json
  14. +1 −1 packages/compiler-sfc/__tests__/__snapshots__/compileTemplate.spec.ts.snap
  15. +8 −7 packages/compiler-sfc/package.json
  16. +23 −10 packages/compiler-ssr/__tests__/ssrComponent.spec.ts
  17. +5 −19 packages/compiler-ssr/__tests__/ssrVFor.spec.ts
  18. +3 −5 packages/compiler-ssr/__tests__/ssrVIf.spec.ts
  19. +6 −5 packages/compiler-ssr/package.json
  20. +4 −2 packages/compiler-ssr/src/errors.ts
  21. +3 −1 packages/compiler-ssr/src/runtimeHelpers.ts
  22. +8 −14 packages/compiler-ssr/src/ssrCodegenTransform.ts
  23. +55 −15 packages/compiler-ssr/src/transforms/ssrTransformComponent.ts
  24. +2 −13 packages/compiler-ssr/src/transforms/ssrVFor.ts
  25. +6 −18 packages/compiler-ssr/src/transforms/ssrVIf.ts
  26. +0 −1 packages/compiler-ssr/src/transforms/ssrVSlot.ts
  27. +14 −0 packages/reactivity/__tests__/collections/Map.spec.ts
  28. +12 −0 packages/reactivity/__tests__/collections/Set.spec.ts
  29. +19 −0 packages/reactivity/__tests__/reactiveArray.spec.ts
  30. +7 −4 packages/reactivity/package.json
  31. +8 −1 packages/reactivity/src/baseHandlers.ts
  32. +22 −13 packages/reactivity/src/collectionHandlers.ts
  33. +2 −2 packages/reactivity/src/effect.ts
  34. +2 −2 packages/reactivity/src/ref.ts
  35. +1 −1 packages/runtime-core/__tests__/apiOptions.spec.ts
  36. +8 −13 packages/runtime-core/__tests__/components/Portal.spec.ts
  37. +8 −10 packages/runtime-core/__tests__/components/Suspense.spec.ts
  38. +3 −3 packages/runtime-core/__tests__/components/__snapshots__/Portal.spec.ts.snap
  39. +6 −8 packages/runtime-core/__tests__/hmr.spec.ts
  40. +49 −85 packages/runtime-core/__tests__/rendererAttrsFallthrough.spec.ts
  41. +22 −32 packages/runtime-core/__tests__/rendererFragment.spec.ts
  42. +6 −5 packages/runtime-core/package.json
  43. +3 −2 packages/runtime-core/src/apiOptions.ts
  44. +21 −15 packages/runtime-core/src/component.ts
  45. +1 −1 packages/runtime-core/src/componentProps.ts
  46. +6 −31 packages/runtime-core/src/componentProxy.ts
  47. +31 −8 packages/runtime-core/src/componentRenderUtils.ts
  48. +4 −4 packages/runtime-core/src/components/Portal.ts
  49. +1 −1 packages/runtime-core/src/components/Suspense.ts
  50. +3 −2 packages/runtime-core/src/directives.ts
  51. +5 −2 packages/runtime-core/src/helpers/createSlots.ts
  52. +184 −35 packages/runtime-core/src/hydration.ts
  53. +1 −9 packages/runtime-core/src/index.ts
  54. +2 −14 packages/runtime-core/src/renderer.ts
  55. +9 −4 packages/runtime-core/src/vnode.ts
  56. +6 −5 packages/runtime-dom/package.json
  57. +6 −5 packages/runtime-test/package.json
  58. +5 −7 packages/server-renderer/__tests__/renderToString.spec.ts
  59. +29 −0 packages/server-renderer/__tests__/ssrRenderPortal.spec.ts
  60. +7 −6 packages/server-renderer/package.json
  61. +20 −0 packages/server-renderer/src/helpers/ssrRenderPortal.ts
  62. +0 −3 packages/server-renderer/src/helpers/ssrRenderSlot.ts
  63. +1 −0 packages/server-renderer/src/index.ts
  64. +39 −38 packages/server-renderer/src/renderToString.ts
  65. +1 −1 packages/shared/README.md
  66. +7 −0 packages/shared/api-extractor.json
  67. +7 −0 packages/shared/index.js
  68. +28 −2 packages/shared/package.json
  69. +1 −1 packages/size-check/package.json
  70. +4 −6 packages/template-explorer/index.html
  71. +2 −3 packages/template-explorer/local.html
  72. +2 −2 packages/template-explorer/package.json
  73. +3 −0 packages/template-explorer/src/index.ts
  74. +7 −6 packages/vue/package.json
  75. +9 −8 rollup.config.js
  76. +3 −10 test-dts/defineComponent.test-d.tsx
  77. +74 −21 yarn.lock
11 changes: 1 addition & 10 deletions .github/contributing.md
Original file line number Diff line number Diff line change
@@ -185,16 +185,7 @@ This repository employs a [monorepo](https://en.wikipedia.org/wiki/Monorepo) set

A [live version](https://vue-next-template-explorer.netlify.com) of the template explorer is also available, which can be used for providing reproductions for compiler bugs. You can also pick the deployment for a specific commit from the [deploy logs](https://app.netlify.com/sites/vue-next-template-explorer/deploys).

- `shared`: **Private.** Utilities shared across multiple packages (especially by both runtime and compiler packages). This package is private and not published. Instead, it is **inlined** into the package that imports it during build.

- **Note:** if re-exporting a function from `@vue/shared` as a public API, it is necessary to re-define its type before exporting so that the final `d.ts` doesn't attempt to import `@vue/shared`, e.g.:

```ts
import { foo } from '@vue/shared'
export const publicFoo = foo as {
/* re-define type */
}
```
- `shared`: Internal utilities shared across multiple packages (especially environment-agnostic utils used by both runtime and compiler packages).

- `vue`: The public facing "full build" which includes both the runtime AND the compiler.

58 changes: 58 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,61 @@
# [3.0.0-alpha.8](https://github.com/vuejs/vue-next/compare/v3.0.0-alpha.7...v3.0.0-alpha.8) (2020-03-06)


### Bug Fixes

* **directives:** ignore invalid directive hooks ([7971b04](https://github.com/vuejs/vue-next/commit/7971b0468c81483dd7026204518f7c03187d13c4)), closes [#795](https://github.com/vuejs/vue-next/issues/795)
* **portal:** fix portal placeholder text ([4397528](https://github.com/vuejs/vue-next/commit/439752822c175c737e58896e0f365f2b02bab577))
* **reactivity:** allow effect trigger inside no-track execution contexts ([274f81c](https://github.com/vuejs/vue-next/commit/274f81c5db83f0f77e1aba3240b2134a2474a72f)), closes [#804](https://github.com/vuejs/vue-next/issues/804)
* **reactivity:** Map/Set identity methods should work even if raw value contains reactive entries ([cc69fd7](https://github.com/vuejs/vue-next/commit/cc69fd72e3f9ef3572d2be40af71d22232e1b9af)), closes [#799](https://github.com/vuejs/vue-next/issues/799)
* **reactivity:** should not trigger length dependency on Array delete ([a306658](https://github.com/vuejs/vue-next/commit/a3066581f3014aae31f2d96b96428100f1674166)), closes [#774](https://github.com/vuejs/vue-next/issues/774)
* **runtime-core:** ensure inhertied attrs update on optimized child root ([6810d14](https://github.com/vuejs/vue-next/commit/6810d1402e214a12fa274ff5fb7475bad002d1b1)), closes [#677](https://github.com/vuejs/vue-next/issues/677) [#784](https://github.com/vuejs/vue-next/issues/784)
* **slots:** fix conditional slot ([3357ff4](https://github.com/vuejs/vue-next/commit/3357ff438c6ff0d4fea67923724dd3cb99ff2756)), closes [#787](https://github.com/vuejs/vue-next/issues/787)
* **ssr:** fix ssr on-the-fly compilation + slot fallback branch helper injection ([3be3785](https://github.com/vuejs/vue-next/commit/3be3785f945253918469da456a14a2d9381bcbd0))


### Code Refactoring

* **runtime-core:** adjust attr fallthrough behavior ([e1660f4](https://github.com/vuejs/vue-next/commit/e1660f4338fbf4d2a434e13193a58e00f844379b)), closes [#749](https://github.com/vuejs/vue-next/issues/749)
* **runtime-core:** revert setup() result reactive conversion ([e67f655](https://github.com/vuejs/vue-next/commit/e67f655b2687042fcc74dc0993581405abed56de))


### Features

* **compiler-core:** switch to @babel/parser for expression parsing ([8449a97](https://github.com/vuejs/vue-next/commit/8449a9727c942b6049c9e577c7c15b43fdca2867))
* **compiler-ssr:** compile portal ([#775](https://github.com/vuejs/vue-next/issues/775)) ([d8ed0e7](https://github.com/vuejs/vue-next/commit/d8ed0e7fbf9bbe734667eb94e809235e79e431eb))
* **ssr:** hydration mismatch handling ([91269da](https://github.com/vuejs/vue-next/commit/91269da52c30abf6c50312555b715f5360224bb0))


### BREAKING CHANGES

* **runtime-core:** 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
* **runtime-core:** 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.



# [3.0.0-alpha.7](https://github.com/vuejs/vue-next/compare/v3.0.0-alpha.6...v3.0.0-alpha.7) (2020-02-26)


6 changes: 4 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"private": true,
"version": "3.0.0-alpha.7",
"version": "3.0.0-alpha.8",
"workspaces": [
"packages/*"
],
@@ -10,7 +10,7 @@
"size": "node scripts/build.js vue runtime-dom size-check -p -f global",
"lint": "prettier --write --parser typescript \"packages/**/*.ts?(x)\"",
"test": "node scripts/build.js vue -f global -d && jest",
"test-dts": "node scripts/build.js reactivity runtime-core runtime-dom -dt -f esm-bundler && tsd",
"test-dts": "node scripts/build.js shared reactivity runtime-core runtime-dom -dt -f esm-bundler && tsd",
"release": "node scripts/release.js",
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s",
"dev-compiler": "npm-run-all --parallel \"dev template-explorer\" serve",
@@ -37,7 +37,9 @@
},
"devDependencies": {
"@microsoft/api-extractor": "^7.3.9",
"@rollup/plugin-commonjs": "^11.0.2",
"@rollup/plugin-json": "^4.0.0",
"@rollup/plugin-node-resolve": "^7.1.1",
"@rollup/plugin-replace": "^2.2.1",
"@types/jest": "^24.0.21",
"@types/puppeteer": "^2.0.0",
Loading