Files
rea/turbo.json
morluto 35a4e18d30 refactor(build): generate MCP tool catalog at build time instead of committing it (#997)
src/generatedMcpToolCatalog.ts had zero runtime importers and churned on every contract edit, guaranteeing merge conflicts on long-lived branches. It is now gitignored and regenerated by build:unlocked; typecheck and knip depend on build via turbo. Tests consume the build output unchanged. Adds a regen-generated CI workflow that pushes tracked generated metadata (product catalog, skill frontmatter, verification manifest/ledger, package metadata, error schema) to same-repo PR branches.
2026-10-08 00:16:34 +08:00

133 lines
3.2 KiB
JSON

{
"$schema": "https://turborepo.dev/schema.json",
"tasks": {
"build": {
"inputs": [
".nvmrc",
"package.json",
"package-lock.json",
"scripts/check-dependency-install.mjs",
"scripts/clean-build-output.mjs",
"scripts/generate-mcp-tool-catalog.mjs",
"scripts/generate-package-metadata.mjs",
"scripts/lib/generated-file.mjs",
"skills/reverse-engineer-anything/SKILL.md",
"src/**/*.ts",
"!src/**/*.test.ts",
"!src/**/*.fixture.ts",
"!src/generatedMcpToolCatalog.ts",
"tsconfig.json",
"tsconfig.build.json"
],
"outputs": [
"dist/**",
".cache/tsconfig.build.tsbuildinfo",
"src/generatedMcpToolCatalog.ts"
]
},
"typecheck": {
"dependsOn": ["build"],
"inputs": [
".nvmrc",
"package.json",
"package-lock.json",
"src/**/*.ts",
"tests/**/*.ts",
"tsconfig.json",
"tsconfig.build.json",
"vitest.config.ts",
"scripts/**/*.d.mts"
],
"outputs": [".cache/tsconfig.typecheck.tsbuildinfo"]
},
"metadata:check": {
"inputs": [
"package.json",
"package-lock.json",
"scripts/generate-package-metadata.mjs",
"scripts/lib/generated-file.mjs",
"skills/reverse-engineer-anything/SKILL.md",
"src/generatedPackageMetadata.ts"
]
},
"lint": {
"inputs": [
".nvmrc",
".oxlintrc.json",
"package.json",
"package-lock.json",
"scripts/**/*.{cjs,cts,js,jsx,mjs,mts,ts,tsx}",
"src/**/*.{cjs,cts,js,jsx,mjs,mts,ts,tsx}",
"tests/**/*.{cjs,cts,js,jsx,mjs,mts,ts,tsx}",
"vitest.config.ts"
]
},
"format:check": {},
"knip": {
"dependsOn": ["build"],
"inputs": [
".nvmrc",
"knip.json",
"package.json",
"package-lock.json",
"scripts/**/*.{cjs,cts,js,jsx,mjs,mts,ts,tsx}",
"src/**/*.ts",
"tests/**/*.ts",
"tsconfig.json",
"tsconfig.build.json"
]
},
"jscpd": {
"inputs": [
".gitignore",
".jscpd.json",
"package.json",
"package-lock.json",
"src/**",
"tests/**"
]
},
"scan:todos": {
"inputs": [
"bridge/**/*.{java,py}",
"scripts/**/*.{cjs,cts,js,jsx,mjs,mts,ts,tsx}",
"src/**/*.ts",
"tests/**/*.ts"
]
},
"test:run": {
"dependsOn": ["build"],
"inputs": [
".nvmrc",
"package.json",
"package-lock.json",
"src/**",
"tests/**",
"scripts/**",
"bridge/**",
"vitest.config.ts"
]
},
"docs:check:built": {
"dependsOn": ["build"],
"inputs": [
".nvmrc",
"package.json",
"package-lock.json",
"scripts/generate-*.mjs",
"scripts/check-doc-facts.mjs",
"scripts/lib/*.mjs",
"scripts/verify/managed/*.mjs",
"scripts/fixtures/managed/*.mjs",
"scripts/verify/apple/*.mjs",
"scripts/fixtures/apple/*.mjs",
"src/generated*.ts",
"src/contracts/**/*.ts",
"docs/**",
"skills/**/SKILL.md",
"README.md"
]
}
}
}