Rename package scripts to colon-based conventions and update build, seed, and API client references
This commit is contained in:
1 parent
6156387251
commit
9fb7bacee6
7 files changed
+52
-54
No files matched your search
@@ -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
@@ -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
@@ -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"
|
||||
|
||||
@@ -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.
|
||||
@@ -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
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
Reference in new issue
Block a user