@ontrails/commander 1.0.0-beta.42 → 1.0.0-beta.43
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 +10 -0
- package/package.json +3 -3
- package/src/surface.ts +1 -1
- package/src/to-commander.ts +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @ontrails/commander
|
|
2
2
|
|
|
3
|
+
## 1.0.0-beta.43
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`88a6a62`](https://github.com/outfitter-dev/trails/commit/88a6a62a9e9e230ca6d368fa78dc3ece6c816204): Complete the v1 classification-first cutover from projection/project vocabulary
|
|
8
|
+
to derive/derived for contract-owned fact production and render/rendered for
|
|
9
|
+
surface presentation. Public type, helper, rule, relation, and report names move
|
|
10
|
+
without compatibility aliases; ordinary repository/project nouns remain
|
|
11
|
+
explicit preserves or structured review inventory.
|
|
12
|
+
|
|
3
13
|
## 1.0.0-beta.42
|
|
4
14
|
|
|
5
15
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ontrails/commander",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.43",
|
|
4
4
|
"files": [
|
|
5
5
|
"src/**/*.ts",
|
|
6
6
|
"!src/**/__tests__/**",
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"clean": "rm -rf dist *.tsbuildinfo"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@ontrails/cli": "^1.0.0-beta.
|
|
26
|
-
"@ontrails/core": "^1.0.0-beta.
|
|
25
|
+
"@ontrails/cli": "^1.0.0-beta.43",
|
|
26
|
+
"@ontrails/core": "^1.0.0-beta.43",
|
|
27
27
|
"commander": "^14.0.3"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
package/src/surface.ts
CHANGED
|
@@ -38,7 +38,7 @@ export interface CreateProgramOptions extends BaseSurfaceOptions {
|
|
|
38
38
|
/**
|
|
39
39
|
* App-authored overlay envelopes (conventionally the app module's
|
|
40
40
|
* `trailsOverlays` export); the `surfaces` envelope's `cli` bindings
|
|
41
|
-
*
|
|
41
|
+
* render synonym and command-group routes onto the program.
|
|
42
42
|
*/
|
|
43
43
|
readonly overlays?: readonly OverlayEnvelopeLike[] | undefined;
|
|
44
44
|
readonly presets?: CliFlag[][] | undefined;
|
package/src/to-commander.ts
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
import {
|
|
6
6
|
isTrailsError,
|
|
7
|
-
|
|
7
|
+
renderPublicSurfaceError,
|
|
8
8
|
redactErrorContext,
|
|
9
9
|
redactErrorString,
|
|
10
10
|
ValidationError,
|
|
11
11
|
} from '@ontrails/core';
|
|
12
|
-
import type {
|
|
12
|
+
import type { SurfaceErrorRendering } from '@ontrails/core';
|
|
13
13
|
import type { CliCommand, CliFlag } from '@ontrails/cli';
|
|
14
14
|
import {
|
|
15
15
|
applyCliFlagValueAliases,
|
|
@@ -511,7 +511,7 @@ const collectPermitScopeLines = (
|
|
|
511
511
|
/**
|
|
512
512
|
* Collect operator-facing detail lines for an execution error.
|
|
513
513
|
*
|
|
514
|
-
* The public surface
|
|
514
|
+
* The public surface rendering intentionally drops structured context, but
|
|
515
515
|
* the CLI is an operator surface: validation issues and permit scope
|
|
516
516
|
* requirements are what the operator needs to act, so they are re-rendered
|
|
517
517
|
* here (through the shared redactor) for non-internal Trails errors.
|
|
@@ -542,7 +542,7 @@ const collectErrorContext = (
|
|
|
542
542
|
interface CliErrorEnvelope {
|
|
543
543
|
readonly ok: false;
|
|
544
544
|
readonly context?: Record<string, unknown> | undefined;
|
|
545
|
-
readonly error:
|
|
545
|
+
readonly error: SurfaceErrorRendering;
|
|
546
546
|
readonly details?: readonly string[] | undefined;
|
|
547
547
|
}
|
|
548
548
|
|
|
@@ -580,12 +580,12 @@ const handleError = (
|
|
|
580
580
|
userSuppliedFlagKeys: ReadonlySet<string>
|
|
581
581
|
): void => {
|
|
582
582
|
const err = error instanceof Error ? error : new Error(String(error));
|
|
583
|
-
const
|
|
583
|
+
const rendering = renderPublicSurfaceError('cli', err);
|
|
584
584
|
const context = collectErrorContext(err);
|
|
585
585
|
const details = collectErrorDetailLines(err);
|
|
586
586
|
const mode = structuredErrorMode(flags, topoName, userSuppliedFlagKeys);
|
|
587
587
|
if (mode === undefined) {
|
|
588
|
-
process.stderr.write(`Error: ${
|
|
588
|
+
process.stderr.write(`Error: ${rendering.message}\n`);
|
|
589
589
|
for (const line of details) {
|
|
590
590
|
process.stderr.write(` ${line}\n`);
|
|
591
591
|
}
|
|
@@ -593,14 +593,14 @@ const handleError = (
|
|
|
593
593
|
writeStructuredError(
|
|
594
594
|
{
|
|
595
595
|
...(context === undefined ? {} : { context }),
|
|
596
|
-
error:
|
|
596
|
+
error: rendering,
|
|
597
597
|
...(details.length === 0 ? {} : { details }),
|
|
598
598
|
ok: false,
|
|
599
599
|
},
|
|
600
600
|
mode
|
|
601
601
|
);
|
|
602
602
|
}
|
|
603
|
-
process.exit(
|
|
603
|
+
process.exit(rendering.code);
|
|
604
604
|
};
|
|
605
605
|
|
|
606
606
|
const collectDisallowedAncestorOptions = (
|