You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CLAUDE.md
+10-4Lines changed: 10 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,12 +20,18 @@ No test suite exists yet (`npm test` is a no-op).
20
20
**Data flow:** hex input → CSL web worker → `TxParseResult` → Zustand store → inspector tabs
21
21
22
22
1. User pastes hex or fetches a tx hash via Blockfrost
23
-
2.`use-csl-worker` hook posts hex to `/src/workers/csl-worker.ts` (runs `@emurgo/cardano-serialization-lib-asmjs`off the main thread)
23
+
2.`use-csl-worker` hook posts hex to `/src/workers/csl-worker.ts` (runs `@emurgo/cardano-serialization-lib-browser` — the wasm build — off the main thread; the build is forced through webpack because Turbopack can't resolve the wasm worker import)
24
24
3. Worker returns a `DomainTx` (or error) wrapped in `TxParseResult`
25
25
4. Result is stored in `useAppStore` (Zustand, `/src/lib/store.ts`)
26
26
5. Inspector tabs read from the store and render
27
27
28
-
**Server-side:** Next.js API routes under `src/app/api/blockfrost/` proxy Blockfrost calls, keeping API keys server-only. When `STATIC_EXPORT=true`, these routes are unavailable (GitHub Pages deployment).
28
+
**Server-side:** Next.js API routes under `src/app/api/blockfrost/` proxy Blockfrost calls, keeping API keys server-only. When `STATIC_EXPORT=true`, the app builds as a fully static export (`output: 'export'`) and these routes are unavailable.
29
+
30
+
## Deployment & Releases
31
+
32
+
-**Production** deploys continuously to **Render** — `.github/workflows/deploy.yml` triggers a Render deploy hook on every push to `main`. (CI in `ci.yml` runs lint + type-check + build on push/PR.)
33
+
-**Static export** (`STATIC_EXPORT=true`) is a separate, server-less build mode that disables all API routes — Blockfrost features require the Render server.
34
+
-**Versioning:**`next.config.ts` bakes the `package.json` version and short git commit into `NEXT_PUBLIC_APP_VERSION` / `NEXT_PUBLIC_GIT_COMMIT`, surfaced in the app. To cut a release: bump `package.json`, add a `CHANGELOG.md` entry, then tag `vX.Y.Z` on `main`.
29
35
30
36
## Directory Structure
31
37
@@ -58,7 +64,7 @@ src/
58
64
├── data/
59
65
│ └── known-labels.json Static label data
60
66
└── workers/
61
-
└── csl-worker.ts Web worker — CSL parsing (~2300 lines)
67
+
└── csl-worker.ts Web worker — CSL parsing (~2400 lines)
62
68
```
63
69
64
70
## Key Types (`src/domain/tx.ts`)
@@ -99,4 +105,4 @@ API response types in `src/lib/types/` follow the same discriminated-union patte
99
105
- No test suite
100
106
- Builder page is a non-functional stub
101
107
- Static export (`STATIC_EXPORT=true`) disables all API routes — Blockfrost features require a server
102
-
- CSL worker is a single large file (~2300 lines) that could benefit from splitting
108
+
- CSL worker is a single large file (~2400 lines) that could benefit from splitting
0 commit comments