@rockcarver/frodo-cli 1.0.0-1 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,46 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Fixed
11
+
12
+ - \#267: Frodo CLI should now detect running in binary mode on Windows.
13
+ - \#266: Frodo CLI now properly detects latest GitHub and NPM releases and correctly reports if updates areavailable instead of reporting an error like this: `ERROR: exception running frodo - Error: Invalid argument not valid semver ('Frodo CLI 1.0.0' received)`.
14
+
15
+ ## [1.0.0] - 2023-06-30
16
+
17
+ ### Added
18
+
19
+ - MacOS binaries are now signed and notarized and run without security exceptions.
20
+ - \#251: Support for Identity Cloud admin federation configuration:
21
+
22
+ - `frodo admin federation` Manage admin federation configuration.
23
+ - `export` Export admin federation providers.
24
+ - `import` Import admin federation providers.
25
+ - `list` List admin federation providers.
26
+
27
+ Examples:
28
+
29
+ - List all configured admin federation providers:<br>
30
+ `frodo admin federation list <myTenant>`
31
+
32
+ `frodo admin federation list <myTenant> <username> <password>`
33
+ - Export all admin federation providers to a single file:<br>
34
+ `frodo admin federation export -a <myTenant>`
35
+
36
+ `frodo admin federation export -a <myTenant> <username> <password>`
37
+ - Import all admin federation providers from a single file:<br>
38
+ `frodo admin federation import -a -f allProviders.admin.federation.json <myTenant>`
39
+
40
+ `frodo admin federation import -a -f allProviders.admin.federation.json <myTenant> <username> <password>`<br>
41
+
42
+ **_Note_**: Only tenant admins can perform admin federation operations, service accounts do not have the required privileges. Therefore, the connection profile used must contain username and password or they must be provided through command arguments.
43
+
44
+ ### Changed
45
+
46
+ - Update to frodo-lib 1.1.0
47
+
48
+ ## [1.0.0-1] - 2023-06-30
49
+
10
50
  ## [0.24.6-3] - 2023-06-30
11
51
 
12
52
  ## [0.24.6-2] - 2023-06-22
@@ -1238,7 +1278,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1238
1278
  - Fixed problem with adding connection profiles
1239
1279
  - Miscellaneous bug fixes
1240
1280
 
1241
- [Unreleased]: https://github.com/rockcarver/frodo-cli/compare/v0.24.6-3...HEAD
1281
+ [Unreleased]: https://github.com/rockcarver/frodo-cli/compare/v1.0.0...HEAD
1282
+
1283
+ [1.0.0]: https://github.com/rockcarver/frodo-cli/compare/v1.0.0-1...v1.0.0
1284
+
1285
+ [1.0.0-1]: https://github.com/rockcarver/frodo-cli/compare/v0.24.6-3...v1.0.0-1
1242
1286
 
1243
1287
  [0.24.6-3]: https://github.com/rockcarver/frodo-cli/compare/v0.24.6-2...v0.24.6-3
1244
1288
 
package/esm/app.js CHANGED
@@ -55,7 +55,9 @@ const {
55
55
  program.enablePositionalOptions();
56
56
  program.parse();
57
57
  } catch (e) {
58
+ process.exitCode = 1;
58
59
  printMessage(`ERROR: exception running frodo - ${e}`, 'error');
60
+ printMessage(e.stack, 'error');
59
61
  }
60
62
  })();
61
63
  //# sourceMappingURL=app.js.map
