turbo 2.7.4 → 2.7.5-canary.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +7 -7
- package/schema.json +505 -297
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "turbo",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.5-canary.1",
|
|
4
4
|
"description": "Turborepo is a high-performance build system for JavaScript and TypeScript codebases.",
|
|
5
5
|
"repository": "https://github.com/vercel/turborepo",
|
|
6
6
|
"bugs": "https://github.com/vercel/turborepo/issues",
|
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
"schema.json"
|
|
16
16
|
],
|
|
17
17
|
"optionalDependencies": {
|
|
18
|
-
"turbo-darwin-64": "2.7.
|
|
19
|
-
"turbo-darwin-arm64": "2.7.
|
|
20
|
-
"turbo-linux-64": "2.7.
|
|
21
|
-
"turbo-linux-arm64": "2.7.
|
|
22
|
-
"turbo-windows-64": "2.7.
|
|
23
|
-
"turbo-windows-arm64": "2.7.
|
|
18
|
+
"turbo-darwin-64": "2.7.5-canary.1",
|
|
19
|
+
"turbo-darwin-arm64": "2.7.5-canary.1",
|
|
20
|
+
"turbo-linux-64": "2.7.5-canary.1",
|
|
21
|
+
"turbo-linux-arm64": "2.7.5-canary.1",
|
|
22
|
+
"turbo-windows-64": "2.7.5-canary.1",
|
|
23
|
+
"turbo-windows-arm64": "2.7.5-canary.1"
|
|
24
24
|
},
|
|
25
25
|
"scripts": {
|
|
26
26
|
"postversion": "node bump-version.js"
|
package/schema.json
CHANGED
|
@@ -1,378 +1,586 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
|
|
3
|
+
"title": "RawTurboJson",
|
|
4
|
+
"description": "Configuration schema for turbo.json.\n\nAn object representing the task dependency graph of your project. turbo interprets these conventions to schedule, execute, and cache the outputs of tasks in your project.\n\nDocumentation: https://turborepo.com/docs/reference/configuration",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"$schema": {
|
|
8
|
+
"description": "JSON Schema URL for validation.",
|
|
9
|
+
"anyOf": [
|
|
10
|
+
{
|
|
11
|
+
"$ref": "#/definitions/String"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"type": "null"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
"boundaries": {
|
|
19
|
+
"description": "Configuration for `turbo boundaries`.\n\nAllows users to restrict a package's dependencies and dependents.",
|
|
20
|
+
"anyOf": [
|
|
21
|
+
{
|
|
22
|
+
"$ref": "#/definitions/BoundariesConfig"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"type": "null"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"cacheDir": {
|
|
30
|
+
"description": "Specify the filesystem cache directory.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#cachedir",
|
|
31
|
+
"anyOf": [
|
|
32
|
+
{
|
|
33
|
+
"$ref": "#/definitions/String"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"type": "null"
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
"concurrency": {
|
|
41
|
+
"description": "Set/limit the maximum concurrency for task execution.\n\nMust be an integer greater than or equal to `1` or a percentage value like `50%`. Use `1` to force serial execution (one task at a time). Use `100%` to use all available logical processors.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#concurrency",
|
|
42
|
+
"anyOf": [
|
|
43
|
+
{
|
|
44
|
+
"$ref": "#/definitions/String"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"type": "null"
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
"daemon": {
|
|
52
|
+
"description": "Turborepo runs a background process to pre-calculate some expensive operations. This standalone process (daemon) is a performance optimization, and not required for proper functioning of `turbo`.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#daemon",
|
|
53
|
+
"anyOf": [
|
|
54
|
+
{
|
|
55
|
+
"$ref": "#/definitions/Boolean"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"type": "null"
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
},
|
|
62
|
+
"dangerouslyDisablePackageManagerCheck": {
|
|
63
|
+
"description": "Disable check for `packageManager` in root `package.json`.\n\nThis is highly discouraged as it leaves `turbo` dependent on system configuration to infer the correct package manager. Some turbo features are disabled if this is set to true.",
|
|
64
|
+
"anyOf": [
|
|
65
|
+
{
|
|
66
|
+
"$ref": "#/definitions/Boolean"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"type": "null"
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
"envMode": {
|
|
74
|
+
"description": "Turborepo's Environment Modes allow you to control which environment variables are available to a task at runtime.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#envmode",
|
|
75
|
+
"anyOf": [
|
|
76
|
+
{
|
|
77
|
+
"$ref": "#/definitions/EnvMode"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"type": "null"
|
|
81
|
+
}
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
"extends": {
|
|
85
|
+
"description": "This key is only available in Workspace Configs and cannot be used in your root turbo.json.\n\nTells turbo to extend your root `turbo.json` and overrides with the keys provided in your Workspace Configs. Currently, only the `[\"//\"]` value is allowed.",
|
|
86
|
+
"anyOf": [
|
|
87
|
+
{
|
|
88
|
+
"$ref": "#/definitions/Array_of_String"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"type": "null"
|
|
92
|
+
}
|
|
93
|
+
]
|
|
94
|
+
},
|
|
95
|
+
"futureFlags": {
|
|
96
|
+
"description": "Opt into breaking changes prior to major releases, experimental features, and beta features.",
|
|
97
|
+
"anyOf": [
|
|
98
|
+
{
|
|
99
|
+
"$ref": "#/definitions/FutureFlags"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"type": "null"
|
|
103
|
+
}
|
|
104
|
+
]
|
|
105
|
+
},
|
|
106
|
+
"globalDependencies": {
|
|
107
|
+
"description": "A list of globs to include in the set of implicit global hash dependencies.\n\nThe contents of these files will be included in the global hashing algorithm and affect the hashes of all tasks.\n\nThis is useful for busting the cache based on: - `.env` files (not in Git) - Any root level file that impacts package tasks that are not represented in the traditional dependency graph (e.g. a root `tsconfig.json`, `jest.config.ts`, `.eslintrc`, etc.)\n\nDocumentation: https://turborepo.com/docs/reference/configuration#globaldependencies",
|
|
108
|
+
"type": ["array", "null"],
|
|
109
|
+
"items": {
|
|
110
|
+
"$ref": "#/definitions/String"
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
"globalEnv": {
|
|
114
|
+
"description": "A list of environment variables for implicit global hash dependencies.\n\nThe variables included in this list will affect all task hashes.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#globalenv",
|
|
115
|
+
"type": ["array", "null"],
|
|
116
|
+
"items": {
|
|
117
|
+
"$ref": "#/definitions/String"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
"globalPassThroughEnv": {
|
|
121
|
+
"description": "An allowlist of environment variables that should be made to all tasks, but should not contribute to the task's cache key, e.g. `AWS_SECRET_KEY`.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#globalpassthroughenv",
|
|
122
|
+
"type": ["array", "null"],
|
|
123
|
+
"items": {
|
|
124
|
+
"$ref": "#/definitions/String"
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
"noUpdateNotifier": {
|
|
128
|
+
"description": "When set to `true`, disables the update notification that appears when a new version of `turbo` is available.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#noupdatenotifier",
|
|
129
|
+
"anyOf": [
|
|
130
|
+
{
|
|
131
|
+
"$ref": "#/definitions/Boolean"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"type": "null"
|
|
135
|
+
}
|
|
136
|
+
]
|
|
137
|
+
},
|
|
138
|
+
"remoteCache": {
|
|
139
|
+
"description": "Configuration options when interfacing with the remote cache.\n\nDocumentation: https://turborepo.com/docs/core-concepts/remote-caching",
|
|
140
|
+
"anyOf": [
|
|
141
|
+
{
|
|
142
|
+
"$ref": "#/definitions/RemoteCache"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"type": "null"
|
|
146
|
+
}
|
|
147
|
+
]
|
|
148
|
+
},
|
|
149
|
+
"tags": {
|
|
150
|
+
"description": "Used to tag a package for boundaries rules.\n\nBoundaries rules can restrict which packages a tag group can import or be imported by.",
|
|
151
|
+
"anyOf": [
|
|
152
|
+
{
|
|
153
|
+
"$ref": "#/definitions/Array_of_String"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"type": "null"
|
|
157
|
+
}
|
|
158
|
+
]
|
|
159
|
+
},
|
|
160
|
+
"tasks": {
|
|
161
|
+
"description": "An object representing the task dependency graph of your project.\n\nturbo interprets these conventions to schedule, execute, and cache the outputs of tasks in your project.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#tasks",
|
|
162
|
+
"type": ["object", "null"],
|
|
163
|
+
"additionalProperties": {
|
|
164
|
+
"$ref": "#/definitions/Pipeline"
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
"ui": {
|
|
168
|
+
"description": "Enable use of the UI for `turbo`.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#ui",
|
|
6
169
|
"anyOf": [
|
|
7
170
|
{
|
|
8
|
-
"$ref": "#/definitions/
|
|
171
|
+
"$ref": "#/definitions/UI"
|
|
9
172
|
},
|
|
10
173
|
{
|
|
11
|
-
"
|
|
174
|
+
"type": "null"
|
|
12
175
|
}
|
|
13
176
|
]
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
"definitions": {
|
|
180
|
+
"Array_of_String": {
|
|
181
|
+
"type": "array",
|
|
182
|
+
"items": {
|
|
183
|
+
"$ref": "#/definitions/String"
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
"Boolean": {
|
|
187
|
+
"type": "boolean"
|
|
14
188
|
},
|
|
15
|
-
"
|
|
189
|
+
"BoundariesConfig": {
|
|
190
|
+
"description": "Configuration for `turbo boundaries`.\n\nAllows users to restrict a package's dependencies and dependents.",
|
|
16
191
|
"type": "object",
|
|
17
192
|
"properties": {
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
"description": "An object representing the task dependency graph of your project. turbo interprets these conventions to schedule, execute, and cache the outputs of tasks in your project.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#tasks",
|
|
29
|
-
"default": {}
|
|
30
|
-
},
|
|
31
|
-
"globalDependencies": {
|
|
32
|
-
"type": "array",
|
|
33
|
-
"items": {
|
|
34
|
-
"type": "string"
|
|
35
|
-
},
|
|
36
|
-
"description": "A list of globs to include in the set of implicit global hash dependencies.\n\nThe contents of these files will be included in the global hashing algorithm and affect the hashes of all tasks.\n\nThis is useful for busting the cache based on:\n\n- .env files (not in Git)\n\n- any root level file that impacts package tasks that are not represented in the traditional dependency graph (e.g. a root tsconfig.json, jest.config.ts, .eslintrc, etc.)\n\nDocumentation: https://turborepo.com/docs/reference/configuration#globaldependencies",
|
|
37
|
-
"default": []
|
|
193
|
+
"dependencies": {
|
|
194
|
+
"description": "Rules for a package's dependencies.\n\nRestricts which packages this package can import.",
|
|
195
|
+
"anyOf": [
|
|
196
|
+
{
|
|
197
|
+
"$ref": "#/definitions/Permissions"
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"type": "null"
|
|
201
|
+
}
|
|
202
|
+
]
|
|
38
203
|
},
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
204
|
+
"dependents": {
|
|
205
|
+
"description": "Rules for a package's dependents.\n\nRestricts which packages can import this package.",
|
|
206
|
+
"anyOf": [
|
|
207
|
+
{
|
|
208
|
+
"$ref": "#/definitions/Permissions"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"type": "null"
|
|
212
|
+
}
|
|
213
|
+
]
|
|
46
214
|
},
|
|
47
|
-
"
|
|
215
|
+
"implicitDependencies": {
|
|
216
|
+
"description": "Declares any implicit dependencies, i.e. any dependency not declared in a `package.json`.\n\nThese can include dependencies automatically injected by a framework or a testing library.",
|
|
48
217
|
"anyOf": [
|
|
218
|
+
{
|
|
219
|
+
"$ref": "#/definitions/Array_of_String"
|
|
220
|
+
},
|
|
49
221
|
{
|
|
50
222
|
"type": "null"
|
|
223
|
+
}
|
|
224
|
+
]
|
|
225
|
+
},
|
|
226
|
+
"tags": {
|
|
227
|
+
"description": "The boundaries rules for tags.\n\nRestricts which packages can import a tag and which packages a tag can import.",
|
|
228
|
+
"anyOf": [
|
|
229
|
+
{
|
|
230
|
+
"$ref": "#/definitions/Map_of_TagRules"
|
|
51
231
|
},
|
|
52
232
|
{
|
|
53
|
-
"type": "
|
|
54
|
-
"items": {
|
|
55
|
-
"$ref": "#/definitions/EnvWildcard"
|
|
56
|
-
}
|
|
233
|
+
"type": "null"
|
|
57
234
|
}
|
|
58
|
-
]
|
|
59
|
-
|
|
60
|
-
|
|
235
|
+
]
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
},
|
|
239
|
+
"EnvMode": {
|
|
240
|
+
"description": "Turborepo's Environment Modes allow you to control which environment variables are available to a task at runtime.\n\n- `strict`: Filter environment variables to only those that are specified in the `env` and `globalEnv` keys in `turbo.json`. - `loose`: Allow all environment variables for the process to be available.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#envmode",
|
|
241
|
+
"oneOf": [
|
|
242
|
+
{
|
|
243
|
+
"description": "Allow all environment variables for the process to be available.",
|
|
244
|
+
"type": "string",
|
|
245
|
+
"enum": ["loose"]
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"description": "Filter environment variables to only those that are specified in the `env` and `globalEnv` keys in `turbo.json`.",
|
|
249
|
+
"type": "string",
|
|
250
|
+
"enum": ["strict"]
|
|
251
|
+
}
|
|
252
|
+
]
|
|
253
|
+
},
|
|
254
|
+
"FutureFlags": {
|
|
255
|
+
"description": "Opt into breaking changes prior to major releases, experimental features, and beta features.\n\nNote: Currently all previous future flags (turboExtendsKeyword, nonRootExtends) have been graduated and are now enabled by default.",
|
|
256
|
+
"type": "object"
|
|
257
|
+
},
|
|
258
|
+
"Map_of_TagRules": {
|
|
259
|
+
"type": "object",
|
|
260
|
+
"additionalProperties": {
|
|
261
|
+
"$ref": "#/definitions/TagRules"
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
"OutputLogs": {
|
|
265
|
+
"description": "Output mode for the task.\n\n- `full`: Displays all output - `hash-only`: Show only the hashes of the tasks - `new-only`: Only show output from cache misses - `errors-only`: Only show output from task failures - `none`: Hides all task output\n\nDocumentation: https://turborepo.com/docs/reference/run#--output-logs-option",
|
|
266
|
+
"oneOf": [
|
|
267
|
+
{
|
|
268
|
+
"description": "Displays all output.",
|
|
269
|
+
"type": "string",
|
|
270
|
+
"enum": ["full"]
|
|
61
271
|
},
|
|
62
|
-
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
272
|
+
{
|
|
273
|
+
"description": "Hides all task output.",
|
|
274
|
+
"type": "string",
|
|
275
|
+
"enum": ["none"]
|
|
66
276
|
},
|
|
67
|
-
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
277
|
+
{
|
|
278
|
+
"description": "Show only the hashes of the tasks.",
|
|
279
|
+
"type": "string",
|
|
280
|
+
"enum": ["hash-only"]
|
|
71
281
|
},
|
|
72
|
-
|
|
282
|
+
{
|
|
283
|
+
"description": "Only show output from cache misses.",
|
|
73
284
|
"type": "string",
|
|
74
|
-
"
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
"type": "
|
|
79
|
-
"
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
"description": "
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
"additionalProperties": {},
|
|
109
|
-
"description": "Opt into breaking changes prior to major releases, experimental features, and beta features.",
|
|
110
|
-
"default": {}
|
|
285
|
+
"enum": ["new-only"]
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"description": "Only show output from task failures.",
|
|
289
|
+
"type": "string",
|
|
290
|
+
"enum": ["errors-only"]
|
|
291
|
+
}
|
|
292
|
+
]
|
|
293
|
+
},
|
|
294
|
+
"Permissions": {
|
|
295
|
+
"description": "Permission rules for boundaries.",
|
|
296
|
+
"type": "object",
|
|
297
|
+
"properties": {
|
|
298
|
+
"allow": {
|
|
299
|
+
"description": "Lists which tags are allowed.\n\nAny tag not included will be banned. If omitted, all tags are permitted.",
|
|
300
|
+
"anyOf": [
|
|
301
|
+
{
|
|
302
|
+
"$ref": "#/definitions/Array_of_String"
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"type": "null"
|
|
306
|
+
}
|
|
307
|
+
]
|
|
308
|
+
},
|
|
309
|
+
"deny": {
|
|
310
|
+
"description": "Lists which tags are banned.",
|
|
311
|
+
"anyOf": [
|
|
312
|
+
{
|
|
313
|
+
"$ref": "#/definitions/Array_of_String"
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
"type": "null"
|
|
317
|
+
}
|
|
318
|
+
]
|
|
111
319
|
}
|
|
112
|
-
}
|
|
113
|
-
"additionalProperties": false,
|
|
114
|
-
"required": ["tasks"]
|
|
320
|
+
}
|
|
115
321
|
},
|
|
116
322
|
"Pipeline": {
|
|
323
|
+
"description": "Configuration for a pipeline task.\n\nThe name of a task that can be executed by turbo. If turbo finds a workspace package with a `package.json` scripts object with a matching key, it will apply the pipeline task configuration to that npm script during execution.",
|
|
117
324
|
"type": "object",
|
|
118
325
|
"properties": {
|
|
326
|
+
"cache": {
|
|
327
|
+
"description": "Whether or not to cache the outputs of the task.\n\nSetting cache to false is useful for long-running \"watch\" or development mode tasks.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#cache",
|
|
328
|
+
"anyOf": [
|
|
329
|
+
{
|
|
330
|
+
"$ref": "#/definitions/Boolean"
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"type": "null"
|
|
334
|
+
}
|
|
335
|
+
]
|
|
336
|
+
},
|
|
119
337
|
"dependsOn": {
|
|
120
|
-
"
|
|
121
|
-
"
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
338
|
+
"description": "The list of tasks that this task depends on.\n\nPrefixing an item in `dependsOn` with a `^` prefix tells turbo that this task depends on the package's topological dependencies completing the task first. Items without a `^` prefix express the relationships between tasks within the same package.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#dependson",
|
|
339
|
+
"anyOf": [
|
|
340
|
+
{
|
|
341
|
+
"$ref": "#/definitions/Array_of_String"
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"type": "null"
|
|
345
|
+
}
|
|
346
|
+
]
|
|
126
347
|
},
|
|
127
348
|
"env": {
|
|
128
|
-
"
|
|
349
|
+
"description": "A list of environment variables that this task depends on.\n\nNote: If you are migrating from a turbo version 1.5 or below, you may be used to prefixing your variables with a `$`. You no longer need to use the `$` prefix.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#env",
|
|
350
|
+
"type": ["array", "null"],
|
|
351
|
+
"items": {
|
|
352
|
+
"$ref": "#/definitions/String"
|
|
353
|
+
}
|
|
354
|
+
},
|
|
355
|
+
"inputs": {
|
|
356
|
+
"description": "The set of glob patterns to consider as inputs to this task.\n\nChanges to files covered by these globs will cause a cache miss and the task will be rerun. If a file has been changed that is **not** included in the set of globs, it will not cause a cache miss. If omitted or empty, all files in the package are considered as inputs.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#inputs",
|
|
357
|
+
"type": ["array", "null"],
|
|
129
358
|
"items": {
|
|
130
|
-
"$ref": "#/definitions/
|
|
131
|
-
}
|
|
132
|
-
"description": "A list of environment variables that this task depends on.\n\nNote: If you are migrating from a turbo version 1.5 or below, you may be used to prefixing your variables with a $. You no longer need to use the $ prefix. (e.g. $GITHUB_TOKEN → GITHUB_TOKEN)\n\nDocumentation: https://turborepo.com/docs/reference/configuration#env",
|
|
133
|
-
"default": []
|
|
359
|
+
"$ref": "#/definitions/String"
|
|
360
|
+
}
|
|
134
361
|
},
|
|
135
|
-
"
|
|
362
|
+
"interactive": {
|
|
363
|
+
"description": "Mark a task as interactive allowing it to receive input from stdin.\n\nInteractive tasks must be marked with `\"cache\": false` as the input they receive from stdin can change the outcome of the task.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#interactive",
|
|
136
364
|
"anyOf": [
|
|
365
|
+
{
|
|
366
|
+
"$ref": "#/definitions/Boolean"
|
|
367
|
+
},
|
|
137
368
|
{
|
|
138
369
|
"type": "null"
|
|
370
|
+
}
|
|
371
|
+
]
|
|
372
|
+
},
|
|
373
|
+
"interruptible": {
|
|
374
|
+
"description": "Label a persistent task as interruptible to allow it to be restarted by `turbo watch`.\n\n`turbo watch` watches for changes to your packages and automatically restarts tasks that are affected. However, if a task is persistent, it will not be restarted by default. To enable restarting persistent tasks, set `interruptible` to `true`.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#interruptible",
|
|
375
|
+
"anyOf": [
|
|
376
|
+
{
|
|
377
|
+
"$ref": "#/definitions/Boolean"
|
|
139
378
|
},
|
|
140
379
|
{
|
|
141
|
-
"type": "
|
|
142
|
-
"items": {
|
|
143
|
-
"$ref": "#/definitions/EnvWildcard"
|
|
144
|
-
}
|
|
380
|
+
"type": "null"
|
|
145
381
|
}
|
|
146
|
-
]
|
|
147
|
-
|
|
148
|
-
|
|
382
|
+
]
|
|
383
|
+
},
|
|
384
|
+
"outputLogs": {
|
|
385
|
+
"description": "Output mode for the task.\n\nDocumentation: https://turborepo.com/docs/reference/run#--output-logs-option",
|
|
386
|
+
"anyOf": [
|
|
387
|
+
{
|
|
388
|
+
"$ref": "#/definitions/OutputLogs"
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"type": "null"
|
|
392
|
+
}
|
|
393
|
+
]
|
|
149
394
|
},
|
|
150
395
|
"outputs": {
|
|
151
|
-
"type": "array",
|
|
152
|
-
"items": {
|
|
153
|
-
"type": "string"
|
|
154
|
-
},
|
|
155
396
|
"description": "The set of glob patterns indicating a task's cacheable filesystem outputs.\n\nTurborepo captures task logs for all tasks. This enables us to cache tasks whose runs produce no artifacts other than logs (such as linters). Logs are always treated as a cacheable artifact and never need to be specified.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#outputs",
|
|
156
|
-
"
|
|
157
|
-
},
|
|
158
|
-
"cache": {
|
|
159
|
-
"type": "boolean",
|
|
160
|
-
"description": "Whether or not to cache the outputs of the task.\n\nSetting cache to false is useful for long-running \"watch\" or development mode tasks.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#cache",
|
|
161
|
-
"default": true
|
|
162
|
-
},
|
|
163
|
-
"inputs": {
|
|
164
|
-
"type": "array",
|
|
397
|
+
"type": ["array", "null"],
|
|
165
398
|
"items": {
|
|
166
|
-
"
|
|
167
|
-
}
|
|
168
|
-
"description": "The set of glob patterns to consider as inputs to this task.\n\nChanges to files covered by these globs will cause a cache miss and the task will be rerun.\n\nIf a file has been changed that is **not** included in the set of globs, it will not cause a cache miss.\n\nIf omitted or empty, all files in the package are considered as inputs.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#inputs",
|
|
169
|
-
"default": []
|
|
399
|
+
"$ref": "#/definitions/String"
|
|
400
|
+
}
|
|
170
401
|
},
|
|
171
|
-
"
|
|
172
|
-
"
|
|
173
|
-
"
|
|
174
|
-
"
|
|
402
|
+
"passThroughEnv": {
|
|
403
|
+
"description": "An allowlist of environment variables that should be made available in this task's environment, but should not contribute to the task's cache key, e.g. `AWS_SECRET_KEY`.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#passthroughenv",
|
|
404
|
+
"type": ["array", "null"],
|
|
405
|
+
"items": {
|
|
406
|
+
"$ref": "#/definitions/String"
|
|
407
|
+
}
|
|
175
408
|
},
|
|
176
409
|
"persistent": {
|
|
177
|
-
"
|
|
178
|
-
"
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
"interruptible": {
|
|
187
|
-
"type": "boolean",
|
|
188
|
-
"description": "Label a persistent task as interruptible to allow it to be restarted by `turbo watch`. `turbo watch` watches for changes to your packages and automatically restarts tasks that are affected. However, if a task is persistent, it will not be restarted by default. To enable restarting persistent tasks, set `interruptible` to true.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#interruptible",
|
|
189
|
-
"default": false
|
|
410
|
+
"description": "Indicates whether the task exits or not.\n\nSetting `persistent` to `true` tells turbo that this is a long-running task and will ensure that other tasks cannot depend on it.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#persistent",
|
|
411
|
+
"anyOf": [
|
|
412
|
+
{
|
|
413
|
+
"$ref": "#/definitions/Boolean"
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"type": "null"
|
|
417
|
+
}
|
|
418
|
+
]
|
|
190
419
|
},
|
|
191
420
|
"with": {
|
|
192
|
-
"type": "array",
|
|
193
|
-
"items": {
|
|
194
|
-
"type": "string"
|
|
195
|
-
},
|
|
196
421
|
"description": "A list of tasks that will run alongside this task.\n\nTasks in this list will not be run until completion before this task starts execution.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#with",
|
|
197
|
-
"
|
|
422
|
+
"type": ["array", "null"],
|
|
423
|
+
"items": {
|
|
424
|
+
"$ref": "#/definitions/String"
|
|
425
|
+
}
|
|
198
426
|
}
|
|
199
|
-
}
|
|
200
|
-
"additionalProperties": false
|
|
201
|
-
},
|
|
202
|
-
"EnvWildcard": {
|
|
203
|
-
"type": "string"
|
|
204
|
-
},
|
|
205
|
-
"OutputLogs": {
|
|
206
|
-
"type": "string",
|
|
207
|
-
"enum": ["full", "hash-only", "new-only", "errors-only", "none"]
|
|
427
|
+
}
|
|
208
428
|
},
|
|
209
429
|
"RemoteCache": {
|
|
430
|
+
"description": "Configuration options that control how turbo interfaces with the remote cache.\n\nDocumentation: https://turborepo.com/docs/core-concepts/remote-caching",
|
|
210
431
|
"type": "object",
|
|
211
432
|
"properties": {
|
|
212
|
-
"
|
|
213
|
-
"
|
|
214
|
-
"
|
|
215
|
-
|
|
433
|
+
"apiUrl": {
|
|
434
|
+
"description": "Set endpoint for API calls to the remote cache.\n\nDocumentation: https://turborepo.com/docs/core-concepts/remote-caching#self-hosting",
|
|
435
|
+
"anyOf": [
|
|
436
|
+
{
|
|
437
|
+
"$ref": "#/definitions/String"
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"type": "null"
|
|
441
|
+
}
|
|
442
|
+
]
|
|
216
443
|
},
|
|
217
444
|
"enabled": {
|
|
218
|
-
"
|
|
219
|
-
"
|
|
220
|
-
|
|
445
|
+
"description": "Indicates if the remote cache is enabled.\n\nWhen `false`, Turborepo will disable all remote cache operations, even if the repo has a valid token. If `true`, remote caching is enabled, but still requires the user to login and link their repo to a remote cache.\n\nDocumentation: https://turborepo.com/docs/core-concepts/remote-caching",
|
|
446
|
+
"anyOf": [
|
|
447
|
+
{
|
|
448
|
+
"$ref": "#/definitions/Boolean"
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
"type": "null"
|
|
452
|
+
}
|
|
453
|
+
]
|
|
454
|
+
},
|
|
455
|
+
"loginUrl": {
|
|
456
|
+
"description": "Set endpoint for requesting tokens during `turbo login`.\n\nDocumentation: https://turborepo.com/docs/core-concepts/remote-caching#self-hosting",
|
|
457
|
+
"anyOf": [
|
|
458
|
+
{
|
|
459
|
+
"$ref": "#/definitions/String"
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
"type": "null"
|
|
463
|
+
}
|
|
464
|
+
]
|
|
221
465
|
},
|
|
222
466
|
"preflight": {
|
|
223
|
-
"type": "boolean",
|
|
224
467
|
"description": "When enabled, any HTTP request will be preceded by an OPTIONS request to determine if the request is supported by the endpoint.\n\nDocumentation: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#preflighted_requests",
|
|
225
|
-
"
|
|
468
|
+
"anyOf": [
|
|
469
|
+
{
|
|
470
|
+
"$ref": "#/definitions/Boolean"
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
"type": "null"
|
|
474
|
+
}
|
|
475
|
+
]
|
|
226
476
|
},
|
|
227
|
-
"
|
|
228
|
-
"
|
|
229
|
-
"
|
|
230
|
-
|
|
477
|
+
"signature": {
|
|
478
|
+
"description": "Indicates if signature verification is enabled for requests to the remote cache.\n\nWhen `true`, Turborepo will sign every uploaded artifact using the value of the environment variable `TURBO_REMOTE_CACHE_SIGNATURE_KEY`. Turborepo will reject any downloaded artifacts that have an invalid signature or are missing a signature.",
|
|
479
|
+
"anyOf": [
|
|
480
|
+
{
|
|
481
|
+
"$ref": "#/definitions/Boolean"
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
"type": "null"
|
|
485
|
+
}
|
|
486
|
+
]
|
|
231
487
|
},
|
|
232
|
-
"
|
|
233
|
-
"
|
|
234
|
-
"
|
|
235
|
-
|
|
488
|
+
"teamId": {
|
|
489
|
+
"description": "The ID of the Remote Cache team.\n\nValue will be passed as `teamId` in the querystring for all Remote Cache HTTP calls. Must start with `team_` or it will not be used.",
|
|
490
|
+
"anyOf": [
|
|
491
|
+
{
|
|
492
|
+
"$ref": "#/definitions/String"
|
|
493
|
+
},
|
|
494
|
+
{
|
|
495
|
+
"type": "null"
|
|
496
|
+
}
|
|
497
|
+
]
|
|
498
|
+
},
|
|
499
|
+
"teamSlug": {
|
|
500
|
+
"description": "The slug of the Remote Cache team.\n\nValue will be passed as `slug` in the querystring for all Remote Cache HTTP calls.",
|
|
501
|
+
"anyOf": [
|
|
502
|
+
{
|
|
503
|
+
"$ref": "#/definitions/String"
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
"type": "null"
|
|
507
|
+
}
|
|
508
|
+
]
|
|
236
509
|
},
|
|
237
510
|
"timeout": {
|
|
238
|
-
"
|
|
239
|
-
"
|
|
240
|
-
|
|
511
|
+
"description": "Sets a timeout for remote cache operations.\n\nValue is given in seconds and only whole values are accepted. If `0` is passed, then there is no timeout for any cache operations.",
|
|
512
|
+
"anyOf": [
|
|
513
|
+
{
|
|
514
|
+
"$ref": "#/definitions/uint64"
|
|
515
|
+
},
|
|
516
|
+
{
|
|
517
|
+
"type": "null"
|
|
518
|
+
}
|
|
519
|
+
]
|
|
241
520
|
},
|
|
242
521
|
"uploadTimeout": {
|
|
243
|
-
"
|
|
244
|
-
"
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
"type": "string",
|
|
253
|
-
"description": "The slug of the Remote Cache team. Value will be passed as `slug` in the querystring for all Remote Cache HTTP calls."
|
|
522
|
+
"description": "Sets a timeout for remote cache uploads.\n\nValue is given in seconds and only whole values are accepted. If `0` is passed, then there is no timeout for any remote cache uploads.",
|
|
523
|
+
"anyOf": [
|
|
524
|
+
{
|
|
525
|
+
"$ref": "#/definitions/uint64"
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
"type": "null"
|
|
529
|
+
}
|
|
530
|
+
]
|
|
254
531
|
}
|
|
255
|
-
}
|
|
256
|
-
"additionalProperties": false
|
|
257
|
-
},
|
|
258
|
-
"UI": {
|
|
259
|
-
"type": "string",
|
|
260
|
-
"enum": ["tui", "stream"]
|
|
261
|
-
},
|
|
262
|
-
"RelativeUnixPath": {
|
|
263
|
-
"type": "string",
|
|
264
|
-
"description": "This is a relative Unix-style path (e.g. `./src/index.ts` or `src/index.ts`). Absolute paths (e.g. `/tmp/foo`) are not valid."
|
|
532
|
+
}
|
|
265
533
|
},
|
|
266
|
-
"
|
|
267
|
-
"type": "string"
|
|
268
|
-
"enum": ["strict", "loose"]
|
|
534
|
+
"String": {
|
|
535
|
+
"type": "string"
|
|
269
536
|
},
|
|
270
|
-
"
|
|
537
|
+
"TagRules": {
|
|
538
|
+
"description": "Boundary rules for a tag.\n\nRestricts which packages a tag can import and which packages can import this tag.",
|
|
271
539
|
"type": "object",
|
|
272
540
|
"properties": {
|
|
273
|
-
"
|
|
274
|
-
"
|
|
275
|
-
"
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
541
|
+
"dependencies": {
|
|
542
|
+
"description": "Rules for a tag's dependencies.\n\nRestricts which packages a tag can import.",
|
|
543
|
+
"anyOf": [
|
|
544
|
+
{
|
|
545
|
+
"$ref": "#/definitions/Permissions"
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
"type": "null"
|
|
549
|
+
}
|
|
550
|
+
]
|
|
279
551
|
},
|
|
280
|
-
"
|
|
281
|
-
"
|
|
282
|
-
"
|
|
552
|
+
"dependents": {
|
|
553
|
+
"description": "Rules for a tag's dependents.\n\nRestricts which packages can import this tag.",
|
|
554
|
+
"anyOf": [
|
|
555
|
+
{
|
|
556
|
+
"$ref": "#/definitions/Permissions"
|
|
557
|
+
},
|
|
558
|
+
{
|
|
559
|
+
"type": "null"
|
|
560
|
+
}
|
|
561
|
+
]
|
|
283
562
|
}
|
|
284
|
-
},
|
|
285
|
-
"additionalProperties": false
|
|
286
|
-
},
|
|
287
|
-
"BoundariesRulesMap": {
|
|
288
|
-
"type": "object",
|
|
289
|
-
"additionalProperties": {
|
|
290
|
-
"type": "object",
|
|
291
|
-
"properties": {
|
|
292
|
-
"dependencies": {
|
|
293
|
-
"$ref": "#/definitions/Permissions",
|
|
294
|
-
"description": "Rules for a tag's dependencies. Restricts which packages a tag can import"
|
|
295
|
-
},
|
|
296
|
-
"dependents": {
|
|
297
|
-
"$ref": "#/definitions/Permissions",
|
|
298
|
-
"description": "Rules for a tag's dependents. Restricts which packages can import this tag."
|
|
299
|
-
}
|
|
300
|
-
},
|
|
301
|
-
"additionalProperties": false
|
|
302
563
|
}
|
|
303
564
|
},
|
|
304
|
-
"
|
|
305
|
-
"
|
|
306
|
-
"
|
|
307
|
-
|
|
308
|
-
"
|
|
309
|
-
"items": {
|
|
310
|
-
"type": "string"
|
|
311
|
-
},
|
|
312
|
-
"description": "Lists which tags are allowed. Any tag not included will be banned If omitted, all tags are permitted"
|
|
313
|
-
},
|
|
314
|
-
"deny": {
|
|
315
|
-
"type": "array",
|
|
316
|
-
"items": {
|
|
317
|
-
"type": "string"
|
|
318
|
-
},
|
|
319
|
-
"description": "Lists which tags are banned."
|
|
320
|
-
}
|
|
321
|
-
},
|
|
322
|
-
"additionalProperties": false
|
|
323
|
-
},
|
|
324
|
-
"WorkspaceSchema": {
|
|
325
|
-
"type": "object",
|
|
326
|
-
"properties": {
|
|
327
|
-
"$schema": {
|
|
565
|
+
"UI": {
|
|
566
|
+
"description": "Enable use of the UI for `turbo`.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#ui",
|
|
567
|
+
"oneOf": [
|
|
568
|
+
{
|
|
569
|
+
"description": "Use the terminal user interface.",
|
|
328
570
|
"type": "string",
|
|
329
|
-
"
|
|
330
|
-
},
|
|
331
|
-
"tasks": {
|
|
332
|
-
"type": "object",
|
|
333
|
-
"additionalProperties": {
|
|
334
|
-
"$ref": "#/definitions/Pipeline",
|
|
335
|
-
"description": "The name of a task that can be executed by turbo. If turbo finds a workspace package with a package.json scripts object with a matching key, it will apply the pipeline task configuration to that npm script during execution."
|
|
336
|
-
},
|
|
337
|
-
"description": "An object representing the task dependency graph of your project. turbo interprets these conventions to schedule, execute, and cache the outputs of tasks in your project.\n\nDocumentation: https://turborepo.com/docs/reference/configuration#tasks",
|
|
338
|
-
"default": {}
|
|
339
|
-
},
|
|
340
|
-
"extends": {
|
|
341
|
-
"type": "array",
|
|
342
|
-
"items": {
|
|
343
|
-
"type": "string"
|
|
344
|
-
},
|
|
345
|
-
"description": "This key is only available in Workspace Configs and cannot be used in your root turbo.json.\n\nTells turbo to extend your root `turbo.json` and overrides with the keys provided in your Workspace Configs.\n\nCurrently, only the \"//\" value is allowed.",
|
|
346
|
-
"default": ["//"]
|
|
571
|
+
"enum": ["tui"]
|
|
347
572
|
},
|
|
348
|
-
|
|
349
|
-
"
|
|
350
|
-
"
|
|
351
|
-
|
|
352
|
-
},
|
|
353
|
-
"description": "Used to tag a package for boundaries rules. Boundaries rules can restrict which packages a tag group can import or be imported by."
|
|
354
|
-
},
|
|
355
|
-
"boundaries": {
|
|
356
|
-
"$ref": "#/definitions/BoundariesConfig",
|
|
357
|
-
"description": "Configuration for `turbo boundaries` that is specific to this package"
|
|
573
|
+
{
|
|
574
|
+
"description": "Use the standard output stream.",
|
|
575
|
+
"type": "string",
|
|
576
|
+
"enum": ["stream"]
|
|
358
577
|
}
|
|
359
|
-
|
|
360
|
-
"required": ["extends", "tasks"],
|
|
361
|
-
"additionalProperties": false,
|
|
362
|
-
"description": "A `turbo.json` file in a package in the monorepo (not the root)"
|
|
578
|
+
]
|
|
363
579
|
},
|
|
364
|
-
"
|
|
365
|
-
"type": "
|
|
366
|
-
"
|
|
367
|
-
|
|
368
|
-
"type": "array",
|
|
369
|
-
"items": {
|
|
370
|
-
"type": "string"
|
|
371
|
-
},
|
|
372
|
-
"description": "Declares any implicit dependencies, i.e. any dependency not declared in a package.json. These can include dependencies automatically injected by a framework or a testing library."
|
|
373
|
-
}
|
|
374
|
-
},
|
|
375
|
-
"additionalProperties": false
|
|
580
|
+
"uint64": {
|
|
581
|
+
"type": "integer",
|
|
582
|
+
"format": "uint64",
|
|
583
|
+
"minimum": 0.0
|
|
376
584
|
}
|
|
377
585
|
}
|
|
378
586
|
}
|