UNPKG

@amplitude/ampli

Version:

Amplitude CLI

66 lines (65 loc) 3.45 kB
"use strict"; 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`, ];