@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 +45 -1
- package/esm/app.js +2 -0
- package/esm/app.js.map +1 -1
- package/esm/utils/Version.js +8 -9
- package/esm/utils/Version.js.map +1 -1
- package/package.json +2 -2
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/
|
|
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;
|
|
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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"}
|
package/esm/utils/Version.js
CHANGED
|
@@ -35,23 +35,23 @@ function getLibVersion() {
|
|
|
35
35
|
function extractGithubReleaseInfo(data) {
|
|
36
36
|
const release = {
|
|
37
37
|
type: 'github',
|
|
38
|
-
|
|
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.
|
|
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
|
-
|
|
50
|
+
version: '',
|
|
51
51
|
published_at: ''
|
|
52
52
|
};
|
|
53
53
|
// stable release
|
|
54
|
-
release.
|
|
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.
|
|
82
|
+
versionObject.github = element.version;
|
|
84
83
|
} else {
|
|
85
|
-
versionObject.npm = element.
|
|
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()
|
|
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
|
|
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 = '';
|
package/esm/utils/Version.js.map
CHANGED
|
@@ -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.
|
|
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
|
|
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",
|