@turbo/types 2.1.0 → 2.1.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@turbo/types",
3
- "version": "2.1.0",
3
+ "version": "2.1.1",
4
4
  "description": "Turborepo types",
5
5
  "homepage": "https://turbo.build/repo",
6
6
  "license": "MIT",
@@ -15,9 +15,11 @@
15
15
  "main": "src/index.ts",
16
16
  "types": "src/index.ts",
17
17
  "devDependencies": {
18
+ "@types/node": "^20",
18
19
  "ts-json-schema-generator": "2.3.0",
19
- "@turbo/eslint-config": "0.0.0",
20
- "@turbo/tsconfig": "0.0.0"
20
+ "tsx": "^4.19.0",
21
+ "@turbo/tsconfig": "0.0.0",
22
+ "@turbo/eslint-config": "0.0.0"
21
23
  },
22
24
  "files": [
23
25
  "src",
@@ -30,6 +32,6 @@
30
32
  "build": "tsc && pnpm generate-schema",
31
33
  "lint": "eslint src/",
32
34
  "lint:prettier": "prettier -c . --cache",
33
- "generate-schema": "node scripts/generate-schema.mjs"
35
+ "generate-schema": "tsx scripts/generate-schema.ts"
34
36
  }
35
37
  }
@@ -16,7 +16,8 @@
16
16
  "type": "object",
17
17
  "properties": {
18
18
  "$schema": {
19
- "type": "string"
19
+ "type": "string",
20
+ "default": "https://turbo.build/schema.v2.json"
20
21
  },
21
22
  "tasks": {
22
23
  "type": "object",
@@ -24,21 +25,24 @@
24
25
  "$ref": "#/definitions/Pipeline",
25
26
  "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."
26
27
  },
27
- "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://turbo.build/repo/docs/reference/configuration#tasks"
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://turbo.build/repo/docs/reference/configuration#tasks",
29
+ "default": {}
28
30
  },
29
31
  "globalDependencies": {
30
32
  "type": "array",
31
33
  "items": {
32
34
  "type": "string"
33
35
  },
34
- "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.js, .eslintrc, etc.)\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#globaldependencies"
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.js, .eslintrc, etc.)\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#globaldependencies",
37
+ "default": []
35
38
  },
36
39
  "globalEnv": {
37
40
  "type": "array",
38
41
  "items": {
39
42
  "$ref": "#/definitions/EnvWildcard"
40
43
  },
41
- "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://turbo.build/repo/docs/reference/configuration#globalenv"
44
+ "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://turbo.build/repo/docs/reference/configuration#globalenv",
45
+ "default": []
42
46
  },
43
47
  "globalPassThroughEnv": {
44
48
  "anyOf": [
@@ -52,31 +56,38 @@
52
56
  }
53
57
  }
54
58
  ],
55
- "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://turbo.build/repo/docs/reference/configuration#globalpassthroughenv"
59
+ "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://turbo.build/repo/docs/reference/configuration#globalpassthroughenv",
60
+ "default": null
56
61
  },
57
62
  "remoteCache": {
58
63
  "$ref": "#/definitions/RemoteCache",
59
- "description": "Configuration options that control how turbo interfaces with the remote cache.\n\nDocumentation: https://turbo.build/repo/docs/core-concepts/remote-caching"
64
+ "description": "Configuration options that control how turbo interfaces with the remote cache.\n\nDocumentation: https://turbo.build/repo/docs/core-concepts/remote-caching",
65
+ "default": {}
60
66
  },
61
67
  "ui": {
62
68
  "$ref": "#/definitions/UI",
63
- "description": "Enable use of the UI for `turbo`.\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#ui"
69
+ "description": "Enable use of the UI for `turbo`.\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#ui",
70
+ "default": "stream"
64
71
  },
65
72
  "dangerouslyDisablePackageManagerCheck": {
66
73
  "type": "boolean",
67
- "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.\n\nSome turbo features are disabled if this is set to true."
74
+ "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.\n\nSome turbo features are disabled if this is set to true.",
75
+ "default": false
68
76
  },
