depflow 3.0.0-dev.10 → 3.0.0-dev.11

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.
Files changed (172) hide show
  1. package/README.md +108 -43
  2. package/dist/builder/Builder.d.ts +279 -0
  3. package/dist/builder/Builder.js +391 -0
  4. package/dist/builder/Builder.js.map +1 -0
  5. package/dist/cli/CLI.d.ts +157 -0
  6. package/dist/cli/CLI.js +214 -0
  7. package/dist/cli/CLI.js.map +1 -0
  8. package/dist/cli/DepFLowCLI.d.ts +93 -0
  9. package/dist/cli/DepFLowCLI.js +413 -0
  10. package/dist/cli/DepFLowCLI.js.map +1 -0
  11. package/dist/cli/Flags.d.ts +106 -0
  12. package/dist/cli/Flags.js +125 -0
  13. package/dist/cli/Flags.js.map +1 -0
  14. package/dist/cli/bin.js +68 -0
  15. package/dist/cli/bin.js.map +1 -0
  16. package/dist/config/Config.d.ts +690 -0
  17. package/dist/config/Config.js +45 -0
  18. package/dist/config/Config.js.map +1 -0
  19. package/dist/config/ImportMap.d.ts +60 -0
  20. package/dist/config/ImportMap.js +66 -0
  21. package/dist/config/ImportMap.js.map +1 -0
  22. package/dist/config/JsonSchema.d.ts +12 -0
  23. package/dist/config/JsonSchema.js +26 -0
  24. package/dist/config/JsonSchema.js.map +1 -0
  25. package/dist/config/Settings.d.ts +201 -0
  26. package/dist/config/Settings.js +191 -0
  27. package/dist/config/Settings.js.map +1 -0
  28. package/dist/config/TSConfig.d.ts +73 -0
  29. package/dist/config/TSConfig.js +73 -0
  30. package/dist/config/TSConfig.js.map +1 -0
  31. package/dist/config/codecs/JsonCodec.d.ts +30 -0
  32. package/dist/config/codecs/JsonCodec.js +31 -0
  33. package/dist/config/codecs/JsonCodec.js.map +1 -0
  34. package/dist/config/codecs/YamlCodec.d.ts +62 -0
  35. package/dist/config/codecs/YamlCodec.js +89 -0
  36. package/dist/config/codecs/YamlCodec.js.map +1 -0
  37. package/dist/dependency/DepUtils.d.ts +50 -0
  38. package/dist/dependency/DepUtils.js +71 -0
  39. package/dist/dependency/DepUtils.js.map +1 -0
  40. package/dist/dependency/Dependency.d.ts +81 -0
  41. package/dist/dependency/Dependency.js +71 -0
  42. package/dist/dependency/Dependency.js.map +1 -0
  43. package/dist/dependency/Git.d.ts +75 -0
  44. package/dist/dependency/Git.js +97 -0
  45. package/dist/dependency/Git.js.map +1 -0
  46. package/dist/dependency/GitDependency.d.ts +30 -0
  47. package/dist/dependency/GitDependency.js +79 -0
  48. package/dist/dependency/GitDependency.js.map +1 -0
  49. package/dist/dependency/NpmDependency.d.ts +27 -0
  50. package/dist/dependency/NpmDependency.js +91 -0
  51. package/dist/dependency/NpmDependency.js.map +1 -0
  52. package/{build/support/PathResolver → dist/resolve}/AliasCompiler.d.ts +18 -5
  53. package/{build/support/PathResolver → dist/resolve}/AliasCompiler.js +31 -9
  54. package/dist/resolve/AliasCompiler.js.map +1 -0
  55. package/{build/support/PathResolver → dist/resolve}/PathResolver.d.ts +25 -8
  56. package/dist/resolve/PathResolver.js +133 -0
  57. package/dist/resolve/PathResolver.js.map +1 -0
  58. package/dist/resolve/PathRewriter.d.ts +24 -0
  59. package/{build/support/PathResolver → dist/resolve}/PathRewriter.js +21 -11
  60. package/dist/resolve/PathRewriter.js.map +1 -0
  61. package/{build → dist}/schema/Config/Builder.d.ts +114 -49
  62. package/dist/schema/Config/Builder.js +78 -0
  63. package/dist/schema/Config/Builder.js.map +1 -0
  64. package/{build → dist}/schema/Config/Config.d.ts +169 -78
  65. package/dist/schema/Config/Config.js +62 -0
  66. package/dist/schema/Config/Config.js.map +1 -0
  67. package/{build → dist}/schema/Config/Dependency.d.ts +219 -89
  68. package/dist/schema/Config/Dependency.js +80 -0
  69. package/dist/schema/Config/Dependency.js.map +1 -0
  70. package/{build → dist}/schema/Config/Extractor.d.ts +41 -17
  71. package/dist/schema/Config/Extractor.js +43 -0
  72. package/dist/schema/Config/Extractor.js.map +1 -0
  73. package/{build → dist}/schema/Config/Resolver.d.ts +25 -8
  74. package/dist/schema/Config/Resolver.js +43 -0
  75. package/dist/schema/Config/Resolver.js.map +1 -0
  76. package/{build → dist}/schema/Config/Transform.d.ts +22 -5
  77. package/dist/schema/Config/Transform.js +51 -0
  78. package/dist/schema/Config/Transform.js.map +1 -0
  79. package/dist/schema/Defaults.d.ts +20 -0
  80. package/dist/schema/Defaults.js +24 -0
  81. package/dist/schema/Defaults.js.map +1 -0
  82. package/dist/schema/ImportMap.d.ts +30 -0
  83. package/dist/schema/ImportMap.js +28 -0
  84. package/dist/schema/ImportMap.js.map +1 -0
  85. package/{build → dist}/schema/TSConfig.d.ts +23 -9
  86. package/dist/schema/TSConfig.js +39 -0
  87. package/dist/schema/TSConfig.js.map +1 -0
  88. package/{build → dist}/schema/schema.d.ts +11 -2
  89. package/{build → dist}/schema/schema.js +11 -2
  90. package/dist/schema/schema.js.map +1 -0
  91. package/dist/task/Command.d.ts +287 -0
  92. package/dist/task/Command.js +404 -0
  93. package/dist/task/Command.js.map +1 -0
  94. package/dist/task/Group.d.ts +15 -0
  95. package/dist/task/Group.js +29 -0
  96. package/dist/task/Group.js.map +1 -0
  97. package/dist/task/OutputPolicy.d.ts +262 -0
  98. package/dist/task/OutputPolicy.js +364 -0
  99. package/dist/task/OutputPolicy.js.map +1 -0
  100. package/dist/task/Task.d.ts +210 -0
  101. package/dist/task/Task.js +312 -0
  102. package/dist/task/Task.js.map +1 -0
  103. package/package.json +13 -10
  104. package/.gitignore +0 -7
  105. package/build/cli/DepFLowCLI.d.ts +0 -16
  106. package/build/cli/DepFLowCLI.js +0 -254
  107. package/build/cli/DepFLowCLI.js.map +0 -1
  108. package/build/cli/bin.js +0 -38
  109. package/build/cli/bin.js.map +0 -1
  110. package/build/config/Config.d.ts +0 -28
  111. package/build/config/Config.js +0 -46
  112. package/build/config/Config.js.map +0 -1
  113. package/build/config/ImportMap.d.ts +0 -51
  114. package/build/config/ImportMap.js +0 -97
  115. package/build/config/ImportMap.js.map +0 -1
  116. package/build/config/TSConfig.d.ts +0 -54
  117. package/build/config/TSConfig.js +0 -104
  118. package/build/config/TSConfig.js.map +0 -1
  119. package/build/schema/Config/Builder.js +0 -48
  120. package/build/schema/Config/Builder.js.map +0 -1
  121. package/build/schema/Config/Config.js +0 -20
  122. package/build/schema/Config/Config.js.map +0 -1
  123. package/build/schema/Config/Dependency.js +0 -25
  124. package/build/schema/Config/Dependency.js.map +0 -1
  125. package/build/schema/Config/Extractor.js +0 -25
  126. package/build/schema/Config/Extractor.js.map +0 -1
  127. package/build/schema/Config/Resolver.js +0 -25
  128. package/build/schema/Config/Resolver.js.map +0 -1
  129. package/build/schema/Config/Transform.js +0 -27
  130. package/build/schema/Config/Transform.js.map +0 -1
  131. package/build/schema/ImportMap.d.ts +0 -22
  132. package/build/schema/ImportMap.js +0 -12
  133. package/build/schema/ImportMap.js.map +0 -1
  134. package/build/schema/TSConfig.js +0 -19
  135. package/build/schema/TSConfig.js.map +0 -1
  136. package/build/schema/schema.js.map +0 -1
  137. package/build/support/Builder/Builder.d.ts +0 -46
  138. package/build/support/Builder/Builder.js +0 -116
  139. package/build/support/Builder/Builder.js.map +0 -1
  140. package/build/support/Dependency/Dependency.d.ts +0 -38
  141. package/build/support/Dependency/Dependency.js +0 -14
  142. package/build/support/Dependency/Dependency.js.map +0 -1
  143. package/build/support/Dependency/GitDependency.d.ts +0 -20
  144. package/build/support/Dependency/GitDependency.js +0 -67
  145. package/build/support/Dependency/GitDependency.js.map +0 -1
  146. package/build/support/Dependency/NpmDependency.d.ts +0 -18
  147. package/build/support/Dependency/NpmDependency.js +0 -65
  148. package/build/support/Dependency/NpmDependency.js.map +0 -1
  149. package/build/support/Git.d.ts +0 -53
  150. package/build/support/Git.js +0 -86
  151. package/build/support/Git.js.map +0 -1
  152. package/build/support/PathResolver/AliasCompiler.js.map +0 -1
  153. package/build/support/PathResolver/PathResolver.js +0 -105
  154. package/build/support/PathResolver/PathResolver.js.map +0 -1
  155. package/build/support/PathResolver/PathRewriter.d.ts +0 -18
  156. package/build/support/PathResolver/PathRewriter.js.map +0 -1
  157. package/build/support/PathResolver/Utils.d.ts +0 -36
  158. package/build/support/PathResolver/Utils.js +0 -45
  159. package/build/support/PathResolver/Utils.js.map +0 -1
  160. package/build/support/Task/Command.d.ts +0 -49
  161. package/build/support/Task/Command.js +0 -100
  162. package/build/support/Task/Command.js.map +0 -1
  163. package/build/support/Task/Task.d.ts +0 -84
  164. package/build/support/Task/Task.js +0 -145
  165. package/build/support/Task/Task.js.map +0 -1
  166. package/build/support/Utils.d.ts +0 -40
  167. package/build/support/Utils.js +0 -138
  168. package/build/support/Utils.js.map +0 -1
  169. package/build/support/Validator.d.ts +0 -22
  170. package/build/support/Validator.js +0 -28
  171. package/build/support/Validator.js.map +0 -1
  172. /package/{build → dist}/cli/bin.d.ts +0 -0
