@syntax-syllogism/flow-delta 0.5.0 → 0.5.1
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/README.md +42 -10
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
# FlowDelta
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
<img width="1638" height="1392" alt="Screencast Demo" src="https://github.com/user-attachments/assets/b3f5f248-485a-4f62-9955-805a1b57186b" />
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@syntax-syllogism/flow-delta)
|
|
6
|
+
[](LICENSE)
|
|
7
|
+
|
|
8
|
+
**Stop reviewing Salesforce Flow changes as raw XML.** FlowDelta parses two
|
|
9
|
+
versions of a `.flow-meta.xml`, diffs them by stable node name, and renders a
|
|
10
|
+
self-contained interactive HTML artifact (plus `diff.json`) that shows added /
|
|
11
|
+
deleted / modified / unchanged nodes and edges with per-property deltas.
|
|
7
12
|
|
|
8
13
|
Inspired by Google's [Flow Lens](https://github.com/google/flow-lens), with a
|
|
9
14
|
focus on CI review workflows for GitLab merge requests and GitHub pull requests.
|
|
@@ -12,21 +17,44 @@ We also opted for our own HTML output over plantuml, graphviz, or mermaid.
|
|
|
12
17
|
- [Sample GitLab project with artifacts](https://gitlab.com/j.p.richter/flow-delta-example/-/merge_requests/)
|
|
13
18
|
- [Sample GitHub project with artifacts](https://github.com/Syntax-Syllogism/flow-delta-example/pulls)
|
|
14
19
|
|
|
20
|
+
## Quick Start
|
|
21
|
+
|
|
22
|
+
No install required:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npx @syntax-syllogism/flow-delta --old before.flow-meta.xml --new after.flow-meta.xml --out ./flow-delta-out
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Open the generated `.html` file in a browser to see the interactive diff
|
|
29
|
+
shown above.
|
|
30
|
+
|
|
31
|
+
Prefer a permanent install?
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
npm install -g @syntax-syllogism/flow-delta
|
|
35
|
+
flow-delta --old before.flow-meta.xml --new after.flow-meta.xml --out ./flow-delta-out
|
|
36
|
+
```
|
|
37
|
+
|
|
15
38
|
## Usage
|
|
16
39
|
|
|
17
|
-
|
|
18
|
-
for full file-mode and git-mode options.
|
|
40
|
+
See [docs/cli.md](docs/cli.md) for full file-mode and git-mode options.
|
|
19
41
|
|
|
20
42
|
```bash
|
|
21
|
-
|
|
43
|
+
# File mode — compare two local files
|
|
44
|
+
npx @syntax-syllogism/flow-delta --old before.flow-meta.xml --new after.flow-meta.xml --out ./flow-delta-out --json
|
|
45
|
+
|
|
46
|
+
# Git mode — compare two refs in a repo
|
|
47
|
+
npx @syntax-syllogism/flow-delta --repo /path/to/sfdx-repo --from main --to feature-branch --path 'force-app/**/*.flow-meta.xml' --out ./flow-delta-out
|
|
22
48
|
```
|
|
23
49
|
|
|
24
50
|
CI reporters read the generated `flow-delta-out/*.diff.json` files and post a
|
|
25
|
-
sticky review comment
|
|
51
|
+
sticky review comment. Install the package first (these binaries don't map
|
|
52
|
+
1:1 to the package name, so plain `npx` won't resolve them):
|
|
26
53
|
|
|
27
54
|
```bash
|
|
28
|
-
|
|
29
|
-
flow-delta-
|
|
55
|
+
npm install @syntax-syllogism/flow-delta
|
|
56
|
+
npx flow-delta-gitlab --in flow-delta-out
|
|
57
|
+
npx flow-delta-github --in flow-delta-out
|
|
30
58
|
```
|
|
31
59
|
|
|
32
60
|
The GitHub reporter can also consume `--artifact-urls <manifest.json>` for
|
|
@@ -36,10 +64,14 @@ recipes, private-repo artifact viewing, and smoke harnesses.
|
|
|
36
64
|
|
|
37
65
|
## Development
|
|
38
66
|
|
|
67
|
+
Working from a clone of this repo? Runs as a TypeScript CLI via `tsx`, no
|
|
68
|
+
build step:
|
|
69
|
+
|
|
39
70
|
```bash
|
|
40
71
|
npm install
|
|
41
72
|
npm test # parser + semantic diff / render / CLI suites
|
|
42
73
|
npm run render:fixtures # render every diff fixture to flow-delta-out/fixtures/
|
|
74
|
+
npx tsx src/cli.ts --old before.flow-meta.xml --new after.flow-meta.xml --out ./flow-delta-out --json
|
|
43
75
|
```
|
|
44
76
|
|
|
45
77
|
Architecture, testing, and the vendored-parser policy are documented in
|