@equinor/echo-cli 2.1.0-beta-0 → 2.1.0-beta-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 +25 -0
- package/lib/config/common/echoManifest.js +0 -3
- package/lib/config/common/echoManifest.js.map +1 -1
- package/lib/config/webpack/configBuilders/devServer.js +0 -14
- package/lib/config/webpack/configBuilders/devServer.js.map +1 -1
- package/lib/config/webpack/server.js +0 -16
- package/lib/config/webpack/server.js.map +1 -1
- package/lib/echo-dev-host/package-lock.json +429 -93
- package/lib/echo-dev-host/package.json +6 -6
- package/lib/sync-dev-host-to-app.d.ts +26 -0
- package/lib/sync-dev-host-to-app.js +63 -0
- package/lib/sync-dev-host-to-app.js.map +1 -0
- package/lib/sync-echo-dev-versions.d.ts +6 -0
- package/lib/sync-echo-dev-versions.js +43 -0
- package/lib/sync-echo-dev-versions.js.map +1 -0
- package/lib/tools/buildScripts/buildAndCopyDevHost.d.ts +38 -1
- package/lib/tools/buildScripts/buildAndCopyDevHost.js +73 -10
- package/lib/tools/buildScripts/buildAndCopyDevHost.js.map +1 -1
- package/lib/tools/buildScripts/buildAndCopyDevHost.test.js +502 -0
- package/lib/tools/buildScripts/buildAndCopyDevHost.test.js.map +1 -0
- package/lib/utils/merge.test.d.ts +1 -0
- package/lib/{__test__/utils/merg.test.js → utils/merge.test.js} +2 -2
- package/lib/utils/merge.test.js.map +1 -0
- package/package.json +5 -4
- package/lib/__test__/utils/merg.test.js.map +0 -1
- /package/lib/{__test__/utils/merg.test.d.ts → tools/buildScripts/buildAndCopyDevHost.test.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -118,6 +118,30 @@ What it does:
|
|
|
118
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
119
|
- If there any echo libs updated in `echo-dev-host`, it will be re-built
|
|
120
120
|
|
|
121
|
+
### `npx sync-dev-host-to-app`
|
|
122
|
+
|
|
123
|
+
Syncs `echo-dev-host` to use the exact echo library versions from your app's `package.json`.
|
|
124
|
+
|
|
125
|
+
**Use case:** When switching git branches with different echo library versions.
|
|
126
|
+
|
|
127
|
+
What it does:
|
|
128
|
+
|
|
129
|
+
- Reads echo library versions from your app's `package.json`
|
|
130
|
+
- Forces `echo-dev-host` to use those exact versions (downgrades if needed)
|
|
131
|
+
- Rebuilds `echo-dev-host` with the synced versions
|
|
132
|
+
|
|
133
|
+
**Example workflow:**
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
# You're on Branch A with echo libs 2.3.0
|
|
137
|
+
git checkout branch-b # Branch B uses 2.0.1
|
|
138
|
+
|
|
139
|
+
# Sync dev host to match Branch B's versions
|
|
140
|
+
npx sync-dev-host-to-app
|
|
141
|
+
|
|
142
|
+
npm start # Now uses 2.0.1
|
|
143
|
+
```
|
|
144
|
+
|
|
121
145
|
### About consumer echo app's prod build
|
|
122
146
|
|
|
123
147
|
While `echo-cli` no longer needs to be released for every Echo library update, it still includes default (hardcoded) Echo library versions.
|
|
@@ -152,6 +176,7 @@ Patch versions (`x`) can differ between libraries, but the major and minor versi
|
|
|
152
176
|
<!-- prettier-ignore -->
|
|
153
177
|
| Cli | [Base](tree/master/libs/echo-base) | [Core](tree/master/libs/echo-core) | [Search](tree/master/libs/echo-search) | [Framework](tree/master/libs/echo-framework) | [Components](tree/master/libs/echo-components) | [Utils](tree/master/libs/echo-utils) | [EDS Core](https://github.com/equinor/design-system) | [EDS Icons](https://github.com/equinor/design-system/tree/develop/packages/eds-icons) | [EDS Utils](https://github.com/equinor/design-system/tree/develop/packages/eds-utils) | Notes
|
|
154
178
|
|--------|-------|-------|--------|-----------|--------|--------|----------|---------|-----|------|
|
|
179
|
+
| 2.0.1 | **2.2.1** | **2.2.1** | **2.2.1** | **2.2.1** | **2.2.1** | **2.2.1** | 0.49.0 | 0.22.0 | 0.9.0 |
|
|
155
180
|
| 2.0.0 | **2.0.0** | **2.0.0** | **2.0.0** | **2.0.0** | **2.0.0** | **2.0.0** | **0.49.0** | 0.22.0 | **0.9.0** | new EDS version
|
|
156
181
|
| 1.0.3 | **1.3.0** | **1.3.0** | **1.3.0** | **1.3.0** | **1.3.0** | **1.3.0** | 0.43.0 | 0.22.0 | 0.8.6 |
|
|
157
182
|
| 0.21.6 | 1.0.0 | 1.0.0 | 1.0.0 | **1.1.0** | **1.0.0** | **1.1.0** | 0.43.0 | 0.22.0 | 0.8.6 |
|
|
@@ -15,8 +15,6 @@ export async function createEchoModuleManifest(echoModuleConfig, currentPath, re
|
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
17
|
try {
|
|
18
|
-
// Only include localPort if server.host is localhost
|
|
19
|
-
const shouldIncludeLocalPort = echoModuleConfig.server.host === 'localhost' && echoModuleConfig.server.port;
|
|
20
18
|
const newEchoModuleManifest = [
|
|
21
19
|
{
|
|
22
20
|
name: echoModuleConfig.manifest.name,
|
|
@@ -27,7 +25,6 @@ export async function createEchoModuleManifest(echoModuleConfig, currentPath, re
|
|
|
27
25
|
qaFileUri: echoModuleConfig.manifest.qaFileUri,
|
|
28
26
|
testFileUri: echoModuleConfig.manifest.testFileUri,
|
|
29
27
|
test2FileUri: echoModuleConfig.manifest.test2FileUri,
|
|
30
|
-
...(shouldIncludeLocalPort && { localPort: echoModuleConfig.server.port }),
|
|
31
28
|
path: echoModuleConfig.manifest.path,
|
|
32
29
|
version: pkj.version,
|
|
33
30
|
private: echoModuleConfig.manifest.private,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"echoManifest.js","sourceRoot":"","sources":["../../../src/config/common/echoManifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC1C,gBAAkC,EAClC,WAAoB,EACpB,UAAmB;IAEnB,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5E,OAAO;IACX,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;IAE9C,MAAM,SAAS,GAAG,GAAG,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACzE,MAAM,QAAQ,GAAG,GAAG,SAAS,0BAA0B,CAAC;IAExD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE;YACpB,SAAS,EAAE,IAAI;SAClB,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC;QACD,
|
|
1
|
+
{"version":3,"file":"echoManifest.js","sourceRoot":"","sources":["../../../src/config/common/echoManifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC1C,gBAAkC,EAClC,WAAoB,EACpB,UAAmB;IAEnB,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5E,OAAO;IACX,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;IAE9C,MAAM,SAAS,GAAG,GAAG,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACzE,MAAM,QAAQ,GAAG,GAAG,SAAS,0BAA0B,CAAC;IAExD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE;YACpB,SAAS,EAAE,IAAI;SAClB,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC;QACD,MAAM,qBAAqB,GAAG;YAC1B;gBACI,IAAI,EAAE,gBAAgB,CAAC,QAAQ,CAAC,IAAI;gBACpC,GAAG,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GAAG;gBAClC,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC,SAAS;gBAC9C,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,OAAO;gBAC1C,UAAU,EAAE,gBAAgB,CAAC,QAAQ,CAAC,UAAU;gBAChD,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC,SAAS;gBAC9C,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,WAAW;gBAClD,YAAY,EAAE,gBAAgB,CAAC,QAAQ,CAAC,YAAY;gBACpD,IAAI,EAAE,gBAAgB,CAAC,QAAQ,CAAC,IAAI;gBACpC,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,OAAO;gBAC1C,UAAU;aACb;SACJ,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC3C,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,OAAO,IAAI,QAAQ,EAAE,CAAC;AAC1B,CAAC"}
|
|
@@ -38,20 +38,6 @@ export function defineDevServer(current, root, modulePath, echoModuleConfig) {
|
|
|
38
38
|
if (!devServer.app) {
|
|
39
39
|
throw new Error('webpack-dev-server is not defined');
|
|
40
40
|
}
|
|
41
|
-
// Add CORS headers for local development (allows echopediaWeb on :3000 to access remote modules on :3001)
|
|
42
|
-
// this makes it possible to load echo modules from different localhost ports, which is common in development setups:
|
|
43
|
-
// running echo apps with echopediaWeb context
|
|
44
|
-
devServer.app.use((req, res, next) => {
|
|
45
|
-
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
46
|
-
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
|
|
47
|
-
res.setHeader('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization');
|
|
48
|
-
if (req.method === 'OPTIONS') {
|
|
49
|
-
res.sendStatus(200);
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
next();
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
41
|
devServer.app.use('/', [express.static(root), express.static(publicPath)]);
|
|
56
42
|
middlewares.push({
|
|
57
43
|
path: '*',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devServer.js","sourceRoot":"","sources":["../../../../src/config/webpack/configBuilders/devServer.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC3B,OAAe,EACf,IAAY,EACZ,UAAkB,EAClB,gBAAkC;IAElC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC;IAC9D,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC,aAAa,CAAC;IAEjD,OAAO;QACH,IAAI;QACJ,IAAI;QACJ,MAAM,EAAE;YACJ;gBACI,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,GAAG;aAClB;YACD;gBACI,SAAS,EAAE,UAAU;gBACrB,KAAK,EAAE,IAAI;aACd;SACJ;QACD,GAAG,EAAE,IAAI;QACT,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE;YACX,WAAW,EAAE,IAAI;YACjB,UAAU;YACV,KAAK,EAAE,IAAI;YACX,KAAK;SACR;QACD,MAAM,EAAE;YACJ,IAAI,EAAE,OAAO;SAChB;QACD,gBAAgB,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE;YACzC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACzD,CAAC;YAED,
|
|
1
|
+
{"version":3,"file":"devServer.js","sourceRoot":"","sources":["../../../../src/config/webpack/configBuilders/devServer.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC3B,OAAe,EACf,IAAY,EACZ,UAAkB,EAClB,gBAAkC;IAElC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC;IAC9D,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC,aAAa,CAAC;IAEjD,OAAO;QACH,IAAI;QACJ,IAAI;QACJ,MAAM,EAAE;YACJ;gBACI,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,GAAG;aAClB;YACD;gBACI,SAAS,EAAE,UAAU;gBACrB,KAAK,EAAE,IAAI;aACd;SACJ;QACD,GAAG,EAAE,IAAI;QACT,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE;YACX,WAAW,EAAE,IAAI;YACjB,UAAU;YACV,KAAK,EAAE,IAAI;YACX,KAAK;SACR;QACD,MAAM,EAAE;YACJ,IAAI,EAAE,OAAO;SAChB;QACD,gBAAgB,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE;YACzC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACzD,CAAC;YAED,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAE3E,WAAW,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,GAAG;gBACT,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC;aAC/D,CAAC,CAAC;YAEH,OAAO,WAAW,CAAC;QACvB,CAAC;QACD,MAAM,EAAE;YACJ,aAAa;YACb,oBAAoB;YACpB,sBAAsB;YACtB,KAAK;YACL,OAAO;SACV;QACD,kBAAkB,EAAE,IAAI;QACxB,IAAI;QACJ,QAAQ,EAAE,IAAI;KACjB,CAAC;AACN,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import WebpackDevServer from 'webpack-dev-server';
|
|
2
2
|
import { merge } from 'webpack-merge';
|
|
3
|
-
import { createEchoModuleManifest } from '../common/echoManifest.js';
|
|
4
3
|
import { defineDevServer } from './configBuilders/devServer.js';
|
|
5
4
|
export function devServer(compiler, options) {
|
|
6
5
|
const defaultDevServerOptions = defineDevServer(options.currentDir, options.wwwRoot, options.echoModuleConfig.manifest.path, options.echoModuleConfig);
|
|
@@ -11,21 +10,6 @@ export function devServer(compiler, options) {
|
|
|
11
10
|
devServerOptionsToUse = merge(defaultDevServerOptions, compiler.options.devServer);
|
|
12
11
|
}
|
|
13
12
|
const server = new WebpackDevServer(devServerOptionsToUse, compiler);
|
|
14
|
-
// Create the echo module manifest after the first compilation
|
|
15
|
-
// This ensures the build directory exists and the manifest is available
|
|
16
|
-
let manifestCreated = false;
|
|
17
|
-
compiler.hooks.done.tap('CreateEchoModuleManifest', () => {
|
|
18
|
-
if (!manifestCreated) {
|
|
19
|
-
manifestCreated = true;
|
|
20
|
-
createEchoModuleManifest(options.echoModuleConfig, options.currentDir, options.requireRef)
|
|
21
|
-
.then(() => {
|
|
22
|
-
console.log('Echo Module Manifest created successfully!');
|
|
23
|
-
})
|
|
24
|
-
.catch((manifestError) => {
|
|
25
|
-
console.error('Error creating Echo Module Manifest:', manifestError);
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
13
|
server.startCallback((err) => {
|
|
30
14
|
if (err) {
|
|
31
15
|
console.error('Failed to start webpack dev-server: ' + err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/config/webpack/server.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/config/webpack/server.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,UAAU,SAAS,CAAC,QAAkB,EAAE,OAA2B;IACrE,MAAM,uBAAuB,GAAG,eAAe,CAC3C,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EACtC,OAAO,CAAC,gBAAgB,CAC3B,CAAC;IAEF,IAAI,qBAAqB,GAAG,uBAAuB,CAAC;IACpD,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,0FAA0F;QAC1F,qBAAqB,GAAG,KAAK,CAAC,uBAAuB,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;IAErE,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,EAAE;QACzB,IAAI,GAAG,EAAE,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,sCAAsC,GAAG,GAAG,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CACP,0CAA0C,qBAAqB,CAAC,IAAI,IAAI,qBAAqB,CAAC,IAAI,EAAE,CACvG,CAAC;QACN,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
|