@zenuml/core 3.46.5 → 3.46.7

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.
@@ -64,6 +64,24 @@ Categorize the failure:
64
64
  git fetch origin && git checkout <PR_BRANCH> && git pull origin <PR_BRANCH>
65
65
  ```
66
66
 
67
+ Before any local `bun pw` run in this workflow, verify that port `8080` is either free or already owned by a dev server started from this repo. `playwright.config.ts` reuses existing servers outside CI, so a Vite server from another repo will produce invalid local results.
68
+
69
+ ```bash
70
+ PORT="${PORT:-8080}"
71
+ THIS_REPO="$(pwd -P)"
72
+ LISTENER_PID="$(lsof -tiTCP:${PORT} -sTCP:LISTEN 2>/dev/null | head -n1 || true)"
73
+
74
+ if [ -n "$LISTENER_PID" ]; then
75
+ LISTENER_CMD="$(ps -p "$LISTENER_PID" -o command=)"
76
+ if [[ "$LISTENER_CMD" != *"$THIS_REPO"* ]]; then
77
+ echo "Port ${PORT} is owned by another repo; killing PID ${LISTENER_PID}"
78
+ kill "$LISTENER_PID"
79
+ fi
80
+ fi
81
+ ```
82
+
83
+ If you killed a different repo's server, do **not** start Vite manually. Let `bun pw` launch the correct dev server from this folder.
84
+
67
85
  ### Fix by Category
68
86
 
69
87
  #### Playwright Snapshot Mismatch (Linux)
@@ -93,6 +111,7 @@ This is the most common CI-only failure because snapshots are platform-specific.
93
111
 
94
112
  1. **Reproduce locally first**:
95
113
  ```bash
114
+ # Run the 8080 ownership preflight above first.
96
115
  bun pw --grep "<test name pattern>"
97
116
  ```
98
117
  2. **Read the failing test** to understand what it expects
@@ -151,6 +170,7 @@ After applying a fix:
151
170
  1. **Run the full local test suite** before pushing (when the failure category allows local reproduction):
152
171
  ```bash
153
172
  bun run test --run # unit tests
173
+ # Run the 8080 ownership preflight above first.
154
174
  bun pw # playwright (local, macOS — won't catch Linux snapshot diffs)
155
175
  bun eslint # lint
156
176
  ```
@@ -56,7 +56,18 @@ On success, the PR is green and ready to merge.
56
56
 
57
57
  ### Step 4: Land and verify release
58
58
 
59
- Invoke `/land-pr` with the PR number. If merge is blocked (pending reviews, failed checks), stop and report.
59
+ Merging to main triggers an npm publish — this is irreversible. To prevent the orchestrator from skipping the land-pr skill's merge strategy logic (which has happened before), **spawn an Agent** for this step:
60
+
61
+ ```
62
+ Spawn an Agent with this prompt:
63
+ "Use the Skill tool to invoke the land-pr skill, then follow it to land PR #<PR_NUMBER>
64
+ on mermaid-js/zenuml-core. Follow every step including the merge strategy evaluation.
65
+ Report back the merge SHA and npm version, or the reason it was blocked."
66
+ ```
67
+
68
+ Replace `<PR_NUMBER>` with the actual PR number from Step 2.
69
+
70
+ Do NOT run `gh pr merge` directly from the main conversation — the land-pr skill contains merge strategy decision logic that must be evaluated by the Agent.
60
71
 
61
72
  If merge succeeds but npm publish fails, alert immediately with the failure details. Do NOT auto-rollback.
62
73
 
@@ -78,7 +89,7 @@ Final report:
78
89
  - Validation: PASS
79
90
  - PR: #<number> (<url>)
80
91
  - CI: GREEN (attempt <N>)
81
- - Merge: SQUASHED into main (<sha>)
92
+ - Merge: <SQUASHED|MERGED> into main (<sha>)
82
93
  - npm: @zenuml/core@<version> published
83
94
  ```
84
95
 
@@ -33,6 +33,24 @@ Do NOT use `bun test` — it picks up Playwright files and gives false failures.
33
33
 
34
34
  ### 3. Playwright E2E
35
35
 
36
+ Before running Playwright, make sure port `8080` is either free or owned by a dev server started from **this repo**. `playwright.config.ts` uses `reuseExistingServer`, so an unrelated Vite server on `8080` will cause false results.
37
+
38
+ ```bash
39
+ PORT="${PORT:-8080}"
40
+ THIS_REPO="$(pwd -P)"
41
+ LISTENER_PID="$(lsof -tiTCP:${PORT} -sTCP:LISTEN 2>/dev/null | head -n1 || true)"
42
+
43
+ if [ -n "$LISTENER_PID" ]; then
44
+ LISTENER_CMD="$(ps -p "$LISTENER_PID" -o command=)"
45
+ if [[ "$LISTENER_CMD" != *"$THIS_REPO"* ]]; then
46
+ echo "Port ${PORT} is owned by another repo; killing PID ${LISTENER_PID}"
47
+ kill "$LISTENER_PID"
48
+ fi
49
+ fi
50
+ ```
51
+
52
+ If you killed a different repo's server, do **not** start Vite manually. `bun pw` will launch the correct dev server from this folder via Playwright's `webServer` config.
53
+
36
54
  ```bash
37
55
  bun pw
38
56
  ```
@@ -50,5 +68,5 @@ Report one of:
50
68
 
51
69
  - `bun run test` not `bun test` — critical difference, the latter runs E2E too
52
70
  - Playwright needs browsers installed (`bun pw:install` if missing)
53
- - If the dev server is running on port 8080, Playwright may conflict check first
71
+ - Before `bun pw`, verify any existing `8080` listener belongs to this repo; otherwise kill it and let Playwright start the right server
54
72
  - HTML Playwright snapshot failures are a hard stop — never update HTML snapshots without understanding why they changed