es-dep-unit
v2.0.0
Published
Constructor for ECMAScript 2015+/CommonJS dependency unit `Object { requested, from, resolved }`
Downloads
16
Maintainers
Readme
es-dep-unit
Constructor for ECMAScript 2015+/CommonJS dependency unit
Object { requested, from, resolved }
Install
npm install --save es-dep-unit
Usage
import dep, { mock as depMock } from 'es-dep-unit';
// if null nothing will happen
dep(null, null, null); // { requested: null, from: null, resolved: null }
// requested field is not processed anyhow
dep('./file.js', null, null); // { requested: './file.js', from: null, resolved: null }
// if `from` or `resolved` are absolute paths, they are not processed anyhow too
dep(null, '/global/file.js', null); // { requested: null, from: '/global/file.js', resolved: null }
dep(null, null, '/global/file.js'); // { requested: null, from: null, resolved: '/global/file.js' }
// if `from` or `resolved` are not absolute paths, they are prefixed with `process.cwd()`
dep(null, './file.js', null); // { requested: null, from: '/Users/iamstarkov/projects/es-dep-unit/file.js', resolved: null }
dep(null, null, './file.js'); // { requested: null, from: null, resolved: '/Users/iamstarkov/projects/es-dep-unit/file.js' }
// full es-dep-unit
dep('./file.js', './index.js', './file.js'); /* {
requested: './file.js',
from: '/Users/iamstarkov/projects/es-dep-unit/index.js',
resolved: '/Users/iamstarkov/projects/es-dep-unit/file.js' } */
// mocked es-dep-unit for fixtures in 'easy' testcase
depMock(['fixtures', 'easy'], `./folder`, './index.js', './folder/index.js'); /* {
requested: './folder',
from: '/Users/iamstarkov/projects/es-dep-unit/fixtures/easy/index.js',
resolved: '/Users/iamstarkov/projects/es-dep-unit/fixtures/easy/folder/index.js' } */
API
- dep
- dep.mock
dep(requested, from, resolved)
Transform input arguments into objects prefixing from
and resolved
with process.cwd()
;
Function is curried.
requested
Required
Type: String
or null
Examples: ./file.js
, ./folder
, /global/file.js
, /global/folder
or package
.
Examples: null
for app entry point.
How does this dependency had been requested.
Every string you can paste into require
or import
statement.
from
Required
Type: String
or null
Examples: ./file.js
or /global/file.js
.
Examples: null
for app entry point.
From which absolutely resolved file this dependency had been requested.
resolved
Required
Type: String
or null
Examples: ./file.js
or /global/file.js
.
Examples: null
if dependency was not resolved.
Absolute path for resolved dependency.
dep.mock(inPathArray, requested, from, resolved)
Helper for mocking dependencies in different folders for testing purposes. Also curried.
Transform input arguments into objects prefixing from
and resolved
with process.cwd()
and path.join(inPathArray)
in between.
dep.mock(['fixtures', 'easy'], `./folder`, './index.js', './folder/index.js'); /* {
requested: './folder',
from: '/Users/iamstarkov/projects/es-dep-unit/fixtures/easy/index.js',
resolved: '/Users/iamstarkov/projects/es-dep-unit/fixtures/easy/folder/index.js' } */
// curried usage
const easyFixtureDep = dep.mock(['fixtures', 'easy']);
easyFixtureDep(`./folder`, './index.js', './folder/index.js'); /* {
requested: './folder',
from: '/Users/iamstarkov/projects/es-dep-unit/fixtures/easy/index.js',
resolved: '/Users/iamstarkov/projects/es-dep-unit/fixtures/easy/folder/index.js' } */
Related
- es-deps — ECMAScript 2015+/CommonJS module dependencies array
- es-deps-from-string — ECMAScript 2015+/CommonJS module dependencies array from string
- es-deps-resolved — ECMAScript 2015+/CommonJS module dependencies resolved array
- es-deps-deep — ECMAScript 2015+/CommonJS module dependencies resolved in depth
- es-dep-kit — ECMAScript 2015+/CommonJS module dependencies helpers kit
License
MIT © Vladimir Starkov