jest-webpack-alias
Advanced tools
Comparing version 2.0.0 to 2.1.0
@@ -113,2 +113,8 @@ var _ = require('lodash'); | ||
function resolve(dependency, filename) { | ||
ensureWebpackInfo(filename); | ||
if (!dependency) { | ||
return undefined; | ||
} | ||
if (dependency.slice(0, 1) === '.') { | ||
@@ -149,1 +155,2 @@ return resolveRelativeDependency(dependency, filename); | ||
exports.process = process; | ||
exports.resolve = resolve; |
{ | ||
"name": "jest-webpack-alias", | ||
"version": "2.0.0", | ||
"version": "2.1.0", | ||
"description": "Preprocessor for Jest that is able to resolve require() statements using webpack aliases.", | ||
@@ -5,0 +5,0 @@ "main": "lib/preprocessor.js", |
@@ -5,4 +5,2 @@ # jest-webpack-alias | ||
[![NPM](https://nodei.co/npm/jest-webpack-alias.png)](https://nodei.co/npm/jest-webpack-alias/) | ||
See also [transform-jest-deps](https://github.com/Ticketmaster/transform-jest-deps). | ||
@@ -16,26 +14,13 @@ | ||
## Examples | ||
## Setup | ||
File `__tests__/preprocess.js`: | ||
File `__tests__/preprocessor.js`: | ||
```js | ||
var _ = require('lodash'); | ||
var babelJest = require('babel-jest'); | ||
var path = require('path'); | ||
var webpackAlias = require('jest-webpack-alias'); | ||
// Change these to point to your source and test directories | ||
var dirs = ['../lib', '../__tests__'].map(function(dir) { | ||
return path.resolve(__dirname, dir); | ||
}); | ||
function matches(filename) { | ||
return _.find(dirs, function(dir) { | ||
return filename.indexOf(dir) === 0; | ||
}); | ||
} | ||
module.exports = { | ||
process: function(src, filename) { | ||
if (matches(filename)) { | ||
if (filename.indexOf('node_modules') === -1) { | ||
src = babelJest.process(src, filename); | ||
@@ -64,2 +49,19 @@ src = webpackAlias.process(src, filename); | ||
## Manual package resolution | ||
Code like this will not work, because an AST parser is not smart enough to evaluate variables into strings. | ||
```js | ||
var moduleName = 'myModName'; | ||
var computed = require(moduleName); | ||
``` | ||
It can be rewritten like this, using the `resolve` function: | ||
```js | ||
var resolve = require('jest-webpack-alias').resolve; | ||
var moduleName = 'myModName'; | ||
var computed = require(resolve(moduleName, __filename)); | ||
``` | ||
## package.json options | ||
@@ -66,0 +68,0 @@ |
@@ -10,3 +10,2 @@ var expect = require('./lib/expect'); | ||
describe('jest-webpack-alias module', function() { | ||
var dirHas, filename, fs, webpackAlias, webpackInfo; | ||
@@ -298,3 +297,16 @@ | ||
}); | ||
describe('resolve', function() { | ||
it('applies alias to subdir paths', function() { | ||
var resolved = webpackAlias.resolve('aliasPlainSubdirSrc', filename); | ||
verifyDirHas([ | ||
['/top/src', 'dir1'], | ||
['/top/src/dir1', 'lib1a'], | ||
['/top/src/dir1', 'lib1a.js'] | ||
]); | ||
expect(resolved).to.eq('../src/dir1/lib1a.js'); | ||
}); | ||
}); | ||
}); | ||
}); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
36241
948
82