Skip to content

📝 docs(readmes): give every generated badge row an "Open in StackBlitz" badge - #95

Merged
vtempest merged 1 commit into
masterfrom
claude/compassionate-noether-fcq290
Sep 11, 2026
Merged

📝 docs(readmes): give every generated badge row an "Open in StackBlitz" badge#95
vtempest merged 1 commit into
masterfrom
claude/compassionate-noether-fcq290

Conversation

@vtempest

Copy link
Copy Markdown
Collaborator

Package READMEs here already carried an Open in StackBlitz badge, but two kinds of badge row did not: the root README's, and any generated row for something that does not publish to npm.

scripts/sync-package-readmes.mjs — the badge was gated on the package being published (published && !NO_STACKBLITZ.has(...)). StackBlitz boots from the package.json at the path it is handed, not from the registry, so a private package or an app runs there just as well. The gate is now "has a manifest", with NO_STACKBLITZ still keeping out the Worker, Tauri and VS Code targets StackBlitz genuinely cannot run.

Regenerated with bun run readmes + bun run docs:sync:

  • apps/Cloud-Computer-Control-Panel/README.md (and its docs page) gains the badge.
  • packages/legal-terms-privacy-policy/readme.md also picks up a fix the generator was already owed: its npm badges pointed at legal-terms-privacy-policy, but the package publishes as legal-terms, and its Codecov flag badge was missing.
  • packages/server-shell-setup still gets no badge — it has no package.json for StackBlitz to install from.

README.md — the root row gains a badge next to the Codespaces one, opening packages/create-starter-app, the CLI you would actually run from a fresh editor. The repo root itself is a bun workspace that will not install in a WebContainer.

node scripts/sync-package-readmes.mjs --check (what CI runs) is clean.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Kkb27RSQgLWvRWv1vcdJef


Generated by Claude Code

…z" badge

The generator gated the StackBlitz badge on the package being published
to npm, but StackBlitz boots from the manifest at the path it is handed,
not from the registry — so a private package or an app runs there just
as well. The gate is now "has a package.json", with NO_STACKBLITZ still
keeping out the Worker, Tauri and VS Code targets it genuinely cannot
run, and the root README's badge row gets one too.

Regenerated with `bun run readmes` and `bun run docs:sync`, which also
picks up the stale `legal-terms` npm name in that package's badges.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Kkb27RSQgLWvRWv1vcdJef
@vercel

vercel Bot commented Sep 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
app-demo Building Building Preview Sep 11, 2026 2:51pm UTC
cccp-deployment Building Building Preview Sep 11, 2026 2:51pm UTC

@vtempest
vtempest merged commit 4c62ca0 into master Sep 11, 2026
23 of 28 checks passed
@vtempest
vtempest deleted the claude/compassionate-noether-fcq290 branch September 11, 2026 14:51
@codecov

codecov Bot commented Sep 11, 2026

Copy link
Copy Markdown

❌ 28 Tests Failed:

Tests completed Failed Passed Skipped
287 28 259 0
View the full list of 28 ❄️ flaky test(s)
test/api.test.ts > SMS Verification API > Documentation Endpoints > should serve OpenAPI documentation

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.00205s run time
AssertionError: expected 404 to be 200 // Object.is equality

- Expected
+ Received

- 200
+ 404

 ❯ test/api.test.ts:187:26
test/api.test.ts > SMS Verification API > Documentation Endpoints > should serve Swagger UI

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.00359s run time
AssertionError: expected 'application/json' to contain 'text/html'

Expected: "text/html"
Received: "application/json"

 ❯ test/api.test.ts:202:47
test/api.test.ts > SMS Verification API > Health Check > should return health status

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.0614s run time
AssertionError: expected { success: true, …(3) } to match object { status: 'ok' }
(3 matching properties omitted from actual)

- Expected
+ Received

  {
-   "status": "ok",
+   "status": "healthy",
  }

 ❯ test/api.test.ts:23:20
test/api.test.ts > SMS Verification API > Send Verification Code > should accept Bearer token authentication

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.0041s run time
AssertionError: expected 401 to be 200 // Object.is equality

- Expected
+ Received

- 200
+ 401

 ❯ test/api.test.ts:66:26
test/api.test.ts > SMS Verification API > Send Verification Code > should accept blockVoip parameter

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.00425s run time
AssertionError: expected 401 to be 200 // Object.is equality

- Expected
+ Received

- 200
+ 401

 ❯ test/api.test.ts:107:26
test/api.test.ts > SMS Verification API > Send Verification Code > should format phone number correctly

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.00645s run time
AssertionError: expected 401 to be 200 // Object.is equality

- Expected
+ Received

- 200
+ 401

 ❯ test/api.test.ts:94:26
test/api.test.ts > SMS Verification API > Send Verification Code > should handle blockVoip=false parameter

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.00213s run time
AssertionError: expected 401 to be 200 // Object.is equality

- Expected
+ Received

- 200
+ 401

 ❯ test/api.test.ts:120:26
test/api.test.ts > SMS Verification API > Send Verification Code > should reject invalid API key

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.00498s run time
AssertionError: expected { success: false, …(2) } to match object { error: 'Invalid API key' }
(2 matching properties omitted from actual)

- Expected
+ Received

  {
-   "error": "Invalid API key",
+   "error": "Unauthorized",
  }

 ❯ test/api.test.ts:52:20
test/api.test.ts > SMS Verification API > Send Verification Code > should reject invalid phone number format

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.0024s run time
AssertionError: expected 401 to be 400 // Object.is equality

- Expected
+ Received

- 400
+ 401

 ❯ test/api.test.ts:79:26
