Skip to content

Maintaining the Queen Project

ozanturgut edited this page Jan 23, 2013 · 2 revisions

This page describes information a maintainer would need to know to publish versions of queen to npm.

npm tags

The stable version of Queen is designated by the latest tag, where as the development version is designated with the dev tag. When someone executes npm install queen they will automatically recieve the latest tag.

Tags are designated by executing: npm tag queen@[VERSION] [TAG NAME]

Publishing to npm

To publish a new version of Queen to an npm repository:

  1. Check package.json for accuracy
  2. Execute: npm publish

During the publish lifecycle the following will happen:

  1. npm will execute grunt bower build-release as the prepublish script
  2. grunt will install bower components
  3. grunt will run a release build and test it
  4. npm will package the project and push it to the repository

The prepublish Hook

Before publishing, NPM will automatically trigger grunt bower build-release. This will install a fresh copy of the Bower components and build a release version. This ensures that the files in the dist/ folder are fresh when publishing, along with running the unit tests for the project.

Files Excluded from the npm Package

Some files have no use in an installed production copy of queen, so they are excluded from the package.

  • node_modules/ (npm manages these when installing)
  • components/ (only used to build dist files)
  • lib/client (only used to build dist files)
  • lib/monitor (only used to build dist files)
  • example/ (only used by developers)
  • test/ (only used by developers)
  • build/ (temporary folder for builds)