@equinor/echo-cli 1.0.0-beta-53 → 1.0.1
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 +132 -9
- package/lib/update-echo-libs.js +7 -7
- package/lib/update-echo-libs.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,27 +2,150 @@
|
|
|
2
2
|
|
|
3
3
|
# EchoCli
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
CLI for creating and building Echo Modules.
|
|
6
|
+
|
|
7
|
+
## What is EchoCli?
|
|
8
|
+
|
|
9
|
+
`echo-cli` is the main tool for developing, building, and running Echo Modules.
|
|
10
|
+
|
|
11
|
+
It now ships with the source code for **echo-dev-host** (formerly `echo-client`).
|
|
12
|
+
**echo-dev-host** is a minimal host application used for local development and testing of Echo Modules.
|
|
13
|
+
|
|
14
|
+
Its main role is to provide a lightweight environment where you can run and interact with your Echo Modules in isolation, without needing to integrate them into a full consumer application (EchopediaWeb).
|
|
15
|
+
This makes it easier and more flexible for consumer teams to develop, test, and update their
|
|
16
|
+
|
|
17
|
+
## New Workflow
|
|
18
|
+
|
|
19
|
+
Available with `echo-cli v1.0.0`.
|
|
20
|
+
|
|
21
|
+
**What's changed?**
|
|
22
|
+
|
|
23
|
+
- `echo-cli` now ships the source code for `echo-dev-host` (not a pre-built version).
|
|
24
|
+
- Consumers build and manage the dev host locally.
|
|
25
|
+
- Echo library dependencies can be updated independently of `echo-cli` releases.
|
|
26
|
+
|
|
27
|
+
### How it works
|
|
28
|
+
|
|
29
|
+
- Develop Echo libraries (`echo-core`, `echo-base`, `echo-utils`, etc.) in the EchopediaWeb monorepo.
|
|
30
|
+
- Release new versions of these libraries from EchopediaWeb.
|
|
31
|
+
- `echo-cli` includes the source for `echo-dev-host`.
|
|
32
|
+
- Consumer projects:
|
|
33
|
+
- Build `echo-dev-host` locally using `npx build-echo-dev-host`
|
|
34
|
+
- Can update Echo library dependencies using `npx update-echo-libs`
|
|
35
|
+
- No need to wait for a new `echo-cli` release to get new Echo library versions. (Pre )
|
|
36
|
+
|
|
37
|
+
#### New workflow diagram
|
|
38
|
+
|
|
39
|
+
```mermaid
|
|
40
|
+
flowchart TD
|
|
41
|
+
subgraph echo-cli
|
|
42
|
+
C["Ship echo-dev-host source code"]
|
|
43
|
+
D["Provides build-echo-dev-host and update-echo-libs commands"]
|
|
44
|
+
end
|
|
45
|
+
subgraph echopediaWeb
|
|
46
|
+
A["Develop Echo Libs: core, base, utils, etc."]
|
|
47
|
+
B["Release Echo Libs"]
|
|
48
|
+
end
|
|
49
|
+
subgraph ConsumerProject["Consumer Project"]
|
|
50
|
+
F["npx build-echo-dev-host (builds echo-dev-host locally)"]
|
|
51
|
+
G["npx update-echo-libs (updates Echo Libs and rebuilds)"]
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
C --> D
|
|
55
|
+
D --> F
|
|
56
|
+
D --> G
|
|
57
|
+
F --> ConsumerProject
|
|
58
|
+
G --> ConsumerProject
|
|
59
|
+
A --> B
|
|
60
|
+
B --> G
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Old Workflow (for reference)
|
|
64
|
+
|
|
65
|
+
Previously, `echo-cli` shipped with a pre-built version of `echo-client`.
|
|
66
|
+
Every Echo library update required a new `echo-cli` release.
|
|
67
|
+
|
|
68
|
+
```mermaid
|
|
69
|
+
flowchart TD
|
|
70
|
+
subgraph echopediaWeb
|
|
71
|
+
A["Develop Echo Libs (core, base, utils, etc.)"]
|
|
72
|
+
B["Release Echo Libs"]
|
|
73
|
+
end
|
|
74
|
+
subgraph echo-client
|
|
75
|
+
C["Update Echo Lib Versions"]
|
|
76
|
+
end
|
|
77
|
+
subgraph echo-cli
|
|
78
|
+
D["Build echo-client<br/>(as part of echo-cli build)"]
|
|
79
|
+
E["Copy build output into echo-cli"]
|
|
80
|
+
F["Release echo-cli<br/>(ships with built echo-client)"]
|
|
81
|
+
end
|
|
82
|
+
G["Consumer Project"]
|
|
83
|
+
|
|
84
|
+
A --> B
|
|
85
|
+
B --> C
|
|
86
|
+
C --> D
|
|
87
|
+
D --> E
|
|
88
|
+
E --> F
|
|
89
|
+
F --> G
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## New Commands
|
|
93
|
+
|
|
94
|
+
After installing `echo-cli` in your project, you can use these commands:
|
|
95
|
+
|
|
96
|
+
### `npx build-echo-dev-host`
|
|
97
|
+
|
|
98
|
+
Builds the lightweight host application for local development usage.
|
|
99
|
+
|
|
100
|
+
What it does:
|
|
101
|
+
|
|
102
|
+
- Copies `echo-dev-host` from `node_modules/@equinor/echo-cli` to your project root as `echo-dev-host-tmp`
|
|
103
|
+
- Runs `npm install` inside `echo-dev-host-tmp`
|
|
104
|
+
- Builds `echo-dev-host` there
|
|
105
|
+
- Copies the build output back to `node_modules/@equinor/echo-cli`
|
|
106
|
+
- After these steps you can run `npm start` to start the local dev server
|
|
107
|
+
|
|
108
|
+
This new command (and workflow) gives you full control over the echo lib dependencies for `echo-dev-host`.
|
|
109
|
+
No need to release `echo-cli` for every Echo library update.
|
|
110
|
+
|
|
111
|
+
### `npx update-echo-libs`
|
|
112
|
+
|
|
113
|
+
Upgrades your echo app's and `echo-dev-host` app's echo libs to latest versions.
|
|
114
|
+
|
|
115
|
+
What it does:
|
|
116
|
+
|
|
117
|
+
- Prompts you for each Echo library: update to latest or specify a version
|
|
118
|
+
- Updates both the consumer echo apps' and the `node_modules/@equinor/echo-cli/lib/echo-dev-host/package.json` with the latest echo lib versions
|
|
119
|
+
- If there any echo libs updated in `echo-dev-host`, it will be re-built
|
|
120
|
+
|
|
121
|
+
### About consumer echo app's prod build
|
|
122
|
+
|
|
123
|
+
While `echo-cli` no longer needs to be released for every Echo library update, it still includes default (hardcoded) Echo library versions.
|
|
124
|
+
During development, you can override these versions as needed for your echo app - but in prod build, we cannot make API calls to get the latest versions of echo libs.
|
|
125
|
+
|
|
126
|
+
For production builds, the script will use the Echo library versions specified in your app’s own dependencies.
|
|
127
|
+
This is important because each `echo-cli` version ships with a specific set of `echo-dev-host` library versions (as mentioned above), but your production build should always rely on the versions defined in your app, not those bundled with
|
|
6
128
|
|
|
7
129
|
## Echo module configuration
|
|
8
130
|
|
|
9
|
-
For information on how to configure your
|
|
131
|
+
For information on how to configure your Echo Module, refer to [this wiki](https://github.com/equinor/EchoFramework/wiki/Echo-Module-Configuration).
|
|
132
|
+
|
|
133
|
+
## How to release echo-cli
|
|
10
134
|
|
|
11
|
-
|
|
135
|
+
See it in our [wiki](https://github.com/equinor/EchopediaWeb/wiki/Release-echo-&-npm%E2%80%90packages#echo-cli).
|
|
12
136
|
|
|
13
|
-
|
|
14
|
-
When you run your Echo Module as a standalone app using `npm start`, a local development shell (`echo-dev-host`) will be built and started, containing your Echo Module.
|
|
137
|
+
## Echo-cli versions table
|
|
15
138
|
|
|
16
|
-
|
|
17
|
-
You can update the Echo library dependencies locally
|
|
18
|
-
See the [`echo-dev-host` README](./echo-dev-host/README.md) for more details
|
|
139
|
+
Each `echo-cli` release is shipped with the source code for `echo-dev-host`.
|
|
140
|
+
You can update the Echo library dependencies locally using the provided commands.
|
|
141
|
+
See the [`echo-dev-host` README](./echo-dev-host/README.md) for more details.
|
|
19
142
|
|
|
20
143
|
Refer to the table below to see which Echo package versions are recommended for each `echo-cli` version.
|
|
21
144
|
In general, it's safe to use a newer patch version of an Echo package than listed, unless otherwise noted.
|
|
22
145
|
|
|
23
146
|
Echo library versions are generally kept in sync for easier usage.
|
|
24
147
|
As a rule of thumb: if you need `v1.2.1` of `echo-framework`, you should use `v1.2.x` of all Echo libraries.
|
|
25
|
-
Patch versions (`x`) can differ between libraries, but the major and minor versions
|
|
148
|
+
Patch versions (`x`) can differ between libraries, but the major and minor versions should match.
|
|
26
149
|
|
|
27
150
|
(older versions can be found at the bottom of this page)
|
|
28
151
|
|
package/lib/update-echo-libs.js
CHANGED
|
@@ -29,13 +29,6 @@ export default class UpdateEchoLibs extends Command {
|
|
|
29
29
|
console.error('Could not find a package.json either in the root folder, or subfolders with @equinor/echo-* dependencies.');
|
|
30
30
|
process.exit(1);
|
|
31
31
|
}
|
|
32
|
-
// 2. Print current echo lib versions
|
|
33
|
-
await printEchoLibsVersions({
|
|
34
|
-
devHostPkgPath,
|
|
35
|
-
appPkgPath: consumerPkgPath,
|
|
36
|
-
fetchLatest: true,
|
|
37
|
-
hideNewVersionsWarningMessage: true
|
|
38
|
-
});
|
|
39
32
|
// 3. Fetch all echo libs and their latest versions (union of both package.jsons)
|
|
40
33
|
const devHostPkg = fs.readJsonSync(devHostPkgPath);
|
|
41
34
|
const consumerPkg = fs.readJsonSync(consumerPkgPath);
|
|
@@ -52,6 +45,13 @@ export default class UpdateEchoLibs extends Command {
|
|
|
52
45
|
latestVersions[lib] = await getLatestPkgVersion(lib, spinner);
|
|
53
46
|
}
|
|
54
47
|
spinner.succeed('Fetched latest echo library versions.');
|
|
48
|
+
// 2. Print current echo lib versions
|
|
49
|
+
await printEchoLibsVersions({
|
|
50
|
+
devHostPkgPath,
|
|
51
|
+
appPkgPath: consumerPkgPath,
|
|
52
|
+
echoLibVersionsToUse: latestVersions,
|
|
53
|
+
hideNewVersionsWarningMessage: true
|
|
54
|
+
});
|
|
55
55
|
// 4. Ask user about auto/manual update
|
|
56
56
|
let autoBump = flags.all;
|
|
57
57
|
if (!flags.all) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-echo-libs.js","sourceRoot":"","sources":["../src/update-echo-libs.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACpH,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IAC/C,MAAM,CAAC,WAAW,GAAG,8EAA8E,CAAC;IAEpG,MAAM,CAAC,KAAK,GAAG;QACX,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC;YACf,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,uDAAuD;SACvE,CAAC;KACL,CAAC;IAEF,KAAK,CAAC,GAAG;QACL,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEnD,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAE5C,6BAA6B;QAC7B,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAC/B,OAAO,CAAC,GAAG,EAAE,EACb,cAAc,EACd,UAAU,EACV,UAAU,EACV,KAAK,EACL,eAAe,EACf,cAAc,CACjB,CAAC;QACF,MAAM,eAAe,GAAG,0BAA0B,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CACT,2GAA2G,CAC9G,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,
|
|
1
|
+
{"version":3,"file":"update-echo-libs.js","sourceRoot":"","sources":["../src/update-echo-libs.ts"],"names":[],"mappings":"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"}
|