69
77
  "cacheDir": {
70
78
  "$ref": "#/definitions/RelativeUnixPath",
71
- "description": "Specify the filesystem cache directory.\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#cachedir"
79
+ "description": "Specify the filesystem cache directory.\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#cachedir",
80
+ "default": ".turbo/cache"
72
81
  },
73
82
  "daemon": {
74
83
  "type": "boolean",
75
- "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://turbo.build/repo/docs/reference/configuration#daemon"
84
+ "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://turbo.build/repo/docs/reference/configuration#daemon",
85
+ "default": false
76
86
  },
77
87
  "envMode": {
78
88
  "$ref": "#/definitions/EnvMode",
79
- "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`.\n- `\"loose\"`: Allow all environment variables for the process to be available.\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#envmode"
89
+ "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`.\n- `\"loose\"`: Allow all environment variables for the process to be available.\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#envmode",
90
+ "default": "strict"
80
91
  }
81
92
  },
82
93
  "additionalProperties": false,
@@ -92,14 +103,16 @@
92
103
  "items": {
93
104
  "type": "string"
94
105
  },
95
- "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. (e.g. \"A package's build tasks should only run once all of its workspace dependencies have completed their own build commands.\")\n\nItems in dependsOn without a ^ prefix express the relationships between tasks within the same package (e.g. \"A package's test and lint commands depend on its own build being completed first.\")\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#dependson"
106
+ "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. (e.g. \"A package's build tasks should only run once all of its workspace dependencies have completed their own build commands.\")\n\nItems in dependsOn without a ^ prefix express the relationships between tasks within the same package (e.g. \"A package's test and lint commands depend on its own build being completed first.\")\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#dependson",
107
+ "default": []
96
108
  },
97
109
  "env": {
98
110
  "type": "array",
99
111
  "items": {
100
112
  "$ref": "#/definitions/EnvWildcard"
101
113
  },
102
- "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://turbo.build/repo/docs/reference/configuration#env"
114
+ "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://turbo.build/repo/docs/reference/configuration#env",
115
+ "default": []
103
116
  },
104
117
  "passThroughEnv": {
105
118
  "anyOf": [
@@ -113,37 +126,44 @@
113
126
  }
114
127
  }
115
128
  ],
116
- "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://turbo.build/repo/docs/reference/configuration#passthroughenv"
129
+ "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://turbo.build/repo/docs/reference/configuration#passthroughenv",
130
+ "default": null
117
131
  },
118
132
  "outputs": {
119
133
  "type": "array",
120
134
  "items": {
121
135
  "type": "string"
122
136
  },
123
- "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://turbo.build/repo/docs/reference/configuration#outputs"
137
+ "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://turbo.build/repo/docs/reference/configuration#outputs",
138
+ "default": []
124
139
  },
125
140
  "cache": {
126
141
  "type": "boolean",
127
- "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://turbo.build/repo/docs/reference/configuration#cache"
142
+ "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://turbo.build/repo/docs/reference/configuration#cache",
143
+ "default": true
128
144
  },
129
145
  "inputs": {
130
146
  "type": "array",
131
147
  "items": {
132
148
  "type": "string"
133
149
  },
134
- "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://turbo.build/repo/docs/reference/configuration#inputs"
150
+ "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://turbo.build/repo/docs/reference/configuration#inputs",
151
+ "default": []
135
152
  },
136
153
  "outputLogs": {
137
154
  "$ref": "#/definitions/OutputLogs",
138
- "description": "Output mode for the task.\n\n\"full\": Displays all output\n\n\"hash-only\": Show only the hashes of the tasks\n\n\"new-only\": Only show output from cache misses\n\n\"errors-only\": Only show output from task failures\n\n\"none\": Hides all task output\n\nDocumentation: https://turbo.build/repo/docs/reference/run#--output-logs-option"
155
+ "description": "Output mode for the task.\n\n\"full\": Displays all output\n\n\"hash-only\": Show only the hashes of the tasks\n\n\"new-only\": Only show output from cache misses\n\n\"errors-only\": Only show output from task failures\n\n\"none\": Hides all task output\n\nDocumentation: https://turbo.build/repo/docs/reference/run#--output-logs-option",
156
+ "default": "full"
139
157
  },
