Esri welcomes contributions from anyone and everyone. Please see our guidelines for contributing.
Please take a look at previous issues that resolve common problems.
If you're just looking for help, you'll probably attract the most eyes if you post in GIS Stackexchange or the Esri Leaflet place on GeoNet.
If you think you're encountering a new bug, please feel free to log an issue and include the steps to reproduce the problem (and preferably a running sample).
There is a lot of room for contributions to Esri Leaflet. Make sure you checkout the development instructions in the readme to help you get started.
The Esri Leaflet website is written using http://assemble.io/ and can be found at https://github.com/Esri/esri-leaflet/tree/master/site/source. You can use the existing examples as a reference.
Esri Leaflet has a fairly comprehensive test suite built with Mocha, Chai, Sinon, Karma and Grunt. Tests can be found in at https://github.com/Esri/esri-leaflet/tree/master/spec.
You can run the tests with the grunt karma:watch
to watch files and rerun test automatically and grunt karma:coverage
(to generate a code coverage report.
support for new layer types and services are always needed. The plugin candidates list is a good place to start.
Of course! if you develop reusuable components for use with Esri Leaflet that you think would be helpful to share with other developers, please file an issue so we discuss it.
Make Sure you have the Grunt CLI installed.
- Fork and clone Esri Leaflet
cd
into theesri-leaflet
folder- Install the dependencies with
npm install
- run
grunt
from the command line. This will start the web server locally at http://localhost:8001 and start watching the source files and running linting and testing commands. - Make your changes and create a pull request
Please make sure your changes pass JS Hint. This will help make sure code is consistant throguh out Esri Leaflet. You can run JS Hint with grunt jshint
.
Please make sure your changes dont break existing tests. Testing is essential for determining backward compatibility and catching breaking changes. You can run tests with grunt karma:run
, grunt karma:watch
or grunt karma:coverage.