Skip to content

Commit 2cb2d87

Browse files
Migration build (vuejs#1033)
1 parent b47a7e8 commit 2cb2d87

29 files changed

+479
-6
lines changed

src/.vuepress/config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ const sidebar = {
172172
],
173173
migration: [
174174
'/guide/migration/introduction',
175+
'/guide/migration/migration-build',
175176
{
176177
title: 'Details',
177178
collapsable: false,

src/guide/migration/array-refs.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,10 @@ Note that:
7070
- `itemRefs` doesn't have to be an array: it can also be an object where the refs are set by their iteration keys.
7171

7272
- This also allows `itemRefs` to be made reactive and watched, if needed.
73+
74+
## Migration Strategy
75+
76+
[Migration build flags:](migration-build.html#compat-configuration)
77+
78+
- `V_FOR_REF`
79+
- `COMPILER_V_FOR_REF`

src/guide/migration/async-components.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,3 +95,4 @@ const asyncComponent = defineAsyncComponent(
9595
For more information on the usage of async components, see:
9696

9797
- [Guide: Dynamic & Async Components](/guide/component-dynamic-async.html#dynamic-components-with-keep-alive)
98+
- [Migration build flag: `COMPONENT_ASYNC`](migration-build.html#compat-configuration)

src/guide/migration/attribute-coercion.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,3 +137,8 @@ In 3.x, `null` or `undefined` should be used to explicitly remove an attribute.
137137
</tr>
138138
</tbody>
139139
</table>
140+
141+
[Migration build flags:](migration-build.html#compat-configuration)
142+
143+
- `ATTR_FALSE_VALUE`
144+
- `ATTR_ENUMERATED_COERSION`

src/guide/migration/attrs-includes-class-style.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ when used like this:
6060

6161
In components that use `inheritAttrs: false`, make sure that styling still works as intended. If you previously relied on the special behavior of `class` and `style`, some visuals might be broken as these attributes might now be applied to another element.
6262

63+
[Migration build flag: `INSTANCE_ATTRS_CLASS_STYLE`](migration-build.html#compat-configuration)
64+
6365
## See also
6466

6567
- [Relevant RFC](https://github.com/vuejs/rfcs/blob/master/active-rfcs/0031-attr-fallthrough.md)

src/guide/migration/children.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,7 @@ export default {
3838
## 3.x Update
3939

4040
In 3.x, the `$children` property is removed and no longer supported. Instead, if you need to access a child component instance, we recommend using [$refs](/guide/component-template-refs.html#template-refs).
41+
42+
## Migration Strategy
43+
44+
[Migration build flag: `INSTANCE_CHILDREN`](migration-build.html#compat-configuration)

src/guide/migration/custom-directives.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,3 +103,7 @@ mounted(el, binding, vnode) {
103103
:::warning
104104
With [fragments](/guide/migration/fragments.html#overview) support, components can potentially have more than one root node. When applied to a multi-root component, a custom directive will be ignored and a warning will be logged.
105105
:::
106+
107+
## Migration Strategy
108+
109+
[Migration build flag: `CUSTOM_DIR`](migration-build.html#compat-configuration)

src/guide/migration/custom-elements-interop.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,8 @@ In 3.0, we are limiting Vue's special treatment of the `is` prop to the `<compon
9696
document.createElement('button', { is: 'plastic-button' })
9797
```
9898

99+
[Migration build flag: `COMPILER_IS_ON_ELEMENT`](migration-build.html#compat-configuration)
100+
99101
## `v-is` for In-DOM Template Parsing Workarounds
100102

101103
> Note: this section only affects cases where Vue templates are directly written in the page's HTML.

src/guide/migration/data-option.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,8 @@ In 3.0, the result will be:
111111
}
112112
```
113113

114+
[Migration build flag: `OPTIONS_DATA_FN`](migration-build.html#compat-configuration)
115+
114116
## Migration Strategy
115117

116118
For users relying on the object declaration, we recommend:
@@ -119,3 +121,8 @@ For users relying on the object declaration, we recommend:
119121
- Rewrite references to the shared data to point to a new shared object
120122

121123
For users relying on the deep merge behavior from mixins, we recommend refactoring your code to avoid such reliance altogether, since deep merges from mixins are very implicit and can make the code logic more difficult to understand and debug.
124+
125+
[Migration build flags:](migration-build.html#compat-configuration)
126+
127+
- `OPTIONS_DATA_FN`
128+
- `OPTIONS_DATA_MERGE`

src/guide/migration/events-api.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,5 @@ export default {
7979
This provides the same event emitter API as in Vue 2.
8080

8181
These methods may also be supported in a future compatibility build of Vue 3.
82+
83+
[Migration build flag: `INSTANCE_EVENT_EMITTER`](migration-build.html#compat-configuration)

0 commit comments

Comments
 (0)