## 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 minified CJS and ESM bundles to `dist/` | | `npm run dev` | Watch for changes and build the project without minification |
### Testing locally: 1. Run `npm link` in the project root of UserUtils to create a global symlink to the package 2. Run `npm link @sv443-network/userutils` in the project root of the project you want to test the package in to bind to the symlink 3. Run `npm run dev` in the project root of UserUtils to watch for changes and rebuild the package automatically 4. Run 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