@flow-as-code/cli 0.1.0
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/LICENSE +202 -0
- package/README.md +446 -0
- package/dist/aws.d.ts +28 -0
- package/dist/aws.d.ts.map +1 -0
- package/dist/aws.js +104 -0
- package/dist/aws.js.map +1 -0
- package/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +132 -0
- package/dist/bin.js.map +1 -0
- package/dist/bridge/exportFiles.d.ts +16 -0
- package/dist/bridge/exportFiles.d.ts.map +1 -0
- package/dist/bridge/exportFiles.js +95 -0
- package/dist/bridge/exportFiles.js.map +1 -0
- package/dist/bridge/pair.d.ts +103 -0
- package/dist/bridge/pair.d.ts.map +1 -0
- package/dist/bridge/pair.js +219 -0
- package/dist/bridge/pair.js.map +1 -0
- package/dist/bridge/protocol.d.ts +187 -0
- package/dist/bridge/protocol.d.ts.map +1 -0
- package/dist/bridge/protocol.js +132 -0
- package/dist/bridge/protocol.js.map +1 -0
- package/dist/bridge/server.d.ts +95 -0
- package/dist/bridge/server.d.ts.map +1 -0
- package/dist/bridge/server.js +669 -0
- package/dist/bridge/server.js.map +1 -0
- package/dist/cdk-scaffold.d.ts +16 -0
- package/dist/cdk-scaffold.d.ts.map +1 -0
- package/dist/cdk-scaffold.js +28 -0
- package/dist/cdk-scaffold.js.map +1 -0
- package/dist/codegen.d.ts +5 -0
- package/dist/codegen.d.ts.map +1 -0
- package/dist/codegen.js +27 -0
- package/dist/codegen.js.map +1 -0
- package/dist/diff.d.ts +33 -0
- package/dist/diff.d.ts.map +1 -0
- package/dist/diff.js +225 -0
- package/dist/diff.js.map +1 -0
- package/dist/docs.d.ts +46 -0
- package/dist/docs.d.ts.map +1 -0
- package/dist/docs.js +223 -0
- package/dist/docs.js.map +1 -0
- package/dist/emit.d.ts +8 -0
- package/dist/emit.d.ts.map +1 -0
- package/dist/emit.js +55 -0
- package/dist/emit.js.map +1 -0
- package/dist/errors.d.ts +12 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +25 -0
- package/dist/errors.js.map +1 -0
- package/dist/export.d.ts +27 -0
- package/dist/export.d.ts.map +1 -0
- package/dist/export.js +126 -0
- package/dist/export.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/lint.d.ts +6 -0
- package/dist/lint.d.ts.map +1 -0
- package/dist/lint.js +31 -0
- package/dist/lint.js.map +1 -0
- package/dist/render.d.ts +6 -0
- package/dist/render.d.ts.map +1 -0
- package/dist/render.js +49 -0
- package/dist/render.js.map +1 -0
- package/dist/run.d.ts +13 -0
- package/dist/run.d.ts.map +1 -0
- package/dist/run.js +38 -0
- package/dist/run.js.map +1 -0
- package/dist/simulate.d.ts +35 -0
- package/dist/simulate.d.ts.map +1 -0
- package/dist/simulate.js +194 -0
- package/dist/simulate.js.map +1 -0
- package/dist/studio.d.ts +23 -0
- package/dist/studio.d.ts.map +1 -0
- package/dist/studio.js +120 -0
- package/dist/studio.js.map +1 -0
- package/dist/synth-resolve-hook.d.ts +19 -0
- package/dist/synth-resolve-hook.d.ts.map +1 -0
- package/dist/synth-resolve-hook.js +127 -0
- package/dist/synth-resolve-hook.js.map +1 -0
- package/dist/synth-runner.d.ts +12 -0
- package/dist/synth-runner.d.ts.map +1 -0
- package/dist/synth-runner.js +145 -0
- package/dist/synth-runner.js.map +1 -0
- package/dist/synth.d.ts +55 -0
- package/dist/synth.d.ts.map +1 -0
- package/dist/synth.js +327 -0
- package/dist/synth.js.map +1 -0
- package/dist/watch.d.ts +66 -0
- package/dist/watch.d.ts.map +1 -0
- package/dist/watch.js +293 -0
- package/dist/watch.js.map +1 -0
- package/package.json +85 -0
- package/schema/flowdoc-0.1.schema.json +669 -0
- package/schema/scenario-0.1.schema.json +318 -0
- package/src/aws.ts +149 -0
- package/src/bin.ts +179 -0
- package/src/bridge/exportFiles.ts +116 -0
- package/src/bridge/pair.ts +312 -0
- package/src/bridge/protocol.ts +289 -0
- package/src/bridge/server.ts +827 -0
- package/src/cdk-scaffold.ts +41 -0
- package/src/codegen.ts +36 -0
- package/src/diff.ts +279 -0
- package/src/docs.ts +249 -0
- package/src/emit.ts +69 -0
- package/src/errors.ts +27 -0
- package/src/export.ts +167 -0
- package/src/index.ts +27 -0
- package/src/lint.ts +42 -0
- package/src/render.ts +58 -0
- package/src/run.ts +42 -0
- package/src/simulate.ts +244 -0
- package/src/studio.ts +143 -0
- package/src/synth-resolve-hook.ts +152 -0
- package/src/synth-runner.ts +157 -0
- package/src/synth.ts +380 -0
- package/src/watch.ts +388 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/bridge/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type CdkScaffoldInput } from "@flow-as-code/cdk/scaffold";
|
|
2
|
+
import type { FlowDoc } from "@flow-as-code/core";
|
|
3
|
+
export { CDK_SCAFFOLD_FILE, cdkScaffold, referencedNames } from "@flow-as-code/cdk/scaffold";
|
|
4
|
+
export type { CdkScaffoldInput };
|
|
5
|
+
/** `./flows`, `../flows`, or `.`: POSIX, always relative, always prefixed. */
|
|
6
|
+
export declare function sourceExpression(outDir: string, docsDir: string): string;
|
|
7
|
+
export interface CdkScaffoldForDirs {
|
|
8
|
+
docs: readonly FlowDoc[];
|
|
9
|
+
/** Directory the scaffold is written to. */
|
|
10
|
+
outDir: string;
|
|
11
|
+
/** Directory holding the `*.flowdoc.json` files FlowSet will read. */
|
|
12
|
+
docsDir: string;
|
|
13
|
+
}
|
|
14
|
+
/** The scaffold for a pair of real directories. */
|
|
15
|
+
export declare function cdkScaffoldForDirs({ docs, outDir, docsDir }: CdkScaffoldForDirs): string;
|
|
16
|
+
//# sourceMappingURL=cdk-scaffold.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cdk-scaffold.d.ts","sourceRoot":"","sources":["../src/cdk-scaffold.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,gBAAgB,EAAe,MAAM,4BAA4B,CAAC;AAChF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7F,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAIxE;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,SAAS,OAAO,EAAE,CAAC;IACzB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,mDAAmD;AACnD,wBAAgB,kBAAkB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,GAAG,MAAM,CAExF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 The flow-as-code Authors
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
// The `emit --target cdk` scaffold, from the CLI's side.
|
|
6
|
+
//
|
|
7
|
+
// The generator itself lives in @flow-as-code/cdk/scaffold, because the
|
|
8
|
+
// studio's CDK export button has to produce the same bytes and the studio
|
|
9
|
+
// cannot import this package (@flow-as-code/cli depends on
|
|
10
|
+
// @flow-as-code/studio for its assets, so the reverse import would be a
|
|
11
|
+
// cycle). What is left here is the one thing that needs a filesystem view of
|
|
12
|
+
// the world: turning an output directory and a docs directory into the
|
|
13
|
+
// relative FLOW_DOCS expression.
|
|
14
|
+
import { relative, resolve, sep } from "node:path";
|
|
15
|
+
import { cdkScaffold } from "@flow-as-code/cdk/scaffold";
|
|
16
|
+
export { CDK_SCAFFOLD_FILE, cdkScaffold, referencedNames } from "@flow-as-code/cdk/scaffold";
|
|
17
|
+
/** `./flows`, `../flows`, or `.`: POSIX, always relative, always prefixed. */
|
|
18
|
+
export function sourceExpression(outDir, docsDir) {
|
|
19
|
+
const rel = relative(resolve(outDir), resolve(docsDir)).split(sep).join("/");
|
|
20
|
+
if (rel === "")
|
|
21
|
+
return ".";
|
|
22
|
+
return rel.startsWith(".") ? rel : `./${rel}`;
|
|
23
|
+
}
|
|
24
|
+
/** The scaffold for a pair of real directories. */
|
|
25
|
+
export function cdkScaffoldForDirs({ docs, outDir, docsDir }) {
|
|
26
|
+
return cdkScaffold({ docs, source: sourceExpression(outDir, docsDir) });
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=cdk-scaffold.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cdk-scaffold.js","sourceRoot":"","sources":["../src/cdk-scaffold.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,yDAAyD;AACzD,EAAE;AACF,wEAAwE;AACxE,0EAA0E;AAC1E,2DAA2D;AAC3D,wEAAwE;AACxE,6EAA6E;AAC7E,uEAAuE;AACvE,iCAAiC;AAEjC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEnD,OAAO,EAAyB,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGhF,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG7F,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,OAAe;IAC9D,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7E,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,GAAG,CAAC;IAC3B,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;AAChD,CAAC;AAUD,mDAAmD;AACnD,MAAM,UAAU,kBAAkB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAsB;IAC9E,OAAO,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAUxE"}
|
package/dist/codegen.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 The flow-as-code Authors
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
// `flow-cli codegen <doc.flowdoc.json>`: FlowDoc in, typed builder TypeScript
|
|
6
|
+
// out. The inverse of `flow-cli synth`, and named to match: synth writes
|
|
7
|
+
// `<flow.name>.flowdoc.json`, so codegen writes `<doc.name>.flow.ts` next to
|
|
8
|
+
// its input unless `--out` says otherwise.
|
|
9
|
+
//
|
|
10
|
+
// When the output file already exists its current text is passed as
|
|
11
|
+
// `options.previous`, which is how `@keep` comments survive regeneration
|
|
12
|
+
// (packages/core/src/codegen.ts). Overwriting without reading first would
|
|
13
|
+
// silently delete the one thing in a generated file a human is invited to own.
|
|
14
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
15
|
+
import { dirname, join, resolve } from "node:path";
|
|
16
|
+
import { codegen } from "@flow-as-code/core";
|
|
17
|
+
import { loadOneDoc } from "./docs.js";
|
|
18
|
+
export function runCodegen(file, options) {
|
|
19
|
+
const { path, doc } = loadOneDoc(file, "codegen");
|
|
20
|
+
const target = resolve(options.out ?? join(dirname(path), `${doc.name}.flow.ts`));
|
|
21
|
+
const previous = existsSync(target) ? readFileSync(target, "utf8") : undefined;
|
|
22
|
+
const source = codegen(doc, previous === undefined ? {} : { previous });
|
|
23
|
+
mkdirSync(dirname(target), { recursive: true });
|
|
24
|
+
writeFileSync(target, source, "utf8");
|
|
25
|
+
return target;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=codegen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,8EAA8E;AAC9E,yEAAyE;AACzE,6EAA6E;AAC7E,2CAA2C;AAC3C,EAAE;AACF,oEAAoE;AACpE,yEAAyE;AACzE,0EAA0E;AAC1E,+EAA+E;AAE/E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAMvC,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,OAAuB;IAC9D,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;IAElF,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAExE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/diff.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { FlowDoc } from "@flow-as-code/core";
|
|
2
|
+
import { type LiveClients } from "./aws.js";
|
|
3
|
+
export interface DiffOptions {
|
|
4
|
+
instance: string;
|
|
5
|
+
}
|
|
6
|
+
export type DiffStatus = "unchanged" | "changed" | "missing-live" | "error";
|
|
7
|
+
export interface DiffEntry {
|
|
8
|
+
/** Path of the local document, relative to the working directory. */
|
|
9
|
+
path: string;
|
|
10
|
+
name: string;
|
|
11
|
+
kind: FlowDoc["kind"];
|
|
12
|
+
status: DiffStatus;
|
|
13
|
+
/** Unified diff for `changed`, the exporter's reason for `error`. */
|
|
14
|
+
detail?: string;
|
|
15
|
+
/**
|
|
16
|
+
* True when the live twin has never been published and its saved content
|
|
17
|
+
* was compared instead (read through the `$SAVED` alias).
|
|
18
|
+
*/
|
|
19
|
+
saved?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/** The marker on a status line and a diff label for a `$SAVED` twin. */
|
|
22
|
+
export declare const SAVED_MARKER = "$SAVED";
|
|
23
|
+
/** Exit code for a failure of the comparison itself. */
|
|
24
|
+
export declare const EXIT_DIFF_ERROR = 2;
|
|
25
|
+
/** Lines of the canonical text with layout and meta removed. */
|
|
26
|
+
export declare function comparableLines(doc: FlowDoc): string[];
|
|
27
|
+
/**
|
|
28
|
+
* Unified diff of two line arrays, with the usual three lines of context.
|
|
29
|
+
* Empty when the sides are identical.
|
|
30
|
+
*/
|
|
31
|
+
export declare function unifiedDiff(left: string[], right: string[], leftLabel: string, rightLabel: string): string;
|
|
32
|
+
export declare function runDiff(dir: string, options: DiffOptions, clients?: LiveClients): Promise<DiffEntry[]>;
|
|
33
|
+
//# sourceMappingURL=diff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAA+B,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG/E,OAAO,EAAE,KAAK,WAAW,EAAiC,MAAM,UAAU,CAAC;AAI3E,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,cAAc,GAAG,OAAO,CAAC;AAE5E,MAAM,WAAW,SAAS;IACxB,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;IACnB,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wEAAwE;AACxE,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC,wDAAwD;AACxD,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC,gEAAgE;AAChE,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,CAKtD;AA8ED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,MAAM,CAwCR;AAeD,wBAAsB,OAAO,CAC3B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,EACpB,OAAO,GAAE,WAAyB,GACjC,OAAO,CAAC,SAAS,EAAE,CAAC,CA8DtB"}
|
package/dist/diff.js
ADDED
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 The flow-as-code Authors
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
// `flow-cli diff <dir> --instance <arn>`.
|
|
6
|
+
//
|
|
7
|
+
// For every FlowDoc in <dir>, finds the live flow or module of the same kind
|
|
8
|
+
// and name, exports it to FlowDoc through the same exporter `export` uses (so
|
|
9
|
+
// the live side carries tokens, not ARNs, and the same slug names), and
|
|
10
|
+
// compares the two canonical serializations with `layout` and `meta` removed.
|
|
11
|
+
// Positions and provenance are not differences anyone deploys.
|
|
12
|
+
//
|
|
13
|
+
// Output is one line per local document, in path order, and a unified diff of
|
|
14
|
+
// the canonical JSON under each changed one, so the same two states always
|
|
15
|
+
// print the same bytes. Live flows with no local document are not reported:
|
|
16
|
+
// the question is whether what is checked in matches what is deployed.
|
|
17
|
+
//
|
|
18
|
+
// A live flow that has never been published has no published content to
|
|
19
|
+
// compare; the exporter reads its saved content through the `$SAVED` alias
|
|
20
|
+
// (packages/core/src/export.ts, savedFallback), and this command says
|
|
21
|
+
// so on the status line, `unchanged ($SAVED)`, and in the diff label,
|
|
22
|
+
// `live/<name>:$SAVED`. "Unchanged" against a draft is not "deployed".
|
|
23
|
+
//
|
|
24
|
+
// Exit codes are three-way so a script can tell "differs" from "could not
|
|
25
|
+
// tell": 0 when nothing differs, 1 when any document is changed or has no live
|
|
26
|
+
// counterpart, 2 when the comparison itself failed (bad arguments, no SDK,
|
|
27
|
+
// the instance unreadable, or a matched live flow that cannot be exported).
|
|
28
|
+
import { relative } from "node:path";
|
|
29
|
+
import { exportInstance, normalizeArn, serialize } from "@flow-as-code/core";
|
|
30
|
+
import { parseInstanceArn, SDK_CLIENTS } from "./aws.js";
|
|
31
|
+
import { loadDocs } from "./docs.js";
|
|
32
|
+
import { CliError, messageOf } from "./errors.js";
|
|
33
|
+
/** The marker on a status line and a diff label for a `$SAVED` twin. */
|
|
34
|
+
export const SAVED_MARKER = "$SAVED";
|
|
35
|
+
/** Exit code for a failure of the comparison itself. */
|
|
36
|
+
export const EXIT_DIFF_ERROR = 2;
|
|
37
|
+
/** Lines of the canonical text with layout and meta removed. */
|
|
38
|
+
export function comparableLines(doc) {
|
|
39
|
+
const { layout: _layout, meta: _meta, ...rest } = doc;
|
|
40
|
+
const lines = serialize(rest).split("\n");
|
|
41
|
+
if (lines.at(-1) === "")
|
|
42
|
+
lines.pop();
|
|
43
|
+
return lines;
|
|
44
|
+
}
|
|
45
|
+
// --- Unified diff ------------------------------------------------------------
|
|
46
|
+
// A plain longest-common-subsequence over lines, common prefix and suffix
|
|
47
|
+
// trimmed first. FlowDocs are small, but the table is quadratic, so a middle
|
|
48
|
+
// larger than MAX_CELLS is reported as wholly replaced rather than aligned.
|
|
49
|
+
/** Cap on the LCS table. 1e6 cells is 4 MB in a Uint32Array. */
|
|
50
|
+
const MAX_CELLS = 1_000_000;
|
|
51
|
+
/** Context lines on each side of a change. */
|
|
52
|
+
const CONTEXT = 3;
|
|
53
|
+
function align(left, right) {
|
|
54
|
+
const edits = [];
|
|
55
|
+
let start = 0;
|
|
56
|
+
while (start < left.length && start < right.length && left[start] === right[start]) {
|
|
57
|
+
edits.push({ kind: " ", text: left[start] });
|
|
58
|
+
start++;
|
|
59
|
+
}
|
|
60
|
+
let endL = left.length;
|
|
61
|
+
let endR = right.length;
|
|
62
|
+
const suffix = [];
|
|
63
|
+
while (endL > start && endR > start && left[endL - 1] === right[endR - 1]) {
|
|
64
|
+
endL--;
|
|
65
|
+
endR--;
|
|
66
|
+
suffix.unshift({ kind: " ", text: left[endL] });
|
|
67
|
+
}
|
|
68
|
+
const a = left.slice(start, endL);
|
|
69
|
+
const b = right.slice(start, endR);
|
|
70
|
+
if (a.length === 0 || b.length === 0 || a.length * b.length > MAX_CELLS) {
|
|
71
|
+
for (const text of a)
|
|
72
|
+
edits.push({ kind: "-", text });
|
|
73
|
+
for (const text of b)
|
|
74
|
+
edits.push({ kind: "+", text });
|
|
75
|
+
return [...edits, ...suffix];
|
|
76
|
+
}
|
|
77
|
+
const width = b.length + 1;
|
|
78
|
+
const table = new Uint32Array((a.length + 1) * width);
|
|
79
|
+
for (let i = a.length - 1; i >= 0; i--) {
|
|
80
|
+
for (let j = b.length - 1; j >= 0; j--) {
|
|
81
|
+
table[i * width + j] =
|
|
82
|
+
a[i] === b[j]
|
|
83
|
+
? table[(i + 1) * width + j + 1] + 1
|
|
84
|
+
: Math.max(table[(i + 1) * width + j], table[i * width + j + 1]);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
let i = 0;
|
|
88
|
+
let j = 0;
|
|
89
|
+
while (i < a.length && j < b.length) {
|
|
90
|
+
if (a[i] === b[j]) {
|
|
91
|
+
edits.push({ kind: " ", text: a[i] });
|
|
92
|
+
i++;
|
|
93
|
+
j++;
|
|
94
|
+
}
|
|
95
|
+
else if (table[(i + 1) * width + j] >= table[i * width + j + 1]) {
|
|
96
|
+
edits.push({ kind: "-", text: a[i] });
|
|
97
|
+
i++;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
edits.push({ kind: "+", text: b[j] });
|
|
101
|
+
j++;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
while (i < a.length)
|
|
105
|
+
edits.push({ kind: "-", text: a[i++] });
|
|
106
|
+
while (j < b.length)
|
|
107
|
+
edits.push({ kind: "+", text: b[j++] });
|
|
108
|
+
return [...edits, ...suffix];
|
|
109
|
+
}
|
|
110
|
+
/** `start,count` as unified diff writes it: no count when 1, previous line when 0. */
|
|
111
|
+
function range(start, count) {
|
|
112
|
+
const shown = count === 0 ? start - 1 : start;
|
|
113
|
+
return count === 1 ? String(shown) : `${String(shown)},${String(count)}`;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Unified diff of two line arrays, with the usual three lines of context.
|
|
117
|
+
* Empty when the sides are identical.
|
|
118
|
+
*/
|
|
119
|
+
export function unifiedDiff(left, right, leftLabel, rightLabel) {
|
|
120
|
+
const edits = align(left, right);
|
|
121
|
+
if (edits.every((edit) => edit.kind === " "))
|
|
122
|
+
return "";
|
|
123
|
+
const out = [`--- ${leftLabel}`, `+++ ${rightLabel}`];
|
|
124
|
+
// Line numbers of the edit at each index, for hunk headers.
|
|
125
|
+
let leftNo = 1;
|
|
126
|
+
let rightNo = 1;
|
|
127
|
+
const positions = edits.map((edit) => {
|
|
128
|
+
const at = { left: leftNo, right: rightNo };
|
|
129
|
+
if (edit.kind !== "+")
|
|
130
|
+
leftNo++;
|
|
131
|
+
if (edit.kind !== "-")
|
|
132
|
+
rightNo++;
|
|
133
|
+
return at;
|
|
134
|
+
});
|
|
135
|
+
let index = 0;
|
|
136
|
+
while (index < edits.length) {
|
|
137
|
+
if (edits[index].kind === " ") {
|
|
138
|
+
index++;
|
|
139
|
+
continue;
|
|
140
|
+
}
|
|
141
|
+
const hunkStart = Math.max(0, index - CONTEXT);
|
|
142
|
+
let lastChange = index;
|
|
143
|
+
let cursor = index + 1;
|
|
144
|
+
// Extend while the next change is within two contexts of the last one.
|
|
145
|
+
while (cursor < edits.length && cursor - lastChange <= 2 * CONTEXT) {
|
|
146
|
+
if (edits[cursor].kind !== " ")
|
|
147
|
+
lastChange = cursor;
|
|
148
|
+
cursor++;
|
|
149
|
+
}
|
|
150
|
+
const hunkEnd = Math.min(edits.length, lastChange + CONTEXT + 1);
|
|
151
|
+
const slice = edits.slice(hunkStart, hunkEnd);
|
|
152
|
+
const leftCount = slice.filter((edit) => edit.kind !== "+").length;
|
|
153
|
+
const rightCount = slice.filter((edit) => edit.kind !== "-").length;
|
|
154
|
+
const at = positions[hunkStart];
|
|
155
|
+
out.push(`@@ -${range(at.left, leftCount)} +${range(at.right, rightCount)} @@`);
|
|
156
|
+
for (const edit of slice)
|
|
157
|
+
out.push(`${edit.kind}${edit.text}`);
|
|
158
|
+
index = hunkEnd;
|
|
159
|
+
}
|
|
160
|
+
return out.join("\n") + "\n";
|
|
161
|
+
}
|
|
162
|
+
// --- The command -------------------------------------------------------------
|
|
163
|
+
/** Runs `work`, turning any failure into the operational exit code. */
|
|
164
|
+
async function operational(work) {
|
|
165
|
+
try {
|
|
166
|
+
return await work();
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
throw new CliError(messageOf(error), EXIT_DIFF_ERROR, { cause: error });
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
const keyOf = (kind, name) => `${kind}/${name}`;
|
|
173
|
+
export async function runDiff(dir, options, clients = SDK_CLIENTS) {
|
|
174
|
+
const target = parseInstanceArn(options.instance, EXIT_DIFF_ERROR);
|
|
175
|
+
const docs = await operational(() => loadDocs(dir));
|
|
176
|
+
const client = await operational(() => clients.inventory(target));
|
|
177
|
+
const result = await operational(() => exportInstance(client, { onError: "collect" }));
|
|
178
|
+
const live = new Map();
|
|
179
|
+
for (const flow of result.flows)
|
|
180
|
+
live.set(keyOf(flow.doc.kind, flow.doc.name), flow);
|
|
181
|
+
// A failed export still has a reverse-map entry, which says what it would
|
|
182
|
+
// have been called; that is how a local document learns its live twin is
|
|
183
|
+
// unreadable rather than absent.
|
|
184
|
+
const failed = new Map();
|
|
185
|
+
for (const failure of result.failures) {
|
|
186
|
+
const entry = result.reverseMap.byArn.get(normalizeArn(failure.arn));
|
|
187
|
+
if (entry !== undefined)
|
|
188
|
+
failed.set(keyOf(entry.type, entry.name), failure);
|
|
189
|
+
}
|
|
190
|
+
const entries = docs.map(({ path, doc }) => {
|
|
191
|
+
const rel = relative(process.cwd(), path);
|
|
192
|
+
const key = keyOf(doc.kind, doc.name);
|
|
193
|
+
const base = { path: rel, name: doc.name, kind: doc.kind };
|
|
194
|
+
const twin = live.get(key);
|
|
195
|
+
if (twin !== undefined) {
|
|
196
|
+
const saved = twin.saved === true;
|
|
197
|
+
const diff = unifiedDiff(comparableLines(doc), comparableLines(twin.doc), `local/${rel}`, saved ? `live/${doc.name}:${SAVED_MARKER}` : `live/${doc.name}`);
|
|
198
|
+
const matched = diff === ""
|
|
199
|
+
? { status: "unchanged" }
|
|
200
|
+
: { status: "changed", detail: diff };
|
|
201
|
+
return { ...base, ...matched, ...(saved ? { saved } : {}) };
|
|
202
|
+
}
|
|
203
|
+
const failure = failed.get(key);
|
|
204
|
+
if (failure !== undefined)
|
|
205
|
+
return { ...base, status: "error", detail: failure.reason };
|
|
206
|
+
return { ...base, status: "missing-live" };
|
|
207
|
+
});
|
|
208
|
+
for (const entry of entries) {
|
|
209
|
+
const marker = entry.saved === true ? ` (${SAVED_MARKER})` : "";
|
|
210
|
+
const suffix = entry.status === "error" ? `: ${entry.detail ?? ""}` : "";
|
|
211
|
+
console.log(`${entry.path}: ${entry.status}${marker}${suffix}`);
|
|
212
|
+
if (entry.status === "changed")
|
|
213
|
+
process.stdout.write(entry.detail ?? "");
|
|
214
|
+
}
|
|
215
|
+
const errors = entries.filter((entry) => entry.status === "error").length;
|
|
216
|
+
if (errors > 0) {
|
|
217
|
+
throw new CliError(`${String(errors)} document(s) could not be compared with ${target.arn}`, EXIT_DIFF_ERROR);
|
|
218
|
+
}
|
|
219
|
+
const differing = entries.filter((entry) => entry.status !== "unchanged").length;
|
|
220
|
+
if (differing > 0) {
|
|
221
|
+
throw new CliError(`${String(differing)} of ${String(entries.length)} document(s) differ from ${target.arn}`);
|
|
222
|
+
}
|
|
223
|
+
return entries;
|
|
224
|
+
}
|
|
225
|
+
//# sourceMappingURL=diff.js.map
|
package/dist/diff.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"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"}
|
package/dist/docs.d.ts
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { FlowDoc } from "@flow-as-code/core";
|
|
2
|
+
/** A directory argument loads every file with this suffix, sorted by name. */
|
|
3
|
+
export declare const FLOWDOC_SUFFIX = ".flowdoc.json";
|
|
4
|
+
/** Absolute path of the packaged FlowDoc schema (`../schema` from src or dist). */
|
|
5
|
+
export declare const SCHEMA_PATH: string;
|
|
6
|
+
export interface LoadedDoc {
|
|
7
|
+
/** Absolute path the document was read from. */
|
|
8
|
+
path: string;
|
|
9
|
+
doc: FlowDoc;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Problems with a value that claims to be a FlowDoc, empty when it is one. The
|
|
13
|
+
* studio bridge validates documents arriving over HTTP with exactly the
|
|
14
|
+
* validator every command uses on documents read from disk.
|
|
15
|
+
*
|
|
16
|
+
* A literal ARN is reported once per offending field, by rule id, rather than
|
|
17
|
+
* as the several schema pattern errors one ARN produces: the token pattern
|
|
18
|
+
* fails, the alternative `$.` pattern fails, their `oneOf` fails, and the
|
|
19
|
+
* enclosing `if/then` fails, none of which say "literal ARN". The schema stays
|
|
20
|
+
* the backstop, and every schema error the ARN did not cause is still shown.
|
|
21
|
+
*
|
|
22
|
+
* The ARN scan runs whether or not the schema is satisfied. Only ref-shaped
|
|
23
|
+
* fields carry a `${cdref:...}` pattern, so an ARN pasted into free text
|
|
24
|
+
* (`Parameters.Text`, a prompt, a label) is schema-valid; `no-literal-arn` is
|
|
25
|
+
* a hard rule and the bridge write path has no other lint step, so scanning
|
|
26
|
+
* only after a schema failure would let exactly those documents onto disk.
|
|
27
|
+
*/
|
|
28
|
+
export declare function flowDocProblems(value: unknown): string[];
|
|
29
|
+
/**
|
|
30
|
+
* Absolute paths of the documents a `<dir-or-file>` argument names. A directory
|
|
31
|
+
* contributes every `*.flowdoc.json` in it, sorted, and is not walked
|
|
32
|
+
* recursively; a file contributes itself whatever its extension.
|
|
33
|
+
*/
|
|
34
|
+
export declare function resolveDocPaths(target: string): string[];
|
|
35
|
+
/** Reads and schema-validates every document a `<dir-or-file>` argument names. */
|
|
36
|
+
export declare function loadDocs(target: string): LoadedDoc[];
|
|
37
|
+
/** Loads the one document a single-file argument names, refusing a directory. */
|
|
38
|
+
export declare function loadOneDoc(target: string, command: string): LoadedDoc;
|
|
39
|
+
/** Where a command writes when `--out` is absent: the directory of its input. */
|
|
40
|
+
export declare function defaultOutDir(target: string): string;
|
|
41
|
+
/**
|
|
42
|
+
* Reads a JSON file that must hold a flat string to string object: the resource
|
|
43
|
+
* map for `render` and the address map for `emit --target tf`.
|
|
44
|
+
*/
|
|
45
|
+
export declare function readStringMap(path: string, what: string): Record<string, string>;
|
|
46
|
+
//# sourceMappingURL=docs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../src/docs.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAOlD,8EAA8E;AAC9E,eAAO,MAAM,cAAc,kBAAkB,CAAC;AAK9C,mFAAmF;AACnF,eAAO,MAAM,WAAW,QAEvB,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;CACd;AAyCD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAexD;AAOD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBxD;AAED,kFAAkF;AAClF,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,CAwCpD;AAED,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAcrE;AAED,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAOpD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA2BhF"}
|