
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
Plugin for adding a `pkg` method that exposes pkg-store to your base application.
Plugin for adding a
pkgmethod 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 with npm:
$ npm install --save base-pkg
var pkg = require('base-pkg');
var Base = require('base');
var app = new Base();
app.use(pkg());
console.log(app.pkg.data);
//=> {"name": "my-project", ...}
Visit pkg-store for additional API details and documentation.
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"}}
Persist package.json to the file system at app.pkg.path.
app.pkg.save();
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"}
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
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']
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'}
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
$ npm install && npm test
(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)
To generate the readme, run the following command:
$ npm install -g verbose/verb#dev verb-generate-readme && verb
You might also be interested in these projects:
option, enable and disable. See the readme… more | homepageget, set, del, and has methods for node.js/javascript projects. | homepageJon Schlinkert
Copyright © 2017, Jon Schlinkert. Released under the MIT License.
This file was generated by verb-generate-readme, v0.6.0, on December 21, 2017.
FAQs
Plugin for adding a `pkg` method that exposes pkg-store to your base application.
The npm package base-pkg receives a total of 28,703 weekly downloads. As such, base-pkg popularity was classified as popular.
We found that base-pkg demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.