@@ -1,54 +1,61 @@
1
- import { Schema } from '@netfeez/common';
1
+ /**
2
+ * @author NetFeez <netfeez.dev@gmail.com>.
3
+ * @description Root configuration schema: dependencies, resolver, build actions and output paths.
4
+ * @license Apache-2.0
5
+ */
6
+ import Schema from '@netfeez/schema';
2
7
  export declare const Config: Schema<{
3
8
  readonly type: "object";
4
- readonly properties: {
9
+ readonly keys: {
5
10
  readonly $schema: {
6
11
  readonly type: "string";
7
12
  readonly default: ".depflow/schema.json";
8
- };
9
- readonly flowFolder: {
10
- readonly type: "string";
11
- readonly default: ".depflow";
13
+ readonly description: "Path to the JSON Schema describing the configuration. Used by editors and tools to provide validation, autocompletion and other features.";
12
14
  };
13
15
  readonly outDir: {
14
16
  readonly type: "string";
15
17
  readonly default: "dist";
18
+ readonly description: "Output directory for built files. Can be relative or absolute. Defaults to \"dist\".";
16
19
  };
17
20
  readonly tsconfig: {
18
21
  readonly type: "string";
19
22
  readonly nullable: true;
20
23
  readonly default: null;
24
+ readonly description: "Path to the tsconfig.json file. Can be relative or absolute. Defaults to \"tsconfig.json\".";
21
25
  };
22
26
  readonly importmap: {
23
27
  readonly type: "string";
24
28
  readonly nullable: true;
25
29
  readonly default: null;
30
+ readonly description: "Path to the importmap.json file. Can be relative or absolute. Defaults to \"importmap.json\".";
26
31
  };
27
32
  readonly actions: {
28
33
  readonly type: "object";
29
- readonly allowAdditionalProperties: {
34
+ readonly additional: {
30
35
  readonly type: "array";
31
- readonly default: [];
36
+ readonly default: never[];
32
37
  readonly items: {
33
38
  readonly type: "union";
34
39
  readonly required: true;
35
- readonly union: [{
40
+ readonly union: readonly [{
36
41
  readonly type: "object";
37
42
  readonly required: true;
38
- readonly properties: {
43
+ readonly keys: {
39
44
  readonly maxTimeMs: {
40
45
  readonly type: "number";
41
46
  readonly default: 60000;
42
47
  readonly minimum: -1;
48
+ readonly description: "Maximum execution time for the run step in milliseconds. A value of -1 disables the limit.";
43
49
  };
44
50
  readonly allowFails: {
45
51
  readonly type: "boolean";
46
52
  readonly default: false;
53
+ readonly description: "Whether failed commands within the step are tolerated. Defaults to false.";
47
54
  };
48
55
  readonly run: {
49
56
  readonly type: "union";
50
57
  readonly required: true;
51
- readonly union: [{
58
+ readonly union: readonly [{
52
59
  readonly type: "string";
53
60
  }, {
54
61
  readonly type: "array";
@@ -56,188 +63,218 @@ export declare const Config: Schema<{
56
63
  readonly type: "string";
57
64
  };
58
65
  }];
66
+ readonly description: "Shell command or list of shell commands to execute.";
59
67
  };
60
68
  };
61
69
  }, {
62
70
  readonly type: "object";
63
71
  readonly required: true;
64
- readonly properties: {
72
+ readonly keys: {
65
73
  readonly extract: {
66
74
  readonly type: "union";
67
75
  readonly required: true;
68
- readonly union: [{
76
+ readonly union: readonly [{
69
77
  readonly type: "string";
70
78
  }, {
71
79
  readonly type: "object";
72
80
  readonly required: true;
73
- readonly allowAdditionalProperties: {
81
+ readonly additional: {
74
82
  readonly type: "union";
75
83
  readonly required: true;
76
- readonly union: [{
84
+ readonly union: readonly [{
77
85
  readonly type: "string";
78
86
  readonly required: true;
79
87
  }, {
80
88
  readonly type: "object";
81
89
  readonly required: true;
82
- readonly properties: {
90
+ readonly keys: {
83
91
  readonly to: {
84
92
  readonly type: "string";
85
93
  readonly required: true;
94
+ readonly description: "Destination folder to which the matched files are copied. A relative path is resolved against the project root, an absolute one is used as it stands.";
86
95
  };
87
96
  readonly map: {
88
- readonly required: false;
89
97
  readonly type: "union";
90
- readonly union: [{
98
+ readonly union: readonly [{
91
99
  readonly type: "string";
92
100
  }, {
93
101
  readonly type: "object";
94
- readonly properties: {
102
+ readonly keys: {
95
103
  readonly search: {
96
104
  readonly type: "string";
97
105
  readonly required: true;
106
+ readonly description: "The regular expression pattern to search for in the file content.";
98
107
  };
99
108
  readonly flags: {
100
109
  readonly type: "string";
101
110
  readonly default: "g";
102
111
  readonly pattern: RegExp;
112
+ readonly description: "Flags applied to the regular expression search. Defaults to \"g\" (global).";
103
113
  };
104
114
  readonly replace: {
105
115
  readonly type: "string";
106
116
  readonly required: true;
117
+ readonly description: "The replacement string used to substitute the matches found by the search pattern.";
107
118
  };
108
119
  };
109
120
  }];
121
+ readonly required: false;
122
+ readonly description: "Transformation applied to the destination path of the extracted files.";
110
123
  };
111
124
  readonly transform: {
112
- readonly required: false;
113
125
  readonly type: "union";
114
- readonly union: [{
126
+ readonly union: readonly [{
115
127
  readonly type: "string";
116
128
  }, {
117
129
  readonly type: "object";
118
- readonly properties: {
130
+ readonly keys: {
119
131
  readonly search: {
120
132
  readonly type: "string";
121
133
  readonly required: true;
134
+ readonly description: "The regular expression pattern to search for in the file content.";
122
135
  };
123
136
  readonly flags: {
124
137
  readonly type: "string";
125
138
  readonly default: "g";
126
139
  readonly pattern: RegExp;
140
+ readonly description: "Flags applied to the regular expression search. Defaults to \"g\" (global).";
127
141
  };
128
142
  readonly replace: {
129
143
  readonly type: "string";
130
144
  readonly required: true;
145
+ readonly description: "The replacement string used to substitute the matches found by the search pattern.";
131
146
  };
132
147
  };
133
148
  }];
149
+ readonly required: false;
150
+ readonly description: "Transformation applied to the content of the extracted files.";
134
151
  };
135
152
  };
136
153
  }];
137
154
  };
155
+ readonly description: "Mapping of source glob patterns, relative to the folder the pipeline works in, to extraction entries, each describing where and how files are extracted.";
138
156
  }];
157
+ readonly description: "Destination folder for the extracted files or an extraction mapping.";
139
158
  };
140
159
  };
141
160
  }, {
142
161
  readonly type: "object";
143
162
  readonly required: true;
144
- readonly properties: {
163
+ readonly keys: {
145
164
  readonly transform: {
146
165
  readonly type: "object";
147
166
  readonly required: true;
148
- readonly properties: {
167
+ readonly keys: {
149
168
  readonly search: {
150
169
  readonly type: "string";
151
170
  readonly required: true;
171
+ readonly description: "The regular expression pattern to search for in the file content.";
152
172
  };
153
173
  readonly flags: {
154
174
  readonly type: "string";
155
175
  readonly default: "g";
156
176
  readonly pattern: RegExp;
177
+ readonly description: "Flags applied to the regular expression search. Defaults to \"g\" (global).";
157
178
  };
158
179
  readonly replace: {
159
180
  readonly type: "string";
160
181
  readonly required: true;
182
+ readonly description: "The replacement string used to substitute the matches found by the search pattern.";
161
183
  };
162
184
  readonly glob: {
163
185
  readonly type: "string";
164
186
  readonly required: true;
187
+ readonly description: "Glob pattern matching the files to which the global transformation is applied.";
165
188
  };
166
189
  };
190
+ readonly description: "Global transformation to apply over the files matched by the glob pattern.";
167
191
  };
168
192
  };
169
193
  }];
194
+ readonly description: "A single build step: run commands, extract files or apply a global transformation.";
170
195
  };
196
+ readonly description: "Ordered pipeline of build steps applied when a dependency is built.";
171
197
  };
172
- readonly default: {};
198
+ readonly default: Record<string, never>;
199
+ readonly description: "Named build actions. Each action runs a pipeline of run, extract and transform steps.";
173
200
  };
174
201
  readonly resolver: {
175
202
  readonly type: "object";
176
203
  readonly required: true;
177
- readonly default: {};
178
- readonly allowAdditionalProperties: {
204
+ readonly additional: {
179
205
  readonly type: "union";
180
206
  readonly required: true;
181
- readonly union: [{
207
+ readonly union: readonly [{
182
208
  readonly type: "string";
183
209
  }, {
184
210
  readonly type: "object";
185
- readonly properties: {
211
+ readonly keys: {
186
212
  readonly local: {
187
213
  readonly type: "string";
188
214
  readonly required: true;
215
+ readonly description: "Local path or glob pattern the dependency resolves to.";
189
216
  };
190
217
  readonly type: {
191
218
  readonly type: "string";
219
+ readonly description: "Optional identifier describing the resolution type.";
192
220
  };
193
221
  readonly cdn: {
194
222
  readonly type: "string";
223
+ readonly description: "CDN URL used when the dependency is resolved in CDN mode.";
195
224
  };
196
225
  };
197
226
  }];
227
+ readonly description: "Resolution target of a dependency: either a plain string or an object with local, type and cdn options.";
198
228
  };
229
+ readonly default: Record<string, never>;
230
+ readonly description: "Mapping of dependency names to their resolution targets (local file or CDN). Paths are resolved relative to this folder.";
199
231
  };
200
232
  readonly dependencies: {
201
233
  readonly type: "array";
202
- readonly default: [];
234
+ readonly default: never[];
203
235
  readonly items: {
204
236
  readonly type: "object";
205
- readonly properties: {
237
+ readonly keys: {
206
238
  readonly name: {
207
239
  readonly type: "string";
208
240
  readonly required: true;
241
+ readonly pattern: RegExp;
242
+ readonly description: "Unique name used to reference the dependency in flows and path aliases. It is an identity, not a path: a single alphanumeric segment.";
209
243
  };
210
244
  readonly repo: {
211
245
  readonly type: "string";
212
246
  readonly required: true;
247
+ readonly description: "Git repository URL to clone the dependency from.";
213
248
  };
214
249
  readonly tag: {
215
250
  readonly type: "string";
216
251
  readonly default: "main";
252
+ readonly description: "Git tag, branch or commit to check out after cloning. Defaults to \"main\".";
217
253
  };
218
254
  readonly builder: {
219
255
  readonly type: "array";
220
- readonly default: [];
221
256
  readonly items: {
222
257
  readonly type: "union";
223
258
  readonly required: true;
224
- readonly union: [{
259
+ readonly union: readonly [{
225
260
  readonly type: "object";
226
261
  readonly required: true;
227
- readonly properties: {
262
+ readonly keys: {
228
263
  readonly maxTimeMs: {
229
264
  readonly type: "number";
230
265
  readonly default: 60000;
231
266
  readonly minimum: -1;
267
+ readonly description: "Maximum execution time for the run step in milliseconds. A value of -1 disables the limit.";
232
268
  };
233
269
  readonly allowFails: {
234
270
  readonly type: "boolean";
235
271
  readonly default: false;
272
+ readonly description: "Whether failed commands within the step are tolerated. Defaults to false.";
236
273
  };
237
274
  readonly run: {
238
275
  readonly type: "union";
239
276
  readonly required: true;
240
- readonly union: [{
277
+ readonly union: readonly [{
241
278
  readonly type: "string";
242
279
  }, {
243
280
  readonly type: "array";
@@ -245,185 +282,215 @@ export declare const Config: Schema<{
245
282
  readonly type: "string";
246
283
  };
247
284
  }];
285
+ readonly description: "Shell command or list of shell commands to execute.";
248
286
  };
249
287
  };
250
288
  }, {
251
289
  readonly type: "object";
252
290
  readonly required: true;
253
- readonly properties: {
291
+ readonly keys: {
254
292
  readonly extract: {
255
293
  readonly type: "union";
256
294
  readonly required: true;
257
- readonly union: [{
295
+ readonly union: readonly [{
258
296
  readonly type: "string";
259
297
  }, {
260
298
  readonly type: "object";
261
299
  readonly required: true;
262
- readonly allowAdditionalProperties: {
300
+ readonly additional: {
263
301
  readonly type: "union";
264
302
  readonly required: true;
265
- readonly union: [{
303
+ readonly union: readonly [{
266
304
  readonly type: "string";
267
305
  readonly required: true;
268
306
  }, {
269
307
  readonly type: "object";
270
308
  readonly required: true;
271
- readonly properties: {
309
+ readonly keys: {
272
310
  readonly to: {
273
311
  readonly type: "string";
274
312
  readonly required: true;
313
+ readonly description: "Destination folder to which the matched files are copied. A relative path is resolved against the project root, an absolute one is used as it stands.";
275
314
  };
276
315
  readonly map: {
277
- readonly required: false;
278
316
  readonly type: "union";
279
- readonly union: [{
317
+ readonly union: readonly [{
280
318
  readonly type: "string";
281
319
  }, {
282
320
  readonly type: "object";
283
- readonly properties: {
321
+ readonly keys: {
284
322
  readonly search: {
285
323
  readonly type: "string";
286
324
  readonly required: true;
325
+ readonly description: "The regular expression pattern to search for in the file content.";
287
326
  };
288
327
  readonly flags: {
289
328
  readonly type: "string";
290
329
  readonly default: "g";
291
330
  readonly pattern: RegExp;
331
+ readonly description: "Flags applied to the regular expression search. Defaults to \"g\" (global).";
292
332
  };
293
333
  readonly replace: {
294
334
  readonly type: "string";
295
335
  readonly required: true;
336
+ readonly description: "The replacement string used to substitute the matches found by the search pattern.";
296
337
  };
297
338
  };
298
339
  }];
340
+ readonly required: false;
341
+ readonly description: "Transformation applied to the destination path of the extracted files.";
299
342
  };
300
343
  readonly transform: {
301
- readonly required: false;
302
344
  readonly type: "union";
303
- readonly union: [{
345
+ readonly union: readonly [{
304
346
  readonly type: "string";
305
347
  }, {
306
348
  readonly type: "object";
307
- readonly properties: {
349
+ readonly keys: {
308
350
  readonly search: {
309
351
  readonly type: "string";
310
352
  readonly required: true;
353
+ readonly description: "The regular expression pattern to search for in the file content.";
311
354
  };
312
355
  readonly flags: {
313
356
  readonly type: "string";
314
357
  readonly default: "g";
315
358
  readonly pattern: RegExp;
359
+ readonly description: "Flags applied to the regular expression search. Defaults to \"g\" (global).";
316
360
  };
317
361
  readonly replace: {
318
362
  readonly type: "string";
319
363
  readonly required: true;
364
+ readonly description: "The replacement string used to substitute the matches found by the search pattern.";
320
365
  };
321
366
  };
322
367
  }];
368
+ readonly required: false;
369
+ readonly description: "Transformation applied to the content of the extracted files.";
323
370
  };
324
371
  };
325
372
  }];
326
373
  };
374
+ readonly description: "Mapping of source glob patterns, relative to the folder the pipeline works in, to extraction entries, each describing where and how files are extracted.";
327
375
  }];
376
+ readonly description: "Destination folder for the extracted files or an extraction mapping.";
328
377
  };
329
378
  };
330
379
  }, {
331
380
  readonly type: "object";
332
381
  readonly required: true;
333
- readonly properties: {
382
+ readonly keys: {
334
383
  readonly transform: {
335
384
  readonly type: "object";
336
385
  readonly required: true;
337
- readonly properties: {
386
+ readonly keys: {
338
387
  readonly search: {
339
388
  readonly type: "string";
340
389
  readonly required: true;
390
+ readonly description: "The regular expression pattern to search for in the file content.";
341
391
  };
342
392
  readonly flags: {
343
393
  readonly type: "string";
344
394
  readonly default: "g";
345
395
  readonly pattern: RegExp;
396
+ readonly description: "Flags applied to the regular expression search. Defaults to \"g\" (global).";
346
397
  };
347
398
  readonly replace: {
348
399
  readonly type: "string";
349
400
  readonly required: true;
401
+ readonly description: "The replacement string used to substitute the matches found by the search pattern.";
350
402
  };
351
403
  readonly glob: {
352
404
  readonly type: "string";
353
405
  readonly required: true;
406
+ readonly description: "Glob pattern matching the files to which the global transformation is applied.";
354
407
  };
355
408
  };
409
+ readonly description: "Global transformation to apply over the files matched by the glob pattern.";
356
410
  };
357
411
  };
358
412
  }];
413
+ readonly description: "A single build step: run commands, extract files or apply a global transformation.";
359
414
  };
415
+ readonly default: never[];
416
+ readonly description: "Build pipeline applied after cloning the repository.";
360
417
  };
361
418
  readonly resolver: {
362
419
  readonly type: "object";
363
420
  readonly required: true;
364
- readonly default: {};
365
- readonly allowAdditionalProperties: {
421
+ readonly additional: {
366
422
  readonly type: "union";
367
423
  readonly required: true;
368
- readonly union: [{
424
+ readonly union: readonly [{
369
425
  readonly type: "string";
370
426
  }, {
371
427
  readonly type: "object";
372
- readonly properties: {
428
+ readonly keys: {
373
429
  readonly local: {
374
430
  readonly type: "string";
375
431
  readonly required: true;
432
+ readonly description: "Local path or glob pattern the dependency resolves to.";
376
433
  };
377
434
  readonly type: {
378
435
  readonly type: "string";
436
+ readonly description: "Optional identifier describing the resolution type.";
379
437
  };
380
438
  readonly cdn: {
381
439
  readonly type: "string";
440
+ readonly description: "CDN URL used when the dependency is resolved in CDN mode.";
382
441
  };
383
442
  };
384
443
  }];
444
+ readonly description: "Resolution target of a dependency: either a plain string or an object with local, type and cdn options.";
385
445
  };
446
+ readonly default: Record<string, never>;
447
+ readonly description: "Target resolution used to rewrite the dependency paths.";
386
448
  };
387
449
  };
388
450
  };
451
+ readonly description: "Git dependencies to clone and build, each an object with a name and a repo.";
389
452
  };
390
453
  readonly npmDependencies: {
391
454
  readonly type: "array";
392
- readonly default: [];
455
+ readonly default: never[];
393
456
  readonly items: {
394
457
  readonly type: "object";
395
- readonly properties: {
458
+ readonly keys: {
396
459
  readonly name: {
397
460
  readonly type: "string";
398
461
  readonly required: true;
462
+ readonly pattern: RegExp;
463
+ readonly description: "NPM package name to install, optionally scoped.";
399
464
  };
400
465
  readonly version: {
401
466
  readonly type: "string";
402
467
  readonly required: true;
468
+ readonly description: "NPM package version or semver range to install.";
403
469
  };
404
470
  readonly builder: {
405
471
  readonly type: "array";
406
- readonly default: [];
407
472
  readonly items: {
408
473
  readonly type: "union";
409
474
  readonly required: true;
410
- readonly union: [{
475
+ readonly union: readonly [{
411
476
  readonly type: "object";
412
477
  readonly required: true;
413
- readonly properties: {
478
+ readonly keys: {
414
479
  readonly maxTimeMs: {
415
480
  readonly type: "number";
416
481
  readonly default: 60000;
417
482
  readonly minimum: -1;
483
+ readonly description: "Maximum execution time for the run step in milliseconds. A value of -1 disables the limit.";
418
484
  };
419
485
  readonly allowFails: {
420
486
  readonly type: "boolean";
421
487
  readonly default: false;
488
+ readonly description: "Whether failed commands within the step are tolerated. Defaults to false.";
422
489
  };
423
490
  readonly run: {
424
491
  readonly type: "union";
425
492
  readonly required: true;
426
- readonly union: [{
493
+ readonly union: readonly [{
427
494
  readonly type: "string";
428
495
  }, {
429
496
  readonly type: "array";
@@ -431,152 +498,176 @@ export declare const Config: Schema<{
431
498
  readonly type: "string";
432
499
  };
433
500
  }];
501
+ readonly description: "Shell command or list of shell commands to execute.";
434
502
  };
435
503
  };
436
504
  }, {
437
505
  readonly type: "object";
438
506
  readonly required: true;
439
- readonly properties: {
507
+ readonly keys: {
440
508
  readonly extract: {
441
509
  readonly type: "union";
442
510
  readonly required: true;
443
- readonly union: [{
511
+ readonly union: readonly [{
444
512
  readonly type: "string";
445
513
  }, {
446
514
  readonly type: "object";
447
515
  readonly required: true;
448
- readonly allowAdditionalProperties: {
516
+ readonly additional: {
449
517
  readonly type: "union";
450
518
  readonly required: true;
451
- readonly union: [{
519
+ readonly union: readonly [{
452
520
  readonly type: "string";
453
521
  readonly required: true;
454
522
  }, {
455
523
  readonly type: "object";
456
524
  readonly required: true;
457
- readonly properties: {
525
+ readonly keys: {
458
526
  readonly to: {
459
527
  readonly type: "string";
460
528
  readonly required: true;
529
+ readonly description: "Destination folder to which the matched files are copied. A relative path is resolved against the project root, an absolute one is used as it stands.";
461
530
  };
462
531
  readonly map: {
463
- readonly required: false;
464
532
  readonly type: "union";
465
- readonly union: [{
533
+ readonly union: readonly [{
466
534
  readonly type: "string";
467
535
  }, {
468
536
  readonly type: "object";
469
- readonly properties: {
537
+ readonly keys: {
470
538
  readonly search: {
471
539
  readonly type: "string";
472
540
  readonly required: true;
541
+ readonly description: "The regular expression pattern to search for in the file content.";
473
542
  };
474
543
  readonly flags: {
475
544
  readonly type: "string";
476
545
  readonly default: "g";
477
546
  readonly pattern: RegExp;
547
+ readonly description: "Flags applied to the regular expression search. Defaults to \"g\" (global).";
478
548
  };
479
549
  readonly replace: {
480
550
  readonly type: "string";
481
551
  readonly required: true;
552
+ readonly description: "The replacement string used to substitute the matches found by the search pattern.";
482
553
  };
483
554
  };
484
555
  }];
556
+ readonly required: false;
557
+ readonly description: "Transformation applied to the destination path of the extracted files.";
485
558
  };
486
559
  readonly transform: {
487
- readonly required: false;
488
560
  readonly type: "union";
489
- readonly union: [{
561
+ readonly union: readonly [{
490
562
  readonly type: "string";
491
563
  }, {
492
564
  readonly type: "object";
493
- readonly properties: {
565
+ readonly keys: {
494
566
  readonly search: {
495
567
  readonly type: "string";
496
568
  readonly required: true;
569
+ readonly description: "The regular expression pattern to search for in the file content.";
497
570
  };
498
571
  readonly flags: {
499
572
  readonly type: "string";
500
573
  readonly default: "g";
501
574
  readonly pattern: RegExp;
575
+ readonly description: "Flags applied to the regular expression search. Defaults to \"g\" (global).";
502
576
  };
503
577
  readonly replace: {
504
578
  readonly type: "string";
505
579
  readonly required: true;
580
+ readonly description: "The replacement string used to substitute the matches found by the search pattern.";
506
581
  };
507
582
  };
508
583
  }];
584
+ readonly required: false;
585
+ readonly description: "Transformation applied to the content of the extracted files.";
509
586
  };
510
587
  };
511
588
  }];
512
589
  };
590
+ readonly description: "Mapping of source glob patterns, relative to the folder the pipeline works in, to extraction entries, each describing where and how files are extracted.";
513
591
  }];
592
+ readonly description: "Destination folder for the extracted files or an extraction mapping.";
514
593
  };
515
594
  };
516
595
  }, {
517
596
  readonly type: "object";
518
597
  readonly required: true;
519
- readonly properties: {
598
+ readonly keys: {
520
599
  readonly transform: {
521
600
  readonly type: "object";
522
601
  readonly required: true;
523
- readonly properties: {
602
+ readonly keys: {
524
603
  readonly search: {
525
604
  readonly type: "string";
526
605
  readonly required: true;
606
+ readonly description: "The regular expression pattern to search for in the file content.";
527
607
  };
528
608
  readonly flags: {
529
609
  readonly type: "string";
530
610
  readonly default: "g";
531
611
  readonly pattern: RegExp;
612
+ readonly description: "Flags applied to the regular expression search. Defaults to \"g\" (global).";
532
613
  };
533
614
  readonly replace: {
534
615
  readonly type: "string";
535
616
  readonly required: true;
617
+ readonly description: "The replacement string used to substitute the matches found by the search pattern.";
536
618
  };
537
619
  readonly glob: {
538
620
  readonly type: "string";
539
621
  readonly required: true;
622
+ readonly description: "Glob pattern matching the files to which the global transformation is applied.";
540
623
  };
541
624
  };
625
+ readonly description: "Global transformation to apply over the files matched by the glob pattern.";
542
626
  };
543
627
  };
544
628
  }];
629
+ readonly description: "A single build step: run commands, extract files or apply a global transformation.";
545
630
  };
631
+ readonly default: never[];
632
+ readonly description: "Build pipeline applied after installing the package.";
546
633
  };
547
634
  readonly resolver: {
548
635
  readonly type: "object";
549
636
  readonly required: true;
550
- readonly default: {};
551
- readonly allowAdditionalProperties: {
637
+ readonly additional: {
552
638
  readonly type: "union";
553
639
  readonly required: true;
554
- readonly union: [{
640
+ readonly union: readonly [{
555
641
  readonly type: "string";
556
642
  }, {
557
643
  readonly type: "object";
558
- readonly properties: {
644
+ readonly keys: {
559
645
  readonly local: {
560
646
  readonly type: "string";
561
647
  readonly required: true;
648
+ readonly description: "Local path or glob pattern the dependency resolves to.";
562
649
  };
563
650
  readonly type: {
564
651
  readonly type: "string";
652
+ readonly description: "Optional identifier describing the resolution type.";
565
653
  };
566
654
  readonly cdn: {
567
655
  readonly type: "string";
656
+ readonly description: "CDN URL used when the dependency is resolved in CDN mode.";
568
657
  };
569
658
  };
570
659
  }];
660
+ readonly description: "Resolution target of a dependency: either a plain string or an object with local, type and cdn options.";
571
661
  };
662
+ readonly default: Record<string, never>;
663
+ readonly description: "Target resolution used to rewrite the dependency paths.";
572
664
  };
573
665
  };
574
666
  };
667
+ readonly description: "NPM dependencies to install and build, each an object with a name and a version.";
575
668
  };
576
669
  };
577
670
  }>;
578
671
  export type Config = typeof Config.infer;
579
- export declare namespace Config {
580
- type toProcess = typeof Config.inferToProcess;
581
- }
672
+ export declare namespace Config { }
582
673
  export default Config;