-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
34 lines (34 loc) · 3.24 KB
/
Copy pathpackage.json
File metadata and controls
34 lines (34 loc) · 3.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{
"name": "jevcore-workspace",
"version": "0.4.1",
"private": true,
"packageManager": "pnpm@11.21.0",
"description": "TypeSafe Jev for DeepSeek Harness: a framework-agnostic decision core and the DSH plugin built on it.",
"license": "Apache-2.0",
"type": "module",
"engines": {
"node": ">=20"
},
"scripts": {
"build": "pnpm -r run build",
"typecheck": "pnpm -r run typecheck",
"test": "pnpm -r run test",
"legal": "node scripts/sync-legal-files.mjs --check",
"check:docs": "node scripts/sync-package-docs.mjs --check",
"check:mojibake": "node scripts/check-mojibake.mjs",
"check:readmes": "node scripts/check-readme-sync.mjs",
"check:workflows": "node scripts/check-workflow-shell.mjs",
"//check": "Build runs BEFORE typecheck on purpose. Each adapter resolves the core through the `jevcore` workspace link, and the core's `types` entry is `lib/index.d.ts` — which does not exist until it is built. Typechecking first works on any machine that already has a `lib/` and fails on a clean checkout, which is exactly how CI caught it.",
"//check:workflows": "Runs before build, beside the other gates that read committed text rather than build output. It exists because the trap it catches fired twice in this repository: bash performs command substitution on backticks inside a `run:` block before the program in that block sees the text, so a backtick written in a JavaScript comment inside `node -e \"...\"` is executed as a shell command. The first occurrence was diagnosed and documented in a NOTE; the second was added by the change that wrote this gate.",
"//check:docs": "Runs BEFORE build, and reads no build output: it compares docs/ with the copies in packages/*/docs, both of which are committed. The placement is about repairs, which is what separates it from check:mojibake below. That gate's drift half has to run after the build because only a build clears a stale artifact, so running it earlier printed the same advisories on every un-rebuilt tree. Nothing in this chain clears a stale copy — `build` compiles TypeScript and never reads `docs/`, so a copy that is behind stays behind until someone runs the sync. Failing before a build that cannot help is therefore the cheap order, and it sits beside `legal` because it is the same kind of gate: a generated directory that `files[]` ships, asserted by its own `--check` mode and repaired by running its script.",
"//check:mojibake": "Runs AFTER build, not before. Before it, every un-rebuilt edit made the chain print the same stale-artifact advisories; noise on the normal path is how a real finding gets skimmed past, and nothing ships on that path anyway — release.yml runs this whole chain, build included, before it publishes. After it, the corruption half scans the artifact the build just produced, and the drift half stays quiet unless a rebuild could not have fixed what it found.",
"check": "pnpm run legal && pnpm run check:docs && pnpm run check:readmes && pnpm run check:workflows && pnpm run build && pnpm run check:mojibake && pnpm run typecheck && pnpm run test",
"prepublishOnly": "pnpm run check",
"clean": "pnpm -r run clean"
},
"devDependencies": {
"@types/node": "^22.10.0",
"typescript": "^5.7.0",
"vitest": "^3.0.0"
}
}