@equinor/echo-cli 1.0.0-beta-6 → 1.0.0-beta-7
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/echo-dev-host/package-lock.json +3 -3
- package/echo-dev-host/package.json +1 -1
- package/lib/config/common/copyFile.d.ts +14 -0
- package/lib/config/common/copyFile.js +18 -2
- package/lib/config/common/copyFile.js.map +1 -1
- package/lib/echo-build-dev-host.js +0 -9
- package/lib/echo-build-dev-host.js.map +1 -1
- package/lib/echo-dev-host/package-lock.json +3 -3
- package/lib/echo-dev-host/package.json +1 -1
- package/lib/echo-update-dev-host-deps.d.ts +9 -0
- package/lib/echo-update-dev-host-deps.js +84 -0
- package/lib/echo-update-dev-host-deps.js.map +1 -0
- package/lib/tools/buildScripts/buildAndCopyDevHost.d.ts +15 -0
- package/lib/tools/buildScripts/buildAndCopyDevHost.js +23 -2
- package/lib/tools/buildScripts/buildAndCopyDevHost.js.map +1 -1
- package/lib/utils/logo.js +1 -0
- package/lib/utils/logo.js.map +1 -1
- package/package.json +3 -2
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@equinor/echo-dev-host",
|
|
2
|
+
"name": "@equinor/echo-echo-dev-host",
|
|
3
3
|
"version": "0.0.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
|
-
"name": "@equinor/echo-dev-host",
|
|
8
|
+
"name": "@equinor/echo-echo-dev-host",
|
|
9
9
|
"version": "0.0.1",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"@svgr/webpack": "8.1.0",
|
|
24
24
|
"@tanstack/react-query": "5.80.10",
|
|
25
25
|
"classnames": "2.5.1",
|
|
26
|
-
"fs-extra": "
|
|
26
|
+
"fs-extra": "11.3.0",
|
|
27
27
|
"history": "5.3.0",
|
|
28
28
|
"immer": "10.1.1",
|
|
29
29
|
"lodash": "4.17.21",
|
|
@@ -1,2 +1,16 @@
|
|
|
1
1
|
import { EchoWebpackOptions } from './initOptions.js';
|
|
2
|
+
/**
|
|
3
|
+
* Builds and copies the echo-dev-host application for production use.
|
|
4
|
+
*
|
|
5
|
+
* This function resolves the output directory based on the provided options,
|
|
6
|
+
* removes any leading slashes from the content base path, and then invokes
|
|
7
|
+
* the development host build and copy process with production settings.
|
|
8
|
+
*
|
|
9
|
+
* @param options - The configuration options for the Echo Webpack build process.
|
|
10
|
+
* - `echoModuleConfig.server.contentBase`: The build directory for the given echo module / app. Usually `dist`.
|
|
11
|
+
* Usually defined in echoModule.config.json for the given ehco module / app.
|
|
12
|
+
* - `currentDir`: The current working directory.
|
|
13
|
+
*
|
|
14
|
+
* @returns A promise that resolves when the build and copy process is complete.
|
|
15
|
+
*/
|
|
2
16
|
export declare function buildAndCopyEchoHostForProd(options: EchoWebpackOptions): Promise<void>;
|
|
@@ -1,10 +1,26 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
2
|
import { buildAndCopyDevHost } from '../../tools/buildScripts/buildAndCopyDevHost.js';
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Builds and copies the echo-dev-host application for production use.
|
|
5
|
+
*
|
|
6
|
+
* This function resolves the output directory based on the provided options,
|
|
7
|
+
* removes any leading slashes from the content base path, and then invokes
|
|
8
|
+
* the development host build and copy process with production settings.
|
|
9
|
+
*
|
|
10
|
+
* @param options - The configuration options for the Echo Webpack build process.
|
|
11
|
+
* - `echoModuleConfig.server.contentBase`: The build directory for the given echo module / app. Usually `dist`.
|
|
12
|
+
* Usually defined in echoModule.config.json for the given ehco module / app.
|
|
13
|
+
* - `currentDir`: The current working directory.
|
|
14
|
+
*
|
|
15
|
+
* @returns A promise that resolves when the build and copy process is complete.
|
|
16
|
+
*/
|
|
4
17
|
export async function buildAndCopyEchoHostForProd(options) {
|
|
18
|
+
// Remove leading slash if present
|
|
19
|
+
const contentBase = options.echoModuleConfig.server.contentBase.replace(/^[/\\]+/, '');
|
|
20
|
+
const finalOutputDir = path.resolve(options.currentDir, contentBase);
|
|
5
21
|
await buildAndCopyDevHost({
|
|
6
22
|
consumerRoot: options.currentDir,
|
|
7
|
-
finalOutputDir
|
|
23
|
+
finalOutputDir,
|
|
8
24
|
installAndBuild: true
|
|
9
25
|
});
|
|
10
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copyFile.js","sourceRoot":"","sources":["../../../src/config/common/copyFile.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAGtF
|
|
1
|
+
{"version":3,"file":"copyFile.js","sourceRoot":"","sources":["../../../src/config/common/copyFile.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAGtF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,OAA2B;IACzE,kCAAkC;IAClC,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACvF,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAErE,MAAM,mBAAmB,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC,UAAU;QAChC,cAAc;QACd,eAAe,EAAE,IAAI;KACxB,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1,25 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Command } from '@oclif/command';
|
|
3
|
-
import figlet from 'figlet';
|
|
4
3
|
import path from 'path';
|
|
5
4
|
import { buildAndCopyDevHost } from './tools/buildScripts/buildAndCopyDevHost.js';
|
|
6
5
|
export default class BuildDevHost extends Command {
|
|
7
6
|
static description = 'Build echo-dev-host locally with current echo lib versions';
|
|
8
7
|
async run() {
|
|
9
|
-
console.log(figlet.textSync('Echo Dev Host', {
|
|
10
|
-
font: '3D-ASCII',
|
|
11
|
-
horizontalLayout: 'default',
|
|
12
|
-
verticalLayout: 'default'
|
|
13
|
-
}));
|
|
14
|
-
// Paths
|
|
15
8
|
const cliNodeModules = path.resolve(process.cwd(), 'node_modules', '@equinor', 'echo-cli');
|
|
16
9
|
const finalOutput = path.join(cliNodeModules, 'echo-dev-host');
|
|
17
10
|
await buildAndCopyDevHost({
|
|
18
11
|
consumerRoot: process.cwd(),
|
|
19
12
|
finalOutputDir: finalOutput
|
|
20
13
|
});
|
|
21
|
-
this.log('echo-dev-host build complete.');
|
|
22
|
-
this.log();
|
|
23
14
|
}
|
|
24
15
|
}
|
|
25
16
|
BuildDevHost.run();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"echo-build-dev-host.js","sourceRoot":"","sources":["../src/echo-build-dev-host.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,
|
|
1
|
+
{"version":3,"file":"echo-build-dev-host.js","sourceRoot":"","sources":["../src/echo-build-dev-host.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAElF,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAC7C,MAAM,CAAC,WAAW,GAAG,4DAA4D,CAAC;IAElF,KAAK,CAAC,GAAG;QACL,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAC3F,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;QAE/D,MAAM,mBAAmB,CAAC;YACtB,YAAY,EAAE,OAAO,CAAC,GAAG,EAAE;YAC3B,cAAc,EAAE,WAAW;SAC9B,CAAC,CAAC;IACP,CAAC;;AAGL,YAAY,CAAC,GAAG,EAAE,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@equinor/echo-dev-host",
|
|
2
|
+
"name": "@equinor/echo-echo-dev-host",
|
|
3
3
|
"version": "0.0.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
|
-
"name": "@equinor/echo-dev-host",
|
|
8
|
+
"name": "@equinor/echo-echo-dev-host",
|
|
9
9
|
"version": "0.0.1",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"@svgr/webpack": "8.1.0",
|
|
24
24
|
"@tanstack/react-query": "5.80.10",
|
|
25
25
|
"classnames": "2.5.1",
|
|
26
|
-
"fs-extra": "
|
|
26
|
+
"fs-extra": "11.3.0",
|
|
27
27
|
"history": "5.3.0",
|
|
28
28
|
"immer": "10.1.1",
|
|
29
29
|
"lodash": "4.17.21",
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Command } from '@oclif/command';
|
|
3
|
+
export default class UpdateDevHostEchoLibVersions extends Command {
|
|
4
|
+
static description: string;
|
|
5
|
+
static flags: {
|
|
6
|
+
all: import("@oclif/parser/lib/flags").IBooleanFlag<boolean>;
|
|
7
|
+
};
|
|
8
|
+
run(): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Command, flags } from '@oclif/command';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import { execSync } from 'child_process';
|
|
5
|
+
import fs from 'fs-extra';
|
|
6
|
+
import inquirer from 'inquirer';
|
|
7
|
+
import path from 'path';
|
|
8
|
+
export default class UpdateDevHostEchoLibVersions extends Command {
|
|
9
|
+
static description = 'Interactively update echo library dependencies in echo-dev-host';
|
|
10
|
+
static flags = {
|
|
11
|
+
all: flags.boolean({
|
|
12
|
+
char: 'a',
|
|
13
|
+
description: 'Update all echo libraries to latest without prompting'
|
|
14
|
+
})
|
|
15
|
+
};
|
|
16
|
+
async run() {
|
|
17
|
+
const { flags } = this.parse(UpdateDevHostEchoLibVersions);
|
|
18
|
+
const pkgPath = path.resolve(process.cwd(), 'echo-dev-host-tmp', 'package.json');
|
|
19
|
+
this.log(chalk.cyan(`Trying to load echo lib dependencies from: ${chalk.yellow(pkgPath)}`));
|
|
20
|
+
let pkg;
|
|
21
|
+
try {
|
|
22
|
+
pkg = fs.readJsonSync(pkgPath);
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
this.error(`Could not read package.json at ${chalk.yellow(pkgPath)}. You need to run "npx echo-build-dev-host" first to create the echo-dev-host-tmp folder and its package.json file.`);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const deps = pkg.dependencies || {};
|
|
29
|
+
// Find echo libraries
|
|
30
|
+
const echoLibs = Object.keys(deps).filter((name) => name.startsWith('@equinor/echo-'));
|
|
31
|
+
if (echoLibs.length === 0) {
|
|
32
|
+
this.log('No echo libraries found in dependencies.');
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
let updated = false;
|
|
36
|
+
for (const lib of echoLibs) {
|
|
37
|
+
const current = deps[lib];
|
|
38
|
+
const latest = await getLatestVersion(lib);
|
|
39
|
+
let newVersion = latest;
|
|
40
|
+
if (!flags.all) {
|
|
41
|
+
const answer = await inquirer.prompt([
|
|
42
|
+
{
|
|
43
|
+
type: 'input',
|
|
44
|
+
name: 'version',
|
|
45
|
+
message: `${lib}: current ${current}, latest ${latest} [${latest}]:`,
|
|
46
|
+
default: latest
|
|
47
|
+
}
|
|
48
|
+
]);
|
|
49
|
+
newVersion = answer.version || latest;
|
|
50
|
+
}
|
|
51
|
+
if (newVersion !== current) {
|
|
52
|
+
deps[lib] = newVersion;
|
|
53
|
+
updated = true;
|
|
54
|
+
this.log(`Updated ${lib} to ${newVersion}`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (updated) {
|
|
58
|
+
pkg.dependencies = deps;
|
|
59
|
+
fs.writeJsonSync(pkgPath, pkg, { spaces: 2 });
|
|
60
|
+
this.log('Dependencies updated. Running npm install...');
|
|
61
|
+
execSync('npm install', { stdio: 'inherit' });
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
this.log('No changes made to dependencies.');
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
async function getLatestVersion(pkg) {
|
|
69
|
+
try {
|
|
70
|
+
const result = execSync(`npm view ${pkg} version`, { stdio: ['pipe', 'pipe', 'ignore'] })
|
|
71
|
+
.toString()
|
|
72
|
+
.trim();
|
|
73
|
+
if (!result) {
|
|
74
|
+
console.warn(`Warning: No version found for ${pkg}.`);
|
|
75
|
+
}
|
|
76
|
+
return result;
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
console.warn(`Warning: Could not fetch latest version for ${pkg}.`);
|
|
80
|
+
return '';
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
UpdateDevHostEchoLibVersions.run();
|
|
84
|
+
//# sourceMappingURL=echo-update-dev-host-deps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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,3 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds and copies the `echo-dev-host` package to a specified output directory.
|
|
3
|
+
*
|
|
4
|
+
* This function performs the following steps:
|
|
5
|
+
* 1. Prepares a temporary folder by copying the `echo-dev-host` source from the CLI's node_modules.
|
|
6
|
+
* 2. Optionally installs dependencies and builds the `echo-dev-host` in the temporary folder.
|
|
7
|
+
* 3. Copies the build output to the specified final output directory, replacing any existing content.
|
|
8
|
+
*
|
|
9
|
+
* @param params - The parameters for the build and copy operation.
|
|
10
|
+
* @param params.consumerRoot - The root directory of the consumer project (typically `process.cwd()`).
|
|
11
|
+
* @param params.finalOutputDir - The directory where the built `echo-dev-host` should be copied.
|
|
12
|
+
* @param params.installAndBuild - Whether to run `npm install` and `npm run build` in the temporary folder (default: `true`).
|
|
13
|
+
*
|
|
14
|
+
* @returns A promise that resolves when the build and copy process is complete.
|
|
15
|
+
*/
|
|
1
16
|
export declare function buildAndCopyDevHost({ consumerRoot, finalOutputDir, installAndBuild }: {
|
|
2
17
|
consumerRoot: string;
|
|
3
18
|
finalOutputDir: string;
|
|
@@ -1,9 +1,31 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { execSync } from 'child_process';
|
|
3
|
+
import figlet from 'figlet';
|
|
3
4
|
import fs from 'fs-extra';
|
|
4
5
|
import path from 'path';
|
|
6
|
+
/**
|
|
7
|
+
* Builds and copies the `echo-dev-host` package to a specified output directory.
|
|
8
|
+
*
|
|
9
|
+
* This function performs the following steps:
|
|
10
|
+
* 1. Prepares a temporary folder by copying the `echo-dev-host` source from the CLI's node_modules.
|
|
11
|
+
* 2. Optionally installs dependencies and builds the `echo-dev-host` in the temporary folder.
|
|
12
|
+
* 3. Copies the build output to the specified final output directory, replacing any existing content.
|
|
13
|
+
*
|
|
14
|
+
* @param params - The parameters for the build and copy operation.
|
|
15
|
+
* @param params.consumerRoot - The root directory of the consumer project (typically `process.cwd()`).
|
|
16
|
+
* @param params.finalOutputDir - The directory where the built `echo-dev-host` should be copied.
|
|
17
|
+
* @param params.installAndBuild - Whether to run `npm install` and `npm run build` in the temporary folder (default: `true`).
|
|
18
|
+
*
|
|
19
|
+
* @returns A promise that resolves when the build and copy process is complete.
|
|
20
|
+
*/
|
|
5
21
|
export async function buildAndCopyDevHost({ consumerRoot, finalOutputDir, installAndBuild = true }) {
|
|
6
|
-
|
|
22
|
+
console.log(`${chalk.cyan.bold('echo-dev-host')} - by Echo Core Team`);
|
|
23
|
+
console.log('Minimalistic host application for local development of Echo applications.\n');
|
|
24
|
+
console.log(figlet.textSync('Echo Dev Host', {
|
|
25
|
+
font: '3D-ASCII',
|
|
26
|
+
horizontalLayout: 'default',
|
|
27
|
+
verticalLayout: 'default'
|
|
28
|
+
}));
|
|
7
29
|
const cliNodeModules = path.resolve(consumerRoot, 'node_modules', '@equinor', 'echo-cli');
|
|
8
30
|
const devHostSrc = path.join(cliNodeModules, 'lib', 'echo-dev-host');
|
|
9
31
|
const tmpDevHostFolder = path.resolve(consumerRoot, 'echo-dev-host-tmp');
|
|
@@ -24,7 +46,6 @@ export async function buildAndCopyDevHost({ consumerRoot, finalOutputDir, instal
|
|
|
24
46
|
}
|
|
25
47
|
// 3. Copy build output to final output directory
|
|
26
48
|
console.log(chalk.magentaBright.bold(`\n[echo-dev-host] Copying build output to ${chalk.yellow(finalOutputDir)}...\n`));
|
|
27
|
-
fs.removeSync(finalOutputDir);
|
|
28
49
|
fs.copySync(buildOutput, finalOutputDir);
|
|
29
50
|
console.log(chalk.green.bold('[echo-dev-host] Build and copy complete!\n'));
|
|
30
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildAndCopyDevHost.js","sourceRoot":"","sources":["../../../src/tools/buildScripts/buildAndCopyDevHost.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EACtC,YAAY,EACZ,cAAc,EACd,eAAe,GAAG,IAAI,EAKzB;IACG,
|
|
1
|
+
{"version":3,"file":"buildAndCopyDevHost.js","sourceRoot":"","sources":["../../../src/tools/buildScripts/buildAndCopyDevHost.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EACtC,YAAY,EACZ,cAAc,EACd,eAAe,GAAG,IAAI,EAKzB;IACG,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,CACP,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE;QAC7B,IAAI,EAAE,UAAU;QAChB,gBAAgB,EAAE,SAAS;QAC3B,cAAc,EAAE,SAAS;KAC5B,CAAC,CACL,CAAC;IAEF,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC1F,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;IACrE,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAEjE,+BAA+B;IAC/B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CACP,KAAK,CAAC,UAAU,CAAC,IAAI,CACjB,wEAAwE,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAChH,CACJ,CAAC;QACF,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CACP,KAAK,CAAC,UAAU,CAAC,IAAI,CACjB,sDAAsD,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAC5F,CACJ,CAAC;IACN,CAAC;IAED,yBAAyB;IACzB,IAAI,eAAe,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC,CAAC;QAC/G,QAAQ,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACrE,QAAQ,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,iDAAiD;IACjD,OAAO,CAAC,GAAG,CACP,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,6CAA6C,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAC7G,CAAC;IAEF,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAEzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,CAAC;AAChF,CAAC"}
|
package/lib/utils/logo.js
CHANGED
|
@@ -2,6 +2,7 @@ import chalk from 'chalk';
|
|
|
2
2
|
import figlet from 'figlet';
|
|
3
3
|
export function echoCliLogo() {
|
|
4
4
|
console.log(`${chalk.cyan.bold('EchoCli')} - by Echo Core Team`);
|
|
5
|
+
console.log('Tool for building and running of Echo applications.\n');
|
|
5
6
|
console.log(figlet.textSync('Echo', {
|
|
6
7
|
font: '3D-ASCII',
|
|
7
8
|
horizontalLayout: 'default',
|
package/lib/utils/logo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logo.js","sourceRoot":"","sources":["../../src/utils/logo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,UAAU,WAAW;IACvB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CACP,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;QACpB,IAAI,EAAE,UAAU;QAChB,gBAAgB,EAAE,SAAS;QAC3B,cAAc,EAAE,SAAS;KAC5B,CAAC,CACL,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"logo.js","sourceRoot":"","sources":["../../src/utils/logo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,UAAU,WAAW;IACvB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CACP,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;QACpB,IAAI,EAAE,UAAU;QAChB,gBAAgB,EAAE,SAAS;QAC3B,cAAc,EAAE,SAAS;KAC5B,CAAC,CACL,CAAC;AACN,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@equinor/echo-cli",
|
|
3
|
-
"version": "1.0.0-beta-
|
|
3
|
+
"version": "1.0.0-beta-7",
|
|
4
4
|
"description": "Command line interface for Echo Apps",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"source": "src/test.js",
|
|
@@ -32,7 +32,8 @@
|
|
|
32
32
|
"echo-create": "./lib/echo-create.js",
|
|
33
33
|
"echo-build": "./lib/echo-build.js",
|
|
34
34
|
"echo-manifest": "./lib/echo-manifest.js",
|
|
35
|
-
"build-echo-dev-host": "./lib/echo-build-dev-host.js"
|
|
35
|
+
"build-echo-dev-host": "./lib/echo-build-dev-host.js",
|
|
36
|
+
"update-echo-dev-host-deps": "./lib/echo-update-dev-host-deps.js"
|
|
36
37
|
},
|
|
37
38
|
"files": [
|
|
38
39
|
"lib",
|