@amplitude/ampli
Version:
Amplitude CLI
66 lines (65 loc) • 3.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const command_1 = require("@oclif/command");
const base_1 = require("../base");
const status_1 = require("../actions/status");
class Status extends base_1.default {
async run() {
const { flags: statusFlags } = this.parse(Status);
await this.mustBeInitialized(statusFlags, true);
await this.runRecommendedPull(statusFlags);
const { instanceNames, instanceName, sourceDirs, sourceDir } = statusFlags, actionFlags = tslib_1.__rest(statusFlags, ["instanceNames", "instanceName", "sourceDirs", "sourceDir"]);
const { missedEventCount, exitCode } = await new status_1.default(Object.assign(Object.assign({}, actionFlags), { instanceNames: instanceNames !== null && instanceNames !== void 0 ? instanceNames : instanceName, sourceDirs: sourceDirs !== null && sourceDirs !== void 0 ? sourceDirs : sourceDir }), {}, this.actionConfig(Status.id), this.setBranchMappedToMain.bind(this)).run();
if (missedEventCount > 0 || exitCode != null) {
await this.finally(undefined);
process.exit(exitCode !== null && exitCode !== void 0 ? exitCode : 2);
}
}
}
exports.default = Status;
Status.id = 'status';
Status.description = 'verify (lint) your source code for analytics';
Status.flags = Object.assign({ update: command_1.flags.boolean({
char: 'u', description: 'update tracking plan with latest implementation status',
}), branch: command_1.flags.string({
char: 'b', description: 'enforces source is on provided the branch',
}), [status_1.SKIP_UPDATE_ON_DEFAULT_BRANCH]: command_1.flags.boolean({
dependsOn: ['update'],
description: `prevents updating implementation status on default branch`,
}), runtime: command_1.flags.string({
hidden: true, description: '(developer) override source runtime id',
}), sourceDirs: command_1.flags.string({
description: 'source code location',
multiple: true,
}), sourceDir: command_1.flags.string({
description: 'source code location',
multiple: true,
hidden: true,
}), [status_1.IS_MERGED]: command_1.flags.boolean({
description: `check if current branch/version has been merged into default branch`,
}), [status_1.IS_LATEST]: command_1.flags.boolean({
description: `check if current version is the latest`,
}), [status_1.IS_LATEST_IF_NOT_DEFAULT_BRANCH]: command_1.flags.boolean({
description: `check if current version is the latest (do not check if on default branch)`,
}), instanceNames: command_1.flags.string({
description: 'Ampli instance name(s) to check',
multiple: true,
}), instanceName: command_1.flags.string({
description: 'Ampli instance name(s) to check',
multiple: true,
hidden: true,
}) }, base_1.default.commonFlagsWithToken);
Status.args = [];
Status.usage = 'status';
Status.examples = [
'$ ampli status',
'$ ampli status -u',
'$ ampli status -b main',
`$ ampli status -u --${status_1.SKIP_UPDATE_ON_DEFAULT_BRANCH}`,
'$ ampli status --sourceDirs ./src ./util',
`$ ampli status --${status_1.IS_MERGED}`,
`$ ampli status --${status_1.IS_LATEST}`,
`$ ampli status --${status_1.IS_LATEST_IF_NOT_DEFAULT_BRANCH}`,
`$ ampli status --instanceNames myAmpliInstanceName ampli itly foo`,
];