An effort to automatically fix syntax changes listed in BREAKING.md using tslint + codelyzer.
We are looking for contributors to help build these rules out! We have not released a first version of this package yet but it is coming soon.
Using this package is a piece of cake!
First run npm i @ionic/v4-migration-tslint --save-dev
. Add a file called ionic-migration.json
at the root of your project and paste in the following JSON.
{
"rulesDirectory": [
"@ionic/v4-migration-tslint/rules"
],
"rules": {
"ion-action-sheet-title-and-subtitle-are-now-header-and-sub-header": true,
"ion-alert-title-and-subtitle-are-now-header-and-sub-header": true,
"ion-button-is-now-an-element": true,
"ion-button-attributes-are-renamed": true,
"ion-chip-markup-has-changed": true,
"ion-navbar-is-now-ion-toolbar": true,
"ion-tab-title-is-now-label": true,
"ion-tab-icon-is-now-icon": true,
"ion-tab-badge-is-now-badge": true,
"ion-tab-badge-style-is-now-badge-style": true
}
}
To lint your project use:
./node_modules/.bin/tslint -c ionic-migration.json -p tsconfig.json
Rules without an author and without green checkmarks need some help! See #contributing-rules to learn how.
key | link | status | author |
---|---|---|---|
ion-action-sheet-title-and-subtitle-are-now-header-and-sub-header |
#action-sheet | ✅ tested ✅ fixable |
@cwoolum |
ion-alert-title-and-subtitle-are-now-header-and-sub-header |
#alert | ✅ tested ✅ fixable |
@cwoolum |
ion-back-button-is-no-longer-added-to-navigation-bar |
#back-button | 🔲 tested 🔲 fixable |
|
ion-button-is-now-an-element |
#button | ✅ tested 🔲 fixable |
@cwoolum |
ion-button-attributes-are-renamed |
#attributes-renamed | ✅ tested 🔲 fixable |
@cwoolum |
ion-chip-markup-has-changed |
#chip | ✅ tested 🔲 fixable |
@cwoolum |
ion-datetime-class-has-been-renamed |
#datetime | 🔲 tested 🔲 fixable |
|
ion-fab-markup-has-changed |
#fab-markup-changed | 🔲 tested 🔲 fixable |
|
ion-fab-attributes-have-changed |
#fab-attributes-renamed | 🔲 tested 🔲 fixable |
|
ion-fab-fixed-context-must-be-in-a-fixed-slot |
#fixed-content | 🔲 tested 🔲 fixable |
|
ion-icon-is-active-property-has-been-removed |
#property-removed | 🔲 tested 🔲 fixable |
|
ion-input-sass-variables-have-been-renamed |
#input | 🔲 tested 🔲 fixable |
|
ion-item-markup-has-changed |
#item-markup-changed | 🔲 tested 🔲 fixable |
|
ion-item-label-is-now-required |
#item-label-required | 🔲 tested 🔲 fixable |
|
ion-item-detail-push-is-now-a-single-property |
#item-detail-push | 🔲 tested 🔲 fixable |
|
ion-item-divider-now-requires-label |
#divider-requires-label | 🔲 tested 🔲 fixable |
|
ion-item-options-are-now-start-and-end |
#item-options-renamed | 🔲 tested 🔲 fixable |
|
ion-item-sliding-markup-has-changed |
#item-sliding-markup-changed | 🔲 tested 🔲 fixable |
|
ion-item-sliding-method-renamed |
#item-sliding-method-renamed | 🔲 tested 🔲 fixable |
|
ion-list-header-label-now-required |
#list-header-label-required | 🔲 tested 🔲 fixable |
|
ion-menu-toggle-markup-changed |
#menu-toggle-markup-changed | 🔲 tested 🔲 fixable |
|
ion-nav-method-renamed |
#nav-method-renamed | 🔲 tested 🔲 fixable |
|
ion-navbar-is-now-ion-toolbar |
#navbar | ✅ tested ✅ fixable |
@cwoolum |
ion-option-markup-has-changed |
#option-markup-changed | 🔲 tested 🔲 fixable |
|
ion-option-class-has-changed |
#option-class-changed | 🔲 tested 🔲 fixable |
|
ion-radio-slot-required |
#radio-slot-required | 🔲 tested 🔲 fixable |
|
ion-radio-group-is-now-an-element |
#radio-group | 🔲 tested 🔲 fixable |
|
ion-range-attributes-renamed |
#range-attributes-renamed | 🔲 tested 🔲 fixable |
|
ion-select-attributes-are-renamed |
#select-attributes-renamed | 🔲 tested 🔲 fixable |
|
ion-spinner-name-is-changed |
#spinner-name-changed | 🔲 tested 🔲 fixable |
|
ion-text-must-now-wrap-elements |
#text-markup-changed | 🔲 tested 🔲 fixable |
|
ion-tab-title-is-now-label |
#tabs | ✅ tested ✅ fixable |
@cwoolum |
ion-tab-icon-is-now-icon |
#tabs | ✅ tested ✅ fixable |
@cwoolum |
ion-tab-badge-is-now-badge |
#tabs | ✅ tested ✅ fixable |
@cwoolum |
ion-tab-badge-style-is-now-badge-style |
#tabs | ✅ tested ✅ fixable |
@cwoolum |
Some changes are not covered by this fixer due to their complexity or because it would make no sense to do in automated fashion. They are
#colors #dynamic-mode #icon-fonts-removed #theming
You must use the conventional changelog standard. Install commitizen and use git cz
instead of git commit
OR use npm run cz
to make commits.