140
158
  "persistent": {
141
159
  "type": "boolean",
142
- "description": "Indicates whether the task exits or not. Setting `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://turbo.build/repo/docs/reference/configuration#persistent"
160
+ "description": "Indicates whether the task exits or not. Setting `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://turbo.build/repo/docs/reference/configuration#persistent",
161
+ "default": false
143
162
  },
144
163
  "interactive": {
145
164
  "type": "boolean",
146
- "description": "Mark a task as interactive allowing it to receive input from stdin. Interactive tasks must be marked with \"cache\": false as the input they receive from stdin can change the outcome of the task.\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#interactive"
165
+ "description": "Mark a task as interactive allowing it to receive input from stdin. Interactive tasks must be marked with \"cache\": false as the input they receive from stdin can change the outcome of the task.\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#interactive",
166
+ "default": false
147
167
  }
148
168
  },
149
169
  "additionalProperties": false
@@ -166,11 +186,33 @@
166
186
  "properties": {
167
187
  "signature": {
168
188
  "type": "boolean",
169
- "description": "Indicates if signature verification is enabled for requests to the remote cache. When `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."
189
+ "description": "Indicates if signature verification is enabled for requests to the remote cache. When `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.",
190
+ "default": false
170
191
  },
171
192
  "enabled": {
172
193
  "type": "boolean",
173
- "description": "Indicates if the remote cache is enabled. When `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. Documentation: https://turbo.build/repo/docs/core-concepts/remote-caching"
194
+ "description": "Indicates if the remote cache is enabled. When `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. Documentation: https://turbo.build/repo/docs/core-concepts/remote-caching",
195
+ "default": true
196
+ },
197
+ "preflight": {
198
+ "type": "boolean",
199
+ "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",
200
+ "default": false
201
+ },
202
+ "apiUrl": {
203
+ "type": "string",
204
+ "description": "Set endpoint for API calls to the remote cache. Documentation: https://turbo.build/repo/docs/core-concepts/remote-caching#self-hosting",
205
+ "default": "https://vercel.com/api"
206
+ },
207
+ "loginUrl": {
208
+ "type": "string",
209
+ "description": "Set endpoint for requesting tokens during `turbo login`. Documentation: https://turbo.build/repo/docs/core-concepts/remote-caching#self-hosting",
210
+ "default": "https://vercel.com"
211
+ },
212
+ "timeout": {
213
+ "type": "number",
214
+ "description": "Sets a timeout for remote cache operations. Value is given in seconds and only whole values are accepted. If `0` is passed, then there is no timeout for any cache operations.",
215
+ "default": 30
174
216
  }
175
217
  },
176
218
  "additionalProperties": false
@@ -197,7 +239,8 @@
197
239
  "type": "object",
198
240
  "properties": {
199
241
  "$schema": {
200
- "type": "string"
242
+ "type": "string",
243
+ "default": "https://turbo.build/schema.v2.json"
201
244
  },
202
245
  "tasks": {
203
246
  "type": "object",
@@ -205,14 +248,18 @@
205
248
  "$ref": "#/definitions/Pipeline",
206
249
  "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."
207
250
  },
208
- "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://turbo.build/repo/docs/reference/configuration#tasks"
251
+ "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://turbo.build/repo/docs/reference/configuration#tasks",
252
+ "default": {}
209
253
  },
210
254
  "extends": {
211
255
  "type": "array",
212
256
  "items": {
213
257
  "type": "string"
214
258
  },
215
- "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."
259
+ "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.",
260
+ "default": [
261
+ "//"
262
+ ]
216
263
  }
217
264
  },
218
265
  "required": [
@@ -16,7 +16,8 @@
16
16
  "type": "object",
17
17
  "properties": {
18
18
  "$schema": {
19
- "type": "string"
19
+ "type": "string",
20
+ "default": "https://turbo.build/schema.v1.json"
20
21
  },
21
22
  "pipeline": {
22
23
  "type": "object",
@@ -24,14 +25,18 @@
24
25
  "$ref": "#/definitions/PipelineV1",
25
26
  "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."
26
27
  },
27
- "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://turbo.build/repo/docs/reference/configuration#tasks"
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://turbo.build/repo/docs/reference/configuration#tasks",
29
+ "default": {}
28
30
  },
29
31
  "extends": {
30
32
  "type": "array",
31
33
  "items": {
32
34
  "type": "string"
33
35
  },
34
- "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."
36
+ "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.",
37
+ "default": [
38
+ "//"
39
+ ]
35
40
  }
36
41
  },
