@visulima/vis 0.0.1 → 1.0.0-alpha.10
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/CHANGELOG.md +360 -0
- package/LICENSE.md +91 -0
- package/README.md +364 -29
- package/dist/bin.js +2 -0
- package/dist/errors/index.d.ts +26 -0
- package/dist/errors/index.js +1 -0
- package/dist/generate/index.d.ts +157 -0
- package/dist/generate/index.js +1 -0
- package/dist/packem_chunks/bin.js +87 -0
- package/dist/packem_chunks/config.js +2 -0
- package/dist/packem_chunks/fix.js +53 -0
- package/dist/packem_chunks/handler.js +1 -0
- package/dist/packem_chunks/handler10.js +1 -0
- package/dist/packem_chunks/handler11.js +1 -0
- package/dist/packem_chunks/handler12.js +2 -0
- package/dist/packem_chunks/handler13.js +1 -0
- package/dist/packem_chunks/handler14.js +5 -0
- package/dist/packem_chunks/handler15.js +1 -0
- package/dist/packem_chunks/handler16.js +20 -0
- package/dist/packem_chunks/handler17.js +1 -0
- package/dist/packem_chunks/handler18.js +1 -0
- package/dist/packem_chunks/handler19.js +1 -0
- package/dist/packem_chunks/handler2.js +1 -0
- package/dist/packem_chunks/handler20.js +1 -0
- package/dist/packem_chunks/handler21.js +1 -0
- package/dist/packem_chunks/handler22.js +5 -0
- package/dist/packem_chunks/handler23.js +1 -0
- package/dist/packem_chunks/handler24.js +1 -0
- package/dist/packem_chunks/handler25.js +5 -0
- package/dist/packem_chunks/handler26.js +1 -0
- package/dist/packem_chunks/handler27.js +3 -0
- package/dist/packem_chunks/handler28.js +1 -0
- package/dist/packem_chunks/handler29.js +7 -0
- package/dist/packem_chunks/handler3.js +2 -0
- package/dist/packem_chunks/handler30.js +23 -0
- package/dist/packem_chunks/handler31.js +3 -0
- package/dist/packem_chunks/handler32.js +2 -0
- package/dist/packem_chunks/handler33.js +24 -0
- package/dist/packem_chunks/handler34.js +2 -0
- package/dist/packem_chunks/handler35.js +19 -0
- package/dist/packem_chunks/handler36.js +428 -0
- package/dist/packem_chunks/handler37.js +22 -0
- package/dist/packem_chunks/handler38.js +22 -0
- package/dist/packem_chunks/handler39.js +22 -0
- package/dist/packem_chunks/handler4.js +4 -0
- package/dist/packem_chunks/handler40.js +3 -0
- package/dist/packem_chunks/handler41.js +10 -0
- package/dist/packem_chunks/handler42.js +153 -0
- package/dist/packem_chunks/handler43.js +42 -0
- package/dist/packem_chunks/handler44.js +3 -0
- package/dist/packem_chunks/handler45.js +27 -0
- package/dist/packem_chunks/handler5.js +2 -0
- package/dist/packem_chunks/handler6.js +13 -0
- package/dist/packem_chunks/handler7.js +8 -0
- package/dist/packem_chunks/handler8.js +1 -0
- package/dist/packem_chunks/handler9.js +1 -0
- package/dist/packem_chunks/index.js +7 -0
- package/dist/packem_chunks/loader.js +1 -0
- package/dist/packem_shared/VisConfigCycleError-CAYNC7d-.js +1 -0
- package/dist/packem_shared/VisConfigError-B5LP1zRf.js +1 -0
- package/dist/packem_shared/VisConfigLoadError-CeqBSd2Z.js +2 -0
- package/dist/packem_shared/VisConfigNotFoundError-DZ9KC527.js +5 -0
- package/dist/packem_shared/VisUpdateApp-D-L4_-Iu.js +1 -0
- package/dist/packem_shared/_commonjsHelpers-D6W6KoPK.js +1 -0
- package/dist/packem_shared/ai-analysis-CGuy7dfE.js +67 -0
- package/dist/packem_shared/ai-cache-Bynt6Y9x.js +1 -0
- package/dist/packem_shared/cache-directory-D72ZEag2.js +1 -0
- package/dist/packem_shared/catalog-BVPerCwG.js +12 -0
- package/dist/packem_shared/dependency-scan-Du0tBu64.js +2 -0
- package/dist/packem_shared/docker-BcfqH4Av.js +2 -0
- package/dist/packem_shared/failure-log-DqYen0LC.js +2 -0
- package/dist/packem_shared/flakiness-DSIHZGBT.js +1 -0
- package/dist/packem_shared/run-summary-utils-C24Aaf9E.js +1 -0
- package/dist/packem_shared/runtime-check-CGHal8SO.js +1 -0
- package/dist/packem_shared/selectors-CfH9ZY08.js +3 -0
- package/dist/packem_shared/symbols-CQmER5MT.js +1 -0
- package/dist/packem_shared/target-merge-DNa-6eWu.js +1 -0
- package/dist/packem_shared/toolchain-DQfTQY8E.js +5 -0
- package/dist/packem_shared/typosquats-DOR8izpX.js +1 -0
- package/dist/packem_shared/use-measured-height-DjYgUOKk.js +1 -0
- package/dist/packem_shared/utils-DrNg0XTR.js +1 -0
- package/dist/packem_shared/xxh3-DrAUNq4n.js +1 -0
- package/index.js +601 -0
- package/package.json +124 -7
- package/schemas/project.schema.json +422 -0
- package/schemas/vis-config.schema.json +377 -0
package/package.json
CHANGED
|
@@ -1,10 +1,127 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visulima/vis",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.0.0-alpha.10",
|
|
4
|
+
"description": "A CLI task runner for monorepo workspaces, powered by @visulima/task-runner",
|
|
5
5
|
"keywords": [
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
"build",
|
|
7
|
+
"cache",
|
|
8
|
+
"cli",
|
|
9
|
+
"monorepo",
|
|
10
|
+
"task-runner",
|
|
11
|
+
"vis",
|
|
12
|
+
"visulima",
|
|
13
|
+
"workspace"
|
|
14
|
+
],
|
|
15
|
+
"homepage": "https://visulima.com/packages/vis",
|
|
16
|
+
"bugs": {
|
|
17
|
+
"url": "https://github.com/visulima/visulima/issues"
|
|
18
|
+
},
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "git+https://github.com/visulima/visulima.git",
|
|
22
|
+
"directory": "packages/tooling/vis"
|
|
23
|
+
},
|
|
24
|
+
"funding": [
|
|
25
|
+
{
|
|
26
|
+
"type": "github",
|
|
27
|
+
"url": "https://github.com/sponsors/prisis"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"type": "consulting",
|
|
31
|
+
"url": "https://anolilab.com/support"
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"license": "MIT",
|
|
35
|
+
"author": {
|
|
36
|
+
"name": "Daniel Bannert",
|
|
37
|
+
"email": "d.bannert@anolilab.de"
|
|
38
|
+
},
|
|
39
|
+
"sideEffects": false,
|
|
40
|
+
"type": "module",
|
|
41
|
+
"imports": {
|
|
42
|
+
"#native": {
|
|
43
|
+
"default": "./index.js"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"exports": {
|
|
47
|
+
"./config": {
|
|
48
|
+
"types": "./dist/config.d.ts",
|
|
49
|
+
"default": "./dist/config.js"
|
|
50
|
+
},
|
|
51
|
+
"./generate": {
|
|
52
|
+
"types": "./dist/generate/index.d.ts",
|
|
53
|
+
"default": "./dist/generate/index.js"
|
|
54
|
+
},
|
|
55
|
+
"./native": {
|
|
56
|
+
"types": "./index.d.ts",
|
|
57
|
+
"default": "./index.js"
|
|
58
|
+
},
|
|
59
|
+
"./schemas/project.schema.json": "./schemas/project.schema.json",
|
|
60
|
+
"./schemas/vis-config.schema.json": "./schemas/vis-config.schema.json",
|
|
61
|
+
"./package.json": "./package.json"
|
|
62
|
+
},
|
|
63
|
+
"bin": {
|
|
64
|
+
"v": "./dist/bin.js",
|
|
65
|
+
"vis": "./dist/bin.js"
|
|
66
|
+
},
|
|
67
|
+
"files": [
|
|
68
|
+
"dist/**",
|
|
69
|
+
"schemas/**",
|
|
70
|
+
"index.js",
|
|
71
|
+
"index.d.ts",
|
|
72
|
+
"README.md",
|
|
73
|
+
"CHANGELOG.md",
|
|
74
|
+
"LICENSE.md"
|
|
75
|
+
],
|
|
76
|
+
"dependencies": {
|
|
77
|
+
"@bomb.sh/tab": "^0.0.15",
|
|
78
|
+
"@socketsecurity/registry": "^2.0.2",
|
|
79
|
+
"@visulima/ansi": "4.0.0-alpha.13",
|
|
80
|
+
"@visulima/cerebro": "3.0.0-alpha.13",
|
|
81
|
+
"@visulima/colorize": "2.0.0-alpha.10",
|
|
82
|
+
"@visulima/find-ai-runner": "1.0.0-alpha.5",
|
|
83
|
+
"@visulima/find-cache-dir": "3.0.0-alpha.9",
|
|
84
|
+
"@visulima/fs": "5.0.0-alpha.12",
|
|
85
|
+
"@visulima/humanizer": "3.0.0-alpha.11",
|
|
86
|
+
"@visulima/interactive-manager": "1.0.0-alpha.2",
|
|
87
|
+
"@visulima/package": "5.0.0-alpha.11",
|
|
88
|
+
"@visulima/pail": "4.0.0-alpha.12",
|
|
89
|
+
"@visulima/path": "3.0.0-alpha.10",
|
|
90
|
+
"@visulima/redact": "3.0.0-alpha.10",
|
|
91
|
+
"@visulima/secret-scanner": "1.0.0-alpha.1",
|
|
92
|
+
"@visulima/spinner": "1.0.0-alpha.1",
|
|
93
|
+
"@visulima/string": "3.0.0-alpha.11",
|
|
94
|
+
"@visulima/task-runner": "1.0.0-alpha.8",
|
|
95
|
+
"@visulima/tui": "1.0.0-alpha.5",
|
|
96
|
+
"execa": "^9.6.1",
|
|
97
|
+
"giget": "^3.2.0",
|
|
98
|
+
"hookable": "^6.1.1",
|
|
99
|
+
"jiti": "^2.6.1",
|
|
100
|
+
"jstoxml": "^7.1.0",
|
|
101
|
+
"module-replacements": "^2.11.0",
|
|
102
|
+
"module-replacements-codemods": "^1.2.1",
|
|
103
|
+
"react": "19.2.5",
|
|
104
|
+
"react-reconciler": ">=0.33.0",
|
|
105
|
+
"semver": "^7.7.4",
|
|
106
|
+
"smol-toml": "^1.6.1",
|
|
107
|
+
"yaml": "2.8.3",
|
|
108
|
+
"zeptomatch": "^2.1.0"
|
|
109
|
+
},
|
|
110
|
+
"optionalDependencies": {
|
|
111
|
+
"@visulima/vis-binding-darwin-arm64": "1.0.0-alpha.10",
|
|
112
|
+
"@visulima/vis-binding-darwin-x64": "1.0.0-alpha.10",
|
|
113
|
+
"@visulima/vis-binding-linux-arm64-gnu": "1.0.0-alpha.10",
|
|
114
|
+
"@visulima/vis-binding-linux-x64-musl": "1.0.0-alpha.10",
|
|
115
|
+
"@visulima/vis-binding-linux-arm64-musl": "1.0.0-alpha.10",
|
|
116
|
+
"@visulima/vis-binding-linux-x64-gnu": "1.0.0-alpha.10",
|
|
117
|
+
"@visulima/vis-binding-win32-arm64-msvc": "1.0.0-alpha.10",
|
|
118
|
+
"@visulima/vis-binding-win32-x64-msvc": "1.0.0-alpha.10"
|
|
119
|
+
},
|
|
120
|
+
"engines": {
|
|
121
|
+
"node": "^22.14.0 || >=24.10.0"
|
|
122
|
+
},
|
|
123
|
+
"publishConfig": {
|
|
124
|
+
"access": "public",
|
|
125
|
+
"provenance": true
|
|
126
|
+
}
|
|
127
|
+
}
|
|
@@ -0,0 +1,422 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://visulima.com/schemas/project.schema.json",
|
|
4
|
+
"title": "vis project.json",
|
|
5
|
+
"description": "Per-project configuration for @visulima/vis. Place a project.json in each workspace package root.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"properties": {
|
|
9
|
+
"$schema": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"description": "JSON Schema reference for editor autocomplete."
|
|
12
|
+
},
|
|
13
|
+
"projectType": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"enum": ["library", "application"],
|
|
16
|
+
"description": "Whether this project is a library (consumed by others) or an application (deployment target)."
|
|
17
|
+
},
|
|
18
|
+
"sourceRoot": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"description": "Source root directory, relative to this project's root. Used for display and language inference.",
|
|
21
|
+
"default": "src"
|
|
22
|
+
},
|
|
23
|
+
"tags": {
|
|
24
|
+
"type": "array",
|
|
25
|
+
"items": { "type": "string" },
|
|
26
|
+
"description": "Filterable tags. Used by query language (--query \"tag=frontend\"), scoped task defaults, and tag-relationship constraints."
|
|
27
|
+
},
|
|
28
|
+
"layer": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"enum": ["configuration", "library", "scaffolding", "tool", "automation", "application"],
|
|
31
|
+
"description": "Project layer in the dependency hierarchy. When enforceLayerRelationships is enabled, projects may only depend on the same or lower layer: configuration < library < scaffolding < tool < automation < application."
|
|
32
|
+
},
|
|
33
|
+
"stack": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"enum": ["backend", "frontend", "data", "infrastructure", "systems"],
|
|
36
|
+
"description": "Technology stack classification. Used by query language and scoped task defaults."
|
|
37
|
+
},
|
|
38
|
+
"language": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"description": "Primary programming language (e.g. \"typescript\", \"rust\", \"go\"). Used by query language and scoped task defaults.",
|
|
41
|
+
"examples": ["typescript", "javascript", "rust", "go", "python"]
|
|
42
|
+
},
|
|
43
|
+
"implicitDependencies": {
|
|
44
|
+
"type": "array",
|
|
45
|
+
"items": { "type": "string" },
|
|
46
|
+
"description": "Workspace project names this project implicitly depends on (not expressed in package.json)."
|
|
47
|
+
},
|
|
48
|
+
"owners": {
|
|
49
|
+
"type": "array",
|
|
50
|
+
"description": "Code ownership declarations. Aggregated by `vis sync codeowners` to generate a CODEOWNERS file.",
|
|
51
|
+
"items": {
|
|
52
|
+
"type": "object",
|
|
53
|
+
"required": ["path", "owners"],
|
|
54
|
+
"additionalProperties": false,
|
|
55
|
+
"properties": {
|
|
56
|
+
"path": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"description": "File or glob pattern relative to this project root (e.g. \"src/**\", \".\")."
|
|
59
|
+
},
|
|
60
|
+
"owners": {
|
|
61
|
+
"type": "array",
|
|
62
|
+
"items": { "type": "string" },
|
|
63
|
+
"description": "Owner handles (e.g. \"@org/team\", \"user@example.com\")."
|
|
64
|
+
},
|
|
65
|
+
"channel": {
|
|
66
|
+
"type": "string",
|
|
67
|
+
"description": "Optional notification channel (e.g. Slack channel). Emitted as a trailing comment in CODEOWNERS."
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"project": {
|
|
73
|
+
"type": "object",
|
|
74
|
+
"description": "Human-readable project metadata.",
|
|
75
|
+
"additionalProperties": false,
|
|
76
|
+
"properties": {
|
|
77
|
+
"title": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"description": "Display name for the project."
|
|
80
|
+
},
|
|
81
|
+
"description": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"description": "Short description of the project's purpose."
|
|
84
|
+
},
|
|
85
|
+
"channel": {
|
|
86
|
+
"type": "string",
|
|
87
|
+
"description": "Primary support channel (e.g. Slack, Teams)."
|
|
88
|
+
},
|
|
89
|
+
"owner": {
|
|
90
|
+
"type": "string",
|
|
91
|
+
"description": "Primary owner or team handle."
|
|
92
|
+
},
|
|
93
|
+
"maintainers": {
|
|
94
|
+
"type": "array",
|
|
95
|
+
"items": { "type": "string" },
|
|
96
|
+
"description": "List of maintainer handles."
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"targets": {
|
|
101
|
+
"type": "object",
|
|
102
|
+
"description": "Named build/test/run targets. Merged on top of package.json scripts — the command from scripts is used as the default if no command is set here.",
|
|
103
|
+
"additionalProperties": {
|
|
104
|
+
"$ref": "#/$defs/targetConfiguration"
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
"$defs": {
|
|
109
|
+
"targetConfiguration": {
|
|
110
|
+
"type": "object",
|
|
111
|
+
"description": "Configuration for a single target.",
|
|
112
|
+
"additionalProperties": false,
|
|
113
|
+
"properties": {
|
|
114
|
+
"command": {
|
|
115
|
+
"type": "string",
|
|
116
|
+
"description": "The shell command to execute. Overrides the package.json script of the same name."
|
|
117
|
+
},
|
|
118
|
+
"executor": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"description": "Alternative to command — an executor identifier."
|
|
121
|
+
},
|
|
122
|
+
"cache": {
|
|
123
|
+
"type": "boolean",
|
|
124
|
+
"description": "Whether this target's results are cacheable. Defaults based on type: build=true, test=true, run=false."
|
|
125
|
+
},
|
|
126
|
+
"inputs": {
|
|
127
|
+
"type": "array",
|
|
128
|
+
"description": "Input patterns for cache invalidation. Supports file globs, @filegroup:<name> references, and structured input definitions.",
|
|
129
|
+
"items": {
|
|
130
|
+
"oneOf": [
|
|
131
|
+
{ "type": "string" },
|
|
132
|
+
{ "$ref": "#/$defs/fileSetInput" },
|
|
133
|
+
{ "$ref": "#/$defs/environmentInput" },
|
|
134
|
+
{ "$ref": "#/$defs/runtimeInput" },
|
|
135
|
+
{ "$ref": "#/$defs/externalDependencyInput" }
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"outputs": {
|
|
140
|
+
"type": "array",
|
|
141
|
+
"items": { "type": "string" },
|
|
142
|
+
"description": "Output file/directory patterns produced by this target (e.g. \"dist/**\")."
|
|
143
|
+
},
|
|
144
|
+
"dependsOn": {
|
|
145
|
+
"type": "array",
|
|
146
|
+
"description": "Other targets this target depends on. Can be plain target names (same project) or dependency config objects.",
|
|
147
|
+
"items": {
|
|
148
|
+
"oneOf": [{ "type": "string" }, { "$ref": "#/$defs/targetDependencyConfig" }]
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
"configurations": {
|
|
152
|
+
"type": "object",
|
|
153
|
+
"description": "Named configuration variants (e.g. \"production\", \"development\").",
|
|
154
|
+
"additionalProperties": {
|
|
155
|
+
"type": "object",
|
|
156
|
+
"additionalProperties": true
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
"parallelism": {
|
|
160
|
+
"type": "boolean",
|
|
161
|
+
"description": "Whether this target supports parallel execution.",
|
|
162
|
+
"default": true
|
|
163
|
+
},
|
|
164
|
+
"type": {
|
|
165
|
+
"type": "string",
|
|
166
|
+
"enum": ["build", "test", "run"],
|
|
167
|
+
"description": "Semantic task type. Affects caching defaults and CI filtering. build/test are cached by default; run is not.",
|
|
168
|
+
"default": "test"
|
|
169
|
+
},
|
|
170
|
+
"preset": {
|
|
171
|
+
"type": "string",
|
|
172
|
+
"enum": ["server", "utility"],
|
|
173
|
+
"description": "Preset that pre-fills a bundle of options. 'server': persistent, no cache, no CI. 'utility': no cache, no CI."
|
|
174
|
+
},
|
|
175
|
+
"options": {
|
|
176
|
+
"$ref": "#/$defs/targetOptions"
|
|
177
|
+
},
|
|
178
|
+
"when": {
|
|
179
|
+
"$ref": "#/$defs/whenCondition",
|
|
180
|
+
"description": "Predicate gating execution. Tasks whose `when` does not match the current environment are marked skipped (not failed) by the orchestrator."
|
|
181
|
+
},
|
|
182
|
+
"always": {
|
|
183
|
+
"type": "boolean",
|
|
184
|
+
"description": "When true, this task runs after the main task graph completes — even if upstream tasks failed or the run was interrupted (except SIGINT). Used for cleanup / teardown / notifications. Always-tasks are pulled out of the dependency graph and never cached.",
|
|
185
|
+
"default": false
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
"targetOptions": {
|
|
190
|
+
"type": "object",
|
|
191
|
+
"description": "Vis-specific target options controlling execution behavior.",
|
|
192
|
+
"additionalProperties": false,
|
|
193
|
+
"properties": {
|
|
194
|
+
"persistent": {
|
|
195
|
+
"type": "boolean",
|
|
196
|
+
"description": "Long-running/never-ending process. Scheduled last, never cached.",
|
|
197
|
+
"default": false
|
|
198
|
+
},
|
|
199
|
+
"interactive": {
|
|
200
|
+
"type": "boolean",
|
|
201
|
+
"description": "Serialized with respect to parallel execution; claims stdin for terminal input.",
|
|
202
|
+
"default": false
|
|
203
|
+
},
|
|
204
|
+
"internal": {
|
|
205
|
+
"type": "boolean",
|
|
206
|
+
"description": "Hidden from CLI listings. Can only be invoked as a dependency of another task.",
|
|
207
|
+
"default": false
|
|
208
|
+
},
|
|
209
|
+
"runInCI": {
|
|
210
|
+
"oneOf": [{ "type": "boolean" }, { "type": "string", "enum": ["affected", "always"] }],
|
|
211
|
+
"description": "Controls whether this task runs in CI. true=always, false=never, 'affected'=only when project is affected, 'always'=even if unaffected.",
|
|
212
|
+
"default": true
|
|
213
|
+
},
|
|
214
|
+
"retryCount": {
|
|
215
|
+
"type": "integer",
|
|
216
|
+
"minimum": 0,
|
|
217
|
+
"description": "Number of times to retry on failure.",
|
|
218
|
+
"default": 0
|
|
219
|
+
},
|
|
220
|
+
"retryDelay": {
|
|
221
|
+
"oneOf": [
|
|
222
|
+
{ "type": "integer", "minimum": 0 },
|
|
223
|
+
{ "type": "string", "const": "exponential" }
|
|
224
|
+
],
|
|
225
|
+
"description": "Delay between retries in ms, or \"exponential\" for 2^attempt * 1000ms.",
|
|
226
|
+
"default": "exponential"
|
|
227
|
+
},
|
|
228
|
+
"affectedFiles": {
|
|
229
|
+
"oneOf": [
|
|
230
|
+
{ "type": "boolean", "const": false },
|
|
231
|
+
{ "type": "string", "enum": ["args", "env", "both"] }
|
|
232
|
+
],
|
|
233
|
+
"description": "How to forward affected files to the task. false=don't, 'args'=as command arguments, 'env'=via VIS_AFFECTED_FILES, 'both'=both.",
|
|
234
|
+
"default": false
|
|
235
|
+
},
|
|
236
|
+
"envFile": {
|
|
237
|
+
"type": "string",
|
|
238
|
+
"description": "Dotenv file to load before running. Path relative to the project root.",
|
|
239
|
+
"examples": [".env", ".env.local", ".env.production"]
|
|
240
|
+
},
|
|
241
|
+
"mutex": {
|
|
242
|
+
"type": "string",
|
|
243
|
+
"description": "Named mutex. All tasks sharing the same mutex name are serialized.",
|
|
244
|
+
"examples": ["db-migration"]
|
|
245
|
+
},
|
|
246
|
+
"runFromWorkspaceRoot": {
|
|
247
|
+
"type": "boolean",
|
|
248
|
+
"description": "Execute from the workspace root instead of the project root.",
|
|
249
|
+
"default": false
|
|
250
|
+
},
|
|
251
|
+
"shell": {
|
|
252
|
+
"type": "string",
|
|
253
|
+
"description": "Per-target shell override (cross-platform).",
|
|
254
|
+
"examples": ["/bin/bash", "/bin/zsh"]
|
|
255
|
+
},
|
|
256
|
+
"unixShell": {
|
|
257
|
+
"type": "string",
|
|
258
|
+
"description": "Shell override for Linux and macOS. Takes precedence over 'shell'."
|
|
259
|
+
},
|
|
260
|
+
"windowsShell": {
|
|
261
|
+
"type": "string",
|
|
262
|
+
"description": "Shell override for Windows. Takes precedence over 'shell'.",
|
|
263
|
+
"examples": ["powershell.exe", "cmd.exe"]
|
|
264
|
+
},
|
|
265
|
+
"preset": {
|
|
266
|
+
"type": "string",
|
|
267
|
+
"enum": ["server", "utility"],
|
|
268
|
+
"description": "Preset applied before user options."
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
},
|
|
272
|
+
"targetDependencyConfig": {
|
|
273
|
+
"type": "object",
|
|
274
|
+
"description": "Structured dependency on another target.",
|
|
275
|
+
"required": ["target"],
|
|
276
|
+
"additionalProperties": false,
|
|
277
|
+
"properties": {
|
|
278
|
+
"target": {
|
|
279
|
+
"type": "string",
|
|
280
|
+
"description": "The target name to depend on."
|
|
281
|
+
},
|
|
282
|
+
"dependencies": {
|
|
283
|
+
"type": "boolean",
|
|
284
|
+
"description": "When true, run this target on all dependency projects first (equivalent to turbo's ^target)."
|
|
285
|
+
},
|
|
286
|
+
"projects": {
|
|
287
|
+
"oneOf": [{ "type": "string" }, { "type": "array", "items": { "type": "string" } }],
|
|
288
|
+
"description": "Specific project name(s) to run this target on."
|
|
289
|
+
},
|
|
290
|
+
"params": {
|
|
291
|
+
"type": "string",
|
|
292
|
+
"enum": ["forward", "ignore"],
|
|
293
|
+
"description": "Whether to forward or ignore parameters from the parent task."
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
"fileSetInput": {
|
|
298
|
+
"type": "object",
|
|
299
|
+
"required": ["fileset"],
|
|
300
|
+
"additionalProperties": false,
|
|
301
|
+
"properties": {
|
|
302
|
+
"fileset": {
|
|
303
|
+
"type": "string",
|
|
304
|
+
"description": "Glob pattern for input files (e.g. \"src/**/*.ts\")."
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
},
|
|
308
|
+
"environmentInput": {
|
|
309
|
+
"type": "object",
|
|
310
|
+
"required": ["env"],
|
|
311
|
+
"additionalProperties": false,
|
|
312
|
+
"properties": {
|
|
313
|
+
"env": {
|
|
314
|
+
"type": "string",
|
|
315
|
+
"description": "Environment variable name to include in cache key."
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
},
|
|
319
|
+
"runtimeInput": {
|
|
320
|
+
"type": "object",
|
|
321
|
+
"required": ["runtime"],
|
|
322
|
+
"additionalProperties": false,
|
|
323
|
+
"properties": {
|
|
324
|
+
"runtime": {
|
|
325
|
+
"type": "string",
|
|
326
|
+
"description": "Shell command whose output is included in cache key (e.g. \"node --version\")."
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
},
|
|
330
|
+
"externalDependencyInput": {
|
|
331
|
+
"type": "object",
|
|
332
|
+
"required": ["externalDependencies"],
|
|
333
|
+
"additionalProperties": false,
|
|
334
|
+
"properties": {
|
|
335
|
+
"externalDependencies": {
|
|
336
|
+
"type": "array",
|
|
337
|
+
"items": { "type": "string" },
|
|
338
|
+
"description": "npm package names whose resolved versions are included in cache key."
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
},
|
|
342
|
+
"envMatcher": {
|
|
343
|
+
"oneOf": [
|
|
344
|
+
{
|
|
345
|
+
"type": "string",
|
|
346
|
+
"description": "Bare env-var name; task runs when set and non-empty."
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
"type": "object",
|
|
350
|
+
"required": ["name"],
|
|
351
|
+
"additionalProperties": false,
|
|
352
|
+
"properties": {
|
|
353
|
+
"name": { "type": "string", "description": "Env var name." },
|
|
354
|
+
"equals": { "type": "string", "description": "Match this exact value. Mutually exclusive with `exists`." },
|
|
355
|
+
"exists": { "type": "boolean", "description": "true → must be set+non-empty; false → must be unset/empty." }
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
]
|
|
359
|
+
},
|
|
360
|
+
"envMatcherList": {
|
|
361
|
+
"oneOf": [
|
|
362
|
+
{ "$ref": "#/$defs/envMatcher" },
|
|
363
|
+
{ "type": "array", "items": { "$ref": "#/$defs/envMatcher" } }
|
|
364
|
+
]
|
|
365
|
+
},
|
|
366
|
+
"platformList": {
|
|
367
|
+
"oneOf": [
|
|
368
|
+
{
|
|
369
|
+
"type": "string",
|
|
370
|
+
"enum": ["aix", "darwin", "freebsd", "linux", "openbsd", "sunos", "windows", "win32"]
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"type": "array",
|
|
374
|
+
"items": {
|
|
375
|
+
"type": "string",
|
|
376
|
+
"enum": ["aix", "darwin", "freebsd", "linux", "openbsd", "sunos", "windows", "win32"]
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
]
|
|
380
|
+
},
|
|
381
|
+
"branchList": {
|
|
382
|
+
"oneOf": [
|
|
383
|
+
{ "type": "string" },
|
|
384
|
+
{ "type": "array", "items": { "type": "string" } }
|
|
385
|
+
]
|
|
386
|
+
},
|
|
387
|
+
"whenCondition": {
|
|
388
|
+
"type": "object",
|
|
389
|
+
"additionalProperties": false,
|
|
390
|
+
"description": "Predicate that gates whether a task runs. All positive clauses must match (AND). Within a clause, an array means any-of (OR). `not.*` mirrors invert each positive clause.",
|
|
391
|
+
"properties": {
|
|
392
|
+
"os": {
|
|
393
|
+
"$ref": "#/$defs/platformList",
|
|
394
|
+
"description": "Match `process.platform`. Use \"windows\" as a friendly alias for \"win32\"."
|
|
395
|
+
},
|
|
396
|
+
"env": {
|
|
397
|
+
"$ref": "#/$defs/envMatcherList",
|
|
398
|
+
"description": "Match against environment variables. String form asserts set+non-empty; object form supports `equals` or `exists`."
|
|
399
|
+
},
|
|
400
|
+
"branch": {
|
|
401
|
+
"$ref": "#/$defs/branchList",
|
|
402
|
+
"description": "Match against the current git branch (HEAD)."
|
|
403
|
+
},
|
|
404
|
+
"ci": {
|
|
405
|
+
"type": "boolean",
|
|
406
|
+
"description": "true → run only inside CI; false → run only outside CI. CI is detected via the CI env var."
|
|
407
|
+
},
|
|
408
|
+
"not": {
|
|
409
|
+
"type": "object",
|
|
410
|
+
"additionalProperties": false,
|
|
411
|
+
"description": "Negative mirrors. Task runs only when *all* `not.*` clauses fail.",
|
|
412
|
+
"properties": {
|
|
413
|
+
"os": { "$ref": "#/$defs/platformList" },
|
|
414
|
+
"env": { "$ref": "#/$defs/envMatcherList" },
|
|
415
|
+
"branch": { "$ref": "#/$defs/branchList" },
|
|
416
|
+
"ci": { "type": "boolean" }
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
}
|