sls-dev-tools
Version:
The Dev Tools for the Serverless World
56 lines (41 loc) • 2.21 kB
JavaScript
;
var _serverlessConfigParser = _interopRequireDefault(require("./services/severlessConfigParser/serverlessConfigParser"));
var _index = _interopRequireDefault(require("./guardian/index"));
var _CLIMain = _interopRequireDefault(require("./CLIMain"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const program = require("commander");
const packageJson = require("../package.json");
program.storeOptionsAsProperties();
let slsDevToolsConfig;
try {
// eslint-disable-next-line global-require, import/no-dynamic-require
slsDevToolsConfig = require(`${process.cwd()}/slsdevtools.config.js`);
program.slsDevToolsConfig = slsDevToolsConfig;
} catch (e) {// No config provided
}
program.version(packageJson.version);
program.option("-n, --stack-name <stackName>", "AWS stack name").option("-r, --region <region>", "AWS region").option("-t, --start-time <startTime>", "when to start from, date string with form '30 March 2020 09:00 GMT'").option("-i, --interval <interval>", "interval of graphs, in seconds").option("-p, --profile <profile>", "aws profile name to use").option("-l, --location <location>", "location of your serverless project").option("-s, --stage <stage>", "If sls option is set, use this stage").option("--sls", "use the serverless framework to execute commands").option("--sam", "use the SAM framework to execute commands").option("-c, --ci", "ci mode for sls-dev-guardian checks").option("--mfa <mfa>", "mfa token for profiles with mfa authentication").allowUnknownOption().parse(process.argv);
program.location = program.location || process.cwd();
const SLS = new _serverlessConfigParser.default(program);
if (!program.stage) {
program.stage = SLS.getStage();
}
if (!program.stackName) {
program.stackName = SLS.getStackName(program.stage);
}
if (!program.region) {
program.region = SLS.getRegion();
}
function startTool() {
if (program.ci) {
const guardian = new _index.default(program);
guardian.runChecks().then(exitCode => {
process.exitCode = exitCode;
});
} else {
new _CLIMain.default(program);
}
}
startTool();
exports.slsDevTools = () => startTool();