@equinor/echo-cli 4.0.1 → 5.0.0-beta-r19

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.
Files changed (101) hide show
  1. package/README.md +415 -413
  2. package/lib/config/common/echoModuleConfig.d.ts +0 -2
  3. package/lib/config/common/echoModuleConfig.js +1 -33
  4. package/lib/config/common/echoModuleConfig.js.map +1 -1
  5. package/lib/const/common.d.ts +0 -1
  6. package/lib/const/common.js +0 -1
  7. package/lib/const/common.js.map +1 -1
  8. package/lib/echo-dev-host/README.md +121 -121
  9. package/lib/echo-dev-host/babel.config.js +10 -10
  10. package/lib/echo-dev-host/echo-dev-host-build/d2d97a9feca22f12a8c8c7413d7867ac.jpg +0 -0
  11. package/lib/echo-dev-host/echo-dev-host-build/env-config.js +1 -0
  12. package/lib/echo-dev-host/echo-dev-host-build/index.css +60 -0
  13. package/lib/echo-dev-host/echo-dev-host-build/index.html +21 -0
  14. package/lib/echo-dev-host/echo-dev-host-build/main.echo.bundle.js +3 -0
  15. package/lib/echo-dev-host/echo-dev-host-build/main.echo.bundle.js.LICENSE.txt +97 -0
  16. package/lib/echo-dev-host/echo-dev-host-build/main.echo.bundle.js.map +1 -0
  17. package/lib/echo-dev-host/echo-dev-host-build/vendors-node_modules_babel_polyfill_lib_index_js-node_modules_react-dom_client_js-node_module-8e2452.echo.bundle.js +3 -0
  18. package/lib/echo-dev-host/echo-dev-host-build/vendors-node_modules_babel_polyfill_lib_index_js-node_modules_react-dom_client_js-node_module-8e2452.echo.bundle.js.LICENSE.txt +2892 -0
  19. package/lib/echo-dev-host/echo-dev-host-build/vendors-node_modules_babel_polyfill_lib_index_js-node_modules_react-dom_client_js-node_module-8e2452.echo.bundle.js.map +1 -0
  20. package/lib/echo-dev-host/jest.config.js +21 -21
  21. package/lib/echo-dev-host/package-lock.json +14548 -14542
  22. package/lib/echo-dev-host/package.json +18 -18
  23. package/lib/echo-dev-host/public/env-config.js +17 -17
  24. package/lib/echo-dev-host/public/index.html +21 -21
  25. package/lib/echo-dev-host/src/index.tsx +1 -1
  26. package/lib/echo-dev-host/tsconfig.json +21 -21
  27. package/lib/echo-dev-host/webpack.config.js +145 -145
  28. package/lib/sync-echo-dev-versions.d.ts +6 -0
  29. package/lib/sync-echo-dev-versions.js +43 -0
  30. package/lib/sync-echo-dev-versions.js.map +1 -0
  31. package/lib/tools/buildScripts/buildAndCopyDevHost.test.d.ts +1 -0
  32. package/lib/tools/buildScripts/buildAndCopyDevHost.test.js +500 -0
  33. package/lib/tools/buildScripts/buildAndCopyDevHost.test.js.map +1 -0
  34. package/lib/utils/merge.test.d.ts +1 -0
  35. package/lib/utils/merge.test.js +29 -0
  36. package/lib/utils/merge.test.js.map +1 -0
  37. package/package.json +111 -116
  38. package/lib/config/common/echoModuleId.d.ts +0 -5
  39. package/lib/config/common/echoModuleId.js +0 -15
  40. package/lib/config/common/echoModuleId.js.map +0 -1
  41. package/lib/config/common/updateEnv.d.ts +0 -6
  42. package/lib/config/common/updateEnv.js +0 -16
  43. package/lib/config/common/updateEnv.js.map +0 -1
  44. package/lib/echo-create.d.ts +0 -16
  45. package/lib/echo-create.js +0 -35
  46. package/lib/echo-create.js.map +0 -1
  47. package/lib/tools/create/copyFile.d.ts +0 -2
  48. package/lib/tools/create/copyFile.js +0 -16
  49. package/lib/tools/create/copyFile.js.map +0 -1
  50. package/lib/tools/create/createProject.d.ts +0 -2
  51. package/lib/tools/create/createProject.js +0 -83
  52. package/lib/tools/create/createProject.js.map +0 -1
  53. package/lib/tools/create/createSetTargetDirectory.d.ts +0 -1
  54. package/lib/tools/create/createSetTargetDirectory.js +0 -12
  55. package/lib/tools/create/createSetTargetDirectory.js.map +0 -1
  56. package/lib/tools/create/getAppTemplateName.d.ts +0 -1
  57. package/lib/tools/create/getAppTemplateName.js +0 -22
  58. package/lib/tools/create/getAppTemplateName.js.map +0 -1
  59. package/lib/tools/create/gitInit.d.ts +0 -1
  60. package/lib/tools/create/gitInit.js +0 -19
  61. package/lib/tools/create/gitInit.js.map +0 -1
  62. package/lib/tools/create/promptOptions.d.ts +0 -2
  63. package/lib/tools/create/promptOptions.js +0 -88
  64. package/lib/tools/create/promptOptions.js.map +0 -1
  65. package/lib/tools/create/updatePackageConfig.d.ts +0 -2
  66. package/lib/tools/create/updatePackageConfig.js +0 -28
  67. package/lib/tools/create/updatePackageConfig.js.map +0 -1
  68. package/lib/tools/create/updateReadme.d.ts +0 -2
  69. package/lib/tools/create/updateReadme.js +0 -23
  70. package/lib/tools/create/updateReadme.js.map +0 -1
  71. package/lib/types/createTypes.d.ts +0 -23
  72. package/lib/types/createTypes.js +0 -2
  73. package/lib/types/createTypes.js.map +0 -1
  74. package/templates/echoAppTemplate/.env +0 -0
  75. package/templates/echoAppTemplate/.gitattributes +0 -3
  76. package/templates/echoAppTemplate/env.sh +0 -54
  77. package/templates/echoAppTemplate/package.json +0 -36
  78. package/templates/echoAppTemplate/readme.md +0 -41
  79. package/templates/echoAppTemplate/src/app.module.css +0 -5
  80. package/templates/echoAppTemplate/src/app.tsx +0 -30
  81. package/templates/echoAppTemplate/src/index.ts +0 -6
  82. package/templates/echoAppTemplate/tsconfig.json +0 -25
  83. package/templates/echoAppTemplateTutorial/.env +0 -0
  84. package/templates/echoAppTemplateTutorial/.gitattributes +0 -3
  85. package/templates/echoAppTemplateTutorial/env.sh +0 -54
  86. package/templates/echoAppTemplateTutorial/package.json +0 -37
  87. package/templates/echoAppTemplateTutorial/readme.md +0 -41
  88. package/templates/echoAppTemplateTutorial/src/app.module.css +0 -5
  89. package/templates/echoAppTemplateTutorial/src/app.tsx +0 -30
  90. package/templates/echoAppTemplateTutorial/src/index.ts +0 -6
  91. package/templates/echoAppTemplateTutorial/tsconfig.json +0 -25
  92. package/templates/echoLibraryTemplate/package.json +0 -36
  93. package/templates/echoLibraryTemplate/public/ee.png +0 -0
  94. package/templates/echoLibraryTemplate/public/index.html +0 -21
  95. package/templates/echoLibraryTemplate/public/style.css +0 -43
  96. package/templates/echoLibraryTemplate/readme.md +0 -1
  97. package/templates/echoPluginTemplate/package.json +0 -36
  98. package/templates/echoPluginTemplate/public/ee.png +0 -0
  99. package/templates/echoPluginTemplate/public/index.html +0 -21
  100. package/templates/echoPluginTemplate/public/style.css +0 -43
  101. package/templates/echoPluginTemplate/readme.md +0 -1
