@syntax-syllogism/flow-delta 0.6.0 → 0.6.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 +19 -6
- package/examples/github-actions.yml +21 -3
- package/examples/gitlab-ci.yml +10 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -14,10 +14,13 @@ Inspired by Google's [Flow Lens](https://github.com/google/flow-lens), with a
|
|
|
14
14
|
focus on CI review workflows for GitLab merge requests and GitHub pull requests.
|
|
15
15
|
We also opted for our own HTML output over plantuml, graphviz, or mermaid.
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
Raw XML isn't just a Flow problem. The package also ships
|
|
18
|
+
[FlexiPageDelta](docs/flexipage.md), a sibling tool that does the same for
|
|
19
|
+
`.flexipage-meta.xml` — semantic diffs of regions, components, and facets,
|
|
20
|
+
rendered as an interactive outline with an optional template-aware wireframe
|
|
21
|
+
canvas so you can see *where* on the page layout changed, not just what.
|
|
22
|
+
`flexipage-delta`, `flexipage-delta-gitlab`, and `flexipage-delta-github`
|
|
23
|
+
ship alongside the Flow binaries.
|
|
21
24
|
|
|
22
25
|
- [Sample GitLab project with artifacts](https://gitlab.com/j.p.richter/flow-delta-example/-/merge_requests/)
|
|
23
26
|
- [Sample GitHub project with artifacts](https://github.com/Syntax-Syllogism/flow-delta-example/pulls)
|
|
@@ -40,12 +43,19 @@ npm install -g @syntax-syllogism/flow-delta
|
|
|
40
43
|
flow-delta --old before.flow-meta.xml --new after.flow-meta.xml --out ./flow-delta-out
|
|
41
44
|
```
|
|
42
45
|
|
|
46
|
+
Working with Lightning pages instead? [FlexiPageDelta](docs/flexipage.md)
|
|
47
|
+
is available too:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
npx flexipage-delta --old before.flexipage-meta.xml --new after.flexipage-meta.xml --out ./flexipage-delta-out
|
|
51
|
+
```
|
|
52
|
+
|
|
43
53
|
## Usage
|
|
44
54
|
|
|
45
55
|
See [docs/cli.md](docs/cli.md) for full file-mode and git-mode options.
|
|
46
56
|
|
|
47
|
-
For FlexiPage metadata,
|
|
48
|
-
|
|
57
|
+
For FlexiPage metadata, see [docs/flexipage.md](docs/flexipage.md) for the
|
|
58
|
+
full CLI, outline/wireframe artifact, and CI reporting details:
|
|
49
59
|
|
|
50
60
|
```bash
|
|
51
61
|
npx flexipage-delta --old before.flexipage-meta.xml --new after.flexipage-meta.xml --out ./flexipage-delta-out --json
|
|
@@ -69,6 +79,9 @@ npx flow-delta-gitlab --in flow-delta-out
|
|
|
69
79
|
npx flow-delta-github --in flow-delta-out
|
|
70
80
|
```
|
|
71
81
|
|
|
82
|
+
FlexiPageDelta has the same reporters — swap in `flexipage-delta-gitlab` /
|
|
83
|
+
`flexipage-delta-github` and point `--in` at `flexipage-delta-out`.
|
|
84
|
+
|
|
72
85
|
The GitHub reporter can also consume `--artifact-urls <manifest.json>` for
|
|
73
86
|
user-owned live-render links, such as R2 presigned URLs or Cloudflare
|
|
74
87
|
Worker-backed URLs. See [docs/ci.md](docs/ci.md) for GitLab/GitHub workflow
|
|
@@ -29,6 +29,18 @@ jobs:
|
|
|
29
29
|
with:
|
|
30
30
|
name: flow-delta-out
|
|
31
31
|
path: flow-delta-out
|
|
32
|
+
- run: |
|
|
33
|
+
./node_modules/.bin/flexipage-delta \
|
|
34
|
+
--repo . \
|
|
35
|
+
--from "${{ github.event.pull_request.base.sha }}" \
|
|
36
|
+
--to "${{ github.sha }}" \
|
|
37
|
+
--path 'force-app/**/*.flexipage-meta.xml' \
|
|
38
|
+
--changed-only \
|
|
39
|
+
--out flexipage-delta-out --json
|
|
40
|
+
- uses: actions/upload-artifact@v4
|
|
41
|
+
with:
|
|
42
|
+
name: flexipage-delta-out
|
|
43
|
+
path: flexipage-delta-out
|
|
32
44
|
# Optional live-render path for private repos using your own R2 bucket and Worker.
|
|
33
45
|
# See docs/ci.md for the required secrets, Worker template, and presigned alternative.
|
|
34
46
|
- name: Publish to R2 + sign
|
|
@@ -40,17 +52,23 @@ jobs:
|
|
|
40
52
|
R2_BUCKET: ${{ secrets.R2_BUCKET }}
|
|
41
53
|
ARTIFACT_BASE_URL: ${{ vars.ARTIFACT_BASE_URL }}
|
|
42
54
|
ARTIFACT_HMAC_KEY: ${{ secrets.ARTIFACT_HMAC_KEY }}
|
|
43
|
-
run:
|
|
55
|
+
run: |
|
|
56
|
+
node ./node_modules/@syntax-syllogism/flow-delta/scripts/r2-publish.mjs flow-delta-out "$GITHUB_REPOSITORY/${{ github.event.number }}/$GITHUB_SHA" > flow-delta-out/urls.json
|
|
57
|
+
node ./node_modules/@syntax-syllogism/flow-delta/scripts/r2-publish.mjs flexipage-delta-out "$GITHUB_REPOSITORY/${{ github.event.number }}/$GITHUB_SHA" > flexipage-delta-out/urls.json
|
|
44
58
|
continue-on-error: true
|
|
45
59
|
- name: Report with live-render links
|
|
46
60
|
if: ${{ vars.ARTIFACT_BASE_URL != '' }}
|
|
47
61
|
env:
|
|
48
62
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
49
|
-
run:
|
|
63
|
+
run: |
|
|
64
|
+
./node_modules/.bin/flow-delta-github --in flow-delta-out --artifact-urls flow-delta-out/urls.json
|
|
65
|
+
./node_modules/.bin/flexipage-delta-github --in flexipage-delta-out --artifact-urls flexipage-delta-out/urls.json
|
|
50
66
|
continue-on-error: true
|
|
51
67
|
- name: Report with baseline artifact link
|
|
52
68
|
if: ${{ vars.ARTIFACT_BASE_URL == '' }}
|
|
53
69
|
env:
|
|
54
70
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
55
|
-
run:
|
|
71
|
+
run: |
|
|
72
|
+
./node_modules/.bin/flow-delta-github --in flow-delta-out
|
|
73
|
+
./node_modules/.bin/flexipage-delta-github --in flexipage-delta-out
|
|
56
74
|
continue-on-error: true
|
package/examples/gitlab-ci.yml
CHANGED
|
@@ -17,7 +17,16 @@ FlowDelta:
|
|
|
17
17
|
--changed-only \
|
|
18
18
|
--out flow-delta-out --json
|
|
19
19
|
- npx --yes -p @syntax-syllogism/flow-delta@latest flow-delta-gitlab --in flow-delta-out
|
|
20
|
+
- |
|
|
21
|
+
npx --yes -p @syntax-syllogism/flow-delta@latest flexipage-delta \
|
|
22
|
+
--repo . \
|
|
23
|
+
--from "$CI_MERGE_REQUEST_DIFF_BASE_SHA" \
|
|
24
|
+
--to "${CI_MERGE_REQUEST_SOURCE_BRANCH_SHA:-$CI_COMMIT_SHA}" \
|
|
25
|
+
--path 'force-app/**/*.flexipage-meta.xml' \
|
|
26
|
+
--changed-only \
|
|
27
|
+
--out flexipage-delta-out --json
|
|
28
|
+
- npx --yes -p @syntax-syllogism/flow-delta@latest flexipage-delta-gitlab --in flexipage-delta-out
|
|
20
29
|
artifacts:
|
|
21
|
-
paths: [flow-delta-out]
|
|
30
|
+
paths: [flow-delta-out, flexipage-delta-out]
|
|
22
31
|
expire_in: 30 days
|
|
23
32
|
allow_failure: true
|