diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3a06063e3..400142ffe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,8 +41,6 @@ jobs: fetch-depth: 0 - uses: ./.github/actions/setup-workbench - run: bun run typecheck - env: - WORKBENCH_CHECK_SINCE: ${{ github.event.pull_request.base.sha }} build-test: runs-on: ubuntu-latest @@ -53,8 +51,6 @@ jobs: - uses: ./.github/actions/setup-workbench - run: bun run build - run: bun run test - env: - WORKBENCH_CHECK_SINCE: ${{ github.event.pull_request.base.sha }} structural: runs-on: ubuntu-latest diff --git a/VENDORED.md b/VENDORED.md index 262cc7782..f0b01ddf3 100644 --- a/VENDORED.md +++ b/VENDORED.md @@ -60,7 +60,17 @@ exports map is repointed from the upstream `intx-src` resolve condition to direct TypeScript source resolution (`types`/`default` → `./src/...`), with `dist/` references and the `customConditions` entry in the shared tsconfig removed — workbench forbids custom resolve conditions — and each tsconfig -carries `types: ["bun"]`. `vendor/intx/hub-api` (CL-6345) accepts +carries `types: ["bun"]`. `vendor/intx/*` (CL-7226) additionally gained the +workspace-wide TypeScript project-references cutover: a `tsconfig.src.json` +with `composite: true` and `references` generated from real workspace +`dependencies`, while `tsconfig.json` stays the combined, conventionally +named project (extends `tsconfig.src.json`, adds `test`) so tools that +discover a project by looking for a file literally named `tsconfig.json` +— ESLint's `projectService`, an editor, a bare `tsc` invocation — still +find one without being told the composite project exists at all. The same +shape every other package in the workspace got in the same change, so a +vendored package's build participates in `tsc --build` like any other. +`vendor/intx/hub-api` (CL-6345) accepts `principalId: null` on `resolveApproval` for a decision a standing-grant allowance already authorized, skipping the per-principal resolve gate the HTTP routes still enforce. `vendor/intx/hub-api` (CL-workflow-deploy-bearer) adds diff --git a/apps/hub/tsconfig.json b/apps/hub/tsconfig.json index 43a971efb..cd2c17eb4 100644 --- a/apps/hub/tsconfig.json +++ b/apps/hub/tsconfig.json @@ -1,8 +1,9 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { "types": ["bun"], - "customConditions": ["bun"] - }, - "include": ["src", "test"] + "customConditions": ["bun"], + "noEmit": true + } } diff --git a/apps/sidecar/tsconfig.json b/apps/sidecar/tsconfig.json index e956ddd88..b460a77fe 100644 --- a/apps/sidecar/tsconfig.json +++ b/apps/sidecar/tsconfig.json @@ -1,7 +1,61 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../packages/agent-lifecycle/tsconfig.src.json" + }, + { + "path": "../../packages/credential-providers/tsconfig.src.json" + }, + { + "path": "../../packages/error-sink/tsconfig.src.json" + }, + { + "path": "../../packages/ollama-adapter/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/harness/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/hub-agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/hub-sessions/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/inference/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/mail-memory/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/mime/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow-deploy/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow-host/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] } diff --git a/apps/sidecar/tsconfig.src.json b/apps/sidecar/tsconfig.src.json new file mode 100644 index 000000000..e1cd31771 --- /dev/null +++ b/apps/sidecar/tsconfig.src.json @@ -0,0 +1,59 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../packages/agent-lifecycle/tsconfig.src.json" + }, + { + "path": "../../packages/credential-providers/tsconfig.src.json" + }, + { + "path": "../../packages/error-sink/tsconfig.src.json" + }, + { + "path": "../../packages/ollama-adapter/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/harness/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/hub-agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/hub-sessions/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/inference/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/mail-memory/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/mime/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow-deploy/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow-host/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] +} diff --git a/apps/web/tsconfig.json b/apps/web/tsconfig.json index b35862f25..8ed799e4f 100644 --- a/apps/web/tsconfig.json +++ b/apps/web/tsconfig.json @@ -1,9 +1,10 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "vite.config.ts", "test"], "compilerOptions": { "jsx": "react-jsx", "lib": ["ESNext", "DOM", "DOM.Iterable"], - "types": ["bun"] - }, - "include": ["src", "test", "vite.config.ts"] + "types": ["bun"], + "noEmit": true + } } diff --git a/package.json b/package.json index 64191e09d..13e42f442 100644 --- a/package.json +++ b/package.json @@ -13,8 +13,8 @@ "scripts": { "check": "bun run typecheck && bun run lint && bun run test && bun run check:structural", "check:all": "bun run check && bun run check:packages", - "typecheck": "bun run scripts/run-all.ts typecheck && bunx tsc -p tsconfig.json --noEmit && bunx tsc -p test/isolation/tsconfig.json --noEmit", - "lint": "prettier --check --cache . && eslint --cache .", + "typecheck": "bun run scripts/typecheck.ts", + "lint": "bunx tsc --build tsconfig.build.json && prettier --check --cache . && NODE_OPTIONS=--max-old-space-size=6144 eslint --cache .", "format": "prettier --write .", "hooks:install": "bun run scripts/hooks-install.ts", "prepare": "bun run hooks:install", @@ -26,7 +26,7 @@ "setup:memory": "bun run scripts/setup-memory.ts", "seed": "bun packages/cli/src/index.ts seed", "reset": "bun packages/cli/src/index.ts reset", - "check:structural": "bun test scripts/checks/test && bun run check:deletion && bun run check:killdates && bun run check:licenses && bun run check:no-product-tenancy && bun run check:browser-safe-subpaths && bun run check:web-utilities && bun run check:tailwind-source && bun run check:ui-vocabulary && bun run check:react-ui-drift && bun run check:react-ui-pin && bun run check:tool-package-pins && bun run check:tool-package-freshness && bun run check:report-error", + "check:structural": "bun test scripts/checks/test && bun run check:deletion && bun run check:killdates && bun run check:licenses && bun run check:no-product-tenancy && bun run check:browser-safe-subpaths && bun run check:web-utilities && bun run check:tailwind-source && bun run check:ui-vocabulary && bun run check:react-ui-drift && bun run check:react-ui-pin && bun run check:tool-package-pins && bun run check:tool-package-freshness && bun run check:report-error && bun run check:tsconfig-references", "check:deletion": "bun run scripts/checks/deletion.ts", "check:report-error": "bun run scripts/checks/report-error.ts", "check:killdates": "bun run scripts/checks/killdates.ts", @@ -41,6 +41,7 @@ "check:react-ui-pin": "bun run scripts/checks/react-ui-pin.ts", "check:tool-package-pins": "bun run scripts/checks/tool-package-pins.ts", "check:tool-package-freshness": "bun run scripts/checks/tool-package-freshness.ts", + "check:tsconfig-references": "bun run scripts/generate-tsconfig-references.ts --check", "build:sidecar-image": "docker build -f apps/sidecar/Dockerfile -t corbits-sidecar:dev .", "eval": "bun run scripts/evals-run.ts" }, diff --git a/packages/access-policy/tsconfig.json b/packages/access-policy/tsconfig.json index e956ddd88..d7611c122 100644 --- a/packages/access-policy/tsconfig.json +++ b/packages/access-policy/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { - "types": ["bun"] - }, - "include": ["src", "test"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/agent-directory-tools/tsconfig.json b/packages/agent-directory-tools/tsconfig.json index 12ec9a862..50b7d0045 100644 --- a/packages/agent-directory-tools/tsconfig.json +++ b/packages/agent-directory-tools/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/agent-directory-tools/tsconfig.src.json b/packages/agent-directory-tools/tsconfig.src.json new file mode 100644 index 000000000..3959f6247 --- /dev/null +++ b/packages/agent-directory-tools/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/agent-directory/tsconfig.json b/packages/agent-directory/tsconfig.json index e956ddd88..d7611c122 100644 --- a/packages/agent-directory/tsconfig.json +++ b/packages/agent-directory/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { - "types": ["bun"] - }, - "include": ["src", "test"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/agent-events/tsconfig.json b/packages/agent-events/tsconfig.json index 12ec9a862..b7e78fb58 100644 --- a/packages/agent-events/tsconfig.json +++ b/packages/agent-events/tsconfig.json @@ -1,7 +1,14 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [] } diff --git a/packages/agent-events/tsconfig.src.json b/packages/agent-events/tsconfig.src.json new file mode 100644 index 000000000..fc8724305 --- /dev/null +++ b/packages/agent-events/tsconfig.src.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + } +} diff --git a/packages/agent-lifecycle/tsconfig.json b/packages/agent-lifecycle/tsconfig.json index e956ddd88..504803dd4 100644 --- a/packages/agent-lifecycle/tsconfig.json +++ b/packages/agent-lifecycle/tsconfig.json @@ -1,7 +1,14 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [] } diff --git a/packages/agent-lifecycle/tsconfig.src.json b/packages/agent-lifecycle/tsconfig.src.json new file mode 100644 index 000000000..fc8724305 --- /dev/null +++ b/packages/agent-lifecycle/tsconfig.src.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + } +} diff --git a/packages/agent-runtime/tsconfig.json b/packages/agent-runtime/tsconfig.json index e956ddd88..f7199d250 100644 --- a/packages/agent-runtime/tsconfig.json +++ b/packages/agent-runtime/tsconfig.json @@ -1,7 +1,31 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow-deploy/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + }, + { + "path": "../workflow-source/tsconfig.src.json" + } + ] } diff --git a/packages/agent-runtime/tsconfig.src.json b/packages/agent-runtime/tsconfig.src.json new file mode 100644 index 000000000..857695332 --- /dev/null +++ b/packages/agent-runtime/tsconfig.src.json @@ -0,0 +1,29 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow-deploy/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + }, + { + "path": "../workflow-source/tsconfig.src.json" + } + ] +} diff --git a/packages/agent-workflow-authoring/tsconfig.json b/packages/agent-workflow-authoring/tsconfig.json index 12ec9a862..8e1b336e9 100644 --- a/packages/agent-workflow-authoring/tsconfig.json +++ b/packages/agent-workflow-authoring/tsconfig.json @@ -1,7 +1,25 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/db/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/hub-sessions/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/agent-workflow-authoring/tsconfig.src.json b/packages/agent-workflow-authoring/tsconfig.src.json new file mode 100644 index 000000000..3c897c63c --- /dev/null +++ b/packages/agent-workflow-authoring/tsconfig.src.json @@ -0,0 +1,23 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/db/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/hub-sessions/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/api-query/tsconfig.json b/packages/api-query/tsconfig.json index c1cb0eb9a..fcb605a00 100644 --- a/packages/api-query/tsconfig.json +++ b/packages/api-query/tsconfig.json @@ -1,9 +1,19 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "jsx": "react-jsx", - "lib": ["ESNext", "DOM", "DOM.Iterable"], - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../icons/tsconfig.src.json" + } + ] } diff --git a/packages/api-query/tsconfig.src.json b/packages/api-query/tsconfig.src.json new file mode 100644 index 000000000..b05bbaaeb --- /dev/null +++ b/packages/api-query/tsconfig.src.json @@ -0,0 +1,19 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "jsx": "react-jsx", + "lib": ["ESNext", "DOM", "DOM.Iterable"], + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../icons/tsconfig.src.json" + } + ] +} diff --git a/packages/approvals/tsconfig.json b/packages/approvals/tsconfig.json index e956ddd88..dc53b9885 100644 --- a/packages/approvals/tsconfig.json +++ b/packages/approvals/tsconfig.json @@ -1,7 +1,25 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/db/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/hub-api/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/approvals/tsconfig.src.json b/packages/approvals/tsconfig.src.json new file mode 100644 index 000000000..641d83570 --- /dev/null +++ b/packages/approvals/tsconfig.src.json @@ -0,0 +1,23 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/db/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/hub-api/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/artifact-ui/tsconfig.json b/packages/artifact-ui/tsconfig.json index 461e72c55..53bac5fa9 100644 --- a/packages/artifact-ui/tsconfig.json +++ b/packages/artifact-ui/tsconfig.json @@ -1,9 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "jsx": "react-jsx", - "lib": ["ESNext", "DOM", "DOM.Iterable"], - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../icons/tsconfig.src.json" + }, + { + "path": "../url-path/tsconfig.src.json" + } + ] } diff --git a/packages/artifact-ui/tsconfig.src.json b/packages/artifact-ui/tsconfig.src.json new file mode 100644 index 000000000..8a262d266 --- /dev/null +++ b/packages/artifact-ui/tsconfig.src.json @@ -0,0 +1,22 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "jsx": "react-jsx", + "lib": ["ESNext", "DOM", "DOM.Iterable"], + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../icons/tsconfig.src.json" + }, + { + "path": "../url-path/tsconfig.src.json" + } + ] +} diff --git a/packages/artifacts-hub/tsconfig.json b/packages/artifacts-hub/tsconfig.json index 43a971efb..cd2c17eb4 100644 --- a/packages/artifacts-hub/tsconfig.json +++ b/packages/artifacts-hub/tsconfig.json @@ -1,8 +1,9 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { "types": ["bun"], - "customConditions": ["bun"] - }, - "include": ["src", "test"] + "customConditions": ["bun"], + "noEmit": true + } } diff --git a/packages/bench-ui/tsconfig.json b/packages/bench-ui/tsconfig.json index 461e72c55..7c78bff4b 100644 --- a/packages/bench-ui/tsconfig.json +++ b/packages/bench-ui/tsconfig.json @@ -1,9 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "jsx": "react-jsx", - "lib": ["ESNext", "DOM", "DOM.Iterable"], - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../api-query/tsconfig.src.json" + } + ] } diff --git a/packages/bench-ui/tsconfig.src.json b/packages/bench-ui/tsconfig.src.json new file mode 100644 index 000000000..850e89f66 --- /dev/null +++ b/packages/bench-ui/tsconfig.src.json @@ -0,0 +1,22 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "jsx": "react-jsx", + "lib": ["ESNext", "DOM", "DOM.Iterable"], + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../api-query/tsconfig.src.json" + } + ] +} diff --git a/packages/bench/tsconfig.json b/packages/bench/tsconfig.json index e956ddd88..363a89fac 100644 --- a/packages/bench/tsconfig.json +++ b/packages/bench/tsconfig.json @@ -1,7 +1,25 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/hub-api/tsconfig.src.json" + }, + { + "path": "../api-query/tsconfig.src.json" + }, + { + "path": "../migration-runner/tsconfig.src.json" + } + ] } diff --git a/packages/bench/tsconfig.src.json b/packages/bench/tsconfig.src.json new file mode 100644 index 000000000..4cc48381c --- /dev/null +++ b/packages/bench/tsconfig.src.json @@ -0,0 +1,23 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/hub-api/tsconfig.src.json" + }, + { + "path": "../api-query/tsconfig.src.json" + }, + { + "path": "../migration-runner/tsconfig.src.json" + } + ] +} diff --git a/packages/capability-tools/tsconfig.json b/packages/capability-tools/tsconfig.json index 12ec9a862..50b7d0045 100644 --- a/packages/capability-tools/tsconfig.json +++ b/packages/capability-tools/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/capability-tools/tsconfig.src.json b/packages/capability-tools/tsconfig.src.json new file mode 100644 index 000000000..3959f6247 --- /dev/null +++ b/packages/capability-tools/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/catalog-tools/tsconfig.json b/packages/catalog-tools/tsconfig.json index e956ddd88..50b7d0045 100644 --- a/packages/catalog-tools/tsconfig.json +++ b/packages/catalog-tools/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/catalog-tools/tsconfig.src.json b/packages/catalog-tools/tsconfig.src.json new file mode 100644 index 000000000..3959f6247 --- /dev/null +++ b/packages/catalog-tools/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/chat-ui/tsconfig.json b/packages/chat-ui/tsconfig.json index 461e72c55..68035e9a3 100644 --- a/packages/chat-ui/tsconfig.json +++ b/packages/chat-ui/tsconfig.json @@ -1,9 +1,10 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { "jsx": "react-jsx", "lib": ["ESNext", "DOM", "DOM.Iterable"], - "types": ["bun"] - }, - "include": ["src", "test"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/chat/tsconfig.json b/packages/chat/tsconfig.json index e956ddd88..d7611c122 100644 --- a/packages/chat/tsconfig.json +++ b/packages/chat/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { - "types": ["bun"] - }, - "include": ["src", "test"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/cli/tsconfig.json b/packages/cli/tsconfig.json index e956ddd88..d7611c122 100644 --- a/packages/cli/tsconfig.json +++ b/packages/cli/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { - "types": ["bun"] - }, - "include": ["src", "test"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/client-log/tsconfig.json b/packages/client-log/tsconfig.json index ec4c00972..b7e78fb58 100644 --- a/packages/client-log/tsconfig.json +++ b/packages/client-log/tsconfig.json @@ -1,8 +1,14 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "lib": ["ESNext", "DOM", "DOM.Iterable"], - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src"], + "exclude": [] } diff --git a/packages/client-log/tsconfig.src.json b/packages/client-log/tsconfig.src.json new file mode 100644 index 000000000..50abef4ff --- /dev/null +++ b/packages/client-log/tsconfig.src.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "lib": ["ESNext", "DOM", "DOM.Iterable"], + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + } +} diff --git a/packages/code-review/tsconfig.json b/packages/code-review/tsconfig.json index 12ec9a862..52d88197d 100644 --- a/packages/code-review/tsconfig.json +++ b/packages/code-review/tsconfig.json @@ -1,7 +1,19 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../github-tools/tsconfig.src.json" + } + ] } diff --git a/packages/code-review/tsconfig.src.json b/packages/code-review/tsconfig.src.json new file mode 100644 index 000000000..9f53d58be --- /dev/null +++ b/packages/code-review/tsconfig.src.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../github-tools/tsconfig.src.json" + } + ] +} diff --git a/packages/collections/tsconfig.json b/packages/collections/tsconfig.json index 1c1c6b2a2..b7e78fb58 100644 --- a/packages/collections/tsconfig.json +++ b/packages/collections/tsconfig.json @@ -1,8 +1,14 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "lib": ["ESNext"], - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [] } diff --git a/packages/collections/tsconfig.src.json b/packages/collections/tsconfig.src.json new file mode 100644 index 000000000..2e5c99c49 --- /dev/null +++ b/packages/collections/tsconfig.src.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "lib": ["ESNext"], + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + } +} diff --git a/packages/command-palette/tsconfig.json b/packages/command-palette/tsconfig.json index 461e72c55..3124e6b12 100644 --- a/packages/command-palette/tsconfig.json +++ b/packages/command-palette/tsconfig.json @@ -1,9 +1,19 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "jsx": "react-jsx", - "lib": ["ESNext", "DOM", "DOM.Iterable"], - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../slug/tsconfig.src.json" + } + ] } diff --git a/packages/command-palette/tsconfig.src.json b/packages/command-palette/tsconfig.src.json new file mode 100644 index 000000000..4cbde5b3d --- /dev/null +++ b/packages/command-palette/tsconfig.src.json @@ -0,0 +1,19 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "jsx": "react-jsx", + "lib": ["ESNext", "DOM", "DOM.Iterable"], + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../slug/tsconfig.src.json" + } + ] +} diff --git a/packages/commands/tsconfig.json b/packages/commands/tsconfig.json index e956ddd88..d8e8d65b3 100644 --- a/packages/commands/tsconfig.json +++ b/packages/commands/tsconfig.json @@ -1,7 +1,19 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/hub-api/tsconfig.src.json" + } + ] } diff --git a/packages/commands/tsconfig.src.json b/packages/commands/tsconfig.src.json new file mode 100644 index 000000000..8b907e524 --- /dev/null +++ b/packages/commands/tsconfig.src.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/hub-api/tsconfig.src.json" + } + ] +} diff --git a/packages/connections-tools/tsconfig.json b/packages/connections-tools/tsconfig.json index 12ec9a862..d7611c122 100644 --- a/packages/connections-tools/tsconfig.json +++ b/packages/connections-tools/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { - "types": ["bun"] - }, - "include": ["src"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/connections/tsconfig.json b/packages/connections/tsconfig.json index e956ddd88..d7611c122 100644 --- a/packages/connections/tsconfig.json +++ b/packages/connections/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { - "types": ["bun"] - }, - "include": ["src", "test"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/context-menu/tsconfig.json b/packages/context-menu/tsconfig.json index 461e72c55..504803dd4 100644 --- a/packages/context-menu/tsconfig.json +++ b/packages/context-menu/tsconfig.json @@ -1,9 +1,14 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "jsx": "react-jsx", - "lib": ["ESNext", "DOM", "DOM.Iterable"], - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [] } diff --git a/packages/context-menu/tsconfig.src.json b/packages/context-menu/tsconfig.src.json new file mode 100644 index 000000000..c01ffd21b --- /dev/null +++ b/packages/context-menu/tsconfig.src.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "jsx": "react-jsx", + "lib": ["ESNext", "DOM", "DOM.Iterable"], + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + } +} diff --git a/packages/credential-providers/tsconfig.json b/packages/credential-providers/tsconfig.json index 12ec9a862..01acb85b0 100644 --- a/packages/credential-providers/tsconfig.json +++ b/packages/credential-providers/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/harness/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/credential-providers/tsconfig.src.json b/packages/credential-providers/tsconfig.src.json new file mode 100644 index 000000000..1a4c19e48 --- /dev/null +++ b/packages/credential-providers/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/harness/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/docker-provisioner/tsconfig.json b/packages/docker-provisioner/tsconfig.json index 12ec9a862..3bb108e57 100644 --- a/packages/docker-provisioner/tsconfig.json +++ b/packages/docker-provisioner/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/hub-sessions/tsconfig.src.json" + }, + { + "path": "../sandbox-sidecar/tsconfig.src.json" + } + ] } diff --git a/packages/docker-provisioner/tsconfig.src.json b/packages/docker-provisioner/tsconfig.src.json new file mode 100644 index 000000000..a3da5fae2 --- /dev/null +++ b/packages/docker-provisioner/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/hub-sessions/tsconfig.src.json" + }, + { + "path": "../sandbox-sidecar/tsconfig.src.json" + } + ] +} diff --git a/packages/e2b-sandbox-sidecar/tsconfig.json b/packages/e2b-sandbox-sidecar/tsconfig.json index be1ab22aa..69cf1c9b5 100644 --- a/packages/e2b-sandbox-sidecar/tsconfig.json +++ b/packages/e2b-sandbox-sidecar/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "template"] + "include": ["src", "template"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/hub-sessions/tsconfig.src.json" + }, + { + "path": "../sandbox-sidecar/tsconfig.src.json" + } + ] } diff --git a/packages/e2b-sandbox-sidecar/tsconfig.src.json b/packages/e2b-sandbox-sidecar/tsconfig.src.json new file mode 100644 index 000000000..b90e1d8cc --- /dev/null +++ b/packages/e2b-sandbox-sidecar/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "template", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/hub-sessions/tsconfig.src.json" + }, + { + "path": "../sandbox-sidecar/tsconfig.src.json" + } + ] +} diff --git a/packages/echo/tsconfig.json b/packages/echo/tsconfig.json index e956ddd88..d8e8d65b3 100644 --- a/packages/echo/tsconfig.json +++ b/packages/echo/tsconfig.json @@ -1,7 +1,19 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/hub-api/tsconfig.src.json" + } + ] } diff --git a/packages/echo/tsconfig.src.json b/packages/echo/tsconfig.src.json new file mode 100644 index 000000000..8b907e524 --- /dev/null +++ b/packages/echo/tsconfig.src.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/hub-api/tsconfig.src.json" + } + ] +} diff --git a/packages/error-sink/tsconfig.json b/packages/error-sink/tsconfig.json index 11a9be8be..b7e78fb58 100644 --- a/packages/error-sink/tsconfig.json +++ b/packages/error-sink/tsconfig.json @@ -1,8 +1,14 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "lib": ["ESNext", "DOM", "DOM.Iterable"], - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [] } diff --git a/packages/error-sink/tsconfig.src.json b/packages/error-sink/tsconfig.src.json new file mode 100644 index 000000000..50abef4ff --- /dev/null +++ b/packages/error-sink/tsconfig.src.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "lib": ["ESNext", "DOM", "DOM.Iterable"], + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + } +} diff --git a/packages/evals/tsconfig.json b/packages/evals/tsconfig.json index 12ec9a862..d7611c122 100644 --- a/packages/evals/tsconfig.json +++ b/packages/evals/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { - "types": ["bun"] - }, - "include": ["src"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/folded-run-one-shot/tsconfig.json b/packages/folded-run-one-shot/tsconfig.json index 12ec9a862..d7611c122 100644 --- a/packages/folded-run-one-shot/tsconfig.json +++ b/packages/folded-run-one-shot/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { - "types": ["bun"] - }, - "include": ["src"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/folded-runs/tsconfig.json b/packages/folded-runs/tsconfig.json index e956ddd88..d7611c122 100644 --- a/packages/folded-runs/tsconfig.json +++ b/packages/folded-runs/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { - "types": ["bun"] - }, - "include": ["src", "test"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/github-tools/tsconfig.json b/packages/github-tools/tsconfig.json index 12ec9a862..50b7d0045 100644 --- a/packages/github-tools/tsconfig.json +++ b/packages/github-tools/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/github-tools/tsconfig.src.json b/packages/github-tools/tsconfig.src.json new file mode 100644 index 000000000..3959f6247 --- /dev/null +++ b/packages/github-tools/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/gotenberg-render/tsconfig.json b/packages/gotenberg-render/tsconfig.json index 11a9be8be..c4fd6f303 100644 --- a/packages/gotenberg-render/tsconfig.json +++ b/packages/gotenberg-render/tsconfig.json @@ -1,8 +1,19 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "lib": ["ESNext", "DOM", "DOM.Iterable"], - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../error-sink/tsconfig.src.json" + } + ] } diff --git a/packages/gotenberg-render/tsconfig.src.json b/packages/gotenberg-render/tsconfig.src.json new file mode 100644 index 000000000..36b9e6e9a --- /dev/null +++ b/packages/gotenberg-render/tsconfig.src.json @@ -0,0 +1,18 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "lib": ["ESNext", "DOM", "DOM.Iterable"], + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../error-sink/tsconfig.src.json" + } + ] +} diff --git a/packages/granola-tools/tsconfig.json b/packages/granola-tools/tsconfig.json index e956ddd88..acebf95dd 100644 --- a/packages/granola-tools/tsconfig.json +++ b/packages/granola-tools/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/granola-tools/tsconfig.src.json b/packages/granola-tools/tsconfig.src.json new file mode 100644 index 000000000..3959f6247 --- /dev/null +++ b/packages/granola-tools/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/hub-client/tsconfig.json b/packages/hub-client/tsconfig.json index e956ddd88..d7611c122 100644 --- a/packages/hub-client/tsconfig.json +++ b/packages/hub-client/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { - "types": ["bun"] - }, - "include": ["src", "test"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/icons/tsconfig.json b/packages/icons/tsconfig.json index 461e72c55..b7e78fb58 100644 --- a/packages/icons/tsconfig.json +++ b/packages/icons/tsconfig.json @@ -1,9 +1,14 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "jsx": "react-jsx", - "lib": ["ESNext", "DOM", "DOM.Iterable"], - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src"], + "exclude": [] } diff --git a/packages/icons/tsconfig.src.json b/packages/icons/tsconfig.src.json new file mode 100644 index 000000000..c01ffd21b --- /dev/null +++ b/packages/icons/tsconfig.src.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "jsx": "react-jsx", + "lib": ["ESNext", "DOM", "DOM.Iterable"], + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + } +} diff --git a/packages/inbox/tsconfig.json b/packages/inbox/tsconfig.json index 43a971efb..21e4fa834 100644 --- a/packages/inbox/tsconfig.json +++ b/packages/inbox/tsconfig.json @@ -1,8 +1,25 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"], - "customConditions": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/hub-api/tsconfig.src.json" + }, + { + "path": "../error-sink/tsconfig.src.json" + }, + { + "path": "../notify/tsconfig.src.json" + } + ] } diff --git a/packages/inbox/tsconfig.src.json b/packages/inbox/tsconfig.src.json new file mode 100644 index 000000000..149acb99d --- /dev/null +++ b/packages/inbox/tsconfig.src.json @@ -0,0 +1,24 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "customConditions": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/hub-api/tsconfig.src.json" + }, + { + "path": "../error-sink/tsconfig.src.json" + }, + { + "path": "../notify/tsconfig.src.json" + } + ] +} diff --git a/packages/inference-catalog/tsconfig.json b/packages/inference-catalog/tsconfig.json index e956ddd88..3e18089f4 100644 --- a/packages/inference-catalog/tsconfig.json +++ b/packages/inference-catalog/tsconfig.json @@ -1,7 +1,31 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/db/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/hub-api/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../migration-runner/tsconfig.src.json" + }, + { + "path": "../ollama-adapter/tsconfig.src.json" + } + ] } diff --git a/packages/inference-catalog/tsconfig.src.json b/packages/inference-catalog/tsconfig.src.json new file mode 100644 index 000000000..bc80e04b3 --- /dev/null +++ b/packages/inference-catalog/tsconfig.src.json @@ -0,0 +1,29 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/db/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/hub-api/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../migration-runner/tsconfig.src.json" + }, + { + "path": "../ollama-adapter/tsconfig.src.json" + } + ] +} diff --git a/packages/inference-settings/tsconfig.json b/packages/inference-settings/tsconfig.json index 461e72c55..68035e9a3 100644 --- a/packages/inference-settings/tsconfig.json +++ b/packages/inference-settings/tsconfig.json @@ -1,9 +1,10 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { "jsx": "react-jsx", "lib": ["ESNext", "DOM", "DOM.Iterable"], - "types": ["bun"] - }, - "include": ["src", "test"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/insights/tsconfig.json b/packages/insights/tsconfig.json index e956ddd88..d7611c122 100644 --- a/packages/insights/tsconfig.json +++ b/packages/insights/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { - "types": ["bun"] - }, - "include": ["src", "test"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/interaction-tools/tsconfig.json b/packages/interaction-tools/tsconfig.json index 12ec9a862..50b7d0045 100644 --- a/packages/interaction-tools/tsconfig.json +++ b/packages/interaction-tools/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/interaction-tools/tsconfig.src.json b/packages/interaction-tools/tsconfig.src.json new file mode 100644 index 000000000..3959f6247 --- /dev/null +++ b/packages/interaction-tools/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/jimmy-agent/tsconfig.json b/packages/jimmy-agent/tsconfig.json index 12ec9a862..50b7d0045 100644 --- a/packages/jimmy-agent/tsconfig.json +++ b/packages/jimmy-agent/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/jimmy-agent/tsconfig.src.json b/packages/jimmy-agent/tsconfig.src.json new file mode 100644 index 000000000..3959f6247 --- /dev/null +++ b/packages/jimmy-agent/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/linear-tools/tsconfig.json b/packages/linear-tools/tsconfig.json index e956ddd88..acebf95dd 100644 --- a/packages/linear-tools/tsconfig.json +++ b/packages/linear-tools/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/linear-tools/tsconfig.src.json b/packages/linear-tools/tsconfig.src.json new file mode 100644 index 000000000..3959f6247 --- /dev/null +++ b/packages/linear-tools/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/longevity-sim/tsconfig.json b/packages/longevity-sim/tsconfig.json index 12ec9a862..d7611c122 100644 --- a/packages/longevity-sim/tsconfig.json +++ b/packages/longevity-sim/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { - "types": ["bun"] - }, - "include": ["src"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/manus-tools/tsconfig.json b/packages/manus-tools/tsconfig.json index 12ec9a862..b7e78fb58 100644 --- a/packages/manus-tools/tsconfig.json +++ b/packages/manus-tools/tsconfig.json @@ -1,7 +1,14 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [] } diff --git a/packages/manus-tools/tsconfig.src.json b/packages/manus-tools/tsconfig.src.json new file mode 100644 index 000000000..fc8724305 --- /dev/null +++ b/packages/manus-tools/tsconfig.src.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + } +} diff --git a/packages/mcp-tools/tsconfig.json b/packages/mcp-tools/tsconfig.json index e956ddd88..acebf95dd 100644 --- a/packages/mcp-tools/tsconfig.json +++ b/packages/mcp-tools/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/mcp-tools/tsconfig.src.json b/packages/mcp-tools/tsconfig.src.json new file mode 100644 index 000000000..3959f6247 --- /dev/null +++ b/packages/mcp-tools/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/memory-hub/tsconfig.json b/packages/memory-hub/tsconfig.json index 98fb3fe1b..cd2c17eb4 100644 --- a/packages/memory-hub/tsconfig.json +++ b/packages/memory-hub/tsconfig.json @@ -1,8 +1,9 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { "types": ["bun"], - "customConditions": ["bun"] - }, - "include": ["src"] + "customConditions": ["bun"], + "noEmit": true + } } diff --git a/packages/memory-tools/tsconfig.json b/packages/memory-tools/tsconfig.json index 12ec9a862..50b7d0045 100644 --- a/packages/memory-tools/tsconfig.json +++ b/packages/memory-tools/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/memory-tools/tsconfig.src.json b/packages/memory-tools/tsconfig.src.json new file mode 100644 index 000000000..3959f6247 --- /dev/null +++ b/packages/memory-tools/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/migration-runner/tsconfig.json b/packages/migration-runner/tsconfig.json index e956ddd88..504803dd4 100644 --- a/packages/migration-runner/tsconfig.json +++ b/packages/migration-runner/tsconfig.json @@ -1,7 +1,14 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [] } diff --git a/packages/migration-runner/tsconfig.src.json b/packages/migration-runner/tsconfig.src.json new file mode 100644 index 000000000..fc8724305 --- /dev/null +++ b/packages/migration-runner/tsconfig.src.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + } +} diff --git a/packages/mocks/tsconfig.json b/packages/mocks/tsconfig.json index 12ec9a862..b7e78fb58 100644 --- a/packages/mocks/tsconfig.json +++ b/packages/mocks/tsconfig.json @@ -1,7 +1,14 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [] } diff --git a/packages/mocks/tsconfig.src.json b/packages/mocks/tsconfig.src.json new file mode 100644 index 000000000..fc8724305 --- /dev/null +++ b/packages/mocks/tsconfig.src.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + } +} diff --git a/packages/notify/tsconfig.json b/packages/notify/tsconfig.json index e956ddd88..495d046ac 100644 --- a/packages/notify/tsconfig.json +++ b/packages/notify/tsconfig.json @@ -1,7 +1,19 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/notify/tsconfig.src.json b/packages/notify/tsconfig.src.json new file mode 100644 index 000000000..fb751701a --- /dev/null +++ b/packages/notify/tsconfig.src.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/ollama-adapter/tsconfig.json b/packages/ollama-adapter/tsconfig.json index e956ddd88..18ed4695b 100644 --- a/packages/ollama-adapter/tsconfig.json +++ b/packages/ollama-adapter/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/inference/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/ollama-adapter/tsconfig.src.json b/packages/ollama-adapter/tsconfig.src.json new file mode 100644 index 000000000..23572def7 --- /dev/null +++ b/packages/ollama-adapter/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/inference/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/onboarding/tsconfig.json b/packages/onboarding/tsconfig.json index e956ddd88..d7611c122 100644 --- a/packages/onboarding/tsconfig.json +++ b/packages/onboarding/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { - "types": ["bun"] - }, - "include": ["src", "test"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/plugins-ui/tsconfig.json b/packages/plugins-ui/tsconfig.json index 461e72c55..68035e9a3 100644 --- a/packages/plugins-ui/tsconfig.json +++ b/packages/plugins-ui/tsconfig.json @@ -1,9 +1,10 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { "jsx": "react-jsx", "lib": ["ESNext", "DOM", "DOM.Iterable"], - "types": ["bun"] - }, - "include": ["src", "test"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/preferences/tsconfig.json b/packages/preferences/tsconfig.json index e956ddd88..363a89fac 100644 --- a/packages/preferences/tsconfig.json +++ b/packages/preferences/tsconfig.json @@ -1,7 +1,25 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/hub-api/tsconfig.src.json" + }, + { + "path": "../api-query/tsconfig.src.json" + }, + { + "path": "../migration-runner/tsconfig.src.json" + } + ] } diff --git a/packages/preferences/tsconfig.src.json b/packages/preferences/tsconfig.src.json new file mode 100644 index 000000000..4cc48381c --- /dev/null +++ b/packages/preferences/tsconfig.src.json @@ -0,0 +1,23 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/hub-api/tsconfig.src.json" + }, + { + "path": "../api-query/tsconfig.src.json" + }, + { + "path": "../migration-runner/tsconfig.src.json" + } + ] +} diff --git a/packages/presence/tsconfig.json b/packages/presence/tsconfig.json index e956ddd88..d8e8d65b3 100644 --- a/packages/presence/tsconfig.json +++ b/packages/presence/tsconfig.json @@ -1,7 +1,19 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/hub-api/tsconfig.src.json" + } + ] } diff --git a/packages/presence/tsconfig.src.json b/packages/presence/tsconfig.src.json new file mode 100644 index 000000000..8b907e524 --- /dev/null +++ b/packages/presence/tsconfig.src.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/hub-api/tsconfig.src.json" + } + ] +} diff --git a/packages/provider-pricing/tsconfig.json b/packages/provider-pricing/tsconfig.json index 12ec9a862..d7611c122 100644 --- a/packages/provider-pricing/tsconfig.json +++ b/packages/provider-pricing/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { - "types": ["bun"] - }, - "include": ["src"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/reddit-tools/tsconfig.json b/packages/reddit-tools/tsconfig.json index 12ec9a862..50b7d0045 100644 --- a/packages/reddit-tools/tsconfig.json +++ b/packages/reddit-tools/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/reddit-tools/tsconfig.src.json b/packages/reddit-tools/tsconfig.src.json new file mode 100644 index 000000000..3959f6247 --- /dev/null +++ b/packages/reddit-tools/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/routines-tools/tsconfig.json b/packages/routines-tools/tsconfig.json index 12ec9a862..50b7d0045 100644 --- a/packages/routines-tools/tsconfig.json +++ b/packages/routines-tools/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/routines-tools/tsconfig.src.json b/packages/routines-tools/tsconfig.src.json new file mode 100644 index 000000000..3959f6247 --- /dev/null +++ b/packages/routines-tools/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/routines/tsconfig.json b/packages/routines/tsconfig.json index e956ddd88..d7611c122 100644 --- a/packages/routines/tsconfig.json +++ b/packages/routines/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { - "types": ["bun"] - }, - "include": ["src", "test"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/run-key-history/tsconfig.json b/packages/run-key-history/tsconfig.json index e956ddd88..83db4b481 100644 --- a/packages/run-key-history/tsconfig.json +++ b/packages/run-key-history/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/db/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/hub-api/tsconfig.src.json" + } + ] } diff --git a/packages/run-key-history/tsconfig.src.json b/packages/run-key-history/tsconfig.src.json new file mode 100644 index 000000000..34abb1fa3 --- /dev/null +++ b/packages/run-key-history/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/db/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/hub-api/tsconfig.src.json" + } + ] +} diff --git a/packages/run-scope/tsconfig.json b/packages/run-scope/tsconfig.json index e956ddd88..d7611c122 100644 --- a/packages/run-scope/tsconfig.json +++ b/packages/run-scope/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { - "types": ["bun"] - }, - "include": ["src", "test"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/sandbox-sidecar/tsconfig.json b/packages/sandbox-sidecar/tsconfig.json index 12ec9a862..91edfadd7 100644 --- a/packages/sandbox-sidecar/tsconfig.json +++ b/packages/sandbox-sidecar/tsconfig.json @@ -1,7 +1,19 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/hub-sessions/tsconfig.src.json" + } + ] } diff --git a/packages/sandbox-sidecar/tsconfig.src.json b/packages/sandbox-sidecar/tsconfig.src.json new file mode 100644 index 000000000..a947a7e21 --- /dev/null +++ b/packages/sandbox-sidecar/tsconfig.src.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/hub-sessions/tsconfig.src.json" + } + ] +} diff --git a/packages/scout-agent/tsconfig.json b/packages/scout-agent/tsconfig.json index e956ddd88..acebf95dd 100644 --- a/packages/scout-agent/tsconfig.json +++ b/packages/scout-agent/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/scout-agent/tsconfig.src.json b/packages/scout-agent/tsconfig.src.json new file mode 100644 index 000000000..3959f6247 --- /dev/null +++ b/packages/scout-agent/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/settings-ui/tsconfig.json b/packages/settings-ui/tsconfig.json index 461e72c55..68035e9a3 100644 --- a/packages/settings-ui/tsconfig.json +++ b/packages/settings-ui/tsconfig.json @@ -1,9 +1,10 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { "jsx": "react-jsx", "lib": ["ESNext", "DOM", "DOM.Iterable"], - "types": ["bun"] - }, - "include": ["src", "test"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/shell-layout/tsconfig.json b/packages/shell-layout/tsconfig.json index 461e72c55..504803dd4 100644 --- a/packages/shell-layout/tsconfig.json +++ b/packages/shell-layout/tsconfig.json @@ -1,9 +1,14 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "jsx": "react-jsx", - "lib": ["ESNext", "DOM", "DOM.Iterable"], - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [] } diff --git a/packages/shell-layout/tsconfig.src.json b/packages/shell-layout/tsconfig.src.json new file mode 100644 index 000000000..c01ffd21b --- /dev/null +++ b/packages/shell-layout/tsconfig.src.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "jsx": "react-jsx", + "lib": ["ESNext", "DOM", "DOM.Iterable"], + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + } +} diff --git a/packages/sidecar-placement/tsconfig.json b/packages/sidecar-placement/tsconfig.json index e956ddd88..cd0974202 100644 --- a/packages/sidecar-placement/tsconfig.json +++ b/packages/sidecar-placement/tsconfig.json @@ -1,7 +1,25 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/db/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/hub-api/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/sidecar-placement/tsconfig.src.json b/packages/sidecar-placement/tsconfig.src.json new file mode 100644 index 000000000..641d83570 --- /dev/null +++ b/packages/sidecar-placement/tsconfig.src.json @@ -0,0 +1,23 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/db/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/hub-api/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/skills-tools/tsconfig.json b/packages/skills-tools/tsconfig.json index 12ec9a862..50b7d0045 100644 --- a/packages/skills-tools/tsconfig.json +++ b/packages/skills-tools/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/skills-tools/tsconfig.src.json b/packages/skills-tools/tsconfig.src.json new file mode 100644 index 000000000..3959f6247 --- /dev/null +++ b/packages/skills-tools/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/skills/tsconfig.json b/packages/skills/tsconfig.json index e956ddd88..03cb017a3 100644 --- a/packages/skills/tsconfig.json +++ b/packages/skills/tsconfig.json @@ -1,7 +1,25 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/db/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/hub-api/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/hub-sessions/tsconfig.src.json" + } + ] } diff --git a/packages/skills/tsconfig.src.json b/packages/skills/tsconfig.src.json new file mode 100644 index 000000000..b58252957 --- /dev/null +++ b/packages/skills/tsconfig.src.json @@ -0,0 +1,23 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/db/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/hub-api/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/hub-sessions/tsconfig.src.json" + } + ] +} diff --git a/packages/slack-tag/tsconfig.json b/packages/slack-tag/tsconfig.json index e956ddd88..d7611c122 100644 --- a/packages/slack-tag/tsconfig.json +++ b/packages/slack-tag/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { - "types": ["bun"] - }, - "include": ["src", "test"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/slug/tsconfig.json b/packages/slug/tsconfig.json index 12ec9a862..b7e78fb58 100644 --- a/packages/slug/tsconfig.json +++ b/packages/slug/tsconfig.json @@ -1,7 +1,14 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [] } diff --git a/packages/slug/tsconfig.src.json b/packages/slug/tsconfig.src.json new file mode 100644 index 000000000..fc8724305 --- /dev/null +++ b/packages/slug/tsconfig.src.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + } +} diff --git a/packages/text-diff/tsconfig.json b/packages/text-diff/tsconfig.json index 12ec9a862..b7e78fb58 100644 --- a/packages/text-diff/tsconfig.json +++ b/packages/text-diff/tsconfig.json @@ -1,7 +1,14 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [] } diff --git a/packages/text-diff/tsconfig.src.json b/packages/text-diff/tsconfig.src.json new file mode 100644 index 000000000..fc8724305 --- /dev/null +++ b/packages/text-diff/tsconfig.src.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + } +} diff --git a/packages/tool-registry-publish/tsconfig.json b/packages/tool-registry-publish/tsconfig.json index 12ec9a862..18ed4695b 100644 --- a/packages/tool-registry-publish/tsconfig.json +++ b/packages/tool-registry-publish/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/inference/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/tool-registry-publish/tsconfig.src.json b/packages/tool-registry-publish/tsconfig.src.json new file mode 100644 index 000000000..23572def7 --- /dev/null +++ b/packages/tool-registry-publish/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/inference/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/tools-skills/tsconfig.json b/packages/tools-skills/tsconfig.json index e956ddd88..50b7d0045 100644 --- a/packages/tools-skills/tsconfig.json +++ b/packages/tools-skills/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/tools-skills/tsconfig.src.json b/packages/tools-skills/tsconfig.src.json new file mode 100644 index 000000000..3959f6247 --- /dev/null +++ b/packages/tools-skills/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/turn-artifacts/tsconfig.json b/packages/turn-artifacts/tsconfig.json index 12ec9a862..b7e78fb58 100644 --- a/packages/turn-artifacts/tsconfig.json +++ b/packages/turn-artifacts/tsconfig.json @@ -1,7 +1,14 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [] } diff --git a/packages/turn-artifacts/tsconfig.src.json b/packages/turn-artifacts/tsconfig.src.json new file mode 100644 index 000000000..fc8724305 --- /dev/null +++ b/packages/turn-artifacts/tsconfig.src.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + } +} diff --git a/packages/url-path/tsconfig.json b/packages/url-path/tsconfig.json index 12ec9a862..b7e78fb58 100644 --- a/packages/url-path/tsconfig.json +++ b/packages/url-path/tsconfig.json @@ -1,7 +1,14 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [] } diff --git a/packages/url-path/tsconfig.src.json b/packages/url-path/tsconfig.src.json new file mode 100644 index 000000000..fc8724305 --- /dev/null +++ b/packages/url-path/tsconfig.src.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + } +} diff --git a/packages/web-search-tools/tsconfig.json b/packages/web-search-tools/tsconfig.json index 12ec9a862..50b7d0045 100644 --- a/packages/web-search-tools/tsconfig.json +++ b/packages/web-search-tools/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src"] + "include": ["src"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] } diff --git a/packages/web-search-tools/tsconfig.src.json b/packages/web-search-tools/tsconfig.src.json new file mode 100644 index 000000000..3959f6247 --- /dev/null +++ b/packages/web-search-tools/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + } + ] +} diff --git a/packages/webhook-triggers/tsconfig.json b/packages/webhook-triggers/tsconfig.json index e956ddd88..d7611c122 100644 --- a/packages/webhook-triggers/tsconfig.json +++ b/packages/webhook-triggers/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { - "types": ["bun"] - }, - "include": ["src", "test"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/workflow-catalog/tsconfig.json b/packages/workflow-catalog/tsconfig.json index e956ddd88..d7611c122 100644 --- a/packages/workflow-catalog/tsconfig.json +++ b/packages/workflow-catalog/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", + "include": ["src", "test"], "compilerOptions": { - "types": ["bun"] - }, - "include": ["src", "test"] + "types": ["bun"], + "noEmit": true + } } diff --git a/packages/workflow-deploy-source/tsconfig.json b/packages/workflow-deploy-source/tsconfig.json index e956ddd88..83175c084 100644 --- a/packages/workflow-deploy-source/tsconfig.json +++ b/packages/workflow-deploy-source/tsconfig.json @@ -1,7 +1,28 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/hub-sessions/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../error-sink/tsconfig.src.json" + }, + { + "path": "../migration-runner/tsconfig.src.json" + } + ] } diff --git a/packages/workflow-deploy-source/tsconfig.src.json b/packages/workflow-deploy-source/tsconfig.src.json new file mode 100644 index 000000000..a65f8ac71 --- /dev/null +++ b/packages/workflow-deploy-source/tsconfig.src.json @@ -0,0 +1,26 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/hub-sessions/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../error-sink/tsconfig.src.json" + }, + { + "path": "../migration-runner/tsconfig.src.json" + } + ] +} diff --git a/packages/workflow-freeze/tsconfig.json b/packages/workflow-freeze/tsconfig.json index e956ddd88..6bb3f1b88 100644 --- a/packages/workflow-freeze/tsconfig.json +++ b/packages/workflow-freeze/tsconfig.json @@ -1,7 +1,34 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/db/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/hub-sessions/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow-deploy/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] } diff --git a/packages/workflow-freeze/tsconfig.src.json b/packages/workflow-freeze/tsconfig.src.json new file mode 100644 index 000000000..5a611551d --- /dev/null +++ b/packages/workflow-freeze/tsconfig.src.json @@ -0,0 +1,32 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/db/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/hub-sessions/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow-deploy/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] +} diff --git a/packages/workflow-source/tsconfig.json b/packages/workflow-source/tsconfig.json index e956ddd88..b7e78fb58 100644 --- a/packages/workflow-source/tsconfig.json +++ b/packages/workflow-source/tsconfig.json @@ -1,7 +1,14 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src"], + "exclude": [] } diff --git a/packages/workflow-source/tsconfig.src.json b/packages/workflow-source/tsconfig.src.json new file mode 100644 index 000000000..fc8724305 --- /dev/null +++ b/packages/workflow-source/tsconfig.src.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + } +} diff --git a/scripts/affected.test.ts b/scripts/affected.test.ts deleted file mode 100644 index d70acbc11..000000000 --- a/scripts/affected.test.ts +++ /dev/null @@ -1,128 +0,0 @@ -import { describe, expect, test } from "bun:test"; - -import { - affectedPackages, - directlyChanged, - isGlobalChange, - ownerOf, - withDependents, - type PackageManifest, -} from "./affected.ts"; - -const manifests: PackageManifest[] = [ - { name: "@corbits/events", dir: "packages/events", workspaceDeps: [] }, - { - name: "@corbits/chat", - dir: "packages/chat", - workspaceDeps: ["@corbits/events"], - }, - { - name: "@workbench/hub", - dir: "apps/hub", - workspaceDeps: ["@corbits/chat"], - }, - { name: "@corbits/slug", dir: "packages/slug", workspaceDeps: [] }, - { name: "@intx/db", dir: "vendor/intx/db", workspaceDeps: [] }, -]; - -describe("isGlobalChange", () => { - test("a root manifest or shared tsconfig forces a full run", () => { - expect(isGlobalChange(["package.json"])).toBe(true); - expect(isGlobalChange(["tsconfig.base.json"])).toBe(true); - }); - - test("anything under scripts/ forces a full run, since the gate itself moved", () => { - expect(isGlobalChange(["scripts/run-all.ts"])).toBe(true); - }); - - test("a package-local manifest is not global", () => { - expect(isGlobalChange(["packages/chat/package.json"])).toBe(false); - }); - - test("ordinary source changes are not global", () => { - expect(isGlobalChange(["packages/chat/src/index.ts"])).toBe(false); - }); -}); - -describe("ownerOf", () => { - test("attributes a file to its package", () => { - expect(ownerOf("packages/chat/src/index.ts", manifests)).toBe( - "@corbits/chat", - ); - }); - - test("prefers the longest matching root so a nested workspace is not shadowed", () => { - expect(ownerOf("vendor/intx/db/src/schema.ts", manifests)).toBe("@intx/db"); - }); - - test("returns undefined for a file no package owns", () => { - expect(ownerOf("README.md", manifests)).toBeUndefined(); - }); -}); - -describe("directlyChanged", () => { - test("collects each touched package once", () => { - const changed = directlyChanged( - [ - "packages/chat/src/a.ts", - "packages/chat/src/b.ts", - "packages/slug/src/c.ts", - ], - manifests, - ); - expect([...changed].sort()).toEqual(["@corbits/chat", "@corbits/slug"]); - }); -}); - -describe("withDependents", () => { - test("pulls in transitive dependents, not just direct ones", () => { - const affected = withDependents(new Set(["@corbits/events"]), manifests); - expect([...affected].sort()).toEqual([ - "@corbits/chat", - "@corbits/events", - "@workbench/hub", - ]); - }); - - test("a leaf package affects only itself", () => { - expect([...withDependents(new Set(["@corbits/slug"]), manifests)]).toEqual([ - "@corbits/slug", - ]); - }); - - test("terminates on a dependency cycle", () => { - const cyclic: PackageManifest[] = [ - { name: "a", dir: "packages/a", workspaceDeps: ["b"] }, - { name: "b", dir: "packages/b", workspaceDeps: ["a"] }, - ]; - expect([...withDependents(new Set(["a"]), cyclic)].sort()).toEqual([ - "a", - "b", - ]); - }); -}); - -describe("affectedPackages", () => { - test("a global change returns 'all' rather than a filtered set", () => { - expect(affectedPackages(["bun.lock"], manifests)).toBe("all"); - }); - - test("a package change returns that package and everything above it", () => { - const affected = affectedPackages( - ["packages/events/src/parse.ts"], - manifests, - ); - expect(affected).not.toBe("all"); - expect([...(affected as Set)].sort()).toEqual([ - "@corbits/chat", - "@corbits/events", - "@workbench/hub", - ]); - }); - - test("a change owned by no package checks nothing", () => { - expect([ - ...(affectedPackages(["docs/GLOSSARY.md"], manifests) as Set), - ]).toEqual([]); - }); -}); diff --git a/scripts/affected.ts b/scripts/affected.ts deleted file mode 100644 index 127a3e0ee..000000000 --- a/scripts/affected.ts +++ /dev/null @@ -1,141 +0,0 @@ -// Resolves which workspace packages a change actually affects, so a local -// gate can check those instead of all 109. -// -// A package is affected when the change touches its own files, or when it -// depends -- at any depth -- on a package that was touched. Dependents matter -// as much as the package itself: editing an exported type in -// `@corbits/agent-events` breaks its importers, not the package that changed. -// -// Some paths defeat the whole idea. A root manifest, the shared tsconfig, or -// the runner itself can change the result of every job, and no dependency edge -// records that. Those force a full run rather than a wrong-but-fast one -- -// a filtered gate that misses a break is worse than a slow one. -import { Glob } from "bun"; - -const WORKSPACE_ROOTS = [ - "apps", - "packages", - "tools", - "workflows", - "vendor/intx", -] as const; - -/** Changes whose blast radius no dependency edge can express. */ -const GLOBAL_PATHS = [ - "package.json", - "bun.lock", - "tsconfig.base.json", - "tsconfig.json", - "eslint.config.ts", - "scripts/", - ".github/", -] as const; - -export type PackageManifest = { - readonly name: string; - readonly dir: string; - readonly workspaceDeps: readonly string[]; -}; - -export function isGlobalChange(changedFiles: readonly string[]): boolean { - return changedFiles.some((file) => - GLOBAL_PATHS.some((global) => - global.endsWith("/") ? file.startsWith(global) : file === global, - ), - ); -} - -/** - * The package that owns a file, as the longest workspace directory prefixing - * it. Longest wins so a nested workspace root (`vendor/intx/db`) is not - * shadowed by a shorter one that happens to prefix it. - */ -export function ownerOf( - file: string, - manifests: readonly PackageManifest[], -): string | undefined { - let owner: PackageManifest | undefined; - for (const manifest of manifests) { - if (!file.startsWith(`${manifest.dir}/`)) continue; - if (owner === undefined || manifest.dir.length > owner.dir.length) { - owner = manifest; - } - } - return owner?.name; -} - -export function directlyChanged( - changedFiles: readonly string[], - manifests: readonly PackageManifest[], -): Set { - const changed = new Set(); - for (const file of changedFiles) { - const owner = ownerOf(file, manifests); - if (owner !== undefined) changed.add(owner); - } - return changed; -} - -/** - * Every package that reaches one of `seeds` through workspace dependencies, - * plus the seeds. Walks the reverse graph to a fixed point, so a cycle - * terminates instead of recursing forever. - */ -export function withDependents( - seeds: ReadonlySet, - manifests: readonly PackageManifest[], -): Set { - const dependentsOf = new Map(); - for (const manifest of manifests) { - for (const dep of manifest.workspaceDeps) { - const existing = dependentsOf.get(dep); - if (existing === undefined) dependentsOf.set(dep, [manifest.name]); - else existing.push(manifest.name); - } - } - - const affected = new Set(seeds); - const queue = [...seeds]; - while (queue.length > 0) { - const next = queue.pop(); - if (next === undefined) continue; - for (const dependent of dependentsOf.get(next) ?? []) { - if (affected.has(dependent)) continue; - affected.add(dependent); - queue.push(dependent); - } - } - return affected; -} - -export function affectedPackages( - changedFiles: readonly string[], - manifests: readonly PackageManifest[], -): Set | "all" { - if (isGlobalChange(changedFiles)) return "all"; - return withDependents(directlyChanged(changedFiles, manifests), manifests); -} - -export async function readManifests(): Promise { - const manifests: PackageManifest[] = []; - for (const root of WORKSPACE_ROOTS) { - const glob = new Glob(`${root}/*/package.json`); - for await (const manifestPath of glob.scan(".")) { - const raw = (await Bun.file(manifestPath).json()) as { - name?: string; - dependencies?: Record; - devDependencies?: Record; - }; - const dir = manifestPath.slice(0, -"/package.json".length); - const deps = { ...raw.dependencies, ...raw.devDependencies }; - manifests.push({ - name: raw.name ?? dir, - dir, - workspaceDeps: Object.entries(deps) - .filter(([, range]) => range.startsWith("workspace:")) - .map(([dep]) => dep), - }); - } - } - return manifests; -} diff --git a/scripts/checks/kill-dates.txt b/scripts/checks/kill-dates.txt index bc46993fd..c184aeeee 100644 --- a/scripts/checks/kill-dates.txt +++ b/scripts/checks/kill-dates.txt @@ -14,20 +14,20 @@ # drift: editing a vendored tree means updating this hash and the # package's VENDORED-FROM delta line in the same change. apps/sidecar | sawyer | 2026-10-26 -vendor/intx/agent | sawyer | 2026-10-26 | 2264716cfaa126ef3205f4f9887f3a580072ab8552d6bbc351bd8ca1638bfd74 -vendor/intx/db | sawyer | 2026-10-26 | 0a4cdb9a8a6ff19d5d4713cbc4f5cc9257aad839b1fa393b2026e6d5afd828b9 -vendor/intx/harness | sawyer | 2026-10-26 | 867f2b0eb4a360c68bf552d5b95a9530411e2c1a2d046d1f5ce718d4a9be36a8 -vendor/intx/hub-agent | sawyer | 2026-10-26 | 30d5050511f22bc73b3c5d34728dfdf5b791de203452b83d4333a1dc762afceb -vendor/intx/hub-api | sawyer | 2026-10-26 | 42ee33e027559b236065382cb94f393bbcfee69625615894f82be778f34f7aa1 -vendor/intx/hub-sessions | sawyer | 2026-10-26 | 79a6f534a5166dfc5904d1b82214d1a0f857f2b2bde0b845115e0618f84745f2 -vendor/intx/inference | sawyer | 2026-10-26 | f32792856f555b0fed40ce75badde7630a45a6452ad20cfc61058192f8376f11 -vendor/intx/mail-memory | sawyer | 2026-10-26 | 9f3601a7fb22e2d1c63daa976f3afccbd79af2187c155a0080c0d60c82450b92 -vendor/intx/mailbox | sawyer | 2026-10-26 | d36d7ffcc32018571276e4922a8c2714b7ee0bb5deb80b01e73859245975d4c6 -vendor/intx/mime | sawyer | 2026-10-26 | d02e5f8f1429eac7c27d3a37eec31111f8a1053c91fbfae77ac58a0d63c823ed -vendor/intx/types | sawyer | 2026-10-26 | beef009a180cb7747c65014ed38c732a124851c81f60029ccd0c33075896b93f -vendor/intx/workflow | sawyer | 2026-10-26 | 4b51b9bd6a124cfaa0c916e2b26c04ac9170618bb092f0c8e1c312263fc84fdf -vendor/intx/workflow-deploy | sawyer | 2026-10-26 | 960a2ae408223649fe8be0e3b9d63f2b0cca25259bc0ae06761bca521bb738e5 -vendor/intx/workflow-host | sawyer | 2026-10-26 | aff0342a526387ea9ccb52827fd4f13d9dd52645b37795362ce9b2fd912a5da5 +vendor/intx/agent | sawyer | 2026-10-26 | f29297427016f6cb0c10ba49a846e2e445bdd38b6aabfc47854a1cc85ce8e002 +vendor/intx/db | sawyer | 2026-10-26 | e1a41e59050ca32d6b590b33f559221584b3e78c71d4b61b3b3d10df82a50096 +vendor/intx/harness | sawyer | 2026-10-26 | 5daababe006d9cf8e678c0eed22c2daa99cc519f35ed7a32ec2b977da9f2fb71 +vendor/intx/hub-agent | sawyer | 2026-10-26 | 617f93b05da6a02415ea3b319526137b56a1d5cc3689ca4d33ab324d8f5807d3 +vendor/intx/hub-api | sawyer | 2026-10-26 | 10fd46c7bf0b058618a8124f6f43d7e779fd5861ff0146fe8d7c2886b836c40e +vendor/intx/hub-sessions | sawyer | 2026-10-26 | c884af15f80f228acb95b95d415a035bc8d6bae579d199c00fb98a511ba42219 +vendor/intx/inference | sawyer | 2026-10-26 | 3754de556eac6387a427454d57a22f46ad42dc22096c9c76f993cea74f97f50a +vendor/intx/mail-memory | sawyer | 2026-10-26 | 99e15f6b256f36562dcf4b0cbd84e412b1a8985f00019e3e1748ecd18332b74d +vendor/intx/mailbox | sawyer | 2026-10-26 | 9647f7c0cda5a9fce7d687b2901a92769f18a442dcd4d1ffe8334eeb71b7dbb0 +vendor/intx/mime | sawyer | 2026-10-26 | ef4ad0c981b976bdfd88afd3c170d09fc534f04a263648eb9e1b440e9e6b5a07 +vendor/intx/types | sawyer | 2026-10-26 | 38b6e88e7b1710e865b783f9d8b842fe3603eb54b4d9f8f945ba64f5e654d708 +vendor/intx/workflow | sawyer | 2026-10-26 | 0d8b76651b9890ee39d271bf5d14e25a2a6496821d2a99d0712db0d75c736193 +vendor/intx/workflow-deploy | sawyer | 2026-10-26 | dd144cb4ca55373597a681d08b84fffc5084ec1fc7150ad25963d8e8273c49d9 +vendor/intx/workflow-host | sawyer | 2026-10-26 | 85eb308faadb576db975050545f9d7306c3c1a05bbbc16648782691c62ac8798 packages/folded-runs | sawyer | 2026-11-01 diff --git a/scripts/checks/lib/tree-hash.ts b/scripts/checks/lib/tree-hash.ts index eaefa42d7..06fbfdb42 100644 --- a/scripts/checks/lib/tree-hash.ts +++ b/scripts/checks/lib/tree-hash.ts @@ -1,8 +1,11 @@ // Deterministic content hash of a directory tree: sha256 over the // sorted relative file paths, each followed by NUL and the file bytes. -// node_modules trees and *.tsbuildinfo files are install/build -// artifacts, never content, and are excluded so the hash is stable -// across machines and unaffected by whether a typecheck ran first. +// node_modules trees, dist/ build output, and *.tsbuildinfo files are +// install/build artifacts, never content, and are excluded so the hash +// is stable across machines and unaffected by whether a typecheck ran +// first — a composite package's tsc --build run writes declaration +// output to dist/ as a side effect, and that output must never be +// mistaken for a vendored source edit. import { createHash } from "node:crypto"; import { readdirSync, readFileSync, statSync } from "node:fs"; import path from "node:path"; @@ -11,6 +14,7 @@ export function hashDirectory(dir: string): string { const relativeFiles = readdirSync(dir, { recursive: true, encoding: "utf8" }) .map((entry) => entry.split(path.sep).join("/")) .filter((entry) => !entry.split("/").includes("node_modules")) + .filter((entry) => !entry.split("/").includes("dist")) .filter((entry) => !entry.endsWith(".tsbuildinfo")) .filter((entry) => statSync(path.join(dir, entry)).isFile()) .sort(); diff --git a/scripts/checks/test/killdates.test.ts b/scripts/checks/test/killdates.test.ts index 7b58407c8..9eb3a7039 100644 --- a/scripts/checks/test/killdates.test.ts +++ b/scripts/checks/test/killdates.test.ts @@ -163,6 +163,29 @@ test("a tsc-generated tsbuildinfo does not change a vendored tree's hash", () => } }); +test("a tsc --build dist/ output directory does not change a vendored tree's hash", () => { + const root = mkdtempSync(path.join(tmpdir(), "killdates-test-")); + try { + mkdirSync(path.join(root, "vendor", "intx", "log"), { recursive: true }); + writeFileSync(path.join(root, "vendor", "intx", "log", "index.ts"), "hi"); + const hash = hashDirectory(path.join(root, "vendor", "intx", "log")); + mkdirSync(path.join(root, "vendor", "intx", "log", "dist"), { + recursive: true, + }); + writeFileSync( + path.join(root, "vendor", "intx", "log", "dist", "index.d.ts"), + "export declare const hi: string;", + ); + writeFileSync( + path.join(root, "vendor", "intx", "log", "dist", "tsconfig.tsbuildinfo"), + "{}", + ); + expect(hashDirectory(path.join(root, "vendor", "intx", "log"))).toBe(hash); + } finally { + rmSync(root, { recursive: true, force: true }); + } +}); + test("a byte edit in a vendored tree is a drift violation naming the package", () => { const root = mkdtempSync(path.join(tmpdir(), "killdates-test-")); try { diff --git a/scripts/concurrency.ts b/scripts/concurrency.ts new file mode 100644 index 000000000..d4d036781 --- /dev/null +++ b/scripts/concurrency.ts @@ -0,0 +1,21 @@ +// Shared worker-pool sizing for the two scripts that fan out `tsc`/package +// scripts across the workspace (run-all.ts, typecheck.ts). Each job saturates +// about one core, so the default leaves a couple free for the editor and +// type server a developer runs alongside the gate. +import { availableParallelism } from "node:os"; + +export const CONCURRENCY_ENV = "WORKBENCH_CHECK_CONCURRENCY"; + +export function resolveConcurrency(): number { + const raw = process.env[CONCURRENCY_ENV]; + if (raw === undefined || raw === "") { + return Math.max(1, availableParallelism() - 2); + } + const parsed = Number.parseInt(raw, 10); + if (!Number.isInteger(parsed) || parsed < 1) { + throw new Error( + `${CONCURRENCY_ENV} must be a positive integer, got "${raw}"`, + ); + } + return parsed; +} diff --git a/scripts/generate-tsconfig-references.test.ts b/scripts/generate-tsconfig-references.test.ts new file mode 100644 index 000000000..76285bea1 --- /dev/null +++ b/scripts/generate-tsconfig-references.test.ts @@ -0,0 +1,287 @@ +// Drives the generator through its real command line against a throwaway +// fixture workspace, the same way run-all.test.ts exercises run-all.ts. This +// script is the only thing standing between package.json's real dependency +// graph and every package's `references` array — a silently wrong graph +// would make `tsc --build` skip stale dependents or, worse, refuse the whole +// build over a phantom cycle. +import { afterEach, beforeEach, describe, expect, test } from "bun:test"; +import { mkdir, mkdtemp, rm, writeFile } from "node:fs/promises"; +import { tmpdir } from "node:os"; +import { join } from "node:path"; + +const GENERATOR = join(import.meta.dir, "generate-tsconfig-references.ts"); + +let workspace = ""; + +async function writePackage( + name: string, + dependencies: Record = {}, + options: { withTest?: boolean; srcFile?: string } = {}, +): Promise { + const dir = join(workspace, "packages", name); + await mkdir(join(dir, "src"), { recursive: true }); + await writeFile( + join(dir, "package.json"), + JSON.stringify({ name: `@fixture/${name}`, dependencies }, null, 2), + ); + await writeFile( + join(dir, "tsconfig.json"), + JSON.stringify({ extends: "../../tsconfig.base.json" }, null, 2), + ); + await writeFile( + join(dir, "src", "index.ts"), + options.srcFile ?? "export const value = 1;\n", + ); + if (options.withTest) { + await mkdir(join(dir, "test"), { recursive: true }); + await writeFile(join(dir, "test", "index.test.ts"), "export {};\n"); + } +} + +async function readTsconfig(name: string, file = "tsconfig.json") { + const path = join(workspace, "packages", name, file); + return JSON.parse(await Bun.file(path).text()) as { + extends?: string; + compilerOptions?: Record; + references?: { path: string }[]; + include?: string[]; + }; +} + +async function tsconfigExists(name: string, file: string): Promise { + return Bun.file(join(workspace, "packages", name, file)).exists(); +} + +function run(args: string[]): Promise<{ exitCode: number; stderr: string }> { + return (async () => { + const child = Bun.spawn(["bun", "run", GENERATOR, ...args], { + cwd: workspace, + stdout: "pipe", + stderr: "pipe", + }); + const [stderr, exitCode] = await Promise.all([ + new Response(child.stderr).text(), + child.exited, + ]); + return { exitCode, stderr }; + })(); +} + +beforeEach(async () => { + workspace = await mkdtemp(join(tmpdir(), "workbench-tsconfig-refs-")); + for (const root of ["apps", "packages", "tools", "workflows"]) { + await mkdir(join(workspace, root), { recursive: true }); + } + await mkdir(join(workspace, "vendor", "intx"), { recursive: true }); +}); + +afterEach(async () => { + if (workspace !== "") await rm(workspace, { recursive: true, force: true }); +}); + +describe("generate-tsconfig-references", () => { + test("gives a leaf package's tsconfig.src.json composite settings", async () => { + await writePackage("leaf"); + await run([]); + + const config = await readTsconfig("leaf", "tsconfig.src.json"); + expect(config.compilerOptions?.["composite"]).toBe(true); + expect(config.compilerOptions?.["outDir"]).toBe("dist"); + expect(config.references ?? []).toEqual([]); + }); + + test("keeps tsconfig.json as the combined, conventionally-named project", async () => { + // Every tool that discovers a project by convention -- ESLint's + // projectService, an editor, a bare `tsc` in the package directory -- + // looks for a file literally named tsconfig.json. The composite + // src-only project lives at tsconfig.src.json instead, so this stays + // the file such tools find on their own. + await writePackage("leaf"); + await run([]); + + const config = await readTsconfig("leaf"); + expect(config.extends).toBe("./tsconfig.src.json"); + expect(config.compilerOptions?.["composite"]).toBe(false); + }); + + test("references a real workspace dependency's tsconfig.src.json", async () => { + await writePackage("leaf"); + await writePackage("consumer", { "@fixture/leaf": "workspace:*" }); + await run([]); + + const config = await readTsconfig("consumer", "tsconfig.src.json"); + expect(config.references).toEqual([{ path: "../leaf/tsconfig.src.json" }]); + }); + + test("does not reference a devDependency", async () => { + await writePackage("leaf"); + const dir = join(workspace, "packages", "consumer"); + await mkdir(join(dir, "src"), { recursive: true }); + await writeFile( + join(dir, "package.json"), + JSON.stringify( + { + name: "@fixture/consumer", + devDependencies: { "@fixture/leaf": "workspace:*" }, + }, + null, + 2, + ), + ); + await writeFile( + join(dir, "tsconfig.json"), + JSON.stringify({ extends: "../../tsconfig.base.json" }, null, 2), + ); + await writeFile(join(dir, "src", "index.ts"), "export {};\n"); + await run([]); + + const config = await readTsconfig("consumer", "tsconfig.src.json"); + expect(config.references ?? []).toEqual([]); + }); + + test("the combined tsconfig.json references the same deps as tsconfig.src.json", async () => { + await writePackage("leaf"); + await writePackage( + "consumer", + { "@fixture/leaf": "workspace:*" }, + { withTest: true }, + ); + await run([]); + + const combined = await readTsconfig("consumer"); + expect(combined.references).toEqual([ + { path: "../leaf/tsconfig.src.json" }, + ]); + expect(combined.compilerOptions?.["composite"]).toBe(false); + expect(combined.include).toContain("test"); + }); + + test("gives the combined tsconfig.json an explicit rootDir at the workspace root", async () => { + // Without this, TypeScript infers `rootDir` from `include` alone once + // `outDir` is inherited from the extended src config, and TS6059s on + // any file a test reaches outside "src"/"test" -- which a shared test + // helper living outside every package's own directory always is. + await writePackage("leaf", {}, { withTest: true }); + await run([]); + + const combined = await readTsconfig("leaf"); + expect(combined.compilerOptions?.["rootDir"]).toBe("../.."); + }); + + test("preserves a non-standard include entry across regenerations", async () => { + // packages/e2b-sandbox-sidecar has a `template/` directory that is + // neither `src` nor `test` -- assets read at runtime, not imported -- + // and was silently dropped the first time this generator rebuilt + // `include` from a fixed ["src", "test"] list instead of carrying + // forward whatever the package's own tsconfig.json already declared. + await writePackage("leaf"); + const dir = join(workspace, "packages", "leaf"); + await mkdir(join(dir, "template"), { recursive: true }); + await writeFile( + join(dir, "tsconfig.json"), + JSON.stringify( + { extends: "../../tsconfig.base.json", include: ["src", "template"] }, + null, + 2, + ), + ); + await run([]); + + const combined = await readTsconfig("leaf"); + expect(combined.include).toContain("template"); + + // Idempotent: a second run must not lose it either. + await run([]); + const combinedAgain = await readTsconfig("leaf"); + expect(combinedAgain.include).toContain("template"); + }); + + test("excludes a real dependency cycle from the composite graph entirely", async () => { + await writePackage("cycle-a", { "@fixture/cycle-b": "workspace:*" }); + await writePackage("cycle-b", { "@fixture/cycle-a": "workspace:*" }); + await run([]); + + const a = await readTsconfig("cycle-a"); + expect(a.compilerOptions?.["composite"]).toBeUndefined(); + expect(a.references ?? []).toEqual([]); + expect(await tsconfigExists("cycle-a", "tsconfig.src.json")).toBe(false); + }); + + // A package that is not itself part of a dependency cycle, but depends on + // one that is, must also be excluded from the composite graph. + // Half-excluding just the cycle members leaves their consumers pulling the + // excluded dependency's raw source directly into their own composite + // program, which TypeScript flags as a rootDir violation (TS6059) once it + // walks further into that source's own imports. + test("excludes a transitive (non-cyclic) consumer of a cyclic package", async () => { + await writePackage("cycle-a", { "@fixture/cycle-b": "workspace:*" }); + await writePackage("cycle-b", { "@fixture/cycle-a": "workspace:*" }); + await writePackage("consumer", { "@fixture/cycle-a": "workspace:*" }); + await run([]); + + const consumer = await readTsconfig("consumer"); + expect(consumer.compilerOptions?.["composite"]).toBeUndefined(); + expect(consumer.references ?? []).toEqual([]); + expect(await tsconfigExists("consumer", "tsconfig.src.json")).toBe(false); + }); + + test("excludes a two-hop transitive consumer of a cyclic package", async () => { + await writePackage("cycle-a", { "@fixture/cycle-b": "workspace:*" }); + await writePackage("cycle-b", { "@fixture/cycle-a": "workspace:*" }); + await writePackage("mid", { "@fixture/cycle-a": "workspace:*" }); + await writePackage("outer", { "@fixture/mid": "workspace:*" }); + await run([]); + + const outer = await readTsconfig("outer"); + expect(outer.compilerOptions?.["composite"]).toBeUndefined(); + expect(outer.references ?? []).toEqual([]); + }); + + test("does not exclude an unrelated package outside the cycle's dependents", async () => { + await writePackage("cycle-a", { "@fixture/cycle-b": "workspace:*" }); + await writePackage("cycle-b", { "@fixture/cycle-a": "workspace:*" }); + await writePackage("unrelated"); + await run([]); + + const unrelated = await readTsconfig("unrelated", "tsconfig.src.json"); + expect(unrelated.compilerOptions?.["composite"]).toBe(true); + }); + + test("excludes a package whose src imports a shared root script", async () => { + await writePackage( + "uses-harness", + {}, + { + srcFile: 'import { harness } from "../../../scripts/e2e/harness.ts";\n', + }, + ); + await run([]); + + expect(await tsconfigExists("uses-harness", "tsconfig.src.json")).toBe( + false, + ); + const config = await readTsconfig("uses-harness"); + expect(config.compilerOptions?.["composite"]).toBeUndefined(); + }); + + test("--check reports drift without writing", async () => { + await writePackage("leaf"); + const before = await readTsconfig("leaf"); + + const result = await run(["--check"]); + + expect(result.exitCode).toBe(1); + expect(result.stderr).toContain("tsconfig.json"); + expect(await readTsconfig("leaf")).toEqual(before); + }); + + test("--check passes once the tree is in sync", async () => { + await writePackage("leaf"); + await writePackage("consumer", { "@fixture/leaf": "workspace:*" }); + await run([]); + + const result = await run(["--check"]); + + expect(result.exitCode).toBe(0); + }); +}); diff --git a/scripts/generate-tsconfig-references.ts b/scripts/generate-tsconfig-references.ts new file mode 100644 index 000000000..171997268 --- /dev/null +++ b/scripts/generate-tsconfig-references.ts @@ -0,0 +1,616 @@ +// Derives each package's composite project settings from its own +// package.json `dependencies` (not `devDependencies` — a dev-only edge is +// not a type dependency and is the easiest way to introduce a spurious +// cycle) and a combined `tsconfig.json` that type-checks `src` + `test` +// together. Run with `--check` to fail instead of write, for use in +// `check:tsconfig-references`. +// +// Two tsconfigs per package, not one, and the composite one is NOT named +// `tsconfig.json` -- for two independent reasons: +// +// 1. A composite project's `references` must form a DAG, and test files +// routinely break that: they import `scripts/e2e/harness.ts` (a shared +// test helper, not a workspace package) which itself imports production +// packages like `@corbits/hub-client` -- so a package upstream of +// `hub-client` whose *tests* import the harness would otherwise put +// that package's own composite project in a cycle with itself. +// 2. Every tool that discovers a project by convention -- ESLint's +// `projectService`, an editor's language server, a bare `tsc` in the +// package directory -- looks for a file literally named `tsconfig.json` +// and does not know to also check a same-purpose file under a different +// name. Naming the composite src-only project `tsconfig.src.json` +// instead keeps `tsconfig.json` as the combined, conventionally-named +// project every such tool finds on its own; only `tsc --build` and the +// `references` of composite dependents need to know the other name +// exists, and they do so via an explicit path +// (`{"path": "../dep/tsconfig.src.json"}`, not a bare directory). +// +// Splitting src (composite, referenced by dependents, built by +// `tsc --build`) from the combined project (a leaf nothing depends on, so +// it can reference anything without risking a cycle) removes that whole +// class of failure. +import { existsSync } from "node:fs"; +import { relative } from "node:path"; +import { Glob } from "bun"; + +const WORKSPACE_ROOTS = [ + "apps", + "packages", + "tools", + "workflows", + "vendor/intx", +] as const; + +const SRC_CONFIG_NAME = "tsconfig.src.json"; + +type PackageManifest = { + readonly name: string; + readonly dir: string; + readonly workspaceDeps: readonly string[]; +}; + +async function readManifests(): Promise { + const manifests: PackageManifest[] = []; + for (const root of WORKSPACE_ROOTS) { + const glob = new Glob(`${root}/*/package.json`); + for await (const manifestPath of glob.scan(".")) { + const raw = (await Bun.file(manifestPath).json()) as { + name?: string; + dependencies?: Record; + }; + const dir = manifestPath.slice(0, -"/package.json".length); + manifests.push({ + name: raw.name ?? dir, + dir, + workspaceDeps: Object.entries(raw.dependencies ?? {}) + .filter(([, range]) => range.startsWith("workspace:")) + .map(([dep]) => dep), + }); + } + } + return manifests; +} + +type Tsconfig = { + extends?: string; + compilerOptions?: Record; + include?: string[]; + references?: { path: string }[]; + [key: string]: unknown; +}; + +const BUILD_COMPILER_OPTIONS = { + composite: true, + emitDeclarationOnly: true, + outDir: "dist", + tsBuildInfoFile: "dist/tsconfig.tsbuildinfo", +}; + +const COMBINED_COMPILER_OPTIONS = { + composite: false, + noEmit: true, + disableSourceOfProjectReferenceRedirect: true, + // `noEmit` alone does not turn off `rootDir` enforcement -- TypeScript + // still computes it for declaration output whenever `declaration` is on, + // which every project inherits from tsconfig.base.json. This project + // reaches test helpers and, through them, whatever those helpers import, + // all outside its own package directory; declaration output was never + // wanted here, so switch off everything that makes TypeScript care where + // those files live. + declaration: false, + declarationMap: false, + emitDeclarationOnly: false, +}; + +/** + * TypeScript project references must form a DAG: a single cycle anywhere + * makes `tsc --build` refuse the whole graph. The workspace's real `src` + * `dependencies` graph has one strongly-connected component (a handful of + * packages depend on each other, directly or transitively), so edges that + * stay inside the same component are dropped from `references` — those + * packages keep resolving each other's types via plain source imports, + * same as before this change, just without the composite build's + * skip-if-up-to-date benefit between themselves. + */ +function stronglyConnectedComponents( + manifests: readonly PackageManifest[], +): ReadonlyMap { + const byName = new Map(manifests.map((m) => [m.name, m])); + let counter = 0; + const indices = new Map(); + const lowlink = new Map(); + const onStack = new Set(); + const stack: string[] = []; + const componentOf = new Map(); + let nextComponentId = 0; + + function strongconnect(v: string): void { + indices.set(v, counter); + lowlink.set(v, counter); + counter += 1; + stack.push(v); + onStack.add(v); + + for (const w of byName.get(v)?.workspaceDeps ?? []) { + if (!byName.has(w)) continue; + if (!indices.has(w)) { + strongconnect(w); + lowlink.set( + v, + Math.min(lowlink.get(v) as number, lowlink.get(w) as number), + ); + } else if (onStack.has(w)) { + lowlink.set( + v, + Math.min(lowlink.get(v) as number, indices.get(w) as number), + ); + } + } + + if (lowlink.get(v) === indices.get(v)) { + const id = nextComponentId; + nextComponentId += 1; + let member: string | undefined; + do { + member = stack.pop(); + if (member === undefined) break; + onStack.delete(member); + componentOf.set(member, id); + } while (member !== v); + } + } + + for (const manifest of manifests) { + if (!indices.has(manifest.name)) strongconnect(manifest.name); + } + return componentOf; +} + +/** + * Packages in a multi-member strongly-connected component don't just drop + * the edges *within* that component (handled by `stronglyConnectedComponents` + * above) -- in practice the file-level import cycle that remains once one + * edge is dropped from a composite `--build` graph makes `tsc --build` + * pathologically slow (observed: single packages that never finished within + * five minutes, well past the 600s gate cap). These packages are excluded + * from the composite graph entirely rather than half-participating in it; + * see `cyclicNames` in `main`. + */ +function srcReferencePathsFor( + manifest: PackageManifest, + byName: ReadonlyMap, + withTsconfig: ReadonlySet, + cyclicNames: ReadonlySet, +): string[] { + const paths: string[] = []; + for (const dep of manifest.workspaceDeps) { + const target = byName.get(dep); + if (target === undefined || !withTsconfig.has(target.name)) continue; + if (cyclicNames.has(target.name)) continue; + const rel = relative(manifest.dir, target.dir) || "."; + const relDir = rel.startsWith(".") ? rel : `./${rel}`; + paths.push(`${relDir}/${SRC_CONFIG_NAME}`); + } + return paths.sort(); +} + +/** + * `scripts/e2e/harness.ts`, `scripts/db-setup.ts` and `test/isolation/setup.ts` + * are shared test/setup helpers that many packages import by relative path + * -- they are not workspace packages (no `package.json` dependency records + * the edge), are not composite, and pull in production packages themselves + * (`harness.ts` imports `@workbench/hub-client`), so they can never + * legally appear in a `references` array. A package's `test/` directory + * importing one is fine -- the combined non-composite project resolves it + * via plain source, same as any other undeclared import. A package's `src` + * importing one is not: a composite project cannot cross its rootDir via an + * undeclared relative import, so such a package is excluded from the + * composite graph entirely (see `excludedNames` in `main`), the same + * treatment as a real dependency cycle. + */ +const ROOT_SCRIPT_MARKERS = [ + /(?:from|import\()\s*["'][^"'\n]*scripts\/e2e[^"'\n]*["']/, + /(?:from|import\()\s*["'][^"'\n]*scripts\/db-setup[^"'\n]*["']/, + /(?:from|import\()\s*["'][^"'\n]*test\/isolation[^"'\n]*["']/, +] as const; + +// Matched as an import specifier (quoted), not a substring anywhere in the +// file -- a comment mentioning "scripts/db-setup.ts" is not an import of it. +async function importsRootScript(dir: string): Promise { + const glob = new Glob(`${dir}/**/*.ts`); + for await (const path of glob.scan(".")) { + if (path.includes("/dist/") || path.includes("/node_modules/")) continue; + const text = await Bun.file(path).text(); + if (ROOT_SCRIPT_MARKERS.some((pattern) => pattern.test(text))) return true; + } + return false; +} + +async function loadTsconfig(path: string): Promise { + const file = Bun.file(path); + if (!(await file.exists())) return undefined; + return (await file.json()) as Tsconfig; +} + +// Colocated unit tests (`src/**/*.test.ts`, see AGENTS.md) commonly reach +// outside `src` -- into the package's own `package.json`, or a `test/` +// fixtures module -- which the composite src project cannot allow across +// its rootDir. They are excluded here and picked up by the combined +// project's `include` instead, alongside a dedicated `test/` directory +// when present. +function withSrcFields( + dir: string, + config: Tsconfig, + referencePaths: readonly string[], +): Tsconfig { + const { + compilerOptions, + references: _oldReferences, + include, + exclude: _oldExclude, + extends: _oldExtends, + ...rest + } = config; + return { + // Not hand-copied from the seed: `vendor/intx/*` sits one directory + // deeper than `apps/*`/`packages/*`/`tools/*`/`workflows/*`, so a fixed + // "../../" string resolves to a path that doesn't exist for it -- an + // unresolvable `extends` silently drops everything the base config + // sets, `skipLibCheck` included, and node_modules' own .d.ts files + // start failing the build. + extends: `${relative(dir, ".")}/tsconfig.base.json`, + ...rest, + include: [ + ...(include ?? ["src"]).filter( + (entry) => + entry !== "test" && + entry !== "package.json" && + entry !== "src/**/*.json", + ), + "package.json", + "src/**/*.json", + ], + exclude: ["src/**/*.test.ts", "src/**/*.test.tsx"], + compilerOptions: { ...compilerOptions, ...BUILD_COMPILER_OPTIONS }, + ...(referencePaths.length > 0 + ? { references: referencePaths.map((path) => ({ path })) } + : {}), + }; +} + +// A cyclic package keeps the pre-change shape: no composite settings, no +// references, `src` + `test` checked together as one non-build project. It +// is excluded from `tsc --build` and checked separately; see +// scripts/typecheck.ts. +function withLegacyFields(config: Tsconfig): Tsconfig { + const { + compilerOptions, + references: _oldReferences, + include, + exclude: _oldExclude, + ...rest + } = config; + const { + composite: _c, + emitDeclarationOnly: _e, + outDir: _o, + tsBuildInfoFile: _t, + ...restOptions + } = compilerOptions ?? {}; + const cleanedInclude = (include ?? ["src"]).filter( + (entry) => entry !== "package.json" && entry !== "src/**/*.json", + ); + return { + ...rest, + include: cleanedInclude.includes("test") + ? cleanedInclude + : [...cleanedInclude, "test"], + compilerOptions: { ...restOptions, noEmit: true }, + }; +} + +function legacyFieldsMatch(current: Tsconfig, next: Tsconfig): boolean { + const currentOptions = current.compilerOptions ?? {}; + for (const key of Object.keys(BUILD_COMPILER_OPTIONS)) { + if (key in currentOptions) return false; + } + if (currentOptions.noEmit !== true) return false; + if (current.references !== undefined) return false; + return listsMatch(current.include, next.include); +} + +// The combined project: everyone's `tsconfig.json` by name, so every tool +// that discovers a project by convention (ESLint's `projectService`, an +// editor, a bare `tsc` invocation) finds it without being told the +// composite project exists at all. +function combinedConfigFor( + dir: string, + referencePaths: readonly string[], + hasTestDir: boolean, + extraInclude: readonly string[], +): Tsconfig { + const baseInclude = hasTestDir ? ["src", "test"] : ["src"]; + return { + extends: `./${SRC_CONFIG_NAME}`, + compilerOptions: { + ...COMBINED_COMPILER_OPTIONS, + // `extends` still carries `outDir: "dist"` down from the composite + // src config. With an `outDir` but no explicit `rootDir`, TypeScript + // infers `rootDir` from `include` alone -- "src" and "test" -- not + // from the full set of files the program actually reaches. A test + // file importing a shared test helper (which itself imports whatever + // production code that helper touches) reaches files nowhere near + // "src"/"test", and TS6059s on every one of them despite `noEmit`. + // An explicit `rootDir` at the repository root is a real ancestor of + // every file the workspace can ever reach, so the check always + // passes; nothing is emitted here regardless. + rootDir: relative(dir, ".") || ".", + }, + // A package can have content outside src/test that nothing else here + // knows about (packages/e2b-sandbox-sidecar's `template/`, a sandbox + // asset tree read at runtime, not imported) -- carried forward from + // whatever the package's own tsconfig.json already declared rather + // than silently dropped by rebuilding `include` from a fixed list. + include: [...new Set([...baseInclude, ...extraInclude])], + exclude: [], + ...(referencePaths.length > 0 + ? { references: referencePaths.map((path) => ({ path })) } + : {}), + }; +} + +// Formatting is prettier's job (enforced separately by `bun run lint`), so +// drift is judged on the meaningful fields only, not on whitespace. +function srcFieldsMatch(current: Tsconfig, next: Tsconfig): boolean { + if (current.extends !== next.extends) return false; + const currentOptions = current.compilerOptions ?? {}; + const nextOptions = next.compilerOptions ?? {}; + for (const key of Object.keys(BUILD_COMPILER_OPTIONS)) { + if (currentOptions[key] !== nextOptions[key]) return false; + } + if (!referencesMatch(current.references, next.references)) return false; + if (!listsMatch(current.include, next.include)) return false; + return listsMatch( + current.exclude as string[] | undefined, + next.exclude as string[] | undefined, + ); +} + +function listsMatch( + current: readonly string[] | undefined, + next: readonly string[] | undefined, +): boolean { + const a = [...(current ?? [])].sort(); + const b = [...(next ?? [])].sort(); + return a.length === b.length && a.every((v, i) => v === b[i]); +} + +function referencesMatch( + current: Tsconfig["references"], + next: Tsconfig["references"], +): boolean { + const currentPaths = (current ?? []).map((r) => r.path).sort(); + const nextPaths = (next ?? []).map((r) => r.path).sort(); + return ( + currentPaths.length === nextPaths.length && + currentPaths.every((path, i) => path === nextPaths[i]) + ); +} + +function combinedFieldsMatch( + current: Tsconfig | undefined, + next: Tsconfig, +): boolean { + if (current === undefined) return false; + const currentOptions = current.compilerOptions ?? {}; + const nextOptions = next.compilerOptions ?? {}; + for (const key of [...Object.keys(COMBINED_COMPILER_OPTIONS), "rootDir"]) { + if (currentOptions[key] !== nextOptions[key]) return false; + } + if (current.extends !== next.extends) return false; + return ( + referencesMatch(current.references, next.references) && + listsMatch(current.include, next.include) + ); +} + +async function main(): Promise { + const checkOnly = process.argv.includes("--check"); + const manifests = await readManifests(); + const byName = new Map(manifests.map((m) => [m.name, m])); + const componentOf = stronglyConnectedComponents(manifests); + const componentSizes = new Map(); + for (const id of componentOf.values()) { + componentSizes.set(id, (componentSizes.get(id) ?? 0) + 1); + } + const cyclicNames = new Set( + [...componentOf.entries()] + .filter(([, id]) => (componentSizes.get(id) ?? 0) > 1) + .map(([name]) => name), + ); + const excludedNames = new Set(cyclicNames); + for (const manifest of manifests) { + if (await importsRootScript(`${manifest.dir}/src`)) { + excludedNames.add(manifest.name); + } + } + + // Excluding a package from the composite graph without also excluding + // every package that depends on it is not a smaller version of the same + // fix -- it is broken. A composite project cannot put a non-composite + // dependency in `references` (no declarations to consume), so it falls + // back to resolving that dependency's *source* directly. TypeScript then + // keeps walking that source's own imports -- test helpers included -- + // with no project boundary to stop at, and flags every file it reaches + // outside the dependent's rootDir. The exclusion has to propagate to + // every transitive consumer, not just the packages in the cycle itself. + let excludedGrew = true; + while (excludedGrew) { + excludedGrew = false; + for (const manifest of manifests) { + if (excludedNames.has(manifest.name)) continue; + if (manifest.workspaceDeps.some((dep) => excludedNames.has(dep))) { + excludedNames.add(manifest.name); + excludedGrew = true; + } + } + } + + // The combined `tsconfig.json` is the thing every package has always + // had; it's the seed for a composite package's `tsconfig.src.json` + // (carrying forward any package-specific compilerOptions, like + // `types: ["bun"]`) and, for a legacy package, the file itself. + const existingCombined = new Map(); + for (const manifest of manifests) { + const config = await loadTsconfig(`${manifest.dir}/tsconfig.json`); + if (config !== undefined) existingCombined.set(manifest.name, config); + } + const withTsconfig = new Set(existingCombined.keys()); + + const drifted: string[] = []; + const written: string[] = []; + const removed: string[] = []; + for (const manifest of manifests) { + const currentCombined = existingCombined.get(manifest.name); + if (currentCombined === undefined) continue; + + const srcConfigPath = `${manifest.dir}/${SRC_CONFIG_NAME}`; + + if (excludedNames.has(manifest.name)) { + const nextLegacy = withLegacyFields(currentCombined); + if (!legacyFieldsMatch(currentCombined, nextLegacy)) { + if (checkOnly) { + drifted.push(`${manifest.dir}/tsconfig.json`); + } else { + const path = `${manifest.dir}/tsconfig.json`; + await Bun.write(path, `${JSON.stringify(nextLegacy, null, 2)}\n`); + written.push(path); + } + } + if (existsSync(srcConfigPath)) { + if (checkOnly) drifted.push(srcConfigPath); + else { + // Removed, not written -- prettier has nothing left to format. + await Bun.file(srcConfigPath).delete(); + removed.push(srcConfigPath); + } + } + continue; + } + + const srcReferences = srcReferencePathsFor( + manifest, + byName, + withTsconfig, + excludedNames, + ); + // The current tsconfig.src.json (if this isn't the first run) carries + // any package-specific compilerOptions already merged in; fall back to + // the combined file only the very first time a package joins the + // composite graph. + const srcSeed = (await loadTsconfig(srcConfigPath)) ?? currentCombined; + const nextSrc = withSrcFields(manifest.dir, srcSeed, srcReferences); + const currentSrc = await loadTsconfig(srcConfigPath); + if (currentSrc === undefined || !srcFieldsMatch(currentSrc, nextSrc)) { + if (checkOnly) { + drifted.push(srcConfigPath); + } else { + await Bun.write(srcConfigPath, `${JSON.stringify(nextSrc, null, 2)}\n`); + written.push(srcConfigPath); + } + } + + const hasTestDir = existsSync(`${manifest.dir}/test`); + const extraInclude = (currentCombined.include ?? []).filter( + (entry) => entry !== "src" && entry !== "test", + ); + const nextCombined = combinedConfigFor( + manifest.dir, + srcReferences, + hasTestDir, + extraInclude, + ); + if (!combinedFieldsMatch(currentCombined, nextCombined)) { + if (checkOnly) { + drifted.push(`${manifest.dir}/tsconfig.json`); + } else { + const path = `${manifest.dir}/tsconfig.json`; + await Bun.write(path, `${JSON.stringify(nextCombined, null, 2)}\n`); + written.push(path); + } + } + + // `tsconfig.test.json` predates the rename above -- the combined + // project it held now lives at `tsconfig.json` directly. + const stalePath = `${manifest.dir}/tsconfig.test.json`; + if (existsSync(stalePath)) { + if (checkOnly) { + drifted.push(stalePath); + } else { + await Bun.file(stalePath).delete(); + removed.push(stalePath); + } + } + } + + // `tsc --build` given many unrelated root projects as separate CLI + // arguments shares source-file/diagnostic state across them in a way that + // misattributes `rootDir` violations to the wrong project entirely + // (observed: a clean project reported errors that belonged to a project + // built earlier in the same invocation). Handing it one root -- a + // solution file whose only content is `references` to every composite + // project's tsconfig.src.json -- avoids that: `tsc --build` still walks + // the full transitive graph and skips whatever is already up to date, + // but the diagnostic state is no longer split across sibling root + // arguments. + const solutionReferences = manifests + .filter( + (manifest) => + existingCombined.has(manifest.name) && + !excludedNames.has(manifest.name), + ) + .map((manifest) => manifest.dir) + .sort() + .map((dir) => ({ path: `./${dir}/${SRC_CONFIG_NAME}` })); + const solutionPath = "tsconfig.build.json"; + const nextSolution: Tsconfig = { + files: [], + references: solutionReferences, + }; + const currentSolution = await loadTsconfig(solutionPath); + if ( + currentSolution === undefined || + !referencesMatch(currentSolution.references, nextSolution.references) + ) { + if (checkOnly) { + drifted.push(solutionPath); + } else { + await Bun.write( + solutionPath, + `${JSON.stringify(nextSolution, null, 2)}\n`, + ); + written.push(solutionPath); + } + } + + if (checkOnly && drifted.length > 0) { + console.error( + `tsconfig references are out of sync with package.json dependencies in ${drifted.length} file(s):\n${drifted.map((d) => ` ${d}`).join("\n")}\nRun: bun run scripts/generate-tsconfig-references.ts`, + ); + process.exit(1); + } + + if (!checkOnly && written.length > 0) { + const format = Bun.spawn(["bunx", "prettier", "--write", ...written], { + stdout: "inherit", + stderr: "inherit", + }); + await format.exited; + } + if (!checkOnly && removed.length > 0) { + console.error(`removed ${removed.length} stale file(s):`); + for (const path of removed) console.error(` ${path}`); + } +} + +await main(); diff --git a/scripts/git-hooks/pre-push b/scripts/git-hooks/pre-push index ef62e1982..6b3694c94 100755 --- a/scripts/git-hooks/pre-push +++ b/scripts/git-hooks/pre-push @@ -6,10 +6,6 @@ if [ -n "${SKIP_WORKBENCH_HOOKS:-}" ] || [ -n "${CI:-}" ]; then exit 0 fi -if git rev-parse --verify --quiet origin/main >/dev/null; then - export WORKBENCH_CHECK_SINCE=origin/main -fi - bun run lint bun run typecheck bun run test diff --git a/scripts/hooks-install.test.ts b/scripts/hooks-install.test.ts index 85c7f9343..dc9b978dc 100644 --- a/scripts/hooks-install.test.ts +++ b/scripts/hooks-install.test.ts @@ -136,8 +136,6 @@ describe("pre-push hook", () => { expect(source).toContain("bun run lint"); expect(source).toContain("bun run typecheck"); expect(source).toContain("bun run test"); - expect(source).toContain("WORKBENCH_CHECK_SINCE"); - expect(source).toContain("origin/main"); }); }); diff --git a/scripts/run-all.test.ts b/scripts/run-all.test.ts index cff184d18..834dd3c91 100644 --- a/scripts/run-all.test.ts +++ b/scripts/run-all.test.ts @@ -64,22 +64,9 @@ async function runProbe( const logPath = join(workspace, `probe-${logCounter}.log`); await writeFile(logPath, ""); - // These cases assert the runner's own fan-out over a fixture workspace, so - // they must not inherit the caller's gate configuration. A developer with - // WORKBENCH_CHECK_SINCE exported resolves the filter against the real repo's - // git rather than the fixture, every probe package reads as unaffected, and - // the runner correctly reports "nothing affected" — failing tests that are - // actually about something else. GITHUB_ACTIONS would also change the - // default fan-out, so a case that wants either variable sets it through - // `extraEnv`. - const { - WORKBENCH_CHECK_SINCE: _since, - GITHUB_ACTIONS: _actions, - ...ambient - } = process.env; const child = Bun.spawn(["bun", "run", RUNNER, script], { cwd: workspace, - env: { ...ambient, PROBE_LOG: logPath, ...extraEnv }, + env: { ...process.env, PROBE_LOG: logPath, ...extraEnv }, stdout: "pipe", stderr: "pipe", }); diff --git a/scripts/run-all.ts b/scripts/run-all.ts index 958e63abf..316e88d06 100644 --- a/scripts/run-all.ts +++ b/scripts/run-all.ts @@ -4,10 +4,9 @@ import { Glob } from "bun"; import { availableParallelism } from "node:os"; +import { CONCURRENCY_ENV } from "./concurrency.ts"; import { SEQUENTIAL_SCRIPTS } from "./sequential-scripts.ts"; -const CONCURRENCY_ENV = "WORKBENCH_CHECK_CONCURRENCY"; - type Job = { readonly name: string; readonly dir: string }; export function resolveConcurrency( @@ -86,63 +85,6 @@ async function runJob(job: Job, script: string): Promise { return code; } -const SINCE_ENV = "WORKBENCH_CHECK_SINCE"; - -/** - * The files this change touches, relative to `ref`: everything committed since - * the merge base, plus whatever is still uncommitted. Uncommitted work counts - * because the gate runs before the commit exists. - */ -function changedFilesSince(ref: string): string[] { - const base = - Bun.spawnSync(["git", "merge-base", "HEAD", ref]) - .stdout.toString() - .trim() || ref; - const committed = Bun.spawnSync([ - "git", - "diff", - "--name-only", - `${base}...HEAD`, - ]); - const working = Bun.spawnSync(["git", "status", "--porcelain"]); - return [ - ...committed.stdout.toString().split("\n"), - ...working.stdout - .toString() - .split("\n") - .map((line) => line.slice(3)), - ] - .map((file) => file.trim()) - .filter((file) => file.length > 0); -} - -/** - * Narrows the job list to packages this change can actually break. Opt-in: - * without the env var every package runs, so CI and a bare `bun run check` - * keep their existing all-packages meaning. - */ -async function narrowToAffected(jobs: readonly Job[]): Promise { - const ref = process.env[SINCE_ENV]; - if (ref === undefined || ref === "") return [...jobs]; - - const { affectedPackages, readManifests } = await import("./affected.ts"); - const affected = affectedPackages( - changedFilesSince(ref), - await readManifests(), - ); - if (affected === "all") { - console.error( - `${SINCE_ENV}=${ref}: change is repo-wide, running every package`, - ); - return [...jobs]; - } - const narrowed = jobs.filter((job) => affected.has(job.name)); - console.error( - `${SINCE_ENV}=${ref}: ${narrowed.length} of ${jobs.length} package(s) affected`, - ); - return narrowed; -} - if (import.meta.main) { const scriptArg = process.argv[2]; if (!scriptArg) { @@ -159,14 +101,9 @@ if (import.meta.main) { process.exit(1); } - const discovered = await discover(script); - const jobs = await narrowToAffected(discovered); + const jobs = await discover(script); if (jobs.length === 0) { - const reason = - discovered.length === 0 - ? "no workspace packages define it yet" - : "nothing affected by this change"; - console.log(`${script}: ${reason}`); + console.log(`${script}: no workspace packages define it yet`); process.exit(0); } diff --git a/scripts/typecheck.ts b/scripts/typecheck.ts new file mode 100644 index 000000000..eccead860 --- /dev/null +++ b/scripts/typecheck.ts @@ -0,0 +1,97 @@ +// Builds the composite project-reference graph with `tsc --build`, so +// TypeScript's own incremental engine (dependency order, skip anything +// already up to date) replaces the per-package fanout this script used to +// run: 94 independent `tsc --noEmit` processes that could not share a +// single result and each re-checked the full source of every transitive +// workspace dependency. +// +// `tsc --build` is invoked against a single generated solution file +// (`tsconfig.build.json`, a `references`-only manifest kept in sync by +// scripts/generate-tsconfig-references.ts), not against every composite +// project's tsconfig.src.json as separate command-line roots. Handing it +// many unrelated roots in one invocation was tried first and produces +// incorrect results: `tsc --build` shares source-file/diagnostic state +// across sibling root arguments, and can misattribute a `rootDir` +// violation from one project's dependency graph to a project that has +// nothing to do with it. A single root project (however it reaches every +// other project, via `references`) does not have this problem, and still +// gets the same dependency-order build with the same up-to-date skipping. +// +// Every package's combined `tsconfig.json` (src + test together) is then +// checked separately, in parallel -- see scripts/generate-tsconfig-references.ts +// for why the composite src-only project (`tsconfig.src.json`, used only by +// the build above and by composite dependents' `references`) can't include +// test files itself. This is the same shape for every package regardless +// of whether it has a `tsconfig.src.json` at all: a package excluded from +// the composite graph entirely (a real dependency cycle, or a transitive +// consumer of one) never had a split in the first place, and its plain +// `tsconfig.json` already covers src + test together. +import { Glob } from "bun"; + +import { resolveConcurrency } from "./concurrency.ts"; + +const PROJECT_GLOBS = [ + "apps/*/tsconfig.json", + "packages/*/tsconfig.json", + "tools/*/tsconfig.json", + "workflows/*/tsconfig.json", + "vendor/intx/*/tsconfig.json", +]; + +async function discoverProjectPaths(): Promise { + const paths: string[] = []; + for (const pattern of PROJECT_GLOBS) { + const glob = new Glob(pattern); + for await (const path of glob.scan(".")) { + paths.push(path); + } + } + return paths; +} + +async function run(command: string[]): Promise { + const proc = Bun.spawn(command, { stdout: "inherit", stderr: "inherit" }); + return proc.exited; +} + +async function runInParallel(commands: readonly string[][]): Promise { + if (commands.length === 0) return true; + const concurrency = resolveConcurrency(); + let index = 0; + let ok = true; + async function worker(): Promise { + while (index < commands.length) { + const command = commands[index]; + index += 1; + if (command === undefined) return; + const code = await run(command); + if (code !== 0) ok = false; + } + } + await Promise.all( + Array.from({ length: Math.min(concurrency, commands.length) }, worker), + ); + return ok; +} + +const buildCode = await run(["bunx", "tsc", "--build", "tsconfig.build.json"]); +if (buildCode !== 0) process.exit(buildCode); + +const projectPaths = await discoverProjectPaths(); +const projectCommands = projectPaths.map((path) => [ + "bunx", + "tsc", + "-p", + path, + "--noEmit", +]); + +const projectsOk = await runInParallel(projectCommands); + +const [rootCode, isolationCode] = await Promise.all([ + run(["bunx", "tsc", "-p", "tsconfig.json", "--noEmit"]), + run(["bunx", "tsc", "-p", "test/isolation/tsconfig.json", "--noEmit"]), +]); +if (!projectsOk || rootCode !== 0 || isolationCode !== 0) { + process.exit(1); +} diff --git a/test/isolation/tsconfig.json b/test/isolation/tsconfig.json index 1190d7438..0a385236b 100644 --- a/test/isolation/tsconfig.json +++ b/test/isolation/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "types": ["bun"] + "types": ["bun"], + "noEmit": true }, "include": ["*.ts"] } diff --git a/tsconfig.base.json b/tsconfig.base.json index 0b4053569..d7a4239a7 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -17,7 +17,6 @@ "declaration": true, "declarationMap": true, "module": "ESNext", - "noEmit": true, "incremental": true, "lib": ["ESNext"] } diff --git a/tsconfig.build.json b/tsconfig.build.json new file mode 100644 index 000000000..4149945da --- /dev/null +++ b/tsconfig.build.json @@ -0,0 +1,275 @@ +{ + "files": [], + "references": [ + { + "path": "./apps/sidecar/tsconfig.src.json" + }, + { + "path": "./packages/agent-directory-tools/tsconfig.src.json" + }, + { + "path": "./packages/agent-events/tsconfig.src.json" + }, + { + "path": "./packages/agent-lifecycle/tsconfig.src.json" + }, + { + "path": "./packages/agent-runtime/tsconfig.src.json" + }, + { + "path": "./packages/agent-workflow-authoring/tsconfig.src.json" + }, + { + "path": "./packages/api-query/tsconfig.src.json" + }, + { + "path": "./packages/approvals/tsconfig.src.json" + }, + { + "path": "./packages/artifact-ui/tsconfig.src.json" + }, + { + "path": "./packages/bench/tsconfig.src.json" + }, + { + "path": "./packages/bench-ui/tsconfig.src.json" + }, + { + "path": "./packages/capability-tools/tsconfig.src.json" + }, + { + "path": "./packages/catalog-tools/tsconfig.src.json" + }, + { + "path": "./packages/client-log/tsconfig.src.json" + }, + { + "path": "./packages/code-review/tsconfig.src.json" + }, + { + "path": "./packages/collections/tsconfig.src.json" + }, + { + "path": "./packages/command-palette/tsconfig.src.json" + }, + { + "path": "./packages/commands/tsconfig.src.json" + }, + { + "path": "./packages/context-menu/tsconfig.src.json" + }, + { + "path": "./packages/credential-providers/tsconfig.src.json" + }, + { + "path": "./packages/docker-provisioner/tsconfig.src.json" + }, + { + "path": "./packages/e2b-sandbox-sidecar/tsconfig.src.json" + }, + { + "path": "./packages/echo/tsconfig.src.json" + }, + { + "path": "./packages/error-sink/tsconfig.src.json" + }, + { + "path": "./packages/github-tools/tsconfig.src.json" + }, + { + "path": "./packages/gotenberg-render/tsconfig.src.json" + }, + { + "path": "./packages/granola-tools/tsconfig.src.json" + }, + { + "path": "./packages/icons/tsconfig.src.json" + }, + { + "path": "./packages/inbox/tsconfig.src.json" + }, + { + "path": "./packages/inference-catalog/tsconfig.src.json" + }, + { + "path": "./packages/interaction-tools/tsconfig.src.json" + }, + { + "path": "./packages/jimmy-agent/tsconfig.src.json" + }, + { + "path": "./packages/linear-tools/tsconfig.src.json" + }, + { + "path": "./packages/manus-tools/tsconfig.src.json" + }, + { + "path": "./packages/mcp-tools/tsconfig.src.json" + }, + { + "path": "./packages/memory-tools/tsconfig.src.json" + }, + { + "path": "./packages/migration-runner/tsconfig.src.json" + }, + { + "path": "./packages/mocks/tsconfig.src.json" + }, + { + "path": "./packages/notify/tsconfig.src.json" + }, + { + "path": "./packages/ollama-adapter/tsconfig.src.json" + }, + { + "path": "./packages/preferences/tsconfig.src.json" + }, + { + "path": "./packages/presence/tsconfig.src.json" + }, + { + "path": "./packages/reddit-tools/tsconfig.src.json" + }, + { + "path": "./packages/routines-tools/tsconfig.src.json" + }, + { + "path": "./packages/run-key-history/tsconfig.src.json" + }, + { + "path": "./packages/sandbox-sidecar/tsconfig.src.json" + }, + { + "path": "./packages/scout-agent/tsconfig.src.json" + }, + { + "path": "./packages/shell-layout/tsconfig.src.json" + }, + { + "path": "./packages/sidecar-placement/tsconfig.src.json" + }, + { + "path": "./packages/skills/tsconfig.src.json" + }, + { + "path": "./packages/skills-tools/tsconfig.src.json" + }, + { + "path": "./packages/slug/tsconfig.src.json" + }, + { + "path": "./packages/text-diff/tsconfig.src.json" + }, + { + "path": "./packages/tool-registry-publish/tsconfig.src.json" + }, + { + "path": "./packages/tools-skills/tsconfig.src.json" + }, + { + "path": "./packages/turn-artifacts/tsconfig.src.json" + }, + { + "path": "./packages/url-path/tsconfig.src.json" + }, + { + "path": "./packages/web-search-tools/tsconfig.src.json" + }, + { + "path": "./packages/workflow-deploy-source/tsconfig.src.json" + }, + { + "path": "./packages/workflow-freeze/tsconfig.src.json" + }, + { + "path": "./packages/workflow-source/tsconfig.src.json" + }, + { + "path": "./vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "./vendor/intx/db/tsconfig.src.json" + }, + { + "path": "./vendor/intx/harness/tsconfig.src.json" + }, + { + "path": "./vendor/intx/hub-agent/tsconfig.src.json" + }, + { + "path": "./vendor/intx/hub-api/tsconfig.src.json" + }, + { + "path": "./vendor/intx/hub-sessions/tsconfig.src.json" + }, + { + "path": "./vendor/intx/inference/tsconfig.src.json" + }, + { + "path": "./vendor/intx/mail-memory/tsconfig.src.json" + }, + { + "path": "./vendor/intx/mailbox/tsconfig.src.json" + }, + { + "path": "./vendor/intx/mime/tsconfig.src.json" + }, + { + "path": "./vendor/intx/types/tsconfig.src.json" + }, + { + "path": "./vendor/intx/workflow/tsconfig.src.json" + }, + { + "path": "./vendor/intx/workflow-deploy/tsconfig.src.json" + }, + { + "path": "./vendor/intx/workflow-host/tsconfig.src.json" + }, + { + "path": "./workflows/assistant/tsconfig.src.json" + }, + { + "path": "./workflows/attio-task-agent/tsconfig.src.json" + }, + { + "path": "./workflows/code-review/tsconfig.src.json" + }, + { + "path": "./workflows/collateral-generation/tsconfig.src.json" + }, + { + "path": "./workflows/diligence-brief/tsconfig.src.json" + }, + { + "path": "./workflows/echo/tsconfig.src.json" + }, + { + "path": "./workflows/exa-topic-watch/tsconfig.src.json" + }, + { + "path": "./workflows/granola-call/tsconfig.src.json" + }, + { + "path": "./workflows/heartbeat/tsconfig.src.json" + }, + { + "path": "./workflows/last-30-days-research/tsconfig.src.json" + }, + { + "path": "./workflows/morning-brief/tsconfig.src.json" + }, + { + "path": "./workflows/pain-point-collateral/tsconfig.src.json" + }, + { + "path": "./workflows/process-granola-call/tsconfig.src.json" + }, + { + "path": "./workflows/reddit-opportunity-scanner/tsconfig.src.json" + }, + { + "path": "./workflows/workbench-digest/tsconfig.src.json" + } + ] +} diff --git a/tsconfig.json b/tsconfig.json index f60fc0a81..9075ed8ec 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,4 +1,7 @@ { "extends": "./tsconfig.base.json", + "compilerOptions": { + "noEmit": true + }, "include": ["scripts/**/*.ts", "eslint.config.ts"] } diff --git a/vendor/intx/agent/tsconfig.json b/vendor/intx/agent/tsconfig.json index dbbb0384b..8b651e776 100644 --- a/vendor/intx/agent/tsconfig.json +++ b/vendor/intx/agent/tsconfig.json @@ -1,11 +1,27 @@ { - "extends": "../tsconfig.base.json", + "extends": "./tsconfig.src.json", + "compilerOptions": { + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../../.." + }, "include": [ - "src/**/*.ts" + "src" ], - "compilerOptions": { - "types": [ - "bun" - ] - } + "exclude": [], + "references": [ + { + "path": "../inference/tsconfig.src.json" + }, + { + "path": "../mime/tsconfig.src.json" + }, + { + "path": "../types/tsconfig.src.json" + } + ] } diff --git a/vendor/intx/agent/tsconfig.src.json b/vendor/intx/agent/tsconfig.src.json new file mode 100644 index 000000000..8e3349006 --- /dev/null +++ b/vendor/intx/agent/tsconfig.src.json @@ -0,0 +1,32 @@ +{ + "extends": "../../../tsconfig.base.json", + "include": [ + "src/**/*.ts", + "package.json", + "src/**/*.json" + ], + "exclude": [ + "src/**/*.test.ts", + "src/**/*.test.tsx" + ], + "compilerOptions": { + "types": [ + "bun" + ], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../inference/tsconfig.src.json" + }, + { + "path": "../mime/tsconfig.src.json" + }, + { + "path": "../types/tsconfig.src.json" + } + ] +} diff --git a/vendor/intx/db/tsconfig.json b/vendor/intx/db/tsconfig.json index dbbb0384b..c1f36b2a5 100644 --- a/vendor/intx/db/tsconfig.json +++ b/vendor/intx/db/tsconfig.json @@ -1,11 +1,21 @@ { - "extends": "../tsconfig.base.json", + "extends": "./tsconfig.src.json", + "compilerOptions": { + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../../.." + }, "include": [ - "src/**/*.ts" + "src" ], - "compilerOptions": { - "types": [ - "bun" - ] - } + "exclude": [], + "references": [ + { + "path": "../types/tsconfig.src.json" + } + ] } diff --git a/vendor/intx/db/tsconfig.src.json b/vendor/intx/db/tsconfig.src.json new file mode 100644 index 000000000..cb9a26719 --- /dev/null +++ b/vendor/intx/db/tsconfig.src.json @@ -0,0 +1,26 @@ +{ + "extends": "../../../tsconfig.base.json", + "include": [ + "src/**/*.ts", + "package.json", + "src/**/*.json" + ], + "exclude": [ + "src/**/*.test.ts", + "src/**/*.test.tsx" + ], + "compilerOptions": { + "types": [ + "bun" + ], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../types/tsconfig.src.json" + } + ] +} diff --git a/vendor/intx/harness/tsconfig.json b/vendor/intx/harness/tsconfig.json index dbbb0384b..8cec81109 100644 --- a/vendor/intx/harness/tsconfig.json +++ b/vendor/intx/harness/tsconfig.json @@ -1,11 +1,24 @@ { - "extends": "../tsconfig.base.json", + "extends": "./tsconfig.src.json", + "compilerOptions": { + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../../.." + }, "include": [ - "src/**/*.ts" + "src" ], - "compilerOptions": { - "types": [ - "bun" - ] - } + "exclude": [], + "references": [ + { + "path": "../agent/tsconfig.src.json" + }, + { + "path": "../types/tsconfig.src.json" + } + ] } diff --git a/vendor/intx/harness/tsconfig.src.json b/vendor/intx/harness/tsconfig.src.json new file mode 100644 index 000000000..19b7665ec --- /dev/null +++ b/vendor/intx/harness/tsconfig.src.json @@ -0,0 +1,29 @@ +{ + "extends": "../../../tsconfig.base.json", + "include": [ + "src/**/*.ts", + "package.json", + "src/**/*.json" + ], + "exclude": [ + "src/**/*.test.ts", + "src/**/*.test.tsx" + ], + "compilerOptions": { + "types": [ + "bun" + ], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../agent/tsconfig.src.json" + }, + { + "path": "../types/tsconfig.src.json" + } + ] +} diff --git a/vendor/intx/hub-agent/tsconfig.json b/vendor/intx/hub-agent/tsconfig.json index dbbb0384b..b38444afe 100644 --- a/vendor/intx/hub-agent/tsconfig.json +++ b/vendor/intx/hub-agent/tsconfig.json @@ -1,11 +1,27 @@ { - "extends": "../tsconfig.base.json", + "extends": "./tsconfig.src.json", + "compilerOptions": { + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../../.." + }, "include": [ - "src/**/*.ts" + "src" ], - "compilerOptions": { - "types": [ - "bun" - ] - } + "exclude": [], + "references": [ + { + "path": "../harness/tsconfig.src.json" + }, + { + "path": "../mail-memory/tsconfig.src.json" + }, + { + "path": "../types/tsconfig.src.json" + } + ] } diff --git a/vendor/intx/hub-agent/tsconfig.src.json b/vendor/intx/hub-agent/tsconfig.src.json new file mode 100644 index 000000000..769b38045 --- /dev/null +++ b/vendor/intx/hub-agent/tsconfig.src.json @@ -0,0 +1,32 @@ +{ + "extends": "../../../tsconfig.base.json", + "include": [ + "src/**/*.ts", + "package.json", + "src/**/*.json" + ], + "exclude": [ + "src/**/*.test.ts", + "src/**/*.test.tsx" + ], + "compilerOptions": { + "types": [ + "bun" + ], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../harness/tsconfig.src.json" + }, + { + "path": "../mail-memory/tsconfig.src.json" + }, + { + "path": "../types/tsconfig.src.json" + } + ] +} diff --git a/vendor/intx/hub-api/tsconfig.json b/vendor/intx/hub-api/tsconfig.json index dbbb0384b..09bb003d7 100644 --- a/vendor/intx/hub-api/tsconfig.json +++ b/vendor/intx/hub-api/tsconfig.json @@ -1,11 +1,36 @@ { - "extends": "../tsconfig.base.json", + "extends": "./tsconfig.src.json", + "compilerOptions": { + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../../.." + }, "include": [ - "src/**/*.ts" + "src" ], - "compilerOptions": { - "types": [ - "bun" - ] - } + "exclude": [], + "references": [ + { + "path": "../agent/tsconfig.src.json" + }, + { + "path": "../db/tsconfig.src.json" + }, + { + "path": "../hub-sessions/tsconfig.src.json" + }, + { + "path": "../mime/tsconfig.src.json" + }, + { + "path": "../types/tsconfig.src.json" + }, + { + "path": "../workflow-deploy/tsconfig.src.json" + } + ] } diff --git a/vendor/intx/hub-api/tsconfig.src.json b/vendor/intx/hub-api/tsconfig.src.json new file mode 100644 index 000000000..9a57039b1 --- /dev/null +++ b/vendor/intx/hub-api/tsconfig.src.json @@ -0,0 +1,41 @@ +{ + "extends": "../../../tsconfig.base.json", + "include": [ + "src/**/*.ts", + "package.json", + "src/**/*.json" + ], + "exclude": [ + "src/**/*.test.ts", + "src/**/*.test.tsx" + ], + "compilerOptions": { + "types": [ + "bun" + ], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../agent/tsconfig.src.json" + }, + { + "path": "../db/tsconfig.src.json" + }, + { + "path": "../hub-sessions/tsconfig.src.json" + }, + { + "path": "../mime/tsconfig.src.json" + }, + { + "path": "../types/tsconfig.src.json" + }, + { + "path": "../workflow-deploy/tsconfig.src.json" + } + ] +} diff --git a/vendor/intx/hub-sessions/tsconfig.json b/vendor/intx/hub-sessions/tsconfig.json index dbbb0384b..a0a31f77f 100644 --- a/vendor/intx/hub-sessions/tsconfig.json +++ b/vendor/intx/hub-sessions/tsconfig.json @@ -1,11 +1,39 @@ { - "extends": "../tsconfig.base.json", + "extends": "./tsconfig.src.json", + "compilerOptions": { + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../../.." + }, "include": [ - "src/**/*.ts" + "src" ], - "compilerOptions": { - "types": [ - "bun" - ] - } + "exclude": [], + "references": [ + { + "path": "../agent/tsconfig.src.json" + }, + { + "path": "../db/tsconfig.src.json" + }, + { + "path": "../inference/tsconfig.src.json" + }, + { + "path": "../mime/tsconfig.src.json" + }, + { + "path": "../types/tsconfig.src.json" + }, + { + "path": "../workflow-deploy/tsconfig.src.json" + }, + { + "path": "../workflow/tsconfig.src.json" + } + ] } diff --git a/vendor/intx/hub-sessions/tsconfig.src.json b/vendor/intx/hub-sessions/tsconfig.src.json new file mode 100644 index 000000000..fdc91b3cf --- /dev/null +++ b/vendor/intx/hub-sessions/tsconfig.src.json @@ -0,0 +1,44 @@ +{ + "extends": "../../../tsconfig.base.json", + "include": [ + "src/**/*.ts", + "package.json", + "src/**/*.json" + ], + "exclude": [ + "src/**/*.test.ts", + "src/**/*.test.tsx" + ], + "compilerOptions": { + "types": [ + "bun" + ], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../agent/tsconfig.src.json" + }, + { + "path": "../db/tsconfig.src.json" + }, + { + "path": "../inference/tsconfig.src.json" + }, + { + "path": "../mime/tsconfig.src.json" + }, + { + "path": "../types/tsconfig.src.json" + }, + { + "path": "../workflow-deploy/tsconfig.src.json" + }, + { + "path": "../workflow/tsconfig.src.json" + } + ] +} diff --git a/vendor/intx/inference/tsconfig.json b/vendor/intx/inference/tsconfig.json index dbbb0384b..c1f36b2a5 100644 --- a/vendor/intx/inference/tsconfig.json +++ b/vendor/intx/inference/tsconfig.json @@ -1,11 +1,21 @@ { - "extends": "../tsconfig.base.json", + "extends": "./tsconfig.src.json", + "compilerOptions": { + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../../.." + }, "include": [ - "src/**/*.ts" + "src" ], - "compilerOptions": { - "types": [ - "bun" - ] - } + "exclude": [], + "references": [ + { + "path": "../types/tsconfig.src.json" + } + ] } diff --git a/vendor/intx/inference/tsconfig.src.json b/vendor/intx/inference/tsconfig.src.json new file mode 100644 index 000000000..cb9a26719 --- /dev/null +++ b/vendor/intx/inference/tsconfig.src.json @@ -0,0 +1,26 @@ +{ + "extends": "../../../tsconfig.base.json", + "include": [ + "src/**/*.ts", + "package.json", + "src/**/*.json" + ], + "exclude": [ + "src/**/*.test.ts", + "src/**/*.test.tsx" + ], + "compilerOptions": { + "types": [ + "bun" + ], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../types/tsconfig.src.json" + } + ] +} diff --git a/vendor/intx/mail-memory/tsconfig.json b/vendor/intx/mail-memory/tsconfig.json index dbbb0384b..9779564bf 100644 --- a/vendor/intx/mail-memory/tsconfig.json +++ b/vendor/intx/mail-memory/tsconfig.json @@ -1,11 +1,27 @@ { - "extends": "../tsconfig.base.json", + "extends": "./tsconfig.src.json", + "compilerOptions": { + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../../.." + }, "include": [ - "src/**/*.ts" + "src" ], - "compilerOptions": { - "types": [ - "bun" - ] - } + "exclude": [], + "references": [ + { + "path": "../mailbox/tsconfig.src.json" + }, + { + "path": "../mime/tsconfig.src.json" + }, + { + "path": "../types/tsconfig.src.json" + } + ] } diff --git a/vendor/intx/mail-memory/tsconfig.src.json b/vendor/intx/mail-memory/tsconfig.src.json new file mode 100644 index 000000000..d76fe465c --- /dev/null +++ b/vendor/intx/mail-memory/tsconfig.src.json @@ -0,0 +1,32 @@ +{ + "extends": "../../../tsconfig.base.json", + "include": [ + "src/**/*.ts", + "package.json", + "src/**/*.json" + ], + "exclude": [ + "src/**/*.test.ts", + "src/**/*.test.tsx" + ], + "compilerOptions": { + "types": [ + "bun" + ], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../mailbox/tsconfig.src.json" + }, + { + "path": "../mime/tsconfig.src.json" + }, + { + "path": "../types/tsconfig.src.json" + } + ] +} diff --git a/vendor/intx/mailbox/tsconfig.json b/vendor/intx/mailbox/tsconfig.json index dbbb0384b..8552c0d46 100644 --- a/vendor/intx/mailbox/tsconfig.json +++ b/vendor/intx/mailbox/tsconfig.json @@ -1,11 +1,24 @@ { - "extends": "../tsconfig.base.json", + "extends": "./tsconfig.src.json", + "compilerOptions": { + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../../.." + }, "include": [ - "src/**/*.ts" + "src" ], - "compilerOptions": { - "types": [ - "bun" - ] - } + "exclude": [], + "references": [ + { + "path": "../mime/tsconfig.src.json" + }, + { + "path": "../types/tsconfig.src.json" + } + ] } diff --git a/vendor/intx/mailbox/tsconfig.src.json b/vendor/intx/mailbox/tsconfig.src.json new file mode 100644 index 000000000..f701b1abb --- /dev/null +++ b/vendor/intx/mailbox/tsconfig.src.json @@ -0,0 +1,29 @@ +{ + "extends": "../../../tsconfig.base.json", + "include": [ + "src/**/*.ts", + "package.json", + "src/**/*.json" + ], + "exclude": [ + "src/**/*.test.ts", + "src/**/*.test.tsx" + ], + "compilerOptions": { + "types": [ + "bun" + ], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../mime/tsconfig.src.json" + }, + { + "path": "../types/tsconfig.src.json" + } + ] +} diff --git a/vendor/intx/mime/tsconfig.json b/vendor/intx/mime/tsconfig.json index dbbb0384b..c1f36b2a5 100644 --- a/vendor/intx/mime/tsconfig.json +++ b/vendor/intx/mime/tsconfig.json @@ -1,11 +1,21 @@ { - "extends": "../tsconfig.base.json", + "extends": "./tsconfig.src.json", + "compilerOptions": { + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../../.." + }, "include": [ - "src/**/*.ts" + "src" ], - "compilerOptions": { - "types": [ - "bun" - ] - } + "exclude": [], + "references": [ + { + "path": "../types/tsconfig.src.json" + } + ] } diff --git a/vendor/intx/mime/tsconfig.src.json b/vendor/intx/mime/tsconfig.src.json new file mode 100644 index 000000000..cb9a26719 --- /dev/null +++ b/vendor/intx/mime/tsconfig.src.json @@ -0,0 +1,26 @@ +{ + "extends": "../../../tsconfig.base.json", + "include": [ + "src/**/*.ts", + "package.json", + "src/**/*.json" + ], + "exclude": [ + "src/**/*.test.ts", + "src/**/*.test.tsx" + ], + "compilerOptions": { + "types": [ + "bun" + ], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../types/tsconfig.src.json" + } + ] +} diff --git a/vendor/intx/tsconfig.base.json b/vendor/intx/tsconfig.base.json index 9524d1e4d..6a1f5efee 100644 --- a/vendor/intx/tsconfig.base.json +++ b/vendor/intx/tsconfig.base.json @@ -20,7 +20,6 @@ "composite": true, "module": "ESNext", - "noEmit": true, "lib": ["ESNext"] } diff --git a/vendor/intx/types/tsconfig.json b/vendor/intx/types/tsconfig.json index dbbb0384b..71ed2494e 100644 --- a/vendor/intx/types/tsconfig.json +++ b/vendor/intx/types/tsconfig.json @@ -1,11 +1,16 @@ { - "extends": "../tsconfig.base.json", + "extends": "./tsconfig.src.json", + "compilerOptions": { + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../../.." + }, "include": [ - "src/**/*.ts" + "src" ], - "compilerOptions": { - "types": [ - "bun" - ] - } + "exclude": [] } diff --git a/vendor/intx/types/tsconfig.src.json b/vendor/intx/types/tsconfig.src.json new file mode 100644 index 000000000..6bf113c67 --- /dev/null +++ b/vendor/intx/types/tsconfig.src.json @@ -0,0 +1,21 @@ +{ + "extends": "../../../tsconfig.base.json", + "include": [ + "src/**/*.ts", + "package.json", + "src/**/*.json" + ], + "exclude": [ + "src/**/*.test.ts", + "src/**/*.test.tsx" + ], + "compilerOptions": { + "types": [ + "bun" + ], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + } +} diff --git a/vendor/intx/workflow-deploy/tsconfig.json b/vendor/intx/workflow-deploy/tsconfig.json index dbbb0384b..6bf26931f 100644 --- a/vendor/intx/workflow-deploy/tsconfig.json +++ b/vendor/intx/workflow-deploy/tsconfig.json @@ -1,11 +1,27 @@ { - "extends": "../tsconfig.base.json", + "extends": "./tsconfig.src.json", + "compilerOptions": { + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../../.." + }, "include": [ - "src/**/*.ts" + "src" ], - "compilerOptions": { - "types": [ - "bun" - ] - } + "exclude": [], + "references": [ + { + "path": "../agent/tsconfig.src.json" + }, + { + "path": "../types/tsconfig.src.json" + }, + { + "path": "../workflow/tsconfig.src.json" + } + ] } diff --git a/vendor/intx/workflow-deploy/tsconfig.src.json b/vendor/intx/workflow-deploy/tsconfig.src.json new file mode 100644 index 000000000..219ab4d0f --- /dev/null +++ b/vendor/intx/workflow-deploy/tsconfig.src.json @@ -0,0 +1,32 @@ +{ + "extends": "../../../tsconfig.base.json", + "include": [ + "src/**/*.ts", + "package.json", + "src/**/*.json" + ], + "exclude": [ + "src/**/*.test.ts", + "src/**/*.test.tsx" + ], + "compilerOptions": { + "types": [ + "bun" + ], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../agent/tsconfig.src.json" + }, + { + "path": "../types/tsconfig.src.json" + }, + { + "path": "../workflow/tsconfig.src.json" + } + ] +} diff --git a/vendor/intx/workflow-host/tsconfig.json b/vendor/intx/workflow-host/tsconfig.json index dbbb0384b..46b4fa1e5 100644 --- a/vendor/intx/workflow-host/tsconfig.json +++ b/vendor/intx/workflow-host/tsconfig.json @@ -1,11 +1,42 @@ { - "extends": "../tsconfig.base.json", + "extends": "./tsconfig.src.json", + "compilerOptions": { + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../../.." + }, "include": [ - "src/**/*.ts" + "src" ], - "compilerOptions": { - "types": [ - "bun" - ] - } + "exclude": [], + "references": [ + { + "path": "../agent/tsconfig.src.json" + }, + { + "path": "../hub-sessions/tsconfig.src.json" + }, + { + "path": "../inference/tsconfig.src.json" + }, + { + "path": "../mail-memory/tsconfig.src.json" + }, + { + "path": "../mailbox/tsconfig.src.json" + }, + { + "path": "../mime/tsconfig.src.json" + }, + { + "path": "../types/tsconfig.src.json" + }, + { + "path": "../workflow/tsconfig.src.json" + } + ] } diff --git a/vendor/intx/workflow-host/tsconfig.src.json b/vendor/intx/workflow-host/tsconfig.src.json new file mode 100644 index 000000000..af6aafe35 --- /dev/null +++ b/vendor/intx/workflow-host/tsconfig.src.json @@ -0,0 +1,47 @@ +{ + "extends": "../../../tsconfig.base.json", + "include": [ + "src/**/*.ts", + "package.json", + "src/**/*.json" + ], + "exclude": [ + "src/**/*.test.ts", + "src/**/*.test.tsx" + ], + "compilerOptions": { + "types": [ + "bun" + ], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../agent/tsconfig.src.json" + }, + { + "path": "../hub-sessions/tsconfig.src.json" + }, + { + "path": "../inference/tsconfig.src.json" + }, + { + "path": "../mail-memory/tsconfig.src.json" + }, + { + "path": "../mailbox/tsconfig.src.json" + }, + { + "path": "../mime/tsconfig.src.json" + }, + { + "path": "../types/tsconfig.src.json" + }, + { + "path": "../workflow/tsconfig.src.json" + } + ] +} diff --git a/vendor/intx/workflow/tsconfig.json b/vendor/intx/workflow/tsconfig.json index d3ef86835..f264602ea 100644 --- a/vendor/intx/workflow/tsconfig.json +++ b/vendor/intx/workflow/tsconfig.json @@ -1,12 +1,27 @@ { - "extends": "../tsconfig.base.json", + "extends": "./tsconfig.src.json", + "compilerOptions": { + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../../.." + }, "include": [ - "src/**/*.ts", - "test/**/*.ts" + "src" ], - "compilerOptions": { - "types": [ - "bun" - ] - } + "exclude": [], + "references": [ + { + "path": "../agent/tsconfig.src.json" + }, + { + "path": "../inference/tsconfig.src.json" + }, + { + "path": "../types/tsconfig.src.json" + } + ] } diff --git a/vendor/intx/workflow/tsconfig.src.json b/vendor/intx/workflow/tsconfig.src.json new file mode 100644 index 000000000..be5971ff2 --- /dev/null +++ b/vendor/intx/workflow/tsconfig.src.json @@ -0,0 +1,33 @@ +{ + "extends": "../../../tsconfig.base.json", + "include": [ + "src/**/*.ts", + "test/**/*.ts", + "package.json", + "src/**/*.json" + ], + "exclude": [ + "src/**/*.test.ts", + "src/**/*.test.tsx" + ], + "compilerOptions": { + "types": [ + "bun" + ], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../agent/tsconfig.src.json" + }, + { + "path": "../inference/tsconfig.src.json" + }, + { + "path": "../types/tsconfig.src.json" + } + ] +} diff --git a/workflows/assistant/tsconfig.json b/workflows/assistant/tsconfig.json index e956ddd88..2b51a1194 100644 --- a/workflows/assistant/tsconfig.json +++ b/workflows/assistant/tsconfig.json @@ -1,7 +1,28 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../packages/catalog-tools/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] } diff --git a/workflows/assistant/tsconfig.src.json b/workflows/assistant/tsconfig.src.json new file mode 100644 index 000000000..954c998d0 --- /dev/null +++ b/workflows/assistant/tsconfig.src.json @@ -0,0 +1,26 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../packages/catalog-tools/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] +} diff --git a/workflows/attio-task-agent/tsconfig.json b/workflows/attio-task-agent/tsconfig.json index e956ddd88..ef926804f 100644 --- a/workflows/attio-task-agent/tsconfig.json +++ b/workflows/attio-task-agent/tsconfig.json @@ -1,7 +1,25 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] } diff --git a/workflows/attio-task-agent/tsconfig.src.json b/workflows/attio-task-agent/tsconfig.src.json new file mode 100644 index 000000000..40c0f7268 --- /dev/null +++ b/workflows/attio-task-agent/tsconfig.src.json @@ -0,0 +1,23 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] +} diff --git a/workflows/code-review/tsconfig.json b/workflows/code-review/tsconfig.json index e956ddd88..60e9dd026 100644 --- a/workflows/code-review/tsconfig.json +++ b/workflows/code-review/tsconfig.json @@ -1,7 +1,28 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../packages/code-review/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] } diff --git a/workflows/code-review/tsconfig.src.json b/workflows/code-review/tsconfig.src.json new file mode 100644 index 000000000..5adf309e7 --- /dev/null +++ b/workflows/code-review/tsconfig.src.json @@ -0,0 +1,26 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../packages/code-review/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] +} diff --git a/workflows/collateral-generation/tsconfig.json b/workflows/collateral-generation/tsconfig.json index e956ddd88..ef926804f 100644 --- a/workflows/collateral-generation/tsconfig.json +++ b/workflows/collateral-generation/tsconfig.json @@ -1,7 +1,25 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] } diff --git a/workflows/collateral-generation/tsconfig.src.json b/workflows/collateral-generation/tsconfig.src.json new file mode 100644 index 000000000..40c0f7268 --- /dev/null +++ b/workflows/collateral-generation/tsconfig.src.json @@ -0,0 +1,23 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] +} diff --git a/workflows/diligence-brief/tsconfig.json b/workflows/diligence-brief/tsconfig.json index e956ddd88..ef926804f 100644 --- a/workflows/diligence-brief/tsconfig.json +++ b/workflows/diligence-brief/tsconfig.json @@ -1,7 +1,25 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] } diff --git a/workflows/diligence-brief/tsconfig.src.json b/workflows/diligence-brief/tsconfig.src.json new file mode 100644 index 000000000..40c0f7268 --- /dev/null +++ b/workflows/diligence-brief/tsconfig.src.json @@ -0,0 +1,23 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] +} diff --git a/workflows/echo/tsconfig.json b/workflows/echo/tsconfig.json index e956ddd88..4523cee71 100644 --- a/workflows/echo/tsconfig.json +++ b/workflows/echo/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] } diff --git a/workflows/echo/tsconfig.src.json b/workflows/echo/tsconfig.src.json new file mode 100644 index 000000000..86d18d8ae --- /dev/null +++ b/workflows/echo/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] +} diff --git a/workflows/exa-topic-watch/tsconfig.json b/workflows/exa-topic-watch/tsconfig.json index e956ddd88..ef926804f 100644 --- a/workflows/exa-topic-watch/tsconfig.json +++ b/workflows/exa-topic-watch/tsconfig.json @@ -1,7 +1,25 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] } diff --git a/workflows/exa-topic-watch/tsconfig.src.json b/workflows/exa-topic-watch/tsconfig.src.json new file mode 100644 index 000000000..40c0f7268 --- /dev/null +++ b/workflows/exa-topic-watch/tsconfig.src.json @@ -0,0 +1,23 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] +} diff --git a/workflows/granola-call/tsconfig.json b/workflows/granola-call/tsconfig.json index e956ddd88..ef926804f 100644 --- a/workflows/granola-call/tsconfig.json +++ b/workflows/granola-call/tsconfig.json @@ -1,7 +1,25 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] } diff --git a/workflows/granola-call/tsconfig.src.json b/workflows/granola-call/tsconfig.src.json new file mode 100644 index 000000000..40c0f7268 --- /dev/null +++ b/workflows/granola-call/tsconfig.src.json @@ -0,0 +1,23 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] +} diff --git a/workflows/heartbeat/tsconfig.json b/workflows/heartbeat/tsconfig.json index e956ddd88..4523cee71 100644 --- a/workflows/heartbeat/tsconfig.json +++ b/workflows/heartbeat/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] } diff --git a/workflows/heartbeat/tsconfig.src.json b/workflows/heartbeat/tsconfig.src.json new file mode 100644 index 000000000..86d18d8ae --- /dev/null +++ b/workflows/heartbeat/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] +} diff --git a/workflows/last-30-days-research/tsconfig.json b/workflows/last-30-days-research/tsconfig.json index e956ddd88..4523cee71 100644 --- a/workflows/last-30-days-research/tsconfig.json +++ b/workflows/last-30-days-research/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] } diff --git a/workflows/last-30-days-research/tsconfig.src.json b/workflows/last-30-days-research/tsconfig.src.json new file mode 100644 index 000000000..86d18d8ae --- /dev/null +++ b/workflows/last-30-days-research/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] +} diff --git a/workflows/morning-brief/tsconfig.json b/workflows/morning-brief/tsconfig.json index e956ddd88..ef926804f 100644 --- a/workflows/morning-brief/tsconfig.json +++ b/workflows/morning-brief/tsconfig.json @@ -1,7 +1,25 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] } diff --git a/workflows/morning-brief/tsconfig.src.json b/workflows/morning-brief/tsconfig.src.json new file mode 100644 index 000000000..40c0f7268 --- /dev/null +++ b/workflows/morning-brief/tsconfig.src.json @@ -0,0 +1,23 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] +} diff --git a/workflows/pain-point-collateral/tsconfig.json b/workflows/pain-point-collateral/tsconfig.json index e956ddd88..ef926804f 100644 --- a/workflows/pain-point-collateral/tsconfig.json +++ b/workflows/pain-point-collateral/tsconfig.json @@ -1,7 +1,25 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] } diff --git a/workflows/pain-point-collateral/tsconfig.src.json b/workflows/pain-point-collateral/tsconfig.src.json new file mode 100644 index 000000000..40c0f7268 --- /dev/null +++ b/workflows/pain-point-collateral/tsconfig.src.json @@ -0,0 +1,23 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] +} diff --git a/workflows/process-granola-call/tsconfig.json b/workflows/process-granola-call/tsconfig.json index e956ddd88..ef926804f 100644 --- a/workflows/process-granola-call/tsconfig.json +++ b/workflows/process-granola-call/tsconfig.json @@ -1,7 +1,25 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] } diff --git a/workflows/process-granola-call/tsconfig.src.json b/workflows/process-granola-call/tsconfig.src.json new file mode 100644 index 000000000..40c0f7268 --- /dev/null +++ b/workflows/process-granola-call/tsconfig.src.json @@ -0,0 +1,23 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/types/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] +} diff --git a/workflows/reddit-opportunity-scanner/tsconfig.json b/workflows/reddit-opportunity-scanner/tsconfig.json index e956ddd88..4523cee71 100644 --- a/workflows/reddit-opportunity-scanner/tsconfig.json +++ b/workflows/reddit-opportunity-scanner/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] } diff --git a/workflows/reddit-opportunity-scanner/tsconfig.src.json b/workflows/reddit-opportunity-scanner/tsconfig.src.json new file mode 100644 index 000000000..86d18d8ae --- /dev/null +++ b/workflows/reddit-opportunity-scanner/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] +} diff --git a/workflows/workbench-digest/tsconfig.json b/workflows/workbench-digest/tsconfig.json index e956ddd88..4523cee71 100644 --- a/workflows/workbench-digest/tsconfig.json +++ b/workflows/workbench-digest/tsconfig.json @@ -1,7 +1,22 @@ { - "extends": "../../tsconfig.base.json", + "extends": "./tsconfig.src.json", "compilerOptions": { - "types": ["bun"] + "composite": false, + "noEmit": true, + "disableSourceOfProjectReferenceRedirect": true, + "declaration": false, + "declarationMap": false, + "emitDeclarationOnly": false, + "rootDir": "../.." }, - "include": ["src", "test"] + "include": ["src", "test"], + "exclude": [], + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] } diff --git a/workflows/workbench-digest/tsconfig.src.json b/workflows/workbench-digest/tsconfig.src.json new file mode 100644 index 000000000..86d18d8ae --- /dev/null +++ b/workflows/workbench-digest/tsconfig.src.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src", "package.json", "src/**/*.json"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"], + "compilerOptions": { + "types": ["bun"], + "composite": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [ + { + "path": "../../vendor/intx/agent/tsconfig.src.json" + }, + { + "path": "../../vendor/intx/workflow/tsconfig.src.json" + } + ] +}