base-pkg

Plugin for adding a
pkg
method that exposes pkg-store to your base application.
Please consider following this project's author, Jon Schlinkert, and consider starring the project to show your :heart: and support.
Install
Install with npm:
$ npm install --save base-pkg
Usage
var pkg = require('base-pkg');
var Base = require('base');
var app = new Base();
app.use(pkg());
console.log(app.pkg.data);
//=> {"name": "my-project", ...}
API
Visit pkg-store for additional API details and documentation.
.pkg.set
app.pkg.set(key, value);
Set property key
with the given value
.
Example
// given {"name": "my-project"}
app.pkg.set('bin.foo', 'bar');
console.log(app.pkg.data);
//=> {"name": "my-project", "bin": {"foo": "bar"}}
.pkg.save
Persist package.json to the file system at app.pkg.path
.
app.pkg.save();
.pkg.get
app.pkg.get(key);
Get property key
from package.json.
Example
// given {"name": "my-project"}
app.pkg.set('bin.foo', 'bar');
console.log(app.pkg.get('bin'));
//=> {"foo": "bar"}
.pkg.has
app.pkg.has(key);
Returns true
if package.json
has property key
.
Example
// given: {"name": "my-project"}
console.log(app.pkg.has('name'));
//=> true
console.log(app.pkg.has('zzzzzzz'));
//=> false
.pkg.union
app.pkg.union(key, val);
Create array key
, or concatenate values to array key
. Also uniquifies the array.
Example
app.pkg.union('keywords', 'foo');
app.pkg.union('keywords', ['bar', 'baz']);
console.log(app.pkg.get('keywords'));
//=> ['foo', 'bar', 'baz']
.pkg.expand
Creates a get/set API using cache-base, where the cache is populated with a shallow clone of package.json
with values expanded by expand-pkg.
Example
console.log(app.pkg.get('author'));
//=> 'Jon Schlinkert (https://github.com/jonschlinkert)'
var expanded = app.pkg.expand();
var author = expanded.get('author');
//=> {name: 'Jon Schlinkert', url: 'https://github.com/jonschlinkert'}
About
sh
$ npm install && npm test
sh
$ npm install -g verbose/verb#dev verb-generate-readme && verb
Related projects
You might also be interested in these projects:
- base-options: Adds a few options methods to base-methods, like
option
,enable
anddisable
. See the readme… more | homepage - base: Framework for rapidly creating high quality, server-side node.js applications, using plugins like building blocks | homepage
- cache-base: Basic object cache with
get
,set
,del
, andhas
methods for node.js/javascript projects. | homepage - pkg-store: Use package.json as a config store. | homepage
Author
Jon Schlinkert
License
Copyright © 2017, Jon Schlinkert. Released under the MIT License.
This file was generated by verb-generate-readme, v0.6.0, on December 21, 2017.