Simple starter library updated in 2023.
Tutorial can be found at https://www.tsmean.com/articles/how-to-write-a-typescript-library/.
First you should get the repo
git clone https://github.com/bersling/typescript-library-starter.git
Then you can apply any changes you'd like to the library-starter.
Adjust the name in library-starter/package.json. Check with npm to see which names are still free.
You can also adjust the version back to 1.0.0 or 0.0.1.
Using npm link you can easily test whether your changes are working correctly.
cd example-consumer
npm run linklib
npm test
Here npm run linklib is just an alias for npm run --prefix ../library-starter build && npm link ../library-starter.
In order not to break things for the users of your library it is a best practice to first publish it with a beta or next tag. That way early adopters or yourself can test some more by using npm install mylib@beta and once you're ready you can publish the actual version npm publish mylib.
Change the version property in library-starter/package.json for example to 2.1.1-beta.1.
cd library-starter
npm run publish-beta
Here npm run publish-beta is an alias for npm run build && npm publish --tag beta.
Then test it through
cd example-consumer
npm run install-beta
npm test
npm run install-beta is an alias for npm install hwrld@beta.
It is also a good idea to do a dry run before you publish. That way you can check once more whether the version is correctly specified and you include the correct files.
cd library-starter
npm run publish-dryrun
npm run publish-dryrun is an alias for npm run build && npm publish --dry-run.
First adjust the version in library-starter/package.json.
Once you are ready to publish an actual version you can run
cd library-starter
npm run publish-lib
npm run publish-lib is an alias for npm run build && npm publish
You can consume it like this:
cd example-consumer
npm run install-lib
npm test
npm run install-lib is equal to npm install hwrld or npm install hwrld@latest.
You can write a test like this: https://www.tsmean.com/articles/how-to-write-a-typescript-library/unit-testing