- Notifications
You must be signed in to change notification settings - Fork17
TSLint rules for Ionic Angular v4 Migration
License
ionic-team/v4-migration-tslint
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
An effort to warn about and automatically fix syntax changes listed inBREAKING.md using tslint, codelyzer, and the Angular compiler.
We are looking for contributors to help build these rules out! SeeCONTRIBUTING.md to help out. 💖
Install the lint rules:
npm i -D @ionic/v4-migration-tslintAdd a file called
ionic-migration.jsonat 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
📝Hints:
- Run tslint with
-t verboseto output the rule names of lint errors which correspond to thetable of rules below. - Run tslint with
--fixto 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
⬜ – These rules need to be completed! SeeCONTRIBUTING.md to get started.
🔧 – These rules can be automatically fixed with--fix.
| category | rule | contributors | ||
|---|---|---|---|---|
| Code Changes | ||||
| Action Sheet | 🔧 | ✅ | ion-action-sheet-method-create-parameters-renamed | @cwoolum |
| Alert | 🔧 | ✅ | ion-alert-method-create-parameters-renamed | @cwoolum |
| Datetime | 🔧 | ✅ | ion-datetime-capitalization-changed | @mhartington |
| Item Sliding | 🔧 | ✅ | ion-item-option-method-get-sliding-percent-renamed | @mhartington |
| Loading | 🔧 | ✅ | ion-loading-method-create-parameters-renamed | @areo |
| Nav | ⬜ | ion-nav-controller-method-remove-renamed | ||
| Option | ⬜ | ion-option-class-renamed | ||
| Overlays | ✅ | ion-overlay-method-create-should-use-await | @cwoolum | |
| ✅ | ion-overlay-method-present-should-use-await | @cwoolum | ||
| Markup Changes | ||||
| Back Button | ✅ | ion-back-button-not-added-by-default | @dwieeb | |
| Button | 🔧 | ✅ | ion-button-attributes-renamed | @cwoolum |
| 🔧 | ✅ | ion-button-is-now-an-element | @cwoolum,@j3gb3rt | |
| FAB | 🔧 | ✅ | ion-fab-button-is-now-an-element | @dwieeb,@j3gb3rt |
| 🔧 | ✅ | ion-fab-attributes-renamed | @dwieeb | |
| 🔧 | ✅ | ion-fab-fixed-content | @dwieeb | |
| Grid | 🔧 | ✅ | ion-col-attributes-renamed | @dwieeb |
| Icon | ✅ | ion-icon-attribute-is-active-removed | @dwieeb | |
| Item | 🔧 | ✅ | ion-item-is-now-an-element | @dwieeb,@j3gb3rt |
| ✅ | ion-item-ion-label-required | @dwieeb | ||
| 🔧 | ✅ | ion-item-attributes-renamed | @dwieeb | |
| Item Divider | ✅ | ion-item-divider-ion-label-required | @dwieeb | |
| Item Options | 🔧 | ✅ | ion-item-options-attribute-values-renamed | @dwieeb |
| Item Sliding | ✅ | ion-item-option-is-now-an-element | @dwieeb | |
| Label | 🔧 | ✅ | ion-label-attributes-renamed | @dwieeb |
| List Header | ✅ | ion-list-header-ion-label-required | @dwieeb | |
| Menu | 🔧 | ✅ | ion-menu-events-renamed | @mhartington |
| Menu Toggle | ✅ | ion-menu-toggle-is-now-an-element | @dwieeb | |
| Navbar | 🔧 | ✅ | ion-navbar-is-now-ion-toolbar | @cwoolum |
| Option | 🔧 | ✅ | ion-option-is-now-ion-select-option | @dwieeb |
| Radio | 🔧 | ✅ | ion-radio-attributes-renamed | @dwieeb |
| 🔧 | ✅ | ion-radio-slot-required | @dwieeb | |
| 🔧 | ✅ | ion-radio-group-is-now-an-element | @dwieeb,@j3gb3rt | |
| Range | 🔧 | ✅ | ion-range-attributes-renamed | @dwieeb |
| Segment Button | 🔧 | ✅ | ion-segment-button-ion-label-required | @dwieeb |
| Select | ⬜ | ion-select-attributes-renamed | ||
| Spinner | 🔧 | ✅ | ion-spinner-attribute-values-renamed | @dwieeb |
| Tabs | ✅ | ion-tabs-refactored | @mhartington, | |
| Text / Typography | 🔧 | ✅ | ion-text-is-now-an-element | @dwieeb,@j3gb3rt |
| Toolbar | 🔧 | ✅ | ion-buttons-attributes-renamed | @dwieeb |
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:
About
TSLint rules for Ionic Angular v4 Migration
Topics
Resources
License
Contributing
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Languages
- TypeScript100.0%