You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-`config.optionMergeStrategies`: see [details](#configoptionmergestrategies-behavior-change) for behavior adjustments.
96
98
- Asset registration APIs
97
99
-`Vue.component` -> `app.component`
98
100
-`Vue.directive` -> `app.directive`
@@ -193,6 +195,13 @@ app.config.isCustomElement = tag => tag.startsWith('ion-')
193
195
194
196
- This will be a new top-level option in the Vue CLI config.
195
197
198
+
## `config.optionMergeStrategies` Behavior Change
199
+
200
+
While still supported, due to Vue 3's internal implementation changes, built-in options no longer need merge strategies, so they are no longer exposed. The default `app.config.optionMergeStrategies` is now an empty object. This means:
201
+
202
+
- Users must now always provide their own merge strategy functions instead of reusing built-in strategies (e.g. you can no longer do `config.optionMergeStrategies.custom = config.optionMergeStrategies.props`)
203
+
- It is no longer possible to overwrite merge strategies for built-in options.
204
+
196
205
## Attaching Globally Shared Instance Properties
197
206
198
207
In 2.x, it was possible to inject globally shared instance properties by simply attaching them to `Vue.prototype`.
@@ -230,4 +239,5 @@ N/A
230
239
- The transformation is straightforward (as seen in the basic example).
231
240
- Moved methods can be replaced with stubs that emit warnings to guide migration.
232
241
- A codemod can also be provided.
233
-
- For `config.ingoredElements`, a compat shim can be easily provided.
242
+
-`config.ingoredElements` can be supported in the compat build.
243
+
-`config.optionMergeStrategies` built-in strategies can be supported in the compat build.
0 commit comments