node package manager


A generator for Yeoman

Adaptive.js Generator

A generator for Yeoman that lets you quickly setup an Adaptive.js project.

Install generator-adaptivejs:

npm install -g generator-adaptivejs

Run yo adaptivejs:

yo adaptivejs

Follow the prompts and answer the required questions

Once completed, run grunt preview to start previewing

If you made a change to generator-adaptivejs and you want to test the local version of the Yeoman generator, run npm link and then yo adaptivejs.

Specifying the --slug option allows you to skip the prompt for entering the project's slug:

yo adaptivejs --slug [project-slug]

Specifying the --url option allows you to skip the prompt for entering your site's URL:

yo adaptivejs --url [site-url]

If you want to use some simple defaults, you can use the --defaults option:

yo adaptivejs --defaults

For Mobify's specific defaults, use the following:

yo adaptivejs --defaults mobify

JavaScript source code in this generator is linted with ESLint according to our code syntax and style standards here at Mobify.

Linting may be run with:

grunt lint

To run tests within generator-adaptivejs itself (generator source code will be linted as well):

npm test

To run unit and integration tests in the generated project:

grunt test

To run nightwatch WebDriver tests in the generated project:

grunt nightwatch

To run nightwatch tests locally on a real device (android or ios, requires Appium):

grunt android (or grunt ios)

To run nightwatch tests on an Android emulator or iOS simulator on Sauce Labs:

grunt sauce-android (or grunt sauce-ios)

The Adaptive generator allows you to install one of two selector libraries: jQuery or Zepto. We build custom versions of these selector libraries in order to add/remove specific features we require/don't require. Follow the directions below to build a custom version of your selector library of choice.

By default, we remove a number of jQuery modules to reduce the overall file size. Please see the jQuery README in github for more information.

$ git clone
$ cd jquery
$ npm install
$ grunt custom:-deprecated,-ajax/jsonp,-deferred

By default we build Zepto with the addition of the selector, stack, and data modules. Please see the Zepto README in github for more information.

$ git clone
$ cd zepto
$ npm install
# build a custom zepto
$ MODULES="zepto event ajax form fx selector stack data" npm run-script dist

Once built, copy the zepto.js and zepto.min.js files into the app/vendor/zepto directory in the root of your Adaptive project.

When releasing a new version, follow these steps:

  1. Bump version in package.json
  2. Add to CHANGELOG
  3. Create a new git tag corresponding to that version and push to origin.
  4. npm publish