@uigstudio/gitlab-env
Version:
62 lines (61 loc) • 2.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.config = exports.args = exports.readConfigFile = exports.arg = exports.parseArgs = void 0;
var argv = require("minimist");
var fs = require("fs");
var os = require("os");
var url_1 = require("./url");
var parseArgs = function () {
return argv(process.argv.slice(2));
};
exports.parseArgs = parseArgs;
var arg = function (shortKey, key, defaultValue) {
var args = (0, exports.parseArgs)();
return args[shortKey] || args[key] || defaultValue;
};
exports.arg = arg;
var readConfigFile = function (file) {
try {
return JSON.parse(fs.readFileSync(file.replace('~', os.homedir())).toString());
}
catch (e) {
throw "Can't read config file (".concat(file, "}: ").concat(e);
}
};
exports.readConfigFile = readConfigFile;
var args = function () { return ({
id: (0, exports.arg)('i', 'id', undefined),
env: (0, exports.arg)('e', 'env', 'local'),
output: (0, exports.arg)('o', 'output', './.env.local'),
config: (0, exports.arg)('c', 'glConfig', '~/.glconfig'),
token: (0, exports.arg)('t', 'token', undefined),
url: (0, exports.arg)('u', 'url', 'https://gitlab.com'),
mode: (0, exports.arg)('m', 'mode', 'replace'),
blockList: (0, exports.arg)('b', 'blocklist', '')
.split(',')
.filter(function (i) { return i; }),
}); };
exports.args = args;
var config = function () {
var _args = (0, exports.args)();
var token = _args.token;
var url = _args.url;
if (!_args.id) {
throw Error('Project id must be defined with flag -i');
}
if (!token || !url) {
var glConfig = (0, exports.readConfigFile)(_args.config);
token = token || glConfig.token;
url = url || glConfig.api;
}
return {
id: _args.id,
env: _args.env,
output: _args.output,
mode: _args.mode,
blockList: _args.blockList,
token: token,
url: (0, url_1.createUrl)(url, _args.id),
};
};
exports.config = config;