1.0.3 • Published 5 years ago
@kingjs/require-packages v1.0.3
@kingjs/require-packages
Requires dependencies found in packages.json and returns module names mapped to exports and a tree representing module names terminating in exports.
Usage
Given this packages.json
:
{
"name": "@kingjs/require-packages.test",
"version": "1.0.0",
"dependencies": {
"@kingjs/camel-case.join": "^1.0.0",
"@kingjs/camel-case.split": "^1.0.0",
"@kingjs/is": "^1.0.6",
"lodash": "^4.17.11"
},
"devDependencies": {
"@kingjs/assert-theory": "^1.0.15"
}
}
Load dependencies like this:
var assert = require('assert');
var {
['lodash']: lodash,
['@kingjs/is']: is,
['@kingjs/camel-case.split']: split,
['@kingjs/camel-case.join']: join,
['@kingjs/assert-theory']: assertTheory,
} = require('@kingjs/require-packages').call(module);
assert(lodash); // present in "dependencies"
assert(is); // present in "dependencies"
assert(split); // present in "dependencies"
assert(join); // present in "dependencies"
assert(!assertTheory); // missing in "dependencies"
Or, load dependencies like this:
var assert = require('assert');
var {
lodash,
['@kingjs']: { is, camelCase: { split, join } },
} = require('@kingjs/require-packages').call(module);
assert(lodash == require('lodash'));
assert(is == require('@kingjs/is'));
assert(split == require('@kingjs/camel-case.split'));
assert(join == require('@kingjs/camel-case.join'));
API
requirePackages(this)
Parameters
this
: The module of the package doing the requiring.
Returns
Module names mapped to exports and an tree representing module names terminating in exports.
Remarks
Ensures that production code requires only packages listed in dependencies.
Install
With npm installed, run
$ npm install @kingjs/require-packages
License
MIT