Deployments - Prod / Stage / Storybook
Frontend monorepo with focus on best practices and painless developer experience:
Easily set up a local development environment
npm i
npm run build
npm run dev
- Start all apps 🚀Visit one of the monorepo apps localhost:3100
strict-type-checked
and
stylistic-type-checked
configurations enabled.npm run commit
and get instant feedback on your commit message formatting and be prompted for required fields by CommitizenBellow commands will be executed on monorepo level - on all apps and packages where npm script exists.
Command | Description |
---|---|
prepare | Setup git hooks with Husky (executes on npm install) |
build | Build all apps and packages (output build , dist ) |
dev | Start all apps |
lint | Lint all apps and packages |
lint-staged-husky | Run prettier and lint on staged files |
tsc | Run TypeScript compiler |
test | Run tests on all apps and packages |
storybook | Start storybooks on all apps and packages |
storybook-build | Build all storybooks (output build-storybook ) |
format-lint | Lint formatting with Prettier |
format-fix | Fix formatting with Prettier |
clean | Remove installed, generated and cached folders |
remove-turbo-cache | Removes Turborepo local cache |
update-dependencies | Update dependencies to their latest versions |
Convention over configuration should be followed as much as possible as described in TypeScript Style Guide.
TLDR:
Monorepo features and conventions:
apps
and packages
.packages
are always prefixed with "config-" and imported into other workspaces directly from source without building (never transpiled).packages
beside configurations are always being built/transpiled to dist/
folder.main
branch deploys to stage
environment, creating new GitHub release deploys to production
.