@rockcarver/frodo-cli 0.16.1 → 0.16.2-0
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 +15 -2
- package/esm/app.js +8 -11
- package/esm/app.js.map +1 -1
- package/esm/utils/Version.js +153 -0
- package/esm/utils/Version.js.map +1 -0
- package/package.json +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.16.2-0] - 2022-10-11
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- \#82: Check for updates
|
|
15
|
+
|
|
10
16
|
## [0.16.1] - 2022-10-11
|
|
11
17
|
|
|
12
18
|
### Changed
|
|
@@ -36,7 +42,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
36
42
|
|
|
37
43
|
### Fixed
|
|
38
44
|
|
|
39
|
-
- rockcarver/frodo-lib#116: Frodo now properly imports themes.
|
|
45
|
+
- # rockcarver/frodo-lib#116: Frodo now properly imports themes.
|
|
46
|
+
|
|
47
|
+
### Added
|
|
48
|
+
|
|
49
|
+
- \#82: Added version update checking
|
|
50
|
+
> > > > > > > Stashed changes
|
|
40
51
|
|
|
41
52
|
## [0.15.1] - 2022-10-05
|
|
42
53
|
|
|
@@ -649,7 +660,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
649
660
|
- Fixed problem with adding connection profiles
|
|
650
661
|
- Miscellaneous bug fixes
|
|
651
662
|
|
|
652
|
-
[Unreleased]: https://github.com/rockcarver/frodo-cli/compare/v0.16.
|
|
663
|
+
[Unreleased]: https://github.com/rockcarver/frodo-cli/compare/v0.16.2-0...HEAD
|
|
664
|
+
|
|
665
|
+
[0.16.2-0]: https://github.com/rockcarver/frodo-cli/compare/v0.16.1...v0.16.2-0
|
|
653
666
|
|
|
654
667
|
[0.16.1]: https://github.com/rockcarver/frodo-cli/compare/v0.16.0...v0.16.1
|
|
655
668
|
|
package/esm/app.js
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env -S node --no-warnings --enable-source-maps --experimental-specifier-resolution=node
|
|
2
|
-
import {
|
|
3
|
-
import fs from 'fs';
|
|
2
|
+
import { ConnectionProfile } from '@rockcarver/frodo-lib';
|
|
4
3
|
import { Command } from 'commander';
|
|
5
|
-
|
|
6
|
-
import { fileURLToPath } from 'url'; // commands
|
|
7
|
-
|
|
4
|
+
// commands
|
|
8
5
|
import admin from './cli/admin/admin';
|
|
9
6
|
import app from './cli/app/app';
|
|
10
7
|
import conn from './cli/conn/conn';
|
|
@@ -19,17 +16,16 @@ import realm from './cli/realm/realm';
|
|
|
19
16
|
import saml from './cli/saml/saml';
|
|
20
17
|
import script from './cli/script/script';
|
|
21
18
|
import theme from './cli/theme/theme';
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const pkg = JSON.parse(fs.readFileSync(path.resolve(__dirname, '../package.json'), 'utf8'));
|
|
19
|
+
import { printMessage } from './utils/Console';
|
|
20
|
+
import { getVersions } from './utils/Version';
|
|
26
21
|
const {
|
|
27
22
|
initConnectionProfiles
|
|
28
23
|
} = ConnectionProfile;
|
|
29
|
-
const program = new Command('frodo').version(
|
|
24
|
+
const program = new Command('frodo').version(await getVersions(false), '-v, --version');
|
|
30
25
|
|
|
31
26
|
(async () => {
|
|
32
27
|
try {
|
|
28
|
+
printMessage(await getVersions(true), 'text', false);
|
|
33
29
|
initConnectionProfiles();
|
|
34
30
|
program.addCommand(admin());
|
|
35
31
|
program.addCommand(app());
|
|
@@ -49,7 +45,8 @@ const program = new Command('frodo').version(`cli: v${pkg.version}\nlib: ${getVe
|
|
|
49
45
|
program.enablePositionalOptions();
|
|
50
46
|
program.parse();
|
|
51
47
|
} catch (e) {
|
|
52
|
-
console.log(
|
|
48
|
+
console.log(e);
|
|
49
|
+
printMessage(`ERROR: exception running frodo - ${e}`, 'error');
|
|
53
50
|
}
|
|
54
51
|
})();
|
|
55
52
|
//# sourceMappingURL=app.js.map
|
package/esm/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","names":["
|
|
1
|
+
{"version":3,"file":"app.js","names":["ConnectionProfile","Command","admin","app","conn","email","esv","idm","idp","info","journey","logging","realm","saml","script","theme","printMessage","getVersions","initConnectionProfiles","program","version","addCommand","showHelpAfterError","enablePositionalOptions","parse","e","console","log"],"sources":["app.ts"],"sourcesContent":["#!/usr/bin/env -S node --no-warnings --enable-source-maps --experimental-specifier-resolution=node\n\nimport { ConnectionProfile } from '@rockcarver/frodo-lib';\nimport fs from 'fs';\nimport { Command } from 'commander';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\n// commands\nimport admin from './cli/admin/admin';\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 theme from './cli/theme/theme';\nimport { printMessage } from './utils/Console';\nimport { getVersions } from './utils/Version';\n\nconst { initConnectionProfiles } = ConnectionProfile;\n\nconst program = new Command('frodo').version(\n await getVersions(false),\n '-v, --version'\n);\n\n(async () => {\n try {\n printMessage(await getVersions(true), 'text', false);\n\n initConnectionProfiles();\n\n program.addCommand(admin());\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(theme());\n\n program.showHelpAfterError();\n program.enablePositionalOptions();\n program.parse();\n } catch (e) {\n console.log(e);\n printMessage(`ERROR: exception running frodo - ${e}`, 'error');\n }\n})();\n"],"mappings":"AAAA;AAEA,SAASA,iBAAT,QAAkC,uBAAlC;AAEA,SAASC,OAAT,QAAwB,WAAxB;AAIA;AACA,OAAOC,KAAP,MAAkB,mBAAlB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,IAAP,MAAiB,iBAAjB;AACA,OAAOC,KAAP,MAAkB,mBAAlB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,IAAP,MAAiB,iBAAjB;AACA,OAAOC,OAAP,MAAoB,uBAApB;AACA,OAAOC,OAAP,MAAoB,oBAApB;AACA,OAAOC,KAAP,MAAkB,mBAAlB;AACA,OAAOC,IAAP,MAAiB,iBAAjB;AACA,OAAOC,MAAP,MAAmB,qBAAnB;AACA,OAAOC,KAAP,MAAkB,mBAAlB;AACA,SAASC,YAAT,QAA6B,iBAA7B;AACA,SAASC,WAAT,QAA4B,iBAA5B;AAEA,MAAM;EAAEC;AAAF,IAA6BlB,iBAAnC;AAEA,MAAMmB,OAAO,GAAG,IAAIlB,OAAJ,CAAY,OAAZ,EAAqBmB,OAArB,CACd,MAAMH,WAAW,CAAC,KAAD,CADH,EAEd,eAFc,CAAhB;;AAKA,CAAC,YAAY;EACX,IAAI;IACFD,YAAY,CAAC,MAAMC,WAAW,CAAC,IAAD,CAAlB,EAA0B,MAA1B,EAAkC,KAAlC,CAAZ;IAEAC,sBAAsB;IAEtBC,OAAO,CAACE,UAAR,CAAmBnB,KAAK,EAAxB;IACAiB,OAAO,CAACE,UAAR,CAAmBlB,GAAG,EAAtB;IACAgB,OAAO,CAACE,UAAR,CAAmBjB,IAAI,EAAvB;IACAe,OAAO,CAACE,UAAR,CAAmBhB,KAAK,EAAxB;IACAc,OAAO,CAACE,UAAR,CAAmBf,GAAG,EAAtB;IACAa,OAAO,CAACE,UAAR,CAAmBd,GAAG,EAAtB;IACAY,OAAO,CAACE,UAAR,CAAmBb,GAAG,EAAtB;IACAW,OAAO,CAACE,UAAR,CAAmBZ,IAAI,EAAvB;IACAU,OAAO,CAACE,UAAR,CAAmBX,OAAO,EAA1B;IACAS,OAAO,CAACE,UAAR,CAAmBV,OAAO,EAA1B;IACAQ,OAAO,CAACE,UAAR,CAAmBT,KAAK,EAAxB;IACAO,OAAO,CAACE,UAAR,CAAmBR,IAAI,EAAvB;IACAM,OAAO,CAACE,UAAR,CAAmBP,MAAM,EAAzB;IACAK,OAAO,CAACE,UAAR,CAAmBN,KAAK,EAAxB;IAEAI,OAAO,CAACG,kBAAR;IACAH,OAAO,CAACI,uBAAR;IACAJ,OAAO,CAACK,KAAR;EACD,CAvBD,CAuBE,OAAOC,CAAP,EAAU;IACVC,OAAO,CAACC,GAAR,CAAYF,CAAZ;IACAT,YAAY,CAAE,oCAAmCS,CAAE,EAAvC,EAA0C,OAA1C,CAAZ;EACD;AACF,CA5BD"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import os from 'os';
|
|
4
|
+
import { fileURLToPath } from 'url';
|
|
5
|
+
import { compareVersions } from 'compare-versions';
|
|
6
|
+
import Color from 'colors';
|
|
7
|
+
import { LibVersion } from '@rockcarver/frodo-lib';
|
|
8
|
+
const VERSION_CACHE_FILE = `${os.homedir()}/.frodo/Versions.json`;
|
|
9
|
+
const VERSION_CHECK_INTERVAL = 3600;
|
|
10
|
+
const GITHUB_REPOS_URL = `https://api.github.com`;
|
|
11
|
+
const GITHUB_RELEASES_PATH_CLI = `/repos/rockcarver/frodo-cli/releases`;
|
|
12
|
+
const NPM_BASE_URL = `https://registry.npmjs.org`;
|
|
13
|
+
const NPM_PACKAGE_PATH_CLI = `/@rockcarver/frodo-cli`;
|
|
14
|
+
const ENDPOINTS = [{
|
|
15
|
+
base: GITHUB_REPOS_URL,
|
|
16
|
+
path: GITHUB_RELEASES_PATH_CLI
|
|
17
|
+
}, {
|
|
18
|
+
base: NPM_BASE_URL,
|
|
19
|
+
path: NPM_PACKAGE_PATH_CLI
|
|
20
|
+
}];
|
|
21
|
+
let versionObject = {
|
|
22
|
+
last_checked: 0,
|
|
23
|
+
github: '',
|
|
24
|
+
npm: ''
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
28
|
+
|
|
29
|
+
Color.enable();
|
|
30
|
+
const pkg = JSON.parse(fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8'));
|
|
31
|
+
|
|
32
|
+
function getCliVersion() {
|
|
33
|
+
return `${pkg.version}`;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function getLibVersion() {
|
|
37
|
+
return LibVersion.getVersion();
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function extractGithubReleaseInfo(data) {
|
|
41
|
+
const release = {
|
|
42
|
+
type: 'github',
|
|
43
|
+
name: '',
|
|
44
|
+
published_at: ''
|
|
45
|
+
}; // find first stable release
|
|
46
|
+
|
|
47
|
+
const r = data.find(rel => rel.prerelease == false);
|
|
48
|
+
release.name = r.name;
|
|
49
|
+
release.published_at = r.published_at;
|
|
50
|
+
return release;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function extractNpmReleaseInfo(data) {
|
|
54
|
+
const release = {
|
|
55
|
+
type: 'npm',
|
|
56
|
+
name: '',
|
|
57
|
+
published_at: ''
|
|
58
|
+
}; // stable release
|
|
59
|
+
|
|
60
|
+
release.name = data[`dist-tags`].latest;
|
|
61
|
+
release.published_at = data.time[data[`dist-tags`].latest];
|
|
62
|
+
return release;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
async function getRemoteVersionData() {
|
|
66
|
+
let useCache = true;
|
|
67
|
+
|
|
68
|
+
if (fs.existsSync(VERSION_CACHE_FILE)) {
|
|
69
|
+
const data = fs.readFileSync(VERSION_CACHE_FILE, 'utf8');
|
|
70
|
+
versionObject = JSON.parse(data);
|
|
71
|
+
|
|
72
|
+
if (versionObject.last_checked + VERSION_CHECK_INTERVAL < Math.floor(Date.now() / 1000)) {
|
|
73
|
+
useCache = false;
|
|
74
|
+
}
|
|
75
|
+
} else {
|
|
76
|
+
useCache = false;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (!useCache) {
|
|
80
|
+
let allVersions = [];
|
|
81
|
+
const result = await LibVersion.getAllVersions(ENDPOINTS);
|
|
82
|
+
result.forEach(item => {
|
|
83
|
+
if (Array.isArray(item['value'].data)) {
|
|
84
|
+
allVersions.push(extractGithubReleaseInfo(item['value'].data));
|
|
85
|
+
} else {
|
|
86
|
+
allVersions.push(extractNpmReleaseInfo(item['value'].data));
|
|
87
|
+
}
|
|
88
|
+
}); // const allVersions = await LibVersion.getAllVersions(ENDPOINTS);
|
|
89
|
+
|
|
90
|
+
allVersions.forEach(element => {
|
|
91
|
+
// cli
|
|
92
|
+
if (element.type == 'github') {
|
|
93
|
+
versionObject.github = element.name;
|
|
94
|
+
} else {
|
|
95
|
+
versionObject.npm = element.name;
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
versionObject.last_checked = Math.floor(Date.now() / 1000);
|
|
99
|
+
fs.writeFileSync(VERSION_CACHE_FILE, JSON.stringify(versionObject, null, 2));
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
function getBinaryName() {
|
|
104
|
+
return path.basename(process.execPath);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export async function getVersions(checkOnly) {
|
|
108
|
+
let updateAvailable = false;
|
|
109
|
+
let usingBinary = false;
|
|
110
|
+
|
|
111
|
+
if (getBinaryName() == 'frodo') {
|
|
112
|
+
usingBinary = true;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
try {
|
|
116
|
+
await getRemoteVersionData();
|
|
117
|
+
} catch (e) {
|
|
118
|
+
// Do not report error if remote version can not be obtained.
|
|
119
|
+
// Just silently report installed version
|
|
120
|
+
versionObject = {
|
|
121
|
+
last_checked: 0,
|
|
122
|
+
github: null,
|
|
123
|
+
npm: null
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
let versionString = `You seem to be running the ${usingBinary ? 'binary' : 'NPM'} package`;
|
|
128
|
+
versionString += `\nInstalled versions:`;
|
|
129
|
+
versionString += `\ncli: v${getCliVersion()}\nlib: v${getLibVersion()}\nnode: ${process.version}`;
|
|
130
|
+
let newVersionString = '';
|
|
131
|
+
|
|
132
|
+
if (usingBinary && versionObject.github != null && compareVersions(getCliVersion(), versionObject.github) == -1 || !usingBinary && versionObject.npm != null && compareVersions(getCliVersion(), versionObject.npm) == -1) {
|
|
133
|
+
updateAvailable = true;
|
|
134
|
+
newVersionString += `\n\nNewer version(s) available`;
|
|
135
|
+
|
|
136
|
+
if (usingBinary) {
|
|
137
|
+
newVersionString += compareVersions(getCliVersion(), versionObject.github) == -1 ? `\ncli (github): v${versionObject.github}`.green : ``;
|
|
138
|
+
} else {
|
|
139
|
+
newVersionString += compareVersions(getCliVersion(), versionObject.npm) == -1 ? `\ncli (npm): v${versionObject.npm}`.green : ``;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (checkOnly) {
|
|
144
|
+
if (updateAvailable) {
|
|
145
|
+
return `A new version of frodo is available.\nPlease run 'frodo -v' for more details.\n`.green;
|
|
146
|
+
} else {
|
|
147
|
+
return ``;
|
|
148
|
+
}
|
|
149
|
+
} else {
|
|
150
|
+
return versionString + newVersionString;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=Version.js.map
|
|
@@ -0,0 +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":["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 let 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 && versionObject.github != null && \n compareVersions(getCliVersion(), versionObject.github) == -1) ||\n (!usingBinary && versionObject.npm != null && 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": "0.16.
|
|
3
|
+
"version": "0.16.2-0",
|
|
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": [
|
|
@@ -88,11 +88,12 @@
|
|
|
88
88
|
]
|
|
89
89
|
},
|
|
90
90
|
"dependencies": {
|
|
91
|
-
"@rockcarver/frodo-lib": "0.14.
|
|
91
|
+
"@rockcarver/frodo-lib": "0.14.2-0",
|
|
92
92
|
"cli-progress": "^3.11.2",
|
|
93
93
|
"cli-table3": "^0.6.2",
|
|
94
94
|
"colors": "^1.4.0",
|
|
95
95
|
"commander": "^9.4.0",
|
|
96
|
+
"compare-versions": "^5.0.1",
|
|
96
97
|
"nanospinner": "^1.1.0",
|
|
97
98
|
"uuid": "^8.3.2",
|
|
98
99
|
"yesno": "^0.4.0"
|