rollup-plugin-node-resolve
Advanced tools
Comparing version 1.5.0 to 1.6.0
# rollup-plugin-node-resolve changelog | ||
## 1.6.0 | ||
* Skip IDs containing null character | ||
## 1.5.0 | ||
@@ -4,0 +8,0 @@ |
'use strict'; | ||
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } | ||
var path = require('path'); | ||
var builtins = require('builtin-modules'); | ||
builtins = 'default' in builtins ? builtins['default'] : builtins; | ||
var _nodeResolve = require('resolve'); | ||
_nodeResolve = 'default' in _nodeResolve ? _nodeResolve['default'] : _nodeResolve; | ||
var browserResolve = require('browser-resolve'); | ||
browserResolve = 'default' in browserResolve ? browserResolve['default'] : browserResolve; | ||
var builtins = _interopDefault(require('builtin-modules')); | ||
var _nodeResolve = _interopDefault(require('resolve')); | ||
var browserResolve = _interopDefault(require('browser-resolve')); | ||
var COMMONJS_BROWSER_EMPTY = _nodeResolve.sync('browser-resolve/empty.js', __dirname); | ||
var ES6_BROWSER_EMPTY = path.resolve(__dirname, '../src/empty.js'); | ||
var CONSOLE_WARN = function CONSOLE_WARN() { | ||
var _console; | ||
var COMMONJS_BROWSER_EMPTY = _nodeResolve.sync( 'browser-resolve/empty.js', __dirname ); | ||
var ES6_BROWSER_EMPTY = path.resolve( __dirname, '../src/empty.js' ); | ||
var CONSOLE_WARN = function () { | ||
var args = [], len = arguments.length; | ||
while ( len-- ) args[ len ] = arguments[ len ]; | ||
return (_console = console).warn.apply(_console, arguments); | ||
}; | ||
return console.warn.apply( console, args ); | ||
}; // eslint-disable-line no-console | ||
function nodeResolve(options) { | ||
function nodeResolve ( options ) { | ||
options = options || {}; | ||
@@ -28,55 +28,67 @@ | ||
var onwarn = options.onwarn || CONSOLE_WARN; | ||
var _resolveId = options.browser ? browserResolve : _nodeResolve; | ||
var resolveId = options.browser ? browserResolve : _nodeResolve; | ||
return { | ||
resolveId: function resolveId(importee, importer) { | ||
var parts = importee.split(/[\/\\]/); | ||
resolveId: function resolveId$1 ( importee, importer ) { | ||
if ( /\0/.test( importee ) ) return null; // ignore IDs with null character, these belong to other plugins | ||
var parts = importee.split( /[\/\\]/ ); | ||
var id = parts.shift(); | ||
// scoped packages | ||
if (id[0] === '@' && parts.length) { | ||
id += '/' + parts.shift(); | ||
if ( id[0] === '@' && parts.length ) { | ||
id += "/" + (parts.shift()); | ||
} | ||
if (skip !== true && ~skip.indexOf(id)) return null; | ||
if ( skip !== true && ~skip.indexOf( id ) ) return null; | ||
// disregard entry module | ||
if (!importer) return null; | ||
if ( !importer ) return null; | ||
return new Promise(function (accept, reject) { | ||
_resolveId(importee, { | ||
basedir: path.dirname(importer), | ||
packageFilter: function packageFilter(pkg) { | ||
if (options.jsnext) { | ||
var main = pkg['jsnext:main']; | ||
if (main) { | ||
pkg['main'] = main; | ||
} else if (!useMain) { | ||
if (skip === true) accept(false);else reject(Error('Package ' + importee + ' (imported by ' + importer + ') does not have a jsnext:main field. You should either allow legacy modules with options.main, or skip it with options.skip = [\'' + importee + '\'])')); | ||
return new Promise( function ( accept, reject ) { | ||
resolveId( | ||
importee, | ||
{ | ||
basedir: path.dirname( importer ), | ||
packageFilter: function packageFilter ( pkg ) { | ||
if ( options.jsnext ) { | ||
var main = pkg[ 'jsnext:main' ]; | ||
if ( main ) { | ||
pkg[ 'main' ] = main; | ||
} else if ( !useMain ) { | ||
if ( skip === true ) accept( false ); | ||
else reject( Error( ("Package " + importee + " (imported by " + importer + ") does not have a jsnext:main field. You should either allow legacy modules with options.main, or skip it with options.skip = ['" + importee + "'])") ) ); | ||
} | ||
} else if ( !useMain ) { | ||
if ( skip === true ) accept( false ); | ||
else reject( Error( ("To import from a package in node_modules (" + importee + "), either options.jsnext or options.main must be true") ) ); | ||
} | ||
} else if (!useMain) { | ||
if (skip === true) accept(false);else reject(Error('To import from a package in node_modules (' + importee + '), either options.jsnext or options.main must be true')); | ||
} | ||
return pkg; | ||
return pkg; | ||
}, | ||
extensions: options.extensions | ||
}, | ||
extensions: options.extensions | ||
}, function (err, resolved) { | ||
if (err) { | ||
if (skip === true) accept(false);else reject(err); | ||
} else { | ||
if (resolved === COMMONJS_BROWSER_EMPTY) { | ||
accept(ES6_BROWSER_EMPTY); | ||
} else if (~builtins.indexOf(resolved)) { | ||
accept(null); | ||
} else if (~builtins.indexOf(importee) && preferBuiltins) { | ||
if (!isPreferBuiltinsSet) { | ||
onwarn('preferring built-in module \'' + importee + '\' over local alternative ' + ('at \'' + resolved + '\', pass \'preferBuiltins: false\' to disable this ') + 'behavior or \'preferBuiltins: true\' to disable this warning'); | ||
function ( err, resolved ) { | ||
if ( err ) { | ||
if ( skip === true ) accept( false ); | ||
else reject( err ); | ||
} else { | ||
if ( resolved === COMMONJS_BROWSER_EMPTY ) { | ||
accept( ES6_BROWSER_EMPTY ); | ||
} else if ( ~builtins.indexOf( resolved ) ) { | ||
accept( null ); | ||
} else if ( ~builtins.indexOf( importee ) && preferBuiltins ) { | ||
if ( !isPreferBuiltinsSet ) { | ||
onwarn( | ||
"preferring built-in module '" + importee + "' over local alternative " + | ||
"at '" + resolved + "', pass 'preferBuiltins: false' to disable this " + | ||
"behavior or 'preferBuiltins: true' to disable this warning" | ||
); | ||
} | ||
accept( null ); | ||
} else { | ||
accept( resolved ); | ||
} | ||
accept(null); | ||
} else { | ||
accept(resolved); | ||
} | ||
} | ||
}); | ||
); | ||
}); | ||
@@ -83,0 +95,0 @@ } |
@@ -6,11 +6,12 @@ import { resolve, dirname } from 'path'; | ||
var COMMONJS_BROWSER_EMPTY = _nodeResolve.sync('browser-resolve/empty.js', __dirname); | ||
var ES6_BROWSER_EMPTY = resolve(__dirname, '../src/empty.js'); | ||
var CONSOLE_WARN = function CONSOLE_WARN() { | ||
var _console; | ||
var COMMONJS_BROWSER_EMPTY = _nodeResolve.sync( 'browser-resolve/empty.js', __dirname ); | ||
var ES6_BROWSER_EMPTY = resolve( __dirname, '../src/empty.js' ); | ||
var CONSOLE_WARN = function () { | ||
var args = [], len = arguments.length; | ||
while ( len-- ) args[ len ] = arguments[ len ]; | ||
return (_console = console).warn.apply(_console, arguments); | ||
}; | ||
return console.warn.apply( console, args ); | ||
}; // eslint-disable-line no-console | ||
function nodeResolve(options) { | ||
function nodeResolve ( options ) { | ||
options = options || {}; | ||
@@ -24,55 +25,67 @@ | ||
var onwarn = options.onwarn || CONSOLE_WARN; | ||
var _resolveId = options.browser ? browserResolve : _nodeResolve; | ||
var resolveId = options.browser ? browserResolve : _nodeResolve; | ||
return { | ||
resolveId: function resolveId(importee, importer) { | ||
var parts = importee.split(/[\/\\]/); | ||
resolveId: function resolveId$1 ( importee, importer ) { | ||
if ( /\0/.test( importee ) ) return null; // ignore IDs with null character, these belong to other plugins | ||
var parts = importee.split( /[\/\\]/ ); | ||
var id = parts.shift(); | ||
// scoped packages | ||
if (id[0] === '@' && parts.length) { | ||
id += '/' + parts.shift(); | ||
if ( id[0] === '@' && parts.length ) { | ||
id += "/" + (parts.shift()); | ||
} | ||
if (skip !== true && ~skip.indexOf(id)) return null; | ||
if ( skip !== true && ~skip.indexOf( id ) ) return null; | ||
// disregard entry module | ||
if (!importer) return null; | ||
if ( !importer ) return null; | ||
return new Promise(function (accept, reject) { | ||
_resolveId(importee, { | ||
basedir: dirname(importer), | ||
packageFilter: function packageFilter(pkg) { | ||
if (options.jsnext) { | ||
var main = pkg['jsnext:main']; | ||
if (main) { | ||
pkg['main'] = main; | ||
} else if (!useMain) { | ||
if (skip === true) accept(false);else reject(Error('Package ' + importee + ' (imported by ' + importer + ') does not have a jsnext:main field. You should either allow legacy modules with options.main, or skip it with options.skip = [\'' + importee + '\'])')); | ||
return new Promise( function ( accept, reject ) { | ||
resolveId( | ||
importee, | ||
{ | ||
basedir: dirname( importer ), | ||
packageFilter: function packageFilter ( pkg ) { | ||
if ( options.jsnext ) { | ||
var main = pkg[ 'jsnext:main' ]; | ||
if ( main ) { | ||
pkg[ 'main' ] = main; | ||
} else if ( !useMain ) { | ||
if ( skip === true ) accept( false ); | ||
else reject( Error( ("Package " + importee + " (imported by " + importer + ") does not have a jsnext:main field. You should either allow legacy modules with options.main, or skip it with options.skip = ['" + importee + "'])") ) ); | ||
} | ||
} else if ( !useMain ) { | ||
if ( skip === true ) accept( false ); | ||
else reject( Error( ("To import from a package in node_modules (" + importee + "), either options.jsnext or options.main must be true") ) ); | ||
} | ||
} else if (!useMain) { | ||
if (skip === true) accept(false);else reject(Error('To import from a package in node_modules (' + importee + '), either options.jsnext or options.main must be true')); | ||
} | ||
return pkg; | ||
return pkg; | ||
}, | ||
extensions: options.extensions | ||
}, | ||
extensions: options.extensions | ||
}, function (err, resolved) { | ||
if (err) { | ||
if (skip === true) accept(false);else reject(err); | ||
} else { | ||
if (resolved === COMMONJS_BROWSER_EMPTY) { | ||
accept(ES6_BROWSER_EMPTY); | ||
} else if (~builtins.indexOf(resolved)) { | ||
accept(null); | ||
} else if (~builtins.indexOf(importee) && preferBuiltins) { | ||
if (!isPreferBuiltinsSet) { | ||
onwarn('preferring built-in module \'' + importee + '\' over local alternative ' + ('at \'' + resolved + '\', pass \'preferBuiltins: false\' to disable this ') + 'behavior or \'preferBuiltins: true\' to disable this warning'); | ||
function ( err, resolved ) { | ||
if ( err ) { | ||
if ( skip === true ) accept( false ); | ||
else reject( err ); | ||
} else { | ||
if ( resolved === COMMONJS_BROWSER_EMPTY ) { | ||
accept( ES6_BROWSER_EMPTY ); | ||
} else if ( ~builtins.indexOf( resolved ) ) { | ||
accept( null ); | ||
} else if ( ~builtins.indexOf( importee ) && preferBuiltins ) { | ||
if ( !isPreferBuiltinsSet ) { | ||
onwarn( | ||
"preferring built-in module '" + importee + "' over local alternative " + | ||
"at '" + resolved + "', pass 'preferBuiltins: false' to disable this " + | ||
"behavior or 'preferBuiltins: true' to disable this warning" | ||
); | ||
} | ||
accept( null ); | ||
} else { | ||
accept( resolved ); | ||
} | ||
accept(null); | ||
} else { | ||
accept(resolved); | ||
} | ||
} | ||
}); | ||
); | ||
}); | ||
@@ -79,0 +92,0 @@ } |
{ | ||
"name": "rollup-plugin-node-resolve", | ||
"description": "Bundle third-party dependencies in node_modules", | ||
"version": "1.5.0", | ||
"version": "1.6.0", | ||
"devDependencies": { | ||
"babel-preset-es2015": "^6.3.13", | ||
"babel-preset-es2015-rollup": "^1.0.0", | ||
"babel-register": "^6.3.13", | ||
"buble": "^0.10.6", | ||
"es5-ext": "^0.10.11", | ||
"eslint": "^1.7.3", | ||
"eslint": "^2.11.1", | ||
"mocha": "^2.3.3", | ||
"rollup": "^0.22.0", | ||
"rollup-plugin-babel": "^2.2.0", | ||
"rollup": "^0.27.1", | ||
"rollup-plugin-buble": "^0.10.0", | ||
"rollup-plugin-commonjs": "^2.0.0", | ||
@@ -21,5 +19,5 @@ "string-capitalize": "^1.0.1", | ||
"scripts": { | ||
"test": "mocha --compilers js:babel-register", | ||
"test": "mocha", | ||
"pretest": "npm run build", | ||
"build": "rollup -c -f cjs -o dist/rollup-plugin-node-resolve.cjs.js && rollup -c -f es6 -o dist/rollup-plugin-node-resolve.es6.js", | ||
"build": "rollup -c", | ||
"prepublish": "npm test" | ||
@@ -26,0 +24,0 @@ }, |
@@ -8,3 +8,3 @@ import { dirname, resolve } from 'path'; | ||
const ES6_BROWSER_EMPTY = resolve( __dirname, '../src/empty.js' ); | ||
const CONSOLE_WARN = ( ...args ) => console.warn( ...args ); | ||
const CONSOLE_WARN = ( ...args ) => console.warn( ...args ); // eslint-disable-line no-console | ||
@@ -24,2 +24,4 @@ export default function nodeResolve ( options ) { | ||
resolveId ( importee, importer ) { | ||
if ( /\0/.test( importee ) ) return null; // ignore IDs with null character, these belong to other plugins | ||
let parts = importee.split( /[\/\\]/ ); | ||
@@ -73,3 +75,3 @@ let id = parts.shift(); | ||
`preferring built-in module '${importee}' over local alternative ` + | ||
`at '${resolved}', pass 'preferBuiltins: false' to disable this ` + | ||
`at '${resolved}', pass 'preferBuiltins: false' to disable this ` + | ||
`behavior or 'preferBuiltins: true' to disable this warning` | ||
@@ -76,0 +78,0 @@ ); |
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
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
No README
QualityPackage does not have a README. This may indicate a failed publish or a low quality package.
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
9
11738
6
242
1
0
1