Ports the kept-file portions of the upstream infra audit-fix subset onto the clean-slate template branch (auth-only shape; workspaces feature never existed here, so its package.json edit is skipped): - resolve the root playwright config in pnpm test:visual (S8) - prune dead VERCEL_ENV from turbo.json globalEnv (S9) - drop the duplicate chromium install in the storybook CI job (S10) - wire scripts/**/*.test.mjs under a dedicated vitest runner (vitest.scripts.config.mjs + pnpm test:scripts + CI validate step); convert node:test imports to vitest keeping node:assert - ignore *.tsbuildinfo repo-wide and untrack the committed build state - align every @trpc/* range on ^11.18.0 so the workspace resolves to a single version (peer-warning-free install) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016j8z4VHjedXDTjEDNg7qHK
102 lines
2.2 KiB
JSON
102 lines
2.2 KiB
JSON
{
|
|
"$schema": "https://turborepo.dev/schema.json",
|
|
"globalDependencies": [".env"],
|
|
"globalEnv": [
|
|
"CI",
|
|
"DATABASE_URL",
|
|
"PAYLOAD_SECRET",
|
|
"NODE_ENV",
|
|
"USE_DEV_SEED",
|
|
"WEB_NEXT_SENTRY_DSN",
|
|
"NEXT_PUBLIC_WEB_NEXT_SENTRY_DSN",
|
|
"CMS_SENTRY_DSN",
|
|
"SENTRY_AUTH_TOKEN",
|
|
"SENTRY_ORG",
|
|
"SENTRY_PROJECT_WEB_NEXT",
|
|
"SENTRY_PROJECT_CMS",
|
|
"SENTRY_TRACES_SAMPLE_RATE",
|
|
"SENTRY_ENVIRONMENT",
|
|
"VERCEL_GIT_COMMIT_SHA",
|
|
"NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA",
|
|
"AUDIT_PSEUDONYM_SALT"
|
|
],
|
|
"boundaries": {
|
|
"tags": {
|
|
"app": {
|
|
"dependencies": {
|
|
"allow": ["app", "core", "core-composition", "feature", "tooling"]
|
|
}
|
|
},
|
|
"feature": {
|
|
"dependencies": {
|
|
"allow": ["core", "feature", "tooling"]
|
|
}
|
|
},
|
|
"core": {
|
|
"dependencies": {
|
|
"allow": ["core", "core-composition", "tooling"]
|
|
}
|
|
},
|
|
"core-composition": {
|
|
"dependencies": {
|
|
"allow": ["core", "core-composition", "feature", "tooling"]
|
|
}
|
|
},
|
|
"tooling": {
|
|
"dependencies": {
|
|
"allow": ["tooling"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tasks": {
|
|
"build": {
|
|
"dependsOn": ["^build"],
|
|
"outputs": ["dist/**", ".next/**", "!.next/cache/**"]
|
|
},
|
|
"dev": {
|
|
"cache": false,
|
|
"persistent": true
|
|
},
|
|
"lint": {
|
|
"dependsOn": ["^lint"]
|
|
},
|
|
"test": {
|
|
"dependsOn": []
|
|
},
|
|
"test:e2e": {
|
|
"dependsOn": ["^build"],
|
|
"cache": false
|
|
},
|
|
"typecheck": {
|
|
"dependsOn": []
|
|
},
|
|
"conformance": {
|
|
"inputs": [
|
|
"packages/*/src/feature.manifest.ts",
|
|
"scripts/conformance.mjs",
|
|
"packages/core-eslint/rules/_manifest-ast.js"
|
|
],
|
|
"outputs": []
|
|
},
|
|
"fallow": {
|
|
"inputs": [
|
|
"packages/**/src/**/*.ts",
|
|
"packages/**/src/**/*.tsx",
|
|
"apps/**/src/**/*.ts",
|
|
"apps/**/src/**/*.tsx",
|
|
"scripts/**/*.mjs",
|
|
".fallowrc.json"
|
|
],
|
|
"outputs": []
|
|
},
|
|
"build-storybook": {
|
|
"outputs": ["storybook-static/**"]
|
|
},
|
|
"test:stories": {
|
|
"dependsOn": ["build-storybook"],
|
|
"cache": false
|
|
}
|
|
}
|
|
}
|