Fundamental TypeScript project template
Clone, fork or use as a template repository for creating your next TypeScript project.
git clone https://github.com/AtomicBuilders/quark/ your-project
cd your-project
npm install
Avoid start from an empty repository.
Have a template to create TypeScript repositories with a project already configurated.
A boilerplate ready to apply clean code techniques and testing.
While developing, make sure to install the recommended extensions for a better dev experience.
Run npm run test:watch
it will run test after each change. Ideal for TDD or testing just in time.
To run your code without having to build it just execute npm run dev
To keep your dependencies up to date use npm run updates
and it will check for updates. Then cherry pick what you want to update.
Run npm run test
it will run all test once and stops. Default for CI/CD most common environments.
If you want also the coverage report then use npm run test:coverage
.
If you want to tag your work as to keep track of your releases, then there is a script for you: npm run release
. It will:
- update the versiΓ³n number
- update the change log file.
- push and tag changes
The standard npm start
will run de build process before, so you can deploy the source code alone.
This way you can automate the deployment with the former release script.
Here you have a recap of the available scripts
"scripts": {
"start": "ts-node ./src/main.ts",
"build": "tsc -p tsconfig.json",
"dev": "ts-node ./src/main.ts",
"test": "jest",
"test:watch": "jest --watch --verbose",
"test:coverage": "jest --coverage",
"ts-node": "ts-node",
"format": "prettier --write \"./**/*.{ts,json}\"",
"lint": "eslint src --ext .ts",
"lint:fix": "npm run lint -- --fix",
"prerelease": "standard-version ",
"release": "git push --follow-tags origin master",
"updates": "ncu -u"
}
Use GitHub issues for tracking User Stories and developer tasks.
- Each issue may be labeled with
- categories: feature, bug, test, refactor, dependencies, chore
- priorities: must, should, could, wont MoSCoW priority
- milestones: may be epics or releases
- project: a Kanban automated dashboard to track issue workflow
More info in Spanish at GitHub Projects and Tools
- Use standard-version to produce a changelog file from Conventional Commits
- Installed and configured prettier
Recommended prettier extension
- Installed and configured eslint to work with prettier
Recommended esLint extension
- Installed and configured jest to run specs
- Configured to conform with eslint
- Uses
ts-jest
to work natively with TypeScript
Use this snippets
.vscode\ts-snippets.json
as an inspiration to create yours
Recommendations
- Auto Rename Tag
- Bracket Pair Colorizer 2
- Better Comments
- Debugger for Chrome
- Editor Config
- EsLint
- GitHub Pull Requests and Issues
- html tag wrapper
- Material Icon Theme
- JavaScript Booster
- JavaScript (ES6) code snippets
- Live Server
- npm Intellisense
- Path Intellisense
- Peacock
- Prettier
- Spell Right
- Visual Studio IntelliCode
See User and WorkSpace configurations at
.vscode
folder as an inspiration for yours See also.vscode\ts-snippets.json
to use in your TypeScript snippets for easy testing
TOP 10
F1
:command listCTRL+P
: fileCTRL+T
: search codeCTRL+K CTRL+Z
: code commentCTRL+K CTRL+U
: uncomment codeF12
: go to definitionCTRL+Γ
: show hide terminalCTRL+B
: show hide navigation barCTRL+K S
: save al filesALT+up|dawn
: move line