@elliemae/encw-leak-runner 1.0.3 → 1.0.4
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 +14 -0
- package/README.md +34 -17
- package/dist/.tsbuildinfo +1 -1
- package/dist/bin/leak-runner.js +80 -9
- package/dist/cjs/cli/commands/runCommand.js +7 -2
- package/dist/cjs/config/requiredEnvParams.js +14 -2
- package/dist/cjs/config/runnerConfigLoader.js +6 -3
- package/dist/cjs/config/runnerConfigSchema.js +5 -1
- package/dist/cjs/config/unknownEnvError.js +36 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/runner/scenarioRunner.js +9 -1
- package/dist/cjs/scenarios/one-admin/export-navigation.scenario.js +10 -1
- package/dist/cjs/scenarios/one-admin/page-models/AdminLandingPageModel.js +42 -0
- package/dist/cjs/scenarios/one-admin/page-models/index.js +2 -0
- package/dist/esm/cli/commands/runCommand.js +11 -3
- package/dist/esm/config/requiredEnvParams.js +14 -2
- package/dist/esm/config/runnerConfigLoader.js +6 -3
- package/dist/esm/config/runnerConfigSchema.js +5 -1
- package/dist/esm/config/unknownEnvError.js +16 -0
- package/dist/esm/index.js +3 -1
- package/dist/esm/runner/scenarioRunner.js +9 -1
- package/dist/esm/scenarios/one-admin/export-navigation.scenario.js +11 -1
- package/dist/esm/scenarios/one-admin/page-models/AdminLandingPageModel.js +22 -0
- package/dist/esm/scenarios/one-admin/page-models/index.js +2 -0
- package/dist/types/lib/config/requiredEnvParams.d.ts +4 -1
- package/dist/types/lib/config/runnerConfigLoader.d.ts +1 -0
- package/dist/types/lib/config/runnerConfigSchema.d.ts +7 -0
- package/dist/types/lib/config/unknownEnvError.d.ts +5 -0
- package/dist/types/lib/index.d.ts +1 -1
- package/dist/types/lib/runner/aiEnhancementStep.d.ts +4 -3
- package/dist/types/lib/scenarios/one-admin/page-models/AdminLandingPageModel.d.ts +8 -0
- package/dist/types/lib/scenarios/one-admin/page-models/index.d.ts +1 -0
- package/dist/types/lib/types/scenario.d.ts +1 -0
- package/leak-runner.config.json +18 -0
- package/leak-runner.schema.json +5 -0
- package/lib/cli/commands/runCommand.ts +15 -2
- package/lib/config/requiredEnvParams.ts +15 -2
- package/lib/config/runnerConfigLoader.ts +12 -5
- package/lib/config/runnerConfigSchema.ts +4 -0
- package/lib/config/tests/fileConfigSource.test.ts +26 -0
- package/lib/config/tests/requiredEnvParams.test.ts +90 -2
- package/lib/config/tests/runnerConfigLoader.test.ts +30 -0
- package/lib/config/unknownEnvError.ts +13 -0
- package/lib/index.ts +1 -0
- package/lib/runner/aiEnhancementStep.ts +4 -3
- package/lib/runner/scenarioRunner.ts +8 -1
- package/lib/scenarios/one-admin/export-navigation.scenario.ts +13 -1
- package/lib/scenarios/one-admin/page-models/AdminLandingPageModel.ts +24 -0
- package/lib/scenarios/one-admin/page-models/index.ts +1 -0
- package/lib/types/scenario.ts +1 -0
- package/package.json +3 -3
- package/reports/analysis/index.html +1 -1
- package/reports/analysis/thresholdEvaluator.ts.html +1 -1
- package/reports/browser/iframeHeapProfiler.ts.html +1 -1
- package/reports/browser/index.html +1 -1
- package/reports/cli/commands/index.html +3 -3
- package/reports/cli/commands/listCommand.ts.html +1 -1
- package/reports/cli/commands/runCommand.ts.html +44 -5
- package/reports/cli/index.html +1 -1
- package/reports/cli/index.ts.html +1 -1
- package/reports/config/index.html +36 -21
- package/reports/config/missingRequiredParamError.ts.html +4 -4
- package/reports/config/requiredEnvParams.ts.html +67 -28
- package/reports/config/runnerConfigLoader.ts.html +38 -17
- package/reports/config/runnerConfigSchema.ts.html +18 -6
- package/reports/config/sources/cliOverrideConfigSource.ts.html +1 -1
- package/reports/config/sources/configSource.ts.html +2 -2
- package/reports/config/sources/envVarConfigSource.ts.html +1 -1
- package/reports/config/sources/fileConfigSource.ts.html +13 -13
- package/reports/config/sources/index.html +1 -1
- package/reports/config/unknownEnvError.ts.html +124 -0
- package/reports/index.html +35 -35
- package/reports/lcov-report/analysis/index.html +1 -1
- package/reports/lcov-report/analysis/thresholdEvaluator.ts.html +1 -1
- package/reports/lcov-report/browser/iframeHeapProfiler.ts.html +1 -1
- package/reports/lcov-report/browser/index.html +1 -1
- package/reports/lcov-report/cli/commands/index.html +3 -3
- package/reports/lcov-report/cli/commands/listCommand.ts.html +1 -1
- package/reports/lcov-report/cli/commands/runCommand.ts.html +44 -5
- package/reports/lcov-report/cli/index.html +1 -1
- package/reports/lcov-report/cli/index.ts.html +1 -1
- package/reports/lcov-report/config/index.html +36 -21
- package/reports/lcov-report/config/missingRequiredParamError.ts.html +4 -4
- package/reports/lcov-report/config/requiredEnvParams.ts.html +67 -28
- package/reports/lcov-report/config/runnerConfigLoader.ts.html +38 -17
- package/reports/lcov-report/config/runnerConfigSchema.ts.html +18 -6
- package/reports/lcov-report/config/sources/cliOverrideConfigSource.ts.html +1 -1
- package/reports/lcov-report/config/sources/configSource.ts.html +2 -2
- package/reports/lcov-report/config/sources/envVarConfigSource.ts.html +1 -1
- package/reports/lcov-report/config/sources/fileConfigSource.ts.html +13 -13
- package/reports/lcov-report/config/sources/index.html +1 -1
- package/reports/lcov-report/config/unknownEnvError.ts.html +124 -0
- package/reports/lcov-report/index.html +35 -35
- package/reports/lcov-report/registry/index.html +1 -1
- package/reports/lcov-report/registry/scenarioRegistry.ts.html +1 -1
- package/reports/lcov-report/reporting/consoleReporter.ts.html +1 -1
- package/reports/lcov-report/reporting/index.html +1 -1
- package/reports/lcov-report/reporting/junitReporter.ts.html +1 -1
- package/reports/lcov-report/runner/aiEnhancementStep.ts.html +8 -5
- package/reports/lcov-report/runner/batchRunner.ts.html +1 -1
- package/reports/lcov-report/runner/index.html +15 -15
- package/reports/lcov-report/runner/scenarioRunner.ts.html +32 -11
- package/reports/lcov-report/scenarios/index.html +1 -1
- package/reports/lcov-report/scenarios/index.ts.html +1 -1
- package/reports/lcov-report/scenarios/one-admin/export-navigation.scenario.ts.html +44 -8
- package/reports/lcov-report/scenarios/one-admin/index.html +11 -11
- package/reports/lcov-report/scenarios/one-admin/index.ts.html +1 -1
- package/reports/lcov-report/scenarios/one-admin/page-models/AdminLandingPageModel.ts.html +157 -0
- package/reports/lcov-report/scenarios/one-admin/page-models/ExportPageModel.ts.html +1 -1
- package/reports/lcov-report/scenarios/one-admin/page-models/SelectSettingsPageModel.ts.html +1 -1
- package/reports/lcov-report/scenarios/one-admin/page-models/index.html +19 -4
- package/reports/lcov-report/types/config.ts.html +1 -1
- package/reports/lcov-report/types/index.html +1 -1
- package/reports/lcov.info +302 -230
- package/reports/registry/index.html +1 -1
- package/reports/registry/scenarioRegistry.ts.html +1 -1
- package/reports/reporting/consoleReporter.ts.html +1 -1
- package/reports/reporting/index.html +1 -1
- package/reports/reporting/junitReporter.ts.html +1 -1
- package/reports/runner/aiEnhancementStep.ts.html +8 -5
- package/reports/runner/batchRunner.ts.html +1 -1
- package/reports/runner/index.html +15 -15
- package/reports/runner/scenarioRunner.ts.html +32 -11
- package/reports/scenarios/index.html +1 -1
- package/reports/scenarios/index.ts.html +1 -1
- package/reports/scenarios/one-admin/export-navigation.scenario.ts.html +44 -8
- package/reports/scenarios/one-admin/index.html +11 -11
- package/reports/scenarios/one-admin/index.ts.html +1 -1
- package/reports/scenarios/one-admin/page-models/AdminLandingPageModel.ts.html +157 -0
- package/reports/scenarios/one-admin/page-models/ExportPageModel.ts.html +1 -1
- package/reports/scenarios/one-admin/page-models/SelectSettingsPageModel.ts.html +1 -1
- package/reports/scenarios/one-admin/page-models/index.html +19 -4
- package/reports/types/config.ts.html +1 -1
- package/reports/types/index.html +1 -1
- package/test-report.xml +67 -54
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at 2026-05-
|
|
104
|
+
at 2026-05-13T17:06:38.095Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
33
|
<span class="strong">0% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>0/
|
|
35
|
+
<span class='fraction'>0/19</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<td data-value="0" class="pct low">0%</td>
|
|
102
102
|
<td data-value="35" class="abs low">0/35</td>
|
|
103
103
|
<td data-value="0" class="pct low">0%</td>
|
|
104
|
-
<td data-value="
|
|
104
|
+
<td data-value="14" class="abs low">0/14</td>
|
|
105
105
|
<td data-value="0" class="pct low">0%</td>
|
|
106
106
|
<td data-value="6" class="abs low">0/6</td>
|
|
107
107
|
<td data-value="0" class="pct low">0%</td>
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
117
|
Code coverage generated by
|
|
118
118
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at 2026-05-
|
|
119
|
+
at 2026-05-13T17:06:38.095Z
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../../prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -178,7 +178,7 @@ export class ListCommand implements CliCommand {
|
|
|
178
178
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
179
179
|
Code coverage generated by
|
|
180
180
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
181
|
-
at 2026-05-
|
|
181
|
+
at 2026-05-13T17:06:38.095Z
|
|
182
182
|
</div>
|
|
183
183
|
<script src="../../prettify.js"></script>
|
|
184
184
|
<script>
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
33
|
<span class="strong">0% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>0/
|
|
35
|
+
<span class='fraction'>0/14</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -189,7 +189,24 @@
|
|
|
189
189
|
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
190
|
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
191
|
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
-
<a name='L127'></a><a href='#L127'>127</a
|
|
192
|
+
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
+
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
+
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
+
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
+
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
+
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
+
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
+
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
+
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
+
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
+
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
+
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
+
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
+
<a name='L140'></a><a href='#L140'>140</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
206
|
+
<span class="cline-any cline-neutral"> </span>
|
|
207
|
+
<span class="cline-any cline-neutral"> </span>
|
|
208
|
+
<span class="cline-any cline-neutral"> </span>
|
|
209
|
+
<span class="cline-any cline-neutral"> </span>
|
|
193
210
|
<span class="cline-any cline-neutral"> </span>
|
|
194
211
|
<span class="cline-any cline-neutral"> </span>
|
|
195
212
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -228,6 +245,10 @@
|
|
|
228
245
|
<span class="cline-any cline-neutral"> </span>
|
|
229
246
|
<span class="cline-any cline-neutral"> </span>
|
|
230
247
|
<span class="cline-any cline-neutral"> </span>
|
|
248
|
+
<span class="cline-any cline-neutral"> </span>
|
|
249
|
+
<span class="cline-any cline-neutral"> </span>
|
|
250
|
+
<span class="cline-any cline-neutral"> </span>
|
|
251
|
+
<span class="cline-any cline-neutral"> </span>
|
|
231
252
|
<span class="cline-any cline-no"> </span>
|
|
232
253
|
<span class="cline-any cline-neutral"> </span>
|
|
233
254
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -246,6 +267,9 @@
|
|
|
246
267
|
<span class="cline-any cline-no"> </span>
|
|
247
268
|
<span class="cline-any cline-neutral"> </span>
|
|
248
269
|
<span class="cline-any cline-no"> </span>
|
|
270
|
+
<span class="cline-any cline-neutral"> </span>
|
|
271
|
+
<span class="cline-any cline-neutral"> </span>
|
|
272
|
+
<span class="cline-any cline-neutral"> </span>
|
|
249
273
|
<span class="cline-any cline-no"> </span>
|
|
250
274
|
<span class="cline-any cline-no"> </span>
|
|
251
275
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -280,6 +304,8 @@
|
|
|
280
304
|
<span class="cline-any cline-neutral"> </span>
|
|
281
305
|
<span class="cline-any cline-neutral"> </span>
|
|
282
306
|
<span class="cline-any cline-neutral"> </span>
|
|
307
|
+
<span class="cline-any cline-neutral"> </span>
|
|
308
|
+
<span class="cline-any cline-neutral"> </span>
|
|
283
309
|
<span class="cline-any cline-no"> </span>
|
|
284
310
|
<span class="cline-any cline-no"> </span>
|
|
285
311
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -329,12 +355,16 @@ import {
|
|
|
329
355
|
import { EnvVarConfigSource } from '../../config/sources/envVarConfigSource.js';
|
|
330
356
|
import { FileConfigSource } from '../../config/sources/fileConfigSource.js';
|
|
331
357
|
import { RunnerConfigLoader } from '../../config/runnerConfigLoader.js';
|
|
332
|
-
import {
|
|
358
|
+
import {
|
|
359
|
+
MissingRequiredParamError,
|
|
360
|
+
UnknownEnvError,
|
|
361
|
+
} from '../../config/requiredEnvParams.js';
|
|
333
362
|
|
|
334
363
|
interface RunOptions extends CliRunnerOverrides {
|
|
335
364
|
all?: boolean;
|
|
336
365
|
tag?: string;
|
|
337
366
|
baseUrl?: string;
|
|
367
|
+
env?: string;
|
|
338
368
|
instanceId?: string;
|
|
339
369
|
userId?: string;
|
|
340
370
|
configFile?: string;
|
|
@@ -350,6 +380,10 @@ export class RunCommand implements CliCommand {
|
|
|
350
380
|
.option('--all', 'Run all registered scenarios')
|
|
351
381
|
.option('--tag <tag>', 'Run all scenarios matching a tag')
|
|
352
382
|
.option('--base-url <url>', 'Override base URL')
|
|
383
|
+
.option(
|
|
384
|
+
'--env <name>',
|
|
385
|
+
'Select a named environment from leak-runner.config.json envs (also reads ENCW_ENV)',
|
|
386
|
+
)
|
|
353
387
|
.option('--instance-id <id>', 'Override instance ID')
|
|
354
388
|
.option('--user-id <id>', 'Override user ID')
|
|
355
389
|
.option('--output-dir <dir>', 'Override output directory')
|
|
@@ -371,7 +405,10 @@ export class RunCommand implements CliCommand {
|
|
|
371
405
|
<span class="cstat-no" title="statement not covered" > await new JunitReporter().write(summary, config.runner.outputDir);</span>
|
|
372
406
|
<span class="cstat-no" title="statement not covered" > process.exit(summary.failCount > 0 ? 1 : 0);</span>
|
|
373
407
|
} catch (err) {
|
|
374
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (
|
|
408
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (</span>
|
|
409
|
+
err instanceof MissingRequiredParamError ||
|
|
410
|
+
err instanceof UnknownEnvError
|
|
411
|
+
) {
|
|
375
412
|
<span class="cstat-no" title="statement not covered" > process.stderr.write(`Configuration error: ${err.message}\n`);</span>
|
|
376
413
|
<span class="cstat-no" title="statement not covered" > process.exit(2);</span>
|
|
377
414
|
}
|
|
@@ -401,6 +438,8 @@ export class RunCommand implements CliCommand {
|
|
|
401
438
|
|
|
402
439
|
const env = <span class="cstat-no" title="statement not covered" >deps.envParams.resolve({</span>
|
|
403
440
|
baseUrl: options.baseUrl,
|
|
441
|
+
env: options.env,
|
|
442
|
+
envs: resolved.envs,
|
|
404
443
|
instanceId: options.instanceId,
|
|
405
444
|
userId: options.userId,
|
|
406
445
|
});
|
|
@@ -448,7 +487,7 @@ export class RunCommand implements CliCommand {
|
|
|
448
487
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
449
488
|
Code coverage generated by
|
|
450
489
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
451
|
-
at 2026-05-
|
|
490
|
+
at 2026-05-13T17:06:38.095Z
|
|
452
491
|
</div>
|
|
453
492
|
<script src="../../prettify.js"></script>
|
|
454
493
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at 2026-05-
|
|
104
|
+
at 2026-05-13T17:06:38.095Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -145,7 +145,7 @@ export function <span class="fstat-no" title="function not covered" >defaultDeps
|
|
|
145
145
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
146
146
|
Code coverage generated by
|
|
147
147
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
148
|
-
at 2026-05-
|
|
148
|
+
at 2026-05-13T17:06:38.095Z
|
|
149
149
|
</div>
|
|
150
150
|
<script src="../prettify.js"></script>
|
|
151
151
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">92.53% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>62/67</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">86.79% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>46/53</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>14/14</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">98.07% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>51/52</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -95,17 +95,17 @@
|
|
|
95
95
|
|
|
96
96
|
<tr>
|
|
97
97
|
<td class="file high" data-value="requiredEnvParams.ts"><a href="requiredEnvParams.ts.html">requiredEnvParams.ts</a></td>
|
|
98
|
-
<td data-value="
|
|
99
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
98
|
+
<td data-value="94.87" class="pic high">
|
|
99
|
+
<div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
|
|
100
100
|
</td>
|
|
101
|
-
<td data-value="
|
|
102
|
-
<td data-value="
|
|
101
|
+
<td data-value="94.87" class="pct high">94.87%</td>
|
|
102
|
+
<td data-value="39" class="abs high">37/39</td>
|
|
103
103
|
<td data-value="100" class="pct high">100%</td>
|
|
104
|
-
<td data-value="
|
|
104
|
+
<td data-value="21" class="abs high">21/21</td>
|
|
105
105
|
<td data-value="100" class="pct high">100%</td>
|
|
106
106
|
<td data-value="6" class="abs high">6/6</td>
|
|
107
|
-
<td data-value="
|
|
108
|
-
<td data-value="
|
|
107
|
+
<td data-value="96.55" class="pct high">96.55%</td>
|
|
108
|
+
<td data-value="29" class="abs high">28/29</td>
|
|
109
109
|
</tr>
|
|
110
110
|
|
|
111
111
|
<tr>
|
|
@@ -115,8 +115,8 @@
|
|
|
115
115
|
</td>
|
|
116
116
|
<td data-value="100" class="pct high">100%</td>
|
|
117
117
|
<td data-value="12" class="abs high">12/12</td>
|
|
118
|
-
<td data-value="
|
|
119
|
-
<td data-value="
|
|
118
|
+
<td data-value="76.66" class="pct medium">76.66%</td>
|
|
119
|
+
<td data-value="30" class="abs medium">23/30</td>
|
|
120
120
|
<td data-value="100" class="pct high">100%</td>
|
|
121
121
|
<td data-value="6" class="abs high">6/6</td>
|
|
122
122
|
<td data-value="100" class="pct high">100%</td>
|
|
@@ -125,16 +125,31 @@
|
|
|
125
125
|
|
|
126
126
|
<tr>
|
|
127
127
|
<td class="file medium" data-value="runnerConfigSchema.ts"><a href="runnerConfigSchema.ts.html">runnerConfigSchema.ts</a></td>
|
|
128
|
-
<td data-value="
|
|
129
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
128
|
+
<td data-value="66.66" class="pic medium">
|
|
129
|
+
<div class="chart"><div class="cover-fill" style="width: 66%"></div><div class="cover-empty" style="width: 34%"></div></div>
|
|
130
130
|
</td>
|
|
131
|
-
<td data-value="
|
|
132
|
-
<td data-value="
|
|
131
|
+
<td data-value="66.66" class="pct medium">66.66%</td>
|
|
132
|
+
<td data-value="9" class="abs medium">6/9</td>
|
|
133
133
|
<td data-value="100" class="pct high">100%</td>
|
|
134
134
|
<td data-value="0" class="abs high">0/0</td>
|
|
135
135
|
<td data-value="100" class="pct high">100%</td>
|
|
136
136
|
<td data-value="0" class="abs high">0/0</td>
|
|
137
137
|
<td data-value="100" class="pct high">100%</td>
|
|
138
|
+
<td data-value="5" class="abs high">5/5</td>
|
|
139
|
+
</tr>
|
|
140
|
+
|
|
141
|
+
<tr>
|
|
142
|
+
<td class="file high" data-value="unknownEnvError.ts"><a href="unknownEnvError.ts.html">unknownEnvError.ts</a></td>
|
|
143
|
+
<td data-value="100" class="pic high">
|
|
144
|
+
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
|
|
145
|
+
</td>
|
|
146
|
+
<td data-value="100" class="pct high">100%</td>
|
|
147
|
+
<td data-value="4" class="abs high">4/4</td>
|
|
148
|
+
<td data-value="100" class="pct high">100%</td>
|
|
149
|
+
<td data-value="2" class="abs high">2/2</td>
|
|
150
|
+
<td data-value="100" class="pct high">100%</td>
|
|
151
|
+
<td data-value="1" class="abs high">1/1</td>
|
|
152
|
+
<td data-value="100" class="pct high">100%</td>
|
|
138
153
|
<td data-value="4" class="abs high">4/4</td>
|
|
139
154
|
</tr>
|
|
140
155
|
|
|
@@ -146,7 +161,7 @@
|
|
|
146
161
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
147
162
|
Code coverage generated by
|
|
148
163
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
149
|
-
at 2026-05-
|
|
164
|
+
at 2026-05-13T17:06:38.095Z
|
|
150
165
|
</div>
|
|
151
166
|
<script src="../prettify.js"></script>
|
|
152
167
|
<script>
|
|
@@ -73,14 +73,14 @@
|
|
|
73
73
|
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
74
|
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
75
|
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
-
<a name='L11'></a><a href='#L11'>11</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">8x</span>
|
|
77
77
|
<span class="cline-any cline-neutral"> </span>
|
|
78
|
-
<span class="cline-any cline-yes">
|
|
78
|
+
<span class="cline-any cline-yes">5x</span>
|
|
79
79
|
<span class="cline-any cline-neutral"> </span>
|
|
80
80
|
<span class="cline-any cline-neutral"> </span>
|
|
81
81
|
<span class="cline-any cline-neutral"> </span>
|
|
82
82
|
<span class="cline-any cline-neutral"> </span>
|
|
83
|
-
<span class="cline-any cline-yes">
|
|
83
|
+
<span class="cline-any cline-yes">5x</span>
|
|
84
84
|
<span class="cline-any cline-neutral"> </span>
|
|
85
85
|
<span class="cline-any cline-neutral"> </span>
|
|
86
86
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">export class MissingRequiredParamError extends Error {
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
101
101
|
Code coverage generated by
|
|
102
102
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
103
|
-
at 2026-05-
|
|
103
|
+
at 2026-05-13T17:06:38.095Z
|
|
104
104
|
</div>
|
|
105
105
|
<script src="../prettify.js"></script>
|
|
106
106
|
<script>
|
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">94.87% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>37/39</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
33
|
<span class="strong">100% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>21/21</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">96.55% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>28/29</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -113,8 +113,24 @@
|
|
|
113
113
|
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
114
|
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
115
|
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
-
<a name='L51'></a><a href='#L51'>51</a
|
|
116
|
+
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
+
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
+
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
+
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
+
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
+
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
+
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
+
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
+
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
+
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
+
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
+
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
+
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
+
<a name='L64'></a><a href='#L64'>64</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
117
130
|
<span class="cline-any cline-yes">1x</span>
|
|
131
|
+
<span class="cline-any cline-yes">1x</span>
|
|
132
|
+
<span class="cline-any cline-neutral"> </span>
|
|
133
|
+
<span class="cline-any cline-neutral"> </span>
|
|
118
134
|
<span class="cline-any cline-neutral"> </span>
|
|
119
135
|
<span class="cline-any cline-neutral"> </span>
|
|
120
136
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -124,55 +140,68 @@
|
|
|
124
140
|
<span class="cline-any cline-neutral"> </span>
|
|
125
141
|
<span class="cline-any cline-no"> </span>
|
|
126
142
|
<span class="cline-any cline-neutral"> </span>
|
|
127
|
-
<span class="cline-any cline-yes">
|
|
143
|
+
<span class="cline-any cline-yes">14x</span>
|
|
144
|
+
<span class="cline-any cline-neutral"> </span>
|
|
145
|
+
<span class="cline-any cline-yes">14x</span>
|
|
146
|
+
<span class="cline-any cline-yes">12x</span>
|
|
147
|
+
<span class="cline-any cline-yes">12x</span>
|
|
148
|
+
<span class="cline-any cline-yes">12x</span>
|
|
149
|
+
<span class="cline-any cline-neutral"> </span>
|
|
150
|
+
<span class="cline-any cline-yes">12x</span>
|
|
151
|
+
<span class="cline-any cline-yes">12x</span>
|
|
152
|
+
<span class="cline-any cline-yes">12x</span>
|
|
153
|
+
<span class="cline-any cline-neutral"> </span>
|
|
154
|
+
<span class="cline-any cline-yes">7x</span>
|
|
128
155
|
<span class="cline-any cline-neutral"> </span>
|
|
129
|
-
<span class="cline-any cline-yes">6x</span>
|
|
130
|
-
<span class="cline-any cline-yes">6x</span>
|
|
131
|
-
<span class="cline-any cline-yes">6x</span>
|
|
132
|
-
<span class="cline-any cline-yes">6x</span>
|
|
133
156
|
<span class="cline-any cline-neutral"> </span>
|
|
134
|
-
<span class="cline-any cline-yes">6x</span>
|
|
135
|
-
<span class="cline-any cline-yes">6x</span>
|
|
136
|
-
<span class="cline-any cline-yes">6x</span>
|
|
137
157
|
<span class="cline-any cline-neutral"> </span>
|
|
138
|
-
<span class="cline-any cline-yes">2x</span>
|
|
139
158
|
<span class="cline-any cline-neutral"> </span>
|
|
140
159
|
<span class="cline-any cline-neutral"> </span>
|
|
141
160
|
<span class="cline-any cline-neutral"> </span>
|
|
142
|
-
<span class="cline-any cline-yes">
|
|
161
|
+
<span class="cline-any cline-yes">14x</span>
|
|
162
|
+
<span class="cline-any cline-yes">12x</span>
|
|
163
|
+
<span class="cline-any cline-yes">8x</span>
|
|
164
|
+
<span class="cline-any cline-yes">8x</span>
|
|
165
|
+
<span class="cline-any cline-yes">5x</span>
|
|
166
|
+
<span class="cline-any cline-yes">5x</span>
|
|
167
|
+
<span class="cline-any cline-yes">5x</span>
|
|
168
|
+
<span class="cline-any cline-yes">3x</span>
|
|
143
169
|
<span class="cline-any cline-neutral"> </span>
|
|
144
170
|
<span class="cline-any cline-neutral"> </span>
|
|
145
171
|
<span class="cline-any cline-neutral"> </span>
|
|
146
|
-
<span class="cline-any cline-yes">
|
|
172
|
+
<span class="cline-any cline-yes">12x</span>
|
|
147
173
|
<span class="cline-any cline-neutral"> </span>
|
|
148
174
|
<span class="cline-any cline-neutral"> </span>
|
|
149
175
|
<span class="cline-any cline-neutral"> </span>
|
|
150
|
-
<span class="cline-any cline-yes">
|
|
176
|
+
<span class="cline-any cline-yes">12x</span>
|
|
151
177
|
<span class="cline-any cline-neutral"> </span>
|
|
152
178
|
<span class="cline-any cline-neutral"> </span>
|
|
153
179
|
<span class="cline-any cline-neutral"> </span>
|
|
154
|
-
<span class="cline-any cline-yes">
|
|
180
|
+
<span class="cline-any cline-yes">12x</span>
|
|
155
181
|
<span class="cline-any cline-neutral"> </span>
|
|
156
182
|
<span class="cline-any cline-neutral"> </span>
|
|
157
183
|
<span class="cline-any cline-neutral"> </span>
|
|
158
|
-
<span class="cline-any cline-yes">
|
|
159
|
-
<span class="cline-any cline-yes">
|
|
160
|
-
<span class="cline-any cline-yes">
|
|
161
|
-
<span class="cline-any cline-yes">
|
|
162
|
-
<span class="cline-any cline-yes">
|
|
163
|
-
<span class="cline-any cline-yes">
|
|
184
|
+
<span class="cline-any cline-yes">12x</span>
|
|
185
|
+
<span class="cline-any cline-yes">12x</span>
|
|
186
|
+
<span class="cline-any cline-yes">12x</span>
|
|
187
|
+
<span class="cline-any cline-yes">12x</span>
|
|
188
|
+
<span class="cline-any cline-yes">12x</span>
|
|
189
|
+
<span class="cline-any cline-yes">12x</span>
|
|
164
190
|
<span class="cline-any cline-neutral"> </span>
|
|
165
191
|
<span class="cline-any cline-neutral"> </span>
|
|
166
192
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import type { EnvironmentParams } from '../types/config.js';
|
|
167
193
|
import { MissingRequiredParamError } from './missingRequiredParamError.js';
|
|
194
|
+
import { UnknownEnvError } from './unknownEnvError.js';
|
|
168
195
|
|
|
169
196
|
export interface CliEnvOpts {
|
|
170
197
|
readonly baseUrl?: string;
|
|
198
|
+
readonly env?: string;
|
|
199
|
+
readonly envs?: Readonly<Record<string, string>>;
|
|
171
200
|
readonly instanceId?: string;
|
|
172
201
|
readonly userId?: string;
|
|
173
202
|
}
|
|
174
203
|
|
|
175
|
-
export { <span class="cstat-no" title="statement not covered" >MissingRequiredParamError };</span>
|
|
204
|
+
export { <span class="cstat-no" title="statement not covered" >MissingRequiredParamError, <span class="cstat-no" title="statement not covered" >U</span>nknownEnvError };</span>
|
|
176
205
|
|
|
177
206
|
export class RequiredEnvParamsResolver {
|
|
178
207
|
resolve(cliOpts: CliEnvOpts): EnvironmentParams {
|
|
@@ -188,8 +217,18 @@ export class RequiredEnvParamsResolver {
|
|
|
188
217
|
return params;
|
|
189
218
|
}
|
|
190
219
|
|
|
220
|
+
// Precedence: --base-url > BASE_URL env > --env / ENCW_ENV map lookup.
|
|
221
|
+
// Throws UnknownEnvError when an env name is supplied but not in the map,
|
|
222
|
+
// so a typo fails loudly instead of silently falling through to "missing baseUrl".
|
|
191
223
|
private resolveBaseUrl(cliOpts: CliEnvOpts): string {
|
|
192
|
-
|
|
224
|
+
if (cliOpts.baseUrl) return cliOpts.baseUrl;
|
|
225
|
+
if (process.env.BASE_URL) return process.env.BASE_URL;
|
|
226
|
+
const envName = cliOpts.env || process.env.ENCW_ENV;
|
|
227
|
+
if (!envName) return '';
|
|
228
|
+
const envs = cliOpts.envs ?? {};
|
|
229
|
+
const fromMap = envs[envName];
|
|
230
|
+
if (!fromMap) throw new UnknownEnvError(envName, Object.keys(envs));
|
|
231
|
+
return fromMap;
|
|
193
232
|
}
|
|
194
233
|
|
|
195
234
|
private resolveInstanceId(cliOpts: CliEnvOpts): string {
|
|
@@ -220,7 +259,7 @@ export class RequiredEnvParamsResolver {
|
|
|
220
259
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
221
260
|
Code coverage generated by
|
|
222
261
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
223
|
-
at 2026-05-
|
|
262
|
+
at 2026-05-13T17:06:38.095Z
|
|
224
263
|
</div>
|
|
225
264
|
<script src="../prettify.js"></script>
|
|
226
265
|
<script>
|