Awesome
generator-arcgis-js-app
Yeoman generator
This is a yeoman generator for ArcGIS API for JavaScript applications.
Getting Started
What is Yeoman?
Trick question. It's not a thing. It's this guy:
Basically, he wears a top hat, lives in your computer, and waits for you to tell him what kind of application you wish to create.
Not every new computer comes with a Yeoman pre-installed. He lives in the npm package repository. You only have to ask for him once, then he packs up and moves into your hard drive. Make sure you clean up, he likes new and shiny things.
npm install -g yo
npm install -g bower
Bower is a required dependency of using the packages in the generated app.
Yeoman Generators
Yeoman travels light. He didn't pack any generators when he moved in. You can think of a generator like a plug-in. You get to choose what type of application you wish to create, such as a Backbone application or even a Chrome extension.
To install generator-arcgis-js-app from npm, run:
npm install -g generator-arcgis-js-app
Finally, initiate the generator inside application folder:
yo arcgis-js-app
or
yo arcgis-js-app application-name
You will be asked:
- Application name if not provided
- Description of application
- ArcGIS API Version (3.x or 4.x)
- Use Stylus or Sass
- Email to be used in package information
Will create component and tests. Updates intern.js
with test suite.
What is used?
- New use 3.x or 4.x of the ArcGIS API for JavaScript
- Output application uses GruntJS for running tasks
- All code is written in ES6/ES2015 and transpiled with babel
- Uses eslint to lint code
- Uses stylus or sass as a css preprocessor
- Uses livereload for easier development workflow
Usage
grunt
- default task, will output code to a dist
folder with sourcemaps.
grunt dev
- will start a local server on at http://localhost:8282/
and watch for changes. Uses livereload to refresh browser with each update.
http://localhost:8282/dist/
- application
http://localhost:8282/node_modules/intern/client.html?config=tests/intern
- test suites
grunt build
- build the application and output to a release
folder.
grunt e2e
- runs all tests using local chromedriver.
Still a beta
- Considering implementing a widgetloader
- Needs ability to inject code into Application.js
- Guide on application architecture
Notes
Uses theintern.io for testing.
It is recommended that you use NPM 3.x to install dependencies, as this will reduce the time it takes for Babel to transpile ES2015 code.
Getting To Know Yeoman
Yeoman has a heart of gold. He's a person with feelings and opinions, but he's very easy to work with. If you think he's too opinionated, he can be easily convinced.
If you'd like to get to know Yeoman better and meet some of his friends, Grunt and Bower, check out the complete Getting Started Guide.
License
MIT