A template for typescript dependency modules that run in a browser environment.
Uses tape-run
for tests in a browser. See template-ts for the same thing but targeting Node.
-
Use the template button in github. Or clone this then
rm -rf .git && git init
. Thennpm i && npm init
. -
Edit the source code in
src/index.ts
. -
Delete either
.github/workflows/gh-pages-docs.yml
or.github/workflows/gh-pages.yml
, depending on whether you want to deploy an example or docs to github pages. -
Edit things
- Use
./README.example.md
as a starter for docs:
cp ./README.example.md ./README.md
- edit the build-example command in
package.json
so that it has the right namespace for github pages
- Use
- compile the source to both ESM and CJS format, and put compiled files in
dist
. - ignore
dist
and*.js
in git, but don't ignore them in npm. That way we don't commit any compiled code to git, but it is available to consumers. - use npm's
prepublishOnly
hook to compile the code before publishing to npm. - use exports field in
package.json
to make sure the right format is used by consumers. preversion
npm hook -- lintpostversion
npm hook --git push --follow-tags && npm publish
- eslint --
npm run lint
- tests run in a browser environment via
tape-run
-- seenpm test
. Includestap
testing tools -- tapzero and tap-spec - CI via github actions