## Summary - Extend the workspace content-hash skip cache to **all** packages (not just plugins), with `--force` / `--full` flags - Default local CLI packaging to a **fast mode** (bin/extension + migrations only); full desktop/plugin/DTS staging runs on CI or `pnpm build:full` - Enable TypeScript `incremental` builds for warm recompiles - Add `maxConcurrentVerifications` (default **1**) so concurrent tasks cannot stack monorepo typecheck/build and peg CPU Warm `pnpm build` measured ~**126s → ~0.8s** when nothing changed. ## Test plan - [x] `node --test scripts/__tests__/build-workspace.test.mjs` (12 pass) - [x] `pnpm --filter @fusion/engine exec vitest run src/__tests__/verification-concurrency.test.ts` - [x] `pnpm --filter @fusion/core exec vitest run src/__tests__/settings-parity.test.ts` - [x] Local: first `pnpm build` rebuilds as needed; second warm `pnpm build` skips all packages (~0.8s) - [x] Fast CLI packaging logs skip of desktop/plugin staging without `FUSION_CLI_FULL_PACKAGE` - [ ] CI: `pnpm build` still full-packages under `CI=true` (plugin staging / release surfaces) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added a Scheduling setting to limit concurrent verification tasks from 1–8, with a default of 1. * Verification tasks now support cancellation while waiting or running. * Added options for forced and full workspace builds. * **Performance** * Local builds can skip unchanged packages and use incremental compilation for faster rebuilds. * Local CLI packaging is faster by default, while full packaging remains available when needed. * **Documentation** * Updated the settings reference with the new verification concurrency option. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
28 lines
954 B
JSON
28 lines
954 B
JSON
{
|
|
"compilerOptions": {
|
|
"target": "ES2022",
|
|
"module": "NodeNext",
|
|
"moduleResolution": "NodeNext",
|
|
// DOM is required because @fusion/core exports its types as raw src/*.ts
|
|
// (exports."." -> ./src/index.ts), so this project recompiles core's source
|
|
// here. Core relies on the DOM lib (default lib via tsconfig.base) for the
|
|
// global fetch `Response` type (.ok/.status/.json); without DOM those
|
|
// members resolve inconsistently across platforms (Windows CI build failed).
|
|
"lib": ["ES2022", "DOM"],
|
|
"types": ["node"],
|
|
"outDir": "dist",
|
|
"rootDir": "src",
|
|
"declaration": true,
|
|
"declarationMap": true,
|
|
"sourceMap": true,
|
|
"incremental": true,
|
|
"tsBuildInfoFile": "./dist/.tsbuildinfo",
|
|
"skipLibCheck": true,
|
|
"strict": true,
|
|
"esModuleInterop": true,
|
|
"allowSyntheticDefaultImports": true
|
|
},
|
|
"include": ["src/**/*"],
|
|
"exclude": ["src/**/*.test.ts", "**/__tests__/**"]
|
|
}
|