@sw-tsdk/plugin-connector 2.11.2-next.8 → 2.11.2-next.93

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.
Files changed (65) hide show
  1. package/README.md +139 -39
  2. package/lib/commands/action/add.d.ts +2 -2
  3. package/lib/commands/action/add.js +14 -8
  4. package/lib/commands/action/add.js.map +1 -1
  5. package/lib/commands/action/generate/data.d.ts +4 -4
  6. package/lib/commands/action/generate/data.js +23 -13
  7. package/lib/commands/action/generate/data.js.map +1 -1
  8. package/lib/commands/action/generate/input.d.ts +4 -4
  9. package/lib/commands/action/generate/input.js +19 -11
  10. package/lib/commands/action/generate/input.js.map +1 -1
  11. package/lib/commands/action/generate/output.d.ts +4 -4
  12. package/lib/commands/action/generate/output.js +19 -11
  13. package/lib/commands/action/generate/output.js.map +1 -1
  14. package/lib/commands/action/run/image.d.ts +9 -9
  15. package/lib/commands/action/run/image.js +39 -27
  16. package/lib/commands/action/run/image.js.map +1 -1
  17. package/lib/commands/action/run/local.d.ts +11 -11
  18. package/lib/commands/action/run/local.js +50 -34
  19. package/lib/commands/action/run/local.js.map +1 -1
  20. package/lib/commands/asset/add.d.ts +2 -2
  21. package/lib/commands/asset/add.js +12 -7
  22. package/lib/commands/asset/add.js.map +1 -1
  23. package/lib/commands/component/create.d.ts +34 -0
  24. package/lib/commands/component/create.js +168 -0
  25. package/lib/commands/component/create.js.map +1 -0
  26. package/lib/commands/component/logo.d.ts +12 -0
  27. package/lib/commands/component/logo.js +63 -0
  28. package/lib/commands/component/logo.js.map +1 -0
  29. package/lib/commands/component/ssp.d.ts +12 -0
  30. package/lib/commands/component/ssp.js +64 -0
  31. package/lib/commands/component/ssp.js.map +1 -0
  32. package/lib/commands/component/update.d.ts +13 -0
  33. package/lib/commands/component/update.js +68 -0
  34. package/lib/commands/component/update.js.map +1 -0
  35. package/lib/commands/connector/build.d.ts +10 -10
  36. package/lib/commands/connector/build.js +37 -20
  37. package/lib/commands/connector/build.js.map +1 -1
  38. package/lib/commands/connector/create/openapi.d.ts +12 -11
  39. package/lib/commands/connector/create/openapi.js +128 -63
  40. package/lib/commands/connector/create/openapi.js.map +1 -1
  41. package/lib/commands/connector/create/source.d.ts +2 -2
  42. package/lib/commands/connector/create/source.js +12 -6
  43. package/lib/commands/connector/create/source.js.map +1 -1
  44. package/lib/commands/connector/create.d.ts +11 -10
  45. package/lib/commands/connector/create.js +59 -16
  46. package/lib/commands/connector/create.js.map +1 -1
  47. package/lib/commands/connector/logo.d.ts +2 -2
  48. package/lib/commands/connector/logo.js +20 -6
  49. package/lib/commands/connector/logo.js.map +1 -1
  50. package/lib/commands/connector/sign.d.ts +6 -6
  51. package/lib/commands/connector/sign.js +24 -13
  52. package/lib/commands/connector/sign.js.map +1 -1
  53. package/lib/commands/connector/update.d.ts +3 -3
  54. package/lib/commands/connector/update.js +14 -8
  55. package/lib/commands/connector/update.js.map +1 -1
  56. package/lib/commands/connector/validate.d.ts +4 -4
  57. package/lib/commands/connector/validate.js +22 -14
  58. package/lib/commands/connector/validate.js.map +1 -1
  59. package/lib/common.d.ts +3 -0
  60. package/lib/common.js +76 -10
  61. package/lib/common.js.map +1 -1
  62. package/lib/templates/assets/http_bearer.yaml +1 -2
  63. package/lib/types/connector-types.d.ts +23 -2
  64. package/oclif.manifest.json +1253 -1
  65. package/package.json +15 -15
