The purpose of this monorepo is to host various npm packages ↗ to facilitate code sharing and at high standards. At it's core it uses pnpm workspaces
to manage the monorepo
-
Create
package.json
file:// package.json { // Package info "name": "eather-mono", "description": "...", "author": "...", "license": "MIT", // Common scripts "scripts": { "install:clean": "rm -rf \"**/node_modules\" && pnpm -r clean", "install:fresh": "pnpm install:clean && pnpm i", "install:nuke": "rm -rf pnpm-lock.yaml && pnpm install:fresh" }, // Only allow pnpm as package manager "engines": { "node": ">=14.16.0", "pnpm": ">=7.10.0", "npm": "please-use-pnpm", "yarn": "please-use-pnpm" }, "packageManager": "[email protected]" }
-
Add npm configuration file:
# .npmrc engine-strict = true auto-install-peers = true
-
Add pnpm workspace file:
# pnpm-workspace.yaml packages: - 'packages/*'