-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathturbo.json
More file actions
104 lines (104 loc) · 3.23 KB
/
Copy pathturbo.json
File metadata and controls
104 lines (104 loc) · 3.23 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
99
100
101
102
103
104
{
"$schema": "https://turbo.build/schema.json",
"globalDependencies": [
"**/.env.*",
"package.json",
"package-lock.json",
"tsconfig.json",
"tsconfig.*.json",
"vite.config.*",
"vite.*.config.*"
],
"globalEnv": ["NODE_ENV"],
"ui": "tui",
"concurrency": "100%",
"daemon": false,
"envMode": "loose",
"tasks": {
"build": {
"dependsOn": ["^build", "@prosopo/config#build"],
"outputs": ["dist/**", "*.tsbuildinfo"]
},
"build:tsc": {
"dependsOn": ["^build:tsc"],
"outputs": ["dist/**", "*.tsbuildinfo"]
},
"build:cjs": {
"dependsOn": ["^build:cjs", "@prosopo/config#build"],
"outputs": ["dist/**", "*.tsbuildinfo"]
},
"bundle": {
"dependsOn": ["@prosopo/config#build"],
"outputs": ["dist/**", "*.tsbuildinfo"]
},
// Image builds copy dist/bundle out of the build context, so they wait on
// the bundle task. Not cached: the artefact is an image in the docker
// daemon's store rather than a file under the package, so turbo cannot
// restore it on a cache hit — and a false hit would silently skip a
// rebuild the registry never received.
"build:docker": {
"dependsOn": ["bundle"],
"cache": false
},
// The provider image is built from packages/cli, but its context is the
// repo root and it also copies packages/locale's compiled locales.
"@prosopo/cli#build:docker": {
"dependsOn": ["bundle", "@prosopo/locale#build"],
"cache": false
},
// Every image in one bake invocation, run through turbo so the bundles
// each image copies are built first. It is a root task rather than a
// package one because bake drives the whole repo at once; the per-package
// build:docker tasks above stay the way to build a single image.
//
// Deliberately not named build:docker: `turbo run build:docker` would
// then match both this and every package task, and every image would be
// built twice.
"//#build:docker:all": {
"dependsOn": [
"@prosopo/cli#bundle",
"@prosopo/client-example-server#bundle",
"@prosopo/provider-mock#bundle",
"@prosopo/locale#build"
],
"cache": false
},
"publish:docker": {
"dependsOn": ["build:docker"],
"cache": false
},
"bundle:iife": {
"dependsOn": ["@prosopo/config#build"],
"outputs": ["dist/**", "*.tsbuildinfo"]
},
"bundle:webpack": {
"dependsOn": ["@prosopo/config#build"],
"outputs": ["dist/**", "*.tsbuildinfo"]
},
"typecheck": {
"dependsOn": ["^typecheck"]
},
"test": {
// Also depends on ^build:tsc, not just ^build: every package resolves
// its workspace dependencies through `exports.types` -> dist/*.d.ts,
// and only build:tsc emits those. `build` is a vite bundle, so it
// leaves dist as bare JS. Without the declarations tsc falls back to
// type-checking a dependency's compiled JavaScript, which floods the
// run with implicit-any errors and — because a .js file exports
// values, not types — makes vitest type tests fail on names that are
// perfectly valid types in source. Runtime tests never noticed.
"dependsOn": ["@prosopo/config#build", "^build:tsc"]
},
"lint": { "dependsOn": ["^lint"] },
"clean": {
"cache": false
},
"clean:deps": {
"dependsOn": ["clean", "^clean"],
"cache": false
}
},
"remoteCache": {
"enabled": false
}
}