UNPKG

3 kBTypeScriptView Raw
1import Docker from 'dockerode';
2import Command from '../base';
3import { OpCommand, OpWorkflow, RegistryAuth } from '../types';
4export interface PublishInputs {
5 opPath: string;
6 docker: Docker;
7 commandsAndWorkflows: string;
8 version: string;
9 opCommands: OpCommand[];
10 opWorkflows: OpWorkflow[];
11 existingVersions: (OpCommand | OpWorkflow)[];
12}
13export default class Publish extends Command {
14 static description: string;
15 static flags: {
16 help: import("@oclif/parser/lib/flags").IBooleanFlag<void>;
17 };
18 static args: {
19 name: string;
20 description: string;
21 required: boolean;
22 }[];
23 docker: Docker | undefined;
24 resolvePath: (opPath: string) => Promise<string>;
25 checkDocker: (opPath: string) => Promise<{
26 opPath: string;
27 docker: Docker;
28 }>;
29 getOpsAndWorkFlows: (inputs: PublishInputs) => Promise<{
30 opCommands: OpCommand[];
31 opWorkflows: OpWorkflow[];
32 version: string;
33 opPath: string;
34 docker: Docker;
35 commandsAndWorkflows: string;
36 existingVersions: (OpCommand | OpWorkflow)[];
37 }>;
38 determineQuestions: (inputs: PublishInputs) => Promise<{
39 commandsAndWorkflows: string;
40 opPath: string;
41 docker: Docker;
42 version: string;
43 opCommands: OpCommand[];
44 opWorkflows: OpWorkflow[];
45 existingVersions: (OpCommand | OpWorkflow)[];
46 }>;
47 selectOpsAndWorkFlows: (inputs: PublishInputs) => Promise<{
48 opCommands: OpCommand[];
49 opWorkflows: OpWorkflow[];
50 commandsAndWorkflows: string;
51 opPath: string;
52 docker: Docker;
53 version: string;
54 existingVersions: (OpCommand | OpWorkflow)[];
55 }>;
56 selectOps: (ops: OpCommand[]) => Promise<OpCommand[]>;
57 selectWorkflows: (workflows: OpWorkflow[]) => Promise<OpWorkflow[]>;
58 findOpsWhereVersionAlreadyExists: (inputs: PublishInputs) => Promise<{
59 opCommands: (OpCommand | OpWorkflow)[];
60 opWorkflows: (OpCommand | OpWorkflow)[];
61 existingVersions: (OpCommand | OpWorkflow)[];
62 opPath: string;
63 docker: Docker;
64 commandsAndWorkflows: string;
65 version: string;
66 }>;
67 filterExistingOps: (ops: any) => Promise<{
68 existingVersions: (OpCommand | OpWorkflow)[];
69 filteredOps: (OpCommand | OpWorkflow)[];
70 }>;
71 getNewVersion: (inputs: PublishInputs) => Promise<PublishInputs>;
72 getRegistryAuth: (name: string, version: string) => Promise<RegistryAuth>;
73 publishOpsAndWorkflows: (inputs: PublishInputs) => Promise<void>;
74 opsPublishLoop: ({ opCommands, version }: PublishInputs) => Promise<void>;
75 workflowsPublishLoop: ({ opWorkflows, version }: PublishInputs) => Promise<void>;
76 sendAnalytics: (publishType: string, opOrWorkflow: OpCommand | OpWorkflow) => void;
77 _validateDescription(input: string): true | "You need to provide a publish description of your op before continuing";
78 run(): Promise<void>;
79}