Contributing
Pull requests are welcome!
Conventional Commits
This project uses Conventional Commits to automate versioning and changelog generation. Use the following prefixes in your commit messages:
| Prefix | Version bump | Example |
|---|---|---|
fix: … | patch (1.0.x) | fix: correct cell resolution output |
feat: … | minor (1.x.0) | feat: add ISEA4T grid support |
feat!: … / fix!: … | major (x.0.0) | feat!: rename cellToChildren |
A release PR is opened automatically by the bot after commits land on main. Merging it creates the GitHub release and publishes to npm.
Development Setup
Prerequisites
- Node.js 20+
- Yarn (via corepack:
corepack enable) - Emscripten
Project Structure
| Folder | Description |
|---|---|
src-cpp | DGGRID C++ source (inspired by DGGRIDR) |
src-ts | TypeScript wrapper around the Emscripten output |
lib-wasm | JS/WASM output from Emscripten |
lib-wasm-py | Experimental Python wrapper build |
tests | JS unit tests |
Build
bash
yarn install
yarn buildThis compiles the WASM via Emscripten and builds the TypeScript wrapper and bundles.
Test
bash
yarn test