@equinor/echo-cli 1.0.0-beta-5 → 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.
@@ -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": "^11.3.0",
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,5 +1,5 @@
1
1
  {
2
- "name": "@equinor/echo-client",
2
+ "name": "@equinor/echo-echo-dev-host",
3
3
  "version": "0.0.1",
4
4
  "description": "",
5
5
  "main": "index.js",
@@ -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,19 +1,26 @@
1
- // import ncp from 'ncp';
2
- // import { promisify } from 'util';
3
- // const copy = promisify(ncp);
4
- // export async function copyClientFiles(options: EchoWebpackOptions): Promise<boolean> {
5
- // const success = await copy(options.wwwRoot, options.currentDir + options.echoModuleConfig.server.contentBase, {
6
- // clobber: false
7
- // });
8
- // return success;
9
- // }
10
1
  import path from 'path';
11
2
  import { buildAndCopyDevHost } from '../../tools/buildScripts/buildAndCopyDevHost.js';
12
- // New re-usable function for echo-dev-host
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
+ */
13
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);
14
21
  await buildAndCopyDevHost({
15
22
  consumerRoot: options.currentDir,
16
- finalOutputDir: path.resolve(options.currentDir, options.echoModuleConfig.server.contentBase),
23
+ finalOutputDir,
17
24
  installAndBuild: true
18
25
  });
19
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"copyFile.js","sourceRoot":"","sources":["../../../src/config/common/copyFile.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,oCAAoC;AAEpC,+BAA+B;AAE/B,yFAAyF;AACzF,sHAAsH;AACtH,yBAAyB;AACzB,UAAU;AACV,sBAAsB;AACtB,IAAI;AAEJ,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAGtF,2CAA2C;AAC3C,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,OAA2B;IACzE,MAAM,mBAAmB,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC,UAAU;QAChC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC;QAC7F,eAAe,EAAE,IAAI;KACxB,CAAC,CAAC;AACP,CAAC"}
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
- import { buildAndCopyDevHost } from './tools/buildScripts/buildAndCopyDevHost';
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,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAE/E,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAC7C,MAAM,CAAC,WAAW,GAAG,4DAA4D,CAAC;IAElF,KAAK,CAAC,GAAG;QACL,OAAO,CAAC,GAAG,CACP,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE;YAC7B,IAAI,EAAE,UAAU;YAChB,gBAAgB,EAAE,SAAS;YAC3B,cAAc,EAAE,SAAS;SAC5B,CAAC,CACL,CAAC;QACF,QAAQ;QACR,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;QAEH,IAAI,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;IACf,CAAC;;AAGL,YAAY,CAAC,GAAG,EAAE,CAAC"}
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": "^11.3.0",
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,5 +1,5 @@
1
1
  {
2
- "name": "@equinor/echo-client",
2
+ "name": "@equinor/echo-echo-dev-host",
3
3
  "version": "0.0.1",
4
4
  "description": "",
5
5
  "main": "index.js",
@@ -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
- // Constants
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,YAAY;IACZ,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;IACF,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAC9B,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"}
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',
@@ -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-5",
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",