@equinor/echo-cli 1.0.1 → 1.0.2
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/README.md +354 -354
- package/lib/config/webpack/echoWebpackModule.js +6 -6
- package/lib/echo-dev-host/README.md +121 -121
- package/lib/echo-dev-host/babel.config.js +10 -10
- package/lib/echo-dev-host/jest.config.js +21 -21
- package/lib/echo-dev-host/package-lock.json +12464 -12464
- package/lib/echo-dev-host/package.json +80 -80
- package/lib/echo-dev-host/public/env-config.js +17 -17
- package/lib/echo-dev-host/public/index.html +21 -21
- package/lib/echo-dev-host/tsconfig.json +21 -21
- package/lib/echo-dev-host/webpack.config.js +145 -145
- package/lib/update-echo-libs.js +3 -1
- package/lib/update-echo-libs.js.map +1 -1
- package/package.json +110 -110
- package/templates/echoAppTemplate/.gitattributes +3 -3
- package/templates/echoAppTemplate/package.json +35 -35
- package/templates/echoAppTemplate/readme.md +41 -41
- package/templates/echoAppTemplate/src/app.module.css +5 -5
- package/templates/echoAppTemplate/src/app.tsx +30 -30
- package/templates/echoAppTemplate/src/index.ts +6 -6
- package/templates/echoAppTemplate/tsconfig.json +25 -25
- package/templates/echoAppTemplateTutorial/.gitattributes +3 -3
- package/templates/echoAppTemplateTutorial/package.json +36 -36
- package/templates/echoAppTemplateTutorial/readme.md +41 -41
- package/templates/echoAppTemplateTutorial/src/app.module.css +5 -5
- package/templates/echoAppTemplateTutorial/src/app.tsx +30 -30
- package/templates/echoAppTemplateTutorial/src/index.ts +6 -6
- package/templates/echoAppTemplateTutorial/tsconfig.json +25 -25
- package/templates/echoLibraryTemplate/package.json +35 -35
- package/templates/echoLibraryTemplate/public/index.html +21 -21
- package/templates/echoLibraryTemplate/public/style.css +43 -43
- package/templates/echoLibraryTemplate/readme.md +1 -1
- package/templates/echoPluginTemplate/package.json +35 -35
- package/templates/echoPluginTemplate/public/index.html +21 -21
- package/templates/echoPluginTemplate/public/style.css +43 -43
- package/templates/echoPluginTemplate/readme.md +1 -1
- package/lib/config/common/copyFile.d.ts +0 -2
- package/lib/config/common/copyFile.js +0 -10
- package/lib/config/common/copyFile.js.map +0 -1
- package/lib/echo-update-dev-host-deps.d.ts +0 -33
- package/lib/echo-update-dev-host-deps.js +0 -186
- package/lib/echo-update-dev-host-deps.js.map +0 -1
- package/lib/utils/printDevHostVersions.d.ts +0 -18
- package/lib/utils/printDevHostVersions.js +0 -70
- package/lib/utils/printDevHostVersions.js.map +0 -1
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { Command } from '@oclif/core';
|
|
3
|
-
/**
|
|
4
|
-
* @class UpdateDevHostEchoLibVersions
|
|
5
|
-
* @extends Command
|
|
6
|
-
* @description
|
|
7
|
-
* Interactively updates the echo library dependencies in the `echo-dev-host` project.
|
|
8
|
-
*
|
|
9
|
-
* This command reads the `package.json` file from the `echo-dev-host-tmp` directory,
|
|
10
|
-
* identifies dependencies that are echo libraries (names starting with `@equinor/echo-`),
|
|
11
|
-
* and allows the user to update them to the latest available versions.
|
|
12
|
-
*
|
|
13
|
-
* If the `--all` flag is provided, all echo libraries are updated to their latest versions
|
|
14
|
-
* without prompting the user. Otherwise, the user is prompted for each library to confirm
|
|
15
|
-
* or specify the desired version.
|
|
16
|
-
*
|
|
17
|
-
* After updating dependencies, the command writes the changes to `package.json` and runs
|
|
18
|
-
* `npm install` to apply the updates.
|
|
19
|
-
*
|
|
20
|
-
* @flags
|
|
21
|
-
* - `--all`, `-a`: Update all echo libraries to the latest version without prompting.
|
|
22
|
-
*
|
|
23
|
-
* Logs error if the `package.json` file cannot be read, typically if the
|
|
24
|
-
* `echo-dev-host-tmp` directory or its `package.json` does not exist.
|
|
25
|
-
*/
|
|
26
|
-
export default class UpdateDevHostEchoLibVersions extends Command {
|
|
27
|
-
static description: string;
|
|
28
|
-
static flags: {
|
|
29
|
-
all: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
30
|
-
};
|
|
31
|
-
run(): Promise<void>;
|
|
32
|
-
}
|
|
33
|
-
export declare function updateEchoLibSection(consumerPkg: Record<string, any>, sectionName: 'dependencies' | 'devDependencies' | 'peerDependencies', echoLibs: string[], deps: Record<string, string>, changes: Record<string, string[]>): boolean;
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { Command, Flags } from '@oclif/core';
|
|
3
|
-
import chalk from 'chalk';
|
|
4
|
-
import fs from 'fs-extra';
|
|
5
|
-
import inquirer from 'inquirer';
|
|
6
|
-
import ora from 'ora';
|
|
7
|
-
import path from 'path';
|
|
8
|
-
import { ECHO_HOST_BUILD_OUTPUT_FOLDER, ECHO_HOST_TEMP_BUILD_FOLDER } from './const/common.js';
|
|
9
|
-
import { buildAndCopyDevHost } from './tools/buildScripts/buildAndCopyDevHost.js';
|
|
10
|
-
import { getLatestPkgVersion } from './utils/getLatestPkgVersion.js';
|
|
11
|
-
/**
|
|
12
|
-
* @class UpdateDevHostEchoLibVersions
|
|
13
|
-
* @extends Command
|
|
14
|
-
* @description
|
|
15
|
-
* Interactively updates the echo library dependencies in the `echo-dev-host` project.
|
|
16
|
-
*
|
|
17
|
-
* This command reads the `package.json` file from the `echo-dev-host-tmp` directory,
|
|
18
|
-
* identifies dependencies that are echo libraries (names starting with `@equinor/echo-`),
|
|
19
|
-
* and allows the user to update them to the latest available versions.
|
|
20
|
-
*
|
|
21
|
-
* If the `--all` flag is provided, all echo libraries are updated to their latest versions
|
|
22
|
-
* without prompting the user. Otherwise, the user is prompted for each library to confirm
|
|
23
|
-
* or specify the desired version.
|
|
24
|
-
*
|
|
25
|
-
* After updating dependencies, the command writes the changes to `package.json` and runs
|
|
26
|
-
* `npm install` to apply the updates.
|
|
27
|
-
*
|
|
28
|
-
* @flags
|
|
29
|
-
* - `--all`, `-a`: Update all echo libraries to the latest version without prompting.
|
|
30
|
-
*
|
|
31
|
-
* Logs error if the `package.json` file cannot be read, typically if the
|
|
32
|
-
* `echo-dev-host-tmp` directory or its `package.json` does not exist.
|
|
33
|
-
*/
|
|
34
|
-
export default class UpdateDevHostEchoLibVersions extends Command {
|
|
35
|
-
static description = 'Interactively update echo library dependencies in echo-dev-host';
|
|
36
|
-
static flags = {
|
|
37
|
-
all: Flags.boolean({
|
|
38
|
-
char: 'a',
|
|
39
|
-
description: 'Update all echo libraries to latest without prompting'
|
|
40
|
-
})
|
|
41
|
-
};
|
|
42
|
-
async run() {
|
|
43
|
-
const { flags } = await this.parse(UpdateDevHostEchoLibVersions);
|
|
44
|
-
const devHostPkgPath = path.resolve(process.cwd(), 'node_modules', '@equinor', 'echo-cli', 'lib', 'echo-dev-host', 'package.json');
|
|
45
|
-
this.log(chalk.cyan(`Trying to load echo lib dependencies from: ${chalk.yellow(devHostPkgPath)}`));
|
|
46
|
-
let pkg;
|
|
47
|
-
try {
|
|
48
|
-
pkg = fs.readJsonSync(devHostPkgPath);
|
|
49
|
-
}
|
|
50
|
-
catch (error) {
|
|
51
|
-
this.error(`Could not read package.json at ${chalk.yellow(devHostPkgPath)}. Did you run npm install?`);
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
const deps = pkg.dependencies || {};
|
|
55
|
-
const echoLibs = Object.keys(deps).filter((name) => name.startsWith('@equinor/echo-'));
|
|
56
|
-
if (echoLibs.length === 0) {
|
|
57
|
-
this.log('No echo libraries found in dependencies.');
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
let updated = false;
|
|
61
|
-
const spinner = ora('Fetching latest echo library versions...').start();
|
|
62
|
-
const latestVersions = {};
|
|
63
|
-
// Fetch all latest versions with spinner
|
|
64
|
-
for (const lib of echoLibs) {
|
|
65
|
-
latestVersions[lib] = await getLatestPkgVersion(lib, spinner);
|
|
66
|
-
}
|
|
67
|
-
spinner.succeed('Fetched latest echo library versions.');
|
|
68
|
-
// Determine which libs are up to date and which are outdated
|
|
69
|
-
const upToDateLibs = echoLibs.filter((lib) => deps[lib] === latestVersions[lib]);
|
|
70
|
-
const outdatedLibs = echoLibs.filter((lib) => deps[lib] !== latestVersions[lib]);
|
|
71
|
-
// Log up-to-date libs
|
|
72
|
-
upToDateLibs.forEach((lib) => {
|
|
73
|
-
this.log(chalk.gray(`${lib} is already at latest version (${deps[lib]}), skipping.`));
|
|
74
|
-
});
|
|
75
|
-
if (outdatedLibs.length === 0) {
|
|
76
|
-
this.log(chalk.green('All echo libraries are already at their latest versions. No update needed.'));
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
let autoBump = flags.all;
|
|
80
|
-
if (!flags.all) {
|
|
81
|
-
console.log(chalk.yellow(`Do you want to automatically update all outdated echo libraries to their latest versions?\n` +
|
|
82
|
-
`If you choose 'No', you will be prompted for each library.`));
|
|
83
|
-
const answer = await inquirer.prompt([
|
|
84
|
-
{
|
|
85
|
-
type: 'confirm',
|
|
86
|
-
name: 'autoBump',
|
|
87
|
-
message: `Proceed with automatic update?`,
|
|
88
|
-
default: true
|
|
89
|
-
}
|
|
90
|
-
]);
|
|
91
|
-
autoBump = answer.autoBump;
|
|
92
|
-
}
|
|
93
|
-
for (const lib of outdatedLibs) {
|
|
94
|
-
const current = deps[lib];
|
|
95
|
-
const latest = latestVersions[lib];
|
|
96
|
-
let newVersion = latest;
|
|
97
|
-
if (!autoBump) {
|
|
98
|
-
const answer = await inquirer.prompt([
|
|
99
|
-
{
|
|
100
|
-
type: 'input',
|
|
101
|
-
name: 'version',
|
|
102
|
-
message: `${lib}: current ${current}, latest ${latest} [${latest}]:`,
|
|
103
|
-
default: latest
|
|
104
|
-
}
|
|
105
|
-
]);
|
|
106
|
-
newVersion = answer.version || latest;
|
|
107
|
-
}
|
|
108
|
-
if (newVersion !== current) {
|
|
109
|
-
deps[lib] = newVersion;
|
|
110
|
-
updated = true;
|
|
111
|
-
this.log(chalk.yellow(`Updated ${lib} to ${newVersion}`));
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
if (updated) {
|
|
115
|
-
pkg.dependencies = deps;
|
|
116
|
-
fs.writeJsonSync(devHostPkgPath, pkg, { spaces: 2 });
|
|
117
|
-
console.log(`\nDependencies updated. Rebuilding echo-dev-host...\n`);
|
|
118
|
-
const cliNodeModules = path.resolve(process.cwd(), 'node_modules', '@equinor', 'echo-cli');
|
|
119
|
-
const finalOutput = path.join(cliNodeModules, ECHO_HOST_BUILD_OUTPUT_FOLDER);
|
|
120
|
-
await buildAndCopyDevHost({
|
|
121
|
-
cliNodeModules,
|
|
122
|
-
tmpDevHostFolder: path.resolve(process.cwd(), ECHO_HOST_TEMP_BUILD_FOLDER),
|
|
123
|
-
finalOutputDir: finalOutput
|
|
124
|
-
});
|
|
125
|
-
// --- Update consumer app's package.json ---
|
|
126
|
-
const consumerPkgPath = path.resolve(process.cwd(), 'package.json');
|
|
127
|
-
let consumerPkg;
|
|
128
|
-
try {
|
|
129
|
-
consumerPkg = fs.readJsonSync(consumerPkgPath);
|
|
130
|
-
}
|
|
131
|
-
catch (error) {
|
|
132
|
-
this.error(`Could not read consumer app package.json at ${chalk.yellow(consumerPkgPath)}.`);
|
|
133
|
-
return;
|
|
134
|
-
}
|
|
135
|
-
const echoLibVersionChangesBySection = {};
|
|
136
|
-
const updatedDeps = updateEchoLibSection(consumerPkg, 'dependencies', echoLibs, deps, echoLibVersionChangesBySection);
|
|
137
|
-
const updatedDevDeps = updateEchoLibSection(consumerPkg, 'devDependencies', echoLibs, deps, echoLibVersionChangesBySection);
|
|
138
|
-
const updatedPeerDeps = updateEchoLibSection(consumerPkg, 'peerDependencies', echoLibs, deps, echoLibVersionChangesBySection);
|
|
139
|
-
if (updatedDeps || updatedDevDeps || updatedPeerDeps) {
|
|
140
|
-
fs.writeJsonSync(consumerPkgPath, consumerPkg, { spaces: 2 });
|
|
141
|
-
logGroupedEchoLibUpdates(echoLibVersionChangesBySection, this.log);
|
|
142
|
-
}
|
|
143
|
-
else {
|
|
144
|
-
this.log(chalk.gray('\nNo echo library versions needed updating in consumer app package.json.\n'));
|
|
145
|
-
}
|
|
146
|
-
console.log(`\nDon't forget to run npm install in your consumer app!\n`);
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
console.log(`\nNo changes made to dependencies.\n`);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
UpdateDevHostEchoLibVersions.run();
|
|
154
|
-
/**
|
|
155
|
-
* Logs grouped updates for echo libraries in consumer app package.json.
|
|
156
|
-
*/
|
|
157
|
-
function logGroupedEchoLibUpdates(changes, logFn) {
|
|
158
|
-
logFn(chalk.green("\nUpdated consumer app's echo lib versions:\n"));
|
|
159
|
-
['dependencies', 'devDependencies', 'peerDependencies'].forEach((section) => {
|
|
160
|
-
if (changes[section] && changes[section].length > 0) {
|
|
161
|
-
logFn(chalk.cyan(section));
|
|
162
|
-
changes[section].forEach((msg) => {
|
|
163
|
-
logFn(` - ${msg}`);
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
});
|
|
167
|
-
logFn('');
|
|
168
|
-
}
|
|
169
|
-
export function updateEchoLibSection(consumerPkg, sectionName, echoLibs, deps, changes) {
|
|
170
|
-
const section = consumerPkg[sectionName] || {};
|
|
171
|
-
let sectionUpdated = false;
|
|
172
|
-
for (const lib of echoLibs) {
|
|
173
|
-
if (section[lib] && section[lib] !== deps[lib]) {
|
|
174
|
-
section[lib] = deps[lib];
|
|
175
|
-
sectionUpdated = true;
|
|
176
|
-
if (!changes[sectionName])
|
|
177
|
-
changes[sectionName] = [];
|
|
178
|
-
changes[sectionName].push(`${lib} to ${deps[lib]}`);
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
if (sectionUpdated) {
|
|
182
|
-
consumerPkg[sectionName] = section;
|
|
183
|
-
}
|
|
184
|
-
return sectionUpdated;
|
|
185
|
-
}
|
|
186
|
-
//# sourceMappingURL=echo-update-dev-host-deps.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
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,70 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import fs from 'fs-extra';
|
|
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;
|
|
21
|
-
if (fs.existsSync(devHostPkgPath)) {
|
|
22
|
-
try {
|
|
23
|
-
const pkg = fs.readJsonSync(devHostPkgPath);
|
|
24
|
-
const echoLibs = Object.entries(pkg.dependencies || {}).filter(([name]) => name.startsWith('@equinor/echo-'));
|
|
25
|
-
if (echoLibs.length > 0) {
|
|
26
|
-
let spinner;
|
|
27
|
-
if (fetchLatest) {
|
|
28
|
-
spinner = ora();
|
|
29
|
-
console.log(chalk.yellow(`Fetching latest versions for echo libraries...`));
|
|
30
|
-
}
|
|
31
|
-
let hasOutdatedLibs = false;
|
|
32
|
-
for (const [name, version] of echoLibs) {
|
|
33
|
-
if (fetchLatest) {
|
|
34
|
-
const latest = await getLatestPkgVersion(name, spinner);
|
|
35
|
-
let statusText;
|
|
36
|
-
if (!latest) {
|
|
37
|
-
statusText = chalk.gray('(could not fetch latest)');
|
|
38
|
-
}
|
|
39
|
-
else if (version === latest) {
|
|
40
|
-
statusText = chalk.green('(up to date)');
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
statusText = chalk.red(`(latest: ${latest})`); // orange
|
|
44
|
-
hasOutdatedLibs = true;
|
|
45
|
-
}
|
|
46
|
-
console.log(chalk.yellow(`${name}: ${version} `) + statusText);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
console.log(chalk.yellow(`${name}: ${version}`));
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
if (spinner)
|
|
53
|
-
spinner.stop();
|
|
54
|
-
if (hasOutdatedLibs) {
|
|
55
|
-
console.log(chalk.hex('#FFA500')('Updates available for echo libraries. Run npx update-echo-dev-host-deps to upgrade.'));
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
console.log(chalk.gray(`No @equinor/echo- libraries found in ${devHostPkgPath}.`));
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
catch (err) {
|
|
63
|
-
console.log(chalk.red(`Could not read ${devHostPkgPath}. Is it valid JSON?`));
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
console.log(chalk.red(`Could not read echo lib version numbers: ${devHostPkgPath} does not exist.`));
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=printDevHostVersions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"printDevHostVersions.js","sourceRoot":"","sources":["../../src/utils/printDevHostVersions.ts"],"names":[],"mappings":"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"}
|