mirror of
https://github.com/acamarata/solar-spa.git
synced 2026-06-30 19:04:28 +00:00
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
63 lines
826 B
Text
63 lines
826 B
Text
# ─── Dependencies ───
|
|
node_modules/
|
|
.pnp
|
|
.pnp.js
|
|
|
|
# ─── Build ───
|
|
dist/
|
|
build/
|
|
out/
|
|
*.tsbuildinfo
|
|
|
|
# ─── Environment ───
|
|
.env
|
|
.env.*
|
|
!.env.example
|
|
|
|
# ─── OS ───
|
|
.DS_Store
|
|
Thumbs.db
|
|
._*
|
|
Desktop.ini
|
|
$RECYCLE.BIN/
|
|
|
|
# ─── IDE / Editor ───
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
*.sublime-project
|
|
*.sublime-workspace
|
|
|
|
# ─── Logs ───
|
|
*.log
|
|
npm-debug.log*
|
|
pnpm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
lerna-debug.log*
|
|
|
|
# ─── Testing / Coverage ───
|
|
coverage/
|
|
.nyc_output/
|
|
|
|
# ─── AI Agents ───
|
|
.claude/
|
|
.cursor/
|
|
.copilot/
|
|
.github/copilot/
|
|
.aider*
|
|
.codeium/
|
|
.tabnine/
|
|
.windsurf/
|
|
.cody/
|
|
.sourcegraph/
|
|
|
|
# ─── Packages ───
|
|
*.tgz
|
|
|
|
# ─── Custom ───
|
|
# C compilation artifacts (WASM binary is pre-compiled and tracked)
|
|
*.o
|
|
*.a
|