@contrail/cli 2.1.19 → 2.1.21

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 (154) hide show
  1. package/README.md +311 -105
  2. package/dist/api/apps.js +15 -15
  3. package/dist/api/event-workflow-action-definition.d.ts +1 -1
  4. package/dist/api/event-workflow-action-definition.js +1 -1
  5. package/dist/api/event-workflow-template-definition.d.ts +4 -3
  6. package/dist/api/event-workflow-templates.d.ts +5 -4
  7. package/dist/api/event-workflow-templates.js +2 -2
  8. package/dist/api/types.d.ts +10 -10
  9. package/dist/api/users.js +4 -2
  10. package/dist/auth/login.js +12 -14
  11. package/dist/commands/app/create.d.ts +2 -2
  12. package/dist/commands/app/create.js +15 -10
  13. package/dist/commands/app/delete.d.ts +2 -2
  14. package/dist/commands/app/delete.js +4 -2
  15. package/dist/commands/app/getApiKey.d.ts +2 -2
  16. package/dist/commands/app/getApiKey.js +17 -11
  17. package/dist/commands/app/install.d.ts +2 -2
  18. package/dist/commands/app/install.js +42 -25
  19. package/dist/commands/app/publish.d.ts +2 -2
  20. package/dist/commands/app/publish.js +26 -11
  21. package/dist/commands/app/uninstall.d.ts +2 -2
  22. package/dist/commands/app/uninstall.js +20 -11
  23. package/dist/commands/app/upgrade.d.ts +2 -2
  24. package/dist/commands/app/upgrade.js +46 -23
  25. package/dist/commands/basecommand.d.ts +7 -0
  26. package/dist/commands/basecommand.js +29 -0
  27. package/dist/commands/colors/deleteAll.d.ts +2 -2
  28. package/dist/commands/colors/deleteAll.js +8 -5
  29. package/dist/commands/colors/load.d.ts +2 -2
  30. package/dist/commands/colors/load.js +10 -7
  31. package/dist/commands/config/list.d.ts +2 -2
  32. package/dist/commands/config/list.js +4 -2
  33. package/dist/commands/config/remove.d.ts +2 -2
  34. package/dist/commands/config/remove.js +4 -2
  35. package/dist/commands/config/set.d.ts +3 -2
  36. package/dist/commands/config/set.js +21 -7
  37. package/dist/commands/groups/export.d.ts +2 -2
  38. package/dist/commands/groups/export.js +20 -8
  39. package/dist/commands/groups/upload.d.ts +3 -3
  40. package/dist/commands/groups/upload.js +44 -32
  41. package/dist/commands/instance/export.d.ts +2 -2
  42. package/dist/commands/instance/export.js +15 -3
  43. package/dist/commands/instance/import.d.ts +2 -2
  44. package/dist/commands/instance/import.js +9 -2
  45. package/dist/commands/loader-process/load.d.ts +2 -2
  46. package/dist/commands/loader-process/load.js +13 -6
  47. package/dist/commands/loader-process/upload-and-load.d.ts +2 -2
  48. package/dist/commands/loader-process/upload-and-load.js +18 -7
  49. package/dist/commands/projects/export.d.ts +2 -2
  50. package/dist/commands/projects/export.js +4 -2
  51. package/dist/commands/projects/list.d.ts +2 -2
  52. package/dist/commands/projects/list.js +6 -4
  53. package/dist/commands/projects/load.d.ts +2 -2
  54. package/dist/commands/projects/load.js +16 -8
  55. package/dist/commands/types/exportOptionSetHierarchies.d.ts +2 -2
  56. package/dist/commands/types/exportOptionSetHierarchies.js +15 -12
  57. package/dist/commands/types/getAll.d.ts +2 -2
  58. package/dist/commands/types/getAll.js +107 -76
  59. package/dist/commands/types/loadAll.d.ts +2 -2
  60. package/dist/commands/types/loadAll.js +12 -4
  61. package/dist/commands/types/mergeOptionSets.d.ts +2 -2
  62. package/dist/commands/types/mergeOptionSets.js +13 -10
  63. package/dist/commands/types/mergeTypeProperties.d.ts +2 -2
  64. package/dist/commands/types/mergeTypeProperties.js +12 -9
  65. package/dist/commands/types/parseOptionSetsHierarchyLocalFile.d.ts +2 -2
  66. package/dist/commands/types/parseOptionSetsHierarchyLocalFile.js +19 -15
  67. package/dist/commands/types/parseOptionSetsHierarchyValuesToKeysLocalFile.d.ts +10 -0
  68. package/dist/commands/types/parseOptionSetsHierarchyValuesToKeysLocalFile.js +102 -0
  69. package/dist/commands/types/parseOptionSetsLocalFiles.d.ts +2 -2
  70. package/dist/commands/types/parseOptionSetsLocalFiles.js +21 -21
  71. package/dist/commands/types/parseOptionSetsToFolderStructure.d.ts +2 -2
  72. package/dist/commands/types/parseOptionSetsToFolderStructure.js +17 -18
  73. package/dist/commands/types/parseTypesFromFiles.d.ts +2 -2
  74. package/dist/commands/types/parseTypesFromFiles.js +14 -8
  75. package/dist/commands/types/parseTypesFromLocalFiles.d.ts +2 -2
  76. package/dist/commands/types/parseTypesFromLocalFiles.js +10 -7
  77. package/dist/commands/types/parseTypesFromTemplateAndDataFromLocalFiles.d.ts +2 -2
  78. package/dist/commands/types/parseTypesFromTemplateAndDataFromLocalFiles.js +11 -8
  79. package/dist/commands/types/parseTypesFromTemplateFromLocalFiles.d.ts +2 -2
  80. package/dist/commands/types/parseTypesFromTemplateFromLocalFiles.js +11 -8
  81. package/dist/commands/types/uploadOptionSetHierarchies.d.ts +2 -2
  82. package/dist/commands/types/uploadOptionSetHierarchies.js +44 -32
  83. package/dist/commands/types/uploadOptionSets.d.ts +2 -2
  84. package/dist/commands/types/uploadOptionSets.js +21 -13
  85. package/dist/commands/types/uploadOptionSetsHierarchyLocalFile.d.ts +2 -2
  86. package/dist/commands/types/uploadOptionSetsHierarchyLocalFile.js +26 -19
  87. package/dist/commands/types/uploadRuleSets.d.ts +2 -2
  88. package/dist/commands/types/uploadRuleSets.js +34 -26
  89. package/dist/commands/types/uploadTypePolicies.d.ts +2 -2
  90. package/dist/commands/types/uploadTypePolicies.js +37 -29
  91. package/dist/commands/types/uploadTypePropertyPolicies.d.ts +2 -2
  92. package/dist/commands/types/uploadTypePropertyPolicies.js +38 -30
  93. package/dist/commands/types/uploadTypes.d.ts +2 -2
  94. package/dist/commands/types/uploadTypes.js +10 -4
  95. package/dist/commands/types/uploadUsageInfo.d.ts +2 -2
  96. package/dist/commands/types/uploadUsageInfo.js +32 -24
  97. package/dist/commands/users/export.d.ts +2 -2
  98. package/dist/commands/users/export.js +15 -4
  99. package/dist/commands/users/upload.d.ts +2 -2
  100. package/dist/commands/users/upload.js +6 -4
  101. package/dist/commands/webhooks/create.d.ts +2 -2
  102. package/dist/commands/webhooks/create.js +8 -6
  103. package/dist/commands/webhooks/delete.d.ts +2 -2
  104. package/dist/commands/webhooks/delete.js +8 -5
  105. package/dist/commands/webhooks/getWebhookTrigger.d.ts +2 -2
  106. package/dist/commands/webhooks/getWebhookTrigger.js +10 -9
  107. package/dist/commands/webhooks/list.d.ts +2 -2
  108. package/dist/commands/webhooks/list.js +8 -6
  109. package/dist/commands/workflow-template-definitions/install.d.ts +2 -2
  110. package/dist/commands/workflow-template-definitions/install.js +4 -2
  111. package/dist/commands/workflow-template-definitions/list.d.ts +2 -2
  112. package/dist/commands/workflow-template-definitions/list.js +4 -2
  113. package/dist/commands/workflow-templates/delete.d.ts +2 -2
  114. package/dist/commands/workflow-templates/delete.js +4 -2
  115. package/dist/commands/workflow-templates/export.d.ts +2 -2
  116. package/dist/commands/workflow-templates/export.js +19 -17
  117. package/dist/commands/workflow-templates/list.d.ts +2 -2
  118. package/dist/commands/workflow-templates/list.js +4 -2
  119. package/dist/commands/workflow-templates/load.d.ts +2 -2
  120. package/dist/commands/workflow-templates/load.js +8 -3
  121. package/dist/common.d.ts +4 -1
  122. package/dist/common.js +10 -1
  123. package/dist/helpers/app/actions-deployer.d.ts +2 -2
  124. package/dist/helpers/app/actions-deployer.js +12 -7
  125. package/dist/helpers/app/app-deployer.d.ts +1 -1
  126. package/dist/helpers/app/app-deployer.js +77 -49
  127. package/dist/helpers/app/app-template-parsers.js +3 -1
  128. package/dist/helpers/app/load-app-config.d.ts +2 -1
  129. package/dist/helpers/app/load-app-config.js +2 -2
  130. package/dist/helpers/app/setup-template.js +4 -3
  131. package/dist/helpers/colors/helpers.d.ts +10 -2
  132. package/dist/helpers/colors/helpers.js +11 -10
  133. package/dist/helpers/config/config.js +15 -10
  134. package/dist/helpers/file-helpers.js +7 -4
  135. package/dist/helpers/loader-process/helpers.js +14 -13
  136. package/dist/helpers/projects/helpers.d.ts +2 -1
  137. package/dist/helpers/projects/helpers.js +16 -15
  138. package/dist/helpers/types/csv-parser.js +17 -14
  139. package/dist/helpers/types/type-extractor.d.ts +1 -1
  140. package/dist/helpers/types/type-extractor.js +3 -2
  141. package/dist/helpers/types/type-parser.js +22 -21
  142. package/dist/helpers/types/type-uploader.js +19 -15
  143. package/dist/helpers/workflow-template-definitions/workflow-template-definition-deployer.d.ts +1 -1
  144. package/dist/helpers/workflow-template-definitions/workflow-template-definition-deployer.js +46 -28
  145. package/dist/helpers/workflow-templates/helper.d.ts +3 -3
  146. package/dist/helpers/workflow-templates/helper.js +33 -23
  147. package/dist/interface-converters.spec.js +15 -15
  148. package/dist/interfaces.d.ts +6 -0
  149. package/dist/logger.d.ts +3 -0
  150. package/dist/logger.js +32 -0
  151. package/dist/templates/typescript/src/actions/logItem.ts +9 -4
  152. package/dist/templates/typescript/src/main.ts +13 -8
  153. package/oclif.manifest.json +861 -31
  154. package/package.json +10 -7
