Socket
Socket
Sign inDemoInstall

enhanced-resolve

Package Overview
Dependencies
2
Maintainers
4
Versions
127
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 5.13.0 to 5.14.0

2

lib/AliasPlugin.js

@@ -62,3 +62,3 @@ /*

) {
const remainingRequest = innerRequest.substr(item.name.length);
const remainingRequest = innerRequest.slice(item.name.length);
const resolveWithAlias = (alias, callback) => {

@@ -65,0 +65,0 @@ if (alias === false) {

@@ -66,3 +66,3 @@ /*

const relativePath =
"." + path.substr(result.directory.length).replace(/\\/g, "/");
"." + path.slice(result.directory.length).replace(/\\/g, "/");
const obj = {

@@ -69,0 +69,0 @@ ...request,

@@ -165,3 +165,3 @@ /*

if (p < 0) return null;
return directory.substr(0, p || 1);
return directory.slice(0, p || 1);
}

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

@@ -39,8 +39,14 @@ /*

if (!requestPath || !requestPath.endsWith(extension)) return callback();
const resolve = (alias, callback) => {
resolver.doResolve(
const isAliasString = typeof alias === "string";
const resolve = (alias, callback, index) => {
const newRequest = `${requestPath.slice(
0,
-extension.length
)}${alias}`;
return resolver.doResolve(
target,
{
...request,
request: `${requestPath.slice(0, -extension.length)}${alias}`,
request: newRequest,
fullySpecified: true

@@ -50,3 +56,20 @@ },

resolveContext,
callback
(err, result) => {
// Throw error if we are on the last alias (for multiple aliases) and it failed, always throw if we are not an array or we have only one alias
if (!isAliasString && index) {
if (index !== this.options.alias.length) {
if (resolveContext.log) {
resolveContext.log(
`Failed to alias from extension alias with mapping '${extension}' to '${alias}' for '${newRequest}': ${err}`
);
}
return callback(null, result);
}
return callback(err, result);
} else {
callback(err, result);
}
}
);

@@ -61,3 +84,3 @@ };

};
if (typeof alias === "string") {
if (isAliasString) {
resolve(alias, stoppingCallback);

@@ -64,0 +87,0 @@ } else if (alias.length > 1) {

@@ -14,9 +14,13 @@ /*

let loop = undefined;
iterator(array[i++], (err, result) => {
if (err || result !== undefined || i >= array.length) {
return callback(err, result);
}
if (loop === false) while (next());
loop = true;
});
iterator(
array[i++],
(err, result) => {
if (err || result !== undefined || i >= array.length) {
return callback(err, result);
}
if (loop === false) while (next());
loop = true;
},
i
);
if (!loop) loop = false;

@@ -23,0 +27,0 @@ return loop;

@@ -14,8 +14,8 @@ /*

let part = parts[parts.length - 1];
path = path.substr(0, path.length - part.length - 1);
path = path.substring(0, path.length - part.length - 1);
for (let i = parts.length - 2; i > 2; i -= 2) {
paths.push(path);
part = parts[i];
path = path.substr(0, path.length - part.length) || "/";
segments.push(part.substr(0, part.length - 1));
path = path.substring(0, path.length - part.length) || "/";
segments.push(part.slice(0, -1));
}

@@ -36,4 +36,4 @@ part = parts[1];

if (p < 0) return null;
const s = path.substr(p + 1);
const s = path.slice(p + 1);
return s;
};

@@ -15,2 +15,3 @@ /*

/** @typedef {import("./Resolver").FileSystem} FileSystem */
/** @typedef {import("./Resolver").ResolveCallback} ResolveCallback */
/** @typedef {import("./Resolver").ResolveContext} ResolveContext */

@@ -20,2 +21,14 @@ /** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */

/** @typedef {import("./ResolverFactory").UserResolveOptions} ResolveOptions */
/** @typedef {{
* (context: object, path: string, request: string, resolveContext: ResolveContext, callback: ResolveCallback): void;
* (context: object, path: string, request: string, callback: ResolveCallback): void;
* (path: string, request: string, resolveContext: ResolveContext, callback: ResolveCallback): void;
* (path: string, request: string, callback: ResolveCallback): void;
* }} ResolveFunctionAsync
*/
/** @typedef {{
* (context: object, path: string, request: string): string|false;
* (path: string, request: string): string|false;
* }} ResolveFunction
*/

