Skip to content

Latest commit

 

History

History
65 lines (41 loc) · 2.96 KB

CONTRIBUTING.md

File metadata and controls

65 lines (41 loc) · 2.96 KB

Esri welcomes contributions from anyone and everyone. Please see our guidelines for contributing.

Before filing an issue

If something isn't working the way you expected, please take a look at previously logged issues first. Have you found a new bug? Want to request a new feature? We'd love to hear from you.

If you're looking for help you can also post issues on GIS Stackexchange.

Please include the following information in your issue:

  • Browser (or Node.js) version
  • a snippet of code
  • an explanation of
    • what you saw
    • what you expected to see

I want to contribute, what should I work on?

Any open issues are fair game. Even just telling us what you want to see would be extremely helpful!

Getting a development environment set up

You don't have to but we recommend installing TypeScript, TSLint, Prettier and EditorConfig extensions for your editor of choice.

Running the tests

@esri/arcgis-rest-js has a comprehensive test suite built with Karma and Jasmine The tests can be found in /packages/*/test/.

You can run all the tests with npm test.

  • npm run test:chrome:debug runs the Karma tests in Chrome and watches for changes. In the opened Chrome window you can click "Debug" and refresh the page to enter the debugger for tests.
  • npm run test:node:debug run the node tests, automatically opening the Chrome (60+) debugger. This is great for debugging the tests while you are working.

Formatting commit messsages

Using npm run c (instead of git commit) create messages our handy script can parse to categorize your bug fix, new feature or breaking change and associate it with relevant packages in our CHANGELOG automatically.

This isn't mandatory, but it is pretty cool. ✨

Building the documentation site locally

We use TypeDoc and acetate to turn the inline documentation into a snazzy website.

Watching local source for changes

you can run the command below in the root of the repo to automatically recompile a package when the raw TypeScript source changes

# watch 'request' and rebuild a UMD for the browser
npm run dev -- umd @esri/arcgis-rest-request

# rebuild ES6 files
npm run dev -- esm @esri/arcgis-rest-request

# rebuild CommonJS
npm run dev -- node @esri/arcgis-rest-request

# watch all the packages
npm run dev -- umd @esri/*