package/esm/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","names":["ConnectionProfile","Command","admin","agent","authz","app","conn","email","esv","idm","idp","info","journey","logging","realm","saml","script","service","theme","printMessage","getVersions","initConnectionProfiles","program","version","addCommand","showHelpAfterError","enablePositionalOptions","parse","e"],"sources":["../src/app.ts"],"sourcesContent":["import { ConnectionProfile } from '@rockcarver/frodo-lib';\nimport { Command } from 'commander';\n\n// commands\nimport admin from './cli/admin/admin';\nimport agent from './cli/agent/agent';\nimport authz from './cli/authz/authz';\nimport app from './cli/app/app';\nimport conn from './cli/conn/conn';\nimport email from './cli/email/email';\nimport esv from './cli/esv/esv';\nimport idm from './cli/idm/idm';\nimport idp from './cli/idp/idp';\nimport info from './cli/info/info';\nimport journey from './cli/journey/journey';\nimport logging from './cli/logging/logs';\nimport realm from './cli/realm/realm';\nimport saml from './cli/saml/saml';\nimport script from './cli/script/script';\nimport service from './cli/service/service';\n// enable sample command template.\n// import something from './cli/_template/something';\nimport theme from './cli/theme/theme';\nimport { printMessage } from './utils/Console';\nimport { getVersions } from './utils/Version';\n\nconst { initConnectionProfiles } = ConnectionProfile;\n\n(async () => {\n try {\n const program = new Command('frodo').version(\n await getVersions(false),\n '-v, --version'\n );\n\n printMessage(await getVersions(true), 'text', false);\n\n await initConnectionProfiles();\n\n program.addCommand(admin());\n program.addCommand(agent());\n program.addCommand(authz());\n program.addCommand(app());\n program.addCommand(conn());\n program.addCommand(email());\n program.addCommand(esv());\n program.addCommand(idm());\n program.addCommand(idp());\n program.addCommand(info());\n program.addCommand(journey());\n program.addCommand(logging());\n program.addCommand(realm());\n program.addCommand(saml());\n program.addCommand(script());\n program.addCommand(service());\n program.addCommand(theme());\n // enable sample command template.\n // program.addCommand(something());\n\n program.showHelpAfterError();\n program.enablePositionalOptions();\n program.parse();\n } catch (e) {\n printMessage(`ERROR: exception running frodo - ${e}`, 'error');\n }\n})();\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,uBAAuB;AACzD,SAASC,OAAO,QAAQ,WAAW;;AAEnC;AACA,OAAOC,KAAK,MAAM,mBAAmB;AACrC,OAAOC,KAAK,MAAM,mBAAmB;AACrC,OAAOC,KAAK,MAAM,mBAAmB;AACrC,OAAOC,GAAG,MAAM,eAAe;AAC/B,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,KAAK,MAAM,mBAAmB;AACrC,OAAOC,GAAG,MAAM,eAAe;AAC/B,OAAOC,GAAG,MAAM,eAAe;AAC/B,OAAOC,GAAG,MAAM,eAAe;AAC/B,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,OAAO,MAAM,uBAAuB;AAC3C,OAAOC,OAAO,MAAM,oBAAoB;AACxC,OAAOC,KAAK,MAAM,mBAAmB;AACrC,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,MAAM,MAAM,qBAAqB;AACxC,OAAOC,OAAO,MAAM,uBAAuB;AAC3C;AACA;AACA,OAAOC,KAAK,MAAM,mBAAmB;AACrC,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,WAAW,QAAQ,iBAAiB;AAE7C,MAAM;EAAEC;AAAuB,CAAC,GAAGrB,iBAAiB;AAEpD,CAAC,YAAY;EACX,IAAI;IACF,MAAMsB,OAAO,GAAG,IAAIrB,OAAO,CAAC,OAAO,CAAC,CAACsB,OAAO,CAC1C,MAAMH,WAAW,CAAC,KAAK,CAAC,EACxB,eACF,CAAC;IAEDD,YAAY,CAAC,MAAMC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC;IAEpD,MAAMC,sBAAsB,CAAC,CAAC;IAE9BC,OAAO,CAACE,UAAU,CAACtB,KAAK,CAAC,CAAC,CAAC;IAC3BoB,OAAO,CAACE,UAAU,CAACrB,KAAK,CAAC,CAAC,CAAC;IAC3BmB,OAAO,CAACE,UAAU,CAACpB,KAAK,CAAC,CAAC,CAAC;IAC3BkB,OAAO,CAACE,UAAU,CAACnB,GAAG,CAAC,CAAC,CAAC;IACzBiB,OAAO,CAACE,UAAU,CAAClB,IAAI,CAAC,CAAC,CAAC;IAC1BgB,OAAO,CAACE,UAAU,CAACjB,KAAK,CAAC,CAAC,CAAC;IAC3Be,OAAO,CAACE,UAAU,CAAChB,GAAG,CAAC,CAAC,CAAC;IACzBc,OAAO,CAACE,UAAU,CAACf,GAAG,CAAC,CAAC,CAAC;IACzBa,OAAO,CAACE,UAAU,CAACd,GAAG,CAAC,CAAC,CAAC;IACzBY,OAAO,CAACE,UAAU,CAACb,IAAI,CAAC,CAAC,CAAC;IAC1BW,OAAO,CAACE,UAAU,CAACZ,OAAO,CAAC,CAAC,CAAC;IAC7BU,OAAO,CAACE,UAAU,CAACX,OAAO,CAAC,CAAC,CAAC;IAC7BS,OAAO,CAACE,UAAU,CAACV,KAAK,CAAC,CAAC,CAAC;IAC3BQ,OAAO,CAACE,UAAU,CAACT,IAAI,CAAC,CAAC,CAAC;IAC1BO,OAAO,CAACE,UAAU,CAACR,MAAM,CAAC,CAAC,CAAC;IAC5BM,OAAO,CAACE,UAAU,CAACP,OAAO,CAAC,CAAC,CAAC;IAC7BK,OAAO,CAACE,UAAU,CAACN,KAAK,CAAC,CAAC,CAAC;IAC3B;IACA;;IAEAI,OAAO,CAACG,kBAAkB,CAAC,CAAC;IAC5BH,OAAO,CAACI,uBAAuB,CAAC,CAAC;IACjCJ,OAAO,CAACK,KAAK,CAAC,CAAC;EACjB,CAAC,CAAC,OAAOC,CAAC,EAAE;IACVT,YAAY,CAAE,oCAAmCS,CAAE,EAAC,EAAE,OAAO,CAAC;EAChE;AACF,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"app.js","names":["ConnectionProfile","Command","admin","agent","authz","app","conn","email","esv","idm","idp","info","journey","logging","realm","saml","script","service","theme","printMessage","getVersions","initConnectionProfiles","program","version","addCommand","showHelpAfterError","enablePositionalOptions","parse","e","process","exitCode","stack"],"sources":["../src/app.ts"],"sourcesContent":["import { ConnectionProfile } from '@rockcarver/frodo-lib';\nimport { Command } from 'commander';\n\n// commands\nimport admin from './cli/admin/admin';\nimport agent from './cli/agent/agent';\nimport authz from './cli/authz/authz';\nimport app from './cli/app/app';\nimport conn from './cli/conn/conn';\nimport email from './cli/email/email';\nimport esv from './cli/esv/esv';\nimport idm from './cli/idm/idm';\nimport idp from './cli/idp/idp';\nimport info from './cli/info/info';\nimport journey from './cli/journey/journey';\nimport logging from './cli/logging/logs';\nimport realm from './cli/realm/realm';\nimport saml from './cli/saml/saml';\nimport script from './cli/script/script';\nimport service from './cli/service/service';\n// enable sample command template.\n// import something from './cli/_template/something';\nimport theme from './cli/theme/theme';\nimport { printMessage } from './utils/Console';\nimport { getVersions } from './utils/Version';\n\nconst { initConnectionProfiles } = ConnectionProfile;\n\n(async () => {\n try {\n const program = new Command('frodo').version(\n await getVersions(false),\n '-v, --version'\n );\n\n printMessage(await getVersions(true), 'text', false);\n\n await initConnectionProfiles();\n\n program.addCommand(admin());\n program.addCommand(agent());\n program.addCommand(authz());\n program.addCommand(app());\n program.addCommand(conn());\n program.addCommand(email());\n program.addCommand(esv());\n program.addCommand(idm());\n program.addCommand(idp());\n program.addCommand(info());\n program.addCommand(journey());\n program.addCommand(logging());\n program.addCommand(realm());\n program.addCommand(saml());\n program.addCommand(script());\n program.addCommand(service());\n program.addCommand(theme());\n // enable sample command template.\n // program.addCommand(something());\n\n program.showHelpAfterError();\n program.enablePositionalOptions();\n program.parse();\n } catch (e) {\n process.exitCode = 1;\n printMessage(`ERROR: exception running frodo - ${e}`, 'error');\n printMessage(e.stack, 'error');\n }\n})();\n"],"mappings":"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"}
@@ -35,23 +35,23 @@ function getLibVersion() {
35
35
  function extractGithubReleaseInfo(data) {
36
36
  const release = {
37
37
  type: 'github',
38
- name: '',
38
+ version: '',
39
39
  published_at: ''
40
40
  };
41
41
  // find first stable release
42
42
  const r = data.find(rel => rel.prerelease == false);
43
- release.name = r.name;
43
+ release.version = r.tag_name.replace('v', '');
44
44
  release.published_at = r.published_at;
45
45
  return release;
46
46
  }
47
47
  function extractNpmReleaseInfo(data) {
48
48
  const release = {
49
49
  type: 'npm',
50
- name: '',
50
+ version: '',
51
51
  published_at: ''
52
52
  };
53
53
  // stable release
54
- release.name = data[`dist-tags`].latest;
54
+ release.version = data[`dist-tags`].latest;
55
55
  release.published_at = data.time[data[`dist-tags`].latest];
56
56
  return release;
57
57
  }
@@ -76,13 +76,12 @@ async function getRemoteVersionData() {
76
76
  allVersions.push(extractNpmReleaseInfo(item['value'].data));
77
77
  }
78
78
  });
