Package Exports
- pkginfo
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (pkginfo) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
node-pkginfo
An easy way to expose properties on a module from a package.json
Installing pkginfo
npm install pkginfo
Motivation
How often when writing node.js modules have you written the following line(s) of code?
- Hard code your version string into your code
exports.version = '0.1.0';
- Programmatically expose the version from the package.json
exports.version = require('/path/to/package.json').version;
In other words, how often have you wanted to expose basic information from your package.json onto your module programmatically? WELL NOW YOU CAN!
Usage
Using pkginfo
is idiot-proof, just require and invoke it.
var pkginfo = require('pkginfo')(module);
console.dir(module.exports);
By 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
).
Here's a sample of the output:
{ name: 'simple-app',
description: 'A test fixture for pkginfo',
version: '0.1.0',
author: 'Charlie Robbins <charlie.robbins@gmail.com>',
keywords: [ 'test', 'fixture' ],
main: './index.js',
scripts: { test: 'vows test/*-test.js --spec' },
engines: { node: '>= 0.4.0' } }
Expose specific properties
If 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:
var pkginfo = require('pkginfo')(module, 'version', 'author');
console.dir(module.exports);
{ version: '0.1.0',
author: 'Charlie Robbins <charlie.robbins@gmail.com>' }
If you're looking for further usage see the examples included in this repository.
Run Tests
Tests are written in vows and give complete coverage of all APIs.
npm install
npm test