cordova-android/bin/node_modules/q/CONTRIBUTING.md
Braden Shepherdson b57317bdc2 Refactoring Android project-level and platform scripts to use Q.js
This eliminates the use of shelljs.exec's sync mode, which is the source
of the filehandle leaks that can cause EMFILE on OSX, and are
CPU-intensive everywhere.

Tested locally, needs poking before it gets released.
2013-10-16 13:10:53 -04:00

1.7 KiB

For pull requests:

  • Be consistent with prevalent style and design decisions.

  • Add a Jasmine spec to specs/q-spec.js.

  • Use npm test to avoid regressions.

  • Run tests in q-spec/run.html in as many supported browsers as you can find the will to deal with.

  • Do not build minified versions; we do this each release.

  • If you would be so kind, add a note to CHANGES.md in an appropriate section:

    • Next Major Version if it introduces backward incompatibilities to code in the wild using documented features.
    • Next Minor Version if it adds a new feature.
    • Next Patch Version if it fixes a bug.

For releases:

  • Run npm test.
  • Run tests in q-spec/run.html in a representative sample of every browser under the sun.
  • Run npm run cover and make sure you're happy with the results.
  • Run npm run minify and be sure to commit the resulting q.min.js.
  • Note the Gzipped size output by the previous command, and update README.md if it has changed to 1 significant digit.
  • Stash any local changes.
  • Update CHANGES.md to reflect all changes in the differences between HEAD and the previous tagged version. Give credit where credit is due.
  • Update README.md to address all new, non-experimental features.
  • Update the API reference on the Wiki to reflect all non-experimental features.
  • Use npm version major|minor|patch to update package.json, commit, and tag the new version.
  • Use npm publish to send up a new release.
  • Send an email to the q-continuum mailing list announcing the new release and the notes from the change log. This helps folks maintaining other package ecosystems.