bug: npm run build fails with TS5055 due to stale dist artifacts
Description
npm run build fails with numerous error TS5055: Cannot write file '...' because it would overwrite input file. errors in packages/core. This occurs when packages/core/dist/ contains stale .d.ts files from a previous build.
Root Cause
scripts/build_package.js runs tsc --build without first cleaning the output directory. When dist/ contains leftover .d.ts files, TypeScript's incremental/composite build treats them as input files (since they reside within the project tree), causing a conflict with the intended output path.
Steps to Reproduce
- Run
npm run build successfully once.
- Make changes or switch branches.
- Run
npm run build again → TS5055 errors.
Workaround
rm -rf packages/core/dist packages/core/tsconfig.tsbuildinfo
npm run build
Suggested Fix
Add a clean step to scripts/build_package.js before tsc --build:
import { rmSync } from 'node:fs';
rmSync('dist', { recursive: true, force: true });
rmSync('tsconfig.tsbuildinfo', { force: true });
Environment
- Node.js v22
- macOS (darwin)
bug:
npm run buildfails with TS5055 due to stale dist artifactsDescription
npm run buildfails with numerouserror TS5055: Cannot write file '...' because it would overwrite input file.errors inpackages/core. This occurs whenpackages/core/dist/contains stale.d.tsfiles from a previous build.Root Cause
scripts/build_package.jsrunstsc --buildwithout first cleaning the output directory. Whendist/contains leftover.d.tsfiles, TypeScript's incremental/composite build treats them as input files (since they reside within the project tree), causing a conflict with the intended output path.Steps to Reproduce
npm run buildsuccessfully once.npm run buildagain → TS5055 errors.Workaround
Suggested Fix
Add a clean step to
scripts/build_package.jsbeforetsc --build:Environment