-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathturbo.json
118 lines (114 loc) · 3.19 KB
/
turbo.json
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
{
"$schema": "https://turbo.build/schema.json",
"tasks": {
// Batch scripts: run a series of checks for the package
"pipeline-all": {
"dependsOn": ["typecheck", "lint:fix", "test", "build"]
},
"pipeline-ci": {
"dependsOn": ["typecheck", "lint", "test:ci", "build"]
},
// Workspace batch scripts: run workspace checks (which also run package checks, since the workspace checks
// depends on them), and then run all packages' builds
"//#w:pipeline-all": {
"dependsOn": [
"//#format",
"//#w:typecheck",
"//#w:lint:fix",
"//#w:test",
"@spautz/all-packages#build"
]
},
"//#w:pipeline-ci": {
"dependsOn": [
"//#format:verify",
"//#w:typecheck",
"//#w:lint",
"//#w:test:ci",
"@spautz/all-packages#build"
]
},
// Formatting depends on everything, but doesn't run anything in those dependencies
"//#format": {
"dependsOn": ["@spautz/all-packages#topo"]
},
"//#format:verify": {
"dependsOn": ["@spautz/all-packages#topo"]
},
// Workspace tasks that depend on package tasks
// When the packages have their own overlapping tasks, those task are run first, as dependencies,
// so that future changes at the package level will invalidate at the workspace level
"//#w:lint": {
"dependsOn": ["@spautz/all-packages#lint"]
},
"//#w:lint:fix": {
"dependsOn": ["@spautz/all-packages#lint:fix"]
},
"//#w:test": {
"dependsOn": ["@spautz/all-packages#test"],
"outputs": ["coverage/**"]
},
"//#w:test:ci": {
"dependsOn": ["@spautz/all-packages#test:ci"],
"outputs": ["coverage/**"]
},
"//#w:test:watch": {
"dependsOn": ["@spautz/all-packages#dependencies"],
"cache": false,
"persistent": true
},
"//#w:test:ui": {
"dependsOn": ["@spautz/all-packages#dependencies"],
"cache": false,
"persistent": true
},
"//#w:typecheck": {
"dependsOn": ["@spautz/all-packages#typecheck"]
},
// Core package tasks:
// Dependencies require a concrete build
"dependencies": {
"dependsOn": ["^build"]
},
// Topographic dependencies are abstract, since there's no 'topo' task to run
"topo": {
"dependsOn": ["^topo"]
},
// Individual/standalone package tasks
"build": {
"dependsOn": ["dependencies"],
"outputs": [".next/**", "!.next/cache/**", "build/**", "dist/**"]
},
"build:watch": {
"dependsOn": ["dependencies"],
"cache": false,
"persistent": true,
"interactive": true
},
"dev": {
"dependsOn": ["dependencies"],
"cache": false,
"persistent": true,
"interactive": true
},
"lint": {},
"lint:fix": {},
"typecheck": {
"dependsOn": ["dependencies", "^typecheck"]
},
"test": {
"dependsOn": ["dependencies", "^test"],
"outputs": ["coverage/**"]
},
"test:ci": {
"dependsOn": ["dependencies", "^test:ci"],
"outputs": ["coverage/**"]
},
"test:watch": {
"dependsOn": ["dependencies"],
"cache": false,
"persistent": true,
"interactive": true
}
}
}