Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/maximekjaer/npm-ts-template
A configuration template for NPM modules written in TypeScript
https://github.com/maximekjaer/npm-ts-template
configuration npm template typescript
Last synced: about 2 months ago
JSON representation
A configuration template for NPM modules written in TypeScript
- Host: GitHub
- URL: https://github.com/maximekjaer/npm-ts-template
- Owner: MaximeKjaer
- License: mit
- Created: 2019-08-23T14:30:27.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-12-30T18:43:48.000Z (about 2 years ago)
- Last Synced: 2024-10-31T18:51:32.825Z (3 months ago)
- Topics: configuration, npm, template, typescript
- Language: TypeScript
- Homepage:
- Size: 322 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Configuration template for NPM modules written in TypeScript
[![Build Status](https://travis-ci.com/MaximeKjaer/npm-ts-template.svg?token=soqG4sgcMQUgpCtPSUUr&branch=master)](https://travis-ci.com/MaximeKjaer/npm-ts-template)
A configuration template for NPM modules written in TypeScript. This is the companion repository to [this article](https://kjaer.io/ts-npm-config/).
## Using this template
If you want to use this template for your project, you can [start a new repo with the same files and folders as this repo](https://github.com/MaximeKjaer/npm-ts-template/generate). Remember to:
- [ ] Remove the API key in `.travis.yml`
- [ ] Change the email in `.travis.yml`
- [ ] Change the GitHub repo link in `.travis.yml`
- [ ] Change the GitHub repo links in `package.json`
- [ ] Change the author name in `package.json`
- [ ] Change the author name in `LICENSE`
- [ ] Change links in `README`You can also search the project for "fixme" (case insensitive) to find what what needs to be changed. Please remember to change the `LICENSE` as well! It does not include a `fixme` annotation in order not to mess with its validity.
## Commands
| `npm run ...` | Description |
| -------------------- | -------------------------------------------------------------------------------- |
| `build` | Run all build steps |
| `build:ts` | Compile TypeScript files in `src` to `dist` |
| `clean` | Delete all build artifacts |
| `test` | Run all tests |
| `test:format` | Test code formatting for all JavaScript, TypeScript, JSON and YAML files |
| `test:lint` | Test TypeScript files for linting errors |
| `test:package` | Test that paths in `package.json` exist |
| `test:tslint-config` | Test that `tslint.json` does not contain rules conflicting with formatting rules |
| `test:unit` | Run Mocha unit tests |
| `fix` | Run all fixes |
| `fix:lint` | Fix linting errors in TypeScript files |
| `fix:format` | Fix formatting errors for all JavaScript, TypeScript, JSON and YAML files |## Releasing versions
To release a new version, run `npm version patch`, `npm version minor` or `npm version major`. Travis CI will automatically deploy the new version once the CI build passes.
## Bonus gotcha!
Here is a bonus gotcha that I didn't mention in the article:
`pkg-ok` can give false positives if there are stale build artifacts, so it's important to clean before building when releasing a version, to make sure that the `package.json` we're about to release is valid. Still, at the very worst case, the CI would catch the error, although a version number may already have been issued at that point, in which case we've "wasted" a version number.