hire-packer v0.0.1
hire-packer
hire-packer
is a convenience utility for generating a package.json
file from a dynamic source.
Motivation
While working on a project which made heavy use of npm
's scripts
feature, I saw there were a lot of references to filepaths. There was an existing object in the system which contained references to these paths so that if they changed, files that referred to them wouldn't break. I wanted to use that object to DRY up the filepaths, but I couldn't.
Also, as the file got larger, I found myself wanting to organize it, which I also couldn't do easily since I couldn't use newlines in valid JSON.
This library is for you if, while writing your package.json
...
- You want to be able to utilize external libraries while constructing your package.
- You want to put newlines and comments wherever you darn well please.
- You want to write your
package.json
using CoffeeScript.
So you can turn this:
{
"name": "anteater",
"description": "Given a collection of ants, anteater will eat most of them.",
"version": "0.0.1",
"scripts": {
"build": "minify ./ui/all.js",
"eat-ants": "node ./anteater/actions/eat-ants.js"
},
"dependencies": {
"express": "*",
"q": "*"
}
}
Into this:
PathTo = require './Pathfinder'
Version = require './Version'
module.exports =
name : 'anteater'
description : 'Given a collection of ants, anteater will eat most of them.'
version : Version
scripts:
"build" : "minify #{ PathTo.file.scriptManifest }"
"eat-ants" : "node #{ PathTo.service.EatAnts }"
dependencies:
# Server
"express": "*"
# Utility
"q": "*"
Usage
Step 0: Install
npm install -g hire-packer
Step 1: Prepare Your Package
hire-packer
expects a Package.coffee
file to be present in the directory in which it is run. It expects this file to export a JavaScript object, like so:
module.exports =
name : "anteater"
description : "Given a collection of ants, anteater will eat most of them."
Step 2: Pack It Down
From the command line, run hire-packer
. Your package.json
will be generated in the current directory.
9 years ago