37
42
  "required": [
@@ -48,14 +53,16 @@
48
53
  "items": {
49
54
  "type": "string"
50
55
  },
51
- "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. (e.g. \"A package's build tasks should only run once all of its workspace dependencies have completed their own build commands.\")\n\nItems in dependsOn without a ^ prefix express the relationships between tasks within the same package (e.g. \"A package's test and lint commands depend on its own build being completed first.\")\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#dependson"
56
+ "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. (e.g. \"A package's build tasks should only run once all of its workspace dependencies have completed their own build commands.\")\n\nItems in dependsOn without a ^ prefix express the relationships between tasks within the same package (e.g. \"A package's test and lint commands depend on its own build being completed first.\")\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#dependson",
57
+ "default": []
52
58
  },
53
59
  "env": {
54
60
  "type": "array",
55
61
  "items": {
56
62
  "$ref": "#/definitions/EnvWildcardV1"
57
63
  },
58
- "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://turbo.build/repo/docs/reference/configuration#env"
64
+ "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://turbo.build/repo/docs/reference/configuration#env",
65
+ "default": []
59
66
  },
60
67
  "passThroughEnv": {
61
68
  "anyOf": [
@@ -69,7 +76,8 @@
69
76
  }
70
77
  }
71
78
  ],
72
- "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://turbo.build/repo/docs/reference/configuration#passthroughenv"
79
+ "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://turbo.build/repo/docs/reference/configuration#passthroughenv",
80
+ "default": null
73
81
  },
74
82
  "dotEnv": {
75
83
  "anyOf": [
@@ -83,37 +91,44 @@
83
91
  }
84
92
  }
85
93
  ],
86
- "description": "A priority-ordered (most-significant to least-significant) array of workspace-anchored Unix-style paths to `.env` files to include in the task hash."
94
+ "description": "A priority-ordered (most-significant to least-significant) array of workspace-anchored Unix-style paths to `.env` files to include in the task hash.",
95
+ "default": null
87
96
  },
88
97
  "outputs": {
89
98
  "type": "array",
90
99
  "items": {
91
100
  "type": "string"
92
101
  },
93
- "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://turbo.build/repo/docs/reference/configuration#outputs"
102
+ "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://turbo.build/repo/docs/reference/configuration#outputs",
103
+ "default": []
94
104
  },
95
105
  "cache": {
96
106
  "type": "boolean",
97
- "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://turbo.build/repo/docs/reference/configuration#cache"
107
+ "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://turbo.build/repo/docs/reference/configuration#cache",
108
+ "default": true
98
109
  },
99
110
  "inputs": {
100
111
  "type": "array",
101
112
  "items": {
102
113
  "type": "string"
103
114
  },
104
- "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://turbo.build/repo/docs/reference/configuration#inputs"
115
+ "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://turbo.build/repo/docs/reference/configuration#inputs",
116
+ "default": []
105
117
  },
106
118
  "outputMode": {
107
119
  "$ref": "#/definitions/OutputModeV1",
108
- "description": "Output mode for the task.\n\n\"full\": Displays all output\n\n\"hash-only\": Show only the hashes of the tasks\n\n\"new-only\": Only show output from cache misses\n\n\"errors-only\": Only show output from task failures\n\n\"none\": Hides all task output\n\nDocumentation: https://turbo.build/repo/docs/reference/run#--output-logs-option"
120
+ "description": "Output mode for the task.\n\n\"full\": Displays all output\n\n\"hash-only\": Show only the hashes of the tasks\n\n\"new-only\": Only show output from cache misses\n\n\"errors-only\": Only show output from task failures\n\n\"none\": Hides all task output\n\nDocumentation: https://turbo.build/repo/docs/reference/run#--output-logs-option",
121
+ "default": "full"
109
122
  },
110
123
  "persistent": {
111
124
  "type": "boolean",
112
- "description": "Indicates whether the task exits or not. Setting `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://turbo.build/repo/docs/reference/configuration#persistent"
125
+ "description": "Indicates whether the task exits or not. Setting `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://turbo.build/repo/docs/reference/configuration#persistent",
126
+ "default": false
113
127
  },
