motion
Version:
motion - moving development forward
66 lines (65 loc) • 4.01 kB
JSON
{
"_args": [
[
"pkginfo@https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz",
"/Users/nw/flint/packages/flint"
]
],
"_from": "pkginfo@>=0.0.0 <1.0.0",
"_id": "pkginfo@0.3.1",
"_inCache": true,
"_location": "/pkginfo",
"_phantomChildren": {},
"_requested": {
"name": "pkginfo",
"raw": "pkginfo@https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz",
"rawSpec": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz",
"scope": null,
"spec": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz",
"type": "remote"
},
"_requiredBy": [
"/prompt",
"/winston"
],
"_resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz",
"_shasum": "5b29f6a81f70717142e09e765bbeab97b4f81e21",
"_shrinkwrap": null,
"_spec": "pkginfo@https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz",
"_where": "/Users/nw/flint/packages/flint",
"author": {
"email": "charlie.robbins@gmail.com",
"name": "Charlie Robbins"
},
"bugs": {
"url": "https://github.com/indexzero/node-pkginfo/issues"
},
"dependencies": {},
"description": "An easy way to expose properties on a module from a package.json",
"devDependencies": {
"vows": "0.7.x"
},
"engines": {
"node": ">= 0.4.0"
},
"homepage": "https://github.com/indexzero/node-pkginfo#readme",
"keywords": [
"info",
"package.json",
"tools"
],
"license": "MIT",
"main": "./lib/pkginfo.js",
"name": "pkginfo",
"optionalDependencies": {},
"readme": "# node-pkginfo\n\nAn easy way to expose properties on a module from a package.json\n\n## Installation\n\n### Installing npm (node package manager)\n```\n curl http://npmjs.org/install.sh | sh\n```\n\n### Installing pkginfo\n```\n [sudo] npm install pkginfo\n```\n\n## Motivation\nHow often when writing node.js modules have you written the following line(s) of code? \n\n* Hard code your version string into your code\n\n``` js\n exports.version = '0.1.0';\n```\n\n* Programmatically expose the version from the package.json\n\n``` js\n exports.version = require('/path/to/package.json').version;\n```\n\nIn other words, how often have you wanted to expose basic information from your package.json onto your module programmatically? **WELL NOW YOU CAN!**\n\n## Usage\n\nUsing `pkginfo` is idiot-proof, just require and invoke it. \n\n``` js\n var pkginfo = require('pkginfo')(module);\n \n console.dir(module.exports);\n```\n\nBy invoking the `pkginfo` module all of the properties in your `package.json` file will be automatically exposed on the callee module (i.e. the parent module of `pkginfo`). \n\nHere's a sample of the output:\n\n```\n { name: 'simple-app',\n description: 'A test fixture for pkginfo',\n version: '0.1.0',\n author: 'Charlie Robbins <charlie.robbins@gmail.com>',\n keywords: [ 'test', 'fixture' ],\n main: './index.js',\n scripts: { test: 'vows test/*-test.js --spec' },\n engines: { node: '>= 0.4.0' } }\n```\n\n### Expose specific properties\nIf you don't want to expose **all** properties on from your `package.json` on your module then simple pass those properties to the `pkginfo` function:\n\n``` js\n var pkginfo = require('pkginfo')(module, 'version', 'author');\n \n console.dir(module.exports);\n```\n\n```\n { version: '0.1.0',\n author: 'Charlie Robbins <charlie.robbins@gmail.com>' }\n```\n\nIf you're looking for further usage see the [examples][0] included in this repository. \n\n## Run Tests\nTests are written in [vows][1] and give complete coverage of all APIs.\n\n```\n vows test/*-test.js --spec\n```\n\n[0]: https://github.com/indexzero/node-pkginfo/tree/master/examples\n[1]: http://vowsjs.org\n\n#### Author: [Charlie Robbins](http://nodejitsu.com)\n#### License: MIT\n",
"readmeFilename": "README.md",
"repository": {
"type": "git",
"url": "git+ssh://git@github.com/indexzero/node-pkginfo.git"
},
"scripts": {
"test": "vows test/*-test.js --spec"
},
"version": "0.3.1"
}