@zenuml/core 3.47.8 → 3.48.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/dist/cloud-icons-eHuugVSv.js.map +1 -0
- package/dist/zenuml.esm.mjs +2153 -2156
- package/dist/zenuml.esm.mjs.map +1 -0
- package/dist/zenuml.js +82 -82
- package/dist/zenuml.js.map +1 -0
- package/package.json +11 -1
- package/src/cli/zenuml.ts +1164 -0
- package/.agents/skills/babysit-pr/SKILL.md +0 -223
- package/.agents/skills/babysit-pr/agents/openai.yaml +0 -7
- package/.agents/skills/dia-scoring/SKILL.md +0 -139
- package/.agents/skills/dia-scoring/agents/openai.yaml +0 -7
- package/.agents/skills/dia-scoring/references/selectors-and-keys.md +0 -253
- package/.agents/skills/land-pr/SKILL.md +0 -120
- package/.agents/skills/propagate-core-release/SKILL.md +0 -205
- package/.agents/skills/propagate-core-release/agents/openai.yaml +0 -7
- package/.agents/skills/propagate-core-release/references/downstreams.md +0 -42
- package/.agents/skills/ship-branch/SKILL.md +0 -105
- package/.agents/skills/submit-branch/SKILL.md +0 -76
- package/.agents/skills/validate-branch/SKILL.md +0 -72
- package/.claude/commands/README.md +0 -162
- package/.claude/commands/analyze.md +0 -101
- package/.claude/commands/clarify.md +0 -158
- package/.claude/commands/code-review.md +0 -322
- package/.claude/commands/constitution.md +0 -73
- package/.claude/commands/create-docs.md +0 -309
- package/.claude/commands/full-context.md +0 -121
- package/.claude/commands/gemini-consult.md +0 -164
- package/.claude/commands/handoff.md +0 -146
- package/.claude/commands/implement.md +0 -56
- package/.claude/commands/plan.md +0 -43
- package/.claude/commands/refactor.md +0 -188
- package/.claude/commands/specify.md +0 -21
- package/.claude/commands/tasks.md +0 -62
- package/.claude/commands/update-docs.md +0 -314
- package/.claude/hooks/README.md +0 -270
- package/.claude/hooks/config/sensitive-patterns.json +0 -86
- package/.claude/hooks/gemini-context-injector.sh +0 -129
- package/.claude/hooks/mcp-security-scan.sh +0 -147
- package/.claude/hooks/notify.sh +0 -103
- package/.claude/hooks/setup/hook-setup.md +0 -96
- package/.claude/hooks/setup/settings.json.template +0 -63
- package/.claude/hooks/sounds/complete.wav +0 -0
- package/.claude/hooks/sounds/input-needed.wav +0 -0
- package/.claude/hooks/subagent-context-injector.sh +0 -65
- package/.claude/skills/babysit-pr/SKILL.md +0 -223
- package/.claude/skills/babysit-pr/agents/openai.yaml +0 -7
- package/.claude/skills/dia-scoring/SKILL.md +0 -139
- package/.claude/skills/dia-scoring/agents/openai.yaml +0 -7
- package/.claude/skills/dia-scoring/references/selectors-and-keys.md +0 -253
- package/.claude/skills/emoji-eval/SKILL.md +0 -187
- package/.claude/skills/land-pr/SKILL.md +0 -120
- package/.claude/skills/propagate-core-release/SKILL.md +0 -205
- package/.claude/skills/propagate-core-release/agents/openai.yaml +0 -7
- package/.claude/skills/propagate-core-release/references/downstreams.md +0 -42
- package/.claude/skills/ship-branch/SKILL.md +0 -105
- package/.claude/skills/submit-branch/SKILL.md +0 -76
- package/.claude/skills/validate-branch/SKILL.md +0 -72
- package/.claude/skills/zenuml-ux-research/SKILL.md +0 -183
- package/.claude/skills/zenuml-ux-research/references/assertion-catalog.md +0 -261
- package/.claude/skills/zenuml-ux-research/references/best-practices-overview.md +0 -56
- package/.claude/skills/zenuml-ux-research/references/report-template.md +0 -89
- package/.claude/skills/zenuml-ux-research/references/scenarios/edit-message-label.md +0 -37
- package/.claude/skills/zenuml-ux-research/references/scenarios/insert-message.md +0 -36
- package/.claude/skills/zenuml-ux-research/references/scenarios/insert-participant.md +0 -31
- package/.claude/skills/zenuml-ux-research/references/scenarios/rename-participant.md +0 -33
- package/.claude/skills/zenuml-ux-research/references/scenarios/undo-insert.md +0 -35
- package/.devcontainer/devcontainer.json +0 -21
- package/.dockerignore +0 -19
- package/.eslintrc.js +0 -39
- package/.git-blame-ignore-revs +0 -6
- package/.kiro/hooks/README.md +0 -38
- package/.kiro/hooks/session-sound-notification.js +0 -44
- package/.kiro/hooks/session-sound-notification.json +0 -23
- package/.mcp.json.example +0 -17
- package/.nvmrc +0 -1
- package/.prettierignore +0 -4
- package/.prettierrc +0 -1
- package/.specify/memory/constitution.md +0 -33
- package/.specify/scripts/bash/check-prerequisites.sh +0 -166
- package/.specify/scripts/bash/common.sh +0 -113
- package/.specify/scripts/bash/create-new-feature.sh +0 -97
- package/.specify/scripts/bash/setup-plan.sh +0 -60
- package/.specify/scripts/bash/update-agent-context.sh +0 -728
- package/.specify/templates/agent-file-template.md +0 -23
- package/.specify/templates/plan-template.md +0 -219
- package/.specify/templates/spec-template.md +0 -116
- package/.specify/templates/tasks-template.md +0 -127
- package/.storybook/main.ts +0 -25
- package/.storybook/preview.ts +0 -29
- package/.watchmanconfig +0 -3
- package/AGENTS.md +0 -26
- package/CLAUDE.md +0 -124
- package/DEPLOYMENT.md +0 -62
- package/Dockerfile +0 -36
- package/IMPLEMENTATION_PLAN.md +0 -163
- package/Integration/vanilla-js/index.html +0 -42
- package/MCP-ASSISTANT-RULES.md +0 -85
- package/README_CN.md +0 -15
- package/TUTORIAL.md +0 -116
- package/antlr/antlr-4.11.1-complete.jar +0 -0
- package/bun.lock +0 -1544
- package/bunfig.toml +0 -52
- package/docs/UNICODE_SUPPORT.md +0 -179
- package/docs/ai-context/deployment-infrastructure.md +0 -21
- package/docs/ai-context/docs-overview.md +0 -89
- package/docs/ai-context/handoff.md +0 -174
- package/docs/ai-context/project-structure.md +0 -160
- package/docs/ai-context/system-integration.md +0 -21
- package/docs/asciidoc/contributor.adoc +0 -54
- package/docs/asciidoc/create-my-own-theme.adoc +0 -149
- package/docs/asciidoc/images/creation-component.png +0 -0
- package/docs/asciidoc/images/creation-rtl.png +0 -0
- package/docs/asciidoc/images/message-arrow-rtl.png +0 -0
- package/docs/asciidoc/images/occurrence.png +0 -0
- package/docs/asciidoc/images/return-message-conflict.png +0 -0
- package/docs/asciidoc/images/shift-up-half-the-height.png +0 -0
- package/docs/asciidoc/images/three-layer-info-arch.png +0 -0
- package/docs/asciidoc/images/vertical-alignment.svg +0 -1
- package/docs/asciidoc/images/vertically-aligning.png +0 -0
- package/docs/asciidoc/index.adoc +0 -277
- package/docs/asciidoc/theme-debug-web-app.png +0 -0
- package/docs/asciidoc/tutorial.adoc +0 -22
- package/docs/asciidoc/user-css.png +0 -0
- package/docs/async-vs-sync-parser-rules.md +0 -81
- package/docs/divider-parser-allow-spaces.md +0 -38
- package/docs/highlighting-messages.md +0 -52
- package/docs/images/editor-sample.png +0 -0
- package/docs/inherited-vs-provided-from.md +0 -64
- package/docs/parser/Assignment.md +0 -8
- package/docs/parser/PARSER_IMPROVEMENTS_CC.md +0 -425
- package/docs/parser/grammar_review_gemini.md +0 -116
- package/docs/participants-function.md +0 -25
- package/docs/responsive-participant-margin.md +0 -52
- package/docs/starter.md +0 -9
- package/docs/superpowers/plans/2026-03-27-e2e-test-reorg.md +0 -698
- package/docs/superpowers/plans/2026-03-30-emoji-support.md +0 -1220
- package/docs/superpowers/plans/2026-03-30-self-correcting-scoring.md +0 -206
- package/docs/superpowers/plans/2026-04-15-keyboard-editing-on-diagram.md +0 -1992
- package/docs/superpowers/plans/2026-04-15-zenuml-ux-research-skill.md +0 -1452
- package/docs/ux-research/.gitkeep +0 -0
- package/docs/ux-research/2026-04-15-rename-participant.md +0 -156
- package/docs/ux-research/2026-04-18-insert-participant.md +0 -151
- package/docs/width-translate-and-offsets.md +0 -62
- package/docs/xss.md +0 -59
- package/e2e/data/compare-cases.js +0 -1090
- package/e2e/data/diff-algorithm.js +0 -199
- package/e2e/fixtures/create-message.html +0 -26
- package/e2e/fixtures/editable-label.html +0 -35
- package/e2e/fixtures/editable-span.html +0 -122
- package/e2e/fixtures/empty-diagram.html +0 -23
- package/e2e/fixtures/fixture.html +0 -31
- package/e2e/fixtures/insert-participant.html +0 -23
- package/e2e/fixtures/reorder-cross-fragment.html +0 -31
- package/e2e/fixtures/reorder-fragment.html +0 -29
- package/e2e/fixtures/reorder-message.html +0 -27
- package/e2e/fixtures/svg-test.html +0 -21
- package/e2e/fixtures/type-switch.html +0 -29
- package/e2e/tools/canonical-history.html +0 -908
- package/e2e/tools/compare-case.html +0 -371
- package/e2e/tools/compare.html +0 -35
- package/e2e/tools/native-diff-ext/background.js +0 -60
- package/e2e/tools/native-diff-ext/bridge.js +0 -26
- package/e2e/tools/native-diff-ext/content.js +0 -194
- package/e2e/tools/svg-preview.html +0 -56
- package/embed.html +0 -193
- package/eslint.config.mjs +0 -35
- package/firebase-debug.log +0 -108
- package/iframe-container-demo/diagram.html +0 -124
- package/iframe-container-demo/host.html +0 -817
- package/index.html +0 -771
- package/mermaid-zenuml-async-spa-auth.png +0 -0
- package/mermaid-zenuml-async-spa-auth.snapshot.md +0 -96
- package/newsletter/unicode-support-announcement.md +0 -134
- package/playground/creation.html +0 -53
- package/playground/message.html +0 -63
- package/playwright.config.ts +0 -40
- package/renderer.html +0 -366
- package/scripts/analyze-compare-case/collect-data.mjs +0 -1134
- package/scripts/analyze-compare-case/config.mjs +0 -102
- package/scripts/analyze-compare-case/geometry.mjs +0 -101
- package/scripts/analyze-compare-case/native-diff.mjs +0 -224
- package/scripts/analyze-compare-case/output.mjs +0 -74
- package/scripts/analyze-compare-case/panel-diff.mjs +0 -114
- package/scripts/analyze-compare-case/report.mjs +0 -162
- package/scripts/analyze-compare-case/residual-scopes.mjs +0 -347
- package/scripts/analyze-compare-case/scoring.mjs +0 -829
- package/scripts/analyze-compare-case.mjs +0 -149
- package/scripts/bump-version.js +0 -117
- package/scripts/snapshot-dual.js +0 -173
- package/scripts/update-snapshots.js +0 -70
- package/skills/dia-scoring/SKILL.md +0 -129
- package/skills/dia-scoring/agents/openai.yaml +0 -7
- package/skills/dia-scoring/references/selectors-and-keys.md +0 -253
- package/tailwind.config.js +0 -126
- package/test-compression.html +0 -274
- package/test-mermaid-zenuml.html +0 -57
- package/test-setup.ts +0 -124
- package/test-url-params.html +0 -192
- package/tsconfig.app.json +0 -31
- package/tsconfig.node.json +0 -24
- package/tsconfig.test.json +0 -9
- package/vite.config.lib.ts +0 -93
- package/vite.config.ts +0 -84
- package/wrangler.toml +0 -18
|
Binary file
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
- generic [active] [ref=e1]:
|
|
2
|
-
- heading "Zenuml demos" [level=1] [ref=e2]
|
|
3
|
-
- document [ref=e4]:
|
|
4
|
-
- generic [ref=e7]:
|
|
5
|
-
- generic [ref=e16]: BookLibService
|
|
6
|
-
- generic [ref=e19]: Session
|
|
7
|
-
- generic [ref=e22]: BookRepository
|
|
8
|
-
- generic [ref=e25]: ErrorService
|
|
9
|
-
- generic [ref=e28]: Connection
|
|
10
|
-
- generic [ref=e37]: receipt:Receipt
|
|
11
|
-
- generic [ref=e38]:
|
|
12
|
-
- img [ref=e39]
|
|
13
|
-
- generic [ref=e42]: Borrow(id)
|
|
14
|
-
- generic [ref=e43]: "1"
|
|
15
|
-
- generic [ref=e44]:
|
|
16
|
-
- img [ref=e45]
|
|
17
|
-
- generic [ref=e48]: GetUser()
|
|
18
|
-
- generic [ref=e49]: "1.1"
|
|
19
|
-
- generic [ref=e50]:
|
|
20
|
-
- img [ref=e51]
|
|
21
|
-
- generic [ref=e54]: Update(id,onLoan,User)
|
|
22
|
-
- generic [ref=e55]: 1.2.1.1
|
|
23
|
-
- generic [ref=e56]:
|
|
24
|
-
- img [ref=e57]
|
|
25
|
-
- generic [ref=e60]: onException(BookNotFoundException)
|
|
26
|
-
- generic [ref=e61]: 1.2.1.3
|
|
27
|
-
- generic [ref=e62]:
|
|
28
|
-
- img [ref=e63]
|
|
29
|
-
- generic [ref=e66]: close()
|
|
30
|
-
- generic [ref=e67]: 1.2.1.4
|
|
31
|
-
- generic [ref=e68]:
|
|
32
|
-
- generic [ref=e70]: «id,dueDate»
|
|
33
|
-
- generic [ref=e71]: 1.2.1.2
|
|
34
|
-
- generic [ref=e72]:
|
|
35
|
-
- generic [ref=e74]: User
|
|
36
|
-
- generic [ref=e75]: 1.1.1
|
|
37
|
-
- generic [ref=e76]:
|
|
38
|
-
- generic [ref=e78]: receipt
|
|
39
|
-
- generic [ref=e79]: 1.2.1.2.1
|
|
40
|
-
- generic [ref=e80]:
|
|
41
|
-
- generic [ref=e82]: receipt
|
|
42
|
-
- generic [ref=e83]: "1.3"
|
|
43
|
-
- generic [ref=e84]:
|
|
44
|
-
- img [ref=e87]
|
|
45
|
-
- generic [ref=e89]: Alt
|
|
46
|
-
- generic [ref=e90]: "1.2"
|
|
47
|
-
- generic [ref=e91]:
|
|
48
|
-
- generic [ref=e92]: "["
|
|
49
|
-
- generic [ref=e93]: User.isActive
|
|
50
|
-
- generic [ref=e94]: "]"
|
|
51
|
-
- generic [ref=e95]:
|
|
52
|
-
- img [ref=e98]
|
|
53
|
-
- generic [ref=e100]: Try
|
|
54
|
-
- generic [ref=e101]: 1.2.1
|
|
55
|
-
- generic [ref=e102]:
|
|
56
|
-
- generic [ref=e104]: catch
|
|
57
|
-
- generic [ref=e105]: BookNotFoundException
|
|
58
|
-
- generic [ref=e108]: finally
|
|
59
|
-
- document [ref=e110]:
|
|
60
|
-
- generic [ref=e113]: Async Messages (SPA Authentication)
|
|
61
|
-
- generic [ref=e114]:
|
|
62
|
-
- generic [ref=e117]: Browser
|
|
63
|
-
- generic [ref=e120]: Auth0
|
|
64
|
-
- generic [ref=e123]: Identity Provider
|
|
65
|
-
- generic [ref=e126]: Your API
|
|
66
|
-
- generic [ref=e127]:
|
|
67
|
-
- img [ref=e128]
|
|
68
|
-
- generic [ref=e131]: 1. initiate the authentication
|
|
69
|
-
- generic [ref=e132]: "1"
|
|
70
|
-
- generic [ref=e133]:
|
|
71
|
-
- img [ref=e134]
|
|
72
|
-
- generic [ref=e137]: 2. OAuth2 / SAML, etc
|
|
73
|
-
- generic [ref=e138]: "2"
|
|
74
|
-
- generic [ref=e139]:
|
|
75
|
-
- img [ref=e140]
|
|
76
|
-
- generic [ref=e143]: "4. redirect to ${YOUR_CALLBACK_URL}/#id_token=e68..."
|
|
77
|
-
- generic [ref=e144]: "4"
|
|
78
|
-
- generic [ref=e145]:
|
|
79
|
-
- img [ref=e146]
|
|
80
|
-
- generic [ref=e149]: 5. validate id_token and get user profile
|
|
81
|
-
- generic [ref=e150]: "5"
|
|
82
|
-
- generic [ref=e151]:
|
|
83
|
-
- img [ref=e152]
|
|
84
|
-
- generic [ref=e155]: 6. call API sending JWT in Authorization header
|
|
85
|
-
- generic [ref=e156]: "6"
|
|
86
|
-
- generic [ref=e157]:
|
|
87
|
-
- img [ref=e158]:
|
|
88
|
-
- img [ref=e161]
|
|
89
|
-
- generic [ref=e164]: 3. user gets authenticated
|
|
90
|
-
- generic [ref=e165]: "3"
|
|
91
|
-
- generic [ref=e166]:
|
|
92
|
-
- img [ref=e167]:
|
|
93
|
-
- img [ref=e170]
|
|
94
|
-
- generic [ref=e173]: 7. validate token
|
|
95
|
-
- generic [ref=e174]: "7"
|
|
96
|
-
- generic [ref=e175]: "``` GET https://${account.namespace}/authorize/? response_type=token &client_id=${account.clientId} &redirect_url=YOUR_CALLBACK_URL &state=VALUE_THAT_SURVIVES_REDIRECTS &scope=openid ```"
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
# 🌐 ZenUML Now Supports Unicode Characters!
|
|
2
|
-
|
|
3
|
-
*September 2025 Newsletter*
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
We're excited to announce a major enhancement to ZenUML: **full Unicode character support** for identifiers! You can now create sequence diagrams using native characters from Chinese, Japanese, Korean, Arabic, Cyrillic, and many other languages.
|
|
8
|
-
|
|
9
|
-
## ✨ What's New
|
|
10
|
-
|
|
11
|
-
### Native Language Support
|
|
12
|
-
|
|
13
|
-
No more workarounds or quoted strings for basic identifiers. You can now write ZenUML diagrams in your native language:
|
|
14
|
-
|
|
15
|
-
**Chinese Example:**
|
|
16
|
-
```zenuml
|
|
17
|
-
用户 订单服务 数据库
|
|
18
|
-
|
|
19
|
-
用户.登录()
|
|
20
|
-
订单服务.创建订单()
|
|
21
|
-
数据库.保存数据()
|
|
22
|
-
return 成功
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
**Japanese Example:**
|
|
26
|
-
```zenuml
|
|
27
|
-
ユーザー システム データベース
|
|
28
|
-
|
|
29
|
-
ユーザー.ログイン()
|
|
30
|
-
システム.認証()
|
|
31
|
-
データベース.検索()
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
**Mixed Languages:**
|
|
35
|
-
```zenuml
|
|
36
|
-
UserService 数据库 CacheManager
|
|
37
|
-
|
|
38
|
-
UserService.获取用户()
|
|
39
|
-
数据库.query("SELECT * FROM users")
|
|
40
|
-
CacheManager.缓存结果()
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
### Supported Languages
|
|
44
|
-
|
|
45
|
-
The new Unicode support includes:
|
|
46
|
-
- **Chinese** (Simplified & Traditional)
|
|
47
|
-
- **Japanese** (Hiragana, Katakana, Kanji)
|
|
48
|
-
- **Korean** (Hangul)
|
|
49
|
-
- **Arabic**
|
|
50
|
-
- **Cyrillic** (Russian, Bulgarian, etc.)
|
|
51
|
-
- **And many more Unicode languages!**
|
|
52
|
-
|
|
53
|
-
## 🔧 Technical Implementation
|
|
54
|
-
|
|
55
|
-
### Grammar Enhancement
|
|
56
|
-
|
|
57
|
-
We've updated the ANTLR lexer to use Unicode property classes:
|
|
58
|
-
|
|
59
|
-
```antlr
|
|
60
|
-
ID : [\p{L}_] [\p{L}\p{Nd}_]* ;
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
- `\p{L}` matches any Unicode letter
|
|
64
|
-
- `\p{Nd}` matches any Unicode decimal digit
|
|
65
|
-
- Maintains backward compatibility with ASCII identifiers
|
|
66
|
-
|
|
67
|
-
### Backward Compatibility
|
|
68
|
-
|
|
69
|
-
**All existing ZenUML code continues to work unchanged.** This is a purely additive feature that expands what's possible without breaking existing diagrams.
|
|
70
|
-
|
|
71
|
-
## 📋 Usage Guidelines
|
|
72
|
-
|
|
73
|
-
### Simple Identifiers
|
|
74
|
-
Use Unicode characters directly for participant names, method names, and variables:
|
|
75
|
-
- ✅ `用户.登录()`
|
|
76
|
-
- ✅ `ユーザー.データ取得()`
|
|
77
|
-
- ✅ `사용자.인증()`
|
|
78
|
-
|
|
79
|
-
### With Spaces
|
|
80
|
-
For identifiers containing spaces, use quotes:
|
|
81
|
-
- ✅ `"用户 服务".获取信息()`
|
|
82
|
-
- ✅ `"Order Management".processOrder()`
|
|
83
|
-
|
|
84
|
-
### Rules
|
|
85
|
-
- Must start with a Unicode letter or underscore
|
|
86
|
-
- Can contain Unicode letters, numbers, and underscores
|
|
87
|
-
- Keywords (if, while, return) remain in English
|
|
88
|
-
|
|
89
|
-
## 📊 Before vs After: See the Difference
|
|
90
|
-
|
|
91
|
-
| Scenario | Before (Workarounds) | After (Native Unicode) |
|
|
92
|
-
|----------|---------------------|------------------------|
|
|
93
|
-
| **Chinese participants** | `"用户" "订单服务" "数据库"` | `用户 订单服务 数据库` |
|
|
94
|
-
| **Japanese methods** | `User."ログイン"()` | `ユーザー.ログイン()` |
|
|
95
|
-
| **Mixed languages** | `"UserService" "数据库" "CacheManager"` | `UserService 数据库 CacheManager` |
|
|
96
|
-
| **Korean business logic** | `"사용자"."인증"()` | `사용자.인증()` |
|
|
97
|
-
| **Arabic identifiers** | `"المستخدم"."تسجيل_الدخول"()` | `المستخدم.تسجيل_الدخول()` |
|
|
98
|
-
|
|
99
|
-
### Real Impact Examples
|
|
100
|
-
|
|
101
|
-
**E-commerce Team (Chinese):**
|
|
102
|
-
```zenuml
|
|
103
|
-
// Before: Mixed English/quoted Chinese
|
|
104
|
-
User "订单服务" Database
|
|
105
|
-
User."创建订单"()
|
|
106
|
-
"订单服务".validateOrder()
|
|
107
|
-
|
|
108
|
-
// After: Pure Chinese business language
|
|
109
|
-
用户 订单服务 数据库
|
|
110
|
-
用户.创建订单()
|
|
111
|
-
订单服务.验证订单()
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
**Banking System (Japanese):**
|
|
115
|
-
```zenuml
|
|
116
|
-
// Before: Awkward English mapping
|
|
117
|
-
Customer "AccountService" "TransactionDB"
|
|
118
|
-
Customer."残高照会"()
|
|
119
|
-
|
|
120
|
-
// After: Natural Japanese terminology
|
|
121
|
-
顧客 口座サービス 取引データベース
|
|
122
|
-
顧客.残高照会()
|
|
123
|
-
口座サービス.残高取得()
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
## 🚀 Try It Now
|
|
127
|
-
|
|
128
|
-
Visit https://app.zenuml.com
|
|
129
|
-
|
|
130
|
-
---
|
|
131
|
-
|
|
132
|
-
**Happy Diagramming in Your Language!** 🎉
|
|
133
|
-
|
|
134
|
-
*Have feedback or found an issue? [Open an issue on GitHub](https://github.com/mermaid-js/zenuml-core/issues) or join our community discussions.*
|
package/playground/creation.html
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<title>Creation component</title>
|
|
6
|
-
<link
|
|
7
|
-
rel="stylesheet"
|
|
8
|
-
href="https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/2.2.19/tailwind.min.css"
|
|
9
|
-
/>
|
|
10
|
-
<link rel="stylesheet" href="https://app.zenuml.com/14da99332500382455b6a2d96a34a523.css" />
|
|
11
|
-
</head>
|
|
12
|
-
<body class="zenuml">
|
|
13
|
-
<main class="m-1">
|
|
14
|
-
<p>Creation (like all other messages) gets a fixed width calculated.</p>
|
|
15
|
-
<!-- Give the whole message a width -->
|
|
16
|
-
<div
|
|
17
|
-
data-signature="«create»"
|
|
18
|
-
class="interaction creation sync text-center"
|
|
19
|
-
style="width: 161px"
|
|
20
|
-
>
|
|
21
|
-
<!-- items-center aligns the message on the left along the center vertically -->
|
|
22
|
-
<div class="flex items-center h-10">
|
|
23
|
-
<!-- height:0 to so items-center set the border bottom line in the middle -->
|
|
24
|
-
<div
|
|
25
|
-
class="message invocation text-center border-b-2 border-dashed"
|
|
26
|
-
data-to="B"
|
|
27
|
-
data-type="creation"
|
|
28
|
-
style="width: calc(100% - 40px); height: 1rem; transform: translateY(-0.5rem)"
|
|
29
|
-
>
|
|
30
|
-
<!-- Force line-height to 1em and then shift it up by one line. Do not use inline-block here. -->
|
|
31
|
-
<div class="name" style="padding-left: 10px; line-height: 1rem">«create»</div>
|
|
32
|
-
</div>
|
|
33
|
-
<div
|
|
34
|
-
class="participant border-2 border-red-900 flex flex-col justify-center"
|
|
35
|
-
style="margin-right: -50px"
|
|
36
|
-
>
|
|
37
|
-
<div class="h-5 flex flex-col justify-center"><label class="name">B</label></div>
|
|
38
|
-
</div>
|
|
39
|
-
</div>
|
|
40
|
-
<div
|
|
41
|
-
data-el-type="occurrence"
|
|
42
|
-
data-belongs-to="B"
|
|
43
|
-
data-x-offset="0"
|
|
44
|
-
data-debug-center-of="273"
|
|
45
|
-
class="occurrence border-2 relative"
|
|
46
|
-
>
|
|
47
|
-
<!---->
|
|
48
|
-
</div>
|
|
49
|
-
<!---->
|
|
50
|
-
</div>
|
|
51
|
-
</main>
|
|
52
|
-
</body>
|
|
53
|
-
</html>
|
package/playground/message.html
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<title>Message component</title>
|
|
6
|
-
<script src="https://cdn.tailwindcss.com"></script>
|
|
7
|
-
<link rel="stylesheet" href="https://app.zenuml.com/14da99332500382455b6a2d96a34a523.css" />
|
|
8
|
-
</head>
|
|
9
|
-
<body class="zenuml">
|
|
10
|
-
<main class="m-1">
|
|
11
|
-
<p>Creation (like all other messages) gets a fixed width calculated.</p>
|
|
12
|
-
<!-- Give the whole message a width -->
|
|
13
|
-
<div
|
|
14
|
-
data-signature="«create»"
|
|
15
|
-
class="interaction creation sync text-center"
|
|
16
|
-
style="width: 161px"
|
|
17
|
-
>
|
|
18
|
-
<!-- items-center aligns the message on the left along the center vertically -->
|
|
19
|
-
<div class="flex items-center h-10">
|
|
20
|
-
<!-- height:0 to so items-center set the border bottom line in the middle -->
|
|
21
|
-
<div
|
|
22
|
-
data-v-61d2d687=""
|
|
23
|
-
data-v-152fbe62=""
|
|
24
|
-
class="message flex hover:bg-yellow-300 h-0 invocation text-center"
|
|
25
|
-
data-to="A"
|
|
26
|
-
data-type="creation"
|
|
27
|
-
style="border-bottom-style: dashed; width: calc(100% - 40px)"
|
|
28
|
-
>
|
|
29
|
-
<div
|
|
30
|
-
data-v-61d2d687=""
|
|
31
|
-
class="name grow"
|
|
32
|
-
style="padding-left: 10px; line-height: 1em; transform: translateY(-1em)"
|
|
33
|
-
>
|
|
34
|
-
«create»
|
|
35
|
-
</div>
|
|
36
|
-
<div data-v-4c06f990="" data-v-61d2d687="" class="point no-fill">
|
|
37
|
-
<svg data-v-4c06f990="" height="20" class="arrow">
|
|
38
|
-
<polyline data-v-4c06f990="" points="0,7 10,13 0,19" class="right head"></polyline>
|
|
39
|
-
<polyline data-v-4c06f990="" points="10,7 0,13 10,19" class="left head"></polyline>
|
|
40
|
-
</svg>
|
|
41
|
-
</div>
|
|
42
|
-
</div>
|
|
43
|
-
<div
|
|
44
|
-
class="participant border-2 border-red-900 flex flex-col justify-center"
|
|
45
|
-
style="margin-right: -50px"
|
|
46
|
-
>
|
|
47
|
-
<div class="h-5 flex flex-col justify-center"><label class="name">B</label></div>
|
|
48
|
-
</div>
|
|
49
|
-
</div>
|
|
50
|
-
<div
|
|
51
|
-
data-el-type="occurrence"
|
|
52
|
-
data-belongs-to="B"
|
|
53
|
-
data-x-offset="0"
|
|
54
|
-
data-debug-center-of="273"
|
|
55
|
-
class="occurrence border-2 relative"
|
|
56
|
-
>
|
|
57
|
-
<!---->
|
|
58
|
-
</div>
|
|
59
|
-
<!---->
|
|
60
|
-
</div>
|
|
61
|
-
</main>
|
|
62
|
-
</body>
|
|
63
|
-
</html>
|
package/playwright.config.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { defineConfig, devices } from "@playwright/test";
|
|
2
|
-
|
|
3
|
-
const PORT = Number(process.env.PORT) || 4000;
|
|
4
|
-
const BASE_URL = `http://127.0.0.1:${PORT}`;
|
|
5
|
-
|
|
6
|
-
export default defineConfig({
|
|
7
|
-
testDir: "./tests",
|
|
8
|
-
fullyParallel: true,
|
|
9
|
-
forbidOnly: !!process.env.CI,
|
|
10
|
-
retries: process.env.CI ? 2 : 0,
|
|
11
|
-
workers: process.env.CI ? 1 : undefined,
|
|
12
|
-
outputDir: "test-results/",
|
|
13
|
-
reporter: process.env.CI
|
|
14
|
-
? [["github"], ["html", { open: "never", outputFolder: "playwright-report" }]]
|
|
15
|
-
: [["html", { outputFolder: "playwright-report" }]],
|
|
16
|
-
use: {
|
|
17
|
-
baseURL: BASE_URL,
|
|
18
|
-
trace: "on-first-retry",
|
|
19
|
-
screenshot: "only-on-failure",
|
|
20
|
-
},
|
|
21
|
-
projects: [
|
|
22
|
-
{
|
|
23
|
-
name: "chromium",
|
|
24
|
-
use: {
|
|
25
|
-
...devices["Desktop Chrome"],
|
|
26
|
-
viewport: { width: 1200, height: 800 },
|
|
27
|
-
// Force color profile like Cypress config
|
|
28
|
-
launchOptions: {
|
|
29
|
-
args: ["--force-color-profile=srgb"],
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
},
|
|
33
|
-
],
|
|
34
|
-
webServer: {
|
|
35
|
-
command: `bun run dev -- --port=${PORT} --strictPort`,
|
|
36
|
-
url: BASE_URL,
|
|
37
|
-
reuseExistingServer: !process.env.CI,
|
|
38
|
-
timeout: 120 * 1000,
|
|
39
|
-
},
|
|
40
|
-
});
|