114
128
  "interactive": {
115
129
  "type": "boolean",
116
- "description": "Mark a task as interactive allowing it to receive input from stdin. Interactive tasks must be marked with \"cache\": false as the input they receive from stdin can change the outcome of the task.\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#interactive"
130
+ "description": "Mark a task as interactive allowing it to receive input from stdin. Interactive tasks must be marked with \"cache\": false as the input they receive from stdin can change the outcome of the task.\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#interactive",
131
+ "default": false
117
132
  }
118
133
  },
119
134
  "additionalProperties": false
@@ -138,7 +153,8 @@
138
153
  "type": "object",
139
154
  "properties": {
140
155
  "$schema": {
141
- "type": "string"
156
+ "type": "string",
157
+ "default": "https://turbo.build/schema.v1.json"
142
158
  },
143
159
  "pipeline": {
144
160
  "type": "object",
@@ -146,21 +162,24 @@
146
162
  "$ref": "#/definitions/PipelineV1",
147
163
  "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."
148
164
  },
149
- "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://turbo.build/repo/docs/reference/configuration#tasks"
165
+ "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://turbo.build/repo/docs/reference/configuration#tasks",
166
+ "default": {}
150
167
  },
151
168
  "globalDependencies": {
152
169
  "type": "array",
153
170
  "items": {
154
171
  "type": "string"
155
172
  },
156
- "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.js, .eslintrc, etc.)\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#globaldependencies"
173
+ "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.js, .eslintrc, etc.)\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#globaldependencies",
174
+ "default": []
157
175
  },
158
176
  "globalEnv": {
159
177
  "type": "array",
160
178
  "items": {
161
179
  "$ref": "#/definitions/EnvWildcardV1"
162
180
  },
163
- "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://turbo.build/repo/docs/reference/configuration#globalenv"
181
+ "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://turbo.build/repo/docs/reference/configuration#globalenv",
182
+ "default": []
164
183
  },
165
184
  "globalPassThroughEnv": {
166
185
  "anyOf": [
@@ -174,7 +193,8 @@
174
193
  }
175
194
  }
176
195
  ],
177
- "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://turbo.build/repo/docs/reference/configuration#globalpassthroughenv"
196
+ "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://turbo.build/repo/docs/reference/configuration#globalpassthroughenv",
197
+ "default": null
178
198
  },
179
199
  "globalDotEnv": {
180
200
  "anyOf": [
@@ -188,15 +208,18 @@
188
208
  }
189
209
  }
190
210
  ],
191
- "description": "A priority-ordered (most-significant to least-significant) array of project-anchored Unix-style paths to `.env` files to include in the global hash."
211
+ "description": "A priority-ordered (most-significant to least-significant) array of project-anchored Unix-style paths to `.env` files to include in the global hash.",
212
+ "default": null
192
213
  },
193
214
  "remoteCache": {
194
215
  "$ref": "#/definitions/RemoteCacheV1",
195
- "description": "Configuration options that control how turbo interfaces with the remote cache.\n\nDocumentation: https://turbo.build/repo/docs/core-concepts/remote-caching"
216
+ "description": "Configuration options that control how turbo interfaces with the remote cache.\n\nDocumentation: https://turbo.build/repo/docs/core-concepts/remote-caching",
217
+ "default": {}
196
218
  },
197
219
  "experimentalUI": {
198
220
  "type": "boolean",
199
- "description": "Enable use of the new UI for `turbo`\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#ui"
221
+ "description": "Enable use of the new UI for `turbo`\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#ui",
222
+ "default": false
200
223
  }
201
224
  },
202
225
  "additionalProperties": false,
@@ -209,11 +232,13 @@
209
232
  "properties": {
210
233
  "signature": {
211
234
  "type": "boolean",
212
- "description": "Indicates if signature verification is enabled for requests to the remote cache. When `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."
235
+ "description": "Indicates if signature verification is enabled for requests to the remote cache. When `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.",
236
+ "default": false
213
237
  },
214
238
  "enabled": {
215
239
  "type": "boolean",
216
- "description": "Indicates if the remote cache is enabled. When `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. Documentation: https://turbo.build/repo/docs/core-concepts/remote-caching"
240
+ "description": "Indicates if the remote cache is enabled. When `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. Documentation: https://turbo.build/repo/docs/core-concepts/remote-caching",
241
+ "default": true
217
242
  }
218
243
  },
