@equinor/echo-cli 1.0.3-beta-0 → 1.0.3
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 +355 -354
- package/lib/__test__/utils/merg.test.d.ts +1 -0
- package/lib/__test__/utils/merg.test.js +29 -0
- package/lib/__test__/utils/merg.test.js.map +1 -0
- package/lib/config/common/buildAndCopyEchoHostForProd.d.ts +16 -0
- package/lib/config/common/buildAndCopyEchoHostForProd.js +38 -0
- package/lib/config/common/buildAndCopyEchoHostForProd.js.map +1 -0
- package/lib/config/common/echoManifest.d.ts +3 -0
- package/lib/config/common/echoManifest.js +45 -0
- package/lib/config/common/echoManifest.js.map +1 -0
- package/lib/config/common/echoModuleConfig.d.ts +31 -0
- package/lib/config/common/echoModuleConfig.js +34 -0
- package/lib/config/common/echoModuleConfig.js.map +1 -0
- package/lib/config/common/echoModuleId.d.ts +5 -0
- package/lib/config/common/echoModuleId.js +15 -0
- package/lib/config/common/echoModuleId.js.map +1 -0
- package/lib/config/common/extensions.d.ts +1 -0
- package/lib/config/common/extensions.js +2 -0
- package/lib/config/common/extensions.js.map +1 -0
- package/lib/config/common/getCurrentIndexFile.d.ts +2 -0
- package/lib/config/common/getCurrentIndexFile.js +11 -0
- package/lib/config/common/getCurrentIndexFile.js.map +1 -0
- package/lib/config/common/getPackageJson.d.ts +1 -0
- package/lib/config/common/getPackageJson.js +7 -0
- package/lib/config/common/getPackageJson.js.map +1 -0
- package/lib/config/common/https.d.ts +6 -0
- package/lib/config/common/https.js +16 -0
- package/lib/config/common/https.js.map +1 -0
- package/lib/config/common/initOptions.d.ts +26 -0
- package/lib/config/common/initOptions.js +32 -0
- package/lib/config/common/initOptions.js.map +1 -0
- package/lib/config/common/ssl.d.ts +7 -0
- package/lib/config/common/ssl.js +76 -0
- package/lib/config/common/ssl.js.map +1 -0
- package/lib/config/common/updateEnv.d.ts +6 -0
- package/lib/config/common/updateEnv.js +16 -0
- package/lib/config/common/updateEnv.js.map +1 -0
- package/lib/config/webpack/config.d.ts +3 -0
- package/lib/config/webpack/config.js +36 -0
- package/lib/config/webpack/config.js.map +1 -0
- package/lib/config/webpack/configBuilders/devServer.d.ts +8 -0
- package/lib/config/webpack/configBuilders/devServer.js +60 -0
- package/lib/config/webpack/configBuilders/devServer.js.map +1 -0
- package/lib/config/webpack/configBuilders/entry.d.ts +12 -0
- package/lib/config/webpack/configBuilders/entry.js +13 -0
- package/lib/config/webpack/configBuilders/entry.js.map +1 -0
- package/lib/config/webpack/configBuilders/module.d.ts +8 -0
- package/lib/config/webpack/configBuilders/module.js +124 -0
- package/lib/config/webpack/configBuilders/module.js.map +1 -0
- package/lib/config/webpack/configBuilders/optimization.d.ts +7 -0
- package/lib/config/webpack/configBuilders/optimization.js +30 -0
- package/lib/config/webpack/configBuilders/optimization.js.map +1 -0
- package/lib/config/webpack/configBuilders/output.d.ts +12 -0
- package/lib/config/webpack/configBuilders/output.js +20 -0
- package/lib/config/webpack/configBuilders/output.js.map +1 -0
- package/lib/config/webpack/configBuilders/plugins.d.ts +10 -0
- package/lib/config/webpack/configBuilders/plugins.js +29 -0
- package/lib/config/webpack/configBuilders/plugins.js.map +1 -0
- package/lib/config/webpack/echoWebpackModule.d.ts +2 -0
- package/lib/config/webpack/echoWebpackModule.js +47 -0
- package/lib/config/webpack/echoWebpackModule.js.map +1 -0
- package/lib/config/webpack/server.d.ts +3 -0
- package/lib/config/webpack/server.js +22 -0
- package/lib/config/webpack/server.js.map +1 -0
- package/lib/const/common.d.ts +6 -0
- package/lib/const/common.js +15 -0
- package/lib/const/common.js.map +1 -0
- package/lib/echo-build-dev-host.d.ts +6 -0
- package/lib/echo-build-dev-host.js +19 -0
- package/lib/echo-build-dev-host.js.map +1 -0
- package/lib/echo-build.d.ts +34 -0
- package/lib/echo-build.js +83 -0
- package/lib/echo-build.js.map +1 -0
- package/lib/echo-create.d.ts +16 -0
- package/lib/echo-create.js +35 -0
- package/lib/echo-create.js.map +1 -0
- package/lib/echo-dev-host/.env +29 -0
- package/lib/echo-dev-host/README.md +121 -0
- package/lib/echo-dev-host/babel.config.js +11 -0
- package/lib/echo-dev-host/env.sh +51 -0
- package/lib/echo-dev-host/jest.config.js +21 -0
- package/lib/echo-dev-host/package-lock.json +12555 -0
- package/lib/echo-dev-host/package.json +80 -0
- package/lib/echo-dev-host/public/env-config.js +17 -0
- package/lib/echo-dev-host/public/index.css +60 -0
- package/lib/echo-dev-host/public/index.html +21 -0
- package/lib/echo-dev-host/src/api/api-plants.ts +23 -0
- package/lib/echo-dev-host/src/app.css +12 -0
- package/lib/echo-dev-host/src/app.tsx +43 -0
- package/lib/echo-dev-host/src/components/Home/Home.tsx +23 -0
- package/lib/echo-dev-host/src/components/Home/home.module.css +38 -0
- package/lib/echo-dev-host/src/components/dummySearchPanel/DummySearchPanel.tsx +28 -0
- package/lib/echo-dev-host/src/components/dummySearchPanel/dummySearchPanel.module.css +13 -0
- package/lib/echo-dev-host/src/components/legend.tsx +3 -0
- package/lib/echo-dev-host/src/images/frontpage-brand-placeholder.jpg +0 -0
- package/lib/echo-dev-host/src/index.tsx +91 -0
- package/lib/echo-dev-host/src/setupTests.ts +25 -0
- package/lib/echo-dev-host/src/utils/plants.test.ts +33 -0
- package/lib/echo-dev-host/src/utils/plants.ts +12 -0
- package/lib/echo-dev-host/src/utils/setupSkipAuth.ts +43 -0
- package/lib/echo-dev-host/tsconfig.json +21 -0
- package/lib/echo-dev-host/webpack.config.js +145 -0
- package/lib/echo-manifest.d.ts +6 -0
- package/lib/echo-manifest.js +13 -0
- package/lib/echo-manifest.js.map +1 -0
- package/lib/tools/buildScripts/buildAndCopyDevHost.d.ts +29 -0
- package/lib/tools/buildScripts/buildAndCopyDevHost.js +135 -0
- package/lib/tools/buildScripts/buildAndCopyDevHost.js.map +1 -0
- package/lib/tools/buildScripts/webpackBuilds.d.ts +3 -0
- package/lib/tools/buildScripts/webpackBuilds.js +87 -0
- package/lib/tools/buildScripts/webpackBuilds.js.map +1 -0
- package/lib/tools/create/copyFile.d.ts +2 -0
- package/lib/tools/create/copyFile.js +16 -0
- package/lib/tools/create/copyFile.js.map +1 -0
- package/lib/tools/create/createProject.d.ts +2 -0
- package/lib/tools/create/createProject.js +83 -0
- package/lib/tools/create/createProject.js.map +1 -0
- package/lib/tools/create/createSetTargetDirectory.d.ts +1 -0
- package/lib/tools/create/createSetTargetDirectory.js +12 -0
- package/lib/tools/create/createSetTargetDirectory.js.map +1 -0
- package/lib/tools/create/getAppTemplateName.d.ts +1 -0
- package/lib/tools/create/getAppTemplateName.js +22 -0
- package/lib/tools/create/getAppTemplateName.js.map +1 -0
- package/lib/tools/create/gitInit.d.ts +1 -0
- package/lib/tools/create/gitInit.js +19 -0
- package/lib/tools/create/gitInit.js.map +1 -0
- package/lib/tools/create/promptOptions.d.ts +2 -0
- package/lib/tools/create/promptOptions.js +88 -0
- package/lib/tools/create/promptOptions.js.map +1 -0
- package/lib/tools/create/updatePackageConfig.d.ts +2 -0
- package/lib/tools/create/updatePackageConfig.js +28 -0
- package/lib/tools/create/updatePackageConfig.js.map +1 -0
- package/lib/tools/create/updateReadme.d.ts +2 -0
- package/lib/tools/create/updateReadme.js +23 -0
- package/lib/tools/create/updateReadme.js.map +1 -0
- package/lib/types/createTypes.d.ts +23 -0
- package/lib/types/createTypes.js +2 -0
- package/lib/types/createTypes.js.map +1 -0
- package/lib/types/types.d.ts +4 -0
- package/lib/types/types.js +2 -0
- package/lib/types/types.js.map +1 -0
- package/lib/update-echo-libs.d.ts +9 -0
- package/lib/update-echo-libs.js +188 -0
- package/lib/update-echo-libs.js.map +1 -0
- package/lib/utils/findConsumerAppPackageJson.d.ts +11 -0
- package/lib/utils/findConsumerAppPackageJson.js +55 -0
- package/lib/utils/findConsumerAppPackageJson.js.map +1 -0
- package/lib/utils/findTopLevelNodeModulesWithCli.d.ts +12 -0
- package/lib/utils/findTopLevelNodeModulesWithCli.js +28 -0
- package/lib/utils/findTopLevelNodeModulesWithCli.js.map +1 -0
- package/lib/utils/getFile.d.ts +34 -0
- package/lib/utils/getFile.js +72 -0
- package/lib/utils/getFile.js.map +1 -0
- package/lib/utils/getFilePath.d.ts +1 -0
- package/lib/utils/getFilePath.js +22 -0
- package/lib/utils/getFilePath.js.map +1 -0
- package/lib/utils/getLatestPkgVersion.d.ts +14 -0
- package/lib/utils/getLatestPkgVersion.js +30 -0
- package/lib/utils/getLatestPkgVersion.js.map +1 -0
- package/lib/utils/logo.d.ts +1 -0
- package/lib/utils/logo.js +12 -0
- package/lib/utils/logo.js.map +1 -0
- package/lib/utils/merge.d.ts +1 -0
- package/lib/utils/merge.js +8 -0
- package/lib/utils/merge.js.map +1 -0
- package/lib/utils/printEchoLibsVersions.d.ts +23 -0
- package/lib/utils/printEchoLibsVersions.js +162 -0
- package/lib/utils/printEchoLibsVersions.js.map +1 -0
- package/lib/utils/timer.d.ts +0 -0
- package/lib/utils/timer.js +2 -0
- package/lib/utils/timer.js.map +1 -0
- package/package.json +110 -110
- package/templates/echoAppTemplate/.gitattributes +3 -3
- package/templates/echoAppTemplate/package.json +35 -35
- package/templates/echoAppTemplate/readme.md +41 -41
- package/templates/echoAppTemplate/tsconfig.json +25 -25
- package/templates/echoAppTemplateTutorial/.gitattributes +3 -3
- package/templates/echoAppTemplateTutorial/package.json +36 -36
- package/templates/echoAppTemplateTutorial/readme.md +41 -41
- package/templates/echoAppTemplateTutorial/tsconfig.json +25 -25
- package/templates/echoLibraryTemplate/package.json +35 -35
- package/templates/echoLibraryTemplate/public/index.html +21 -21
- package/templates/echoLibraryTemplate/readme.md +1 -1
- package/templates/echoPluginTemplate/package.json +35 -35
- package/templates/echoPluginTemplate/public/index.html +21 -21
- package/templates/echoPluginTemplate/readme.md +1 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Command } from '@oclif/core';
|
|
3
|
+
export default class CreateApp extends Command {
|
|
4
|
+
static description: string;
|
|
5
|
+
static flags: {
|
|
6
|
+
description: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
7
|
+
git: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
8
|
+
help: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<void>;
|
|
9
|
+
install: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
10
|
+
key: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
11
|
+
name: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
12
|
+
shortName: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
13
|
+
templateName: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
14
|
+
};
|
|
15
|
+
run(): Promise<void>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Command, Flags } from '@oclif/core';
|
|
3
|
+
import { createProject } from './tools/create/createProject.js';
|
|
4
|
+
import { promptForMissingOptions } from './tools/create/promptOptions.js';
|
|
5
|
+
import { echoCliLogo } from './utils/logo.js';
|
|
6
|
+
export default class CreateApp extends Command {
|
|
7
|
+
static description = 'Creates a new Echo app';
|
|
8
|
+
static flags = {
|
|
9
|
+
description: Flags.string({ char: 'd', description: 'App description' }),
|
|
10
|
+
git: Flags.boolean({ char: 'g', description: 'Initialize git repository' }),
|
|
11
|
+
help: Flags.help({ char: 'h' }),
|
|
12
|
+
install: Flags.boolean({
|
|
13
|
+
char: 'i',
|
|
14
|
+
description: 'Install dev dependencies'
|
|
15
|
+
}),
|
|
16
|
+
key: Flags.string({ char: 'k', description: 'Key for app/tile' }),
|
|
17
|
+
name: Flags.string({
|
|
18
|
+
char: 'n',
|
|
19
|
+
description: 'Name for app/tile(use quotes for spaces)'
|
|
20
|
+
}),
|
|
21
|
+
shortName: Flags.string({ char: 'N', description: 'App short name' }),
|
|
22
|
+
templateName: Flags.string({
|
|
23
|
+
char: 't',
|
|
24
|
+
description: 'App template to use'
|
|
25
|
+
})
|
|
26
|
+
};
|
|
27
|
+
async run() {
|
|
28
|
+
const parsed = await this.parse(CreateApp);
|
|
29
|
+
echoCliLogo();
|
|
30
|
+
const options = await promptForMissingOptions(parsed.flags);
|
|
31
|
+
await createProject(options);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
CreateApp.run();
|
|
35
|
+
//# sourceMappingURL=echo-create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"echo-create.js","sourceRoot":"","sources":["../src/echo-create.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IACnC,MAAM,CAAC,WAAW,GAAG,wBAAwB,CAAC;IAE9C,MAAM,CAAC,KAAK,GAAG;QAClB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;QACxE,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;QAC3E,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAC/B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,0BAA0B;SAC1C,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;QACjE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACf,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,0CAA0C;SAC1D,CAAC;QACF,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;QACrE,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;YACvB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,qBAAqB;SACrC,CAAC;KACL,CAAC;IAEK,KAAK,CAAC,GAAG;QACZ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3C,WAAW,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;;AAGL,SAAS,CAAC,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
Never use PROCESS.ENV/process.env use env() instead. (Except for process.env.NODE_ENV)
|
|
4
|
+
---------------------------------
|
|
5
|
+
|
|
6
|
+
Based on: https://www.freecodecamp.org/news/how-to-implement-runtime-environment-variables-with-create-react-app-docker-and-nginx-7f9d42a91d70/
|
|
7
|
+
|
|
8
|
+
All variables in this files are converted to env() during build, and values here are replaced
|
|
9
|
+
by environment variables if they exists. This is done by running the env.sh bash script before the
|
|
10
|
+
build.
|
|
11
|
+
|
|
12
|
+
env.sh generates env-config.js containing all the variables, which is included in index.html,
|
|
13
|
+
and appended to Window._env_. env() is a shortcut for Window._env_ and should be used in code.
|
|
14
|
+
|
|
15
|
+
NOTE: Seems like window._env_ is not available in a worker
|
|
16
|
+
|
|
17
|
+
*/
|
|
18
|
+
WEBSITE_HOSTNAME=localhost:3000;
|
|
19
|
+
REACT_APP_DEFAULT_CACHE_LOCATION=localstorage
|
|
20
|
+
REACT_APP_API_URL=https://dt-echopedia-api-dev.azurewebsites.net
|
|
21
|
+
REACT_APP_WEB_URL=https://dt-echopedia-web-dev.azurewebsites.net
|
|
22
|
+
REACT_APP_WEB_PROD_URL=https://echo.equinor.com
|
|
23
|
+
REACT_APP_AZURE_AD_TENNANT=StatoilSRM.onmicrosoft.com
|
|
24
|
+
REACT_APP_AZURE_AD_TENNANT_ID=3aa4a235-b6e2-48d5-9195-7fcf05b459b0
|
|
25
|
+
REACT_APP_AZURE_AD_CLIENT_ID=751d2504-0b66-4b78-9807-4b60525a14c6
|
|
26
|
+
REACT_APP_API_CLIENT_ID=aef35d97-53d4-4fd0-adaf-c5a514b38436
|
|
27
|
+
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
|
|
28
|
+
REACT_APP_AZURE_BUILD_NUMBER=0.8.dev.9
|
|
29
|
+
REACT_APP_LOGGER_ACTIVE=false
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# echo-dev-host
|
|
2
|
+
|
|
3
|
+
**echo-dev-host** is a lightweight host application for developing and testing Echo Modules locally. It is shipped as source code with [`echo-cli`](../README.md) and provides a development shell that closely mimics the EchopediaWeb environment.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## What is echo-dev-host?
|
|
8
|
+
|
|
9
|
+
- Provides a local "empty shell" of EchopediaWeb for rapid Echo Module development.
|
|
10
|
+
- Ensures your module runs with the same dependencies and environment as production.
|
|
11
|
+
- Supports hot module reloading for fast feedback during development.
|
|
12
|
+
- Now shipped as source code, so you can update dependencies and rebuild locally—no need to wait for a new `echo-cli` release.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## New Workflow (from 2025)
|
|
17
|
+
|
|
18
|
+
**You are now in control of the Echo library versions used by your dev host!**
|
|
19
|
+
|
|
20
|
+
1. **Develop Echo libraries** (`echo-core`, `echo-base`, `echo-utils`, etc.) in the EchopediaWeb monorepo.
|
|
21
|
+
2. **Release new versions** of these libraries from EchopediaWeb.
|
|
22
|
+
3. **echo-cli** now ships with the source code of `echo-dev-host` (formerly echo-client), not a pre-built version.
|
|
23
|
+
4. **Consumer project:**
|
|
24
|
+
- Builds `echo-dev-host` locally using `npx build-echo-dev-host`
|
|
25
|
+
- Can update Echo library dependencies locally using `npx update-echo-libs`
|
|
26
|
+
- No need to bump and release `echo-cli` for every Echo library update—much more efficient and flexible.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Getting Started
|
|
31
|
+
|
|
32
|
+
### Prerequisites
|
|
33
|
+
|
|
34
|
+
- Node.js (see [root README](../../../README.md) for version requirements)
|
|
35
|
+
- [`echo-cli`](../README.md) installed as a dev dependency in your Echo Module project
|
|
36
|
+
|
|
37
|
+
### Typical Workflow
|
|
38
|
+
|
|
39
|
+
1. **Install dependencies**
|
|
40
|
+
In your Echo Module project:
|
|
41
|
+
|
|
42
|
+
```sh
|
|
43
|
+
npm install
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
2. **Build echo-dev-host locally**
|
|
47
|
+
|
|
48
|
+
```sh
|
|
49
|
+
npx build-echo-dev-host
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
This will:
|
|
53
|
+
|
|
54
|
+
- Copy `echo-dev-host` from `node_modules/@equinor/echo-cli` to your project root as `echo-dev-host-tmp`
|
|
55
|
+
- Install dependencies and build `echo-dev-host`
|
|
56
|
+
- Copy the build output back to `node_modules/@equinor/echo-cli`
|
|
57
|
+
|
|
58
|
+
3. **Start development server**
|
|
59
|
+
|
|
60
|
+
```sh
|
|
61
|
+
npm start
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Your module will open in the browser, running inside the dev host.
|
|
65
|
+
|
|
66
|
+
4. **Update Echo library dependencies (optional)**
|
|
67
|
+
To update the Echo libraries used by your dev host:
|
|
68
|
+
```sh
|
|
69
|
+
npx update-echo-libs
|
|
70
|
+
```
|
|
71
|
+
- You will be prompted for each Echo library to update to the latest or specify a version.
|
|
72
|
+
- Use the `-a` flag to update all to the latest automatically:
|
|
73
|
+
```sh
|
|
74
|
+
npx update-echo-libs -a
|
|
75
|
+
```
|
|
76
|
+
- This updates dependencies and rebuilds `echo-dev-host`.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Commands Reference
|
|
81
|
+
|
|
82
|
+
- **`npx build-echo-dev-host`**
|
|
83
|
+
|
|
84
|
+
- Builds the dev host locally with your current Echo library versions.
|
|
85
|
+
- Should be run after installing or updating dependencies.
|
|
86
|
+
|
|
87
|
+
- **`npx update-echo-libs`**
|
|
88
|
+
- Prompts you to update Echo library dependencies in the dev host.
|
|
89
|
+
- Rebuilds the dev host after updating.
|
|
90
|
+
- Use `-a` to update all Echo libraries to the latest versions automatically.
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Why this new approach?
|
|
95
|
+
|
|
96
|
+
- **No more waiting for echo-cli releases** just to get new Echo library versions.
|
|
97
|
+
- **You control the dev host dependencies**—update and rebuild as needed.
|
|
98
|
+
- **Faster, more flexible development** for all Echo teams.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Troubleshooting
|
|
103
|
+
|
|
104
|
+
- If you see errors about missing `echo-dev-host` build output, re-run:
|
|
105
|
+
```sh
|
|
106
|
+
npx build-echo-dev-host
|
|
107
|
+
```
|
|
108
|
+
- For dependency version mismatches, use:
|
|
109
|
+
```sh
|
|
110
|
+
npx update-echo-libs
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## More Information
|
|
116
|
+
|
|
117
|
+
- [echo-cli documentation](../README.md)
|
|
118
|
+
- [How to release new echo-cli versions](../README.md#how-to-make-a-new-release)
|
|
119
|
+
- [EchopediaWeb monorepo documentation](../../../README.md)
|
|
120
|
+
|
|
121
|
+
---
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
#https://www.freecodecamp.org/news/how-to-implement-runtime-environment-variables-with-create-react-app-docker-and-nginx-7f9d42a91d70/
|
|
4
|
+
#
|
|
5
|
+
|
|
6
|
+
# Recreate config file
|
|
7
|
+
rm -rf ./env-config.js
|
|
8
|
+
touch ./env-config.js
|
|
9
|
+
|
|
10
|
+
echo "creating env-config.js"
|
|
11
|
+
|
|
12
|
+
# Add assignment
|
|
13
|
+
echo "window._env_ = {" >> ./env-config.js
|
|
14
|
+
|
|
15
|
+
# Read each line in .env file
|
|
16
|
+
# Each line represents key=value pairs
|
|
17
|
+
while read -r line || [[ -n "$line" ]];
|
|
18
|
+
do
|
|
19
|
+
#only process lines containting =
|
|
20
|
+
if [[ $line == *"="* ]]; then
|
|
21
|
+
|
|
22
|
+
# Split env variables by character `=`
|
|
23
|
+
if printf '%s\n' "$line" | grep -q -e '='; then
|
|
24
|
+
varname=$(printf '%s\n' "$line" | sed -e 's/=.*//')
|
|
25
|
+
varvalue=$(printf '%s\n' "$line" | sed -e 's/^[^=]*=//')
|
|
26
|
+
fi
|
|
27
|
+
|
|
28
|
+
# Read value of current variable if exists as Environment variable
|
|
29
|
+
value=$(printf '%s\n' "${!varname}")
|
|
30
|
+
# Otherwise use value from .env file
|
|
31
|
+
[[ -z $value ]] && value=${varvalue}
|
|
32
|
+
|
|
33
|
+
# Append configuration property to JS file
|
|
34
|
+
echo " $varname: \"$value\"," >> ./env-config.js
|
|
35
|
+
|
|
36
|
+
#print variables
|
|
37
|
+
valueObfuscated=$(printf '%s' "$value" | cut -c 1-3)
|
|
38
|
+
#echo " $varname: \"$value\"," #print the environment variables
|
|
39
|
+
echo " $varname=\"$valueObfuscated***\"," #print the environment variables obfuscated
|
|
40
|
+
fi
|
|
41
|
+
done < .env
|
|
42
|
+
|
|
43
|
+
echo "}" >> ./env-config.js
|
|
44
|
+
|
|
45
|
+
#if directory exists, copy to public folder. Needed for dev enironment (npm start)
|
|
46
|
+
if [ -d "public" ]; then
|
|
47
|
+
rm -rf ./public/env-config.js
|
|
48
|
+
cp ./env-config.js ./public/env-config.js
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
echo "done creating env-config.js"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
testEnvironment: 'jsdom',
|
|
3
|
+
moduleNameMapper: {
|
|
4
|
+
'\\.css$': 'identity-obj-proxy',
|
|
5
|
+
'\\.svg$': '<rootDir>/src/__mocks__/svgrMock.ts'
|
|
6
|
+
},
|
|
7
|
+
preset: 'ts-jest',
|
|
8
|
+
coveragePathIgnorePatterns: ['src/types/*', 'src/index.ts', 'src/typings/*'],
|
|
9
|
+
collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}', '!<rootDir>/node_modules/'],
|
|
10
|
+
coverageThreshold: {
|
|
11
|
+
global: {
|
|
12
|
+
lines: 90,
|
|
13
|
+
statements: 90
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
transform: {
|
|
17
|
+
'^.+\\.(j|t)sx?$': 'ts-jest'
|
|
18
|
+
},
|
|
19
|
+
testMatch: ['**/__tests__/**/*.test.[jt]s?(x)', '**/?(*.)+(spec|test).[tj]s?(x)'],
|
|
20
|
+
setupFilesAfterEnv: ['<rootDir>/src/setupTests.ts']
|
|
21
|
+
};
|