Apply Phase D playbook from docker-build-optimization-roadmap.md: - scripts/docker-prep.sh: synced from canonical template (learning_ai_common_plat@a418a23e). Adds --dry-run, --check, --strip-overrides, idempotency guard, trap-based auto-restore, portable sed, .gitkeep preservation. - scripts/_docker-prep-inject.js: helper for pnpm.overrides injection - scripts/_docker-prep-strip.js: helper for --strip-overrides mode - scripts/docker-doctor.sh: thin wrapper to canonical linter - Makefile: make doctor target (gitea-doctor + docker-doctor) Per-repo Dockerfile/compose fixes flagged by docker-doctor are tracked in the roadmap and will land in follow-up commits. Refs: docker-build-optimization-roadmap.md §Phase D
10 lines
473 B
JavaScript
10 lines
473 B
JavaScript
// Helper for docker-prep.sh — inject pnpm.overrides for @bytelyst/* tarballs.
|
|
// Reads: PKG_FILE_ARG (path), OVERRIDES_ARG (JSON object string)
|
|
// Writes: $PKG_FILE_ARG in place
|
|
const fs = require('fs');
|
|
const f = process.env.PKG_FILE_ARG;
|
|
const p = JSON.parse(fs.readFileSync(f, 'utf8'));
|
|
p.pnpm = p.pnpm || {};
|
|
p.pnpm.overrides = Object.assign({}, p.pnpm.overrides || {}, JSON.parse(process.env.OVERRIDES_ARG));
|
|
fs.writeFileSync(f, JSON.stringify(p, null, 2) + '\n');
|