Before releasing, make sure the relevant maintenance docs are still accurate:
SYSTEM_DOC.mddocs/MAINTAINERS_GUIDE.mddocs/ARCHITECTURE_MAP.mddocs/TROUBLESHOOTING.mddocs/PRIVACY_AND_LIMITATIONS.mddocs/OFFLINE_RELEASE.md
Use this checklist before publishing a new WebPad++ build.
npm test
npm run test:syntax
npm run vendor:audit
npm run docs:auditFor an offline or privacy-sensitive release:
npm run vendor:audit:strictOpen index.html or the local server build and verify:
- File explorer opens and can create a file.
- HTML / CSS / JS preview still works.
- Markdown visual editing still opens.
- QR generation works.
- QR image decoding works with a known QR image.
- OCR upload works with a clear Traditional Chinese test image.
- PDF opens and extracts text.
- DOCX opens.
- XLSX or CSV opens and exports.
- Reset All clears local workspace data.
For a normal web release:
- Confirm the README mentions third-party requests and CDN fallback honestly.
- Confirm Google Analytics is intentional.
- Confirm CDN fallback is acceptable for the target audience.
For an offline release:
- Remove or disable Google Analytics.
- Replace Tailwind CDN runtime with built local CSS.
- Bundle all vendor files listed in
scripts/vendor-dependencies.json. - Bundle required OCR language data under
libs/tessdata/. - Configure
window.WEBCODING_TESSDATA_PATHSbefore OCR starts. - Use the browser Network panel to confirm no unexpected external requests.
For an analytics-enabled local-first release:
- Confirm Google Analytics is intentional and disclosed.
- Run
npm run build:offline:analytics. - Run
npm run offline:audit:analytics. - Confirm the Network panel shows Google Analytics as the intentional external request, not accidental CDN fallback.
Run:
npm run docs:auditThen manually check:
- README deployment modes are accurate.
- Privacy wording does not overpromise.
- OCR limitations are visible.
- Offline requirements are clear.
- New dependencies are listed in
scripts/vendor-dependencies.json.
- Run
npm run vendor:fetchin a network-enabled environment. - Add required OCR language data under
libs/tessdata/. - Run
npm run build:offline. - Run
npm run offline:audit:strictfor sensitive/offline distribution. - Open
dist/offline/index.htmland inspect the browser Network panel during supported workflows. - Confirm QR, OCR, PDF, DOCX, XLSX, formatting, compare, and export flows work with representative files.