memd-cli 3.1.0 → 3.1.2

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.
@@ -16,7 +16,8 @@
16
16
  "Bash(node:*)",
17
17
  "Bash(printf:*)",
18
18
  "WebFetch(domain:registry.npmjs.org)",
19
- "WebFetch(domain:api.github.com)"
19
+ "WebFetch(domain:api.github.com)",
20
+ "Bash(mkdir:*)"
20
21
  ]
21
22
  }
22
23
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "memd-cli",
3
- "version": "3.1.0",
3
+ "version": "3.1.2",
4
4
  "type": "module",
5
5
  "main": "main.js",
6
6
  "bin": {
@@ -10,7 +10,7 @@
10
10
  "test": "vitest run --maxConcurrency=20"
11
11
  },
12
12
  "dependencies": {
13
- "@ktrysmt/beautiful-mermaid": "^1.1.4",
13
+ "@ktrysmt/beautiful-mermaid": "1.2.0",
14
14
  "chalk": "^5.6.2",
15
15
  "commander": "^14.0.3",
16
16
  "marked": "^17.0.4",
package/test/dotted.md ADDED
@@ -0,0 +1,16 @@
1
+
2
+ ```mermaid
3
+ graph TD
4
+ A[Push to master] --> B[GitHub Actions]
5
+ B --> C[Build Docker image]
6
+ C --> D[Push to GHCR]
7
+ E[devcontainer.json<br>references GHCR image] --> F[devcontainer up<br>on any repo]
8
+ D -.-> |docker pull| F
9
+ F --> G[postStartCommand]
10
+ subgraph container [Inside devcontainer]
11
+ G --> H[setup-claude.sh<br>symlink dotfiles +<br>merge settings.json]
12
+ G --> I[init-firewall.sh<br>iptables + ipset]
13
+ H --> J[Claude Code<br>--dangerously-skip-permissions]
14
+ I --> J
15
+ end
16
+ ```
package/test/memd.test.js CHANGED
@@ -26,7 +26,7 @@ function runSync(args) {
26
26
  describe('memd CLI', () => {
27
27
  it.concurrent('--version', async () => {
28
28
  const output = await run(['-v'])
29
- expect(output).toContain('3.1.0')
29
+ expect(output).toContain('3.1.2')
30
30
  })
31
31
 
32
32
  it.concurrent('--help', async () => {
@@ -145,6 +145,20 @@ describe('memd CLI', () => {
145
145
  expect(output).not.toMatch(/<br\s*\/?>/)
146
146
  })
147
147
 
148
+ it.concurrent('renders dotted.md (dotted arrow with spaced label)', async () => {
149
+ const output = await run(
150
+ ['--no-pager', '--no-color', '--width', '100', 'test/dotted.md'],
151
+ )
152
+ // Dotted arrow line character (unicode mode)
153
+ expect(output).toContain('\u2506')
154
+ // Edge label
155
+ expect(output).toContain('docker pull')
156
+ // Key nodes
157
+ expect(output).toContain('Push to GHCR')
158
+ expect(output).toContain('devcontainer up')
159
+ expect(output).toContain('Inside devcontainer')
160
+ })
161
+
148
162
  it('reads markdown from stdin via shell', () => {
149
163
  const output = execSync(
150
164
  `echo '# stdin test' | node ${MAIN} --no-pager --no-color`,