- Most work happens in sub modules. These are modules prefixed with "turf-".
- If you would like to propose a new feature, open an issue in Turfjs/turf.
- Always include tests. We use tape.
- Turf modules are small, containing a single exported function.
- GeoJSON is the lingua franca of Turf. It should be used as the data structure for anything that can be represented as geography.
- Avoid large dependencies at all costs.
- Turf is used in a wide range of places. Make sure that your code can run in the browser (ie: don't make calls to external services, don't hit the filesystem, etc.).
- The
README.md
files inpackages/turf-<module>
are automatically generated from the JSDocs of theindex.js
. Please modify the JSDocs instead of modifying theREADME.md
files directly. To update/create theREADME.md
execute./scripts/generate-readme
or runnpm run docs
from the root TurfJS directory.
To ensure code style at the turf
module level, run
$ npm test
- Follow the AirBNB JavaScript code style.
- Turf aims to use ES5 features where rational. We do not use ES6 features.
turf-<module>
│ index.js
│ index.d.ts
│ bench.js
│ test.js
| types.ts
│ package.json
│ README.md
│ LICENSE
│
└───tests
│
├───in
│ points.geojson
│
└───out
points.geojson
Install lerna:
$ npm install -g [email protected]
Publish a test release:
$ lerna publish --canary