Files
Imhotep/package.json
John Dvorak 8f823d959b feat: CI verification pipeline and structural conformance gates
- Add scripts/check-structural.js: counts production as any, empty catch,
  and ?? 0 patterns; fails CI if counts exceed committed baseline
- Add scripts/.structural-baseline.json: committed baseline (101 as any,
  17 empty catch, 62 ?? 0); use --fix-baseline to ratchet down
- Add scripts/ci-verify.sh: ordered pipeline (build → typecheck → lint →
  structural → unit tests → E2E) with pass/fail summary
- Add npm scripts: test:structural, test:structural:fix, ci:verify
- Add cache-staleness conformance test: verifies WORLD_CACHE_SCHEMA_VERSION
  is prefixed to all cache keys for auto-invalidation on schema changes
- Cache test suite grows from 141 → 142 passes
2026-05-22 16:33:34 -07:00

34 lines
1.8 KiB
JSON

{
"name": "imhotep-monorepo",
"version": "1.1.0",
"private": true,
"type": "module",
"workspaces": [
"packages/*"
],
"scripts": {
"build": "npm run build --workspace=imhotep-geometry && npm run build --workspace=imhotep-core && npm run build --workspace=imhotep-cdp && npm run build --workspace=imhotep-dsl && npm run build --workspace=imhotep-extractor && npm run build --workspace=imhotep-reporter && npm run build --workspace=imhotep-solver && npm run build --workspace=imhotep-state && npm run build --workspace=imhotep-topology && npm run build --workspace=imhotep-playwright && npm run build --workspace=imhotep-fixtures && npm run build --workspace=imhotep-bench && npm run build --workspace=imhotep-cli && npm run build --workspace=imhotep",
"typecheck": "for pkg in packages/*/; do npx tsc -p ${pkg}tsconfig.json --noEmit || exit 1; done",
"test": "npm run test --workspaces",
"test:integration": "npm run test:integration -w imhotep-playwright",
"test:e2e": "npm run test:e2e -w imhotep-fixtures",
"test:external-smoke": "node scripts/external-smoke.mjs",
"test:structural": "node scripts/check-structural.js",
"test:structural:fix": "node scripts/check-structural.js --fix-baseline",
"ci:verify": "bash scripts/ci-verify.sh",
"lint": "eslint packages/*/src/**/*.ts",
"clean": "rm -rf packages/*/dist packages/*/*.tsbuildinfo dist && find packages -path '*/src/*.js' -delete && find packages -path '*/src/*.d.ts' -delete && find packages -path '*/src/*.map' -delete"
},
"devDependencies": {
"@stryker-mutator/api": "^9.6.1",
"@stryker-mutator/core": "^9.6.1",
"@types/node": "^20.19.39",
"@typescript-eslint/eslint-plugin": "^7.0.0",
"@typescript-eslint/parser": "^7.0.0",
"eslint": "^8.57.0",
"fast-check": "^4.7.0",
"playwright": "^1.59.1",
"typescript": "^5.9.3"
}
}