Supported browsers are the latest versions of Google Chrome, Apple Safari, Mozilla Firefox, and Microsoft Edge (Chromium).
We use the Atlassian Gitflow Workflow. To quote from that article,
The overall flow of Gitflow is:
- A develop branch is created from master
- A release branch is created from develop
- Feature branches are created from develop
- When a feature is complete it is merged into the develop branch
- When the release branch is done it is merged into... master
- If an issue in master is detected a hotfix branch is created from master
- Once the hotfix is complete it is merged to both develop and master
One variation is that after a point release is created in master
, it is merged into develop
to maintain the two-way connectivity between them. (Gitflow merges from the release branch into master
and develop
in line 5, above.)
Two main constraints:
- The
master
branch has client-ready software - The
develop
branch has demo-ready software
Using TypeScript allows us to add type information to request params and response structures. This vastly simplifies development. TypeScript also has excellent support for newer async
/await
patterns and for generating API documentation with TypeDoc.
TypeScript compiles to JavaScript so you can use @esri/solution.js in any JavaScript project. However if you use TypeScript you will get the benefits of type checking for free.
We also really like TypeScript because it supports exporting to both ES 2015 modules (use import
/export
) and UMD modules. This allows us to support a wide variety of module loaders and bundlers, including Browserify, Webpack, RequireJS, and Dojo 1 and 2.
We include tslib
as a dependency of individual npm packages to make usage of _extends
and _assign
in our compiled code more concise.