node package manager
Painless code sharing. npm Orgs help your team discover, share, and reuse code. Create a free org ยป

packagebuilder

packagebuilder-js

Node module for cranking out JavaScript packages. Builds with front-end source maps, tests, minifies, and versioning.

Development

Requirements

  • nodejs
  • npm install
  • npm install -g gulp

Gulp Commands

Each process is dependent upon the previous. If one fails the build process exits.

  • gulp
  • gulp test (Unit specifications)
  • gulp build (Test, folder clean-ups, minification, source maps, renaming)
  • gulp deploy (Test, build, versioning)
  • gulp deploy--version-down

Note: Look through the packagebuilder.js module for more commands, however, the main ones just use others as helper tasks to fix things the they couldn't could not do as one. Things like the deploy--version-down task was made because I bump the version by the wrong type sometimes and would have to go into each file to change and save then re-run gulp deploy so it makes it less tidious.

Usage

Installation

npm: npm install packagebuilder

How to use...

  • npm install gulp --save-dev. (recommended to put the version as '*' to always install the latest)

  • npm install packagebuilder --save-dev. (recommended to put the version as '*' to always install the latest)

  • Create gulpfile.js in the root directory of the project this is being used for.

  • In the gulpfile.js copy and paste this line:

    require('packagebuilder')(require('gulp'));

Now you can open up a terminal in the project folder and run any of the gulp tasks listed in the Gulp Commands section above on the project.

Note: Right now the source directory that the build needs is src/ in the main project directory which is the location of all the JavaScript that needs to get processed in the build task. You can change the locations of source files, distribution folder, etc. manually in the config.js that's included in the packagebuilder module under node_modules. However, this will be overwritten each time you reinstalled the package at the moment.

Release Notes

v0.0.4

  • Bug fix: No longer errors on version bump if one of the package or bower .json files does not exist.

v0.0.3

  • Added a .gz gzip compressed output file to the distribution.

To be continued... The goal is to eventually have an initial setup when running "gulp" to configure the paths of source and distribution so this can be use for large web projects as well. For the time being the main purpose of this is for cranking out JavaScript packages for both npm and bower.