@@ -21,35 +21,35 @@
21
21
  "author": "",
22
22
  "license": "MIT",
23
23
  "dependencies": {
24
- "@equinor/echo-base": "4.0.1",
25
- "@equinor/echo-components": "4.0.1",
26
- "@equinor/echo-core": "4.0.1",
27
- "@equinor/echo-framework": "4.0.1",
24
+ "@equinor/echo-base": "5.0.0-beta-r19",
25
+ "@equinor/echo-components": "5.0.0-beta-r19",
26
+ "@equinor/echo-core": "5.0.0-beta-r19",
27
+ "@equinor/echo-framework": "5.0.0-beta-r19",
28
+ "@equinor/echo-search": "5.0.0-beta-r19",
29
+ "@equinor/echo-utils": "5.0.0-beta-r19",
28
30
  "@equinor/echo-scripts": "0.1.5",
29
- "@equinor/echo-search": "4.0.1",
30
- "@equinor/echo-utils": "4.0.1",
31
31
  "@equinor/eds-core-react": "0.49.0",
32
32
  "@equinor/eds-icons": "0.22.0",
33
33
  "@equinor/eds-tokens": "2.1.0",
34
34
  "@equinor/eds-utils": "0.9.0",
35
35
  "@microsoft/signalr": "9.0.6",
36
36
  "@svgr/webpack": "8.1.0",
37
- "@tanstack/react-query": "5.90.20",
37
+ "@tanstack/react-query": "5.90.21",
38
38
  "classnames": "2.5.1",
39
39
  "fs-extra": "11.3.3",
40
40
  "history": "5.3.0",
41
- "immer": "11.1.3",
41
+ "immer": "11.1.4",
42
42
  "lodash": "4.17.23",
43
- "react": "18.3.1",
44
- "react-dom": "18.3.1",
45
- "react-router-dom": "6.30.1",
43
+ "react": "19.2.4",
44
+ "react-dom": "19.2.4",
45
+ "react-router-dom": "6.30.3",
46
46
  "react-sortablejs": "6.1.4",
47
- "sortablejs": "1.15.6",
48
- "styled-components": "6.3.8",
47
+ "sortablejs": "1.15.7",
48
+ "styled-components": "6.3.11",
49
49
  "zustand": "4.5.7"
50
50
  },
