1
0

CONTRIBUTING.md 1.6 KB

Development & Contributing Guide

Thanks to Matt Pocock for his video on how to set up a modern TypeScript library: https://youtu.be/eh89VE3Mk5g


Initial setup:

  1. Have Node.js and npm installed
  2. Clone or download and extract the repository
  3. Run npm i in the project root to install dependencies


Commands:

Command Description
npm run lint Run TSC and ESLint to lint the code
npm run build Build the project with tsup, outputting CJS and ESM bundles as well as TypeScript declarations to dist/
npm run build-all Build the project with tsup, outputting a bundle that exports as CJS, ESM and global declaration bundles (for publishing to GreasyFork and OpenUserJS) to dist/
npm run dev Watch for changes and build the project with sourcemaps


Testing locally:

  1. Use npm link in the root of UserUtils to create a global symlink to the package
  2. Use npm link @sv443-network/userutils in the root of the project you want to test the package in to bind to the symlink
  3. Run npm run dev in the root of UserUtils to watch for changes and rebuild the package automatically
  4. Start your project and test the changes :)


Publishing a new version:

  1. Create a changeset with npx changeset (modify the description in .changeset/random-name.md if needed)
  2. Commit the changeset and push the changes
  3. Merge the commit that contains the changeset into main
    After the Actions workflow completes, a pull request will be opened
  4. Merge the pull request to automatically publish the new version to npm