Constructor for ECMAScript 2015+/CommonJS dependency unit
Object { requested, from, resolved }
npm install --save es-dep-unit
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' } */
- dep
- dep.mock
Transform input arguments into objects prefixing from
and resolved
with process.cwd()
;
Function is curried.
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.
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.
Required
Type: String
or null
Examples: ./file.js
or /global/file.js
.
Examples: null
if dependency was not resolved.
Absolute path for resolved dependency.
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' } */
- 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
MIT © Vladimir Starkov