51
51
  "devDependencies": {
52
- "@babel/core": "7.28.6",
52
+ "@babel/core": "7.29.0",
53
53
  "@babel/plugin-transform-runtime": "7.28.5",
54
54
  "@babel/polyfill": "7.12.1",
55
55
  "@babel/preset-env": "7.28.6",
@@ -57,9 +57,9 @@
57
57
  "@babel/preset-typescript": "7.28.5",
58
58
  "@equinor/echo-update": "1.3.3",
59
59
  "@types/jest": "30.0.0",
60
- "@types/node": "25.0.8",
61
- "@types/react": "18.3.12",
62
- "@types/react-dom": "18.3.1",
60
+ "@types/node": "25.3.5",
61
+ "@types/react": "19.2.14",
62
+ "@types/react-dom": "19.2.3",
63
63
  "@types/webpack-env": "1.18.8",
64
64
  "babel-loader": "10.0.0",
65
65
  "copy-webpack-plugin": "13.0.1",
@@ -72,7 +72,7 @@
72
72
  "ts-jest": "29.4.6",
73
73
  "ts-loader": "9.5.4",
74
74
  "typescript": "5.9.3",
75
- "webpack": "5.104.1",
75
+ "webpack": "5.105.4",
76
76
  "webpack-cli": "6.0.1",
77
77
  "webpack-dev-server": "5.2.3",
78
78
  "webpackbar": "7.0.0"
@@ -1,17 +1,17 @@
1
- window._env_ = {
2
- HTTPS: "true",
3
- GENERATE_SOURCEMAP: "true",
4
- INLINE_RUNTIME_CHUNK: "false",
5
- WEBSITE_HOSTNAME: "localhost:3000;",
6
- REACT_APP_DEFAULT_CACHE_LOCATION: "localstorage",
7
- REACT_APP_API_URL: "https://dt-echopedia-api-dev.azurewebsites.net",
8
- REACT_APP_WEB_URL: "https://dt-echopedia-web-dev.azurewebsites.net",
9
- REACT_APP_WEB_PROD_URL: "https://echo.equinor.com",
10
- REACT_APP_AZURE_AD_TENNANT: "StatoilSRM.onmicrosoft.com",
11
- REACT_APP_AZURE_AD_TENNANT_ID: "3aa4a235-b6e2-48d5-9195-7fcf05b459b0",
12
- REACT_APP_AZURE_AD_CLIENT_ID: "751d2504-0b66-4b78-9807-4b60525a14c6",
13
- REACT_APP_API_CLIENT_ID: "aef35d97-53d4-4fd0-adaf-c5a514b38436",
14
- REACT_APP_APPINSIGHTS_CONNECTION_STRING: "InstrumentationKey=e5299075-a00d-4012-96f9-42861e8d8a9e;IngestionEndpoint=https://northeurope-3.in.applicationinsights.azure.com/;LiveEndpoint=https://northeurope.livediagnostics.monitor.azure.com/;ApplicationId=a9b64222-d4a9-42e6-a615-7428fe1a26af",
15
- REACT_APP_AZURE_BUILD_NUMBER: "0.8.dev.9",
16
- REACT_APP_LOGGER_ACTIVE: "false",
17
- }
1
+ window._env_ = {
2
+ HTTPS: "true",
3
+ GENERATE_SOURCEMAP: "true",
4
+ INLINE_RUNTIME_CHUNK: "false",
5
+ WEBSITE_HOSTNAME: "localhost:3000;",
6
+ REACT_APP_DEFAULT_CACHE_LOCATION: "localstorage",
7
+ REACT_APP_API_URL: "https://dt-echopedia-api-dev.azurewebsites.net",
8
+ REACT_APP_WEB_URL: "https://dt-echopedia-web-dev.azurewebsites.net",
9
+ REACT_APP_WEB_PROD_URL: "https://echo.equinor.com",
10
+ REACT_APP_AZURE_AD_TENNANT: "StatoilSRM.onmicrosoft.com",
11
+ REACT_APP_AZURE_AD_TENNANT_ID: "3aa4a235-b6e2-48d5-9195-7fcf05b459b0",
12
+ REACT_APP_AZURE_AD_CLIENT_ID: "751d2504-0b66-4b78-9807-4b60525a14c6",
13
+ REACT_APP_API_CLIENT_ID: "aef35d97-53d4-4fd0-adaf-c5a514b38436",
14
+ REACT_APP_APPINSIGHTS_CONNECTION_STRING: "InstrumentationKey=e5299075-a00d-4012-96f9-42861e8d8a9e;IngestionEndpoint=https://northeurope-3.in.applicationinsights.azure.com/;LiveEndpoint=https://northeurope.livediagnostics.monitor.azure.com/;ApplicationId=a9b64222-d4a9-42e6-a615-7428fe1a26af",
15
+ REACT_APP_AZURE_BUILD_NUMBER: "0.8.dev.9",
16
+ REACT_APP_LOGGER_ACTIVE: "false",
17
+ }
@@ -1,21 +1,21 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <script type="application/javascript" src="./env-config.js"></script>
6
- <meta http-equiv="X-UA-Compatible" content="IE=edge" />
7
- <meta
8
- name="viewport"
9
- content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover"
10
- />
11
- <link href="./index.css" rel="stylesheet" />
12
- <link rel="stylesheet" href="https://cdn.eds.equinor.com/font/equinor-font.css" />
13
- <link rel="preconnect" href="https://login.microsoftonline.com" />
14
- <link rel="preconnect" href="https://dc.services.visualstudio.com" />
15
- <link rel="preconnect" href="https://cdn.eds.equinor.com" />
16
- <title>Echo | Development</title>
17
- </head>
18
- <body data-color-scheme="light">
19
- <div id="root"></div>
20
- </body>
21
- </html>
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <script type="application/javascript" src="./env-config.js"></script>
6
+ <meta http-equiv="X-UA-Compatible" content="IE=edge" />
7
+ <meta
8
+ name="viewport"
9
+ content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover"
10
+ />
11
+ <link href="./index.css" rel="stylesheet" />
12
+ <link rel="stylesheet" href="https://cdn.eds.equinor.com/font/equinor-font.css" />
13
+ <link rel="preconnect" href="https://login.microsoftonline.com" />
14
+ <link rel="preconnect" href="https://dc.services.visualstudio.com" />
15
+ <link rel="preconnect" href="https://cdn.eds.equinor.com" />
16
+ <title>Echo | Development</title>
17
+ </head>
18
+ <body data-color-scheme="light">
19
+ <div id="root"></div>
20
+ </body>
21
+ </html>
@@ -21,7 +21,7 @@ const useEdsIcon = (): void => {
21
21
  });
