Ailo Typescript library repo starter.
Features:
- TS strict preconfigured
- unit tests using Jest
- prettier, eslint, lint-staged, husky
- watch mode (run
yarn start
to run build compiler & unit tests in watch mode) - two build targets: normal es2017, and esnext module
To start a new library (@ailo/new-awesome-library
):
git clone [email protected]:ailohq/typescript-starter.git new-awesome-library && cd new-awesome-library
- Create a
ailohq/new-awesome-library
repo on GH. (And add permissions to theailohq/core-team
.) - Add the repository to
#ailo-code-activity
Slack channel, so that the team can track commits pushed to remote by other people. The command is:/github subscribe ailohq/typescript-starter
git remote rm origin && git remote add origin [email protected]:ailohq/new-awesome-library.git
- Search & replace everywhere in the repo
typescript-starter
tonew-awesome-library
. - Remove existing
src/**
files and add your own ones. - Remove
@ailo/ailorn
from package.json dependencies. Unless you actually need it. (It's added here just for a purpose of an example.) - Replace this description here with something meaningful. (For example, with description and a usage example of your library.)
Note: There's no configuration here for CI (GoCD) yet. Releasing is done manually, and linters/tests/build are being run during each git push
/ yarn publish
.
yarn
yarn start
yarn lint # prettier and eslint
yarn test # unit tests
yarn test:watch # unit tests in watch mode
yarn validate # run linters, tests and build
Note: Releasing is done manually. This project has no CI/CD configuration.
yarn release # will automatically ask you about version bump, run tests and build, and push new version to git & npm