@zoriat/core
v1.0.1
Published
Starter template for TypeScript libraries
Downloads
2
Maintainers
Readme
typescript-library-template
A starter template for TypeScript libraries. Use this repository as a starting point for your own TypeScript library. This template includes the following features:
- Compiles TypeScript code using both the
tsconfig.json
andtsconfig.module.json
files. - Formats TypeScript code using Prettier.
- Lints TypeScript code using ESLint.
- Runs unit tests using AVA.
- Generates code coverage reports using NYC.
- Generates HTML documentation using TypeDoc.
- Uses Husky Git hooks and Lint-staged pre-commit hooks.
Installation
Clone the repository:
git clone https://github.com/amelspahic/typescript-library-template.git
Install the dependencies:
npm install
There are several scripts available to help you get started:
Compile the TypeScript code using both the tsconfig.json
and tsconfig.module.json
files.
npm run build
Formats the TypeScript code using Prettier and lints the code using ESLint, fixing any issues found.
npm run fix
Lints the TypeScript code using ESLint, checks the code formatting using Prettier, and runs the unit tests using AVA.
npm run test
Watches for changes in the TypeScript code and recompiles the code using tsconfig.json
.
npm run watch:build
Watches for changes in the TypeScript code and re-runs the unit tests using AVA.
npm run watch:test
Generates an HTML report of the code coverage using NYC and opens the report in the browser.
npm run cov
Generates HTML documentation of the TypeScript code and opens the documentation in the browser.
npm run doc
The template uses Husky and Lint-staged to run pre-commit hooks that ensure your code is formatted, linted, tested, and documented before committing.
For more information on available scripts, see the Scripts
section of the package.json
file.
Contributing
To contribute to the project, please follow the guidelines for submitting issues and pull requests.
License
This project is licensed under the MIT License.
Acknowledgements
This project uses Prettier, ESLint, AVA, NYC, Husky, Lint-staged, TypeDoc.