219
244
  "additionalProperties": false
@@ -16,7 +16,8 @@
16
16
  "type": "object",
17
17
  "properties": {
18
18
  "$schema": {
19
- "type": "string"
19
+ "type": "string",
20
+ "default": "https://turbo.build/schema.v2.json"
20
21
  },
21
22
  "tasks": {
22
23
  "type": "object",
@@ -24,21 +25,24 @@
24
25
  "$ref": "#/definitions/Pipeline",
25
26
  "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."
26
27
  },
27
- "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://turbo.build/repo/docs/reference/configuration#tasks"
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://turbo.build/repo/docs/reference/configuration#tasks",
29
+ "default": {}
28
30
  },
29
31
  "globalDependencies": {
30
32
  "type": "array",
31
33
  "items": {
32
34
  "type": "string"
33
35
  },
34
- "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.js, .eslintrc, etc.)\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#globaldependencies"
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.js, .eslintrc, etc.)\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#globaldependencies",
37
+ "default": []
35
38
  },
36
39
  "globalEnv": {
37
40
  "type": "array",
38
41
  "items": {
39
42
  "$ref": "#/definitions/EnvWildcard"
40
43
  },
41
- "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://turbo.build/repo/docs/reference/configuration#globalenv"
44
+ "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://turbo.build/repo/docs/reference/configuration#globalenv",
45
+ "default": []
42
46
  },
43
47
  "globalPassThroughEnv": {
44
48
  "anyOf": [
@@ -52,31 +56,38 @@
52
56
  }
53
57
  }
54
58
  ],
55
- "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://turbo.build/repo/docs/reference/configuration#globalpassthroughenv"
59
+ "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://turbo.build/repo/docs/reference/configuration#globalpassthroughenv",
60
+ "default": null
56
61
  },
57
62
  "remoteCache": {
58
63
  "$ref": "#/definitions/RemoteCache",
59
- "description": "Configuration options that control how turbo interfaces with the remote cache.\n\nDocumentation: https://turbo.build/repo/docs/core-concepts/remote-caching"
64
+ "description": "Configuration options that control how turbo interfaces with the remote cache.\n\nDocumentation: https://turbo.build/repo/docs/core-concepts/remote-caching",
65
+ "default": {}
60
66
  },
61
67
  "ui": {
62
68
  "$ref": "#/definitions/UI",
63
- "description": "Enable use of the UI for `turbo`.\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#ui"
69
+ "description": "Enable use of the UI for `turbo`.\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#ui",
70
+ "default": "stream"
64
71
  },
65
72
  "dangerouslyDisablePackageManagerCheck": {
66
73
  "type": "boolean",
67
- "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.\n\nSome turbo features are disabled if this is set to true."
74
+ "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.\n\nSome turbo features are disabled if this is set to true.",
75
+ "default": false
68
76
  },
69
77
  "cacheDir": {
70
78
  "$ref": "#/definitions/RelativeUnixPath",
71
- "description": "Specify the filesystem cache directory.\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#cachedir"
79
+ "description": "Specify the filesystem cache directory.\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#cachedir",
80
+ "default": ".turbo/cache"
72
81
  },
73
82
  "daemon": {
74
83
  "type": "boolean",
75
- "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://turbo.build/repo/docs/reference/configuration#daemon"
84
+ "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://turbo.build/repo/docs/reference/configuration#daemon",
85
+ "default": false
76
86
  },
77
87
  "envMode": {
78
88
  "$ref": "#/definitions/EnvMode",
79
- "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`.\n- `\"loose\"`: Allow all environment variables for the process to be available.\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#envmode"
89
+ "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`.\n- `\"loose\"`: Allow all environment variables for the process to be available.\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#envmode",
90
+ "default": "strict"
80
91
  }
81
92
  },
82
93
  "additionalProperties": false,
@@ -92,14 +103,16 @@
92
103
  "items": {
93
104
  "type": "string"
94
105
  },
