dorfteich/package.json
Claude Fable 5 d3289b2167
Some checks failed
CI / Lint, typecheck, test (pull_request) Successful in 5m33s
CI / Build container images (pull_request) Successful in 4m38s
CI / Auth e2e pack (pull_request) Successful in 9m14s
CI / Import/export fidelity gate (pull_request) Successful in 1m12s
CD / Smoke tests against Test (push) Blocked by required conditions
CD / Deploy to Test (push) Blocked by required conditions
CD / Promote to Int (push) Blocked by required conditions
CI / Auth e2e pack (push) Blocked by required conditions
CI / Build container images (push) Blocked by required conditions
CI / Lint, typecheck, test (push) Waiting to run
CI / Import/export fidelity gate (push) Blocked by required conditions
CD / Build and push images (push) Has been cancelled
#202: SBOM and license report in CI
The release run now generates CycloneDX 1.6 SBOMs with a pinned
anchore/syft container — one per released image (scanned from the
freshly built image tar, OS packages included) and one for the pnpm
workspace (from the lockfile) — plus the full pnpm licenses report, and
attaches everything as build artefacts BEFORE publishing the release,
so a red gate stops the release. Runner constraints dictated the
mechanics (documented in the workflow): the job talks to the HOST
daemon, so files travel into the syft container via docker cp and
images via docker save to a tar copied the same way (syft cannot read
a tar from stdin — verified).

scripts/check-licenses.mjs is the documented license policy: permissive
allowlist, MPL-2.0/CC-BY-4.0 with recorded reasoning, per-package
exception table (khroma: MIT text shipped, metadata missing). CI runs
the gate on every PR (pnpm licenses:check); positive and negative case
tested locally, both SBOM paths tested against real images/lockfile.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0168Ph5uBmHm8X28CSVpbpnJ
2026-07-31 04:21:58 +02:00

29 lines
811 B
JSON

{
"name": "dorfteich",
"version": "0.0.0",
"private": true,
"description": "Dorfteich — an open-source wiki system with real-time collaboration",
"license": "MIT",
"engines": {
"node": ">=22.15.1"
},
"packageManager": "pnpm@11.9.0",
"scripts": {
"lint": "eslint . && prettier --check .",
"licenses:check": "pnpm licenses list --json | node scripts/check-licenses.mjs",
"format": "prettier --write .",
"typecheck": "pnpm -r run typecheck",
"test": "pnpm -r run test",
"build": "pnpm -r run build",
"i18n:check": "node scripts/i18n-check.mjs"
},
"devDependencies": {
"@eslint/js": "^9.20.0",
"eslint": "^9.20.0",
"eslint-config-prettier": "^10.0.0",
"prettier": "^3.5.0",
"typescript": "^5.7.0",
"typescript-eslint": "^8.24.0"
}
}