Build System
Workspace scripts, tsup dual CJS + ESM outputs, and publishing.
#Workspace scripts
bash
pnpm install # install all workspace dependencies
pnpm dev # watch mode — rebuilds all packages on change
pnpm build # production build for all packages
pnpm build:core # build @void-snippets/core only
pnpm build:client # build @void-snippets/client only
pnpm build:react # build @void-snippets/react only
pnpm build:angular # build @void-snippets/angular only
pnpm build:nestjs # build @void-snippets/nestjs only#Build output
Every package except nestjs uses tsup to produce dual CJS + ESM outputs with bundled type declarations:
packages/core/dist/
index.js — CommonJS
index.mjs — ES module
index.d.ts — TypeScript declarations@void-snippets/nestjs is the one exception — it ships plain CommonJS compiled with tsc, not tsup/esbuild. NestJS's dependency injection relies on emitDecoratorMetadata, a TypeScript feature esbuild-based bundlers don't emit, so a bundled build would silently break DI at runtime.
#Publishing a package
bash
# Bump the version (patch / minor / major)
pnpm --filter @void-snippets/react exec npm version minor
# Publish to npm
pnpm --filter @void-snippets/react publish --access public --no-git-checks
# Publish all packages at once
pnpm publish:allAlways run
pnpm buildbefore publishing. Thedist/directory is what gets shipped to npm.