95
- "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. (e.g. \"A package's build tasks should only run once all of its workspace dependencies have completed their own build commands.\")\n\nItems in dependsOn without a ^ prefix express the relationships between tasks within the same package (e.g. \"A package's test and lint commands depend on its own build being completed first.\")\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#dependson"
106
+ "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. (e.g. \"A package's build tasks should only run once all of its workspace dependencies have completed their own build commands.\")\n\nItems in dependsOn without a ^ prefix express the relationships between tasks within the same package (e.g. \"A package's test and lint commands depend on its own build being completed first.\")\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#dependson",
107
+ "default": []
96
108
  },
97
109
  "env": {
98
110
  "type": "array",
99
111
  "items": {
100
112
  "$ref": "#/definitions/EnvWildcard"
101
113
  },
102
- "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://turbo.build/repo/docs/reference/configuration#env"
114
+ "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://turbo.build/repo/docs/reference/configuration#env",
115
+ "default": []
103
116
  },
104
117
  "passThroughEnv": {
105
118
  "anyOf": [
@@ -113,37 +126,44 @@
113
126
  }
114
127
  }
115
128
  ],
116
- "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://turbo.build/repo/docs/reference/configuration#passthroughenv"
129
+ "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://turbo.build/repo/docs/reference/configuration#passthroughenv",
130
+ "default": null
117
131
  },
118
132
  "outputs": {
119
133
  "type": "array",
120
134
  "items": {
121
135
  "type": "string"
122
136
  },
123
- "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://turbo.build/repo/docs/reference/configuration#outputs"
137
+ "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://turbo.build/repo/docs/reference/configuration#outputs",
138
+ "default": []
124
139
  },
125
140
  "cache": {
126
141
  "type": "boolean",
127
- "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://turbo.build/repo/docs/reference/configuration#cache"
142
+ "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://turbo.build/repo/docs/reference/configuration#cache",
143
+ "default": true
128
144
  },
129
145
  "inputs": {
130
146
  "type": "array",
131
147
  "items": {
132
148
  "type": "string"
133
149
  },
134
- "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://turbo.build/repo/docs/reference/configuration#inputs"
150
+ "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://turbo.build/repo/docs/reference/configuration#inputs",
151
+ "default": []
135
152
  },
136
153
  "outputLogs": {
137
154
  "$ref": "#/definitions/OutputLogs",
138
- "description": "Output mode for the task.\n\n\"full\": Displays all output\n\n\"hash-only\": Show only the hashes of the tasks\n\n\"new-only\": Only show output from cache misses\n\n\"errors-only\": Only show output from task failures\n\n\"none\": Hides all task output\n\nDocumentation: https://turbo.build/repo/docs/reference/run#--output-logs-option"
155
+ "description": "Output mode for the task.\n\n\"full\": Displays all output\n\n\"hash-only\": Show only the hashes of the tasks\n\n\"new-only\": Only show output from cache misses\n\n\"errors-only\": Only show output from task failures\n\n\"none\": Hides all task output\n\nDocumentation: https://turbo.build/repo/docs/reference/run#--output-logs-option",
156
+ "default": "full"
139
157
  },
140
158
  "persistent": {
141
159
  "type": "boolean",
142
- "description": "Indicates whether the task exits or not. Setting `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://turbo.build/repo/docs/reference/configuration#persistent"
160
+ "description": "Indicates whether the task exits or not. Setting `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://turbo.build/repo/docs/reference/configuration#persistent",
161
+ "default": false
143
162
  },
144
163
  "interactive": {
145
164
  "type": "boolean",
146
- "description": "Mark a task as interactive allowing it to receive input from stdin. Interactive tasks must be marked with \"cache\": false as the input they receive from stdin can change the outcome of the task.\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#interactive"
165
+ "description": "Mark a task as interactive allowing it to receive input from stdin. Interactive tasks must be marked with \"cache\": false as the input they receive from stdin can change the outcome of the task.\n\nDocumentation: https://turbo.build/repo/docs/reference/configuration#interactive",
166
+ "default": false
147
167
  }
148
168
  },
149
169
  "additionalProperties": false
