@optimizely/ocp-cli-v2 2.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +51 -0
- package/bin/ocp.js +3 -0
- package/bin/run.js +3 -0
- package/dist/commands/accounts/whoami.d.ts +5 -0
- package/dist/commands/accounts/whoami.js +22 -0
- package/dist/commands/accounts/whoami.js.map +1 -0
- package/dist/commands/accounts/whois.d.ts +12 -0
- package/dist/commands/accounts/whois.js +57 -0
- package/dist/commands/accounts/whois.js.map +1 -0
- package/dist/commands/app/BaseBuildCommand.d.ts +37 -0
- package/dist/commands/app/BaseBuildCommand.js +255 -0
- package/dist/commands/app/BaseBuildCommand.js.map +1 -0
- package/dist/commands/app/abandon.d.ts +11 -0
- package/dist/commands/app/abandon.js +146 -0
- package/dist/commands/app/abandon.js.map +1 -0
- package/dist/commands/app/getLogLevel.d.ts +16 -0
- package/dist/commands/app/getLogLevel.js +66 -0
- package/dist/commands/app/getLogLevel.js.map +1 -0
- package/dist/commands/app/init.d.ts +27 -0
- package/dist/commands/app/init.js +326 -0
- package/dist/commands/app/init.js.map +1 -0
- package/dist/commands/app/logs.d.ts +24 -0
- package/dist/commands/app/logs.js +231 -0
- package/dist/commands/app/logs.js.map +1 -0
- package/dist/commands/app/package.d.ts +8 -0
- package/dist/commands/app/package.js +51 -0
- package/dist/commands/app/package.js.map +1 -0
- package/dist/commands/app/prepare.d.ts +16 -0
- package/dist/commands/app/prepare.js +119 -0
- package/dist/commands/app/prepare.js.map +1 -0
- package/dist/commands/app/register.d.ts +10 -0
- package/dist/commands/app/register.js +102 -0
- package/dist/commands/app/register.js.map +1 -0
- package/dist/commands/app/setLogLevel.d.ts +16 -0
- package/dist/commands/app/setLogLevel.js +83 -0
- package/dist/commands/app/setLogLevel.js.map +1 -0
- package/dist/commands/app/validate.d.ts +5 -0
- package/dist/commands/app/validate.js +26 -0
- package/dist/commands/app/validate.js.map +1 -0
- package/dist/commands/availability/list.d.ts +6 -0
- package/dist/commands/availability/list.js +32 -0
- package/dist/commands/availability/list.js.map +1 -0
- package/dist/commands/dev-server/start.d.ts +36 -0
- package/dist/commands/dev-server/start.js +209 -0
- package/dist/commands/dev-server/start.js.map +1 -0
- package/dist/commands/dev.d.ts +8 -0
- package/dist/commands/dev.js +12 -0
- package/dist/commands/dev.js.map +1 -0
- package/dist/commands/directory/info.d.ts +13 -0
- package/dist/commands/directory/info.js +85 -0
- package/dist/commands/directory/info.js.map +1 -0
- package/dist/commands/directory/install.d.ts +12 -0
- package/dist/commands/directory/install.js +46 -0
- package/dist/commands/directory/install.js.map +1 -0
- package/dist/commands/directory/list.d.ts +14 -0
- package/dist/commands/directory/list.js +114 -0
- package/dist/commands/directory/list.js.map +1 -0
- package/dist/commands/directory/listFunctions.d.ts +15 -0
- package/dist/commands/directory/listFunctions.js +86 -0
- package/dist/commands/directory/listFunctions.js.map +1 -0
- package/dist/commands/directory/listGlobalFunctions.d.ts +13 -0
- package/dist/commands/directory/listGlobalFunctions.js +64 -0
- package/dist/commands/directory/listGlobalFunctions.js.map +1 -0
- package/dist/commands/directory/listInstalls.d.ts +15 -0
- package/dist/commands/directory/listInstalls.js +72 -0
- package/dist/commands/directory/listInstalls.js.map +1 -0
- package/dist/commands/directory/listSourceFunctions.d.ts +14 -0
- package/dist/commands/directory/listSourceFunctions.js +71 -0
- package/dist/commands/directory/listSourceFunctions.js.map +1 -0
- package/dist/commands/directory/publish.d.ts +15 -0
- package/dist/commands/directory/publish.js +201 -0
- package/dist/commands/directory/publish.js.map +1 -0
- package/dist/commands/directory/status.d.ts +11 -0
- package/dist/commands/directory/status.js +50 -0
- package/dist/commands/directory/status.js.map +1 -0
- package/dist/commands/directory/uninstall.d.ts +13 -0
- package/dist/commands/directory/uninstall.js +55 -0
- package/dist/commands/directory/uninstall.js.map +1 -0
- package/dist/commands/directory/unpublish.d.ts +17 -0
- package/dist/commands/directory/unpublish.js +187 -0
- package/dist/commands/directory/unpublish.js.map +1 -0
- package/dist/commands/directory/upgrade.d.ts +15 -0
- package/dist/commands/directory/upgrade.js +113 -0
- package/dist/commands/directory/upgrade.js.map +1 -0
- package/dist/commands/env/get.d.ts +5 -0
- package/dist/commands/env/get.js +23 -0
- package/dist/commands/env/get.js.map +1 -0
- package/dist/commands/env/set.d.ts +8 -0
- package/dist/commands/env/set.js +63 -0
- package/dist/commands/env/set.js.map +1 -0
- package/dist/commands/jobs/list.d.ts +27 -0
- package/dist/commands/jobs/list.js +245 -0
- package/dist/commands/jobs/list.js.map +1 -0
- package/dist/commands/jobs/runtimeStatus.d.ts +11 -0
- package/dist/commands/jobs/runtimeStatus.js +55 -0
- package/dist/commands/jobs/runtimeStatus.js.map +1 -0
- package/dist/commands/jobs/status.d.ts +11 -0
- package/dist/commands/jobs/status.js +57 -0
- package/dist/commands/jobs/status.js.map +1 -0
- package/dist/commands/jobs/terminate.d.ts +11 -0
- package/dist/commands/jobs/terminate.js +35 -0
- package/dist/commands/jobs/terminate.js.map +1 -0
- package/dist/commands/jobs/trigger.d.ts +14 -0
- package/dist/commands/jobs/trigger.js +47 -0
- package/dist/commands/jobs/trigger.js.map +1 -0
- package/dist/commands/review/list.d.ts +9 -0
- package/dist/commands/review/list.js +74 -0
- package/dist/commands/review/list.js.map +1 -0
- package/dist/commands/review/open.d.ts +8 -0
- package/dist/commands/review/open.js +32 -0
- package/dist/commands/review/open.js.map +1 -0
- package/dist/hooks/command-not-found.d.ts +3 -0
- package/dist/hooks/command-not-found.js +93 -0
- package/dist/hooks/command-not-found.js.map +1 -0
- package/dist/hooks/preupdate.d.ts +10 -0
- package/dist/hooks/preupdate.js +42 -0
- package/dist/hooks/preupdate.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +59 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/AppContext.d.ts +9 -0
- package/dist/lib/AppContext.js +43 -0
- package/dist/lib/AppContext.js.map +1 -0
- package/dist/lib/AppPackager.d.ts +17 -0
- package/dist/lib/AppPackager.js +57 -0
- package/dist/lib/AppPackager.js.map +1 -0
- package/dist/lib/AppUpdater.d.ts +11 -0
- package/dist/lib/AppUpdater.js +143 -0
- package/dist/lib/AppUpdater.js.map +1 -0
- package/dist/lib/AppUploader.d.ts +9 -0
- package/dist/lib/AppUploader.js +37 -0
- package/dist/lib/AppUploader.js.map +1 -0
- package/dist/lib/BuildPipeline.d.ts +24 -0
- package/dist/lib/BuildPipeline.js +26 -0
- package/dist/lib/BuildPipeline.js.map +1 -0
- package/dist/lib/BuildPipelineFactory.d.ts +10 -0
- package/dist/lib/BuildPipelineFactory.js +23 -0
- package/dist/lib/BuildPipelineFactory.js.map +1 -0
- package/dist/lib/Config.d.ts +15 -0
- package/dist/lib/Config.js +47 -0
- package/dist/lib/Config.js.map +1 -0
- package/dist/lib/CustomHelp.d.ts +19 -0
- package/dist/lib/CustomHelp.js +81 -0
- package/dist/lib/CustomHelp.js.map +1 -0
- package/dist/lib/DependencyStage.d.ts +1 -0
- package/dist/lib/DependencyStage.js +3 -0
- package/dist/lib/DependencyStage.js.map +1 -0
- package/dist/lib/EnvironmentalOutput.d.ts +1 -0
- package/dist/lib/EnvironmentalOutput.js +22 -0
- package/dist/lib/EnvironmentalOutput.js.map +1 -0
- package/dist/lib/Moria.d.ts +51 -0
- package/dist/lib/Moria.js +30 -0
- package/dist/lib/Moria.js.map +1 -0
- package/dist/lib/MoriaApi.d.ts +22 -0
- package/dist/lib/MoriaApi.js +74 -0
- package/dist/lib/MoriaApi.js.map +1 -0
- package/dist/lib/NodeBuildPipeline.d.ts +25 -0
- package/dist/lib/NodeBuildPipeline.js +60 -0
- package/dist/lib/NodeBuildPipeline.js.map +1 -0
- package/dist/lib/PackageManager.d.ts +242 -0
- package/dist/lib/PackageManager.js +511 -0
- package/dist/lib/PackageManager.js.map +1 -0
- package/dist/lib/Rivendell.d.ts +409 -0
- package/dist/lib/Rivendell.js +391 -0
- package/dist/lib/Rivendell.js.map +1 -0
- package/dist/lib/RivendellApi.d.ts +22 -0
- package/dist/lib/RivendellApi.js +159 -0
- package/dist/lib/RivendellApi.js.map +1 -0
- package/dist/lib/Shards.d.ts +3 -0
- package/dist/lib/Shards.js +41 -0
- package/dist/lib/Shards.js.map +1 -0
- package/dist/lib/StringUtils.d.ts +1 -0
- package/dist/lib/StringUtils.js +9 -0
- package/dist/lib/StringUtils.js.map +1 -0
- package/dist/lib/TeminalPassthru.d.ts +7 -0
- package/dist/lib/TeminalPassthru.js +12 -0
- package/dist/lib/TeminalPassthru.js.map +1 -0
- package/dist/lib/TerminalConfirm.d.ts +3 -0
- package/dist/lib/TerminalConfirm.js +31 -0
- package/dist/lib/TerminalConfirm.js.map +1 -0
- package/dist/lib/TerminalInput.d.ts +32 -0
- package/dist/lib/TerminalInput.js +207 -0
- package/dist/lib/TerminalInput.js.map +1 -0
- package/dist/lib/TerminalMenu.d.ts +34 -0
- package/dist/lib/TerminalMenu.js +186 -0
- package/dist/lib/TerminalMenu.js.map +1 -0
- package/dist/lib/TerminalOutput.d.ts +5 -0
- package/dist/lib/TerminalOutput.js +12 -0
- package/dist/lib/TerminalOutput.js.map +1 -0
- package/dist/lib/TerminalSpinner.d.ts +14 -0
- package/dist/lib/TerminalSpinner.js +69 -0
- package/dist/lib/TerminalSpinner.js.map +1 -0
- package/dist/lib/Tracking.d.ts +15 -0
- package/dist/lib/Tracking.js +19 -0
- package/dist/lib/Tracking.js.map +1 -0
- package/dist/lib/build.d.ts +5 -0
- package/dist/lib/build.js +41 -0
- package/dist/lib/build.js.map +1 -0
- package/dist/lib/die.d.ts +5 -0
- package/dist/lib/die.js +14 -0
- package/dist/lib/die.js.map +1 -0
- package/dist/lib/directoryExists.d.ts +1 -0
- package/dist/lib/directoryExists.js +9 -0
- package/dist/lib/directoryExists.js.map +1 -0
- package/dist/lib/formatBuildState.d.ts +2 -0
- package/dist/lib/formatBuildState.js +23 -0
- package/dist/lib/formatBuildState.js.map +1 -0
- package/dist/lib/formatError.d.ts +1 -0
- package/dist/lib/formatError.js +55 -0
- package/dist/lib/formatError.js.map +1 -0
- package/dist/lib/formatJobStatus.d.ts +3 -0
- package/dist/lib/formatJobStatus.js +28 -0
- package/dist/lib/formatJobStatus.js.map +1 -0
- package/dist/lib/formatReviewStatus.d.ts +4 -0
- package/dist/lib/formatReviewStatus.js +28 -0
- package/dist/lib/formatReviewStatus.js.map +1 -0
- package/dist/lib/formatTimstamp.d.ts +1 -0
- package/dist/lib/formatTimstamp.js +25 -0
- package/dist/lib/formatTimstamp.js.map +1 -0
- package/dist/lib/formatVersionState.d.ts +2 -0
- package/dist/lib/formatVersionState.js +37 -0
- package/dist/lib/formatVersionState.js.map +1 -0
- package/dist/lib/gatherAppEnv.d.ts +3 -0
- package/dist/lib/gatherAppEnv.js +71 -0
- package/dist/lib/gatherAppEnv.js.map +1 -0
- package/dist/lib/handleInterrupt.d.ts +1 -0
- package/dist/lib/handleInterrupt.js +17 -0
- package/dist/lib/handleInterrupt.js.map +1 -0
- package/dist/lib/jobRuntime.d.ts +3 -0
- package/dist/lib/jobRuntime.js +16 -0
- package/dist/lib/jobRuntime.js.map +1 -0
- package/dist/lib/migrateOptiCli.d.ts +1 -0
- package/dist/lib/migrateOptiCli.js +30 -0
- package/dist/lib/migrateOptiCli.js.map +1 -0
- package/dist/lib/parseDate.d.ts +2 -0
- package/dist/lib/parseDate.js +26 -0
- package/dist/lib/parseDate.js.map +1 -0
- package/dist/lib/templating/TemplateRenderer.d.ts +13 -0
- package/dist/lib/templating/TemplateRenderer.js +63 -0
- package/dist/lib/templating/TemplateRenderer.js.map +1 -0
- package/dist/lib/templating/fetchTemplatesManifest.d.ts +1 -0
- package/dist/lib/templating/fetchTemplatesManifest.js +9 -0
- package/dist/lib/templating/fetchTemplatesManifest.js.map +1 -0
- package/dist/lib/templating/types.d.ts +27 -0
- package/dist/lib/templating/types.js +3 -0
- package/dist/lib/templating/types.js.map +1 -0
- package/dist/oclif.manifest.json +1616 -0
- package/dist/utils/utils.d.ts +5 -0
- package/dist/utils/utils.js +61 -0
- package/dist/utils/utils.js.map +1 -0
- package/package.json +180 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const chalk = require("chalk");
|
|
4
|
+
const core_1 = require("@oclif/core");
|
|
5
|
+
const die_1 = require("../../lib/die");
|
|
6
|
+
const formatTimstamp_1 = require("../../lib/formatTimstamp");
|
|
7
|
+
const jobRuntime_1 = require("../../lib/jobRuntime");
|
|
8
|
+
const formatJobStatus_1 = require("../../lib/formatJobStatus");
|
|
9
|
+
const formatError_1 = require("../../lib/formatError");
|
|
10
|
+
const Rivendell_1 = require("../../lib/Rivendell");
|
|
11
|
+
class Status extends core_1.Command {
|
|
12
|
+
async run() {
|
|
13
|
+
const { args, flags } = await this.parse(Status);
|
|
14
|
+
if (!args.jobId) {
|
|
15
|
+
return (0, die_1.die)('Job ID is required');
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
const job = await Rivendell_1.Rivendell.fetchJob(args.jobId, flags.availability);
|
|
19
|
+
if (!job) {
|
|
20
|
+
return (0, die_1.die)(chalk.yellow(`No job found with id ${args.jobId}.`));
|
|
21
|
+
}
|
|
22
|
+
this.log(`\n${chalk.cyanBright('Id')}\t\t\t${job.id}`);
|
|
23
|
+
this.log(`${chalk.cyanBright('App Id')}\t\t\t${job.definition.appId}`);
|
|
24
|
+
this.log(`${chalk.cyanBright('Version')}\t\t\t${job.definition.version}`);
|
|
25
|
+
this.log(`${chalk.cyanBright('Function')}\t\t${job.definition.function}`);
|
|
26
|
+
this.log(`${chalk.cyanBright('TrackerId')}\t\t${job.trackerId}`);
|
|
27
|
+
this.log(`${chalk.cyanBright('Status')}\t\t\t${(0, formatJobStatus_1.formatJobStatus)(job.status)}`);
|
|
28
|
+
this.log(`${chalk.cyanBright('Triggered At')}\t\t${job.triggeredAt}`);
|
|
29
|
+
if (job.completedAt) {
|
|
30
|
+
this.log(`${chalk.cyanBright('Completed At')}\t\t${job.completedAt}`);
|
|
31
|
+
}
|
|
32
|
+
else if (job.terminatedAt) {
|
|
33
|
+
this.log(`${chalk.cyanBright('Terminated At')}\t\t${job.terminatedAt}`);
|
|
34
|
+
}
|
|
35
|
+
this.log(`${chalk.cyanBright('Duration')}\t\t${(0, formatTimstamp_1.timestampToDurationString)((0, jobRuntime_1.jobRuntime)(job))}`);
|
|
36
|
+
}
|
|
37
|
+
catch (e) {
|
|
38
|
+
(0, die_1.die)((0, formatError_1.formatError)(e));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.default = Status;
|
|
43
|
+
Status.description = 'Get the status of a particular job id';
|
|
44
|
+
Status.args = {
|
|
45
|
+
jobId: core_1.Args.string({
|
|
46
|
+
required: false,
|
|
47
|
+
description: 'The Job ID to look up',
|
|
48
|
+
}),
|
|
49
|
+
};
|
|
50
|
+
Status.flags = {
|
|
51
|
+
availability: core_1.Flags.string({
|
|
52
|
+
char: 'a',
|
|
53
|
+
description: 'The availability zone that will be targeted (default: us)',
|
|
54
|
+
default: 'us',
|
|
55
|
+
}),
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/jobs/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class Terminate extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
jobId: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static flags: {
|
|
8
|
+
availability: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
};
|
|
10
|
+
run(): Promise<void>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const chalk = require("chalk");
|
|
4
|
+
const core_1 = require("@oclif/core");
|
|
5
|
+
const die_1 = require("../../lib/die");
|
|
6
|
+
const formatError_1 = require("../../lib/formatError");
|
|
7
|
+
const Rivendell_1 = require("../../lib/Rivendell");
|
|
8
|
+
class Terminate extends core_1.Command {
|
|
9
|
+
async run() {
|
|
10
|
+
const { args, flags } = await this.parse(Terminate);
|
|
11
|
+
try {
|
|
12
|
+
await Rivendell_1.Rivendell.terminateJob(args.jobId, flags.availability);
|
|
13
|
+
this.log(chalk.green(`Terminated job with ID ${args.jobId} (${flags.availability || 'us'}).`));
|
|
14
|
+
}
|
|
15
|
+
catch (e) {
|
|
16
|
+
(0, die_1.die)((0, formatError_1.formatError)(e));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.default = Terminate;
|
|
21
|
+
Terminate.description = 'Terminate a job';
|
|
22
|
+
Terminate.args = {
|
|
23
|
+
jobId: core_1.Args.string({
|
|
24
|
+
required: true,
|
|
25
|
+
description: 'ID of Job to terminate',
|
|
26
|
+
}),
|
|
27
|
+
};
|
|
28
|
+
Terminate.flags = {
|
|
29
|
+
availability: core_1.Flags.string({
|
|
30
|
+
char: 'a',
|
|
31
|
+
description: 'The availability zone that will be targeted (default: us)',
|
|
32
|
+
default: 'us',
|
|
33
|
+
}),
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=terminate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminate.js","sourceRoot":"","sources":["../../../src/commands/jobs/terminate.ts"],"names":[],"mappings":";;AAAA,+BAA+B;AAC/B,sCAAmD;AACnD,uCAAoC;AACpC,uDAAoD;AACpD,mDAAgD;AAEhD,MAAqB,SAAU,SAAQ,cAAO;IAkBrC,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEpD,IAAI;YACF,MAAM,qBAAS,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YAC7D,IAAI,CAAC,GAAG,CACN,KAAK,CAAC,KAAK,CACT,0BAA0B,IAAI,CAAC,KAAK,KAClC,KAAK,CAAC,YAAY,IAAI,IACxB,IAAI,CACL,CACF,CAAC;SACH;QAAC,OAAO,CAAM,EAAE;YACf,IAAA,SAAG,EAAC,IAAA,yBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;SACrB;IACH,CAAC;;AAjCH,4BAkCC;AAjCe,qBAAW,GAAG,iBAAiB,CAAC;AAEhC,cAAI,GAAG;IACnB,KAAK,EAAE,WAAI,CAAC,MAAM,CAAC;QACjB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,wBAAwB;KACtC,CAAC;CACH,CAAC;AAEY,eAAK,GAAG;IACpB,YAAY,EAAE,YAAK,CAAC,MAAM,CAAC;QACzB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,2DAA2D;QACxE,OAAO,EAAE,IAAI;KACd,CAAC;CACH,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class Trigger extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
appId: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
jobName: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
trackerId: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
8
|
+
};
|
|
9
|
+
static flags: {
|
|
10
|
+
parameters: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
availability: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const chalk = require("chalk");
|
|
4
|
+
const core_1 = require("@oclif/core");
|
|
5
|
+
const die_1 = require("../../lib/die");
|
|
6
|
+
const formatError_1 = require("../../lib/formatError");
|
|
7
|
+
const Rivendell_1 = require("../../lib/Rivendell");
|
|
8
|
+
class Trigger extends core_1.Command {
|
|
9
|
+
async run() {
|
|
10
|
+
const { args, flags } = await this.parse(Trigger);
|
|
11
|
+
try {
|
|
12
|
+
await Rivendell_1.Rivendell.triggerJob(args.appId, args.jobName, args.trackerId, flags.parameters, flags.availability);
|
|
13
|
+
this.log(chalk.green(`Triggered job for ${args.appId} ${args.jobName} ${args.trackerId} (${flags.availability || 'us'}).`));
|
|
14
|
+
}
|
|
15
|
+
catch (e) {
|
|
16
|
+
(0, die_1.die)((0, formatError_1.formatError)(e));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.default = Trigger;
|
|
21
|
+
Trigger.description = 'Trigger a job';
|
|
22
|
+
Trigger.args = {
|
|
23
|
+
appId: core_1.Args.string({
|
|
24
|
+
required: true,
|
|
25
|
+
description: 'The App ID (e.g. my_app)',
|
|
26
|
+
}),
|
|
27
|
+
jobName: core_1.Args.string({
|
|
28
|
+
required: true,
|
|
29
|
+
description: 'The Job Name',
|
|
30
|
+
}),
|
|
31
|
+
trackerId: core_1.Args.string({
|
|
32
|
+
required: true,
|
|
33
|
+
description: 'The Tracker ID to trigger the job for',
|
|
34
|
+
}),
|
|
35
|
+
};
|
|
36
|
+
Trigger.flags = {
|
|
37
|
+
parameters: core_1.Flags.string({
|
|
38
|
+
description: 'Parameters to pass to the Job',
|
|
39
|
+
default: '{}',
|
|
40
|
+
}),
|
|
41
|
+
availability: core_1.Flags.string({
|
|
42
|
+
char: 'a',
|
|
43
|
+
description: 'The availability zone that will be targeted (default: us)',
|
|
44
|
+
default: 'us',
|
|
45
|
+
}),
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=trigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../../src/commands/jobs/trigger.ts"],"names":[],"mappings":";;AAAA,+BAA+B;AAC/B,sCAAmD;AACnD,uCAAoC;AACpC,uDAAoD;AACpD,mDAAgD;AAEhD,MAAqB,OAAQ,SAAQ,cAAO;IA8BnC,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAElD,IAAI;YACF,MAAM,qBAAS,CAAC,UAAU,CACxB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,EACd,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,YAAY,CACnB,CAAC;YACF,IAAI,CAAC,GAAG,CACN,KAAK,CAAC,KAAK,CACT,qBAAqB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,KAC/D,KAAK,CAAC,YAAY,IAAI,IACxB,IAAI,CACL,CACF,CAAC;SACH;QAAC,OAAO,CAAM,EAAE;YACf,IAAA,SAAG,EAAC,IAAA,yBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;SACrB;IACH,CAAC;;AAnDH,0BAoDC;AAnDe,mBAAW,GAAG,eAAe,CAAC;AAE9B,YAAI,GAAG;IACnB,KAAK,EAAE,WAAI,CAAC,MAAM,CAAC;QACjB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,0BAA0B;KACxC,CAAC;IACF,OAAO,EAAE,WAAI,CAAC,MAAM,CAAC;QACnB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,cAAc;KAC5B,CAAC;IACF,SAAS,EAAE,WAAI,CAAC,MAAM,CAAC;QACrB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,uCAAuC;KACrD,CAAC;CACH,CAAC;AAEY,aAAK,GAAG;IACpB,UAAU,EAAE,YAAK,CAAC,MAAM,CAAC;QACvB,WAAW,EAAE,+BAA+B;QAC5C,OAAO,EAAE,IAAI;KACd,CAAC;IACF,YAAY,EAAE,YAAK,CAAC,MAAM,CAAC;QACzB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,2DAA2D;QACxE,OAAO,EAAE,IAAI;KACd,CAAC;CACH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class List extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
appId: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
run(): Promise<void>;
|
|
8
|
+
private render;
|
|
9
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const chalk = require("chalk");
|
|
4
|
+
const semver = require("semver");
|
|
5
|
+
const table = require("text-table");
|
|
6
|
+
const core_1 = require("@oclif/core");
|
|
7
|
+
const die_1 = require("../../lib/die");
|
|
8
|
+
const StringUtils_1 = require("../../lib/StringUtils");
|
|
9
|
+
const Rivendell_1 = require("../../lib/Rivendell");
|
|
10
|
+
const formatReviewStatus_1 = require("../../lib/formatReviewStatus");
|
|
11
|
+
const formatError_1 = require("../../lib/formatError");
|
|
12
|
+
var AppVersionState = Rivendell_1.Rivendell.AppVersionState;
|
|
13
|
+
var ReviewStatus = Rivendell_1.Rivendell.ReviewStatus;
|
|
14
|
+
class List extends core_1.Command {
|
|
15
|
+
async run() {
|
|
16
|
+
const { args } = await this.parse(List);
|
|
17
|
+
try {
|
|
18
|
+
const criteria = {
|
|
19
|
+
states: [AppVersionState.PUBLISHED],
|
|
20
|
+
reviewStatuses: [ReviewStatus.IN_REVIEW, ReviewStatus.APPROVED],
|
|
21
|
+
};
|
|
22
|
+
if (args.appId) {
|
|
23
|
+
criteria.appId = args.appId;
|
|
24
|
+
}
|
|
25
|
+
const appVersions = await Rivendell_1.Rivendell.searchAppVersions(criteria, 'us');
|
|
26
|
+
this.render(appVersions);
|
|
27
|
+
}
|
|
28
|
+
catch (e) {
|
|
29
|
+
(0, die_1.die)((0, formatError_1.formatError)(e));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
render(appVersions) {
|
|
33
|
+
const header = [
|
|
34
|
+
'App ID',
|
|
35
|
+
'Version',
|
|
36
|
+
'Review Status',
|
|
37
|
+
'Created At',
|
|
38
|
+
'Updated At',
|
|
39
|
+
].map((item) => chalk.grey(item));
|
|
40
|
+
const rows = appVersions
|
|
41
|
+
.sort((lhs, rhs) => {
|
|
42
|
+
let result = lhs.id.appId.localeCompare(rhs.id.appId);
|
|
43
|
+
if (result === 0) {
|
|
44
|
+
const lhsVersion = lhs.id.version;
|
|
45
|
+
const rhsVersion = rhs.id.version;
|
|
46
|
+
if (lhsVersion !== rhsVersion) {
|
|
47
|
+
result = semver.gt(lhsVersion, rhsVersion) ? -1 : 1;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return result;
|
|
51
|
+
})
|
|
52
|
+
.map((appVersion) => [
|
|
53
|
+
appVersion.id.appId,
|
|
54
|
+
appVersion.id.version,
|
|
55
|
+
(0, formatReviewStatus_1.formatReviewStatus)(appVersion.reviewStatus),
|
|
56
|
+
appVersion.createdAt,
|
|
57
|
+
appVersion.updatedAt,
|
|
58
|
+
]);
|
|
59
|
+
const t = table([header, ...rows], {
|
|
60
|
+
hsep: ' '.repeat(8),
|
|
61
|
+
stringLength: StringUtils_1.styledStringLength,
|
|
62
|
+
});
|
|
63
|
+
this.log(`\n${t}\n`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.default = List;
|
|
67
|
+
List.description = 'List app versions currently under review';
|
|
68
|
+
List.args = {
|
|
69
|
+
appId: core_1.Args.string({
|
|
70
|
+
required: false,
|
|
71
|
+
description: 'A specific App ID to filter down to (lists all apps by default)',
|
|
72
|
+
}),
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/review/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const chalk = require("chalk");
|
|
4
|
+
const open_1 = require("open");
|
|
5
|
+
const core_1 = require("@oclif/core");
|
|
6
|
+
const die_1 = require("../../lib/die");
|
|
7
|
+
const formatError_1 = require("../../lib/formatError");
|
|
8
|
+
const Rivendell_1 = require("../../lib/Rivendell");
|
|
9
|
+
class Open extends core_1.Command {
|
|
10
|
+
async run() {
|
|
11
|
+
const { args } = await this.parse(Open);
|
|
12
|
+
try {
|
|
13
|
+
const appReview = await Rivendell_1.Rivendell.getReviewUrl(args.appVersion);
|
|
14
|
+
const reviewUrl = appReview.url;
|
|
15
|
+
this.log(chalk.gray(`Review URL: ${chalk.white(`${reviewUrl}`)}`));
|
|
16
|
+
await (0, open_1.default)(reviewUrl);
|
|
17
|
+
this.log(chalk.gray(`Opened review of app ${args.appVersion}`));
|
|
18
|
+
}
|
|
19
|
+
catch (e) {
|
|
20
|
+
(0, die_1.die)((0, formatError_1.formatError)(e));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.default = Open;
|
|
25
|
+
Open.description = 'Open a review in your browser';
|
|
26
|
+
Open.args = {
|
|
27
|
+
appVersion: core_1.Args.string({
|
|
28
|
+
required: true,
|
|
29
|
+
description: 'App version of the review to open',
|
|
30
|
+
}),
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=open.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/commands/review/open.ts"],"names":[],"mappings":";;AAAA,+BAA+B;AAC/B,+BAAwB;AACxB,sCAA4C;AAC5C,uCAAoC;AACpC,uDAAoD;AACpD,mDAAgD;AAGhD,MAAqB,IAAK,SAAQ,cAAO;IAUhC,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI;YACF,MAAM,SAAS,GAAG,MAAM,qBAAS,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChE,MAAM,SAAS,GAAI,SAAuB,CAAC,GAAG,CAAC;YAC/C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACnE,MAAM,IAAA,cAAI,EAAC,SAAS,CAAC,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;SACjE;QAAC,OAAO,CAAM,EAAE;YACf,IAAA,SAAG,EAAC,IAAA,yBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;SACrB;IACH,CAAC;;AAtBH,uBAuBC;AAtBe,gBAAW,GAAG,+BAA+B,CAAC;AAE9C,SAAI,GAAG;IACnB,UAAU,EAAE,WAAI,CAAC,MAAM,CAAC;QACtB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,mCAAmC;KACjD,CAAC;CACH,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const chalk = require("chalk");
|
|
4
|
+
const core_1 = require("@oclif/core");
|
|
5
|
+
const prompts_1 = require("@inquirer/prompts");
|
|
6
|
+
const utils_1 = require("../utils/utils");
|
|
7
|
+
const hook = async function (opts) {
|
|
8
|
+
var _a, _b;
|
|
9
|
+
const hiddenCommandIds = new Set(opts.config.commands.filter((c) => c.hidden).map((c) => c.id));
|
|
10
|
+
// Include topics (like "app", "env") in suggestions, not just full command IDs
|
|
11
|
+
const topicNames = opts.config.topics.map((t) => t.name);
|
|
12
|
+
const commandIDs = [
|
|
13
|
+
...opts.config.commandIDs,
|
|
14
|
+
...opts.config.commands.flatMap((c) => c.aliases),
|
|
15
|
+
...topicNames,
|
|
16
|
+
].filter((c) => !hiddenCommandIds.has(c));
|
|
17
|
+
if (commandIDs.length === 0)
|
|
18
|
+
return;
|
|
19
|
+
let binHelp = `${opts.config.bin}`;
|
|
20
|
+
const idSplit = opts.id.split(':');
|
|
21
|
+
if (opts.config.findTopic(idSplit[0])) {
|
|
22
|
+
binHelp = `${binHelp} ${idSplit[0]} --help`;
|
|
23
|
+
}
|
|
24
|
+
let suggestion = /:?help:?/.test(opts.id)
|
|
25
|
+
? ['help', ...opts.id.split(':').filter((cmd) => cmd !== 'help')].join(':')
|
|
26
|
+
: utils_1.default.closest(opts.id, commandIDs);
|
|
27
|
+
const originalCmd = (0, core_1.toConfiguredId)(opts.id, this.config);
|
|
28
|
+
this.warn(`${chalk.yellow(originalCmd)} is not a ${opts.config.bin} command.`);
|
|
29
|
+
// Only prompt for confirmation if we have a good suggestion
|
|
30
|
+
let response = false;
|
|
31
|
+
if (suggestion && process.stdin.isTTY === true) {
|
|
32
|
+
const readableSuggestion = (0, core_1.toConfiguredId)(suggestion, this.config);
|
|
33
|
+
response = await utils_1.default.getConfirmation(readableSuggestion).catch(() => false);
|
|
34
|
+
}
|
|
35
|
+
if (response && suggestion) {
|
|
36
|
+
if (suggestion.startsWith('help:')) {
|
|
37
|
+
suggestion = 'help';
|
|
38
|
+
}
|
|
39
|
+
// Check if it's a topic
|
|
40
|
+
const topic = this.config.findTopic(suggestion);
|
|
41
|
+
if (topic) {
|
|
42
|
+
// Check if the topic has subcommands
|
|
43
|
+
const hasSubcommands = opts.config.commands.some((c) => c.id.startsWith(`${suggestion}:`) && !c.hidden);
|
|
44
|
+
if (hasSubcommands) {
|
|
45
|
+
// Topic has subcommands - show topic help
|
|
46
|
+
const help = new core_1.Help(this.config);
|
|
47
|
+
await help.showTopicHelp(topic);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
// Topic has no subcommands - fall through to execute it as a command
|
|
51
|
+
}
|
|
52
|
+
const command = await this.config.findCommand(suggestion);
|
|
53
|
+
if (!command) {
|
|
54
|
+
this.error(`Could not find command "${suggestion}"`);
|
|
55
|
+
}
|
|
56
|
+
const flagDefs = (_a = command === null || command === void 0 ? void 0 : command.flags) !== null && _a !== void 0 ? _a : {};
|
|
57
|
+
const requiredFlags = Object.entries(flagDefs).filter(([, def]) => def.required);
|
|
58
|
+
const flagArgs = [];
|
|
59
|
+
for (const [flagName, flagDef] of requiredFlags) {
|
|
60
|
+
if (flagDef.type === 'boolean') {
|
|
61
|
+
const val = await (0, prompts_1.confirm)({
|
|
62
|
+
message: `Enable --${flagName}${flagDef.char ? ` (-${flagDef.char})` : ''}?`,
|
|
63
|
+
default: false,
|
|
64
|
+
});
|
|
65
|
+
if (val)
|
|
66
|
+
flagArgs.push(`--${flagName}`);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
const val = await (0, prompts_1.input)({
|
|
70
|
+
message: `Enter value for --${flagName}${flagDef.char ? ` (-${flagDef.char})` : ''}:`,
|
|
71
|
+
validate: (value) => (value ? true : `--${flagName} is required`),
|
|
72
|
+
});
|
|
73
|
+
flagArgs.push(`--${flagName}=${val}`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// Prompt for required positional args
|
|
77
|
+
const requiredArgs = (_b = Object.values(command.args).filter((arg) => arg.required)) !== null && _b !== void 0 ? _b : [];
|
|
78
|
+
const argValues = [];
|
|
79
|
+
for (const arg of requiredArgs) {
|
|
80
|
+
const val = await (0, prompts_1.input)({
|
|
81
|
+
message: `Enter value for <${arg.name}>${arg.description ? ` — ${arg.description}` : ''}:`,
|
|
82
|
+
validate: (value) => (value ? true : `<${arg.name}> is required`),
|
|
83
|
+
});
|
|
84
|
+
argValues.push(val);
|
|
85
|
+
}
|
|
86
|
+
// Final call with args first, then flags
|
|
87
|
+
return this.config.runCommand(suggestion, [...argValues, ...flagArgs]);
|
|
88
|
+
}
|
|
89
|
+
this.error(`Command "${originalCmd}" not found. ` +
|
|
90
|
+
`Run ${chalk.cyan.bold(`${opts.config.bin} --help`)} to see available commands.`, { exit: 127 });
|
|
91
|
+
};
|
|
92
|
+
exports.default = hook;
|
|
93
|
+
//# sourceMappingURL=command-not-found.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-not-found.js","sourceRoot":"","sources":["../../src/hooks/command-not-found.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Hook } from '@oclif/core';
|
|
2
|
+
/**
|
|
3
|
+
* Pre-update hook that prevents automatic major version updates and
|
|
4
|
+
* prompts for confirmation during manual major version updates.
|
|
5
|
+
*
|
|
6
|
+
* Major version updates may contain breaking changes and should require
|
|
7
|
+
* explicit user consent.
|
|
8
|
+
*/
|
|
9
|
+
declare const hook: Hook<'preupdate'>;
|
|
10
|
+
export default hook;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const prompts_1 = require("@inquirer/prompts");
|
|
4
|
+
const semver_1 = require("semver");
|
|
5
|
+
/**
|
|
6
|
+
* Pre-update hook that prevents automatic major version updates and
|
|
7
|
+
* prompts for confirmation during manual major version updates.
|
|
8
|
+
*
|
|
9
|
+
* Major version updates may contain breaking changes and should require
|
|
10
|
+
* explicit user consent.
|
|
11
|
+
*/
|
|
12
|
+
const hook = async function ({ version }) {
|
|
13
|
+
const currentMajor = (0, semver_1.major)(this.config.version);
|
|
14
|
+
const newMajor = (0, semver_1.major)(version);
|
|
15
|
+
// No action needed for minor/patch updates
|
|
16
|
+
if (newMajor <= currentMajor) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const isAutoUpdate = process.argv.includes('--autoupdate');
|
|
20
|
+
if (isAutoUpdate) {
|
|
21
|
+
// Block auto-updates for major versions
|
|
22
|
+
this.warn(`Major version upgrade detected (v${currentMajor} -> v${newMajor}). ` +
|
|
23
|
+
`This may include breaking changes.`);
|
|
24
|
+
this.warn(`To upgrade manually, run: ocp update --version ${version}`);
|
|
25
|
+
this.exit(0);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
// Prompt for confirmation during manual updates
|
|
29
|
+
this.warn(`Major version upgrade detected (v${currentMajor} -> v${newMajor}). ` +
|
|
30
|
+
`This may include breaking changes.`);
|
|
31
|
+
const confirmed = await (0, prompts_1.confirm)({
|
|
32
|
+
message: 'Do you want to proceed with the major version upgrade?',
|
|
33
|
+
default: false,
|
|
34
|
+
});
|
|
35
|
+
if (!confirmed) {
|
|
36
|
+
this.log('Update cancelled.');
|
|
37
|
+
this.exit(0);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
exports.default = hook;
|
|
42
|
+
//# sourceMappingURL=preupdate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preupdate.js","sourceRoot":"","sources":["../../src/hooks/preupdate.ts"],"names":[],"mappings":";;AAAA,+CAA4C;AAE5C,mCAA+B;AAE/B;;;;;;GAMG;AACH,MAAM,IAAI,GAAsB,KAAK,WAAU,EAAE,OAAO,EAAE;IACxD,MAAM,YAAY,GAAG,IAAA,cAAK,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAA,cAAK,EAAC,OAAO,CAAC,CAAC;IAEhC,2CAA2C;IAC3C,IAAI,QAAQ,IAAI,YAAY,EAAE;QAC5B,OAAO;KACR;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAE3D,IAAI,YAAY,EAAE;QAChB,wCAAwC;QACxC,IAAI,CAAC,IAAI,CACP,oCAAoC,YAAY,QAAQ,QAAQ,KAAK;YACrE,oCAAoC,CACrC,CAAC;QACF,IAAI,CAAC,IAAI,CACP,kDAAkD,OAAO,EAAE,CAC5D,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACd;SAAM;QACL,gDAAgD;QAChD,IAAI,CAAC,IAAI,CACP,oCAAoC,YAAY,QAAQ,QAAQ,KAAK;YACrE,oCAAoC,CACrC,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,IAAA,iBAAO,EAAC;YAC9B,OAAO,EAAE,wDAAwD;YACjE,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE;YACd,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACd;KACF;AACH,CAAC,CAAC;AAEF,kBAAe,IAAI,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const path = require("path");
|
|
5
|
+
const EnvironmentalOutput_1 = require("./lib/EnvironmentalOutput");
|
|
6
|
+
const os = require("os");
|
|
7
|
+
const fs = require("fs");
|
|
8
|
+
const semver = require("semver");
|
|
9
|
+
const formatError_1 = require("./lib/formatError");
|
|
10
|
+
const migrateOptiCli_1 = require("./lib/migrateOptiCli");
|
|
11
|
+
const die_1 = require("./lib/die");
|
|
12
|
+
const chalk = require("chalk");
|
|
13
|
+
// Commands that should run silently without environment info or update checks
|
|
14
|
+
const SILENT_COMMANDS = ['autocomplete', 'update', '--version', '-v'];
|
|
15
|
+
function showBetaWarning(version) {
|
|
16
|
+
const prerelease = semver.prerelease(version);
|
|
17
|
+
const isBeta = prerelease && prerelease[0] === 'beta';
|
|
18
|
+
if (isBeta) {
|
|
19
|
+
console.log(chalk.yellow(`You are running beta version (${version}). ` +
|
|
20
|
+
`Run ${chalk.italic.grey('ocp update')} to upgrade to the latest release version.`));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function isSilentCommand(args) {
|
|
24
|
+
return args.length > 0 && SILENT_COMMANDS.some((cmd) => args[0] === cmd);
|
|
25
|
+
}
|
|
26
|
+
async function runOCP() {
|
|
27
|
+
var _a;
|
|
28
|
+
const args = process.argv.slice(2);
|
|
29
|
+
const noPrompt = args.includes('--noPrompt');
|
|
30
|
+
const silent = isSilentCommand(args);
|
|
31
|
+
if (!silent) {
|
|
32
|
+
await (0, migrateOptiCli_1.migrateOptiCli)(noPrompt);
|
|
33
|
+
}
|
|
34
|
+
const configFolder = path.join(os.homedir(), '.ocp');
|
|
35
|
+
if (!fs.existsSync(configFolder)) {
|
|
36
|
+
if (silent) {
|
|
37
|
+
// Silently exit for autocomplete if not configured
|
|
38
|
+
process.exit(0);
|
|
39
|
+
}
|
|
40
|
+
(0, die_1.die)('No ~/.ocp config folder found. ' +
|
|
41
|
+
'Follow the instruction in ' +
|
|
42
|
+
'https://docs.developers.optimizely.com/optimizely-connect-platform/docs/configure-your-development-environment-ocp2 ' +
|
|
43
|
+
'to set up your development environment.');
|
|
44
|
+
}
|
|
45
|
+
if (!silent) {
|
|
46
|
+
(0, EnvironmentalOutput_1.showEnvironment)();
|
|
47
|
+
}
|
|
48
|
+
const manifest = await (_a = path.join(__dirname, './oclif.manifest.json'), Promise.resolve().then(() => require(_a)));
|
|
49
|
+
if (!silent) {
|
|
50
|
+
showBetaWarning(manifest.version);
|
|
51
|
+
}
|
|
52
|
+
await (0, core_1.run)(process.argv.slice(2), {
|
|
53
|
+
root: __dirname
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
// catch does not work here sadly for async functions as oo-cli lib does not wait for the promise to resolve
|
|
57
|
+
// use try/catch instead in every command
|
|
58
|
+
runOCP().catch((e) => (0, die_1.die)((0, formatError_1.formatError)(e)));
|
|
59
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,sCAAkC;AAClC,6BAA6B;AAC7B,mEAA4D;AAC5D,yBAAyB;AACzB,yBAAyB;AACzB,iCAAiC;AACjC,mDAA8C;AAC9C,yDAAoD;AACpD,mCAA8B;AAC9B,+BAA+B;AAE/B,8EAA8E;AAC9E,MAAM,eAAe,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;AAEtE,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;IAEtD,IAAI,MAAM,EAAE;QACV,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,iCAAiC,OAAO,KAAK;YAC7C,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,4CAA4C,CACnF,CACF,CAAC;KACH;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAc;IACrC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;AAC3E,CAAC;AAED,KAAK,UAAU,MAAM;;IACnB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAErC,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAA,+BAAc,EAAC,QAAQ,CAAC,CAAC;KAChC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;QAChC,IAAI,MAAM,EAAE;YACV,mDAAmD;YACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;QACD,IAAA,SAAG,EACD,iCAAiC;YACjC,4BAA4B;YAC5B,sHAAsH;YACtH,yCAAyC,CAC1C,CAAC;KACH;IAED,IAAI,CAAC,MAAM,EAAE;QACX,IAAA,qCAAe,GAAE,CAAC;KACnB;IAED,MAAM,QAAQ,GAAG,YAAa,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,4CAAC,CAAC;IAE7E,IAAI,CAAC,MAAM,EAAE;QACX,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;KACnC;IAED,MAAM,IAAA,UAAG,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAC/B,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;AACL,CAAC;AAED,4GAA4G;AAC5G,yCAAyC;AACzC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,SAAG,EAAC,IAAA,yBAAW,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface AppContext {
|
|
2
|
+
appId?: string;
|
|
3
|
+
displayName?: string;
|
|
4
|
+
version?: string;
|
|
5
|
+
vendor?: string;
|
|
6
|
+
runtime?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function appContext(appId?: string, vendor?: string, runtime?: string): AppContext;
|
|
9
|
+
export declare function readAppYaml(): any;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readAppYaml = exports.appContext = void 0;
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
const jsYaml = require("js-yaml");
|
|
6
|
+
const path = require("path");
|
|
7
|
+
function appContext(appId, vendor, runtime) {
|
|
8
|
+
if (appId) {
|
|
9
|
+
if (appId.includes('@')) {
|
|
10
|
+
const [id, version] = appId.split('@');
|
|
11
|
+
return {
|
|
12
|
+
appId: id,
|
|
13
|
+
version,
|
|
14
|
+
vendor,
|
|
15
|
+
runtime
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
return { appId, vendor, runtime };
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const yaml = readAppYaml();
|
|
23
|
+
if (yaml && yaml.meta) {
|
|
24
|
+
return {
|
|
25
|
+
appId: yaml.meta.app_id,
|
|
26
|
+
displayName: yaml.meta.display_name,
|
|
27
|
+
version: yaml.meta.version,
|
|
28
|
+
vendor: yaml.meta.vendor,
|
|
29
|
+
runtime: yaml.runtime
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return {};
|
|
33
|
+
}
|
|
34
|
+
exports.appContext = appContext;
|
|
35
|
+
function readAppYaml() {
|
|
36
|
+
const file = path.join(process.cwd(), 'app.yml');
|
|
37
|
+
if (!fs.existsSync(file)) {
|
|
38
|
+
throw new Error(`Can not find app manifest (app.yaml) in working directory. Please run this command from the root of your app.`);
|
|
39
|
+
}
|
|
40
|
+
return jsYaml.safeLoad(fs.readFileSync(file, 'utf8'));
|
|
41
|
+
}
|
|
42
|
+
exports.readAppYaml = readAppYaml;
|
|
43
|
+
//# sourceMappingURL=AppContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppContext.js","sourceRoot":"","sources":["../../src/lib/AppContext.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,kCAAkC;AAClC,6BAA6B;AAU7B,SAAgB,UAAU,CAAC,KAAc,EAAE,MAAe,EAAE,OAAgB;IAC1E,IAAI,KAAK,EAAE;QACT,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACvB,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvC,OAAO;gBACL,KAAK,EAAE,EAAE;gBACT,OAAO;gBACP,MAAM;gBACN,OAAO;aACR,CAAC;SACH;aAAM;YACL,OAAO,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAC,CAAC;SACjC;KACF;IAED,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;IAC3B,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;QACrB,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACvB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;YACnC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;KACH;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AA1BD,gCA0BC;AAED,SAAgB,WAAW;IACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;IACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACxB,MAAM,IAAI,KAAK,CACb,+GAA+G,CAChH,CAAC;KACH;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AACxD,CAAC;AATD,kCASC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
export interface OcpMetadata {
|
|
4
|
+
packageManager?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare class AppPackager {
|
|
7
|
+
private rootPath;
|
|
8
|
+
private runtime;
|
|
9
|
+
constructor(rootPath: string, runtime: string);
|
|
10
|
+
package(): Promise<Buffer>;
|
|
11
|
+
private createZip;
|
|
12
|
+
/**
|
|
13
|
+
* Create OCP metadata for the builder.
|
|
14
|
+
* Contains package manager info in Corepack format (e.g., "yarn@4.12.0")
|
|
15
|
+
*/
|
|
16
|
+
private createOcpMetadata;
|
|
17
|
+
}
|