1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- "use strict";
- exports.__esModule = true;
- exports.resolve = resolve;
- exports.has = has;
- exports.logMissing = logMissing;
- exports.laterLogMissing = laterLogMissing;
- var _path = _interopRequireDefault(require("path"));
- var _lodash = _interopRequireDefault(require("lodash.debounce"));
- var _resolve = _interopRequireDefault(require("resolve"));
- var _module = require("module");
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
- const nativeRequireResolve = parseFloat(process.versions.node) >= 8.9; // $FlowIgnore
- // eslint-disable-line
- function resolve(dirname, moduleName, absoluteImports) {
- if (absoluteImports === false) return moduleName;
- let basedir = dirname;
- if (typeof absoluteImports === "string") {
- basedir = _path.default.resolve(basedir, absoluteImports);
- }
- try {
- if (nativeRequireResolve) {
- return require.resolve(moduleName, {
- paths: [basedir]
- });
- } else {
- return _resolve.default.sync(moduleName, {
- basedir
- });
- }
- } catch (err) {
- if (err.code !== "MODULE_NOT_FOUND") throw err; // $FlowIgnore
- throw Object.assign(new Error(`Failed to resolve "${moduleName}" relative to "${dirname}"`), {
- code: "BABEL_POLYFILL_NOT_FOUND",
- polyfill: moduleName,
- dirname
- });
- }
- }
- function has(basedir, name) {
- try {
- if (nativeRequireResolve) {
- require.resolve(name, {
- paths: [basedir]
- });
- } else {
- _resolve.default.sync(name, {
- basedir
- });
- }
- return true;
- } catch (_unused) {
- return false;
- }
- }
- function logMissing(missingDeps) {
- if (missingDeps.size === 0) return;
- const deps = Array.from(missingDeps).sort().join(" ");
- console.warn("\nSome polyfills have been added but are not present in your dependencies.\n" + "Please run one of the following commands:\n" + `\tnpm install --save ${deps}\n` + `\tyarn add ${deps}\n`);
- process.exitCode = 1;
- }
- let allMissingDeps = new Set();
- const laterLogMissingDependencies = (0, _lodash.default)(() => {
- logMissing(allMissingDeps);
- allMissingDeps = new Set();
- }, 100);
- function laterLogMissing(missingDeps) {
- if (missingDeps.size === 0) return;
- missingDeps.forEach(name => allMissingDeps.add(name));
- laterLogMissingDependencies();
- }
|