22
22
  };
23
23
 
24
- const Echo: React.FC = (): JSX.Element => {
24
+ const Echo: React.FC = (): React.JSX.Element => {
25
25
  /* Needed to skip authentication when running e2e tests*/
26
26
  initForE2ETests();
27
27
 
@@ -1,21 +1,21 @@
1
- {
2
- "compilerOptions": {
3
- "strict": true,
4
- "jsx": "react-jsx",
5
- "lib": ["dom", "dom.iterable", "esnext"],
6
- "allowSyntheticDefaultImports": true,
7
- "esModuleInterop": true,
8
- "module": "commonjs",
9
- "outDir": "./build/",
10
- "preserveConstEnums": true,
11
- "removeComments": true,
12
- "sourceMap": true,
13
- "noImplicitAny": false,
14
- "allowJs": true,
15
- "skipLibCheck": true,
16
- "target": "es5",
17
- "resolveJsonModule": true,
18
- "types": ["@equinor/echo-scripts", "@types/node", "@types/webpack-env", "@types/jest"]
19
- },
20
- "include": ["src"]
21
- }
1
+ {
2
+ "compilerOptions": {
3
+ "strict": true,
4
+ "jsx": "react-jsx",
5
+ "lib": ["dom", "dom.iterable", "esnext"],
6
+ "allowSyntheticDefaultImports": true,
7
+ "esModuleInterop": true,
8
+ "module": "commonjs",
9
+ "outDir": "./build/",
10
+ "preserveConstEnums": true,
11
+ "removeComments": true,
12
+ "sourceMap": true,
13
+ "noImplicitAny": false,
14
+ "allowJs": true,
15
+ "skipLibCheck": true,
16
+ "target": "es5",
17
+ "resolveJsonModule": true,
18
+ "types": ["@equinor/echo-scripts", "@types/node", "@types/webpack-env", "@types/jest"]
19
+ },
20
+ "include": ["src"]
21
+ }
@@ -1,145 +1,145 @@
1
- import CopyPlugin from 'copy-webpack-plugin';
2
- import Dotenv from 'dotenv-webpack';
3
- import HtmlWebpackPlugin from 'html-webpack-plugin';
4
- import path from 'path';
5
- import { fileURLToPath } from 'url';
6
- import WebpackBar from 'webpackbar';
7
-
8
- const webpackConfig = (env) => {
9
- console.log('Building the dev host application for EchoCli.');
10
-
11
- const __filename = fileURLToPath(import.meta.url);
12
- const __dirname = path.dirname(__filename);
13
-
14
- const buildOutputFolder = 'echo-dev-host-build';
15
-
16
- return {
17
- entry: ['@babel/polyfill', './src/index.tsx'],
18
- mode: 'production',
19
- devtool: 'source-map',
20
- output: {
21
- clean: true,
22
- path: path.resolve(process.cwd(), buildOutputFolder),
23
- filename: '[name].echo.bundle.js',
24
- chunkFilename: 'assets/[name].[contenthash].chunk.js',
25
- publicPath: '/'
26
- },
27
- resolve: {
28
- extensions: ['.ts', '.tsx', '.js', '.jsx'],
29
- fallback: {
30
- crypto: false,
31
- stream: false,
32
- buffer: false
33
- }
34
- },
35
- module: {
36
- rules: [
37
- {
38
- test: /\.(ts|tsx)$/,
39
- loader: 'ts-loader',
40
- exclude: /node_modules/
41
- },
42
- {
43
- test: /\.(js|jsx)$/,
44
- exclude: /node_modules/,
45
- loader: 'babel-loader'
46
- },
47
- {
48
- test: /\.css$/,
49
- use: [
50
- 'style-loader',
51
- {
52
- loader: 'css-loader',
53
- options: {
54
- importLoaders: 1,
55
- modules: {
56
- mode: 'local',
57
- localIdentName: 'echo-[folder]__[local]-[hash:base64:5]',
58
- namedExport: false,
59
- exportLocalsConvention: 'as-is'
60
- }
61
- }
62
- }
63
- ],
64
- include: /\.module\.css$/
65
- },
66
- {
67
- test: /\.css$/,
68
- use: ['style-loader', 'css-loader'],
69
- exclude: /\.module\.css$/
70
- },
71
- {
72
- test: /\.svg$/,
73
- use: ['@svgr/webpack']
74
- },
75
- {
76
- test: /\.(png|jpe?g|gif)$/i,
77
- use: [
78
- {
79
- loader: 'file-loader'
80
- }
81
- ]
82
- }
83
- ]
84
- },
85
- devServer: {
86
- static: [
87
- {
88
- directory: path.join(__dirname, 'public')
89
- },
90
- {
91
- directory: path.join(__dirname, 'build')
92
- }
93
- ],
94
- compress: true,
95
- port: 3000,
96
- hot: true,
97
- historyApiFallback: true,
98
- server: 'https',
99
- headers: {
100
- 'Access-Control-Allow-Origin': '*',
101
- 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, PATCH, OPTIONS',
102
- 'Access-Control-Allow-Headers': 'X-Requested-With, content-type, Authorization'
103
- }
104
- // overlay: {
105
- // warnings: true,
106
- // errors: true,
107
- // },
108
- },
109
- plugins: [
110
- new Dotenv({
111
- ignoreStub: false,
112
- expand: true,
113
- systemvars: false
114
- }),
115
- new HtmlWebpackPlugin({
116
- template: path.resolve(__dirname, './public/index.html')
117
- }),
118
- new WebpackBar({
119
- name: 'Echo module',
120
- color: '#007079',
121
- profile: true
122
- }),
123
- new CopyPlugin({
124
- patterns: [
125
- {
126
- from: path.resolve(__dirname, './public/index.css'),
127
- to: path.resolve(process.cwd(), buildOutputFolder, 'index.css')
128
- },
129
- {
130
- from: path.resolve(__dirname, './public/env-config.js'),
131
- to: path.resolve(process.cwd(), buildOutputFolder, 'env-config.js')
132
- }
133
- ]
134
- })
135
- ],
136
- optimization: {
137
- splitChunks: {
138
- chunks: 'all'
139
- },
140
- minimize: true
141
- }
142
- };
143
- };
144
-
145
- export default webpackConfig;
1
+ import CopyPlugin from 'copy-webpack-plugin';
2
+ import Dotenv from 'dotenv-webpack';
3
+ import HtmlWebpackPlugin from 'html-webpack-plugin';
4
+ import path from 'path';
5
+ import { fileURLToPath } from 'url';
6
+ import WebpackBar from 'webpackbar';
7
+
8
+ const webpackConfig = (env) => {
9
+ console.log('Building the dev host application for EchoCli.');
10
+
11
+ const __filename = fileURLToPath(import.meta.url);
12
+ const __dirname = path.dirname(__filename);
13
+
14
+ const buildOutputFolder = 'echo-dev-host-build';
15
+
16
+ return {
17
+ entry: ['@babel/polyfill', './src/index.tsx'],
18
+ mode: 'production',
19
+ devtool: 'source-map',
20
+ output: {
21
+ clean: true,
22
+ path: path.resolve(process.cwd(), buildOutputFolder),
23
+ filename: '[name].echo.bundle.js',
24
+ chunkFilename: 'assets/[name].[contenthash].chunk.js',
25
+ publicPath: '/'
26
+ },
27
+ resolve: {
28
+ extensions: ['.ts', '.tsx', '.js', '.jsx'],
29
+ fallback: {
30
+ crypto: false,
31
+ stream: false,
32
+ buffer: false
33
+ }
34
+ },
35
+ module: {
36
+ rules: [
37
+ {
38
+ test: /\.(ts|tsx)$/,
39
+ loader: 'ts-loader',
40
+ exclude: /node_modules/
41
+ },
42
+ {
43
+ test: /\.(js|jsx)$/,
44
+ exclude: /node_modules/,
45
+ loader: 'babel-loader'
46
+ },
47
+ {
48
+ test: /\.css$/,
49
+ use: [
50
+ 'style-loader',
51
+ {
52
+ loader: 'css-loader',
53
+ options: {
54
+ importLoaders: 1,
55
+ modules: {
56
+ mode: 'local',
57
+ localIdentName: 'echo-[folder]__[local]-[hash:base64:5]',
58
+ namedExport: false,
59
+ exportLocalsConvention: 'as-is'
60
+ }
61
+ }
62
+ }
63
+ ],
64
+ include: /\.module\.css$/
65
+ },
66
+ {
67
+ test: /\.css$/,
68
+ use: ['style-loader', 'css-loader'],
69
+ exclude: /\.module\.css$/
70
+ },
71
+ {
72
+ test: /\.svg$/,
73
+ use: ['@svgr/webpack']
74
+ },
75
+ {
76
+ test: /\.(png|jpe?g|gif)$/i,
77
+ use: [
78
+ {
79
+ loader: 'file-loader'
80
+ }
81
+ ]
82
+ }
83
+ ]
84
+ },
85
+ devServer: {
86
+ static: [
87
+ {
88
+ directory: path.join(__dirname, 'public')
89
+ },
90
+ {
91
+ directory: path.join(__dirname, 'build')
92
+ }
93
+ ],
94
+ compress: true,
95
+ port: 3000,
96
+ hot: true,
97
+ historyApiFallback: true,
98
+ server: 'https',
99
+ headers: {
100
+ 'Access-Control-Allow-Origin': '*',
101
+ 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, PATCH, OPTIONS',
102
+ 'Access-Control-Allow-Headers': 'X-Requested-With, content-type, Authorization'
103
+ }
104
+ // overlay: {
105
+ // warnings: true,
106
+ // errors: true,
107
+ // },
108
+ },
109
+ plugins: [
110
+ new Dotenv({
111
+ ignoreStub: false,
112
+ expand: true,
113
+ systemvars: false
114
+ }),
115
+ new HtmlWebpackPlugin({
116
+ template: path.resolve(__dirname, './public/index.html')
117
+ }),
118
+ new WebpackBar({
119
+ name: 'Echo module',
120
+ color: '#007079',
121
+ profile: true
122
+ }),
123
+ new CopyPlugin({
124
+ patterns: [
125
+ {
126
+ from: path.resolve(__dirname, './public/index.css'),
127
+ to: path.resolve(process.cwd(), buildOutputFolder, 'index.css')
128
+ },
129
+ {
130
+ from: path.resolve(__dirname, './public/env-config.js'),
131
+ to: path.resolve(process.cwd(), buildOutputFolder, 'env-config.js')
132
+ }
133
+ ]
134
+ })
135
+ ],
136
+ optimization: {
137
+ splitChunks: {
138
+ chunks: 'all'
139
+ },
140
+ minimize: true
141
+ }
142
+ };
143
+ };
144
+
145
+ export default webpackConfig;
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ import { Command } from '@oclif/core';
3
+ export default class SyncEchoDevVersions extends Command {
4
+ static readonly description = "Sync echo-dev-host to use exact echo library versions from your app (useful after switching git branches)";
5
+ run(): Promise<void>;
6
+ }
@@ -0,0 +1,43 @@
1
+ #!/usr/bin/env node
2
+ import { Command } from '@oclif/core';
3
+ import chalk from 'chalk';
4
+ import path from 'node:path';
5
+ import { ECHO_HOST_BUILD_OUTPUT_FOLDER, ECHO_HOST_TEMP_BUILD_FOLDER } from './const/common.js';
6
+ import { buildAndCopyDevHost } from './tools/buildScripts/buildAndCopyDevHost.js';
7
+ import { findConsumerAppPackageJson } from './utils/findConsumerAppPackageJson.js';
8
+ import { printEchoLibsVersions } from './utils/printEchoLibsVersions.js';
9
+ export default class SyncEchoDevVersions extends Command {
10
+ static description = 'Sync echo-dev-host to use exact echo library versions from your app (useful after switching git branches)';
11
+ async run() {
12
+ console.log(chalk.cyan.bold('\nšŸ”„ Syncing echo-dev-host versions to match your app...\n'));
13
+ // 1. Find consumer app package.json
14
+ const consumerPkgPath = findConsumerAppPackageJson(process.cwd());
15
+ if (!consumerPkgPath) {
16
+ console.error(chalk.red('Could not find a package.json with @equinor/echo-* dependencies.\nMake sure you are in an Echo module project directory.'));
17
+ process.exit(1);
18
+ }
19
+ // 2. Show current versions
20
+ const devHostPkgPath = path.resolve(process.cwd(), 'node_modules', '@equinor', 'echo-cli', 'lib', 'echo-dev-host', 'package.json');
21
+ console.log(chalk.yellow('Current versions:\n'));
22
+ await printEchoLibsVersions({
23
+ devHostPkgPath,
24
+ appPkgPath: consumerPkgPath,
25
+ fetchLatest: false
26
+ });
27
+ console.log(chalk.cyan("\nšŸ“Œ This will rebuild echo-dev-host to match your app's package.json versions exactly.\n"));
28
+ // 3. Rebuild dev host with sync mode (forces consumer app versions)
29
+ const cliNodeModules = path.resolve(process.cwd(), 'node_modules', '@equinor', 'echo-cli');
30
+ const finalOutput = path.join(cliNodeModules, ECHO_HOST_BUILD_OUTPUT_FOLDER);
31
+ await buildAndCopyDevHost({
32
+ cliNodeModules,
33
+ tmpDevHostFolder: path.resolve(process.cwd(), ECHO_HOST_TEMP_BUILD_FOLDER),
34
+ finalOutputDir: finalOutput,
35
+ isProdBuild: false,
36
+ syncMode: true // New flag to force exact version matching
37
+ });
38
+ console.log(chalk.green.bold("\nāœ… Sync complete! echo-dev-host now uses your app's echo lib versions.\n"));
39
+ console.log(chalk.gray('You can now run "npm start" to start your Echo app.\n'));
40
+ }
41
+ }
42
+ SyncEchoDevVersions.run();
43
+ //# sourceMappingURL=sync-echo-dev-versions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-echo-dev-versions.js","sourceRoot":"","sources":["../src/sync-echo-dev-versions.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,OAAO;IACpD,MAAM,CAAU,WAAW,GACvB,2GAA2G,CAAC;IAEhH,KAAK,CAAC,GAAG;QACL,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC,CAAC;QAE3F,oCAAoC;QACpC,MAAM,eAAe,GAAG,0BAA0B,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CACT,KAAK,CAAC,GAAG,CACL,0HAA0H,CAC7H,CACJ,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,2BAA2B;QAC3B,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;QAEF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACjD,MAAM,qBAAqB,CAAC;YACxB,cAAc;YACd,UAAU,EAAE,eAAe;YAC3B,WAAW,EAAE,KAAK;SACrB,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CACP,KAAK,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAC1G,CAAC;QAEF,oEAAoE;QACpE,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,6BAA6B,CAAC,CAAC;QAE7E,MAAM,mBAAmB,CAAC;YACtB,cAAc;YACd,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,2BAA2B,CAAC;YAC1E,cAAc,EAAE,WAAW;YAC3B,WAAW,EAAE,KAAK;YAClB,QAAQ,EAAE,IAAI,CAAC,2CAA2C;SAC7D,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC,CAAC;QAC3G,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC,CAAC;IACrF,CAAC;;AAGL,mBAAmB,CAAC,GAAG,EAAE,CAAC"}