- Clone the repo
npm install
npm run build
to build source codenpm run test
to run tests
This repo uses semantic-release, so it's important to follow a strict workflow to ensure properly automated releases.
- Work off of
develop
branch (create new branch or fork) - Make changes with relevant test changes
- Use
npm run cz
(orgit cz
if commitizen is installed globally) to make commits - Create a pull request
- Pull requests will be approved and squashed into the
develop
branch - Try to make pull requests with a single objective (don't have multiple features in one PR, don't mix fixes and features in one PR, etc.)
- Pull requests will be approved and squashed into the
Rules generally comprise two parts: a Rule
class and a RuleWalker
class. Rules which operate on TypeScript code can use extend RuleWalker
directly from tslint
, but rules which operate on markup or styles must use the NgWalker
from codelyzer.
Do not use npm link
!
-
npm run tsc:watch
to watch for source changes -
Copy the rules into your project's
node_modules
:rsync --exclude node_modules --exclude .git -rv /path/to/v4-migration-tslint node_modules/@ionic
-
Follow usage instructions in
README.md
Releases are automated in CI using semantic-release when the master
branch is pushed to Github. Rebase develop
with master
. Commits in develop
should be appropriately formatted from the PR workflow (see Workflow).