Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Socket
Sign inDemoInstall

jest-webpack-alias

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jest-webpack-alias - npm Package Compare versions

Comparing version 1.2.1 to 1.2.2

0

lib/cacheize.js

@@ -0,0 +0,0 @@

@@ -0,0 +0,0 @@ var _ = require('lodash');

23

lib/preprocessor.js

@@ -11,2 +11,3 @@ var _ = require('lodash');

var defaultAliases = {};
var defaultFallbackDirs = [];

@@ -16,2 +17,3 @@ var defaultFileExtensions = ['', '.webpack.js', '.web.js', '.js'];

var aliases;
var fileExtensions;

@@ -30,2 +32,3 @@ var moduleDirs;

var webpackDir = path.dirname(webpackSettings.file);
aliases = resolveConfig.alias || defaultAliases;
fileExtensions = resolveConfig.extensions || defaultFileExtensions;

@@ -54,2 +57,15 @@

function matchAlias(dependency) {
var alias = aliases[dependency];
if (alias) {
var dirname = firstDir(alias);
return {
dirname: dirname,
rest: alias.slice(dirname.length + 1)
};
} else {
return undefined;
}
}
function resolveExtension(matchingFirstDir, afterFirstDir) {

@@ -108,2 +124,9 @@ var absMatch = afterFirstDir ? path.join(matchingFirstDir, afterFirstDir) : matchingFirstDir;

var alias = matchAlias(dirname);
if (alias) {
dirname = alias.dirname;
rest = alias.rest || rest;
dependency = dirname + (rest ? '/' + rest : '');
}
var matchingFirstDir = resolveFirstDir(dirname, rest);

@@ -110,0 +133,0 @@ if (!matchingFirstDir.dir || _.contains(nodeModulesDirs, matchingFirstDir.dir)) {

2

package.json
{
"name": "jest-webpack-alias",
"version": "1.2.1",
"version": "1.2.2",
"description": "Preprocessor for Jest that is able to resolve require() statements using webpack aliases.",

@@ -5,0 +5,0 @@ "main": "lib/preprocessor.js",

@@ -66,3 +66,3 @@ # jest-webpack-alias

- The webpack `resolve.alias` setting (ironically, given package name)
- `resolve.alias` settings whose values are absolute paths

@@ -69,0 +69,0 @@ ## License

@@ -7,7 +7,7 @@ var rewire = require('rewire');

'/top': ['node_modules', 'package.json', 'src', 'test', 'web_modules', 'webpack.config.js'],
'/top/node_modules': ['node1', 'node2'],
'/top/node_modules': ['aliasNodeFileDest.js', 'node1', 'node2'],
'/top/node_modules/node1': ['lib'],
'/top/node_modules/node1/lib': ['submodule.js'],
'/top/web_modules': ['web1', 'web2.jsx'],
'/top/src': ['dir1', 'dir2'],
'/top/src': ['aliasRelative.js', 'dir1', 'dir2'],
'/top/src/dir1': ['lib1a.js', 'lib1b-2b.js', 'dir1-1'],

@@ -29,3 +29,6 @@ '/top/src/dir1/dir1-1': ['lib1-1a.js'],

alias: {
aliasSrc: 'aliasDest'
aliasNodeSubdir1Src: 'node1',
aliasNodeSubdir2Src: 'node1/lib/submodule',
aliasNodeFileSrc: 'aliasNodeFileDest',
aliasPlainSubdirSrc: 'dir1/lib1a'
}

@@ -32,0 +35,0 @@ }

@@ -23,7 +23,9 @@ var expect = require('./lib/expect');

expect(dirHas).to.be.called;
expect(dirHas.args).to.have.length(expected.length);
for (var i = 0; i < expected.length; i++) {
expect(unwin(dirHas.args[i][0])).to.eq(expected[i][0]);
expect(dirHas.args[i][1]).to.eq(expected[i][1]);
if (dirHas.args[i] && expected[i]) {
expect(unwin(dirHas.args[i][0]), 'call ' + i).to.eq(expected[i][0]);
expect(dirHas.args[i][1], 'call ' + i).to.eq(expected[i][1]);
}
}
expect(dirHas.args).to.have.length(expected.length);
}

@@ -33,6 +35,8 @@

expect(fs.existsSync).to.be.called;
expect(fs.existsSync.args).to.have.length(expected.length);
for (var i = 0; i < expected.length; i++) {
expect(unwin(fs.existsSync.args[i][0])).to.eq(expected[i][0]);
if (fs.existsSync.args[i] && expected[i]) {
expect(unwin(fs.existsSync.args[i][0]), 'call ' + i).to.eq(expected[i][0]);
}
}
expect(fs.existsSync.args).to.have.length(expected.length);
}

@@ -229,2 +233,69 @@

});
describe('with alias', function() {
beforeEach(function() {
filename = '/top/test/file1.test.js';
});
describe('with destination of node_modules', function() {
it('applies alias to simple paths with no extension change', function() {
var src = "var lib1a = require('aliasNodeFileSrc');";
var output = webpackAlias.process(src, filename);
verifyDirHas([
['/top/src', 'aliasNodeFileDest'],
['/top/src', 'aliasNodeFileDest.js'],
['/top/src', 'aliasNodeFileDest.jsx'],
['/top/node_modules', 'aliasNodeFileDest'],
['/top/node_modules', 'aliasNodeFileDest.js']
]);
expect(output).to.eq("var lib1a = require('aliasNodeFileDest');");
});
it('applies alias to subdir paths', function() {
var src = "var lib1a = require('aliasNodeSubdir1Src/lib/submodule');";
var output = webpackAlias.process(src, filename);
verifyDirHas([
['/top/src', 'node1'],
['/top/node_modules', 'node1']
]);
expect(output).to.eq("var lib1a = require('node1/lib/submodule');");
});
it('replaces subdir paths with alias destination', function() {
var src = "var lib1a = require('aliasNodeSubdir2Src/ignore/this');";
var output = webpackAlias.process(src, filename);
verifyDirHas([
['/top/src', 'node1'],
['/top/node_modules', 'node1']
]);
expect(output).to.eq("var lib1a = require('node1/lib/submodule');");
});
});
it('applies alias to subdir paths', function() {
var src = "var lib1a = require('aliasPlainSubdirSrc');";
var output = webpackAlias.process(src, filename);
verifyDirHas([
['/top/src', 'dir1'],
['/top/src/dir1', 'lib1a'],
['/top/src/dir1', 'lib1a.js']
]);
expect(output).to.eq("var lib1a = require('../src/dir1/lib1a.js');");
});
it('does not apply alias transformation to relative paths', function() {
var src = "var lib1a = require('../src/aliasRelative');";
var output = webpackAlias.process(src, filename);
verifyDirHas([
['/top/src', 'aliasRelative'],
['/top/src', 'aliasRelative.js']
]);
expect(output).to.eq("var lib1a = require('../src/aliasRelative.js');");
});
});
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc