@smi-digital/create-smi-app 2.11.3 → 2.13.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smi-digital/create-smi-app",
3
- "version": "2.11.3",
3
+ "version": "2.13.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -0,0 +1,4 @@
1
+ {
2
+ "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3
+ "extends": ["github>SMI-Digital/ci-library"]
4
+ }
@@ -9,11 +9,14 @@ concurrency:
9
9
  group: pr-validation-${{ github.event.pull_request.number || github.ref }}
10
10
  cancel-in-progress: true
11
11
 
12
- # Least-privilege token. Do not remove `pull-requests: read` — change
13
- # detection needs it to list the PR's changed files.
12
+ # Least-privilege token.
13
+ # pull-requests: write — change detection needs to read the PR's changed files,
14
+ # and the A/B check posts its report as a PR comment. A reusable workflow can
15
+ # never exceed its caller's permissions, so downgrading this to `read` silently
16
+ # turns the A/B report into a skipped step with a warning.
14
17
  permissions:
15
18
  contents: read
16
- pull-requests: read
19
+ pull-requests: write
17
20
 
18
21
  jobs:
19
22
  ci:
@@ -21,6 +24,11 @@ jobs:
21
24
  # Defaults match this scaffold's layout (frontend/ + backend/, Node 24).
22
25
  # See the smi-digital/ci-library README for all available inputs
23
26
  # (frontend_dir, backend_dir, node_version, audit_level,
24
- # backend_audit_mode, run_integration, run_sast).
27
+ # backend_audit_mode, run_integration, run_sast, run_ab_check).
28
+ #
29
+ # The A/B check builds the frontend twice and diffs the result. It activates
30
+ # as soon as frontend/test/visual.config.json exists — which this scaffold
31
+ # ships — and is what makes a dependency bump verifiable. Extend the route
32
+ # list there as the site grows; see AGENTS.md.
25
33
  #
26
34
  # Branch protection: require the single check "ci / CI Status" on main.
@@ -0,0 +1,7 @@
1
+ {
2
+ "_comment": "Config for the A/B check in the shared CI pipeline. Both sides of every dependency PR are built and compared against this list, so it is what makes a bump verifiable. Starts with '/' only — extend it as the site grows. Aim for one route per page TYPE, not per page; five to ten is the useful range. A route is either \"/path\" (must answer 200) or {\"path\": \"/x\", \"status\": 404} for pages that legitimately do not. Listing a route that does not exist yet fails the check, so add them as you build them.",
3
+ "routes": ["/"],
4
+ "viewports": [375, 1440],
5
+ "_interactions": "Hydration probes. A screenshot cannot tell you an island stopped mounting — the server markup is identical either way — so these are the only thing that catches a dead island across a framework major. Supported: faq-accordion, mobile-nav, consent-banner. Remove any that this project does not have; a probe that never matches anything is reported as a configuration error rather than passing silently.",
6
+ "interactions": ["mobile-nav"]
7
+ }
@@ -46,6 +46,10 @@
46
46
  {
47
47
  "template": "backend/src/index.ts.template",
48
48
  "target": "backend/src/index.ts"
49
+ },
50
+ {
51
+ "template": "frontend/test/visual.config.json.template",
52
+ "target": "frontend/test/visual.config.json"
49
53
  }
50
54
  ],
51
55
  "cdFiles": [