Skip to content

Latest commit

 

History

History
88 lines (65 loc) · 2.6 KB

File metadata and controls

88 lines (65 loc) · 2.6 KB

Implementation Progress

Tracks completion of the steps in PLAN.md §10.

Step 1 — Scaffold

  • LICENSE (MIT, Mannes Brak)
  • .github/FUNDING.yml
  • .github/workflows/ci.yml
  • .github/workflows/release.yml
  • .gitignore
  • package.json
  • tsconfig.json (wide, noEmit)
  • tsconfig.build.json (narrow, emits to dist)
  • eslint.config.js
  • vitest.config.ts
  • bin/thermal-label.js (shebang + dynamic import)
  • src/index.ts (placeholder, wired in Step 7)
  • PROGRESS.md / DECISIONS.md / BLOCKERS.md
  • pnpm install completes cleanly
  • Commit

Step 2 — Driver discovery

  • src/discovery.tsloadDrivers, listDriverStatus, KNOWN_DRIVERS
  • src/__tests__/discovery.test.ts — all mocked, no real driver imports
  • Gate: typecheck + lint + test + build
  • Commit

Step 3 — List command

  • src/commands/list.ts
  • src/__tests__/list.test.ts
  • Gate: typecheck + lint + test + build
  • Commit

Step 4 — Status command

  • src/commands/status.ts
  • src/commands/select.ts (shared printer-selection logic)
  • src/__tests__/status.test.ts
  • Gate: typecheck + lint + test + build
  • Commit

Step 5 — Render helpers

  • src/render.tsrenderTextLabel, renderImageLabel, labelBitmapToRawImageData
  • src/__tests__/render.test.ts — added early for coverage
  • Gate: typecheck + lint + test + build
  • Commit

Step 6 — Print commands

  • src/commands/print-text.ts
  • src/commands/print-image.ts
  • src/__tests__/print-text.test.ts
  • src/__tests__/print-image.test.ts
  • Gate: typecheck + lint + test + build
  • Commit

Step 7 — CLI entry point

  • src/index.ts — commander program setup, wire all commands
  • Verify node bin/thermal-label.js --help works
  • Verify node bin/thermal-label.js list --drivers against real (unretrofitted) drivers
  • Gate: typecheck + lint + test + build
  • Commit

Step 8 — README

  • Publish-ready per PLAN §8
  • Commit

Step 9 — Final

  • pnpm test:coverage — thresholds pass (95/84/81/95)
  • Verify all PROGRESS.md checkboxes ticked
  • Commit

Step N — MediaDescriptor refactor

Plan: ../brother-ql/MEDIA_DESCRIPTOR_REFACTOR.md

  • Bump @thermal-label/contracts to ^0.2.0
  • status command formats media.palette.length-colour instead of colorCapable
  • Test fixtures drop colorCapable: false (status.test.ts, print-text.test.ts, print-image.test.ts)
  • Gates green (typecheck, lint, format, test, build)