@@ -0,0 +1,34 @@
1
+ import { Base } from '@sw-tsdk/core';
2
+ export interface ComponentManifest {
3
+ schema: string;
4
+ componentType: string;
5
+ vendor: string;
6
+ name: string;
7
+ author: string;
8
+ bugs: string;
9
+ iconImage: string;
10
+ description: string;
11
+ homepage: string;
12
+ license: string;
13
+ title: string;
14
+ version: string;
15
+ keywords: string[];
16
+ }
17
+ export declare class Create extends Base {
18
+ static description: string;
19
+ static flags: {
20
+ directory: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
21
+ componentType: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
22
+ vendor: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
23
+ componentName: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
24
+ keywords: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
25
+ description: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
26
+ logoPath: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
27
+ sspPath: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
28
+ author: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
29
+ authorEmail: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
30
+ homepage: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
31
+ help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
32
+ };
33
+ run(): Promise<void>;
34
+ }
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Create = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@oclif/core");
6
+ const connector_1 = require("@sw-tsdk/connector");
7
+ const core_2 = require("@sw-tsdk/core");
8
+ const fs_extra_1 = require("fs-extra");
9
+ const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
10
+ const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
11
+ const fs = tslib_1.__importStar(require("node:fs"));
12
+ const node_fs_1 = require("node:fs");
13
+ const path = tslib_1.__importStar(require("node:path"));
14
+ const node_path_1 = require("node:path");
15
+ const snake_case_1 = require("snake-case");
16
+ const common_1 = require("../../common");
17
+ // noinspection JSUnusedGlobalSymbols
18
+ class Create extends core_2.Base {
19
+ async run() {
20
+ const { flags } = await this.parse(Create);
21
+ let { directory } = flags;
22
+ directory = (0, node_path_1.resolve)(directory || process.cwd());
23
+ try {
24
+ await node_fs_1.promises.access(directory);
25
+ }
26
+ catch {
27
+ this.error(`Could not access ${directory}`);
28
+ }
29
+ const masterQuestions = [{
30
+ type: 'list',
31
+ name: 'componentType',
32
+ message: 'Choose Component Type',
33
+ choices: common_1.contentCategories,
34
+ },
35
+ {
36
+ type: 'input',
37
+ name: 'vendor',
38
+ message: 'Vendor (e.g. CrowdStrike)',
39
+ },
40
+ {
41
+ type: 'input',
42
+ name: 'componentName',
43
+ message: 'Component Name (e.g. Alert Ingestion)',
44
+ },
45
+ {
46
+ type: 'input',
47
+ name: 'description',
48
+ message: 'Description (e.g. CrowdStrike Alert Ingestion Component)',
49
+ },
50
+ {
51
+ type: 'list',
52
+ name: 'keywords',
53
+ message: 'Choose a category (Comma-separated)',
54
+ choices: common_1.connectorCategories,
55
+ },
56
+ {
57
+ type: 'input',
58
+ name: 'logoPath',
59
+ message: 'URL or absolute path to logo file',
60
+ },
61
+ {
62
+ type: 'input',
63
+ name: 'sspPath',
64
+ message: 'Absolute path to .ssp file',
65
+ },
66
+ {
67
+ type: 'input',
68
+ name: 'author',
69
+ message: 'Integration Author',
70
+ default: 'Swimlane',
71
+ },
72
+ {
73
+ type: 'input',
74
+ name: 'authorEmail',
75
+ message: 'Integration Author Email',
76
+ default: 'info@swimlane.com',
77
+ },
78
+ {
79
+ type: 'input',
80
+ name: 'homepage',
81
+ message: 'Author URL',
82
+ default: 'https://swimlane.com',
83
+ }];
84
+ const filteredQuestions = masterQuestions.filter(q => !flags[q.name]);
85
+ const answers = Object.assign(await inquirer_1.default.prompt(filteredQuestions), flags);
86
+ const componentType = answers.componentType;
87
+ const errors = [];
88
+ if (!answers.vendor) {
89
+ errors.push('Vendor Field is required.');
90
+ }
91
+ if (!answers.componentName) {
92
+ errors.push('Component Name is required.');
93
+ }
94
+ const name = (0, snake_case_1.snakeCase)(`${answers.vendor} ${answers.componentName}`.toLocaleLowerCase());
95
+ const componentDirectory = (0, node_path_1.join)(directory, componentType, `${name}`);
96
+ await (0, fs_extra_1.ensureDir)(componentDirectory);
97
+ const component = {
98
+ vendor: answers.vendor,
99
+ name: name,
100
+ schema: 'component/1',
101
+ author: answers.author,
102
+ bugs: '',
103
+ iconImage: '../image/logo.png',
104
+ description: answers.description,
105
+ homepage: answers.homepage,
106
+ license: 'AGPL-3.0',
107
+ title: await (0, connector_1.titleCaseString)(`${answers.vendor} ${answers.componentName}`),
108
+ version: '0.0.0',
109
+ componentType: componentType,
110
+ keywords: answers.keywords.split(',').map(x => x.trim()),
111
+ };
112
+ core_1.ux.action.start('Generating folder structure.');
113
+ if (answers.logoPath?.endsWith('.png') || answers.logoPath?.endsWith('.jpg') || answers.logoPath?.endsWith('.jpeg')) {
114
+ core_1.ux.action.start('Processing Logo');
115
+ await (0, connector_1.updateImage)(componentDirectory, answers.logoPath);
116
+ core_1.ux.action.stop();
117
+ }
118
+ else {
119
+ core_1.ux.action.stop();
120
+ errors.push('Invalid logo file provided');
121
+ }
122
+ if (answers.sspPath?.endsWith('.ssp')) {
123
+ core_1.ux.action.start('Processing SSP File');
124
+ const destinationPath = path.join(componentDirectory, `${name}.ssp`);
125
+ await fs.promises.copyFile(answers.sspPath, destinationPath);
126
+ core_1.ux.action.stop();
127
+ }
128
+ else {
129
+ errors.push('Invalid ssp file provided');
130
+ }
131
+ if (errors.length > 0) {
132
+ core_1.ux.action.stop();
133
+ return this.error(errors.join('\n'));
134
+ }
135
+ const manifestFilePath = (0, node_path_1.join)(componentDirectory, 'manifest.yml');
136
+ await (0, fs_extra_1.writeFile)(manifestFilePath, js_yaml_1.default.dump(component, {
137
+ indent: 2,
138
+ noRefs: true,
139
+ }));
140
+ await (0, fs_extra_1.writeFile)((0, node_path_1.join)(componentDirectory, 'external.yml'), '', 'utf8');
141
+ await (0, fs_extra_1.writeFile)((0, node_path_1.join)(componentDirectory, 'README.md'), 'Description will be updated shortly.', 'utf8');
142
+ await (0, fs_extra_1.writeFile)((0, node_path_1.join)(componentDirectory, 'EXTERNAL_README.md'), 'Description will be updated shortly.', 'utf8');
143
+ await (0, fs_extra_1.writeFile)((0, node_path_1.join)(componentDirectory, 'documentation.README.md'), 'Description will be updated shortly.', 'utf8');
144
+ core_1.ux.action.stop();
145
+ }
146
+ }
147
+ exports.Create = Create;
148
+ Create.description = 'Scaffold a new Component';
149
+ Create.flags = {
150
+ ...core_2.Base.flags,
151
+ directory: core_1.Flags.string({
152
+ char: 'd',
153
+ description: 'root directory for where to store Component.',
154
+ default: './',
155
+ }),
156
+ componentType: core_1.Flags.string({ description: 'Component Type (e.g. classic)' }),
157
+ vendor: core_1.Flags.string({ description: 'Vendor (e.g. CrowdStrike)' }),
158
+ componentName: core_1.Flags.string({ description: 'Component Name (e.g. Alert Ingestion)' }),
159
+ keywords: core_1.Flags.string({ description: 'Enter keywords' }),
160
+ description: core_1.Flags.string({ description: 'Description (e.g. CrowdStrike Alert Ingestion Component)' }),
161
+ logoPath: core_1.Flags.string({ description: 'URL or absolute path to logo file' }),
162
+ sspPath: core_1.Flags.string({ description: 'absolute path to .ssp file' }),
163
+ author: core_1.Flags.string({ description: 'Component Author' }),
164
+ authorEmail: core_1.Flags.string({ description: 'Component Author Email' }),
165
+ homepage: core_1.Flags.string({ description: 'Component Author Support URL' }),
166
+ help: core_1.Flags.help({ char: 'h' }),
167
+ };
168
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/component/create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Base } from '@sw-tsdk/core';
2
+ export declare class Logo extends Base {
3
+ static description: string;
4
+ static flags: {
5
+ directory: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
6
+ componentType: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
+ componentName: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ logoPath: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
+ help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Logo = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@oclif/core");
6
+ const connector_1 = require("@sw-tsdk/connector");
7
+ const core_2 = require("@sw-tsdk/core");
8
+ const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
9
+ const node_path_1 = require("node:path");
10
+ const common_1 = require("../../common");
11
+ // noinspection JSUnusedGlobalSymbols
12
+ class Logo extends core_2.Base {
13
+ async run() {
14
+ const { flags } = await this.parse(Logo);
15
+ let { directory } = flags;
16
+ directory = (0, node_path_1.resolve)(directory || process.cwd());
17
+ const masterQuestions = [
18
+ {
19
+ type: 'input',
20
+ name: 'logoPath',
21
+ message: 'URL or absolute path to logo file',
22
+ },
23
+ ];
24
+ const componentTypeSelected = await (0, common_1.chooseComponentType)();
25
+ const componentNameSelected = await (0, common_1.chooseComponentName)(directory, componentTypeSelected);
26
+ const filteredQuestions = masterQuestions.filter(q => !flags[q.name]);
27
+ const answers = Object.assign(await inquirer_1.default.prompt(filteredQuestions), flags);
28
+ const componentDirectory = (0, node_path_1.join)(directory, componentTypeSelected, componentNameSelected);
29
+ if (answers.logoPath?.endsWith('.png') || answers.logoPath?.endsWith('.jpg') || answers.logoPath?.endsWith('.jpeg')) {
30
+ core_1.ux.action.start('Updating Logo');
31
+ await (0, connector_1.updateImage)(componentDirectory, answers.logoPath);
32
+ core_1.ux.action.stop();
33
+ }
34
+ else {
35
+ core_1.ux.action.stop();
36
+ this.error('Invalid logo file provided');
37
+ }
38
+ }
39
+ }
40
+ exports.Logo = Logo;
41
+ Logo.description = 'Update a Component logo.';
42
+ Logo.flags = {
43
+ ...core_2.Base.flags,
44
+ directory: core_1.Flags.string({
45
+ char: 'd',
46
+ description: 'root directory of the component folder.',
47
+ default: './',
48
+ }),
49
+ componentType: core_1.Flags.string({
50
+ description: 'Component Type (e.g. classic)',
51
+ char: 't',
52
+ }),
53
+ componentName: core_1.Flags.string({
54
+ description: 'Component Name (e.g. google_alert_ingestion)',
55
+ char: 'n',
56
+ }),
57
+ logoPath: core_1.Flags.string({
58
+ char: 'p',
59
+ description: 'path or URL to product logo in PNG format.',
60
+ }),
61
+ help: core_1.Flags.help({ char: 'h' }),
62
+ };
63
+ //# sourceMappingURL=logo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logo.js","sourceRoot":"","sources":["../../../src/commands/component/logo.ts"],"names":[],"mappings":";;;;AAAA,sCAAqC;AACrC,kDAA8C;AAC9C,wCAAkC;AAClC,gEAA+B;AAC/B,yCAAuC;AAEvC,yCAAqE;AAGrE,qCAAqC;AACrC,MAAa,IAAK,SAAQ,WAAI;IAyB1B,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAEtC,IAAI,EAAC,SAAS,EAAC,GAAG,KAAK,CAAA;QACvB,SAAS,GAAG,IAAA,mBAAO,EAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QAE/C,MAAM,eAAe,GAAG;YACtB;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,mCAAmC;aAC7C;SACF,CAAA;QAED,MAAM,qBAAqB,GAAG,MAAM,IAAA,4BAAmB,GAAE,CAAA;QACzD,MAAM,qBAAqB,GAAG,MAAM,IAAA,4BAAmB,EAAC,SAAS,EAAE,qBAAqB,CAAC,CAAA;QACzF,MAAM,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,KAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9F,MAAM,OAAO,GAAsB,MAAM,CAAC,MAAM,CAAC,MAAM,kBAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,CAAA;QAEjG,MAAM,kBAAkB,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,CAAA;QAExF,IAAI,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE;YACnH,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;YAChC,MAAM,IAAA,uBAAW,EAAC,kBAAkB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;YACvD,SAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;SACjB;aAAM;YACL,SAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;YAChB,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;SACzC;IACH,CAAC;;AAtDL,oBAuDC;AAtDU,gBAAW,GAAG,0BAA0B,CAAA;AAExC,UAAK,GAAG;IACb,GAAG,WAAI,CAAC,KAAK;IACb,SAAS,EAAE,YAAK,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,yCAAyC;QACtD,OAAO,EAAE,IAAI;KACd,CAAC;IACF,aAAa,EAAE,YAAK,CAAC,MAAM,CAAC;QAC1B,WAAW,EAAE,+BAA+B;QAC5C,IAAI,EAAE,GAAG;KACV,CAAC;IACF,aAAa,EAAE,YAAK,CAAC,MAAM,CAAC;QAC1B,WAAW,EAAE,8CAA8C;QAC3D,IAAI,EAAE,GAAG;KACV,CAAC;IACF,QAAQ,EAAE,YAAK,CAAC,MAAM,CAAC;QACrB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,4CAA4C;KAC1D,CAAC;IACF,IAAI,EAAE,YAAK,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,GAAG,EAAC,CAAC;CAC9B,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { Base } from '@sw-tsdk/core';
2
+ export declare class Logo extends Base {
3
+ static description: string;
4
+ static flags: {
5
+ directory: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
6
+ componentType: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
+ componentName: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ sspPath: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
+ help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Logo = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@oclif/core");
6
+ const core_2 = require("@sw-tsdk/core");
7
+ const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
8
+ const fs = tslib_1.__importStar(require("node:fs"));
9
+ const path = tslib_1.__importStar(require("node:path"));
10
+ const node_path_1 = require("node:path");
11
+ const common_1 = require("../../common");
12
+ // noinspection JSUnusedGlobalSymbols
13
+ class Logo extends core_2.Base {
14
+ async run() {
15
+ const { flags } = await this.parse(Logo);
16
+ let { directory } = flags;
17
+ directory = (0, node_path_1.resolve)(directory || process.cwd());
18
+ const masterQuestions = [
19
+ {
20
+ type: 'input',
21
+ name: 'sspPath',
22
+ message: 'Absolute path to .SSP file',
23
+ },
24
+ ];
25
+ const componentTypeSelected = await (0, common_1.chooseComponentType)();
26
+ const componentNameSelected = await (0, common_1.chooseComponentName)(directory, componentTypeSelected);
27
+ const filteredQuestions = masterQuestions.filter(q => !flags[q.name]);
28
+ const answers = Object.assign(await inquirer_1.default.prompt(filteredQuestions), flags);
29
+ const componentDirectory = (0, node_path_1.join)(directory, componentTypeSelected, componentNameSelected);
30
+ if (answers.sspPath?.endsWith('.ssp')) {
31
+ core_1.ux.action.start('Processing SSP File');
32
+ const destinationPath = path.join(componentDirectory, `${componentNameSelected}.ssp`);
33
+ await fs.promises.copyFile(answers.sspPath, destinationPath);
34
+ core_1.ux.action.stop();
35
+ }
36
+ else {
37
+ this.error('Invalid ssp file provided');
38
+ }
39
+ }
40
+ }
41
+ exports.Logo = Logo;
42
+ Logo.description = 'Update an SSP.';
43
+ Logo.flags = {
44
+ ...core_2.Base.flags,
45
+ directory: core_1.Flags.string({
46
+ char: 'd',
47
+ description: 'root directory of the component folder.',
48
+ default: './',
49
+ }),
50
+ componentType: core_1.Flags.string({
51
+ description: 'Component Type (e.g. classic)',
52
+ char: 't',
53
+ }),
54
+ componentName: core_1.Flags.string({
55
+ description: 'Component Name (e.g. google_alert_ingestion)',
56
+ char: 'n',
57
+ }),
58
+ sspPath: core_1.Flags.string({
59
+ char: 'p',
60
+ description: 'Absolute path to .SSP file',
61
+ }),
62
+ help: core_1.Flags.help({ char: 'h' }),
63
+ };
64
+ //# sourceMappingURL=ssp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssp.js","sourceRoot":"","sources":["../../../src/commands/component/ssp.ts"],"names":[],"mappings":";;;;AAAA,sCAAqC;AACrC,wCAAkC;AAClC,gEAA+B;AAC/B,oDAA6B;AAC7B,wDAAiC;AACjC,yCAAuC;AACvC,yCAAqE;AAGrE,qCAAqC;AACrC,MAAa,IAAK,SAAQ,WAAI;IAyB5B,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAEtC,IAAI,EAAC,SAAS,EAAC,GAAG,KAAK,CAAA;QACvB,SAAS,GAAG,IAAA,mBAAO,EAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QAE/C,MAAM,eAAe,GAAG;YACtB;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,4BAA4B;aACtC;SACF,CAAA;QAED,MAAM,qBAAqB,GAAG,MAAM,IAAA,4BAAmB,GAAE,CAAA;QACzD,MAAM,qBAAqB,GAAG,MAAM,IAAA,4BAAmB,EAAC,SAAS,EAAE,qBAAqB,CAAC,CAAA;QACzF,MAAM,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,KAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9F,MAAM,OAAO,GAAqB,MAAM,CAAC,MAAM,CAAC,MAAM,kBAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,CAAA;QAEhG,MAAM,kBAAkB,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,CAAA;QAExF,IAAI,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE;YACrC,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;YAEtC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,qBAAqB,MAAM,CAAC,CAAA;YACrF,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;YAC5D,SAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;SACjB;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;SACxC;IACH,CAAC;;AAvDH,oBAwDC;AAvDQ,gBAAW,GAAG,gBAAgB,CAAA;AAE9B,UAAK,GAAG;IACb,GAAG,WAAI,CAAC,KAAK;IACb,SAAS,EAAE,YAAK,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,yCAAyC;QACtD,OAAO,EAAE,IAAI;KACd,CAAC;IACF,aAAa,EAAE,YAAK,CAAC,MAAM,CAAC;QAC1B,WAAW,EAAE,+BAA+B;QAC5C,IAAI,EAAE,GAAG;KACV,CAAC;IACF,aAAa,EAAE,YAAK,CAAC,MAAM,CAAC;QAC1B,WAAW,EAAE,8CAA8C;QAC3D,IAAI,EAAE,GAAG;KACV,CAAC;IACF,OAAO,EAAE,YAAK,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,4BAA4B;KAC1C,CAAC;IACF,IAAI,EAAE,YAAK,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,GAAG,EAAC,CAAC;CAC9B,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { Base } from '@sw-tsdk/core';
2
+ export declare class Update extends Base {
3
+ static description: string;
4
+ static flags: {
5
+ directory: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
6
+ version: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
+ componentType: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ componentName: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
+ manifestPath: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
10
+ help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
11
+ };
12
+ run(): Promise<void>;
13
+ }
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Update = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@oclif/core");
6
+ const core_2 = require("@sw-tsdk/core");
7
+ const fs_extra_1 = require("fs-extra");
8
+ const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
9
+ const fs = tslib_1.__importStar(require("node:fs"));
10
+ const node_fs_1 = require("node:fs");
11
+ const node_path_1 = require("node:path");
12
+ // noinspection JSUnusedGlobalSymbols
13
+ class Update extends core_2.Base {
14
+ async run() {
15
+ const { flags } = await this.parse(Update);
16
+ let { directory, manifestPath } = flags;
17
+ const { version } = flags;
18
+ directory = (0, node_path_1.resolve)(directory || process.cwd());
19
+ // remove relative dir notation if provided
20
+ if (manifestPath.startsWith('.')) {
21
+ manifestPath = manifestPath.slice(1);
22
+ }
23
+ manifestPath = (0, node_path_1.join)(directory, manifestPath);
24
+ try {
25
+ await node_fs_1.promises.access(manifestPath);
26
+ }
27
+ catch {
28
+ this.error(`Could not access ${manifestPath}`);
29
+ }
30
+ core_1.ux.action.start('Updating Component');
31
+ const manifest = js_yaml_1.default.load(await fs.promises.readFile(manifestPath, 'utf8'));
32
+ // For now, version is supplied.
33
+ if (version) {
34
+ manifest.version = version;
35
+ }
36
+ await (0, fs_extra_1.writeFile)(manifestPath, js_yaml_1.default.dump(manifest, { indent: 2 }), { flag: 'w' });
37
+ core_1.ux.action.stop();
38
+ }
39
+ }
40
+ exports.Update = Update;
41
+ Update.description = 'Update Component Version.';
42
+ Update.flags = {
43
+ ...core_2.Base.flags,
44
+ directory: core_1.Flags.string({
45
+ char: 'd',
46
+ description: 'root directory of the all Components',
47
+ default: '.',
48
+ }),
49
+ version: core_1.Flags.string({
50
+ char: 'v',
51
+ description: 'new version of the component.',
52
+ }),
53
+ componentType: core_1.Flags.string({
54
+ description: 'Component Type (e.g. classic)',
55
+ char: 't',
56
+ }),
57
+ componentName: core_1.Flags.string({
58
+ description: 'Component Name (e.g. google_alert_ingestion)',
59
+ char: 'n',
60
+ }),
61
+ manifestPath: core_1.Flags.string({
62
+ char: 'f',
63
+ description: 'Component manifest path relative to directory.',
64
+ default: 'manifest.yml',
65
+ }),
66
+ help: core_1.Flags.help({ char: 'h' }),
67
+ };
68
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/component/update.ts"],"names":[],"mappings":";;;;AAAA,sCAAqC;AACrC,wCAAkC;AAClC,uCAAkC;AAClC,8DAA0B;AAC1B,oDAA6B;AAC7B,qCAAgC;AAChC,yCAAuC;AAEvC,qCAAqC;AACrC,MAAa,MAAO,SAAQ,WAAI;IA8B9B,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAExC,IAAI,EAAC,SAAS,EAAE,YAAY,EAAC,GAAG,KAAK,CAAA;QACrC,MAAM,EAAC,OAAO,EAAC,GAAG,KAAK,CAAA;QACvB,SAAS,GAAG,IAAA,mBAAO,EAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QAE/C,2CAA2C;QAC3C,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YAChC,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;SACrC;QAED,YAAY,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QAC5C,IAAI;YACF,MAAM,kBAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;SACpC;QAAC,MAAM;YACN,IAAI,CAAC,KAAK,CAAC,oBAAoB,YAAY,EAAE,CAAC,CAAA;SAC/C;QAED,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QACrC,MAAM,QAAQ,GAAG,iBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAsB,CAAA;QAEjG,gCAAgC;QAChC,IAAI,OAAO,EAAE;YACX,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAA;SAC3B;QAED,MAAM,IAAA,oBAAS,EAAC,YAAY,EAAE,iBAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,IAAI,EAAE,GAAG,EAAC,CAAC,CAAA;QAC5E,SAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IAClB,CAAC;;AA3DH,wBA4DC;AA3DQ,kBAAW,GAAG,2BAA2B,CAAA;AAEzC,YAAK,GAAG;IACb,GAAG,WAAI,CAAC,KAAK;IACb,SAAS,EAAE,YAAK,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,sCAAsC;QACnD,OAAO,EAAE,GAAG;KACb,CAAC;IACF,OAAO,EAAE,YAAK,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,+BAA+B;KAC7C,CAAC;IACF,aAAa,EAAE,YAAK,CAAC,MAAM,CAAC;QAC1B,WAAW,EAAE,+BAA+B;QAC5C,IAAI,EAAE,GAAG;KACV,CAAC;IACF,aAAa,EAAE,YAAK,CAAC,MAAM,CAAC;QAC1B,WAAW,EAAE,8CAA8C;QAC3D,IAAI,EAAE,GAAG;KACV,CAAC;IACF,YAAY,EAAE,YAAK,CAAC,MAAM,CAAC;QACzB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,gDAAgD;QAC7D,OAAO,EAAE,cAAc;KACxB,CAAC;IACF,IAAI,EAAE,YAAK,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,GAAG,EAAC,CAAC;CAC9B,CAAA"}
@@ -2,20 +2,20 @@ import { Base } from '@sw-tsdk/core';
2
2
  export declare class Build extends Base {
3
3
  static description: string;
4
4
  static flags: {
5
- template: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
6
- 'compile-override': import("@oclif/core/lib/interfaces").OptionFlag<string>;
7
- 'runner-override': import("@oclif/core/lib/interfaces").OptionFlag<string>;
8
- 'runtime-override': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
9
- directory: import("@oclif/core/lib/interfaces").OptionFlag<string>;
5
+ template: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
6
+ 'compile-override': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
+ 'runner-override': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ 'runtime-override': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
+ directory: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
10
10
  save: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
11
  squash: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
12
  'force-rebuild': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
13
- platform: import("@oclif/core/lib/interfaces").OptionFlag<string>;
14
- 'signing-password': import("@oclif/core/lib/interfaces").OptionFlag<string>;
15
- 'key-name': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
13
+ platform: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
14
+ 'signing-password': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
15
+ 'key-name': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
16
16
  'skip-upload': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
17
- registry: import("@oclif/core/lib/interfaces").OptionFlag<string>;
18
- output: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
17
+ registry: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
18
+ output: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
19
19
  help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
20
20
  };
21
21
  run(): Promise<void>;
@@ -34,13 +34,13 @@ class Build extends core_2.Base {
34
34
  try {
35
35
  await node_fs_1.promises.access(directory);
36
36
  }
37
- catch (_a) {
37
+ catch {
38
38
  this.error(`Could not access ${directory}`);
39
39
  }
40
40
  const docker = new docker_1.Docker();
41
- core_1.CliUx.ux.action.start('Checking for docker...');
41
+ core_1.ux.action.start('Checking for docker...');
42
42
  await docker.ping();
43
- core_1.CliUx.ux.action.stop();
43
+ core_1.ux.action.stop();
44
44
  const dockerFileDir = `${directory}/Dockerfile`;
45
45
  if ((0, node_fs_1.existsSync)(dockerFileDir)) {
46
46
  await node_fs_1.promises.rm(dockerFileDir);
@@ -86,48 +86,65 @@ class Build extends core_2.Base {
86
86
  }
87
87
  exports.Build = Build;
88
88
  Build.description = 'Builds a local docker image of the connector.';
89
- Build.flags = Object.assign(Object.assign({}, core_2.Base.flags), { template: core_1.Flags.string({
89
+ Build.flags = {
90
+ ...core_2.Base.flags,
91
+ template: core_1.Flags.string({
90
92
  description: 'connector language',
91
- options: ['python_37_swimlane', 'node_18', 'python_39_definition', 'python_310_definition', 'python_311_definition'],
93
+ options: ['python_37_swimlane', 'node_18', 'node_20', 'python_39_definition', 'python_39_turbine', 'python_310_definition', 'python_311_definition'],
92
94
  required: false,
93
- }), 'compile-override': core_1.Flags.string({
95
+ }),
96
+ 'compile-override': core_1.Flags.string({
94
97
  hidden: true,
95
98
  default: 'Compile.Dockerfile',
96
- }), 'runner-override': core_1.Flags.string({
99
+ }),
100
+ 'runner-override': core_1.Flags.string({
97
101
  hidden: true,
98
102
  default: 'Runner.Dockerfile',
99
- }), 'runtime-override': core_1.Flags.string({
103
+ }),
104
+ 'runtime-override': core_1.Flags.string({
100
105
  hidden: true,
101
- }), directory: core_1.Flags.string({
106
+ }),
107
+ directory: core_1.Flags.string({
102
108
  char: 'd',
103
109
  description: 'root directory of the repository.',
104
110
  default: './',
105
- }), save: core_1.Flags.boolean({
111
+ }),
112
+ save: core_1.Flags.boolean({
106
113
  description: 'saves a signed docker image as tar in local directory.',
107
- }), squash: core_1.Flags.boolean({
114
+ }),
115
+ squash: core_1.Flags.boolean({
108
116
  description: 'squashes the docker layers.',
109
117
  hidden: true,
110
- }), 'force-rebuild': core_1.Flags.boolean({
118
+ }),
119
+ 'force-rebuild': core_1.Flags.boolean({
111
120
  char: 'f',
112
121
  description: 'forces nocache on the image build',
113
- }), platform: core_1.Flags.string({
122
+ }),
123
+ platform: core_1.Flags.string({
114
124
  hidden: true,
115
125
  default: 'linux/amd64',
116
- }), 'signing-password': core_1.Flags.string({
126
+ }),
127
+ 'signing-password': core_1.Flags.string({
117
128
  description: 'password used for the private key (ENV: TURBINE_SIGNING_PASSWORD)',
118
129
  default: '',
119
130
  env: 'TURBINE_SIGNING_PASSWORD',
120
- }), 'key-name': core_1.Flags.string({
131
+ }),
132
+ 'key-name': core_1.Flags.string({
121
133
  description: 'name used for the key (default: username_yyyy-MM-dd)',
122
- }), 'skip-upload': core_1.Flags.boolean({
134
+ }),
135
+ 'skip-upload': core_1.Flags.boolean({
123
136
  hidden: true,
124
- }), registry: core_1.Flags.string({
137
+ }),
138
+ registry: core_1.Flags.string({
125
139
  description: 'registry to use for signing',
126
140
  default: 'localhost:5000',
127
- }), output: core_1.Flags.string({
141
+ }),
142
+ output: core_1.Flags.string({
128
143
  char: 'o',
129
144
  description: 'output path to where to store the image.',
130
- }), help: core_1.Flags.help({
145
+ }),
146
+ help: core_1.Flags.help({
131
147
  char: 'h',
132
- }) });
148
+ }),
149
+ };
133
150
  //# sourceMappingURL=build.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/commands/connector/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/commands/connector/build.ts"],"names":[],"mappings":"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"}