2.3 KiB
2.3 KiB
Tasks — @suaveplan/caddy-imgproxy
- Scaffold
packages/media/image/caddy-imgproxy/(package.json @ 0.1.0, vite/vitest/tsconfig, tests/setup/polyfills.ts). - Implement
src/types/types.ts(ParsedImgproxyUrl,ImgproxyConfig,RewriteResult). - Implement
src/error-codes/error-codes.ts(CADDY_IMGPROXY_CODES+CaddyImgproxyError) — verify every code is reachable fromsrc/. - Implement
src/telemetry/telemetry.ts(3 counters + 1 histogram, meter@suaveplan/caddy-imgproxy). - Implement
src/parse/parse-url.ts— verbatim port of Go regex + state machine, telemetry on every call. - Implement
src/dimensions/calculate-dimensions.ts— aspect-ratio + hint resolution. - Implement
src/gravity/gravity.ts— 9-direction map +gravityToImgproxy. - Implement
src/operation/operation.ts— 5-op switch matching Go. - Implement
src/signing/sign-path.ts—signImgproxyPath, injectable hash viaHashLike-shaped seam (default =@suaveplan/crypto-hash). - Implement
src/url-builder/url-builder.ts— composes signature + processing +s3://...@<format>segment. - Implement
src/domain/extract-domain.ts— strips port, dropsimages.subdomain. - Implement
src/config/config.ts— Zod schema +parseConfigraisingINVALID_OPTIONS/INVALID_KEY/INVALID_SALT. - Implement
src/handler/handler.ts—ImgproxyHandlerorchestrator with injectableClock+LoggerLike, span + histogram emission. - Author co-located
.mdfor every implementation file (Purpose ≥2 sentences, Features, Usage Basic, Usage Advanced, API Reference, Implementation Notes, ≥200 words). - Author
src/index.tsexplicit named re-export barrel and per-featureindex.tsbarrels (noexport *). - Author
README.mdat package root with H1, install, quick start, Modules section. - Run
bunx turbo lint typecheck test build --filter=@suaveplan/caddy-imgproxy— green. - Run
bunx turbo test:coverage --filter=@suaveplan/caddy-imgproxy— 100/100/100/100. - Run
bun scripts/folder-reorg/generate-manifest.tsto refreshMANIFEST.md. - Flip the row in
STATUS.mdfrom–to✅with one-line README description. - Fold
specs/caddy-imgproxy/spec.mdintoopenspec/specs/caddy-imgproxy/spec.md. - Move
openspec/changes/enterprise-caddy-imgproxy/→openspec/archive/2026-05-25-enterprise-caddy-imgproxy/.