testdrive-jsui/docs/PUBLICATION_CHECKLIST.md
tegwick a9a27b86bb
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
fix(package): emit CJS as .cjs, add exports map, expose control classes in bundles
- type:module + CJS .js main broke import/require in Node; main now dist/testdrive-jsui.cjs
- exports map: types, import->esm, require->cjs, browser->min, ./style.css, ./dist/*
- dist bundles failed on load (ControlBase is not defined): bundler shims module, so the
  window.X else-branch never ran; controls now always set window globals
- npm pkg fix applied (repository url normalised)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: sonnet
Assistant-Process: 299063@bnt-lap001
Assistant-Session: 53eb1e1c-c13a-4277-9ce2-3702960d93f7
2026-10-02 22:44:04 +02:00

34 lines
No EOL
1.1 KiB
Markdown

# NPM Publication Checklist
Verified as part of JSUI-WP-0002 (2026-07-08).
## Build outputs
- [x] `npm run build` / `npm run build:prod` produces `dist/` bundles
- [x] `dist/testdrive-jsui.cjs` — CommonJS entry (`package.json` `main`)
- [x] `dist/testdrive-jsui.esm.js` — ESM entry (`module`)
- [x] `dist/testdrive-jsui.min.js` — UMD/browser (`browser`, `unpkg`, `jsdelivr`)
- [x] `dist/testdrive-jsui.css` — packaged styles (`style` field)
## Browser smoke
- [x] `test/minified-test.html` — UMD smoke file present (manual browser open)
- [x] `test/esm-test.html` — ESM smoke file present
- [x] `test/umd-test.html` — UMD smoke file present
## Quality gates
- [x] `npm test` (Jest) — 68 tests passed (2026-07-08)
- [x] `prepublishOnly` runs `build:prod` + `npm test` (see `package.json` scripts)
- [x] `npm pack --dry-run` lists dist + README/LICENSE/CHANGELOG
## README install examples
- [ ] npm: `npm install testdrive-jsui`
- [ ] CDN script tags documented in README Quick Start
- [ ] `marked` documented as peer dependency
## Post-publish
- [ ] Tag release in Forgejo
- [ ] Confirm jsdelivr/unpkg resolve `dist/testdrive-jsui.min.js`