optional-require
Advanced tools
Comparing version
"use strict"; | ||
var __assign = (this && this.__assign) || function () { | ||
__assign = Object.assign || function(t) { | ||
for (var s, i = 1, n = arguments.length; i < n; i++) { | ||
s = arguments[i]; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) | ||
t[p] = s[p]; | ||
} | ||
return t; | ||
}; | ||
return __assign.apply(this, arguments); | ||
}; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -7,8 +18,8 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
exports.optionalRequireCwd = exports.optionalRequire = exports.makeOptionalRequire = exports.tryResolve = exports.tryRequire = exports.setDefaultLog = void 0; | ||
const assert_1 = __importDefault(require("assert")); | ||
const require_at_1 = __importDefault(require("require-at")); | ||
var assert_1 = __importDefault(require("assert")); | ||
var require_at_1 = __importDefault(require("require-at")); | ||
/* eslint-disable max-params, complexity, no-eval */ | ||
// `require` from this module's context | ||
// Using `eval` to avoid tripping bundlers like webpack | ||
const xrequire = eval("require"); | ||
var xrequire = eval("require"); | ||
/** | ||
@@ -25,15 +36,15 @@ * Check if an error from require is really due to the module not found, | ||
// Check the first line of the error message | ||
const msg = err.message.split("\n")[0]; | ||
var msg = err.message.split("\n")[0]; | ||
return (msg && | ||
// Check for "Cannot find module 'foo'" | ||
(msg.includes(`'${name}'`) || | ||
(msg.includes("'" + name + "'") || | ||
// Check for "Your application tried to access foo (a peer dependency) ..." (Yarn v2 PnP) | ||
// https://github.com/yarnpkg/berry/blob/e81dc0d29bb2f41818d9c5c1c74bab1406fb979b/packages/yarnpkg-pnp/sources/loader/makeApi.ts#L680 | ||
msg.includes(` ${name} `) || | ||
msg.includes(" " + name + " ") || | ||
// Check for "Your application tried to access foo. While ..." (Yarn v2 PnP) | ||
// https://github.com/yarnpkg/berry/blob/e81dc0d29bb2f41818d9c5c1c74bab1406fb979b/packages/yarnpkg-pnp/sources/loader/makeApi.ts#L704 | ||
msg.includes(` ${name}. `) || | ||
msg.includes(" " + name + ". ") || | ||
// Check for "Your application tried to access foo, but ..." (Yarn v2 PnP) | ||
// https://github.com/yarnpkg/berry/blob/e81dc0d29bb2f41818d9c5c1c74bab1406fb979b/packages/yarnpkg-pnp/sources/loader/makeApi.ts#L718 | ||
msg.includes(` ${name}, `))); | ||
msg.includes(" " + name + ", "))); | ||
} | ||
@@ -47,5 +58,5 @@ /** | ||
function defaultLog(message, path) { | ||
console.log(`Just FYI: ${message}; Path "${path}"`); | ||
console.log("Just FYI: " + message + "; Path \"" + path + "\""); | ||
} | ||
let __defaultLog = defaultLog; | ||
var __defaultLog = defaultLog; | ||
function setDefaultLog(log) { | ||
@@ -55,5 +66,6 @@ __defaultLog = log; | ||
exports.setDefaultLog = setDefaultLog; | ||
function _getOptions(optsOrMsg, requireFunction = xrequire, log) { | ||
function _getOptions(optsOrMsg, requireFunction, log) { | ||
if (requireFunction === void 0) { requireFunction = xrequire; } | ||
if (typeof optsOrMsg === "object") { | ||
const opts = Object.assign({ require: requireFunction, log }, optsOrMsg); | ||
var opts = __assign({ require: requireFunction, log: log }, optsOrMsg); | ||
assert_1.default(!(opts.hasOwnProperty("notFound") && opts.hasOwnProperty("default")), "optionalRequire: options set with both `notFound` and `default`"); | ||
@@ -63,3 +75,3 @@ return opts; | ||
else { | ||
return { require: requireFunction, log, message: optsOrMsg }; | ||
return { require: requireFunction, log: log, message: optsOrMsg }; | ||
} | ||
@@ -89,5 +101,5 @@ } | ||
if (opts.message) { | ||
const message = opts.message === true ? "" : `${opts.message} - `; | ||
const r = opts.resolve ? "resolved" : "found"; | ||
opts.log(`${message}optional module not ${r}`, path); | ||
var message = opts.message === true ? "" : opts.message + " - "; | ||
var r = opts.resolve ? "resolved" : "found"; | ||
opts.log(message + "optional module not " + r, path); | ||
} | ||
@@ -109,3 +121,3 @@ if (typeof opts.notFound === "function") { | ||
function tryRequire(callerRequire, path, optsOrMsg) { | ||
const opts = _getOptions(optsOrMsg, callerRequire, __defaultLog); | ||
var opts = _getOptions(optsOrMsg, callerRequire, __defaultLog); | ||
opts.resolve = false; | ||
@@ -124,3 +136,3 @@ return _optionalRequire(path, opts); | ||
function tryResolve(callerRequire, path, optsOrMsg) { | ||
const opts = _getOptions(optsOrMsg, callerRequire, __defaultLog); | ||
var opts = _getOptions(optsOrMsg, callerRequire, __defaultLog); | ||
opts.resolve = true; | ||
@@ -138,8 +150,8 @@ return _optionalRequire(path, opts); | ||
function makeOptionalRequire(callerRequire, log) { | ||
const x = (path, optsOrMsg) => { | ||
const opts = _getOptions(optsOrMsg, callerRequire, x.log); | ||
var x = function (path, optsOrMsg) { | ||
var opts = _getOptions(optsOrMsg, callerRequire, x.log); | ||
return _optionalRequire(path, opts); | ||
}; | ||
x.resolve = (path, optsOrMsg) => { | ||
const opts = _getOptions(optsOrMsg, callerRequire, x.log); | ||
x.resolve = function (path, optsOrMsg) { | ||
var opts = _getOptions(optsOrMsg, callerRequire, x.log); | ||
opts.resolve = true; | ||
@@ -146,0 +158,0 @@ return _optionalRequire(path, opts); |
{ | ||
"name": "optional-require", | ||
"version": "1.1.6", | ||
"version": "1.1.7", | ||
"description": "NodeJS Require that let you handle module not found error without try/catch", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
Sorry, the diff of this file is not supported yet
20921
2.29%342
3.64%