Socket
Socket
Sign inDemoInstall

rollup-plugin-node-resolve

Package Overview
Dependencies
Maintainers
3
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rollup-plugin-node-resolve - npm Package Compare versions

Comparing version 3.3.0 to 3.4.0

163

dist/rollup-plugin-node-resolve.cjs.js

@@ -18,3 +18,5 @@ 'use strict';

}; // eslint-disable-line no-console
var exts = [ '.js', '.json', '.node' ];
// It is important that .mjs occur before .js so that Rollup will interpret npm modules
// which deploy both ESM .mjs and CommonJS .js files as ESM.
var DEFAULT_EXTS = [ '.mjs', '.js', '.json', '.node' ];

@@ -49,2 +51,4 @@ var readFileCache = {};

var resolveIdAsync = function (file, opts) { return new Promise(function (fulfil, reject) { return resolveId(file, opts, function (err, contents) { return err ? reject(err) : fulfil(contents); }); }); };
function nodeResolve ( options ) {

@@ -92,3 +96,3 @@ if ( options === void 0 ) options = {};

resolveId: function resolveId$1 ( importee, importer ) {
resolveId: function resolveId$$1 ( importee, importer ) {
if ( /\0/.test( importee ) ) { return null; } // ignore IDs with null character, these belong to other plugins

@@ -124,95 +128,88 @@

return new Promise( function ( fulfil, reject ) {
var disregardResult = false;
var packageBrowserField = false;
var disregardResult = false;
var packageBrowserField = false;
var extensions = options.extensions || DEFAULT_EXTS;
var resolveOptions = {
basedir: path.dirname( importer ),
packageFilter: function packageFilter ( pkg, pkgPath ) {
var pkgRoot = path.dirname( pkgPath );
if (options.browser && typeof pkg[ 'browser' ] === 'object') {
packageBrowserField = Object.keys(pkg[ 'browser' ]).reduce(function (browser, key) {
var resolved = pkg[ 'browser' ][ key ] === false ? false : path.resolve( pkgRoot, pkg[ 'browser' ][ key ] );
browser[ key ] = resolved;
if ( key[0] === '.' ) {
var absoluteKey = path.resolve( pkgRoot, key );
browser[ absoluteKey ] = resolved;
if ( !path.extname(key) ) {
exts.reduce( function ( browser, ext ) {
browser[ absoluteKey + ext ] = browser[ key ];
return browser;
}, browser );
}
var resolveOptions = {
basedir: path.dirname( importer ),
packageFilter: function packageFilter ( pkg, pkgPath ) {
var pkgRoot = path.dirname( pkgPath );
if (options.browser && typeof pkg[ 'browser' ] === 'object') {
packageBrowserField = Object.keys(pkg[ 'browser' ]).reduce(function (browser, key) {
var resolved = pkg[ 'browser' ][ key ] === false ? false : path.resolve( pkgRoot, pkg[ 'browser' ][ key ] );
browser[ key ] = resolved;
if ( key[0] === '.' ) {
var absoluteKey = path.resolve( pkgRoot, key );
browser[ absoluteKey ] = resolved;
if ( !path.extname(key) ) {
extensions.reduce( function ( browser, ext ) {
browser[ absoluteKey + ext ] = browser[ key ];
return browser;
}, browser );
}
return browser;
}, {});
}
}
return browser;
}, {});
}
if (options.browser && typeof pkg[ 'browser' ] === 'string') {
pkg[ 'main' ] = pkg[ 'browser' ];
} else if ( useModule && pkg[ 'module' ] ) {
pkg[ 'main' ] = pkg[ 'module' ];
} else if ( useJsnext && pkg[ 'jsnext:main' ] ) {
pkg[ 'main' ] = pkg[ 'jsnext:main' ];
} else if ( ( useJsnext || useModule ) && !useMain ) {
disregardResult = true;
}
return pkg;
},
readFile: cachedReadFile,
isFile: cachedIsFile,
extensions: options.extensions
};
if (options.browser && typeof pkg[ 'browser' ] === 'string') {
pkg[ 'main' ] = pkg[ 'browser' ];
} else if ( useModule && pkg[ 'module' ] ) {
pkg[ 'main' ] = pkg[ 'module' ];
} else if ( useJsnext && pkg[ 'jsnext:main' ] ) {
pkg[ 'main' ] = pkg[ 'jsnext:main' ];
} else if ( ( useJsnext || useModule ) && !useMain ) {
disregardResult = true;
}
return pkg;
},
readFile: cachedReadFile,
isFile: cachedIsFile,
extensions: extensions
};
if (preserveSymlinks !== undefined) {
resolveOptions.preserveSymlinks = preserveSymlinks;
}
if (preserveSymlinks !== undefined) {
resolveOptions.preserveSymlinks = preserveSymlinks;
}
resolveId(
importee,
Object.assign( resolveOptions, customResolveOptions ),
function ( err, resolved ) {
if (options.browser && packageBrowserField) {
if (packageBrowserField[ resolved ]) {
resolved = packageBrowserField[ resolved ];
}
browserMapCache[resolved] = packageBrowserField;
return resolveIdAsync(
importee,
Object.assign( resolveOptions, customResolveOptions )
)
.catch(function () { return false; })
.then(function (resolved) {
if (options.browser && packageBrowserField) {
if (packageBrowserField[ resolved ]) {
resolved = packageBrowserField[ resolved ];
}
browserMapCache[resolved] = packageBrowserField;
}
if ( !disregardResult && !err ) {
if ( !preserveSymlinks && resolved && fs.existsSync( resolved ) ) {
resolved = fs.realpathSync( resolved );
}
if ( !disregardResult && resolved !== false ) {
if ( !preserveSymlinks && resolved && fs.existsSync( resolved ) ) {
resolved = fs.realpathSync( resolved );
}
if ( ~builtins.indexOf( resolved ) ) {
fulfil( 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"
);
}
fulfil( null );
} else if ( jail && resolved.indexOf( path.normalize( jail.trim( path.sep ) ) ) !== 0 ) {
fulfil( null );
if ( ~builtins.indexOf( resolved ) ) {
return 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"
);
}
return null;
} else if ( jail && resolved.indexOf( path.normalize( jail.trim( path.sep ) ) ) !== 0 ) {
return null;
}
}
if ( resolved && options.modulesOnly ) {
fs.readFile( resolved, 'utf-8', function ( err, code ) {
if ( err ) {
reject( err );
} else {
var valid = isModule( code );
fulfil( valid ? resolved : null );
}
});
} else {
fulfil( resolved );
}
if ( resolved && options.modulesOnly ) {
return readFileAsync( resolved, 'utf-8').then(function (code) { return isModule( code ) ? resolved : null; });
} else {
return resolved === false ? null : resolved;
}
);
});
});
}

@@ -219,0 +216,0 @@ };

@@ -14,3 +14,5 @@ import { dirname, resolve, extname, normalize, sep } from 'path';

}; // eslint-disable-line no-console
var exts = [ '.js', '.json', '.node' ];
// It is important that .mjs occur before .js so that Rollup will interpret npm modules
// which deploy both ESM .mjs and CommonJS .js files as ESM.
var DEFAULT_EXTS = [ '.mjs', '.js', '.json', '.node' ];

@@ -45,2 +47,4 @@ var readFileCache = {};

var resolveIdAsync = function (file, opts) { return new Promise(function (fulfil, reject) { return resolveId(file, opts, function (err, contents) { return err ? reject(err) : fulfil(contents); }); }); };
function nodeResolve ( options ) {

@@ -88,3 +92,3 @@ if ( options === void 0 ) options = {};

resolveId: function resolveId$1 ( importee, importer ) {
resolveId: function resolveId$$1 ( importee, importer ) {
if ( /\0/.test( importee ) ) { return null; } // ignore IDs with null character, these belong to other plugins

@@ -120,95 +124,88 @@

return new Promise( function ( fulfil, reject ) {
var disregardResult = false;
var packageBrowserField = false;
var disregardResult = false;
var packageBrowserField = false;
var extensions = options.extensions || DEFAULT_EXTS;
var resolveOptions = {
basedir: dirname( importer ),
packageFilter: function packageFilter ( pkg, pkgPath ) {
var pkgRoot = dirname( pkgPath );
if (options.browser && typeof pkg[ 'browser' ] === 'object') {
packageBrowserField = Object.keys(pkg[ 'browser' ]).reduce(function (browser, key) {
var resolved = pkg[ 'browser' ][ key ] === false ? false : resolve( pkgRoot, pkg[ 'browser' ][ key ] );
browser[ key ] = resolved;
if ( key[0] === '.' ) {
var absoluteKey = resolve( pkgRoot, key );
browser[ absoluteKey ] = resolved;
if ( !extname(key) ) {
exts.reduce( function ( browser, ext ) {
browser[ absoluteKey + ext ] = browser[ key ];
return browser;
}, browser );
}
var resolveOptions = {
basedir: dirname( importer ),
packageFilter: function packageFilter ( pkg, pkgPath ) {
var pkgRoot = dirname( pkgPath );
if (options.browser && typeof pkg[ 'browser' ] === 'object') {
packageBrowserField = Object.keys(pkg[ 'browser' ]).reduce(function (browser, key) {
var resolved = pkg[ 'browser' ][ key ] === false ? false : resolve( pkgRoot, pkg[ 'browser' ][ key ] );
browser[ key ] = resolved;
if ( key[0] === '.' ) {
var absoluteKey = resolve( pkgRoot, key );
browser[ absoluteKey ] = resolved;
if ( !extname(key) ) {
extensions.reduce( function ( browser, ext ) {
browser[ absoluteKey + ext ] = browser[ key ];
return browser;
}, browser );
}
return browser;
}, {});
}
}
return browser;
}, {});
}
if (options.browser && typeof pkg[ 'browser' ] === 'string') {
pkg[ 'main' ] = pkg[ 'browser' ];
} else if ( useModule && pkg[ 'module' ] ) {
pkg[ 'main' ] = pkg[ 'module' ];
} else if ( useJsnext && pkg[ 'jsnext:main' ] ) {
pkg[ 'main' ] = pkg[ 'jsnext:main' ];
} else if ( ( useJsnext || useModule ) && !useMain ) {
disregardResult = true;
}
return pkg;
},
readFile: cachedReadFile,
isFile: cachedIsFile,
extensions: options.extensions
};
if (options.browser && typeof pkg[ 'browser' ] === 'string') {
pkg[ 'main' ] = pkg[ 'browser' ];
} else if ( useModule && pkg[ 'module' ] ) {
pkg[ 'main' ] = pkg[ 'module' ];
} else if ( useJsnext && pkg[ 'jsnext:main' ] ) {
pkg[ 'main' ] = pkg[ 'jsnext:main' ];
} else if ( ( useJsnext || useModule ) && !useMain ) {
disregardResult = true;
}
return pkg;
},
readFile: cachedReadFile,
isFile: cachedIsFile,
extensions: extensions
};
if (preserveSymlinks !== undefined) {
resolveOptions.preserveSymlinks = preserveSymlinks;
}
if (preserveSymlinks !== undefined) {
resolveOptions.preserveSymlinks = preserveSymlinks;
}
resolveId(
importee,
Object.assign( resolveOptions, customResolveOptions ),
function ( err, resolved ) {
if (options.browser && packageBrowserField) {
if (packageBrowserField[ resolved ]) {
resolved = packageBrowserField[ resolved ];
}
browserMapCache[resolved] = packageBrowserField;
return resolveIdAsync(
importee,
Object.assign( resolveOptions, customResolveOptions )
)
.catch(function () { return false; })
.then(function (resolved) {
if (options.browser && packageBrowserField) {
if (packageBrowserField[ resolved ]) {
resolved = packageBrowserField[ resolved ];
}
browserMapCache[resolved] = packageBrowserField;
}
if ( !disregardResult && !err ) {
if ( !preserveSymlinks && resolved && fs.existsSync( resolved ) ) {
resolved = fs.realpathSync( resolved );
}
if ( !disregardResult && resolved !== false ) {
if ( !preserveSymlinks && resolved && fs.existsSync( resolved ) ) {
resolved = fs.realpathSync( resolved );
}
if ( ~builtins.indexOf( resolved ) ) {
fulfil( 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"
);
}
fulfil( null );
} else if ( jail && resolved.indexOf( normalize( jail.trim( sep ) ) ) !== 0 ) {
fulfil( null );
if ( ~builtins.indexOf( resolved ) ) {
return 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"
);
}
return null;
} else if ( jail && resolved.indexOf( normalize( jail.trim( sep ) ) ) !== 0 ) {
return null;
}
}
if ( resolved && options.modulesOnly ) {
fs.readFile( resolved, 'utf-8', function ( err, code ) {
if ( err ) {
reject( err );
} else {
var valid = isModule( code );
fulfil( valid ? resolved : null );
}
});
} else {
fulfil( resolved );
}
if ( resolved && options.modulesOnly ) {
return readFileAsync( resolved, 'utf-8').then(function (code) { return isModule( code ) ? resolved : null; });
} else {
return resolved === false ? null : resolved;
}
);
});
});
}

@@ -215,0 +212,0 @@ };

{
"name": "rollup-plugin-node-resolve",
"description": "Bundle third-party dependencies in node_modules",
"version": "3.3.0",
"version": "3.4.0",
"devDependencies": {

@@ -6,0 +6,0 @@ "buble": "^0.19.3",

@@ -47,3 +47,3 @@ # rollup-plugin-node-resolve

// not all files you want to resolve are .js files
extensions: [ '.js', '.json' ], // Default: ['.js']
extensions: [ '.mjs', '.js', '.jsx', '.json' ], // Default: [ '.mjs', '.js', '.json', '.node' ]

@@ -57,3 +57,3 @@ // whether to prefer built-in modules (e.g. `fs`, `path`) or

jail: '/my/jail/path', // Default: '/'
// Set to an array of strings and/or regexps to lock the module search

@@ -60,0 +60,0 @@ // to modules that match at least one entry. Modules not matching any

@@ -9,3 +9,5 @@ import { dirname, resolve, extname, normalize, sep } from 'path';

const CONSOLE_WARN = ( ...args ) => console.warn( ...args ); // eslint-disable-line no-console
const exts = [ '.js', '.json', '.node' ];
// It is important that .mjs occur before .js so that Rollup will interpret npm modules
// which deploy both ESM .mjs and CommonJS .js files as ESM.
const DEFAULT_EXTS = [ '.mjs', '.js', '.json', '.node' ];

@@ -40,2 +42,4 @@ let readFileCache = {};

const resolveIdAsync = (file, opts) => new Promise((fulfil, reject) => resolveId(file, opts, (err, contents) => err ? reject(err) : fulfil(contents)));
export default function nodeResolve ( options = {} ) {

@@ -112,97 +116,90 @@ const useModule = options.module !== false;

return new Promise( ( fulfil, reject ) => {
let disregardResult = false;
let packageBrowserField = false;
let disregardResult = false;
let packageBrowserField = false;
const extensions = options.extensions || DEFAULT_EXTS;
const resolveOptions = {
basedir: dirname( importer ),
packageFilter ( pkg, pkgPath ) {
const pkgRoot = dirname( pkgPath );
if (options.browser && typeof pkg[ 'browser' ] === 'object') {
packageBrowserField = Object.keys(pkg[ 'browser' ]).reduce((browser, key) => {
const resolved = pkg[ 'browser' ][ key ] === false ? false : resolve( pkgRoot, pkg[ 'browser' ][ key ] );
browser[ key ] = resolved;
if ( key[0] === '.' ) {
const absoluteKey = resolve( pkgRoot, key );
browser[ absoluteKey ] = resolved;
if ( !extname(key) ) {
exts.reduce( ( browser, ext ) => {
browser[ absoluteKey + ext ] = browser[ key ];
return browser;
}, browser );
}
const resolveOptions = {
basedir: dirname( importer ),
packageFilter ( pkg, pkgPath ) {
const pkgRoot = dirname( pkgPath );
if (options.browser && typeof pkg[ 'browser' ] === 'object') {
packageBrowserField = Object.keys(pkg[ 'browser' ]).reduce((browser, key) => {
const resolved = pkg[ 'browser' ][ key ] === false ? false : resolve( pkgRoot, pkg[ 'browser' ][ key ] );
browser[ key ] = resolved;
if ( key[0] === '.' ) {
const absoluteKey = resolve( pkgRoot, key );
browser[ absoluteKey ] = resolved;
if ( !extname(key) ) {
extensions.reduce( ( browser, ext ) => {
browser[ absoluteKey + ext ] = browser[ key ];
return browser;
}, browser );
}
return browser;
}, {});
}
}
return browser;
}, {});
}
if (options.browser && typeof pkg[ 'browser' ] === 'string') {
pkg[ 'main' ] = pkg[ 'browser' ];
} else if ( useModule && pkg[ 'module' ] ) {
pkg[ 'main' ] = pkg[ 'module' ];
} else if ( useJsnext && pkg[ 'jsnext:main' ] ) {
pkg[ 'main' ] = pkg[ 'jsnext:main' ];
} else if ( ( useJsnext || useModule ) && !useMain ) {
disregardResult = true;
}
return pkg;
},
readFile: cachedReadFile,
isFile: cachedIsFile,
extensions: options.extensions
};
if (options.browser && typeof pkg[ 'browser' ] === 'string') {
pkg[ 'main' ] = pkg[ 'browser' ];
} else if ( useModule && pkg[ 'module' ] ) {
pkg[ 'main' ] = pkg[ 'module' ];
} else if ( useJsnext && pkg[ 'jsnext:main' ] ) {
pkg[ 'main' ] = pkg[ 'jsnext:main' ];
} else if ( ( useJsnext || useModule ) && !useMain ) {
disregardResult = true;
}
return pkg;
},
readFile: cachedReadFile,
isFile: cachedIsFile,
extensions: extensions
};
if (preserveSymlinks !== undefined) {
resolveOptions.preserveSymlinks = preserveSymlinks;
}
if (preserveSymlinks !== undefined) {
resolveOptions.preserveSymlinks = preserveSymlinks;
}
resolveId(
importee,
Object.assign( resolveOptions, customResolveOptions ),
( err, resolved ) => {
if (options.browser && packageBrowserField) {
if (packageBrowserField[ resolved ]) {
resolved = packageBrowserField[ resolved ];
}
browserMapCache[resolved] = packageBrowserField;
return resolveIdAsync(
importee,
Object.assign( resolveOptions, customResolveOptions )
)
.catch(() => false)
.then(resolved => {
if (options.browser && packageBrowserField) {
if (packageBrowserField[ resolved ]) {
resolved = packageBrowserField[ resolved ];
}
browserMapCache[resolved] = packageBrowserField;
}
if ( !disregardResult && !err ) {
if ( !preserveSymlinks && resolved && fs.existsSync( resolved ) ) {
resolved = fs.realpathSync( resolved );
}
if ( !disregardResult && resolved !== false ) {
if ( !preserveSymlinks && resolved && fs.existsSync( resolved ) ) {
resolved = fs.realpathSync( resolved );
}
if ( ~builtins.indexOf( resolved ) ) {
fulfil( 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`
);
}
fulfil( null );
} else if ( jail && resolved.indexOf( normalize( jail.trim( sep ) ) ) !== 0 ) {
fulfil( null );
if ( ~builtins.indexOf( resolved ) ) {
return 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`
);
}
return null;
} else if ( jail && resolved.indexOf( normalize( jail.trim( sep ) ) ) !== 0 ) {
return null;
}
}
if ( resolved && options.modulesOnly ) {
fs.readFile( resolved, 'utf-8', ( err, code ) => {
if ( err ) {
reject( err );
} else {
const valid = isModule( code );
fulfil( valid ? resolved : null );
}
});
} else {
fulfil( resolved );
}
if ( resolved && options.modulesOnly ) {
return readFileAsync( resolved, 'utf-8').then(code => isModule( code ) ? resolved : null);
} else {
return resolved === false ? null : resolved;
}
);
});
});
}
};
}
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