mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-10 05:12:14 +00:00
Local lab OCR reads a report photo on the device with tesseract.js, whose defaults load the worker, the WebAssembly core and the language data from cdn.jsdelivr.net. The production CSP allows workers and fetches only from this origin, so the engine could not load; where it did load (dev), the browser of anyone scanning a report contacted a third-party CDN. The worker, the three LSTM core builds and the deu and eng best_int language data (about 17 MB) are now copied from pinned packages into public/tesseract/ at prebuild and predev, and createWorker is pointed at them with the worker started from its URL rather than a blob. A test holds the options against the staged file list.
100 lines
2.4 KiB
Plaintext
100 lines
2.4 KiB
Plaintext
# dependencies
|
|
/node_modules
|
|
/.pnp
|
|
.pnp.*
|
|
.yarn/*
|
|
!.yarn/patches
|
|
!.yarn/plugins
|
|
!.yarn/releases
|
|
!.yarn/versions
|
|
|
|
# testing
|
|
/coverage
|
|
|
|
# HAR captures from production debugging (may contain auth headers/cookies)
|
|
*.har
|
|
|
|
# playwright e2e
|
|
/test-results
|
|
/playwright-report
|
|
/playwright/.cache
|
|
/e2e/setup/storageState*.json
|
|
|
|
# next.js
|
|
/.next/
|
|
/out/
|
|
|
|
# production
|
|
/build
|
|
|
|
# misc
|
|
.DS_Store
|
|
*.pem
|
|
|
|
# debug
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
.pnpm-debug.log*
|
|
|
|
# env files
|
|
.env
|
|
.env.local
|
|
.env.*.local
|
|
|
|
# typescript
|
|
*.tsbuildinfo
|
|
next-env.d.ts
|
|
|
|
# prisma generated — ignore the whole path so a stray symlink at
|
|
# `src/generated` (e.g. from a worktree) can never be committed
|
|
/src/generated
|
|
|
|
# v1.4.43 QoL (L3) — generated at build time by
|
|
# scripts/generate-sw-version.mjs; loaded by public/sw.js to key
|
|
# the cache-version baseline.
|
|
/public/sw-version.js
|
|
/public/i18n/
|
|
# In-browser OCR engine and language data, copied from node_modules by
|
|
# scripts/stage-tesseract-assets.mjs at prebuild/predev.
|
|
/public/tesseract/
|
|
|
|
# v1.4.27 B3 — MaxMind GeoLite2 databases are fetched at build time
|
|
# via `scripts/fetch-geolite2.sh`. Too large for git; license key
|
|
# required. The folder + a `.gitkeep` are tracked so the Dockerfile
|
|
# COPY target always exists.
|
|
/assets/geolite2/*.mmdb
|
|
|
|
# Local workspace files, never committed
|
|
/docs/superpowers/
|
|
.claude/
|
|
.cursor/
|
|
.codex/
|
|
.aider*
|
|
|
|
# Planning scratch — all internal per-release reports, QA findings, ad-hoc
|
|
# backlog, and the iOS coordination channel. These are internal working
|
|
# notes; everything user-facing lives in the public surfaces (README,
|
|
# CHANGELOG, docs/). Kept on disk for the working session, never tracked.
|
|
/.planning/
|
|
|
|
# Docs scratch — temporary spec drafts that live in the repo only
|
|
# while a release is in flight.
|
|
/docs/ios/
|
|
|
|
# Per-release internal forensic notes — retained locally for
|
|
# traceability across releases but not part of the public docs surface.
|
|
/docs/audit/
|
|
|
|
# Local screenshot/audit harnesses (repo-root for module resolution; never committed)
|
|
.audit-*.mjs
|
|
|
|
|
|
# Isolated development worktrees. `/.wt-*/` is the convention actually in use;
|
|
# each one is a full copy of the tree with its own node_modules, so leaving it
|
|
# untracked-but-visible means one `git add -A` commits the repository eleven
|
|
# times over. The same two names are excluded from eslint and vitest, for the
|
|
# same reason in a different tool.
|
|
/.wt-*/
|
|
/.worktrees/
|