@@ -33,16 +46,34 @@ const nodeFileSystem = new CachedInputFileSystem(fs, 4000);

});
function resolve(context, path, request, resolveContext, callback) {
if (typeof context === "string") {
callback = resolveContext;
resolveContext = request;
request = path;
path = context;
context = nodeContext;
}
if (typeof callback !== "function") {
callback = resolveContext;
}
asyncResolver.resolve(context, path, request, resolveContext, callback);
}
/**
* @type {ResolveFunctionAsync}
*/
const resolve =
/**
* @param {object|string} context
* @param {string} path
* @param {string|ResolveContext|ResolveCallback} request
* @param {ResolveContext|ResolveCallback=} resolveContext
* @param {ResolveCallback=} callback
*/
(context, path, request, resolveContext, callback) => {
if (typeof context === "string") {
callback = /** @type {ResolveCallback} */ (resolveContext);
resolveContext = /** @type {ResolveContext} */ (request);
request = path;
path = context;
context = nodeContext;
}
if (typeof callback !== "function") {
callback = /** @type {ResolveCallback} */ (resolveContext);
}
asyncResolver.resolve(
context,
path,
/** @type {string} */ (request),
/** @type {ResolveContext} */ (resolveContext),
/** @type {ResolveCallback} */ (callback)
);
};
const syncResolver = ResolverFactory.createResolver({

@@ -54,21 +85,47 @@ conditionNames: ["node"],

});
function resolveSync(context, path, request) {
if (typeof context === "string") {
request = path;
path = context;
context = nodeContext;
}
return syncResolver.resolveSync(context, path, request);
}
/**
* @type {ResolveFunction}
*/
const resolveSync =
/**
* @param {object|string} context
* @param {string} path
* @param {string=} request
*/
(context, path, request) => {
if (typeof context === "string") {
request = path;
path = context;
context = nodeContext;
}
return syncResolver.resolveSync(
context,
path,
/** @type {string} */ (request)
);
};
/** @typedef {Omit<ResolveOptions, "fileSystem"> & Partial<Pick<ResolveOptions, "fileSystem">>} ResolveOptionsOptionalFS */
/**
* @param {ResolveOptionsOptionalFS} options Resolver options
* @returns {ResolveFunctionAsync} Resolver function
*/
function create(options) {
options = {
const resolver = ResolverFactory.createResolver({
fileSystem: nodeFileSystem,
...options
};
const resolver = ResolverFactory.createResolver(options);
});
/**
* @param {object|string} context Custom context
* @param {string} path Base path
* @param {string|ResolveContext|ResolveCallback} request String to resolve
* @param {ResolveContext|ResolveCallback=} resolveContext Resolve context
* @param {ResolveCallback=} callback Result callback
*/
return function (context, path, request, resolveContext, callback) {
if (typeof context === "string") {
callback = resolveContext;
resolveContext = request;
callback = /** @type {ResolveCallback} */ (resolveContext);
resolveContext = /** @type {ResolveContext} */ (request);
request = path;

@@ -79,15 +136,24 @@ path = context;

if (typeof callback !== "function") {
callback = resolveContext;
callback = /** @type {ResolveCallback} */ (resolveContext);
}
resolver.resolve(context, path, request, resolveContext, callback);
resolver.resolve(
context,
path,
/** @type {string} */ (request),
/** @type {ResolveContext} */ (resolveContext),
callback
);
};
}
/**
* @param {ResolveOptionsOptionalFS} options Resolver options
* @returns {ResolveFunction} Resolver function
*/
function createSync(options) {
options = {
const resolver = ResolverFactory.createResolver({
useSyncFileSystemCalls: true,
fileSystem: nodeFileSystem,
...options
};
const resolver = ResolverFactory.createResolver(options);
});
return function (context, path, request) {

@@ -94,0 +160,0 @@ if (typeof context === "string") {

@@ -20,2 +20,6 @@ /*

/** @typedef {Error & {details?: string}} ErrorWithDetail */
/** @typedef {(err: ErrorWithDetail|null, res?: string|false, req?: ResolveRequest) => void} ResolveCallback */
/**

@@ -126,3 +130,3 @@ * @typedef {Object} FileSystemStats

function toCamelCase(str) {
return str.replace(/-([a-z])/g, str => str.substr(1).toUpperCase());
return str.replace(/-([a-z])/g, str => str.slice(1).toUpperCase());
}

@@ -183,3 +187,3 @@

return /** @type {ResolveStepHook} */ (this.ensureHook(
name[6].toLowerCase() + name.substr(7)
name[6].toLowerCase() + name.slice(7)
).withOptions({

@@ -191,3 +195,3 @@ stage: -10

return /** @type {ResolveStepHook} */ (this.ensureHook(
name[5].toLowerCase() + name.substr(6)
name[5].toLowerCase() + name.slice(6)
).withOptions({

@@ -218,3 +222,3 @@ stage: 10

return /** @type {ResolveStepHook} */ (this.getHook(
name[6].toLowerCase() + name.substr(7)
name[6].toLowerCase() + name.slice(7)
).withOptions({

@@ -226,3 +230,3 @@ stage: -10

return /** @type {ResolveStepHook} */ (this.getHook(
name[5].toLowerCase() + name.substr(6)
name[5].toLowerCase() + name.slice(6)
).withOptions({

@@ -271,3 +275,3 @@ stage: 10

* @param {ResolveContext} resolveContext resolve context
* @param {function(Error | null, (string|false)=, ResolveRequest=): void} callback callback function
* @param {ResolveCallback} callback callback function
* @returns {void}

@@ -322,3 +326,3 @@ */

/**
* @type {Error & {details?: string}}
* @type {ErrorWithDetail}
*/

@@ -484,3 +488,3 @@ const error = new Error("Can't " + message);

if (part.directory) {
part.request = part.request.substr(0, part.request.length - 1);
part.request = part.request.slice(0, -1);
}

@@ -487,0 +491,0 @@ }

@@ -144,3 +144,3 @@ /*

obj.onlyModule = true;
obj.name = key.substr(0, key.length - 1);
obj.name = key.slice(0, -1);
}

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

{
"name": "enhanced-resolve",
"version": "5.13.0",
"version": "5.14.0",
"author": "Tobias Koppers @sokra",

@@ -5,0 +5,0 @@ "description": "Offers a async require.resolve function. It's highly configurable.",

@@ -108,2 +108,3 @@ /*

}
type ErrorWithDetail = Error & { details?: string };
declare interface ExtensionAliasOption {

@@ -265,2 +266,48 @@ alias: string | string[];

}
declare interface ResolveFunction {
(context: object, path: string, request: string): string | false;
(path: string, request: string): string | false;
}
declare interface ResolveFunctionAsync {
(
context: object,
path: string,
request: string,
resolveContext: ResolveContext,
callback: (
err: null | ErrorWithDetail,
res?: string | false,
req?: ResolveRequest
) => void
): void;
(
context: object,
path: string,
request: string,
callback: (
err: null | ErrorWithDetail,
res?: string | false,
req?: ResolveRequest
) => void
): void;
(
path: string,
request: string,
resolveContext: ResolveContext,
callback: (
err: null | ErrorWithDetail,
res?: string | false,
req?: ResolveRequest
) => void
): void;
(
path: string,
request: string,
callback: (
err: null | ErrorWithDetail,
res?: string | false,
req?: ResolveRequest
) => void
): void;
}
declare interface ResolveOptions {

@@ -299,2 +346,4 @@ alias: AliasOption[];

}
type ResolveOptionsOptionalFS = Omit<UserResolveOptions, "fileSystem"> &
Partial<Pick<UserResolveOptions, "fileSystem">>;
type ResolveRequest = BaseResolveRequest & Partial<ParsedIdentifier>;

@@ -350,5 +399,5 @@ declare abstract class Resolver {

callback: (
arg0: null | Error,
arg1?: string | false,
arg2?: ResolveRequest
err: null | ErrorWithDetail,
res?: string | false,
req?: ResolveRequest
) => void

@@ -519,27 +568,48 @@ ): void;

declare function exports(
context?: any,
path?: any,
request?: any,
resolveContext?: any,
callback?: any
context: object,
path: string,
request: string,
resolveContext: ResolveContext,
callback: (
err: null | ErrorWithDetail,
res?: string | false,
req?: ResolveRequest
) => void
): void;
declare function exports(
context: object,
path: string,
request: string,
callback: (
err: null | ErrorWithDetail,
res?: string | false,
req?: ResolveRequest
) => void
): void;
declare function exports(
path: string,
request: string,
resolveContext: ResolveContext,
callback: (
err: null | ErrorWithDetail,
res?: string | false,
req?: ResolveRequest
) => void
): void;
declare function exports(
path: string,
request: string,
callback: (
err: null | ErrorWithDetail,
res?: string | false,
req?: ResolveRequest
) => void
): void;
declare namespace exports {
export const sync: (
context?: any,
path?: any,
request?: any
) => string | false;
export const sync: ResolveFunction;
export function create(
options?: any
): (
context?: any,
path?: any,
request?: any,
resolveContext?: any,
callback?: any
) => void;
options: ResolveOptionsOptionalFS
): ResolveFunctionAsync;
export namespace create {
export const sync: (
options?: any
) => (context?: any, path?: any, request?: any) => string | false;
export const sync: (options: ResolveOptionsOptionalFS) => ResolveFunction;
}

@@ -554,2 +624,7 @@ export namespace ResolverFactory {

) => any;
export type ResolveCallback = (
err: null | ErrorWithDetail,
res?: string | false,
req?: ResolveRequest
) => void;
export {

@@ -559,2 +634,3 @@ CachedInputFileSystem,

LogInfoPlugin,
ResolveOptionsOptionalFS,
PnpApiImpl as PnpApi,

@@ -566,3 +642,5 @@ Resolver,

Plugin,
UserResolveOptions as ResolveOptions
UserResolveOptions as ResolveOptions,
ResolveFunctionAsync,
ResolveFunction
};

@@ -569,0 +647,0 @@ }

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc