contensis-cli 1.3.1-beta.0 → 1.3.1-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.
Files changed (90) hide show
  1. package/README.md +1 -1
  2. package/dist/commands/copy.js.map +1 -1
  3. package/dist/commands/create.js +1 -2
  4. package/dist/commands/create.js.map +1 -1
  5. package/dist/commands/globalOptions.js +3 -0
  6. package/dist/commands/globalOptions.js.map +1 -1
  7. package/dist/commands/index.js +0 -2
  8. package/dist/commands/index.js.map +1 -1
  9. package/dist/commands/list.js.map +1 -1
  10. package/dist/commands/login.js +1 -2
  11. package/dist/commands/login.js.map +1 -1
  12. package/dist/commands/push.js +13 -10
  13. package/dist/commands/push.js.map +1 -1
  14. package/dist/commands/remove.js +2 -4
  15. package/dist/commands/remove.js.map +1 -1
  16. package/dist/commands/set.js +2 -4
  17. package/dist/commands/set.js.map +1 -1
  18. package/dist/factories/RequestHandlerFactory.js +12 -5
  19. package/dist/factories/RequestHandlerFactory.js.map +2 -2
  20. package/dist/index.js +4 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/localisation/en-GB.js +8 -1
  23. package/dist/localisation/en-GB.js.map +1 -1
  24. package/dist/mappers/ContensisCliService-to-RequestHanderSiteConfigYaml.js.map +1 -1
  25. package/dist/mappers/DevInit-to-CIWorkflow.js +11 -6
  26. package/dist/mappers/DevInit-to-CIWorkflow.js.map +1 -1
  27. package/dist/mappers/DevRequests-to-RequestHanderCliArgs.js +4 -2
  28. package/dist/mappers/DevRequests-to-RequestHanderCliArgs.js.map +1 -1
  29. package/dist/providers/CredentialProvider.js +11 -4
  30. package/dist/providers/CredentialProvider.js.map +1 -1
  31. package/dist/providers/GitHubCliModuleProvider.js +8 -10
  32. package/dist/providers/GitHubCliModuleProvider.js.map +1 -1
  33. package/dist/providers/HttpProvider.js +5 -4
  34. package/dist/providers/HttpProvider.js.map +1 -1
  35. package/dist/providers/ManifestProvider.js +1 -4
  36. package/dist/providers/ManifestProvider.js.map +1 -1
  37. package/dist/providers/SessionCacheProvider.js +8 -8
  38. package/dist/providers/SessionCacheProvider.js.map +1 -1
  39. package/dist/providers/file-provider.js +13 -11
  40. package/dist/providers/file-provider.js.map +1 -1
  41. package/dist/services/ContensisAuthService.js +1 -2
  42. package/dist/services/ContensisAuthService.js.map +1 -1
  43. package/dist/services/ContensisCliService.js +67 -94
  44. package/dist/services/ContensisCliService.js.map +2 -2
  45. package/dist/services/ContensisDevService.js +15 -18
  46. package/dist/services/ContensisDevService.js.map +2 -2
  47. package/dist/services/ContensisRoleService.js +8 -10
  48. package/dist/services/ContensisRoleService.js.map +1 -1
  49. package/dist/shell.js +10 -6
  50. package/dist/shell.js.map +1 -1
  51. package/dist/util/api-ids.js.map +1 -1
  52. package/dist/util/console.printer.js +12 -16
  53. package/dist/util/console.printer.js.map +1 -1
  54. package/dist/util/csv.formatter.js +8 -15
  55. package/dist/util/csv.formatter.js.map +2 -2
  56. package/dist/util/diff.js +6 -4
  57. package/dist/util/diff.js.map +1 -1
  58. package/dist/util/dotenv.js +1 -2
  59. package/dist/util/dotenv.js.map +1 -1
  60. package/dist/util/error.js.map +1 -1
  61. package/dist/util/fetch.js +4 -0
  62. package/dist/util/fetch.js.map +1 -1
  63. package/dist/util/git.js +8 -8
  64. package/dist/util/git.js.map +1 -1
  65. package/dist/util/gitignore.js +4 -0
  66. package/dist/util/gitignore.js.map +1 -1
  67. package/dist/util/index.js +5 -1
  68. package/dist/util/index.js.map +2 -2
  69. package/dist/util/json.formatter.js +6 -4
  70. package/dist/util/json.formatter.js.map +1 -1
  71. package/dist/util/logger.js +45 -50
  72. package/dist/util/logger.js.map +2 -2
  73. package/dist/util/os.js +4 -0
  74. package/dist/util/os.js.map +1 -1
  75. package/dist/util/xml.formatter.js +4 -0
  76. package/dist/util/xml.formatter.js.map +1 -1
  77. package/dist/util/yaml.js +1 -2
  78. package/dist/util/yaml.js.map +1 -1
  79. package/dist/version.js +1 -1
  80. package/dist/version.js.map +1 -1
  81. package/esbuild.config.js +10 -14
  82. package/package.json +5 -5
  83. package/src/factories/RequestHandlerFactory.ts +1 -1
  84. package/src/services/ContensisCliService.ts +78 -91
  85. package/src/services/ContensisDevService.ts +2 -2
  86. package/src/util/csv.formatter.ts +1 -1
  87. package/src/util/index.ts +1 -1
  88. package/src/util/logger.ts +15 -14
  89. package/src/version.ts +1 -1
  90. package/tsconfig.json +1 -1
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/providers/SessionCacheProvider.ts"],
4
4
  "sourcesContent": ["import fs from 'fs';\nimport path from 'path';\nimport clone from 'lodash/cloneDeep';\nimport mergeWith from 'lodash/mergeWith';\nimport unionBy from 'lodash/unionBy';\nimport { appRootDir } from './file-provider';\nimport { isJson, tryParse } from '~/util';\nimport { Logger } from '~/util/logger';\n\nclass SessionCacheProvider {\n private localFilePath: string;\n private cache = {} as SessionCache;\n\n constructor() {\n this.localFilePath = path.join(appRootDir, 'environments.json');\n this.cache = {\n currentTimestamp: new Date().toISOString(),\n environments: {},\n history: [],\n };\n this.ReadCacheFromDisk();\n }\n\n private ReadCacheFromDisk = () => {\n try {\n if (fs.existsSync(this.localFilePath)) {\n const raw = fs.readFileSync(this.localFilePath, 'utf-8');\n if (isJson(raw)) this.cache = tryParse(raw);\n } else {\n this.WriteCacheToDisk();\n }\n } catch (ex) {\n // Problem reading or parsing cache file\n }\n };\n\n private WriteCacheToDisk = () => {\n try {\n fs.writeFileSync(this.localFilePath, JSON.stringify(this.cache, null, 2));\n } catch (ex) {\n // Problem writing session cache to file\n }\n };\n\n Get = () => clone(this.cache);\n\n Update = (updateContent: Partial<SessionCache>) => {\n try {\n this.cache = mergeWith(this.cache, updateContent, (val, src, key) => {\n if (\n key === 'history' &&\n ((src?.[0] &&\n typeof src[0] === 'object' &&\n 'createdDate' in src[0]) ||\n (val?.[0] && typeof val[0] === 'object' && 'createdDate' in val[0]))\n ) {\n return unionBy(val, src, 'createdDate');\n }\n if (key === 'projects')\n return Array.isArray(val) ? [...new Set([...val, ...src])] : src;\n\n if (Array.isArray(val)) return val.concat(src);\n });\n this.cache.currentTimestamp = new Date().toISOString();\n this.WriteCacheToDisk();\n } catch (ex: any) {\n // Problem merging cache data for update\n Logger.error(`Problem updating environments.json`);\n Logger.error(ex);\n }\n return this.Get();\n };\n\n UpdateEnv = (\n updateContent: Partial<EnvironmentCache>,\n env = this.cache.currentEnvironment,\n setCurrentEnv = true\n ) => {\n try {\n const environment = this.cache.environments[env || ''];\n\n this.cache.environments[env || ''] = {\n ...environment,\n ...updateContent,\n };\n this.Update({\n currentEnvironment: setCurrentEnv ? env : this.cache.currentEnvironment,\n environments: this.cache.environments,\n });\n } catch (ex: any) {\n // Problem merging cache data for update\n Logger.error(\n `Problem updating environment \"${env}\" in environments.json`\n );\n Logger.error(ex);\n }\n return this.Get();\n };\n}\n\nexport default SessionCacheProvider;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAe;AACf,kBAAiB;AACjB,uBAAkB;AAClB,uBAAsB;AACtB,qBAAoB;AACpB,2BAA2B;AAC3B,kBAAiC;AACjC,oBAAuB;AAEvB,MAAM,qBAAqB;AAAA,EACjB;AAAA,EACA,QAAQ,CAAC;AAAA,EAEjB,cAAc;AACZ,SAAK,gBAAgB,YAAAA,QAAK,KAAK,iCAAY,mBAAmB;AAC9D,SAAK,QAAQ;AAAA,MACX,kBAAkB,IAAI,KAAK,EAAE,YAAY;AAAA,MACzC,cAAc,CAAC;AAAA,MACf,SAAS,CAAC;AAAA,IACZ;AACA,SAAK,kBAAkB;AAAA,EACzB;AAAA,EAEQ,oBAAoB,MAAM;AAChC,QAAI;AACF,UAAI,UAAAC,QAAG,WAAW,KAAK,aAAa,GAAG;AACrC,cAAM,MAAM,UAAAA,QAAG,aAAa,KAAK,eAAe,OAAO;AACvD,gBAAI,oBAAO,GAAG;AAAG,eAAK,YAAQ,sBAAS,GAAG;AAAA,MAC5C,OAAO;AACL,aAAK,iBAAiB;AAAA,MACxB;AAAA,IACF,SAAS,IAAP;AAAA,IAEF;AAAA,EACF;AAAA,EAEQ,mBAAmB,MAAM;AAC/B,QAAI;AACF,gBAAAA,QAAG,cAAc,KAAK,eAAe,KAAK,UAAU,KAAK,OAAO,MAAM,CAAC,CAAC;AAAA,IAC1E,SAAS,IAAP;AAAA,IAEF;AAAA,EACF;AAAA,EAEA,MAAM,UAAM,iBAAAC,SAAM,KAAK,KAAK;AAAA,EAE5B,SAAS,CAAC,kBAAyC;AACjD,QAAI;AACF,WAAK,YAAQ,iBAAAC,SAAU,KAAK,OAAO,eAAe,CAAC,KAAK,KAAK,QAAQ;AACnE,YACE,QAAQ,eACN,2BAAM,OACN,OAAO,IAAI,OAAO,YAClB,iBAAiB,IAAI,OACpB,2BAAM,OAAM,OAAO,IAAI,OAAO,YAAY,iBAAiB,IAAI,KAClE;AACA,qBAAO,eAAAC,SAAQ,KAAK,KAAK,aAAa;AAAA,QACxC;AACA,YAAI,QAAQ;AACV,iBAAO,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI;AAE/D,YAAI,MAAM,QAAQ,GAAG;AAAG,iBAAO,IAAI,OAAO,GAAG;AAAA,MAC/C,CAAC;AACD,WAAK,MAAM,mBAAmB,IAAI,KAAK,EAAE,YAAY;AACrD,WAAK,iBAAiB;AAAA,IACxB,SAAS,IAAP;AAEA,2BAAO,MAAM,oCAAoC;AACjD,2BAAO,MAAM,EAAE;AAAA,IACjB;AACA,WAAO,KAAK,IAAI;AAAA,EAClB;AAAA,EAEA,YAAY,CACV,eACA,MAAM,KAAK,MAAM,oBACjB,gBAAgB,SACb;AACH,QAAI;AACF,YAAM,cAAc,KAAK,MAAM,aAAa,OAAO;AAEnD,WAAK,MAAM,aAAa,OAAO,MAAM;AAAA,QACnC,GAAG;AAAA,QACH,GAAG;AAAA,MACL;AACA,WAAK,OAAO;AAAA,QACV,oBAAoB,gBAAgB,MAAM,KAAK,MAAM;AAAA,QACrD,cAAc,KAAK,MAAM;AAAA,MAC3B,CAAC;AAAA,IACH,SAAS,IAAP;AAEA,2BAAO;AAAA,QACL,iCAAiC;AAAA,MACnC;AACA,2BAAO,MAAM,EAAE;AAAA,IACjB;AACA,WAAO,KAAK,IAAI;AAAA,EAClB;AACF;AAEA,IAAO,+BAAQ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAe;AACf,kBAAiB;AACjB,uBAAkB;AAClB,uBAAsB;AACtB,qBAAoB;AACpB,2BAA2B;AAC3B,kBAAiC;AACjC,oBAAuB;AAEvB,MAAM,qBAAqB;AAAA,EACjB;AAAA,EACA,QAAQ,CAAC;AAAA,EAEjB,cAAc;AACZ,SAAK,gBAAgB,YAAAA,QAAK,KAAK,iCAAY,mBAAmB;AAC9D,SAAK,QAAQ;AAAA,MACX,mBAAkB,oBAAI,KAAK,GAAE,YAAY;AAAA,MACzC,cAAc,CAAC;AAAA,MACf,SAAS,CAAC;AAAA,IACZ;AACA,SAAK,kBAAkB;AAAA,EACzB;AAAA,EAEQ,oBAAoB,MAAM;AAChC,QAAI;AACF,UAAI,UAAAC,QAAG,WAAW,KAAK,aAAa,GAAG;AACrC,cAAM,MAAM,UAAAA,QAAG,aAAa,KAAK,eAAe,OAAO;AACvD,gBAAI,oBAAO,GAAG,EAAG,MAAK,YAAQ,sBAAS,GAAG;AAAA,MAC5C,OAAO;AACL,aAAK,iBAAiB;AAAA,MACxB;AAAA,IACF,SAAS,IAAI;AAAA,IAEb;AAAA,EACF;AAAA,EAEQ,mBAAmB,MAAM;AAC/B,QAAI;AACF,gBAAAA,QAAG,cAAc,KAAK,eAAe,KAAK,UAAU,KAAK,OAAO,MAAM,CAAC,CAAC;AAAA,IAC1E,SAAS,IAAI;AAAA,IAEb;AAAA,EACF;AAAA,EAEA,MAAM,UAAM,iBAAAC,SAAM,KAAK,KAAK;AAAA,EAE5B,SAAS,CAAC,kBAAyC;AACjD,QAAI;AACF,WAAK,YAAQ,iBAAAC,SAAU,KAAK,OAAO,eAAe,CAAC,KAAK,KAAK,QAAQ;AACnE,YACE,QAAQ,eACN,2BAAM,OACN,OAAO,IAAI,CAAC,MAAM,YAClB,iBAAiB,IAAI,CAAC,MACrB,2BAAM,OAAM,OAAO,IAAI,CAAC,MAAM,YAAY,iBAAiB,IAAI,CAAC,IACnE;AACA,qBAAO,eAAAC,SAAQ,KAAK,KAAK,aAAa;AAAA,QACxC;AACA,YAAI,QAAQ;AACV,iBAAO,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI;AAE/D,YAAI,MAAM,QAAQ,GAAG,EAAG,QAAO,IAAI,OAAO,GAAG;AAAA,MAC/C,CAAC;AACD,WAAK,MAAM,oBAAmB,oBAAI,KAAK,GAAE,YAAY;AACrD,WAAK,iBAAiB;AAAA,IACxB,SAAS,IAAS;AAEhB,2BAAO,MAAM,oCAAoC;AACjD,2BAAO,MAAM,EAAE;AAAA,IACjB;AACA,WAAO,KAAK,IAAI;AAAA,EAClB;AAAA,EAEA,YAAY,CACV,eACA,MAAM,KAAK,MAAM,oBACjB,gBAAgB,SACb;AACH,QAAI;AACF,YAAM,cAAc,KAAK,MAAM,aAAa,OAAO,EAAE;AAErD,WAAK,MAAM,aAAa,OAAO,EAAE,IAAI;AAAA,QACnC,GAAG;AAAA,QACH,GAAG;AAAA,MACL;AACA,WAAK,OAAO;AAAA,QACV,oBAAoB,gBAAgB,MAAM,KAAK,MAAM;AAAA,QACrD,cAAc,KAAK,MAAM;AAAA,MAC3B,CAAC;AAAA,IACH,SAAS,IAAS;AAEhB,2BAAO;AAAA,QACL,iCAAiC,GAAG;AAAA,MACtC;AACA,2BAAO,MAAM,EAAE;AAAA,IACjB;AACA,WAAO,KAAK,IAAI;AAAA,EAClB;AACF;AAEA,IAAO,+BAAQ;",
6
6
  "names": ["path", "fs", "clone", "mergeWith", "unionBy"]
7
7
  }
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  return to;
19
19
  };
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -114,28 +118,26 @@ const checkDir = (filePath) => {
114
118
  const appPath = (filePath) => import_path.default.isAbsolute(filePath) ? filePath : import_path.default.join(appRootDir, filePath);
115
119
  const cwdPath = (filePath) => import_path.default.isAbsolute(filePath) ? filePath : import_path.default.join(process.cwd(), filePath);
116
120
  const joinPath = import_path.default.join;
117
- const addExecutePermission = (filePath) => import_fs.default.chmodSync(filePath, import_fs.default.constants.S_IRWXU);
121
+ const addExecutePermission = (filePath) => (
122
+ // Fails in windows with `TypeError [ERR_INVALID_ARG_TYPE]: The "mode" argument must be of type number. Received undefined`
123
+ import_fs.default.chmodSync(filePath, import_fs.default.constants.S_IRWXU)
124
+ );
118
125
  const detectFileType = (fromFile) => {
119
126
  const fileData = readFile(fromFile);
120
- if (!fileData)
121
- throw new Error(`Unable to read file at ${fromFile}`);
127
+ if (!fileData) throw new Error(`Unable to read file at ${fromFile}`);
122
128
  try {
123
- if (fileData.startsWith("<"))
124
- return { contents: fileData, type: "xml" };
129
+ if (fileData.startsWith("<")) return { contents: fileData, type: "xml" };
125
130
  const jsonData = (0, import_util.tryParse)(fileData);
126
- if (jsonData)
127
- return { contents: jsonData, type: "json" };
131
+ if (jsonData) return { contents: jsonData, type: "json" };
128
132
  const csv = (0, import_csv.detectCsv)(fileData);
129
- if (csv)
130
- return { contents: fileData, type: "csv" };
133
+ if (csv) return { contents: fileData, type: "csv" };
131
134
  } catch (ex) {
132
135
  import_logger.Logger.error(`Problem detecting file type ${fromFile}`, ex);
133
136
  }
134
137
  };
135
138
  const readFileAsJSON = async (fromFile) => {
136
139
  const detectedFile = detectFileType(cwdPath(fromFile));
137
- if (!detectedFile)
138
- return void 0;
140
+ if (!detectedFile) return void 0;
139
141
  try {
140
142
  switch (detectedFile.type) {
141
143
  case "csv": {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/providers/file-provider.ts"],
4
4
  "sourcesContent": ["import fs from 'fs';\nimport { homedir } from 'os';\nimport path from 'path';\nimport { tryParse } from '~/util';\nimport { csvToJson, detectCsv } from '~/util/csv.formatter';\nimport { unflattenObject } from '~/util/json.formatter';\nimport { Logger } from '~/util/logger';\nimport { xmlToJson } from '~/util/xml.formatter';\n\nconst userHomeDir = homedir();\n\nexport const appRootDir =\n process.env.CONTAINER_CONTEXT === 'true'\n ? process.cwd()\n : path.join(userHomeDir, '.contensis/');\n\nexport const readFile = (filePath: string) => {\n const directoryPath = appPath(filePath);\n if (fs.existsSync(directoryPath)) {\n const file = fs.readFileSync(directoryPath, 'utf8');\n return file;\n } else {\n return undefined;\n }\n};\n\nexport const readFiles = (directory: string, createDirectory = true) => {\n const directoryPath = appPath(directory);\n if (fs.existsSync(directoryPath)) {\n const files = fs.readdirSync(directoryPath);\n return files;\n } else if (createDirectory) {\n fs.mkdirSync(directoryPath, { recursive: true });\n return [];\n } else {\n throw new Error(`ENOENT: Directory does not exist ${directoryPath}`);\n // return undefined;\n }\n};\n\nexport const writeFile = (filePath: string, content: string) => {\n const directoryPath = appPath(filePath);\n fs.writeFileSync(directoryPath, content, { encoding: 'utf-8' });\n};\n\nexport const removeFile = (filePath: string) => {\n const directoryPath = appPath(filePath);\n if (fs.existsSync(directoryPath)) {\n fs.rmSync(directoryPath);\n }\n};\n\nexport const removeDirectory = (filePath: string) => {\n const directoryPath = appPath(filePath);\n if (fs.existsSync(directoryPath)) {\n fs.rmSync(directoryPath, { force: true, recursive: true });\n }\n};\n\nexport const moveFile = (file: string, fromPath: string, toPath: string) => {\n const from = path.join(appRootDir, `${fromPath}${file}`);\n const to = path.join(appRootDir, `${toPath}${file}`);\n if (fs.existsSync(from)) {\n checkDir(toPath);\n // if (!fs.existsSync(toPath)) fs.mkdirSync(toPath, { recursive: true });\n\n fs.rename(from, to, err => {\n if (err)\n console.error(\n `Could not rename file \"${file}\" from: ${fromPath} to: ${toPath}`,\n err\n );\n console.info(`Renamed file \"${file}\" from: ${fromPath} to: ${toPath}`);\n });\n } else {\n console.error(\n `Could not rename file \"${file}\" from: ${fromPath} to: ${toPath}\\nFile does not exist!`\n );\n }\n};\n\nexport const checkDir = (filePath: string) => {\n const directoryPath = path.dirname(appPath(filePath));\n if (!fs.existsSync(directoryPath))\n fs.mkdirSync(directoryPath, { recursive: true });\n};\n\nexport const appPath = (filePath: string) =>\n path.isAbsolute(filePath) ? filePath : path.join(appRootDir, filePath);\n\nexport const cwdPath = (filePath: string) =>\n path.isAbsolute(filePath) ? filePath : path.join(process.cwd(), filePath);\n\nexport const joinPath = path.join;\n\nexport const addExecutePermission = (filePath: string) =>\n // Fails in windows with `TypeError [ERR_INVALID_ARG_TYPE]: The \"mode\" argument must be of type number. Received undefined`\n fs.chmodSync(filePath, fs.constants.S_IRWXU);\n\ntype DetectedFileType =\n | { type: 'json'; contents: any }\n | { type: 'xml' | 'csv'; contents: string };\n\nconst detectFileType = (fromFile: string): DetectedFileType | undefined => {\n const fileData = readFile(fromFile);\n if (!fileData) throw new Error(`Unable to read file at ${fromFile}`);\n try {\n // if XML\n if (fileData.startsWith('<')) return { contents: fileData, type: 'xml' };\n\n // if JSON\n const jsonData = tryParse(fileData);\n if (jsonData) return { contents: jsonData, type: 'json' };\n\n // if CSV\n const csv = detectCsv(fileData);\n if (csv) return { contents: fileData, type: 'csv' };\n } catch (ex) {\n Logger.error(`Problem detecting file type ${fromFile}`, ex);\n }\n};\n\nexport const readFileAsJSON = async <T = any>(\n fromFile: string\n): Promise<T | undefined> => {\n const detectedFile = detectFileType(cwdPath(fromFile));\n if (!detectedFile) return undefined;\n try {\n switch (detectedFile.type) {\n case 'csv': {\n const flatJson = await csvToJson(detectedFile.contents);\n const unflattenedJson = flatJson.map(record => unflattenObject(record));\n return unflattenedJson as T;\n }\n case 'xml':\n return (await xmlToJson(detectedFile.contents)) as T;\n\n case 'json':\n default:\n return detectedFile.contents;\n }\n } catch (ex) {\n Logger.error(`Problem converting file from ${detectedFile.type}`, ex);\n }\n};\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["path", "fs"]
7
7
  }
@@ -80,10 +80,9 @@ class ContensisAuthService {
80
80
  };
81
81
  BearerToken = async () => this.client.bearerToken || await this.client.ensureBearerToken();
82
82
  RefreshToken = async () => !this.client.isRefreshTokenExpired() ? this.client.refreshToken : null;
83
+ /* PROJECTS */
83
84
  ProjectId = () => this.client.clientConfig.projectId;
84
85
  RootUrl = () => this.client.clientConfig.rootUrl;
85
86
  }
86
87
  var ContensisAuthService_default = ContensisAuthService;
87
- // Annotate the CommonJS export names for ESM import in node:
88
- 0 && (module.exports = {});
89
88
  //# sourceMappingURL=ContensisAuthService.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/services/ContensisAuthService.ts"],
4
4
  "sourcesContent": ["import { NodejsClient } from 'contensis-management-api/lib/client';\nimport { ClientGrants, ClientGrantType } from 'contensis-core-api';\n\nclass ContensisAuthService {\n private client: NodejsClient;\n private credentials: {\n clientType: ClientGrantType;\n clientDetails: ClientGrants;\n };\n\n get clientType() {\n return this.credentials.clientType;\n }\n get clientDetails() {\n return this.credentials.clientDetails;\n }\n\n constructor({\n clientId = '',\n clientSecret = '',\n username,\n password,\n refreshToken,\n projectId,\n rootUrl,\n }: {\n clientId?: string;\n clientSecret?: string;\n username?: string;\n password?: string;\n refreshToken?: string;\n projectId: string;\n rootUrl: string;\n }) {\n if (clientId && clientSecret)\n this.credentials = {\n clientType: 'client_credentials',\n clientDetails: {\n clientId,\n clientSecret,\n },\n };\n else if (username && password)\n this.credentials = {\n clientType: 'contensis_classic',\n clientDetails: {\n username,\n password,\n },\n };\n else if (refreshToken)\n this.credentials = {\n clientType: 'contensis_classic_refresh_token',\n clientDetails: {\n refreshToken,\n },\n };\n else\n this.credentials = {\n clientType: 'none',\n clientDetails: { refreshToken: '' },\n };\n\n this.client = NodejsClient.create({\n ...this.credentials,\n projectId,\n rootUrl,\n });\n }\n\n ClassicToken = async (): Promise<string | null | undefined> => {\n // make sure our token isn't expried.\n await this.client.ensureBearerToken();\n return (this.client as any).contensisClassicToken;\n };\n BearerToken = async () =>\n this.client.bearerToken || (await this.client.ensureBearerToken());\n RefreshToken = async () =>\n !this.client.isRefreshTokenExpired() ? this.client.refreshToken : null;\n\n /* PROJECTS */\n ProjectId = () => this.client.clientConfig.projectId;\n RootUrl = () => this.client.clientConfig.rootUrl;\n}\n\nexport default ContensisAuthService;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA6B;AAG7B,MAAM,qBAAqB;AAAA,EACjB;AAAA,EACA;AAAA,EAKR,IAAI,aAAa;AACf,WAAO,KAAK,YAAY;AAAA,EAC1B;AAAA,EACA,IAAI,gBAAgB;AAClB,WAAO,KAAK,YAAY;AAAA,EAC1B;AAAA,EAEA,YAAY;AAAA,IACV,WAAW;AAAA,IACX,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAQG;AACD,QAAI,YAAY;AACd,WAAK,cAAc;AAAA,QACjB,YAAY;AAAA,QACZ,eAAe;AAAA,UACb;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,aACO,YAAY;AACnB,WAAK,cAAc;AAAA,QACjB,YAAY;AAAA,QACZ,eAAe;AAAA,UACb;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,aACO;AACP,WAAK,cAAc;AAAA,QACjB,YAAY;AAAA,QACZ,eAAe;AAAA,UACb;AAAA,QACF;AAAA,MACF;AAAA;AAEA,WAAK,cAAc;AAAA,QACjB,YAAY;AAAA,QACZ,eAAe,EAAE,cAAc,GAAG;AAAA,MACpC;AAEF,SAAK,SAAS,2BAAa,OAAO;AAAA,MAChC,GAAG,KAAK;AAAA,MACR;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,eAAe,YAAgD;AAE7D,UAAM,KAAK,OAAO,kBAAkB;AACpC,WAAQ,KAAK,OAAe;AAAA,EAC9B;AAAA,EACA,cAAc,YACZ,KAAK,OAAO,eAAgB,MAAM,KAAK,OAAO,kBAAkB;AAAA,EAClE,eAAe,YACb,CAAC,KAAK,OAAO,sBAAsB,IAAI,KAAK,OAAO,eAAe;AAAA,EAGpE,YAAY,MAAM,KAAK,OAAO,aAAa;AAAA,EAC3C,UAAU,MAAM,KAAK,OAAO,aAAa;AAC3C;AAEA,IAAO,+BAAQ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA6B;AAG7B,MAAM,qBAAqB;AAAA,EACjB;AAAA,EACA;AAAA,EAKR,IAAI,aAAa;AACf,WAAO,KAAK,YAAY;AAAA,EAC1B;AAAA,EACA,IAAI,gBAAgB;AAClB,WAAO,KAAK,YAAY;AAAA,EAC1B;AAAA,EAEA,YAAY;AAAA,IACV,WAAW;AAAA,IACX,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAQG;AACD,QAAI,YAAY;AACd,WAAK,cAAc;AAAA,QACjB,YAAY;AAAA,QACZ,eAAe;AAAA,UACb;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,aACO,YAAY;AACnB,WAAK,cAAc;AAAA,QACjB,YAAY;AAAA,QACZ,eAAe;AAAA,UACb;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,aACO;AACP,WAAK,cAAc;AAAA,QACjB,YAAY;AAAA,QACZ,eAAe;AAAA,UACb;AAAA,QACF;AAAA,MACF;AAAA;AAEA,WAAK,cAAc;AAAA,QACjB,YAAY;AAAA,QACZ,eAAe,EAAE,cAAc,GAAG;AAAA,MACpC;AAEF,SAAK,SAAS,2BAAa,OAAO;AAAA,MAChC,GAAG,KAAK;AAAA,MACR;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,eAAe,YAAgD;AAE7D,UAAM,KAAK,OAAO,kBAAkB;AACpC,WAAQ,KAAK,OAAe;AAAA,EAC9B;AAAA,EACA,cAAc,YACZ,KAAK,OAAO,eAAgB,MAAM,KAAK,OAAO,kBAAkB;AAAA,EAClE,eAAe,YACb,CAAC,KAAK,OAAO,sBAAsB,IAAI,KAAK,OAAO,eAAe;AAAA;AAAA,EAGpE,YAAY,MAAM,KAAK,OAAO,aAAa;AAAA,EAC3C,UAAU,MAAM,KAAK,OAAO,aAAa;AAC3C;AAEA,IAAO,+BAAQ;",
6
6
  "names": []
7
7
  }
@@ -18,6 +18,10 @@ var __copyProps = (to2, from, except, desc) => {
18
18
  return to2;
19
19
  };
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -88,8 +92,7 @@ class ContensisCli {
88
92
  get env() {
89
93
  const currentEnvironment = this.currentEnv;
90
94
  const environments = this.cache.environments || {};
91
- if (!currentEnvironment)
92
- return {};
95
+ if (!currentEnvironment) return {};
93
96
  else if (!!environments[currentEnvironment])
94
97
  return environments[currentEnvironment];
95
98
  else {
@@ -121,21 +124,16 @@ class ContensisCli {
121
124
  const environments = this.cache.environments || {};
122
125
  this.currentEnv = currentEnvironment;
123
126
  const env = this.env;
124
- if (outputOpts == null ? void 0 : outputOpts.projectId)
125
- env.currentProject = outputOpts.projectId;
126
- if (outputOpts == null ? void 0 : outputOpts.user)
127
- env.lastUserId = outputOpts.user;
128
- if (outputOpts == null ? void 0 : outputOpts.password)
129
- env.passwordFallback = outputOpts.password;
130
- if (outputOpts == null ? void 0 : outputOpts.clientId)
131
- env.lastUserId = outputOpts.clientId;
127
+ if (outputOpts == null ? void 0 : outputOpts.projectId) env.currentProject = outputOpts.projectId;
128
+ if (outputOpts == null ? void 0 : outputOpts.user) env.lastUserId = outputOpts.user;
129
+ if (outputOpts == null ? void 0 : outputOpts.password) env.passwordFallback = outputOpts.password;
130
+ if (outputOpts == null ? void 0 : outputOpts.clientId) env.lastUserId = outputOpts.clientId;
132
131
  if (outputOpts == null ? void 0 : outputOpts.sharedSecret)
133
132
  if (outputOpts.sharedSecret.startsWith("-"))
134
133
  throw new Error(
135
134
  `Shared secret option provided a value of ${outputOpts.sharedSecret}`
136
135
  );
137
- else
138
- env.passwordFallback = outputOpts.sharedSecret;
136
+ else env.passwordFallback = outputOpts.sharedSecret;
139
137
  this.currentProject = (env == null ? void 0 : env.currentProject) || "null";
140
138
  this.sourceAlias = (outputOpts == null ? void 0 : outputOpts.sourceAlias) || currentEnvironment;
141
139
  if (currentEnvironment) {
@@ -144,7 +142,7 @@ class ContensisCli {
144
142
  this.command = {
145
143
  commandText,
146
144
  options: outputOpts,
147
- createdDate: new Date().toISOString(),
145
+ createdDate: (/* @__PURE__ */ new Date()).toISOString(),
148
146
  invokedBy: env == null ? void 0 : env.lastUserId
149
147
  };
150
148
  if (currentEnvironment) {
@@ -230,10 +228,8 @@ class ContensisCli {
230
228
  );
231
229
  }
232
230
  } else {
233
- if (!currentEnv)
234
- log.help(messages.connect.help());
235
- if (!userId)
236
- log.help(messages.connect.tip());
231
+ if (!currentEnv) log.help(messages.connect.help());
232
+ if (!userId) log.help(messages.connect.tip());
237
233
  }
238
234
  }
239
235
  return this.contensis;
@@ -322,10 +318,8 @@ class ContensisCli {
322
318
  }
323
319
  }
324
320
  } else {
325
- if (!currentEnv)
326
- log.help(messages.connect.help());
327
- if (!targetUserId)
328
- log.help(messages.connect.tip());
321
+ if (!currentEnv) log.help(messages.connect.help());
322
+ if (!targetUserId) log.help(messages.connect.tip());
329
323
  }
330
324
  return this.contensis;
331
325
  };
@@ -367,7 +361,7 @@ class ContensisCli {
367
361
  let inputPassword = password || sharedSecret;
368
362
  if (!inputPassword)
369
363
  inputPassword = (0, import_util.isSharedSecret)(this.env.passwordFallback) || (0, import_util.isPassword)(this.env.passwordFallback) || "";
370
- const { log, messages } = this;
364
+ const { messages } = this;
371
365
  if (userId) {
372
366
  const { currentEnv, env } = this;
373
367
  if (currentEnv) {
@@ -401,10 +395,8 @@ class ContensisCli {
401
395
  env.lastUserId = userId;
402
396
  env.passwordFallback = credentials.remarks.secure !== true ? (_d = credentials.current) == null ? void 0 : _d.password : void 0;
403
397
  this.session.UpdateEnv(env);
404
- if (inputPassword)
405
- await credentials.Save(inputPassword);
406
- if (sharedSecret)
407
- await credentials.Save(sharedSecret);
398
+ if (inputPassword) await credentials.Save(inputPassword);
399
+ if (sharedSecret) await credentials.Save(sharedSecret);
408
400
  if (!silent) {
409
401
  import_logger.Logger.success(messages.login.success(currentEnv, userId));
410
402
  await this.PrintProjects();
@@ -497,6 +489,7 @@ class ContensisCli {
497
489
  try {
498
490
  color = import_chalk.default.keyword(project.color);
499
491
  } catch (ex) {
492
+ import_logger.Logger.debug(`${ex}`);
500
493
  color = import_chalk.default.white;
501
494
  }
502
495
  console.log(
@@ -518,7 +511,7 @@ class ContensisCli {
518
511
  }
519
512
  };
520
513
  PrintProject = async (projectId = this.currentProject) => {
521
- const { log, messages, session } = this;
514
+ const { log, messages } = this;
522
515
  const contensis = await this.ConnectContensis();
523
516
  if (contensis) {
524
517
  const [projectsErr, projects] = await (0, import_await_to_js.default)(
@@ -636,7 +629,7 @@ class ContensisCli {
636
629
  const { currentEnv, log, messages } = this;
637
630
  const contensis = await this.ConnectContensis({ commit: true });
638
631
  if (contensis) {
639
- const [err, key] = await contensis.apiKeys.RemoveKey(id);
632
+ const [err] = await contensis.apiKeys.RemoveKey(id);
640
633
  if (!err) {
641
634
  log.success(messages.keys.removed(currentEnv, id));
642
635
  console.log("");
@@ -652,8 +645,7 @@ class ContensisCli {
652
645
  const [rolesErr, roles] = await (0, import_await_to_js.default)(contensis.roles.GetRoles());
653
646
  if (Array.isArray(roles)) {
654
647
  log.success(messages.roles.list(currentEnv));
655
- if (!roles.length)
656
- log.help(messages.roles.noneExist());
648
+ if (!roles.length) log.help(messages.roles.noneExist());
657
649
  await this.HandleFormattingAndOutput(roles, () => {
658
650
  var _a, _b, _c, _d, _e;
659
651
  for (const {
@@ -666,8 +658,7 @@ class ContensisCli {
666
658
  } of roles) {
667
659
  const color = enabled ? (s) => s : log.infoText;
668
660
  console.log(color(` - ${import_chalk.default.bold(name)} ${log.infoText(id)}`));
669
- if (description)
670
- console.log(log.infoText(` ${description}`));
661
+ if (description) console.log(log.infoText(` ${description}`));
671
662
  if (enabled === false)
672
663
  console.log(` ${import_chalk.default.bold.grey("enabled")}: false`);
673
664
  if ((_a = assignments.groups) == null ? void 0 : _a.length)
@@ -722,10 +713,8 @@ class ContensisCli {
722
713
  if (Array.isArray(roles)) {
723
714
  log.success(messages.roles.list(currentEnv));
724
715
  const role = (0, import_find.findByIdOrName)(roles, roleNameOrId);
725
- if (role)
726
- await this.HandleFormattingAndOutput(role, log.object);
727
- else
728
- log.error(messages.roles.failedGet(currentEnv, roleNameOrId));
716
+ if (role) await this.HandleFormattingAndOutput(role, log.object);
717
+ else log.error(messages.roles.failedGet(currentEnv, roleNameOrId));
729
718
  }
730
719
  if (rolesErr) {
731
720
  log.error(messages.roles.noList(currentEnv));
@@ -798,8 +787,7 @@ class ContensisCli {
798
787
  const [deleteErr] = await contensis.roles.RemoveRole(existingRole.id);
799
788
  if (deleteErr)
800
789
  log.error(messages.roles.failedRemove(currentEnv, roleNameOrId));
801
- else
802
- log.success(messages.roles.removed(currentEnv, roleNameOrId));
790
+ else log.success(messages.roles.removed(currentEnv, roleNameOrId));
803
791
  } else {
804
792
  log.error(messages.roles.failedGet(currentEnv, roleNameOrId));
805
793
  }
@@ -817,8 +805,7 @@ class ContensisCli {
817
805
  const [workflowsErr, workflows] = await contensis.content.sourceRepo.workflows.GetWorkflows();
818
806
  if (Array.isArray(workflows)) {
819
807
  log.success(messages.workflows.list(currentEnv));
820
- if (!workflows.length)
821
- log.help(messages.workflows.noneExist());
808
+ if (!workflows.length) log.help(messages.workflows.noneExist());
822
809
  const stringFromLanguageObject = (o) => {
823
810
  var _a;
824
811
  return (_a = Object.values(o || {})) == null ? void 0 : _a[0];
@@ -1031,25 +1018,20 @@ class ContensisCli {
1031
1018
  console.log(log.warningText(` *** COMMITTING IMPORT *** `));
1032
1019
  }
1033
1020
  const [migrateErr, result] = await contensis.MigrateContentModels();
1034
- if (migrateErr)
1035
- (0, import_logger.logError)(migrateErr);
1021
+ if (migrateErr) (0, import_logger.logError)(migrateErr);
1036
1022
  else
1037
1023
  await this.HandleFormattingAndOutput(result, () => {
1038
1024
  if (!result.committed) {
1039
1025
  log.raw(log.boldText(`
1040
1026
  Content types:`));
1041
- if (!result.contentTypes)
1042
- log.info(`- None returned
1027
+ if (!result.contentTypes) log.info(`- None returned
1043
1028
  `);
1044
- else
1045
- (0, import_console.printModelMigrationAnalysis)(this, result.contentTypes);
1029
+ else (0, import_console.printModelMigrationAnalysis)(this, result.contentTypes);
1046
1030
  log.raw(log.boldText(`
1047
1031
  Components:`));
1048
- if (!result.components)
1049
- log.info(`- None returned
1032
+ if (!result.components) log.info(`- None returned
1050
1033
  `);
1051
- else
1052
- (0, import_console.printModelMigrationAnalysis)(this, result.components);
1034
+ else (0, import_console.printModelMigrationAnalysis)(this, result.components);
1053
1035
  if (result.defaults && Object.keys(result.defaults).length) {
1054
1036
  log.raw(log.boldText(`
1055
1037
  Defaults:`));
@@ -1156,6 +1138,7 @@ Nodes:`));
1156
1138
  const contensis = await this.ConnectContensisImport({
1157
1139
  commit,
1158
1140
  importDataType: "user-input"
1141
+ // 'user-input' import type does not require a source cms
1159
1142
  });
1160
1143
  if (contensis) {
1161
1144
  const [err, result] = await contensis.DeleteContentTypes(contentTypeIds);
@@ -1187,8 +1170,7 @@ Nodes:`));
1187
1170
  let fileData = fromFile ? await (0, import_file_provider.readFileAsJSON)(fromFile) || [] : [];
1188
1171
  if (typeof fileData === "string")
1189
1172
  throw new Error(`Import file format must be of type JSON`);
1190
- if (!Array.isArray(fileData))
1191
- fileData = [fileData];
1173
+ if (!Array.isArray(fileData)) fileData = [fileData];
1192
1174
  const contensis = await this.ConnectContensisImport({
1193
1175
  commit,
1194
1176
  importDataType: fromFile ? "user-input" : void 0
@@ -1198,9 +1180,8 @@ Nodes:`));
1198
1180
  for (const contentType of fileData) {
1199
1181
  contentType.projectId = currentProject;
1200
1182
  delete contentType.uuid;
1201
- const [err, created, createStatus] = await contensis.models.targetRepos[currentProject].repo.UpsertContentType(false, contentType);
1202
- if (err)
1203
- log.error(err.message, err);
1183
+ const [err, , createStatus] = await contensis.models.targetRepos[currentProject].repo.UpsertContentType(false, contentType);
1184
+ if (err) log.error(err.message, err);
1204
1185
  if (createStatus) {
1205
1186
  log.success(
1206
1187
  messages.contenttypes.created(
@@ -1229,8 +1210,7 @@ Nodes:`));
1229
1210
  let fileData = fromFile ? await (0, import_file_provider.readFileAsJSON)(fromFile) || [] : [];
1230
1211
  if (typeof fileData === "string")
1231
1212
  throw new Error(`Import file format must be of type JSON`);
1232
- if (!Array.isArray(fileData))
1233
- fileData = [fileData];
1213
+ if (!Array.isArray(fileData)) fileData = [fileData];
1234
1214
  const contensis = await this.ConnectContensisImport({
1235
1215
  fromFile,
1236
1216
  importDataType: "models"
@@ -1239,8 +1219,7 @@ Nodes:`));
1239
1219
  const [err, result] = await (0, import_await_to_js.default)(
1240
1220
  contensis.models.Diff(fileData.length ? fileData : modelIds)
1241
1221
  );
1242
- if (err)
1243
- log.error(err.message, err);
1222
+ if (err) log.error(err.message, err);
1244
1223
  if (result)
1245
1224
  await this.HandleFormattingAndOutput(result, () => {
1246
1225
  var _a;
@@ -1252,18 +1231,14 @@ Nodes:`));
1252
1231
  );
1253
1232
  if (result.committed === false) {
1254
1233
  log.raw(log.boldText(`Content types:`));
1255
- if (!result.contentTypes)
1256
- log.info(`- None returned
1234
+ if (!result.contentTypes) log.info(`- None returned
1257
1235
  `);
1258
- else
1259
- (0, import_console.printModelMigrationAnalysis)(this, result.contentTypes);
1236
+ else (0, import_console.printModelMigrationAnalysis)(this, result.contentTypes);
1260
1237
  log.raw(log.boldText(`
1261
1238
  Components:`));
1262
- if (!result.components)
1263
- log.info(`- None returned
1239
+ if (!result.components) log.info(`- None returned
1264
1240
  `);
1265
- else
1266
- (0, import_console.printModelMigrationAnalysis)(this, result.components);
1241
+ else (0, import_console.printModelMigrationAnalysis)(this, result.components);
1267
1242
  }
1268
1243
  });
1269
1244
  }
@@ -1310,6 +1285,7 @@ Components:`));
1310
1285
  const contensis = await this.ConnectContensisImport({
1311
1286
  commit,
1312
1287
  importDataType: "user-input"
1288
+ // 'user-input' import type does not require a source cms
1313
1289
  });
1314
1290
  if (contensis) {
1315
1291
  const [err, result] = await contensis.DeleteContentTypes(
@@ -1344,8 +1320,7 @@ Components:`));
1344
1320
  let fileData = fromFile ? await (0, import_file_provider.readFileAsJSON)(fromFile) || [] : [];
1345
1321
  if (typeof fileData === "string")
1346
1322
  throw new Error(`Import file format must be of type JSON`);
1347
- if (!Array.isArray(fileData))
1348
- fileData = [fileData];
1323
+ if (!Array.isArray(fileData)) fileData = [fileData];
1349
1324
  const contensis = await this.ConnectContensisImport({
1350
1325
  commit,
1351
1326
  importDataType: fromFile ? "user-input" : void 0
@@ -1355,9 +1330,8 @@ Components:`));
1355
1330
  for (const component of fileData) {
1356
1331
  component.projectId = currentProject;
1357
1332
  delete component.uuid;
1358
- const [err, created, createStatus] = await contensis.models.targetRepos[currentProject].repo.UpsertComponent(false, component);
1359
- if (err)
1360
- log.error(err.message, err);
1333
+ const [err, , createStatus] = await contensis.models.targetRepos[currentProject].repo.UpsertComponent(false, component);
1334
+ if (err) log.error(err.message, err);
1361
1335
  if (createStatus) {
1362
1336
  log.success(
1363
1337
  messages.components.created(
@@ -1385,6 +1359,7 @@ Components:`));
1385
1359
  const contensis = await this.ConnectContensisImport({
1386
1360
  commit,
1387
1361
  importDataType: "user-input"
1362
+ // 'user-input' import type does not require a source cms
1388
1363
  });
1389
1364
  if (contensis) {
1390
1365
  if (contensis.isPreview) {
@@ -1425,11 +1400,14 @@ Components:`));
1425
1400
  entries,
1426
1401
  () => {
1427
1402
  var _a;
1428
- return (0, import_migratortron.logEntitiesTable)({
1429
- entries,
1430
- projectId: currentProject,
1431
- fields: (_a = contensis.payload.query) == null ? void 0 : _a.fields
1432
- });
1403
+ return (
1404
+ // print the entries to console
1405
+ (0, import_migratortron.logEntitiesTable)({
1406
+ entries,
1407
+ projectId: currentProject,
1408
+ fields: (_a = contensis.payload.query) == null ? void 0 : _a.fields
1409
+ })
1410
+ );
1433
1411
  }
1434
1412
  );
1435
1413
  } else {
@@ -1458,8 +1436,7 @@ Components:`));
1458
1436
  console.log(log.warningText(` *** COMMITTING IMPORT *** `));
1459
1437
  }
1460
1438
  const [err, result] = await contensis.MigrateEntries();
1461
- if (err)
1462
- (0, import_logger.logError)(err);
1439
+ if (err) (0, import_logger.logError)(err);
1463
1440
  else {
1464
1441
  const { entries, nodes } = contensis.content.targets[currentProject];
1465
1442
  const output = saveEntries ? (_a = entries.migrate) == null ? void 0 : _a.map((me) => me.toJSON()) : result;
@@ -1527,8 +1504,7 @@ Components:`));
1527
1504
  const [err, result] = await (0, import_await_to_js.default)(
1528
1505
  contensis.content.copy.MigrateFieldContent()
1529
1506
  );
1530
- if (err)
1531
- (0, import_logger.logError)(err);
1507
+ if (err) (0, import_logger.logError)(err);
1532
1508
  if (result) {
1533
1509
  const output = saveEntries ? (_a = contensis.content.copy.targets[currentProject].entries.migrate) == null ? void 0 : _a.map(
1534
1510
  (me) => me.toJSON()
@@ -1605,8 +1581,7 @@ Components:`));
1605
1581
  console.log(log.warningText(` *** COMMITTING IMPORT *** `));
1606
1582
  }
1607
1583
  const [err, result] = await contensis.MigrateNodes();
1608
- if (err)
1609
- log.raw(``);
1584
+ if (err) log.raw(``);
1610
1585
  else
1611
1586
  await this.HandleFormattingAndOutput(result, () => {
1612
1587
  const migrateTree = contensis.nodes.targetRepos[currentProject].nodes.migrateNodesTreeView;
@@ -1624,8 +1599,8 @@ Components:`));
1624
1599
  if (!err && (!((_f = result.errors) == null ? void 0 : _f.length) || this.contensisOpts.ignoreErrors) && (!commit && nodesMigrateCount || commit && (nodesCreated || nodesUpdated || ((_g = result.errors) == null ? void 0 : _g.length)))) {
1625
1600
  let totalCount;
1626
1601
  if (commit) {
1627
- let created = typeof nodesCreated === "number" ? nodesCreated : 0;
1628
- let updated = typeof nodesUpdated === "number" ? nodesUpdated : 0;
1602
+ const created = typeof nodesCreated === "number" ? nodesCreated : 0;
1603
+ const updated = typeof nodesUpdated === "number" ? nodesUpdated : 0;
1629
1604
  totalCount = created + updated;
1630
1605
  } else {
1631
1606
  totalCount = typeof nodesMigrateCount === "number" ? nodesMigrateCount : 0;
@@ -1640,8 +1615,7 @@ Components:`));
1640
1615
  log.help(messages.nodes.noChange(currentEnv));
1641
1616
  } else {
1642
1617
  log.error(messages.nodes.failedImport(currentEnv), err);
1643
- if (!nodesMigrateCount)
1644
- log.help(messages.nodes.notFound(currentEnv));
1618
+ if (!nodesMigrateCount) log.help(messages.nodes.notFound(currentEnv));
1645
1619
  }
1646
1620
  }
1647
1621
  } else {
@@ -1655,6 +1629,7 @@ Components:`));
1655
1629
  const contensis = await this.ConnectContensisImport({
1656
1630
  commit,
1657
1631
  importDataType: "user-input"
1632
+ // 'user-input' import type does not require a source cms
1658
1633
  });
1659
1634
  if (contensis) {
1660
1635
  if (contensis.isPreview) {
@@ -1703,8 +1678,7 @@ Components:`));
1703
1678
  ) : webhooks;
1704
1679
  if (Array.isArray(filteredResults)) {
1705
1680
  log.success(messages.webhooks.list(currentEnv));
1706
- if (!(webhooks == null ? void 0 : webhooks.length))
1707
- log.warning(messages.webhooks.noneExist());
1681
+ if (!(webhooks == null ? void 0 : webhooks.length)) log.warning(messages.webhooks.noneExist());
1708
1682
  else {
1709
1683
  await this.HandleFormattingAndOutput(filteredResults, () => {
1710
1684
  for (const {
@@ -1724,8 +1698,7 @@ Components:`));
1724
1698
  ` ${import_chalk.default.bold.white`- ${name}`} ${id} [${(version.modified || version.created).toString().substring(0, 10)} ${version.modifiedBy || version.createdBy}]`
1725
1699
  )
1726
1700
  );
1727
- if (description)
1728
- console.log(log.infoText` ${description}`);
1701
+ if (description) console.log(log.infoText` ${description}`);
1729
1702
  console.log(` ${log.infoText`[${method}]`} ${url2}`);
1730
1703
  if (headers && Object.keys(headers).length) {
1731
1704
  console.log(` ${log.infoText`headers`}:`);
@@ -1893,8 +1866,7 @@ Components:`));
1893
1866
  blockVersionNo = `${(_a = blockVersions == null ? void 0 : blockVersions[0]) == null ? void 0 : _a.version.versionNo}`;
1894
1867
  if (!Number.isNaN(blockVersionNo) && Number(blockVersionNo) > 0)
1895
1868
  return [null, blockVersionNo];
1896
- else
1897
- throw new Error(`'${blockVersionNo}' is not a valid version number`);
1869
+ else throw new Error(`'${blockVersionNo}' is not a valid version number`);
1898
1870
  } catch (parseVersionEx) {
1899
1871
  log.info(
1900
1872
  `Request for blockId: ${blockId}, branch: ${branch}, version: latest`
@@ -1997,7 +1969,7 @@ Components:`));
1997
1969
  );
1998
1970
  stopFollowing();
1999
1971
  });
2000
- let delay = (0, import_timers.promiseDelay)(5 * 1e3, null);
1972
+ const delay = (0, import_timers.promiseDelay)(5 * 1e3, null);
2001
1973
  const stopFollowing = () => {
2002
1974
  following = false;
2003
1975
  delay.cancel();
@@ -2078,6 +2050,7 @@ Components:`));
2078
2050
  }
2079
2051
  }
2080
2052
  };
2053
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
2081
2054
  PrintRenderers = async (rendererId) => {
2082
2055
  const { currentEnv, env, log, messages } = this;
2083
2056
  const contensis = await this.ConnectContensis();