@@ -166,11 +186,33 @@
166
186
  "properties": {
167
187
  "signature": {
168
188
  "type": "boolean",
169
- "description": "Indicates if signature verification is enabled for requests to the remote cache. When `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."
189
+ "description": "Indicates if signature verification is enabled for requests to the remote cache. When `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.",
190
+ "default": false
170
191
  },
171
192
  "enabled": {
172
193
  "type": "boolean",
173
- "description": "Indicates if the remote cache is enabled. When `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. Documentation: https://turbo.build/repo/docs/core-concepts/remote-caching"
194
+ "description": "Indicates if the remote cache is enabled. When `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. Documentation: https://turbo.build/repo/docs/core-concepts/remote-caching",
195
+ "default": true
196
+ },
197
+ "preflight": {
198
+ "type": "boolean",
199
+ "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",
200
+ "default": false
201
+ },
202
+ "apiUrl": {
203
+ "type": "string",
204
+ "description": "Set endpoint for API calls to the remote cache. Documentation: https://turbo.build/repo/docs/core-concepts/remote-caching#self-hosting",
205
+ "default": "https://vercel.com/api"
206
+ },
207
+ "loginUrl": {
208
+ "type": "string",
209
+ "description": "Set endpoint for requesting tokens during `turbo login`. Documentation: https://turbo.build/repo/docs/core-concepts/remote-caching#self-hosting",
210
+ "default": "https://vercel.com"
211
+ },
212
+ "timeout": {
213
+ "type": "number",
214
+ "description": "Sets a timeout for remote cache operations. Value is given in seconds and only whole values are accepted. If `0` is passed, then there is no timeout for any cache operations.",
215
+ "default": 30
174
216
  }
175
217
  },
176
218
  "additionalProperties": false
@@ -197,7 +239,8 @@
197
239
  "type": "object",
198
240
  "properties": {
199
241
  "$schema": {
200
- "type": "string"
242
+ "type": "string",
243
+ "default": "https://turbo.build/schema.v2.json"
201
244
  },
202
245
  "tasks": {
203
246
  "type": "object",
@@ -205,14 +248,18 @@
205
248
  "$ref": "#/definitions/Pipeline",
206
249
  "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."
207
250
  },
208
- "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://turbo.build/repo/docs/reference/configuration#tasks"
251
+ "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://turbo.build/repo/docs/reference/configuration#tasks",
252
+ "default": {}
209
253
  },
210
254
  "extends": {
211
255
  "type": "array",
212
256
  "items": {
213
257
  "type": "string"
214
258
  },
215
- "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."
259
+ "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.",
260
+ "default": [
261
+ "//"
262
+ ]
216
263
  }
217
264
  },
218
265
  "required": [
@@ -304,6 +304,38 @@ export interface RemoteCache {
304
304
  * @defaultValue `true`
305
305
  */
306
306
  enabled?: boolean;
307
+
308
+ /**
309
+ * When enabled, any HTTP request will be preceded by an OPTIONS request to
310
+ * determine if the request is supported by the endpoint.
311
+ *
312
+ * Documentation: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#preflighted_requests
313
+ *
314
+ * @defaultValue `false`
315
+ */
316
+ preflight?: boolean;
317
+ /**
318
+ * Set endpoint for API calls to the remote cache.
319
+ * Documentation: https://turbo.build/repo/docs/core-concepts/remote-caching#self-hosting
320
+ *
321
+ * @defaultValue `"https://vercel.com/api"`
322
+ */
323
+ apiUrl?: string;
324
+ /**
325
+ * Set endpoint for requesting tokens during `turbo login`.
326
+ * Documentation: https://turbo.build/repo/docs/core-concepts/remote-caching#self-hosting
327
+ *
328
+ * @defaultValue `"https://vercel.com"`
329
+ */
330
+ loginUrl?: string;
331
+ /**
332
+ * Sets a timeout for remote cache operations. Value is given in seconds and
333
+ * only whole values are accepted. If `0` is passed, then there is no timeout
334
+ * for any cache operations.
335
+ *
336
+ * @defaultValue `30`
337
+ */
338
+ timeout?: number;
307
339
  }
308
340
 
309
341
  export const isRootSchemaV2 = (schema: Schema): schema is RootSchema =>