Pull requests are welcome!
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.
- Node.js 20+
- Yarn (via corepack:
corepack enable) - Emscripten
| 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 |
yarn install
yarn buildThis compiles the WASM via Emscripten and builds the TypeScript wrapper and bundles.
yarn testyarn serveOpens the Emscripten default page — navigate to libdggrid.html to test the raw WASM. You can invoke functions directly:
Module.DgGEO_to_SEQNUM(0, 0, 0, 4, 10, 'HEXAGON', 'ISEA', [0], [0])