test/api.test.ts > SMS Verification API > Send Verification Code > should require API key authentication

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.00351s run time
AssertionError: expected { success: false, …(2) } to match object { error: 'API key required' }
(2 matching properties omitted from actual)

- Expected
+ Received

  {
-   "error": "API key required",
+   "error": "Unauthorized",
  }

 ❯ test/api.test.ts:37:20
test/api.test.ts > SMS Verification API > Verify Code > should accept Bearer token authentication

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.00224s run time
AssertionError: expected 401 to be 400 // Object.is equality

- Expected
+ Received

- 400
+ 401

 ❯ test/api.test.ts:176:26
test/api.test.ts > SMS Verification API > Verify Code > should reject invalid API key

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.00836s run time
AssertionError: expected { success: false, …(2) } to match object { error: 'Invalid API key' }
(2 matching properties omitted from actual)

- Expected
+ Received

  {
-   "error": "Invalid API key",
+   "error": "Unauthorized",
  }

 ❯ test/api.test.ts:147:20
test/api.test.ts > SMS Verification API > Verify Code > should reject invalid phone number format

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.00448s run time
AssertionError: expected 401 to be 400 // Object.is equality

- Expected
+ Received

- 400
+ 401

 ❯ test/api.test.ts:161:26
test/api.test.ts > SMS Verification API > Verify Code > should require API key authentication

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.00712s run time
AssertionError: expected { success: false, …(2) } to match object { error: 'API key required' }
(2 matching properties omitted from actual)

- Expected
+ Received

  {
-   "error": "API key required",
+   "error": "Unauthorized",
  }

 ❯ test/api.test.ts:132:20
test/integration.test.ts > SMS Verification API Integration Tests > API Endpoints > should handle send verification endpoint

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.00236s run time
AssertionError: expected 401 to be 200 // Object.is equality

- Expected
+ Received

- 200
+ 401

 ❯ test/integration.test.ts:127:26
test/integration.test.ts > SMS Verification API Integration Tests > API Endpoints > should handle verify code endpoint

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.00249s run time
AssertionError: expected 401 to be 400 // Object.is equality

- Expected
+ Received

- 400
+ 401

 ❯ test/integration.test.ts:148:26
test/integration.test.ts > SMS Verification API Integration Tests > Authentication Methods > should accept both X-API-Key and Bearer token headers

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.0463s run time
AssertionError: expected 401 to be 200 // Object.is equality

- Expected
+ Received

- 200
+ 401

 ❯ test/integration.test.ts:24:27
test/integration.test.ts > SMS Verification API Integration Tests > Authentication Methods > should reject requests with invalid authentication

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.00411s run time
AssertionError: expected 'Unauthorized' to be 'Invalid API key' // Object.is equality

Expected: "Invalid API key"
Received: "Unauthorized"

 ❯ test/integration.test.ts:63:26
test/integration.test.ts > SMS Verification API Integration Tests > Authentication Methods > should reject requests without authentication

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.00506s run time
AssertionError: expected 'Unauthorized' to be 'API key required' // Object.is equality

Expected: "API key required"
Received: "Unauthorized"

 ❯ test/integration.test.ts:48:26
test/integration.test.ts > SMS Verification API Integration Tests > Phone Number Formatting > should format various phone number formats correctly

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.00281s run time
AssertionError: expected 401 to be 200 // Object.is equality

- Expected
+ Received

- 200
+ 401

 ❯ test/integration.test.ts:86:28
test/integration.test.ts > SMS Verification API Integration Tests > Phone Number Formatting > should reject clearly invalid phone numbers

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.00304s run time
AssertionError: expected 401 to be 400 // Object.is equality

- Expected
+ Received

- 400
+ 401

 ❯ test/integration.test.ts:109:28
test/server.test.ts > SMS Verification API Server > API Authentication > should require API key for protected endpoints

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.0099s run time
AssertionError: expected 500 to be 401 // Object.is equality

- Expected
+ Received

- 401
+ 500

 ❯ test/server.test.ts:55:26
test/server.test.ts > SMS Verification API Server > Documentation > should serve OpenAPI documentation

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.00453s run time
AssertionError: expected 500 to be 200 // Object.is equality

- Expected
+ Received

- 200
+ 500

 ❯ test/server.test.ts:78:26
test/server.test.ts > SMS Verification API Server > Error Handling > should return 404 for non-existent endpoints

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.00421s run time
SyntaxError: Unexpected non-whitespace character after JSON at position 4
 ❯ test/server.test.ts:85:25
test/voip.test.ts > VoIP Blocking Functionality > VoIP detection logic > should correctly identify VoIP numbers

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.12s run time
AssertionError: expected false to be true // Object.is equality

- Expected
+ Received

- true
+ false

 ❯ test/voip.test.ts:77:22
test/voip.test.ts > VoIP Blocking Functionality > blockVoip parameter > should accept blockVoip=true parameter

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.00237s run time
AssertionError: expected 401 to be 200 // Object.is equality

- Expected
+ Received

- 200
+ 401

 ❯ test/voip.test.ts:47:26
test/voip.test.ts > VoIP Blocking Functionality > blockVoip parameter > should allow requests when blockVoip is false

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.00213s run time
AssertionError: expected 401 to be 200 // Object.is equality

- Expected
+ Received

- 200
+ 401

 ❯ test/voip.test.ts:34:26
test/voip.test.ts > VoIP Blocking Functionality > blockVoip parameter > should allow requests when blockVoip is not specified

Flake rate in main: 100.00% (Passed 0 times, Failed 45 times)

Stack Traces | 0.0343s run time
AssertionError: expected 401 to be 200 // Object.is equality

- Expected
+ Received

- 200
+ 401

 ❯ test/voip.test.ts:21:26

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant