navy
Version:
Quick and powerful development environments using Docker and Docker Compose
46 lines (33 loc) • 1.34 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getImportCommandLineOptions = getImportCommandLineOptions;
exports.getImportOptionsForCLI = getImportOptionsForCLI;
exports.resolveConfigProviderFromName = resolveConfigProviderFromName;
var _invariant = _interopRequireDefault(require("invariant"));
var _filesystem = _interopRequireDefault(require("./config-providers/filesystem"));
var _npm = _interopRequireDefault(require("./config-providers/npm"));
const PROVIDERS = [_npm.default, _filesystem.default];
function resolveConfigProviderFromName(providerName) {
switch (providerName) {
case 'filesystem':
return _filesystem.default;
case 'npm':
return _npm.default;
}
return null;
}
function getImportCommandLineOptions() {
return PROVIDERS.reduce((arr, provider) => [...arr, ...provider.importCliOptions], []);
}
async function getImportOptionsForCLI(opts) {
for (const provider of PROVIDERS) {
const optionsFromProvider = await provider.getImportOptionsForCLI(opts);
if (optionsFromProvider) {
return optionsFromProvider;
}
}
(0, _invariant.default)(false, "CLI_IMPORT_RESOLVE_OPTIONS_ERR: Could not resolve import options from CLI arguments");
}