77![ npm] ( https://img.shields.io/npm/dw/open-source-stack?style=plastic )
88![ GitHub top language] ( https://img.shields.io/github/languages/top/forge42dev/open-source-stack?style=plastic )
99
10- Full starter stack to develop CJS/ESM compatible npm packages with TypeScript, Vitest, ESLint , Prettier, and GitHub Actions.
10+ Full starter stack to develop CJS/ESM compatible npm packages with TypeScript, Vitest, Biome , Prettier, and GitHub Actions.
1111
12- Detailed overview of the stastack :
12+ Detailed overview of the stack :
1313https://youtu.be/ABRpwxLdGho
1414
1515Deploy your open-source project to npm with ease, with fully covered bundling, testing, linting and deployment setup out of the box,
@@ -24,32 +24,36 @@ Build your own open-source project today! 🚀
2424- ** Biome** : Biome statically analyzes your code to find issues and formats your code with a consistent, opinionated style.
2525- ** GitHub Actions** : Automate your workflow from idea to production.
2626- ** tsup** - Zero-config bundler for tiny TypeScript libraries.
27+ - ** Changeset** - A way to manage your versioning and changelog with a focus on monorepos.
28+ - ** pnpm workspaces** - A way to manage multiple packages in a single repository.
2729
2830## Features
2931
3032- ** ESM/CJS ready** - Write your code in TypeScript and publish it as ESM and CJS with 0 configuration.
3133- ** Are The types wrong? ready** - Passes all the checks for typings on https://arethetypeswrong.github.io/ by default.
3234- ** ESM/CJS test apps setup** - Test your package in both ESM and CJS environments already setup for you.
3335- ** Test runner setup** - Test your open source package with Vitest already setup for you.
34- - ** Linting setup** - Lint your code with ESLint and Prettier already setup for you.
36+ - ** Linting setup** - Lint your code with Biome already setup for you.
3537- ** GitHub Actions setup** - Automate deployments to npm by using GitHub Actions.
38+ - ** Changeset versioning & automation** - Automate releases with Changeset and GitHub Actions.
3639
3740## Setup
3841
39421 . Use this template to create a new repository.
40432 . Clone the repository.
41443 . Change the package name in ` package.json ` .
42454 . Change the ` open-source-stack ` dependency in your test-apps to your name
43- 5 . Install the dependencies with ` npm install ` .
44- 6 . Change the ` repository ` , ` bugs ` , and ` homepage ` fields in ` package.json ` to your github repo.
45- 7 . Change the license if required.
46- 8 . Add the NPM_TOKEN secret to your GitHub repository.
47- 9 . Start coding!
46+ 5 . Change the ` open-source-stack ` folder name in packages to your package name
47+ 6 . Install the dependencies with ` npm install ` .
48+ 7 . Change the ` repository ` , ` bugs ` , and ` homepage ` fields in ` package.json ` to your github repo.
49+ 8 . Change the license if required.
50+ 9 . Add the NPM_TOKEN secret to your GitHub repository.
51+ 10 . Allow GitHub Actions to create and approve pull requests. (Settings -> Actions -> Workflow permissions)
52+ 11 . Start coding!
4853
4954## Scripts
5055
51- - ` npm run build ` - Build the package.
52- - ` npm run test ` - Run the tests.
53- - ` npm run lint ` - Lint the code.
54- - ` npm run dev ` - Start the package and ESM test app in watch mode for development.
55- - ` npm run dev:cjs ` - Start the package and CJS test app in watch mode for development.
56+ - ` pnpm run build ` - Build the package(s).
57+ - ` pnpm run test ` - Run the tests.
58+ - ` pnpm run check ` - Lint the code.
59+ - ` pnpm run dev ` - Start the package(s) and ESM/CJS test app in watch mode for development.
0 commit comments