-
Notifications
You must be signed in to change notification settings - Fork 119
Expand file tree
/
Copy pathturbo.json
More file actions
98 lines (98 loc) · 3.29 KB
/
Copy pathturbo.json
File metadata and controls
98 lines (98 loc) · 3.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
{
"$schema": "https://turborepo.com/schema.json",
"ui": "tui",
"globalPassThroughEnv": ["*"],
"concurrency": "15",
"tasks": {
// `globalPassThroughEnv: ["*"]` hands every variable to a task but hashes
// none, so any variable a bundler inlines must be named here. Without it the
// shared CI cache could serve a bundle built against another environment.
"build": {
"dependsOn": ["^build"],
"env": ["VITE_*", "PUBLIC_*"],
"outputs": ["dist/**", ".output/**"]
},
// Both bundlers also read the root `.env*` files and fold a few unprefixed
// variables into inlined values (vite.config.ts, astro.config.mjs), so those
// are part of the build's identity too.
"@maple/web#build": {
"dependsOn": ["^build"],
"inputs": ["$TURBO_DEFAULT$", "$TURBO_ROOT$/.env", "$TURBO_ROOT$/.env.*"],
"env": [
"VITE_*",
"PUBLIC_*",
"MAPLE_AUTH_MODE",
"CLERK_PUBLISHABLE_KEY",
"MAPLE_OTEL_PUBLIC_INGEST_KEY",
"PORTLESS_URL"
],
"outputs": ["dist/**", ".output/**"]
},
"@maple/landing#build": {
"dependsOn": ["^build"],
"inputs": ["$TURBO_DEFAULT$", "$TURBO_ROOT$/.env", "$TURBO_ROOT$/.env.*"],
"env": ["VITE_*", "PUBLIC_*", "MAPLE_OTEL_PUBLIC_INGEST_KEY", "PORTLESS_URL"],
"outputs": ["dist/**", ".output/**"]
},
// The SDKs emit types through a tsconfig in packages/ (see their
// tsdown.config.ts), which the default package-scoped inputs miss.
"@maple-dev/browser#build": {
"dependsOn": ["^build"],
"inputs": ["$TURBO_DEFAULT$", "$TURBO_ROOT$/packages/tsconfig.browser.dts.json"],
"env": ["VITE_*", "PUBLIC_*"],
"outputs": ["dist/**", ".output/**"]
},
"@maple-dev/effect-sdk#build": {
"dependsOn": ["^build"],
"inputs": ["$TURBO_DEFAULT$", "$TURBO_ROOT$/packages/tsconfig.effect-sdk.dts.json"],
"env": ["VITE_*", "PUBLIC_*"],
"outputs": ["dist/**", ".output/**"]
},
// `cargo build --release` writes to target/, not dist/, so the generic
// outputs cached nothing and every unfiltered `turbo build` recompiled it.
"@maple/ingest#build": {
"outputs": ["target/release/maple-ingest"]
},
// Deliberately NOT `^typecheck`. Every package's typecheck is `tsc --noEmit`,
// which emits nothing a downstream task can consume, and no tsconfig here uses
// composite/references — so `^typecheck` was ordering-only and serialized a
// topological wave across ~26 packages. `^build` is the real edge: it produces
// the .d.mts for the three dist-pointing packages (effect-sdk,
// alchemy-maple, browser). Re-add `^typecheck` only if TS project references land.
"typecheck": {
"dependsOn": ["^build"]
},
"test": {
"dependsOn": ["^build"],
"outputs": []
},
// `gen-ai.test.ts` pins the stamp keys against the ingest gateway's Rust
// sources, which the default package-scoped inputs miss.
"@maple/domain#test": {
"dependsOn": ["^build"],
"outputs": [],
"inputs": ["$TURBO_DEFAULT$", "$TURBO_ROOT$/apps/ingest/src/ai_session/*.rs"]
},
"eval": {
"dependsOn": ["^build"],
"cache": false
},
// No `dev` task: `bun dev` is one `alchemy dev` stack (scripts/dev.ts).
"tinybird:dev": {
"cache": false
},
"tinybird:build": {
"cache": false
},
"tinybird:deploy": {
"cache": false
},
"deploy:stack": {
"dependsOn": ["^build"],
"cache": false
},
"destroy:stack": {
"cache": false
}
}
}