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.4
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.5
Choose a head ref

Commits on Jan 27, 2020

  1. wip(ssr): restructure

    yyx990803 committed Jan 27, 2020
    Copy the full SHA
    012bc5d View commit details
  2. Copy the full SHA
    27fbfbd View commit details
  3. Copy the full SHA
    f4d190c View commit details

Commits on Jan 28, 2020

  1. build(deps-dev): bump rollup from 1.30.0 to 1.30.1

    Bumps [rollup](https://github.com/rollup/rollup) from 1.30.0 to 1.30.1.
    - [Release notes](https://github.com/rollup/rollup/releases)
    - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
    - [Commits](rollup/rollup@v1.30.0...v1.30.1)
    
    Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
    dependabot-preview[bot] committed Jan 28, 2020
    Copy the full SHA
    0c0f4d9 View commit details
  2. build(deps-dev): bump puppeteer from 2.0.0 to 2.1.0

    Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 2.0.0 to 2.1.0.
    - [Release notes](https://github.com/puppeteer/puppeteer/releases)
    - [Commits](puppeteer/puppeteer@v2.0.0...v2.1.0)
    
    Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
    dependabot-preview[bot] committed Jan 28, 2020
    Copy the full SHA
    46f1146 View commit details
  3. Copy the full SHA
    827fd05 View commit details
  4. Copy the full SHA
    78beed2 View commit details
  5. Copy the full SHA
    8857b4f View commit details
  6. Copy the full SHA
    6f43c4b View commit details

Commits on Jan 29, 2020

  1. Copy the full SHA
    e6e2c58 View commit details
  2. Copy the full SHA
    a7b0954 View commit details
  3. Copy the full SHA
    6b1ce00 View commit details
  4. Copy the full SHA
    bc07e95 View commit details
  5. Copy the full SHA
    93eba43 View commit details
  6. Copy the full SHA
    730d329 View commit details
  7. Copy the full SHA
    6e06810 View commit details
  8. Copy the full SHA
    8cdaf28 View commit details
  9. Copy the full SHA
    eaf414f View commit details
  10. Copy the full SHA
    9cf4518 View commit details

Commits on Jan 30, 2020

  1. Copy the full SHA
    94e80cf View commit details
  2. Copy the full SHA
    842b368 View commit details
  3. Copy the full SHA
    5c2fe53 View commit details
  4. Copy the full SHA
    c02e7bc View commit details

Commits on Jan 31, 2020

  1. Copy the full SHA
    c088169 View commit details
  2. build(deps-dev): bump rollup from 1.30.1 to 1.31.0

    Bumps [rollup](https://github.com/rollup/rollup) from 1.30.1 to 1.31.0.
    - [Release notes](https://github.com/rollup/rollup/releases)
    - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
    - [Commits](rollup/rollup@v1.30.1...v1.31.0)
    
    Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
    dependabot-preview[bot] committed Jan 31, 2020
    Copy the full SHA
    3604376 View commit details
  3. Copy the full SHA
    87e8c80 View commit details
  4. Copy the full SHA
    04da2a8 View commit details
  5. test: fix snapshots

    yyx990803 committed Jan 31, 2020
    Copy the full SHA
    f503167 View commit details
  6. chore: rmeove unused export

    yyx990803 committed Jan 31, 2020
    Copy the full SHA
    bd9b690 View commit details
  7. Copy the full SHA
    74cb207 View commit details
  8. Copy the full SHA
    78c4f32 View commit details
  9. Copy the full SHA
    34e6119 View commit details

Commits on Feb 2, 2020

  1. Copy the full SHA
    efbbd19 View commit details
  2. chore: remove stale file

    yyx990803 committed Feb 2, 2020
    Copy the full SHA
    5dc374a View commit details

Commits on Feb 3, 2020

  1. Copy the full SHA
    8fd9e9b View commit details
  2. Copy the full SHA
    327670a View commit details
  3. Copy the full SHA
    d1eed36 View commit details
  4. Copy the full SHA
    63e4486 View commit details
  5. build(deps-dev): bump @rollup/plugin-json from 4.0.1 to 4.0.2

    Bumps [@rollup/plugin-json](https://github.com/rollup/plugins) from 4.0.1 to 4.0.2.
    - [Release notes](https://github.com/rollup/plugins/releases)
    - [Commits](rollup/plugins@url-v4.0.1...url-v4.0.2)
    
    Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
    dependabot-preview[bot] committed Feb 3, 2020
    Copy the full SHA
    a54b0b7 View commit details
  6. build(deps-dev): bump @rollup/plugin-replace from 2.3.0 to 2.3.1

    Bumps [@rollup/plugin-replace](https://github.com/rollup/plugins) from 2.3.0 to 2.3.1.
    - [Release notes](https://github.com/rollup/plugins/releases)
    - [Commits](rollup/plugins@replace-v2.3.0...replace-v2.3.1)
    
    Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
    dependabot-preview[bot] committed Feb 3, 2020
    Copy the full SHA
    b59524e View commit details
  7. Copy the full SHA
    090eb0c View commit details
  8. wip(compiler-ssr): v-if

    yyx990803 committed Feb 3, 2020
    Copy the full SHA
    e8c5de6 View commit details
  9. chore: remove stale files

    yyx990803 committed Feb 3, 2020
    Copy the full SHA
    d1d81cf View commit details
  10. Copy the full SHA
    b685805 View commit details
  11. Copy the full SHA
    889a027 View commit details
  12. Copy the full SHA
    2ad0eed View commit details
  13. wip(ssr): v-for

    yyx990803 committed Feb 3, 2020
    Copy the full SHA
    93c37b9 View commit details

Commits on Feb 4, 2020

  1. Copy the full SHA
    8cf6b57 View commit details
  2. chore: fix test types

    yyx990803 committed Feb 4, 2020
    Copy the full SHA
    eb9e089 View commit details
  3. Copy the full SHA
    1b2878d View commit details
Showing with 11,443 additions and 4,496 deletions.
  1. +2 −0 .github/FUNDING.yml
  2. +17 −2 .github/contributing.md
  3. +98 −0 CHANGELOG.md
  4. +8 −2 README.md
  5. +5 −3 jest.config.js
  6. +10 −7 package.json
  7. +61 −58 packages/compiler-core/__tests__/__snapshots__/codegen.spec.ts.snap
  8. +34 −30 packages/compiler-core/__tests__/__snapshots__/compile.spec.ts.snap
  9. +181 −153 packages/compiler-core/__tests__/__snapshots__/parse.spec.ts.snap
  10. +45 −49 packages/compiler-core/__tests__/__snapshots__/scopeId.spec.ts.snap
  11. +377 −44 packages/compiler-core/__tests__/codegen.spec.ts
  12. +18 −12 packages/compiler-core/__tests__/parse.spec.ts
  13. +18 −12 packages/compiler-core/__tests__/scopeId.spec.ts
  14. +16 −7 packages/compiler-core/__tests__/testUtils.ts
  15. +21 −38 packages/compiler-core/__tests__/transform.spec.ts
  16. +132 −137 packages/compiler-core/__tests__/transforms/__snapshots__/hoistStatic.spec.ts.snap
  17. +26 −27 packages/compiler-core/__tests__/transforms/__snapshots__/transformText.spec.ts.snap
  18. +66 −66 packages/compiler-core/__tests__/transforms/__snapshots__/vFor.spec.ts.snap
  19. +57 −57 packages/compiler-core/__tests__/transforms/__snapshots__/vIf.spec.ts.snap
  20. +26 −29 packages/compiler-core/__tests__/transforms/__snapshots__/vModel.spec.ts.snap
  21. +20 −25 packages/compiler-core/__tests__/transforms/__snapshots__/vOnce.spec.ts.snap
  22. +85 −92 packages/compiler-core/__tests__/transforms/__snapshots__/vSlot.spec.ts.snap
  23. +223 −304 packages/compiler-core/__tests__/transforms/hoistStatic.spec.ts
  24. +24 −0 packages/compiler-core/__tests__/transforms/noopDirectiveTransform.spec.ts
  25. +146 −157 packages/compiler-core/__tests__/transforms/transformElement.spec.ts
  26. +6 −11 packages/compiler-core/__tests__/transforms/vBind.spec.ts
  27. +74 −133 packages/compiler-core/__tests__/transforms/vFor.spec.ts
  28. +99 −133 packages/compiler-core/__tests__/transforms/vIf.spec.ts
  29. +48 −44 packages/compiler-core/__tests__/transforms/vModel.spec.ts
  30. +244 −178 packages/compiler-core/__tests__/transforms/vOn.spec.ts
  31. +9 −13 packages/compiler-core/__tests__/transforms/vOnce.spec.ts
  32. +53 −53 packages/compiler-core/__tests__/transforms/vSlot.spec.ts
  33. +1 −1 packages/compiler-core/package.json
  34. +250 −151 packages/compiler-core/src/ast.ts
  35. +350 −111 packages/compiler-core/src/codegen.ts
  36. +39 −18 packages/compiler-core/src/compile.ts
  37. +2 −2 packages/compiler-core/src/errors.ts
  38. +24 −4 packages/compiler-core/src/index.ts
  39. +30 −11 packages/compiler-core/src/options.ts
  40. +24 −21 packages/compiler-core/src/parse.ts
  41. +2 −0 packages/compiler-core/src/runtimeHelpers.ts
  42. +57 −47 packages/compiler-core/src/transform.ts
  43. +41 −36 packages/compiler-core/src/transforms/hoistStatic.ts
  44. +3 −0 packages/compiler-core/src/transforms/noopDirectiveTransform.ts
  45. +193 −152 packages/compiler-core/src/transforms/transformElement.ts
  46. +15 −8 packages/compiler-core/src/transforms/transformExpression.ts
  47. +60 −60 packages/compiler-core/src/transforms/transformSlotOutlet.ts
  48. +4 −10 packages/compiler-core/src/transforms/transformText.ts
  49. +1 −2 packages/compiler-core/src/transforms/vBind.ts
  50. +153 −126 packages/compiler-core/src/transforms/vFor.ts
  51. +131 −123 packages/compiler-core/src/transforms/vIf.ts
  52. +4 −16 packages/compiler-core/src/transforms/vModel.ts
  53. +12 −9 packages/compiler-core/src/transforms/vOn.ts
  54. +33 −35 packages/compiler-core/src/transforms/vSlot.ts
  55. +40 −34 packages/compiler-core/src/utils.ts
  56. +5 −5 packages/compiler-dom/__tests__/__snapshots__/index.spec.ts.snap
  57. +108 −71 packages/compiler-dom/__tests__/transforms/__snapshots__/vModel.spec.ts.snap
  58. +6 −6 packages/compiler-dom/__tests__/transforms/__snapshots__/vShow.spec.ts.snap
  59. +124 −0 packages/compiler-dom/__tests__/transforms/stringifyStatic.spec.ts
  60. +3 −3 packages/compiler-dom/__tests__/transforms/transformStyle.spec.ts
  61. +0 −30 packages/compiler-dom/__tests__/transforms/vCloak.spec.ts
  62. +14 −18 packages/compiler-dom/__tests__/transforms/vHtml.spec.ts
  63. +13 −0 packages/compiler-dom/__tests__/transforms/vModel.spec.ts
  64. +66 −7 packages/compiler-dom/__tests__/transforms/vOn.spec.ts
  65. +14 −18 packages/compiler-dom/__tests__/transforms/vText.spec.ts
  66. +2 −2 packages/compiler-dom/package.json
  67. +7 −2 packages/compiler-dom/src/errors.ts
  68. +29 −19 packages/compiler-dom/src/index.ts
  69. +11 −1 packages/compiler-dom/src/parserOptionsMinimal.ts
  70. +161 −0 packages/compiler-dom/src/transforms/stringifyStatic.ts
  71. +9 −5 packages/compiler-dom/src/transforms/transformStyle.ts
  72. +0 −5 packages/compiler-dom/src/transforms/vCloak.ts
  73. +1 −2 packages/compiler-dom/src/transforms/vHtml.ts
  74. +74 −49 packages/compiler-dom/src/transforms/vModel.ts
  75. +30 −3 packages/compiler-dom/src/transforms/vOn.ts
  76. +1 −2 packages/compiler-dom/src/transforms/vText.ts
  77. +24 −0 packages/compiler-dom/src/transforms/warnTransitionChildren.ts
  78. +1 −1 packages/compiler-sfc/__tests__/__snapshots__/compileTemplate.spec.ts.snap
  79. +14 −17 packages/compiler-sfc/__tests__/__snapshots__/templateTransformAssetUrl.spec.ts.snap
  80. +13 −14 packages/compiler-sfc/__tests__/__snapshots__/templateTransformSrcset.spec.ts.snap
  81. +1 −1 packages/compiler-sfc/__tests__/compileTemplate.spec.ts
  82. +30 −6 packages/compiler-sfc/__tests__/parse.spec.ts
  83. +4 −4 packages/compiler-sfc/package.json
  84. +17 −4 packages/compiler-sfc/src/parse.ts
  85. +313 −0 packages/compiler-ssr/__tests__/ssrComponent.spec.ts
  86. +204 −0 packages/compiler-ssr/__tests__/ssrElement.spec.ts
  87. +122 −0 packages/compiler-ssr/__tests__/ssrScopeId.spec.ts
  88. +60 −0 packages/compiler-ssr/__tests__/ssrSlotOutlet.spec.ts
  89. +49 −0 packages/compiler-ssr/__tests__/ssrText.spec.ts
  90. +134 −0 packages/compiler-ssr/__tests__/ssrVFor.spec.ts
  91. +157 −0 packages/compiler-ssr/__tests__/ssrVIf.spec.ts
  92. +137 −0 packages/compiler-ssr/__tests__/ssrVModel.spec.ts
  93. +85 −0 packages/compiler-ssr/__tests__/ssrVShow.spec.ts
  94. +5 −0 packages/compiler-ssr/__tests__/utils.ts
  95. +2 −2 packages/compiler-ssr/package.json
  96. +27 −0 packages/compiler-ssr/src/errors.ts
  97. +82 −2 packages/compiler-ssr/src/index.ts
  98. +35 −0 packages/compiler-ssr/src/runtimeHelpers.ts
  99. +147 −0 packages/compiler-ssr/src/ssrCodegenTransform.ts
  100. +260 −0 packages/compiler-ssr/src/transforms/ssrTransformComponent.ts
  101. +343 −0 packages/compiler-ssr/src/transforms/ssrTransformElement.ts
  102. +45 −0 packages/compiler-ssr/src/transforms/ssrTransformSlotOutlet.ts
  103. +45 −0 packages/compiler-ssr/src/transforms/ssrVFor.ts
  104. +66 −0 packages/compiler-ssr/src/transforms/ssrVIf.ts
  105. +140 −0 packages/compiler-ssr/src/transforms/ssrVModel.ts
  106. +35 −0 packages/compiler-ssr/src/transforms/ssrVShow.ts
  107. +1 −0 packages/compiler-ssr/src/transforms/ssrVSlot.ts
  108. +2 −1 packages/global.d.ts
  109. +13 −0 packages/reactivity/__tests__/collections/Map.spec.ts
  110. +12 −1 packages/reactivity/__tests__/effect.spec.ts
  111. +20 −1 packages/reactivity/__tests__/reactive.spec.ts
  112. +1 −1 packages/reactivity/package.json
  113. +8 −0 packages/reactivity/src/baseHandlers.ts
  114. +11 −21 packages/reactivity/src/computed.ts
  115. +26 −6 packages/reactivity/src/effect.ts
  116. +5 −1 packages/reactivity/src/index.ts
  117. +15 −2 packages/reactivity/src/reactive.ts
  118. +15 −29 packages/runtime-core/__tests__/apiOptions.spec.ts
  119. +56 −42 packages/runtime-core/__tests__/apiWatch.spec.ts
  120. +2 −2 packages/runtime-core/__tests__/{rendererPortal.spec.ts → components/Portal.spec.ts}
  121. +24 −6 packages/runtime-core/__tests__/components/Suspense.spec.ts
  122. 0 ...ests__/{__snapshots__/rendererPortal.spec.ts.snap → components/__snapshots__/Portal.spec.ts.snap}
  123. +156 −14 packages/runtime-core/__tests__/directives.spec.ts
  124. +8 −4 packages/runtime-core/__tests__/errorHandling.spec.ts
  125. +1 −1 packages/runtime-core/__tests__/rendererFragment.spec.ts
  126. +33 −1 packages/runtime-core/__tests__/scheduler.spec.ts
  127. +21 −8 packages/runtime-core/__tests__/vnode.spec.ts
  128. +2 −2 packages/runtime-core/package.json
  129. +20 −0 packages/runtime-core/src/apiComputed.ts
  130. +35 −24 packages/runtime-core/src/apiCreateApp.ts
  131. +5 −4 packages/runtime-core/src/apiLifecycle.ts
  132. +12 −10 packages/runtime-core/src/apiOptions.ts
  133. +0 −54 packages/runtime-core/src/apiReactivity.ts
  134. +83 −44 packages/runtime-core/src/apiWatch.ts
  135. +45 −12 packages/runtime-core/src/component.ts
  136. +16 −6 packages/runtime-core/src/componentProps.ts
  137. +14 −9 packages/runtime-core/src/componentProxy.ts
  138. +60 −16 packages/runtime-core/src/componentRenderUtils.ts
  139. +10 −6 packages/runtime-core/src/componentSlots.ts
  140. +3 −3 packages/runtime-core/src/components/BaseTransition.ts
  141. +9 −12 packages/runtime-core/src/components/KeepAlive.ts
  142. +118 −0 packages/runtime-core/src/components/Portal.ts
  143. +18 −22 packages/runtime-core/src/components/Suspense.ts
  144. +6 −6 packages/runtime-core/src/h.ts
  145. +15 −4 packages/runtime-core/src/helpers/renderSlot.ts
  146. +23 −16 packages/runtime-core/src/helpers/useCssModule.ts
  147. +19 −0 packages/runtime-core/src/helpers/useSsrContext.ts
  148. +164 −0 packages/runtime-core/src/hydration.ts
  149. +99 −38 packages/runtime-core/src/index.ts
  150. +434 −317 packages/runtime-core/src/renderer.ts
  151. +12 −2 packages/runtime-core/src/scheduler.ts
  152. +0 −26 packages/runtime-core/src/shapeFlags.ts
  153. +40 −65 packages/runtime-core/src/vnode.ts
  154. +2 −2 packages/runtime-core/src/warning.ts
  155. +1 −1 packages/runtime-dom/README.md
  156. +2 −2 packages/runtime-dom/package.json
  157. +4 −2 packages/runtime-dom/src/components/TransitionGroup.ts
  158. +1 −42 packages/runtime-dom/src/directives/vModel.ts
  159. +77 −21 packages/runtime-dom/src/index.ts
  160. +24 −4 packages/runtime-dom/src/modules/attrs.ts
  161. +4 −0 packages/runtime-dom/src/modules/props.ts
  162. +36 −14 packages/runtime-dom/src/nodeOps.ts
  163. +13 −17 packages/runtime-dom/src/patchProp.ts
  164. +2 −2 packages/runtime-test/package.json
  165. +15 −0 packages/server-renderer/README.md
  166. +569 −0 packages/server-renderer/__tests__/renderToString.spec.ts
  167. +29 −0 packages/server-renderer/__tests__/ssrInterpolate.spec.ts
  168. +168 −0 packages/server-renderer/__tests__/ssrRenderAttrs.spec.ts
  169. +53 −0 packages/server-renderer/__tests__/ssrRenderList.spec.ts
  170. +115 −0 packages/server-renderer/__tests__/ssrVModelHelpers.spec.ts
  171. +5 −2 packages/server-renderer/package.json
  172. +5 −0 packages/server-renderer/src/helpers/ssrInterpolate.ts
  173. +109 −0 packages/server-renderer/src/helpers/ssrRenderAttrs.ts
  174. +29 −0 packages/server-renderer/src/helpers/ssrRenderList.ts
  175. +37 −0 packages/server-renderer/src/helpers/ssrRenderSlot.ts
  176. +50 −0 packages/server-renderer/src/helpers/ssrVModelHelpers.ts
  177. +21 −102 packages/server-renderer/src/index.ts
  178. +366 −0 packages/server-renderer/src/renderToString.ts
  179. +11 −0 packages/shared/__tests__/escapeHtml.spec.ts
  180. +1 −1 packages/shared/package.json
  181. +55 −0 packages/shared/src/domAttrConfig.ts
  182. +1 −7 packages/{server-renderer/src/helpers.ts → shared/src/escapeHtml.ts}
  183. +17 −5 packages/shared/src/index.ts
  184. +42 −0 packages/shared/src/looseEqual.ts
  185. +38 −0 packages/shared/src/normalizeProp.ts
  186. +26 −24 packages/shared/src/patchFlags.ts
  187. +13 −0 packages/shared/src/shapeFlags.ts
  188. +1 −1 packages/size-check/package.json
  189. +4 −2 packages/size-check/src/index.ts
  190. +4 −2 packages/template-explorer/README.md
  191. +29 −0 packages/template-explorer/local.html
  192. +1 −1 packages/template-explorer/package.json
  193. +21 −6 packages/template-explorer/src/index.ts
  194. +132 −79 packages/template-explorer/src/options.ts
  195. +25 −8 packages/template-explorer/style.css
  196. 0 packages/vue/__tests__/{svg.spec.ts → svgNamespace.spec.ts}
  197. +15 −7 packages/vue/examples/__tests__/commits.spec.ts
  198. +2 −0 packages/vue/examples/__tests__/e2eUtils.ts
  199. +15 −7 packages/vue/examples/__tests__/grid.spec.ts
  200. +16 −8 packages/vue/examples/__tests__/markdown.spec.ts
  201. +15 −7 packages/vue/examples/__tests__/svg.spec.ts
  202. +16 −8 packages/vue/examples/__tests__/todomvc.spec.ts
  203. +15 −7 packages/vue/examples/__tests__/tree.spec.ts
  204. +4 −3 packages/vue/package.json
  205. +13 −1 packages/vue/src/index.ts
  206. +21 −7 rollup.config.js
  207. +3 −1 scripts/build.js
  208. +6 −2 scripts/dev.js
  209. +1 −1 scripts/release.js
  210. +4 −1 test-dts/tsx.test-d.tsx
  211. +54 −0 test-dts/watch.test-d.ts
  212. +2 −1 tsconfig.json
  213. +398 −97 yarn.lock
2 changes: 2 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
open_collective: vuejs
patreon: evanyou
19 changes: 17 additions & 2 deletions .github/contributing.md
Original file line number Diff line number Diff line change
@@ -106,9 +106,13 @@ Multiple formats can be specified as a comma-separated list:
yarn build runtime-core -f esm,cjs
```

#### Build with Source Maps

Use the `--sourcemap` or `-s` flag to build with source maps. Note this will make the build much slower.

#### Build with Type Declarations

The `--types` flag will generate type declarations during the build and in addition:
The `--types` or `-t` flag will generate type declarations during the build and in addition:

- Roll the declarations into a single `.dts` file for each package;
- Generate an API report in `<projectRoot>/temp/<packageName>.api.md`. This report contains potential warnings emitted by [api-extractor](https://api-extractor.com/).
@@ -129,6 +133,8 @@ $ yarn dev

- The `dev` script supports specifying build format via the `-f` flag just like the `build` script.

- The `dev` script also supports the `-s` flag for generating source maps, but it will make rebuilds slower.

### `yarn test`

The `yarn test` script simply calls the `jest` binary, so all [Jest CLI Options](https://jestjs.io/docs/en/cli) can be used. Some examples:
@@ -168,11 +174,20 @@ This repository employs a [monorepo](https://en.wikipedia.org/wiki/Monorepo) set

- `compiler-dom`: Compiler with additional plugins specifically targeting the browser.

- `compiler-ssr`: Compiler that produces render functions optimized for server-side rendering.

- `template-explorer`: A development tool for debugging compiler output. You can run `yarn dev template-explorer` and open its `index.html` to get a repl of template compilation based on current source code.

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.** Platform-agnostic internal utilities shared across multiple packages. This package is private and not published.
- `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 */ }
```

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

98 changes: 98 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,101 @@
# [3.0.0-alpha.5](https://github.com/vuejs/vue-next/compare/v3.0.0-alpha.4...v3.0.0-alpha.5) (2020-02-18)


### Bug Fixes

* **compiler:** fix v-for fragment openBlock argument ([12fcf9a](https://github.com/vuejs/vue-next/commit/12fcf9ab953acdbb8706b549c7e63f69482a495a))
* **compiler-core:** fix keep-alive when used in templates ([ade07c6](https://github.com/vuejs/vue-next/commit/ade07c64a1f98c0958e80db0458c699c21998f64)), closes [#715](https://github.com/vuejs/vue-next/issues/715)
* **compiler-core:** only check is prop on `<component>` ([78c4f32](https://github.com/vuejs/vue-next/commit/78c4f321cd0902a117c599ac705dda294fa198ed))
* **compiler-core:** relax error on unknown entities ([730d329](https://github.com/vuejs/vue-next/commit/730d329f794caf1ea2cc47628f8d74ef2d07f96e)), closes [#663](https://github.com/vuejs/vue-next/issues/663)
* **compiler-core:** should apply text transform to if branches ([e0f3c6b](https://github.com/vuejs/vue-next/commit/e0f3c6b352ab35adcad779ef0ac9670acf3d7b37)), closes [#725](https://github.com/vuejs/vue-next/issues/725)
* **compiler-core:** should not hoist element with cached + merged event handlers ([5455e8e](https://github.com/vuejs/vue-next/commit/5455e8e69a59cd1ff72330b1aed9c8e6aedc4b36))
* **compiler-dom:** fix duplicated transforms ([9e51297](https://github.com/vuejs/vue-next/commit/9e51297702f975ced1cfebad9a46afc46f0593bb))
* **compiler-sfc:** handle empty nodes with src attribute ([#695](https://github.com/vuejs/vue-next/issues/695)) ([2d56dfd](https://github.com/vuejs/vue-next/commit/2d56dfdc4fcf824bba4c0166ca5471258c4f883b))
* **compiler-ssr:** import helpers from correct packages ([8f6b669](https://github.com/vuejs/vue-next/commit/8f6b6690a2011846446804267ec49073996c3800))
* **computed:** support arrow function usage for computed option ([2fb7a63](https://github.com/vuejs/vue-next/commit/2fb7a63943d9d995248cb6d2d4fb5f22ff2ac000)), closes [#733](https://github.com/vuejs/vue-next/issues/733)
* **reactivity:** avoid cross-component dependency leaks in setup() ([d9d63f2](https://github.com/vuejs/vue-next/commit/d9d63f21b1e6f99f2fb63d736501095b131e5ad9))
* **reactivity:** effect should handle self dependency mutations ([e8e6772](https://github.com/vuejs/vue-next/commit/e8e67729cb7649d736be233b2a5e00768dd6f4ba))
* **reactivity:** trigger iteration effect on Map.set ([e1c9153](https://github.com/vuejs/vue-next/commit/e1c9153b9ed71f9b2e1ad4f9018c51d239e7dcd0)), closes [#709](https://github.com/vuejs/vue-next/issues/709)
* **runtime-core:** ensure renderCache always exists ([8383e54](https://github.com/vuejs/vue-next/commit/8383e5450e4f9679ac8a284f1c3960e3ee5b5211))
* **runtime-core:** fix keep-alive tree-shaking ([5b43764](https://github.com/vuejs/vue-next/commit/5b43764eacb59ff6ebba3195a55af4ac0cf253bb))
* **runtime-core:** fix ShapeFlags tree shaking ([0f67aa7](https://github.com/vuejs/vue-next/commit/0f67aa7da50d6ffc543754a42f1e677af11f9173))
* **runtime-core:** handle component updates with only class/style bindings ([35d91f4](https://github.com/vuejs/vue-next/commit/35d91f4e18ccb72cbf39a86fe8f39060f0bf075e))
* **runtime-core:** render context set should not unwrap reactive values ([27fbfbd](https://github.com/vuejs/vue-next/commit/27fbfbdb8beffc96134c931425f33178c23a72db))
* **runtime-core:** rework vnode hooks handling ([cfadb98](https://github.com/vuejs/vue-next/commit/cfadb98011e188114bb822ee6f678cd09ddac7e3)), closes [#684](https://github.com/vuejs/vue-next/issues/684)
* **runtime-core:** should not return early on text patchFlag ([778f3a5](https://github.com/vuejs/vue-next/commit/778f3a5e886a1a1136bc8b00b849370d7c4041be))
* **runtime-core/scheduler:** avoid duplicate updates of child component ([8a87074](https://github.com/vuejs/vue-next/commit/8a87074df013fdbb0e88f34074c2605e4af2937c))
* **runtime-core/scheduler:** invalidate job ([#717](https://github.com/vuejs/vue-next/issues/717)) ([fe9da2d](https://github.com/vuejs/vue-next/commit/fe9da2d0e4f9b338252b1b62941ee9ead71f0346))
* **runtime-core/watch:** trigger watcher with undefined as initial value ([#687](https://github.com/vuejs/vue-next/issues/687)) ([5742a0b](https://github.com/vuejs/vue-next/commit/5742a0b826fe77d2310acb530667adb758822f66)), closes [#683](https://github.com/vuejs/vue-next/issues/683)
* **runtime-dom/ssr:** properly handle xlink and boolean attributes ([e6e2c58](https://github.com/vuejs/vue-next/commit/e6e2c58234cab46fa530c383c0f7ae1cb3494da3))
* **ssr:** avoid hard-coded ssr checks in cjs builds ([bc07e95](https://github.com/vuejs/vue-next/commit/bc07e95ca84686bfa43798a444a3220581b183d8))
* **ssr:** fix class/style rendering + ssrRenderComponent export name ([688ad92](https://github.com/vuejs/vue-next/commit/688ad9239105625f7b63ac43181dfb2e9d1d4720))
* **ssr:** render components returning render function from setup ([#720](https://github.com/vuejs/vue-next/issues/720)) ([4669215](https://github.com/vuejs/vue-next/commit/4669215ca2f82d90a1bd730613259f3167e199cd))
* **transition-group:** handle multiple move-classes ([#679](https://github.com/vuejs/vue-next/issues/679)) ([5495c70](https://github.com/vuejs/vue-next/commit/5495c70c4a3f740ef4ac575ffee5466ca747cca1)), closes [#678](https://github.com/vuejs/vue-next/issues/678)
* **types:** app.component should accept defineComponent return type ([57ee5df](https://github.com/vuejs/vue-next/commit/57ee5df364f03816e548f4f3bf05edc7a089c362)), closes [#730](https://github.com/vuejs/vue-next/issues/730)
* **types:** ensure correct oldValue typing based on lazy option ([c6a9787](https://github.com/vuejs/vue-next/commit/c6a9787941ca99877d268182a5bb57fcf8b80b75)), closes [#719](https://github.com/vuejs/vue-next/issues/719)
* **v-on:** transform click.right and click.middle modifiers ([028f748](https://github.com/vuejs/vue-next/commit/028f748c32f80842be39897fdacc37f6700f00a7)), closes [#735](https://github.com/vuejs/vue-next/issues/735)
* remove effect from public API ([4bc4cb9](https://github.com/vuejs/vue-next/commit/4bc4cb970f7a65177948c5d817bb43ecb0324636)), closes [#712](https://github.com/vuejs/vue-next/issues/712)
* **v-model:** should use dynamic directive on input with dynamic v-bind ([1f2de9e](https://github.com/vuejs/vue-next/commit/1f2de9e232409b09c97b67d0824d1450beed6eb1))


### Code Refactoring

* **watch:** adjsut watch API behavior ([9571ede](https://github.com/vuejs/vue-next/commit/9571ede84bb6949e13c25807cc8f016ace29dc8a))


### Features

* **compiler:** mark hoisted trees with patchFlag ([175f8aa](https://github.com/vuejs/vue-next/commit/175f8aae8d009e044e3674f7647bf1397f3a794a))
* **compiler:** warn invalid children for transition and keep-alive ([4cc39e1](https://github.com/vuejs/vue-next/commit/4cc39e14a297f42230f5aac5ec08e3c98902b98d))
* **compiler-core:** support mode: cjs in codegen ([04da2a8](https://github.com/vuejs/vue-next/commit/04da2a82e8fbde2b60b2392bc4bdcc5e61113202))
* **compiler-core/v-on:** support [@vnode-xxx](https://github.com/vnode-xxx) usage for vnode hooks ([571ed42](https://github.com/vuejs/vue-next/commit/571ed4226be618dcc9f95e4c2da8d82d7d2f7750))
* **compiler-dom:** handle constant expressions when stringifying static content ([8b7c162](https://github.com/vuejs/vue-next/commit/8b7c162125cb72068727a76ede8afa2896251db0))
* **compiler-dom/runtime-dom:** stringify eligible static trees ([27913e6](https://github.com/vuejs/vue-next/commit/27913e661ac551f580bd5fd42b49fe55cbe8dbb8))
* **reactivity:** add shallowReactive function ([#689](https://github.com/vuejs/vue-next/issues/689)) ([7f38c1e](https://github.com/vuejs/vue-next/commit/7f38c1e0ff5a7591f67ed21aa3a2944db2e72a27))
* **runtime-core/reactivity:** expose shallowReactive ([#711](https://github.com/vuejs/vue-next/issues/711)) ([21944c4](https://github.com/vuejs/vue-next/commit/21944c4a42a65f20245794fa5f07add579b7121f))
* **server-renderer:** support on-the-fly template compilation ([#707](https://github.com/vuejs/vue-next/issues/707)) ([6d10a6c](https://github.com/vuejs/vue-next/commit/6d10a6c77242aec98103f15d6cb672ba63c18abf))
* **ssr:** render portals ([#714](https://github.com/vuejs/vue-next/issues/714)) ([e495fa4](https://github.com/vuejs/vue-next/commit/e495fa4a1872d03ed59252e7ed5dd2b708adb7ae))
* **ssr:** support portal hydration ([70dc3e3](https://github.com/vuejs/vue-next/commit/70dc3e3ae74f08d53243e6f078794c16f359e272))
* **ssr:** useSSRContext ([fd03149](https://github.com/vuejs/vue-next/commit/fd031490fb89b7c0d1d478b586151a24324101a3))


### Performance Improvements

* prevent renderer hot functions being inlined by minifiers ([629ee75](https://github.com/vuejs/vue-next/commit/629ee75588fc2ca4ab2b3786046f788d3547b6bc))
* **reactivity:** better computed tracking ([#710](https://github.com/vuejs/vue-next/issues/710)) ([8874b21](https://github.com/vuejs/vue-next/commit/8874b21a7e2383a8bb6c15a7095c1853aa5ae705))


### BREAKING CHANGES

* **watch:** `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.



# [3.0.0-alpha.4](https://github.com/vuejs/vue-next/compare/v3.0.0-alpha.3...v3.0.0-alpha.4) (2020-01-27)


10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -4,10 +4,16 @@

The current codebase has basic feature parity with v2.x, together with the changes proposed in [merged RFCs](https://github.com/vuejs/rfcs/pulls?q=is%3Apr+is%3Amerged+label%3A3.x). There is a simple webpack-based setup with Single-File Component support available [here](https://github.com/vuejs/vue-next-webpack-preview).

At this stage, the only major work left is server-side rendering, which we are actively working on. In the meanwhile, we would like our users to start building small experimental apps using the alpha releases to help us identify bugs and stabilize the implementation.

Please note that there could still be undocumented behavior inconsistencies with 2.x. When you run into such a case, please make sure to first check if the behavior difference has already been proposed in an existing RFC. If the inconsistency is not part of an RFC, then it's likely unintended, and an issue should be opened (please make sure to use the [issue helper](https://new-issue.vuejs.org/?repo=vuejs/vue-next) when opening new issues).

## TODOs as of 3.0.0-alpha.5

- Suspense support in SSR
- SSR Hydration mismatch handling
- SSR vnode directive support
- SSR integration tests
- 2.x compatible async component support

## Known Issues

- There is currently no way to attach custom instance properties via `Vue.prototype`.
8 changes: 5 additions & 3 deletions jest.config.js
Original file line number Diff line number Diff line change
@@ -7,7 +7,8 @@ module.exports = {
__BROWSER__: false,
__BUNDLER__: true,
__RUNTIME_COMPILE__: true,
__SSR__: false,
__GLOBAL__: false,
__NODE_JS__: true,
__FEATURE_OPTIONS__: true,
__FEATURE_SUSPENSE__: true
},
@@ -19,10 +20,11 @@ module.exports = {
'!packages/template-explorer/**',
'!packages/size-check/**'
],
watchPathIgnorePatterns: ['/node_modules/'],
watchPathIgnorePatterns: ['/node_modules/', '/dist/', '/.git/'],
moduleFileExtensions: ['ts', 'tsx', 'js', 'json'],
moduleNameMapper: {
'^@vue/(.*?)$': '<rootDir>/packages/$1/src'
'^@vue/(.*?)$': '<rootDir>/packages/$1/src',
vue: '<rootDir>/packages/vue/src'
},
rootDir: __dirname,
testMatch: ['<rootDir>/packages/**/__tests__/**/*spec.[jt]s?(x)'],
17 changes: 10 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
{
"private": true,
"version": "3.0.0-alpha.4",
"version": "3.0.0-alpha.5",
"workspaces": [
"packages/*"
],
"scripts": {
"dev": "node scripts/dev.js",
"build": "node scripts/build.js",
"size-runtime": "node scripts/build.js runtime-dom size-check -p -f global",
"size-compiler": "node scripts/build.js compiler-dom -p -f global",
"size": "yarn size-runtime && yarn size-compiler",
"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 -t -f esm && tsd",
"test-dts": "node scripts/build.js reactivity runtime-core runtime-dom -dt -f esm-bundler && tsd",
"release": "node scripts/release.js",
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s"
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s",
"dev-compiler": "npm-run-all --parallel \"dev template-explorer\" serve",
"serve": "serve",
"open": "open http://localhost:5000/packages/template-explorer/local.html"
},
"types": "test-dts/index.d.ts",
"tsd": {
@@ -42,20 +43,22 @@
"@types/puppeteer": "^2.0.0",
"brotli": "^1.3.2",
"chalk": "^2.4.2",
"csstype": "^2.6.8",
"conventional-changelog-cli": "^2.0.31",
"csstype": "^2.6.8",
"enquirer": "^2.3.2",
"execa": "^2.0.4",
"fs-extra": "^8.1.0",
"jest": "^24.9.0",
"lint-staged": "^9.2.3",
"minimist": "^1.2.0",
"npm-run-all": "^4.1.5",
"prettier": "~1.14.0",
"puppeteer": "^2.0.0",
"rollup": "^1.19.4",
"rollup-plugin-terser": "^5.1.1",
"rollup-plugin-typescript2": "^0.24.0",
"semver": "^6.3.0",
"serve": "^11.3.0",
"ts-jest": "^24.0.2",
"tsd": "^0.11.0",
"typescript": "^3.7.0",
Loading