- We typically use the active NodeJS LTS. If you need to work with multiple versions of Node, you might consider using nvm.
- This repository uses yarn to manage node dependencies. Please install yarn globally using
npm install --global yarn.
You would only do this once after you cloned the repository.
- Clone this repository from git.
cdintosource-tracking.- We develop using feature brances off
mainand release from themainbranch. At this point, you should do initiate agit checkout -t origin/main. yarnto bring in all the top-level dependencies.- Open the project in your editor of choice.
- We enforce commit message format. We recommend using commitizen by installing it with
yarn global add commitizenthen commit usinggit czwhich will prompt you questions to format the commit message. - Before commit and push, husky will run several hooks to ensure the message and that everything lints and compiles properly.
This compiles the typescript to javascript.
This cleans all generated files and directories. Run yarn clean-all to also clean up the node_module directories.
This tests the typescript using ts-node.
This lints all the typescript. If there are no errors/warnings from eslint, then you get clean output.
real tests on real local fs, including some scale and perf tests.
makes sure that you're not introducing unnecessary exports or leaving dead code
unused exports might be used for tests but not by other code