fix(vue): add correct InputProp types #263
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull request checklist
Please check if your PR fulfills the following requirements:
npm run build
) was run locally for affected output targetsnpm test
) were run locally and passedPull request type
Please check the type of change your PR introduces:
What is the current behavior?
Issue URL: See ionic-team/ionic-framework#25485
In Vue 3.0.0, prop types defaulted to
any
. In Vue 3.0.1 they defaulted to{}
. vuejs/core@6aa2256Ionic recently updated dev deps to build with Vue 3.2.x (previously, we were using Vue 3.0.0).
This uncovered an issue where all component props had incorrect types:
Note that
toString
,valueOf
, andtoLocaleString
types should be functions that return strings. This was caused byInputProps
extendingObject
. We never caught it because test apps were being built with Vue 3.0.0 which essentially turned off type checking with its usage ofany
.Additionally, our test apps were using Vue CLI + Webpack, and this issue seems to only impact Vite.
What is the new behavior?
Object
Does this introduce a breaking change?
Other information