79
- // const allVersions = await LibVersion.getAllVersions(ENDPOINTS);
80
79
  allVersions.forEach(element => {
81
80
  // cli
82
81
  if (element.type == 'github') {
83
- versionObject.github = element.name;
82
+ versionObject.github = element.version;
84
83
  } else {
85
- versionObject.npm = element.name;
84
+ versionObject.npm = element.version;
86
85
  }
87
86
  });
88
87
  versionObject.last_checked = Math.floor(Date.now() / 1000);
@@ -95,7 +94,7 @@ function getBinaryName() {
95
94
  export async function getVersions(checkOnly) {
96
95
  let updateAvailable = false;
97
96
  let usingBinary = false;
98
- if (getBinaryName() == 'frodo') {
97
+ if (getBinaryName() === 'frodo' || getBinaryName() === 'frodo.exe') {
99
98
  usingBinary = true;
100
99
  }
101
100
  try {
@@ -109,7 +108,7 @@ export async function getVersions(checkOnly) {
109
108
  npm: null
110
109
  };
111
110
  }
112
- let versionString = `You seem to be running the ${usingBinary ? 'binary' : 'NPM'} package`;
111
+ let versionString = `You are running the ${usingBinary ? 'binary release' : 'NPM package'}.`;
113
112
  versionString += `\nInstalled versions:`;
114
113
  versionString += `\ncli: v${getCliVersion()}\nlib: v${getLibVersion()}\nnode: ${process.version}`;
115
114
  let newVersionString = '';
@@ -1 +1 @@
1
- {"version":3,"file":"Version.js","names":["fs","path","os","fileURLToPath","compareVersions","Color","LibVersion","VERSION_CACHE_FILE","homedir","VERSION_CHECK_INTERVAL","GITHUB_REPOS_URL","GITHUB_RELEASES_PATH_CLI","NPM_BASE_URL","NPM_PACKAGE_PATH_CLI","ENDPOINTS","base","versionObject","last_checked","github","npm","__dirname","dirname","import","meta","url","enable","pkg","JSON","parse","readFileSync","resolve","getCliVersion","version","getLibVersion","getVersion","extractGithubReleaseInfo","data","release","type","name","published_at","r","find","rel","prerelease","extractNpmReleaseInfo","latest","time","getRemoteVersionData","useCache","existsSync","Math","floor","Date","now","allVersions","result","getAllVersions","forEach","item","Array","isArray","push","element","writeFileSync","stringify","getBinaryName","basename","process","execPath","getVersions","checkOnly","updateAvailable","usingBinary","e","versionString","newVersionString","green"],"sources":["../../src/utils/Version.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport os from 'os';\nimport { fileURLToPath } from 'url';\nimport { compareVersions } from 'compare-versions';\n\nimport Color from 'colors';\n\nimport { LibVersion } from '@rockcarver/frodo-lib';\n\nconst VERSION_CACHE_FILE = `${os.homedir()}/.frodo/Versions.json`;\nconst VERSION_CHECK_INTERVAL = 3600;\n\nconst GITHUB_REPOS_URL = `https://api.github.com`;\nconst GITHUB_RELEASES_PATH_CLI = `/repos/rockcarver/frodo-cli/releases`;\n\nconst NPM_BASE_URL = `https://registry.npmjs.org`;\nconst NPM_PACKAGE_PATH_CLI = `/@rockcarver/frodo-cli`;\n\nconst ENDPOINTS = [\n {\n base: GITHUB_REPOS_URL,\n path: GITHUB_RELEASES_PATH_CLI,\n },\n {\n base: NPM_BASE_URL,\n path: NPM_PACKAGE_PATH_CLI,\n },\n];\n\nlet versionObject = {\n last_checked: 0,\n github: '',\n npm: '',\n};\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nColor.enable();\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8')\n);\n\nfunction getCliVersion() {\n return `${pkg.version}`;\n}\n\nfunction getLibVersion() {\n return LibVersion.getVersion();\n}\n\nfunction extractGithubReleaseInfo(data) {\n const release = {\n type: 'github',\n name: '',\n published_at: '',\n };\n // find first stable release\n const r = data.find((rel) => rel.prerelease == false);\n release.name = r.name;\n release.published_at = r.published_at;\n return release;\n}\n\nfunction extractNpmReleaseInfo(data) {\n const release = {\n type: 'npm',\n name: '',\n published_at: '',\n };\n // stable release\n release.name = data[`dist-tags`].latest;\n release.published_at = data.time[data[`dist-tags`].latest];\n return release;\n}\n\nasync function getRemoteVersionData() {\n let useCache = true;\n if (fs.existsSync(VERSION_CACHE_FILE)) {\n const data = fs.readFileSync(VERSION_CACHE_FILE, 'utf8');\n versionObject = JSON.parse(data);\n if (\n versionObject.last_checked + VERSION_CHECK_INTERVAL <\n Math.floor(Date.now() / 1000)\n ) {\n useCache = false;\n }\n } else {\n useCache = false;\n }\n\n if (!useCache) {\n const allVersions = [];\n const result = await LibVersion.getAllVersions(ENDPOINTS);\n result.forEach((item) => {\n if (Array.isArray(item['value'].data)) {\n allVersions.push(extractGithubReleaseInfo(item['value'].data));\n } else {\n allVersions.push(extractNpmReleaseInfo(item['value'].data));\n }\n });\n // const allVersions = await LibVersion.getAllVersions(ENDPOINTS);\n allVersions.forEach((element) => {\n // cli\n if (element.type == 'github') {\n versionObject.github = element.name;\n } else {\n versionObject.npm = element.name;\n }\n });\n versionObject.last_checked = Math.floor(Date.now() / 1000);\n fs.writeFileSync(\n VERSION_CACHE_FILE,\n JSON.stringify(versionObject, null, 2)\n );\n }\n}\n\nfunction getBinaryName() {\n return path.basename(process.execPath);\n}\n\nexport async function getVersions(checkOnly: boolean) {\n let updateAvailable = false;\n let usingBinary = false;\n if (getBinaryName() == 'frodo') {\n usingBinary = true;\n }\n try {\n await getRemoteVersionData();\n } catch (e) {\n // Do not report error if remote version can not be obtained.\n // Just silently report installed version\n versionObject = {\n last_checked: 0,\n github: null,\n npm: null,\n };\n }\n\n let versionString = `You seem to be running the ${\n usingBinary ? 'binary' : 'NPM'\n } package`;\n\n versionString += `\\nInstalled versions:`;\n versionString += `\\ncli: v${getCliVersion()}\\nlib: v${getLibVersion()}\\nnode: ${\n process.version\n }`;\n let newVersionString = '';\n if (\n (usingBinary &&\n versionObject.github != null &&\n compareVersions(getCliVersion(), versionObject.github) == -1) ||\n (!usingBinary &&\n versionObject.npm != null &&\n compareVersions(getCliVersion(), versionObject.npm) == -1)\n ) {\n updateAvailable = true;\n newVersionString += `\\n\\nNewer version(s) available`;\n if (usingBinary) {\n newVersionString +=\n compareVersions(getCliVersion(), versionObject.github) == -1\n ? `\\ncli (github): v${versionObject.github}`.green\n : ``;\n } else {\n newVersionString +=\n compareVersions(getCliVersion(), versionObject.npm) == -1\n ? `\\ncli (npm): v${versionObject.npm}`.green\n : ``;\n }\n }\n if (checkOnly) {\n if (updateAvailable) {\n return `A new version of frodo is available.\\nPlease run 'frodo -v' for more details.\\n`\n .green;\n } else {\n return ``;\n }\n } else {\n return versionString + newVersionString;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Version.js","names":["fs","path","os","fileURLToPath","compareVersions","Color","LibVersion","VERSION_CACHE_FILE","homedir","VERSION_CHECK_INTERVAL","GITHUB_REPOS_URL","GITHUB_RELEASES_PATH_CLI","NPM_BASE_URL","NPM_PACKAGE_PATH_CLI","ENDPOINTS","base","versionObject","last_checked","github","npm","__dirname","dirname","import","meta","url","enable","pkg","JSON","parse","readFileSync","resolve","getCliVersion","version","getLibVersion","getVersion","extractGithubReleaseInfo","data","release","type","published_at","r","find","rel","prerelease","tag_name","replace","extractNpmReleaseInfo","latest","time","getRemoteVersionData","useCache","existsSync","Math","floor","Date","now","allVersions","result","getAllVersions","forEach","item","Array","isArray","push","element","writeFileSync","stringify","getBinaryName","basename","process","execPath","getVersions","checkOnly","updateAvailable","usingBinary","e","versionString","newVersionString","green"],"sources":["../../src/utils/Version.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport os from 'os';\nimport { fileURLToPath } from 'url';\nimport { compareVersions } from 'compare-versions';\n\nimport Color from 'colors';\n\nimport { LibVersion } from '@rockcarver/frodo-lib';\n\nconst VERSION_CACHE_FILE = `${os.homedir()}/.frodo/Versions.json`;\nconst VERSION_CHECK_INTERVAL = 3600;\n\nconst GITHUB_REPOS_URL = `https://api.github.com`;\nconst GITHUB_RELEASES_PATH_CLI = `/repos/rockcarver/frodo-cli/releases`;\n\nconst NPM_BASE_URL = `https://registry.npmjs.org`;\nconst NPM_PACKAGE_PATH_CLI = `/@rockcarver/frodo-cli`;\n\nconst ENDPOINTS = [\n {\n base: GITHUB_REPOS_URL,\n path: GITHUB_RELEASES_PATH_CLI,\n },\n {\n base: NPM_BASE_URL,\n path: NPM_PACKAGE_PATH_CLI,\n },\n];\n\nlet versionObject = {\n last_checked: 0,\n github: '',\n npm: '',\n};\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nColor.enable();\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8')\n);\n\nfunction getCliVersion() {\n return `${pkg.version}`;\n}\n\nfunction getLibVersion() {\n return LibVersion.getVersion();\n}\n\nfunction extractGithubReleaseInfo(data) {\n const release = {\n type: 'github',\n version: '',\n published_at: '',\n };\n // find first stable release\n const r = data.find((rel) => rel.prerelease == false);\n release.version = r.tag_name.replace('v', '');\n release.published_at = r.published_at;\n return release;\n}\n\nfunction extractNpmReleaseInfo(data) {\n const release = {\n type: 'npm',\n version: '',\n published_at: '',\n };\n // stable release\n release.version = data[`dist-tags`].latest;\n release.published_at = data.time[data[`dist-tags`].latest];\n return release;\n}\n\nasync function getRemoteVersionData() {\n let useCache = true;\n if (fs.existsSync(VERSION_CACHE_FILE)) {\n const data = fs.readFileSync(VERSION_CACHE_FILE, 'utf8');\n versionObject = JSON.parse(data);\n if (\n versionObject.last_checked + VERSION_CHECK_INTERVAL <\n Math.floor(Date.now() / 1000)\n ) {\n useCache = false;\n }\n } else {\n useCache = false;\n }\n\n if (!useCache) {\n const allVersions = [];\n const result = await LibVersion.getAllVersions(ENDPOINTS);\n result.forEach((item) => {\n if (Array.isArray(item['value'].data)) {\n allVersions.push(extractGithubReleaseInfo(item['value'].data));\n } else {\n allVersions.push(extractNpmReleaseInfo(item['value'].data));\n }\n });\n allVersions.forEach((element) => {\n // cli\n if (element.type == 'github') {\n versionObject.github = element.version;\n } else {\n versionObject.npm = element.version;\n }\n });\n versionObject.last_checked = Math.floor(Date.now() / 1000);\n fs.writeFileSync(\n VERSION_CACHE_FILE,\n JSON.stringify(versionObject, null, 2)\n );\n }\n}\n\nfunction getBinaryName() {\n return path.basename(process.execPath);\n}\n\nexport async function getVersions(checkOnly: boolean) {\n let updateAvailable = false;\n let usingBinary = false;\n if (getBinaryName() === 'frodo' || getBinaryName() === 'frodo.exe') {\n usingBinary = true;\n }\n try {\n await getRemoteVersionData();\n } catch (e) {\n // Do not report error if remote version can not be obtained.\n // Just silently report installed version\n versionObject = {\n last_checked: 0,\n github: null,\n npm: null,\n };\n }\n\n let versionString = `You are running the ${\n usingBinary ? 'binary release' : 'NPM package'\n }.`;\n\n versionString += `\\nInstalled versions:`;\n versionString += `\\ncli: v${getCliVersion()}\\nlib: v${getLibVersion()}\\nnode: ${\n process.version\n }`;\n let newVersionString = '';\n if (\n (usingBinary &&\n versionObject.github != null &&\n compareVersions(getCliVersion(), versionObject.github) == -1) ||\n (!usingBinary &&\n versionObject.npm != null &&\n compareVersions(getCliVersion(), versionObject.npm) == -1)\n ) {\n updateAvailable = true;\n newVersionString += `\\n\\nNewer version(s) available`;\n if (usingBinary) {\n newVersionString +=\n compareVersions(getCliVersion(), versionObject.github) == -1\n ? `\\ncli (github): v${versionObject.github}`.green\n : ``;\n } else {\n newVersionString +=\n compareVersions(getCliVersion(), versionObject.npm) == -1\n ? `\\ncli (npm): v${versionObject.npm}`.green\n : ``;\n }\n }\n if (checkOnly) {\n if (updateAvailable) {\n return `A new version of frodo is available.\\nPlease run 'frodo -v' for more details.\\n`\n .green;\n } else {\n return ``;\n }\n } else {\n return versionString + newVersionString;\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rockcarver/frodo-cli",
3
- "version": "1.0.0-1",
3
+ "version": "1.0.1",
4
4
  "type": "module",
5
5
  "description": "A command line interface to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.",
6
6
  "keywords": [
@@ -101,7 +101,7 @@
101
101
  ]
102
102
  },
103
103
  "dependencies": {
104
- "@rockcarver/frodo-lib": "1.0.1-1",
104
+ "@rockcarver/frodo-lib": "1.1.0",
105
105
  "chokidar": "^3.5.3",
106
106
  "cli-progress": "^3.11.2",
107
107
  "cli-table3": "^0.6.3",