Rename package scripts to colon-based conventions and update build, seed, and API client references

This commit is contained in:
Mike Cao committed 2026-09-07 17:47:36 -07:00
1 parent 6156387251
commit 9fb7bacee6
7 files changed
+52 -54

No files matched your search

+2 -2
View File
@@ -25,8 +25,8 @@ jobs:
- run: pnpm install
- run: pnpm openapi:generate
- run: pnpm openapi:check --explicit
- run: pnpm check:api-client
- run: pnpm build-packages
- run: pnpm check:api:client
- run: pnpm build:packages
- run: pnpm test
- run: pnpm test:packages
- run: pnpm build
+2 -2
View File
@@ -25,7 +25,7 @@ RUN pnpm install --frozen-lockfile
FROM node:${NODE_IMAGE_VERSION} AS builder
ARG PNPM_VERSION
WORKDIR /app
# build-openapi shells out to pnpm, so the builder stage needs it too
# build:openapi shells out to pnpm, so the builder stage needs it too
RUN npm install -g pnpm@${PNPM_VERSION}
COPY --from=deps /app/node_modules ./node_modules
COPY . .
@@ -40,7 +40,7 @@ ENV DATABASE_URL="postgresql://user:pass@localhost:5432/dummy"
ARG SKIP_BUILD_GEO
ENV SKIP_BUILD_GEO=$SKIP_BUILD_GEO
RUN npm run build-docker
RUN pnpm build:docker
# Production image, copy all the files and run next
FROM node:${NODE_IMAGE_VERSION} AS runner
+33 -35
View File
@@ -12,46 +12,44 @@
"type": "module",
"scripts": {
"dev": "dotenv next dev --turbo",
"build": "npm-run-all check-env build-db check-db build-tracker build-recorder build-geo build-openapi build-packages build-app",
"build": "npm-run-all check:env build:db check:db build:tracker build:recorder build:geo build:openapi build:packages build:app",
"start": "next start",
"build-docker": "npm-run-all build-db build-tracker build-recorder build-geo build-openapi build-packages build-app",
"start-docker": "npm-run-all check-db update-tracker start-server",
"start-env": "node scripts/start-env.js",
"start-server": "node server.js",
"build-app": "next build --turbo",
"build-icons": "svgr ./src/assets --out-dir src/components/svg --typescript",
"build-components": "node scripts/bump-components.js && tsup",
"build-tracker": "npm-run-all check-tracker build-tracker-script build-tracker-types",
"build-tracker-script": "rollup -c rollup.tracker.config.js",
"build-tracker-types": "tsc -p tsconfig.tracker.types.json && biome format --write src/tracker/index.d.ts",
"check-tracker": "tsc -p tsconfig.tracker.json --noEmit",
"build-recorder": "rollup -c rollup.recorder.config.js",
"build-prisma-client": "node scripts/build-prisma-client.js",
"build-lang": "npm-run-all download-country-names download-language-names",
"build-geo": "node scripts/build-geo.js",
"build-openapi": "npm-run-all openapi:generate generate:api-client",
"build-db": "npm-run-all build-db-client build-prisma-client",
"build-db-schema": "prisma db pull",
"build-db-client": "prisma generate",
"update-tracker": "node scripts/update-tracker.js",
"update-db": "prisma migrate deploy",
"check-db": "node scripts/check-db.js",
"check-env": "node scripts/check-env.js",
"check-missing-messages": "node scripts/check-missing-messages.js",
"copy-db-files": "node scripts/copy-db-files.js",
"download-country-names": "node scripts/download-country-names.js",
"download-language-names": "node scripts/download-language-names.js",
"change-password": "node scripts/change-password.js",
"build:docker": "npm-run-all build:db build:tracker build:recorder build:geo build:openapi build:packages build:app",
"start:docker": "npm-run-all check:db update:tracker start:server",
"start:env": "node scripts/start-env.js",
"start:server": "node server.js",
"build:app": "next build --turbo",
"build:icons": "svgr ./src/assets --out-dir src/components/svg --typescript",
"build:components": "node scripts/bump-components.js && tsup",
"build:tracker": "npm-run-all check:tracker build:tracker:script build:tracker:types",
"build:tracker:script": "rollup -c rollup.tracker.config.js",
"build:tracker:types": "tsc -p tsconfig.tracker.types.json && biome format --write src/tracker/index.d.ts",
"check:tracker": "tsc -p tsconfig.tracker.json --noEmit",
"build:recorder": "rollup -c rollup.recorder.config.js",
"build:prisma:client": "node scripts/build-prisma-client.js",
"build:languages": "npm-run-all download:countries download:languages",
"build:geo": "node scripts/build-geo.js",
"build:openapi": "npm-run-all openapi:generate generate:api:client",
"build:db": "npm-run-all generate:db:client build:prisma:client",
"db:pull": "prisma db pull",
"generate:db:client": "prisma generate",
"update:tracker": "node scripts/update-tracker.js",
"db:migrate": "prisma migrate deploy",
"check:db": "node scripts/check-db.js",
"check:env": "node scripts/check-env.js",
"check:messages": "node scripts/check-missing-messages.js",
"download:countries": "node scripts/download-country-names.js",
"download:languages": "node scripts/download-language-names.js",
"openapi:generate": "tsx scripts/generate-openapi.ts",
"openapi:contracts": "tsx scripts/generate-openapi-contracts.ts",
"openapi:check": "tsx scripts/check-openapi.ts",
"generate:api": "npm-run-all openapi:generate generate:api-client",
"generate:api-client": "tsx scripts/generate-api-client.ts",
"check:api-client": "tsx scripts/generate-api-client.ts --check",
"build-packages": "pnpm --filter \"./packages/**\" -r build",
"generate:api": "npm-run-all openapi:generate generate:api:client",
"generate:api:client": "tsx scripts/generate-api-client.ts",
"check:api:client": "tsx scripts/generate-api-client.ts --check",
"build:packages": "pnpm --filter \"./packages/**\" -r build",
"test:packages": "pnpm --filter \"./packages/**\" -r test",
"postbuild": "node scripts/postbuild.js",
"pretest": "pnpm build-db-client",
"pretest": "pnpm generate:db:client",
"test": "vitest run",
"test:watch": "vitest",
"test:e2e": "playwright test",
@@ -62,7 +60,7 @@
"test:api:up": "tsx scripts/test-api.ts --up-only",
"test:api:down": "tsx scripts/test-api.ts --down",
"test:api:coverage": "tsx scripts/test-api.ts --coverage-report",
"seed-data": "tsx scripts/seed-data.ts",
"db:seed": "tsx scripts/seed-data.ts",
"lint": "biome lint .",
"format": "biome format --write .",
"check": "biome check --write"
+1 -1
View File
@@ -76,7 +76,7 @@ From the Umami repository root:
```bash
pnpm generate:api # public/openapi.json → packages/api-client/src/generated
pnpm check:api-client # CI: fail if generated files are stale
pnpm check:api:client # CI: fail if generated files are stale
```
See [MIGRATION.md](./MIGRATION.md) if you are upgrading from the previous hand-written client.
+2 -2
View File
@@ -1,8 +1,8 @@
/**
* Generates `packages/api-client/src/generated/*` from `public/openapi.json`.
*
* pnpm generate:api-client write generated files
* pnpm generate:api-client --check fail if generated files are stale
* pnpm generate:api:client write generated files
* pnpm generate:api:client --check fail if generated files are stale
*
* The OpenAPI document is the single source of truth: operation IDs become client method names,
* parameter/body/response schemas become input/output types. Never edit generated files by hand.
+11 -11
View File
@@ -10,10 +10,10 @@
* - Demo SaaS: Average traffic (~500 sessions/day)
*
* Usage:
* npm run seed-data # Generate 30 days of data
* npm run seed-data -- --days 90 # Generate 90 days of data
* npm run seed-data -- --clear # Clear existing demo data first
* npm run seed-data -- --verbose # Show detailed progress
* pnpm db:seed # Generate 30 days of data
* pnpm db:seed --days 90 # Generate 90 days of data
* pnpm db:seed --clear # Clear existing demo data first
* pnpm db:seed --verbose # Show detailed progress
*/
import { type SeedConfig, seed } from './seed/index.js';
@@ -63,7 +63,7 @@ Umami Sample Data Generator
Generates realistic analytics data for local development and testing.
Usage:
npm run seed-data [options]
pnpm db:seed [options]
Options:
--days <number> Number of days of data to generate (default: 30)
@@ -72,10 +72,10 @@ Options:
--help, -h Show this help message
Examples:
npm run seed-data # Generate 30 days of data
npm run seed-data -- --days 90 # Generate 90 days of data
npm run seed-data -- --clear # Clear existing demo data first
npm run seed-data -- --days 7 -v # Generate 7 days with verbose output
pnpm db:seed # Generate 30 days of data
pnpm db:seed --days 90 # Generate 90 days of data
pnpm db:seed --clear # Clear existing demo data first
pnpm db:seed --days 7 -v # Generate 7 days with verbose output
Generated Sites:
- Demo Blog: Low traffic (~90 sessions/month)
@@ -91,13 +91,13 @@ function checkEnvironment(): void {
const nodeEnv = process.env.NODE_ENV;
if (nodeEnv === 'production') {
console.error('\nError: seed-data cannot run in production environment.');
console.error('\nError: db:seed cannot run in production environment.');
console.error('This script is only for local development and testing.\n');
process.exit(1);
}
if (process.env.VERCEL || process.env.NETLIFY || process.env.RAILWAY_ENVIRONMENT) {
console.error('\nError: seed-data cannot run in cloud environments.');
console.error('\nError: db:seed cannot run in cloud environments.');
console.error('This script is only for local development and testing.\n');
process.exit(1);
}
+1 -1
View File
@@ -97,4 +97,4 @@ table (`src/lib/mcp/dispatch.ts`).
## Generated API client
`pnpm generate:api` regenerates the OpenAPI document and `packages/api-client/src/generated`.
`pnpm check:api-client` fails in CI when the generated client is stale.
`pnpm check:api:client` fails in CI when the generated client is stale.