@equinor/echo-cli 1.0.0-beta-17 → 1.0.0-beta-19
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/lib/echo-build.js +9 -4
- package/lib/echo-build.js.map +1 -1
- package/lib/echo-update-dev-host-deps.js +4 -20
- package/lib/echo-update-dev-host-deps.js.map +1 -1
- package/lib/tools/buildScripts/buildAndCopyDevHost.js +2 -2
- package/lib/tools/buildScripts/buildAndCopyDevHost.js.map +1 -1
- package/lib/utils/getLatestPkgVersion.d.ts +14 -0
- package/lib/utils/getLatestPkgVersion.js +30 -0
- package/lib/utils/getLatestPkgVersion.js.map +1 -0
- package/lib/utils/printDevHostVersions.d.ts +18 -1
- package/lib/utils/printDevHostVersions.js +45 -5
- package/lib/utils/printDevHostVersions.js.map +1 -1
- package/package.json +1 -1
package/lib/echo-build.js
CHANGED
|
@@ -3,6 +3,8 @@ import { Command, Flags } from '@oclif/core';
|
|
|
3
3
|
import chalk from 'chalk';
|
|
4
4
|
import fs from 'fs-extra';
|
|
5
5
|
import path from 'path';
|
|
6
|
+
import { fileURLToPath } from 'url';
|
|
7
|
+
import { ECHO_HOST_BUILD_OUTPUT_FOLDER } from './const/common.js';
|
|
6
8
|
import { echoWebpackBuild } from './tools/buildScripts/webpackBuilds.js';
|
|
7
9
|
import { echoCliLogo } from './utils/logo.js';
|
|
8
10
|
import { printDevHostVersions } from './utils/printDevHostVersions.js';
|
|
@@ -50,17 +52,20 @@ export default class CreateBundle extends Command {
|
|
|
50
52
|
};
|
|
51
53
|
async run() {
|
|
52
54
|
const options = await this.parse(CreateBundle);
|
|
53
|
-
const
|
|
55
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
56
|
+
const __dirname = path.dirname(__filename);
|
|
57
|
+
const echoDevHostPath = path.resolve(__dirname, `./${ECHO_HOST_BUILD_OUTPUT_FOLDER}`);
|
|
54
58
|
if (!fs.existsSync(echoDevHostPath)) {
|
|
55
|
-
this.log(chalk.red(`\n[echo-cli] The
|
|
59
|
+
this.log(chalk.red(`\n[echo-cli] The ${ECHO_HOST_BUILD_OUTPUT_FOLDER} folder was not found at ${echoDevHostPath}.\n` +
|
|
56
60
|
'Please ensure echo-dev-host is built and present in node_modules/@equinor/echo-cli before running this command.\n' +
|
|
57
61
|
'You can do this by running: npx echo-build-dev-host\n'));
|
|
58
62
|
process.exit(1);
|
|
59
63
|
}
|
|
60
64
|
echoCliLogo();
|
|
61
65
|
console.log(chalk.cyan('echo-cli runs your echo application with echo-dev-host, which is using the following echo lib versions:'));
|
|
62
|
-
|
|
63
|
-
|
|
66
|
+
await printDevHostVersions({
|
|
67
|
+
devHostPkgPath: path.resolve(path.resolve(__dirname, './echo-dev-host'), 'package.json')
|
|
68
|
+
});
|
|
64
69
|
await echoWebpackBuild(options.flags, options.flags.isDevelopment);
|
|
65
70
|
}
|
|
66
71
|
}
|
package/lib/echo-build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"echo-build.js","sourceRoot":"","sources":["../src/echo-build.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IACtC,MAAM,CAAC,WAAW,GAAG,qBAAqB,CAAC;IAE3C,MAAM,CAAC,KAAK,GAAG;QAClB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,oCAAoC;SACpD,CAAC;QACF,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC;YACzB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,oDAAoD;SACpE,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAChB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,0CAA0C;SAC1D,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,uDAAuD;SACvE,CAAC;KACL,CAAC;IAEK,KAAK,CAAC,GAAG;QACZ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAE/C,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"echo-build.js","sourceRoot":"","sources":["../src/echo-build.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IACtC,MAAM,CAAC,WAAW,GAAG,qBAAqB,CAAC;IAE3C,MAAM,CAAC,KAAK,GAAG;QAClB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,oCAAoC;SACpD,CAAC;QACF,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC;YACzB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,oDAAoD;SACpE,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAChB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,0CAA0C;SAC1D,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,uDAAuD;SACvE,CAAC;KACL,CAAC;IAEK,KAAK,CAAC,GAAG;QACZ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAE/C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE3C,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,6BAA6B,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,GAAG,CACJ,KAAK,CAAC,GAAG,CACL,oBAAoB,6BAA6B,4BAA4B,eAAe,KAAK;gBAC7F,mHAAmH;gBACnH,uDAAuD,CAC9D,CACJ,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,WAAW,EAAE,CAAC;QAEd,OAAO,CAAC,GAAG,CACP,KAAK,CAAC,IAAI,CACN,yGAAyG,CAC5G,CACJ,CAAC;QAEF,MAAM,oBAAoB,CAAC;YACvB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,cAAc,CAAC;SAC3F,CAAC,CAAC;QAEH,MAAM,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACvE,CAAC;;AAGL,YAAY,CAAC,GAAG,EAAE,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Command, Flags } from '@oclif/core';
|
|
3
3
|
import chalk from 'chalk';
|
|
4
|
-
import { execSync } from 'child_process';
|
|
5
4
|
import fs from 'fs-extra';
|
|
6
5
|
import inquirer from 'inquirer';
|
|
7
6
|
import ora from 'ora';
|
|
8
7
|
import path from 'path';
|
|
9
8
|
import { ECHO_HOST_BUILD_OUTPUT_FOLDER } from './const/common.js';
|
|
10
9
|
import { buildAndCopyDevHost } from './tools/buildScripts/buildAndCopyDevHost.js';
|
|
10
|
+
import { getLatestPkgVersion } from './utils/getLatestPkgVersion.js';
|
|
11
11
|
/**
|
|
12
12
|
* @class UpdateDevHostEchoLibVersions
|
|
13
13
|
* @extends Command
|
|
@@ -62,7 +62,7 @@ export default class UpdateDevHostEchoLibVersions extends Command {
|
|
|
62
62
|
const latestVersions = {};
|
|
63
63
|
// Fetch all latest versions with spinner
|
|
64
64
|
for (const lib of echoLibs) {
|
|
65
|
-
latestVersions[lib] = await
|
|
65
|
+
latestVersions[lib] = await getLatestPkgVersion(lib, spinner);
|
|
66
66
|
}
|
|
67
67
|
spinner.succeed('Fetched latest echo library versions.');
|
|
68
68
|
// Determine which libs are up to date and which are outdated
|
|
@@ -114,7 +114,7 @@ export default class UpdateDevHostEchoLibVersions extends Command {
|
|
|
114
114
|
if (updated) {
|
|
115
115
|
pkg.dependencies = deps;
|
|
116
116
|
fs.writeJsonSync(devHostPkgPath, pkg, { spaces: 2 });
|
|
117
|
-
|
|
117
|
+
console.log(`\nDependencies updated. Rebuilding echo-dev-host...\n`);
|
|
118
118
|
const cliNodeModules = path.resolve(process.cwd(), 'node_modules', '@equinor', 'echo-cli');
|
|
119
119
|
const finalOutput = path.join(cliNodeModules, ECHO_HOST_BUILD_OUTPUT_FOLDER);
|
|
120
120
|
await buildAndCopyDevHost({
|
|
@@ -124,25 +124,9 @@ export default class UpdateDevHostEchoLibVersions extends Command {
|
|
|
124
124
|
});
|
|
125
125
|
}
|
|
126
126
|
else {
|
|
127
|
-
|
|
127
|
+
console.log(`\nNo changes made to dependencies.\n`);
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
-
async function getLatestVersion(pkg, spinner) {
|
|
132
|
-
try {
|
|
133
|
-
spinner.text = `Fetching latest version for ${pkg}...`;
|
|
134
|
-
const result = execSync(`npm view ${pkg} version`, { stdio: ['pipe', 'pipe', 'ignore'] })
|
|
135
|
-
.toString()
|
|
136
|
-
.trim();
|
|
137
|
-
if (!result) {
|
|
138
|
-
spinner.warn(`No version found for ${pkg}.`);
|
|
139
|
-
}
|
|
140
|
-
return result;
|
|
141
|
-
}
|
|
142
|
-
catch (error) {
|
|
143
|
-
spinner.fail(`Could not fetch latest version for ${pkg}.`);
|
|
144
|
-
return '';
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
131
|
UpdateDevHostEchoLibVersions.run();
|
|
148
132
|
//# sourceMappingURL=echo-update-dev-host-deps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"echo-update-dev-host-deps.js","sourceRoot":"","sources":["../src/echo-update-dev-host-deps.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"echo-update-dev-host-deps.js","sourceRoot":"","sources":["../src/echo-update-dev-host-deps.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,13 +69,13 @@ export async function buildAndCopyDevHost({ consumerRoot, finalOutputDir, instal
|
|
|
69
69
|
if (installAndBuild) {
|
|
70
70
|
console.log(chalk.greenBright.bold('[echo-dev-host] Installing dependencies and building echo-dev-host...\n'));
|
|
71
71
|
console.log(chalk.greenBright.bold('[echo-dev-host] Using the following versions of echo libraries - run `npx update-echo-dev-host-deps` to update them:'));
|
|
72
|
-
printDevHostVersions(srcPkgJson);
|
|
72
|
+
await printDevHostVersions({ devHostPkgPath: srcPkgJson, fetchLatest: true });
|
|
73
73
|
execSync('npm install', { cwd: tmpDevHostFolder, stdio: 'inherit' });
|
|
74
74
|
execSync('npm run build', { cwd: tmpDevHostFolder, stdio: 'inherit' });
|
|
75
75
|
}
|
|
76
76
|
// 3. Copy build output to final output directory
|
|
77
77
|
console.log(chalk.magentaBright.bold(`\n[echo-dev-host] Copying build output back to ${chalk.yellow(finalOutputDir)}...\n`));
|
|
78
78
|
fs.copySync(buildOutput, finalOutputDir);
|
|
79
|
-
console.log(chalk.green.bold('[echo-dev-host] Build and copy complete
|
|
79
|
+
console.log(chalk.green.bold('[echo-dev-host] Build and copy complete! Now you can start your Echo app with "npm start"\n'));
|
|
80
80
|
}
|
|
81
81
|
//# sourceMappingURL=buildAndCopyDevHost.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildAndCopyDevHost.js","sourceRoot":"","sources":["../../../src/tools/buildScripts/buildAndCopyDevHost.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"buildAndCopyDevHost.js","sourceRoot":"","sources":["../../../src/tools/buildScripts/buildAndCopyDevHost.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Ora } from 'ora';
|
|
3
|
+
/**
|
|
4
|
+
* Retrieves the latest published version of an npm package.
|
|
5
|
+
*
|
|
6
|
+
* @param pkg - The name of the npm package to query.
|
|
7
|
+
* @param spinner - An Ora spinner instance used to display progress and status messages.
|
|
8
|
+
* @returns A promise that resolves to the latest version string of the package, or an empty string if not found or on error.
|
|
9
|
+
*
|
|
10
|
+
* @remarks
|
|
11
|
+
* This function uses the `npm view <pkg> version` command to fetch the latest version.
|
|
12
|
+
* The spinner is updated to reflect the progress, warnings, or failures during the process.
|
|
13
|
+
*/
|
|
14
|
+
export declare function getLatestPkgVersion(pkg: string, spinner: Ora): Promise<string>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { execSync } from 'child_process';
|
|
3
|
+
/**
|
|
4
|
+
* Retrieves the latest published version of an npm package.
|
|
5
|
+
*
|
|
6
|
+
* @param pkg - The name of the npm package to query.
|
|
7
|
+
* @param spinner - An Ora spinner instance used to display progress and status messages.
|
|
8
|
+
* @returns A promise that resolves to the latest version string of the package, or an empty string if not found or on error.
|
|
9
|
+
*
|
|
10
|
+
* @remarks
|
|
11
|
+
* This function uses the `npm view <pkg> version` command to fetch the latest version.
|
|
12
|
+
* The spinner is updated to reflect the progress, warnings, or failures during the process.
|
|
13
|
+
*/
|
|
14
|
+
export async function getLatestPkgVersion(pkg, spinner) {
|
|
15
|
+
try {
|
|
16
|
+
spinner.text = `Fetching latest version for ${pkg}...`;
|
|
17
|
+
const result = execSync(`npm view ${pkg} version`, { stdio: ['pipe', 'pipe', 'ignore'] })
|
|
18
|
+
.toString()
|
|
19
|
+
.trim();
|
|
20
|
+
if (!result) {
|
|
21
|
+
spinner.warn(`No version found for ${pkg}.`);
|
|
22
|
+
}
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
spinner.fail(`Could not fetch latest version for ${pkg}.`);
|
|
27
|
+
return '';
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=getLatestPkgVersion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getLatestPkgVersion.js","sourceRoot":"","sources":["../../src/utils/getLatestPkgVersion.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAAW,EAAE,OAAY;IAC/D,IAAI,CAAC;QACD,OAAO,CAAC,IAAI,GAAG,+BAA+B,GAAG,KAAK,CAAC;QACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,GAAG,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;aACpF,QAAQ,EAAE;aACV,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,wBAAwB,GAAG,GAAG,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,sCAAsC,GAAG,GAAG,CAAC,CAAC;QAC3D,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC"}
|
|
@@ -1 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Prints the versions of all `@equinor/echo-` libraries listed as dependencies in a given package.json file.
|
|
3
|
+
* Optionally, fetches and displays the latest available versions from the npm registry for comparison.
|
|
4
|
+
*
|
|
5
|
+
* @param args - An object containing:
|
|
6
|
+
* - `devHostPkgPath`: The file path to the package.json to inspect.
|
|
7
|
+
* - `fetchLatest` (optional): If true, fetches the latest versions from npm and compares them to the installed versions.
|
|
8
|
+
* @returns A promise that resolves when the operation is complete.
|
|
9
|
+
*
|
|
10
|
+
* @remarks
|
|
11
|
+
* - Outputs version information to the console, using colored formatting for clarity.
|
|
12
|
+
* - If `fetchLatest` is true, displays whether each dependency is up to date or shows the latest version available.
|
|
13
|
+
* - Handles missing files and invalid JSON gracefully, printing error messages to the console.
|
|
14
|
+
*/
|
|
15
|
+
export declare function printDevHostVersions(args: {
|
|
16
|
+
devHostPkgPath: string;
|
|
17
|
+
fetchLatest?: boolean;
|
|
18
|
+
}): Promise<void>;
|
|
@@ -1,14 +1,54 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import fs from 'fs-extra';
|
|
3
|
-
|
|
3
|
+
import ora from 'ora';
|
|
4
|
+
import { getLatestPkgVersion } from './getLatestPkgVersion.js';
|
|
5
|
+
/**
|
|
6
|
+
* Prints the versions of all `@equinor/echo-` libraries listed as dependencies in a given package.json file.
|
|
7
|
+
* Optionally, fetches and displays the latest available versions from the npm registry for comparison.
|
|
8
|
+
*
|
|
9
|
+
* @param args - An object containing:
|
|
10
|
+
* - `devHostPkgPath`: The file path to the package.json to inspect.
|
|
11
|
+
* - `fetchLatest` (optional): If true, fetches the latest versions from npm and compares them to the installed versions.
|
|
12
|
+
* @returns A promise that resolves when the operation is complete.
|
|
13
|
+
*
|
|
14
|
+
* @remarks
|
|
15
|
+
* - Outputs version information to the console, using colored formatting for clarity.
|
|
16
|
+
* - If `fetchLatest` is true, displays whether each dependency is up to date or shows the latest version available.
|
|
17
|
+
* - Handles missing files and invalid JSON gracefully, printing error messages to the console.
|
|
18
|
+
*/
|
|
19
|
+
export async function printDevHostVersions(args) {
|
|
20
|
+
const { devHostPkgPath, fetchLatest } = args;
|
|
4
21
|
if (fs.existsSync(devHostPkgPath)) {
|
|
5
22
|
try {
|
|
6
23
|
const pkg = fs.readJsonSync(devHostPkgPath);
|
|
7
24
|
const echoLibs = Object.entries(pkg.dependencies || {}).filter(([name]) => name.startsWith('@equinor/echo-'));
|
|
8
25
|
if (echoLibs.length > 0) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
26
|
+
let spinner;
|
|
27
|
+
if (fetchLatest) {
|
|
28
|
+
spinner = ora();
|
|
29
|
+
console.log(chalk.yellow(`Fetching latest versions for echo libraries...`));
|
|
30
|
+
}
|
|
31
|
+
for (const [name, version] of echoLibs) {
|
|
32
|
+
if (fetchLatest) {
|
|
33
|
+
const latest = await getLatestPkgVersion(name, spinner);
|
|
34
|
+
let statusText;
|
|
35
|
+
if (!latest) {
|
|
36
|
+
statusText = chalk.gray('(could not fetch latest)');
|
|
37
|
+
}
|
|
38
|
+
else if (version === latest) {
|
|
39
|
+
statusText = chalk.green('(up to date)');
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
statusText = chalk.hex('#FFA500')(`(latest: ${latest})`); // orange
|
|
43
|
+
}
|
|
44
|
+
console.log(chalk.yellow(`${name}: ${version} `) + statusText);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
console.log(chalk.yellow(`${name}: ${version}`));
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (spinner)
|
|
51
|
+
spinner.stop();
|
|
12
52
|
}
|
|
13
53
|
else {
|
|
14
54
|
console.log(chalk.gray(`No @equinor/echo- libraries found in ${devHostPkgPath}.`));
|
|
@@ -19,7 +59,7 @@ export function printDevHostVersions(devHostPkgPath) {
|
|
|
19
59
|
}
|
|
20
60
|
}
|
|
21
61
|
else {
|
|
22
|
-
console.log(chalk.red(`Could not read echo lib version numbers: ${devHostPkgPath} not
|
|
62
|
+
console.log(chalk.red(`Could not read echo lib version numbers: ${devHostPkgPath} does not exist.`));
|
|
23
63
|
}
|
|
24
64
|
}
|
|
25
65
|
//# sourceMappingURL=printDevHostVersions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printDevHostVersions.js","sourceRoot":"","sources":["../../src/utils/printDevHostVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"printDevHostVersions.js","sourceRoot":"","sources":["../../src/utils/printDevHostVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAuD;IAC9F,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAC7C,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CACtE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CACpC,CAAC;YACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,OAAO,CAAC;gBACZ,IAAI,WAAW,EAAE,CAAC;oBACd,OAAO,GAAG,GAAG,EAAE,CAAC;oBAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gDAAgD,CAAC,CAAC,CAAC;gBAChF,CAAC;gBACD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACrC,IAAI,WAAW,EAAE,CAAC;wBACd,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;wBACxD,IAAI,UAAkB,CAAC;wBACvB,IAAI,CAAC,MAAM,EAAE,CAAC;4BACV,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;wBACxD,CAAC;6BAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;4BAC5B,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;wBAC7C,CAAC;6BAAM,CAAC;4BACJ,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS;wBACvE,CAAC;wBACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,KAAK,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;oBACnE,CAAC;yBAAM,CAAC;wBACJ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;oBACrD,CAAC;gBACL,CAAC;gBACD,IAAI,OAAO;oBAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wCAAwC,cAAc,GAAG,CAAC,CAAC,CAAC;YACvF,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,cAAc,qBAAqB,CAAC,CAAC,CAAC;QAClF,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4CAA4C,cAAc,kBAAkB,CAAC,CAAC,CAAC;IACzG,CAAC;AACL,CAAC"}
|