@@ -5,14 +5,17 @@ const tslib_1 = require("tslib");
5
5
  const path = tslib_1.__importStar(require("path"));
6
6
  const fs_1 = tslib_1.__importDefault(require("fs"));
7
7
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
8
- const csv = require('csvtojson');
8
+ const csvtojson_1 = tslib_1.__importDefault(require("csvtojson"));
9
9
  const sdk_1 = require("@contrail/sdk");
10
10
  const util_1 = require("@contrail/util");
11
11
  const login_1 = require("../../auth/login");
12
12
  const core_1 = require("@oclif/core");
13
- class ParseOptionSetsHierarchyLocalFile extends core_1.Command {
13
+ const basecommand_1 = require("../basecommand");
14
+ const logger_1 = tslib_1.__importDefault(require("../../logger"));
15
+ class ParseOptionSetsHierarchyLocalFile extends basecommand_1.BaseCommand {
14
16
  async run() {
15
- const { args } = await this.parse(ParseOptionSetsHierarchyLocalFile);
17
+ const { args, flags } = await this.parse(ParseOptionSetsHierarchyLocalFile);
18
+ await super.setLogLevel(flags.logLevel);
16
19
  await parseOptionSetsHierarchyLocalFile(args.file);
17
20
  }
18
21
  }
@@ -28,24 +31,24 @@ ParseOptionSetsHierarchyLocalFile.args = {
28
31
  async function parseOptionSetsHierarchyLocalFile(fileLocation) {
29
32
  try {
30
33
  await (0, login_1.authUser)();
31
- console.log('%s Importing local file', chalk_1.default.yellow.bold('OPTION SET HIERARCHY PARSE'));
32
- console.log('Using File: ', fileLocation);
34
+ logger_1.default.info('%s Importing local file', chalk_1.default.yellow.bold('OPTION SET HIERARCHY PARSE'));
35
+ logger_1.default.info('Using File: ', fileLocation);
33
36
  await parseAndSaveOptionSetHierarchiesLocalFile(fileLocation);
34
- console.log('%s Parsed', chalk_1.default.yellow.bold('OPTION SET HIERARCHY PARSE'));
37
+ logger_1.default.info('%s Parsed', chalk_1.default.yellow.bold('OPTION SET HIERARCHY PARSE'));
35
38
  }
36
39
  catch (e) {
37
- console.log(`%s PARSE Failed. ${e}`, chalk_1.default.red.bold('FAIL'));
40
+ logger_1.default.info(`%s PARSE Failed. ${e}`, chalk_1.default.red.bold('FAIL'));
38
41
  return;
39
42
  }
40
- console.log('%s PARSE Complete.', chalk_1.default.green.bold('COMPLETE'));
43
+ logger_1.default.info('%s PARSE Complete.', chalk_1.default.green.bold('COMPLETE'));
41
44
  }
42
45
  exports.parseOptionSetsHierarchyLocalFile = parseOptionSetsHierarchyLocalFile;
43
46
  async function loadOptionSetHierarchyCSV(fileLocation) {
44
47
  const TARGET_DIR = process.cwd();
45
48
  try {
46
49
  const fullPath = path.resolve(path.join(TARGET_DIR, fileLocation));
47
- console.log('Getting file from path: ', fullPath);
48
- return await csv().fromFile(fullPath);
50
+ logger_1.default.info('Getting file from path: ', fullPath);
51
+ return await (0, csvtojson_1.default)().fromFile(fullPath);
49
52
  }
50
53
  catch (e) {
51
54
  throw new Error(`ERROR PARSING CSV: ${e}`);
@@ -57,7 +60,7 @@ async function parseOptionSetHierarchiesLocalFile(fileLocation) {
57
60
  hierarchy: [],
58
61
  maxDepth: 0,
59
62
  name: 'No Name',
60
- options: []
63
+ options: [],
61
64
  };
62
65
  if (!((uploadedOptionHierarchyData === null || uploadedOptionHierarchyData === void 0 ? void 0 : uploadedOptionHierarchyData.length) > 0)) {
63
66
  return optionSetHierarchy;
@@ -68,7 +71,8 @@ async function parseOptionSetHierarchiesLocalFile(fileLocation) {
68
71
  });
69
72
  const currentOptionSetsByName = {};
70
73
  for (const currentOptionSet of currentOptionSets) {
71
- currentOptionSetsByName[util_1.StringUtil.convertToCamelCase(currentOptionSet.name)] = currentOptionSet;
74
+ currentOptionSetsByName[util_1.StringUtil.convertToCamelCase(currentOptionSet.name)] =
75
+ currentOptionSet;
72
76
  }
73
77
  const optionSetIds = [];
74
78
  for (const key of keysInOrder) {
@@ -93,15 +97,15 @@ async function parseAndSaveOptionSetHierarchiesLocalFile(fileLocation) {
93
97
  function addRowToOptions(optionSetHierarchy, keysInOrder, row) {
94
98
  let options = optionSetHierarchy.options;
95
99
  for (let i = 0; i < keysInOrder.length; i++) {
96
- const optionValues = options.map(op => op.value);
100
+ const optionValues = options.map((op) => op.value);
97
101
  const value = row[keysInOrder[i]];
98
102
  if (!optionValues.includes(value)) {
99
- const obj = i === (keysInOrder.length - 1) ? { value: value } : { value: value, options: [] };
103
+ const obj = i === keysInOrder.length - 1 ? { value: value } : { value: value, options: [] };
100
104
  options.push(obj);
101
105
  options = obj.options;
102
106
  }
103
107
  else {
104
- const optionObj = options.find(op => op.value === value);
108
+ const optionObj = options.find((op) => op.value === value);
105
109
  options = optionObj.options;
106
110
  }
107
111
  }
@@ -0,0 +1,10 @@
1
+ import { BaseCommand } from '../basecommand';
2
+ export default class ParseOptionSetsHierarchyValuesToKeysLocalFile extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ file: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
7
+ };
8
+ run(): Promise<void>;
9
+ }
10
+ export declare function parseOptionSetsHierarchyValuesToKeysLocalFile(fileLocation: any): Promise<void>;
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseOptionSetsHierarchyValuesToKeysLocalFile = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const path = tslib_1.__importStar(require("path"));
6
+ const fs_1 = tslib_1.__importDefault(require("fs"));
7
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
8
+ const csvtojson_1 = tslib_1.__importDefault(require("csvtojson"));
9
+ const sdk_1 = require("@contrail/sdk");
10
+ const login_1 = require("../../auth/login");
11
+ const core_1 = require("@oclif/core");
12
+ const basecommand_1 = require("../basecommand");
13
+ const logger_1 = tslib_1.__importDefault(require("../../logger"));
14
+ const json2csv_1 = require("json2csv");
15
+ const util_1 = require("@contrail/util");
16
+ class ParseOptionSetsHierarchyValuesToKeysLocalFile extends basecommand_1.BaseCommand {
17
+ async run() {
18
+ const { args, flags } = await this.parse(ParseOptionSetsHierarchyValuesToKeysLocalFile);
19
+ await super.setLogLevel(flags.logLevel);
20
+ await parseOptionSetsHierarchyValuesToKeysLocalFile(args.file);
21
+ }
22
+ }
23
+ exports.default = ParseOptionSetsHierarchyValuesToKeysLocalFile;
24
+ ParseOptionSetsHierarchyValuesToKeysLocalFile.description = 'Parse CSV file into OptionSetHierarchy';
25
+ ParseOptionSetsHierarchyValuesToKeysLocalFile.examples = [
26
+ `$ contrail types parseOptionSetsHierarchyValuesToKeysLocalFile <File Paths>
27
+ `,
28
+ ];
29
+ ParseOptionSetsHierarchyValuesToKeysLocalFile.args = {
30
+ file: core_1.Args.string({ description: 'File to parse', required: true }),
31
+ };
32
+ async function parseOptionSetsHierarchyValuesToKeysLocalFile(fileLocation) {
33
+ try {
34
+ await (0, login_1.authUser)();
35
+ logger_1.default.info('%s Importing local file', chalk_1.default.yellow.bold('OPTION SET HIERARCHY PARSE'));
36
+ logger_1.default.info('Using File: ', fileLocation);
37
+ const { keysInOrder, uploadedOptionHierarchyData } = await parseOptionSetHierarchiesLocalFile(fileLocation);
38
+ const parser = new json2csv_1.Parser(keysInOrder);
39
+ const csv = parser.parse(uploadedOptionHierarchyData);
40
+ saveData(csv);
41
+ logger_1.default.info('%s Parsed', chalk_1.default.yellow.bold('OPTION SET HIERARCHY PARSE'));
42
+ }
43
+ catch (e) {
44
+ logger_1.default.info(`%s PARSE Failed. ${e}`, chalk_1.default.red.bold('FAIL'));
45
+ return;
46
+ }
47
+ logger_1.default.info('%s PARSE Complete.', chalk_1.default.green.bold('COMPLETE'));
48
+ }
49
+ exports.parseOptionSetsHierarchyValuesToKeysLocalFile = parseOptionSetsHierarchyValuesToKeysLocalFile;
50
+ async function loadOptionSetHierarchyCSV(fileLocation) {
51
+ const TARGET_DIR = process.cwd();
52
+ try {
53
+ const fullPath = path.resolve(path.join(TARGET_DIR, fileLocation));
54
+ logger_1.default.info('Getting file from path: ', fullPath);
55
+ return await (0, csvtojson_1.default)().fromFile(fullPath);
56
+ }
57
+ catch (e) {
58
+ throw new Error(`ERROR PARSING CSV: ${e}`);
59
+ }
60
+ }
61
+ async function parseOptionSetHierarchiesLocalFile(fileLocation) {
62
+ const uploadedOptionHierarchyData = await loadOptionSetHierarchyCSV(fileLocation);
63
+ if (!((uploadedOptionHierarchyData === null || uploadedOptionHierarchyData === void 0 ? void 0 : uploadedOptionHierarchyData.length) > 0)) {
64
+ return [];
65
+ }
66
+ const keysInOrder = Object.keys(uploadedOptionHierarchyData[0]);
67
+ const currentOptionSets = await new sdk_1.Entities().get({
68
+ entityName: 'type-property-option-set',
69
+ });
70
+ for (const currentOptionSet of currentOptionSets) {
71
+ currentOptionSet.name = util_1.StringUtil.convertToCamelCase(currentOptionSet.name);
72
+ }
73
+ const mapOptionSet = filterAndMapOptionSetData(currentOptionSets, keysInOrder);
74
+ for (const row of uploadedOptionHierarchyData) {
75
+ for (const key in row) {
76
+ const value = mapOptionSet[key][row[key]];
77
+ row[key] = value;
78
+ }
79
+ }
80
+ return { keysInOrder, uploadedOptionHierarchyData };
81
+ }
82
+ function filterAndMapOptionSetData(optionSets, headersMap) {
83
+ logger_1.default.debug(`Headers from CSV: ${headersMap}`);
84
+ logger_1.default.debug(`Option sets in system: ${optionSets.map((value) => value.name)}`);
85
+ const requiredOptionSets = optionSets.filter((x) => headersMap.includes(x.name));
86
+ if (requiredOptionSets.length !== headersMap.length) {
87
+ throw new Error('Headers from csv not matching with Option Set Hierachy names.');
88
+ }
89
+ const mapOptionSet = {};
90
+ requiredOptionSets.forEach((element) => {
91
+ const objOptionSet = {};
92
+ element.optionSet.forEach((data) => {
93
+ objOptionSet[data.display] = data.value;
94
+ });
95
+ mapOptionSet[element.name] = objOptionSet;
96
+ });
97
+ return mapOptionSet;
98
+ }
99
+ function saveData(data) {
100
+ const CURRENT_DIR = process.cwd();
101
+ fs_1.default.writeFileSync(path.resolve(path.join(CURRENT_DIR, 'parsed_local_optionSetHierarchyValuesToKeys.csv')), data, 'utf8');
102
+ }
@@ -1,5 +1,5 @@
1
- import { Command } from '@oclif/core';
2
- export default class ParseOptionSetsLocalFiles extends Command {
1
+ import { BaseCommand } from '../basecommand';
2
+ export default class ParseOptionSetsLocalFiles extends BaseCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
@@ -7,12 +7,16 @@ const fs_1 = tslib_1.__importDefault(require("fs"));
7
7
  const types_1 = require("@contrail/types");
8
8
  const util_1 = require("@contrail/util");
9
9
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
10
- const csv = require('csvtojson');
11
- const yaml = require('js-yaml');
10
+ const csvtojson_1 = tslib_1.__importDefault(require("csvtojson"));
11
+ const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
12
12
  const core_1 = require("@oclif/core");
13
- class ParseOptionSetsLocalFiles extends core_1.Command {
13
+ const basecommand_1 = require("../basecommand");
14
+ const logger_1 = tslib_1.__importDefault(require("../../logger"));
15
+ const common_1 = require("../../common");
16
+ class ParseOptionSetsLocalFiles extends basecommand_1.BaseCommand {
14
17
  async run() {
15
18
  const { args, flags } = await this.parse(ParseOptionSetsLocalFiles);
19
+ await super.setLogLevel(flags.logLevel);
16
20
  try {
17
21
  this.log('%s Importing local file', chalk_1.default.yellow.bold('OPTION SET PARSE'));
18
22
  this.log('Using File: ', args.file);
@@ -33,7 +37,7 @@ ParseOptionSetsLocalFiles.examples = [
33
37
  `,
34
38
  ];
35
39
  ParseOptionSetsLocalFiles.flags = {
36
- csvStyle: core_1.Flags.string({ options: ['NameAndLabel', 'LabelsInColumn'], required: true })
40
+ csvStyle: core_1.Flags.string({ options: ['NameAndLabel', 'LabelsInColumn'], required: true }),
37
41
  };
38
42
  ParseOptionSetsLocalFiles.args = {
39
43
  file: core_1.Args.string({ description: 'File to parse', required: true }),
@@ -43,25 +47,25 @@ async function ParseOptionSetsToFolderStructure(args) {
43
47
  if ((args === null || args === void 0 ? void 0 : args.length) < 4) {
44
48
  throw new Error('File name must be included.');
45
49
  }
46
- console.log('%s Importing local file', chalk_1.default.yellow.bold('OPTION SET PARSE'));
50
+ logger_1.default.info('%s Importing local file', chalk_1.default.yellow.bold('OPTION SET PARSE'));
47
51
  const fileLocation = args.file;
48
- console.log('Using File: ', fileLocation);
52
+ logger_1.default.info('Using File: ', fileLocation);
49
53
  await parseOptionSetsToFolderStructure(fileLocation);
50
- console.log('%s Parsed', chalk_1.default.yellow.bold('OPTION SET PARSE'));
54
+ logger_1.default.info('%s Parsed', chalk_1.default.yellow.bold('OPTION SET PARSE'));
51
55
  }
52
56
  catch (e) {
53
- console.log(`%s PARSE Failed. ${e}`, chalk_1.default.red.bold('FAIL'));
57
+ logger_1.default.info(`%s PARSE Failed. ${e}`, chalk_1.default.red.bold('FAIL'));
54
58
  return;
55
59
  }
56
- console.log('%s PARSE Complete.', chalk_1.default.green.bold('COMPLETE'));
60
+ logger_1.default.info('%s PARSE Complete.', chalk_1.default.green.bold('COMPLETE'));
57
61
  }
58
62
  exports.ParseOptionSetsToFolderStructure = ParseOptionSetsToFolderStructure;
59
63
  async function loadOptionSetCSV(fileLocation) {
60
64
  const TARGET_DIR = process.cwd();
61
65
  try {
62
66
  const fullPath = path.resolve(path.join(TARGET_DIR, fileLocation));
63
- console.log('Getting file from path: ', fullPath);
64
- return await csv().fromFile(fullPath);
67
+ logger_1.default.info('Getting file from path: ', fullPath);
68
+ return await (0, csvtojson_1.default)().fromFile(fullPath);
65
69
  }
66
70
  catch (e) {
67
71
  throw new Error(`ERROR PARSING CSV: ${e}`);
@@ -71,8 +75,8 @@ function loadOptionSets(fileLocation) {
71
75
  const TARGET_DIR = process.cwd();
72
76
  try {
73
77
  const fullPath = path.resolve(path.join(TARGET_DIR, fileLocation));
74
- console.log('Getting file from path: ', fullPath);
75
- const doc = yaml.load(fs_1.default.readFileSync(fullPath, 'utf8'));
78
+ logger_1.default.info('Getting file from path: ', fullPath);
79
+ const doc = js_yaml_1.default.load(fs_1.default.readFileSync(fullPath, 'utf8'));
76
80
  return doc;
77
81
  }
78
82
  catch (e) {
@@ -95,7 +99,7 @@ async function parseOptionSetsToFolderStructure(fileLocation) {
95
99
  saveDataInFolders(uploadedOptionData);
96
100
  }
97
101
  function saveData(data) {
98
- const yamlStr = yaml.dump(data);
102
+ const yamlStr = js_yaml_1.default.dump(data);
99
103
  const CURRENT_DIR = process.cwd();
100
104
  fs_1.default.writeFileSync(path.resolve(path.join(CURRENT_DIR, 'parsed_local_optionSets.yml')), yamlStr, 'utf8');
101
105
  }
@@ -108,18 +112,14 @@ function saveDataInFolders(data) {
108
112
  fs_1.default.mkdirSync(subDir, { recursive: true });
109
113
  }
110
114
  for (const item of data) {
111
- const yamlStr = yaml.dump(item);
115
+ const yamlStr = js_yaml_1.default.dump(item);
112
116
  const fileLabel = item[folder.fileLabel];
113
117
  if (!fileLabel) {
114
- console.warn('skipping bad data:', item);
118
+ logger_1.default.warn('skipping bad data:', item);
115
119
  }
116
- fs_1.default.writeFileSync(path.join(subDir, `${removeSlash(fileLabel)}.yml`), yamlStr, 'utf8');
120
+ fs_1.default.writeFileSync(path.join(subDir, `${(0, common_1.removeSlash)(fileLabel)}.yml`), yamlStr, 'utf8');
117
121
  }
118
122
  }
119
- function removeSlash(string) {
120
- const re = /\//gi;
121
- return string.replace(re, '-');
122
- }
123
123
  function parseLabelsInColumn(uploadedOptionData) {
124
124
  const optionSets = [];
125
125
  const optionSetNames = Object.keys(uploadedOptionData[0]);
@@ -1,5 +1,5 @@
1
- import { Command } from '@oclif/core';
2
- export default class ParseOptionSetsToFolderStructure extends Command {
1
+ import { BaseCommand } from '../basecommand';
2
+ export default class ParseOptionSetsToFolderStructure extends BaseCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static args: {
@@ -6,23 +6,26 @@ const path = tslib_1.__importStar(require("path"));
6
6
  const fs_1 = tslib_1.__importDefault(require("fs"));
7
7
  const util_1 = require("@contrail/util");
8
8
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
9
- const csv = require('csvtojson');
10
- const yaml = require('js-yaml');
9
+ const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
11
10
  const core_1 = require("@oclif/core");
12
- class ParseOptionSetsToFolderStructure extends core_1.Command {
11
+ const basecommand_1 = require("../basecommand");
12
+ const logger_1 = tslib_1.__importDefault(require("../../logger"));
13
+ const common_1 = require("../../common");
14
+ class ParseOptionSetsToFolderStructure extends basecommand_1.BaseCommand {
13
15
  async run() {
14
- const { args } = await this.parse(ParseOptionSetsToFolderStructure);
16
+ const { args, flags } = await this.parse(ParseOptionSetsToFolderStructure);
17
+ await super.setLogLevel(flags.logLevel);
15
18
  try {
16
- console.log('%s Importing local file', chalk_1.default.yellow.bold('OPTION SET PARSE'));
17
- console.log('Using File: ', args.file);
19
+ logger_1.default.info('%s Importing local file', chalk_1.default.yellow.bold('OPTION SET PARSE'));
20
+ logger_1.default.info('Using File: ', args.file);
18
21
  await parseOptionSetsToFolderStructure(args.file);
19
- console.log('%s Parsed', chalk_1.default.yellow.bold('OPTION SET PARSE'));
22
+ logger_1.default.info('%s Parsed', chalk_1.default.yellow.bold('OPTION SET PARSE'));
20
23
  }
21
24
  catch (e) {
22
- console.log(`%s PARSE Failed. ${e}`, chalk_1.default.red.bold('FAIL'));
25
+ logger_1.default.info(`%s PARSE Failed. ${e}`, chalk_1.default.red.bold('FAIL'));
23
26
  return;
24
27
  }
25
- console.log('%s PARSE Complete.', chalk_1.default.green.bold('COMPLETE'));
28
+ logger_1.default.info('%s PARSE Complete.', chalk_1.default.green.bold('COMPLETE'));
26
29
  }
27
30
  }
28
31
  exports.default = ParseOptionSetsToFolderStructure;
@@ -38,8 +41,8 @@ function loadOptionSets(fileLocation) {
38
41
  const TARGET_DIR = process.cwd();
39
42
  try {
40
43
  const fullPath = path.resolve(path.join(TARGET_DIR, fileLocation));
41
- console.log('Getting file from path: ', fullPath);
42
- const doc = yaml.load(fs_1.default.readFileSync(fullPath, 'utf8'));
44
+ logger_1.default.info('Getting file from path: ', fullPath);
45
+ const doc = js_yaml_1.default.load(fs_1.default.readFileSync(fullPath, 'utf8'));
43
46
  return doc;
44
47
  }
45
48
  catch (e) {
@@ -59,18 +62,14 @@ function saveDataInFolders(data) {
59
62
  fs_1.default.mkdirSync(subDir, { recursive: true });
60
63
  }
61
64
  for (const item of data) {
62
- const yamlStr = yaml.dump(item);
65
+ const yamlStr = js_yaml_1.default.dump(item);
63
66
  const fileLabel = item[folder.fileLabel];
64
67
  if (!fileLabel) {
65
- console.warn('skipping bad data:', item);
68
+ logger_1.default.warn('skipping bad data:', item);
66
69
  }
67
- fs_1.default.writeFileSync(path.join(subDir, `${removeSlash(fileLabel)}.yml`), yamlStr, 'utf8');
70
+ fs_1.default.writeFileSync(path.join(subDir, `${(0, common_1.removeSlash)(fileLabel)}.yml`), yamlStr, 'utf8');
68
71
  }
69
72
  }
70
- function removeSlash(string) {
71
- const re = /\//gi;
72
- return string.replace(re, '-');
73
- }
74
73
  function parseLabelsInColumn(uploadedOptionData) {
75
74
  const optionSets = [];
76
75
  const optionSetNames = Object.keys(uploadedOptionData[0]);
@@ -1,5 +1,5 @@
1
- import { Command } from '@oclif/core';
2
- export default class ParseTypesFromFiles extends Command {
1
+ import { BaseCommand } from '../basecommand';
2
+ export default class ParseTypesFromFiles extends BaseCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static strict: boolean;
@@ -4,21 +4,24 @@ const tslib_1 = require("tslib");
4
4
  const core_1 = require("@oclif/core");
5
5
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
6
6
  const type_parser_1 = require("../../helpers/types/type-parser");
7
- class ParseTypesFromFiles extends core_1.Command {
7
+ const basecommand_1 = require("../basecommand");
8
+ const logger_1 = tslib_1.__importDefault(require("../../logger"));
9
+ class ParseTypesFromFiles extends basecommand_1.BaseCommand {
8
10
  async run() {
9
- const { argv } = await this.parse(ParseTypesFromFiles);
11
+ const { argv, flags } = await this.parse(ParseTypesFromFiles);
12
+ await super.setLogLevel(flags.logLevel);
10
13
  try {
11
- console.log('%s Parsing', chalk_1.default.yellow.bold('TYPES AND OPTION SETS'));
14
+ logger_1.default.info('%s Parsing', chalk_1.default.yellow.bold('TYPES AND OPTION SETS'));
12
15
  const fileIds = argv;
13
- console.log('Using FileId(s): ', fileIds);
16
+ logger_1.default.info('Using FileId(s): ', fileIds);
14
17
  await (0, type_parser_1.parseTypesFromFiles)(fileIds);
15
- console.log('%s Parsed', chalk_1.default.yellow.bold('TYPES AND OPTION SETS'));
18
+ logger_1.default.info('%s Parsed', chalk_1.default.yellow.bold('TYPES AND OPTION SETS'));
16
19
  }
17
20
  catch (e) {
18
- console.log(`%s Parsing Failed. ${e}`, chalk_1.default.red.bold('FAIL'));
21
+ logger_1.default.info(`%s Parsing Failed. ${e}`, chalk_1.default.red.bold('FAIL'));
19
22
  return;
20
23
  }
21
- console.log('%s Parsing Complete.', chalk_1.default.green.bold('COMPLETE'));
24
+ logger_1.default.info('%s Parsing Complete.', chalk_1.default.green.bold('COMPLETE'));
22
25
  }
23
26
  }
24
27
  exports.default = ParseTypesFromFiles;
@@ -30,5 +33,8 @@ ParseTypesFromFiles.examples = [
30
33
  // variable argument length
31
34
  ParseTypesFromFiles.strict = false;
32
35
  ParseTypesFromFiles.args = {
33
- typePaths: core_1.Args.string({ description: 'A list of the VibeIQ file IDs to parse', required: true }),
36
+ typePaths: core_1.Args.string({
37
+ description: 'A list of the VibeIQ file IDs to parse',
38
+ required: true,
39
+ }),
34
40
  };
@@ -1,5 +1,5 @@
1
- import { Command } from '@oclif/core';
2
- export default class ParseTypesFromLocalFiles extends Command {
1
+ import { BaseCommand } from '../basecommand';
2
+ export default class ParseTypesFromLocalFiles extends BaseCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static strict: boolean;
@@ -4,21 +4,24 @@ const tslib_1 = require("tslib");
4
4
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
5
5
  const core_1 = require("@oclif/core");
6
6
  const type_parser_1 = require("../../helpers/types/type-parser");
7
- class ParseTypesFromLocalFiles extends core_1.Command {
7
+ const basecommand_1 = require("../basecommand");
8
+ const logger_1 = tslib_1.__importDefault(require("../../logger"));
9
+ class ParseTypesFromLocalFiles extends basecommand_1.BaseCommand {
8
10
  async run() {
9
- const { argv } = await this.parse(ParseTypesFromLocalFiles);
11
+ const { argv, flags } = await this.parse(ParseTypesFromLocalFiles);
12
+ await super.setLogLevel(flags.logLevel);
10
13
  try {
11
- console.log('%s Parsing', chalk_1.default.yellow.bold('TYPES AND OPTION SETS'));
14
+ logger_1.default.info('%s Parsing', chalk_1.default.yellow.bold('TYPES AND OPTION SETS'));
12
15
  const fileLocations = argv;
13
- console.log('Using File Location(s): ', fileLocations);
16
+ logger_1.default.info('Using File Location(s): ', fileLocations);
14
17
  await (0, type_parser_1.parseTypesFromLocalFiles)(fileLocations);
15
- console.log('%s Parsed', chalk_1.default.yellow.bold('TYPES AND OPTION SETS'));
18
+ logger_1.default.info('%s Parsed', chalk_1.default.yellow.bold('TYPES AND OPTION SETS'));
16
19
  }
17
20
  catch (e) {
18
- console.log(`%s Parsing Failed. ${e}`, chalk_1.default.red.bold('FAIL'));
21
+ logger_1.default.info(`%s Parsing Failed. ${e}`, chalk_1.default.red.bold('FAIL'));
19
22
  return;
20
23
  }
21
- console.log('%s Parsing Complete.', chalk_1.default.green.bold('COMPLETE'));
24
+ logger_1.default.info('%s Parsing Complete.', chalk_1.default.green.bold('COMPLETE'));
22
25
  }
23
26
  }
24
27
  exports.default = ParseTypesFromLocalFiles;
@@ -1,5 +1,5 @@
1
- import { Command } from '@oclif/core';
2
- export default class ParseTypesFromTemplateAndDataFromLocalFiles extends Command {
1
+ import { BaseCommand } from '../basecommand';
2
+ export default class ParseTypesFromTemplateAndDataFromLocalFiles extends BaseCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static strict: boolean;
@@ -4,23 +4,26 @@ const tslib_1 = require("tslib");
4
4
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
5
5
  const core_1 = require("@oclif/core");
6
6
  const type_parser_1 = require("../../helpers/types/type-parser");
7
- class ParseTypesFromTemplateAndDataFromLocalFiles extends core_1.Command {
7
+ const basecommand_1 = require("../basecommand");
8
+ const logger_1 = tslib_1.__importDefault(require("../../logger"));
9
+ class ParseTypesFromTemplateAndDataFromLocalFiles extends basecommand_1.BaseCommand {
8
10
  async run() {
9
- const { args, argv } = await this.parse(ParseTypesFromTemplateAndDataFromLocalFiles);
11
+ const { args, argv, flags } = await this.parse(ParseTypesFromTemplateAndDataFromLocalFiles);
12
+ await super.setLogLevel(flags.logLevel);
10
13
  try {
11
- console.log('%s Parsing', chalk_1.default.yellow.bold('TYPES AND OPTION SETS'));
14
+ logger_1.default.info('%s Parsing', chalk_1.default.yellow.bold('TYPES AND OPTION SETS'));
12
15
  const templateFileLocation = args.templateFile;
13
16
  const dataFileLocations = argv.slice(1);
14
- console.log('Using Template File Location: ', templateFileLocation);
15
- console.log('Using Data File Location: ', dataFileLocations);
17
+ logger_1.default.info('Using Template File Location: ', templateFileLocation);
18
+ logger_1.default.info('Using Data File Location: ', dataFileLocations);
16
19
  await (0, type_parser_1.parseTypesFromTemplateAndDataFromLocalFiles)(templateFileLocation, dataFileLocations);
17
- console.log('%s Parsed', chalk_1.default.yellow.bold('TYPES AND OPTION SETS'));
20
+ logger_1.default.info('%s Parsed', chalk_1.default.yellow.bold('TYPES AND OPTION SETS'));
18
21
  }
19
22
  catch (e) {
20
- console.log(`%s Parsing Failed. ${e}`, chalk_1.default.red.bold('FAIL'));
23
+ logger_1.default.info(`%s Parsing Failed. ${e}`, chalk_1.default.red.bold('FAIL'));
21
24
  return;
22
25
  }
23
- console.log('%s Parsing Complete.', chalk_1.default.green.bold('COMPLETE'));
26
+ logger_1.default.info('%s Parsing Complete.', chalk_1.default.green.bold('COMPLETE'));
24
27
  }
25
28
  }
26
29
  exports.default = ParseTypesFromTemplateAndDataFromLocalFiles;
@@ -1,5 +1,5 @@
1
- import { Command } from '@oclif/core';
2
- export default class ParseTypesFromTemplateFromLocalFiles extends Command {
1
+ import { BaseCommand } from '../basecommand';
2
+ export default class ParseTypesFromTemplateFromLocalFiles extends BaseCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static args: {
@@ -4,23 +4,26 @@ const tslib_1 = require("tslib");
4
4
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
5
5
  const core_1 = require("@oclif/core");
6
6
  const type_parser_1 = require("../../helpers/types/type-parser");
7
- class ParseTypesFromTemplateFromLocalFiles extends core_1.Command {
7
+ const basecommand_1 = require("../basecommand");
8
+ const logger_1 = tslib_1.__importDefault(require("../../logger"));
9
+ class ParseTypesFromTemplateFromLocalFiles extends basecommand_1.BaseCommand {
8
10
  async run() {
9
- const { args, } = await this.parse(ParseTypesFromTemplateFromLocalFiles);
11
+ const { args, flags } = await this.parse(ParseTypesFromTemplateFromLocalFiles);
12
+ await super.setLogLevel(flags.logLevel);
10
13
  try {
11
- console.log('%s Parsing', chalk_1.default.yellow.bold('TYPES AND OPTION SETS'));
14
+ logger_1.default.info('%s Parsing', chalk_1.default.yellow.bold('TYPES AND OPTION SETS'));
12
15
  const templateFileLocation = args.templateFile;
13
16
  const dataFileLocation = args.filePath;
14
- console.log('Using Template File Location: ', templateFileLocation);
15
- console.log('Using Data File Location: ', dataFileLocation);
17
+ logger_1.default.info('Using Template File Location: ', templateFileLocation);
18
+ logger_1.default.info('Using Data File Location: ', dataFileLocation);
16
19
  await (0, type_parser_1.parseTypesFromTemplateFromLocalFiles)(templateFileLocation, dataFileLocation);
17
- console.log('%s Parsed', chalk_1.default.yellow.bold('TYPES AND OPTION SETS'));
20
+ logger_1.default.info('%s Parsed', chalk_1.default.yellow.bold('TYPES AND OPTION SETS'));
18
21
  }
19
22
  catch (e) {
20
- console.log(`%s Parsing Failed. ${e}`, chalk_1.default.red.bold('FAIL'));
23
+ logger_1.default.info(`%s Parsing Failed. ${e}`, chalk_1.default.red.bold('FAIL'));
21
24
  return;
22
25
  }
23
- console.log('%s Parsing Complete.', chalk_1.default.green.bold('COMPLETE'));
26
+ logger_1.default.info('%s Parsing Complete.', chalk_1.default.green.bold('COMPLETE'));
24
27
  }
25
28
  }
26
29
  exports.default = ParseTypesFromTemplateFromLocalFiles;
@@ -1,5 +1,5 @@
1
- import { Command } from '@oclif/core';
2
- export default class UploadOptionSetHierarchies extends Command {
1
+ import { BaseCommand } from '../basecommand';
2
+ export default class UploadOptionSetHierarchies extends BaseCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {