Commit graph

5 commits

Author SHA1 Message Date
Aric Camarata
79e2c03505 chore: refresh CI workflow + TypeDoc wiki (E5 conformance) 2026-05-30 18:37:50 -04:00
Aric Camarata
fb95c4a26f feat(e6): portfolio polish — docs, CI, TypeScript standard, wiki
- Trim README to ≤80 lines with wiki link for full docs
- Add CHANGELOG.md with initial entry
- Fix CI: replace pinned pnpm/action-setup with corepack enable
- Add "type": "module" and flat exports map (ADR-015)
- Add ./package.json exports entry
- Add coverage script
- Rename wasm/spa-module.js → wasm/spa-module.cjs to fix CJS/ESM conflict
- Update src/index.ts and tsup.config.ts to reference spa-module.cjs
- Add .github/wiki pages: _Sidebar, _Footer, SECURITY, CODE_OF_CONDUCT
2026-05-28 13:59:50 -04:00
Aric Camarata
fb0c14e761 v2.0.0: TypeScript rewrite with WASM recompilation
Complete rewrite of the package from plain JavaScript to TypeScript,
compiled to dual CJS/ESM via tsup. The NREL SPA C source is recompiled
to WASM with Emscripten using SINGLE_FILE base64 inlining, eliminating
bundler path-resolution issues.

Changes:
- Rewrite JS wrapper in TypeScript with full type definitions
- Recompile WASM with -O3 -flto, 1MB fixed memory, no filesystem
- Add input validation with descriptive error messages
- Add spaFormatted() for HH:MM:SS time strings
- Add formatTime() utility and init() for eager WASM loading
- Add SPA_ZA, SPA_ZA_INC, SPA_ZA_RTS, SPA_ALL function code exports
- Dual CJS/ESM output via tsup with proper exports map
- Test suite: 68 ESM + 13 CJS assertions
- 100-scenario validation suite across 7 categories
- GitHub Wiki with 8 documentation pages
- CI workflow: Node 20/22/24 matrix, typecheck, pack-check
- NREL attribution in LICENSE and README per their license terms
- Minimum Node.js 20
2026-02-25 10:35:24 -05:00
e5f2a3c27a
Update README.md 2025-03-07 09:43:43 -05:00
f10c64c5f1 first commit 2023-03-31 23:26:40 -04:00