@ionic/v4-migration-tslint
v1.7.1
Published
TSLint rules for Ionic Angular v4 Migration
Downloads
1,892
Readme
@ionic/v4-migration-tslint
An effort to warn about and automatically fix syntax changes listed in BREAKING.md
using tslint, codelyzer, and the Angular compiler.
We are looking for contributors to help build these rules out! See CONTRIBUTING.md
to help out. :sparkling_heart:
How to Use
Install the lint rules:
npm i -D @ionic/v4-migration-tslint
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-method-create-parameters-renamed": true, "ion-alert-method-create-parameters-renamed": true, "ion-back-button-not-added-by-default": { "options": [true], "severity": "warning" }, "ion-button-attributes-renamed": true, "ion-button-is-now-an-element": true, "ion-buttons-attributes-renamed": true, "ion-col-attributes-renamed": true, "ion-datetime-capitalization-changed": true, "ion-fab-attributes-renamed": true, "ion-fab-button-is-now-an-element": true, "ion-fab-fixed-content": true, "ion-icon-attribute-is-active-removed": true, "ion-item-attributes-renamed": true, "ion-item-divider-ion-label-required": true, "ion-item-ion-label-required": true, "ion-item-is-now-an-element": true, "ion-item-option-is-now-an-element": true, "ion-item-option-method-get-sliding-percent-renamed": true, "ion-item-options-attribute-values-renamed": true, "ion-label-attributes-renamed": true, "ion-list-header-ion-label-required": true, "ion-loading-method-create-parameters-renamed": true, "ion-menu-events-renamed": true, "ion-menu-toggle-is-now-an-element": true, "ion-navbar-is-now-ion-toolbar": true, "ion-option-is-now-ion-select-option": true, "ion-overlay-method-create-should-use-await": true, "ion-overlay-method-present-should-use-await": true, "ion-radio-attributes-renamed": true, "ion-radio-group-is-now-an-element": true, "ion-radio-slot-required": true, "ion-range-attributes-renamed": true, "ion-segment-button-ion-label-required": true, "ion-spinner-attribute-values-renamed": true, "ion-tabs-refactored": { "options": [true], "severity": "warning" }, "ion-text-is-now-an-element": true } }
Lint your project:
npx tslint -c ionic-migration.json -p tsconfig.json
:memo: Hints:
- Run tslint with
-t verbose
to output the rule names of lint errors which correspond to the table of rules below. - Run tslint with
--fix
to attempt automatic fixes (note: not all rules have fixes, and be sure to save a backup in version control before running with--fix
)
- Run tslint with
Rules
:white_large_square: – These rules need to be completed! See CONTRIBUTING.md
to get started.
:wrench: – These rules can be automatically fixed with --fix
.
Not Covered
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: