/
eb
/
Surf
Обзор
Документация
Войти
/
eb
/
Surf
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/rechoir/index.js
59 строк
1 KB
EvgeniyBudaev
Initial commit
17 фев 2020, 09:02
17 фев 2020, 09:02
bb6f06f
Код
Авторство
О чём код?
const path = require('path'); const extension = require('./lib/extension'); const normalize = require('./lib/normalize'); const register = require('./lib/register'); exports.prepare = function (extensions, filepath, cwd, nothrow) { var option, attempt; var attempts = []; var err; var onlyErrors = false; var ext = extension(filepath); if (Object.keys(require.extensions).indexOf(ext) !== -1) { return true; } var config = normalize(extensions[ext]); if (!config) { if (nothrow) { return; } else { throw new Error('No module loader found for "'+ext+'".'); } } if (!cwd) { cwd = path.dirname(path.resolve(filepath)); } if (!Array.isArray(config)) { config = [config]; } for (var i in config) { option = config[i]; attempt = register(cwd, option.module, option.register); error = (attempt instanceof Error) ? attempt : null; if (error) { attempt = null; } attempts.push({ moduleName: option.module, module: attempt, error: error }); if (!error) { onlyErrors = false; break; } else { onlyErrors = true; } } if (onlyErrors) { err = new Error('Unable to use specified module loaders for "'+ext+'".'); err.failures = attempts; if (nothrow) { return err; } else { throw err; } } return attempts; };