@equinor/echo-cli 1.0.3-beta-0 → 1.0.3-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/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 +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { merge } from '../../utils/merge.js';
|
|
2
|
+
describe('merge function tests', () => {
|
|
3
|
+
it('should merge arrays of arrays ', () => {
|
|
4
|
+
const arr1 = [1, 2, 3];
|
|
5
|
+
const arr2 = [4, 5, 6];
|
|
6
|
+
const arr3 = [7, 8, 9];
|
|
7
|
+
const array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
|
|
8
|
+
const result = merge(arr1, arr2, arr3);
|
|
9
|
+
expect(result).toEqual(array);
|
|
10
|
+
});
|
|
11
|
+
it('should return empty array', () => {
|
|
12
|
+
const arr1 = [];
|
|
13
|
+
const arr2 = [];
|
|
14
|
+
const result = merge(arr1, arr2);
|
|
15
|
+
expect(result).toEqual([]);
|
|
16
|
+
});
|
|
17
|
+
it('should also return empty array', () => {
|
|
18
|
+
const arr1 = [];
|
|
19
|
+
const result = merge(arr1);
|
|
20
|
+
expect(result).toEqual([]);
|
|
21
|
+
});
|
|
22
|
+
it('should also [1]', () => {
|
|
23
|
+
const arr1 = [];
|
|
24
|
+
const arr2 = [1];
|
|
25
|
+
const result = merge(arr1, arr2);
|
|
26
|
+
expect(result).toEqual(arr2);
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=merg.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merg.test.js","sourceRoot":"","sources":["../../../src/__test__/utils/merg.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvB,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAE1C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACjC,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACvB,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
*/
|
|
16
|
+
export declare function buildAndCopyEchoHostForProd(options: EchoWebpackOptions): Promise<void>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { ECHO_HOST_TEMP_BUILD_FOLDER } from '../../const/common.js';
|
|
4
|
+
import { buildAndCopyDevHost } from '../../tools/buildScripts/buildAndCopyDevHost.js';
|
|
5
|
+
import { findTopNodeModulesWithEchoCli } from '../../utils/findTopLevelNodeModulesWithCli.js';
|
|
6
|
+
/**
|
|
7
|
+
* Builds and copies the echo-dev-host application for production use.
|
|
8
|
+
*
|
|
9
|
+
* This function resolves the output directory based on the provided options,
|
|
10
|
+
* removes any leading slashes from the content base path, and then invokes
|
|
11
|
+
* the development host build and copy process with production settings.
|
|
12
|
+
*
|
|
13
|
+
* @param options - The configuration options for the Echo Webpack build process.
|
|
14
|
+
* - `echoModuleConfig.server.contentBase`: The build directory for the given echo module / app. Usually `dist`.
|
|
15
|
+
* Usually defined in echoModule.config.json for the given ehco module / app.
|
|
16
|
+
* - `currentDir`: The current working directory.
|
|
17
|
+
*
|
|
18
|
+
* @returns A promise that resolves when the build and copy process is complete.
|
|
19
|
+
*/
|
|
20
|
+
export async function buildAndCopyEchoHostForProd(options) {
|
|
21
|
+
// Remove leading slash if present
|
|
22
|
+
const contentBase = options.echoModuleConfig.server.contentBase.replace(/^[/\\]+/, '');
|
|
23
|
+
const finalOutputDir = path.resolve(options.currentDir, contentBase);
|
|
24
|
+
const topMostNodeModulesPathWithEchoCli = findTopNodeModulesWithEchoCli(options.currentDir);
|
|
25
|
+
if (!topMostNodeModulesPathWithEchoCli) {
|
|
26
|
+
console.error(chalk.red.bold('[echo-cli] Could not find top-level node_modules containing @equinor/echo-cli.\n') +
|
|
27
|
+
chalk.yellow('Please ensure dependencies are installed and you are running the command from the correct project directory.'));
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
const cliNodeModules = path.resolve(topMostNodeModulesPathWithEchoCli, '@equinor', 'echo-cli');
|
|
31
|
+
await buildAndCopyDevHost({
|
|
32
|
+
cliNodeModules,
|
|
33
|
+
tmpDevHostFolder: path.resolve(options.currentDir, ECHO_HOST_TEMP_BUILD_FOLDER),
|
|
34
|
+
finalOutputDir,
|
|
35
|
+
isProdBuild: true
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=buildAndCopyEchoHostForProd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildAndCopyEchoHostForProd.js","sourceRoot":"","sources":["../../../src/config/common/buildAndCopyEchoHostForProd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,6BAA6B,EAAE,MAAM,+CAA+C,CAAC;AAG9F;;;;;;;;;;;;;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;IACrE,MAAM,iCAAiC,GAAG,6BAA6B,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE5F,IAAI,CAAC,iCAAiC,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CACT,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,kFAAkF,CAAC;YAC9F,KAAK,CAAC,MAAM,CACR,8GAA8G,CACjH,CACR,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,iCAAiC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAE/F,MAAM,mBAAmB,CAAC;QACtB,cAAc;QACd,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,2BAA2B,CAAC;QAC/E,cAAc;QACd,WAAW,EAAE,IAAI;KACpB,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import * as fs from 'fs';
|
|
3
|
+
import getPackageJson from './getPackageJson.js';
|
|
4
|
+
export async function createEchoModuleManifest(echoModuleConfig, currentPath, requireRef) {
|
|
5
|
+
if (!currentPath) {
|
|
6
|
+
console.error('%s The current path is undefined ', chalk.red.bold('ERROR'));
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
const pkj = await getPackageJson(currentPath);
|
|
10
|
+
const buildPath = `${currentPath}${echoModuleConfig.server.contentBase}`;
|
|
11
|
+
const filePath = `${buildPath}/echoModuleManifest.json`;
|
|
12
|
+
if (!fs.existsSync(buildPath)) {
|
|
13
|
+
fs.mkdirSync(buildPath, {
|
|
14
|
+
recursive: true
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
const newEchoModuleManifest = [
|
|
19
|
+
{
|
|
20
|
+
name: echoModuleConfig.manifest.name,
|
|
21
|
+
key: echoModuleConfig.manifest.key,
|
|
22
|
+
shortName: echoModuleConfig.manifest.shortName,
|
|
23
|
+
fileUri: echoModuleConfig.manifest.fileUri,
|
|
24
|
+
devFileUri: echoModuleConfig.manifest.devFileUri,
|
|
25
|
+
qaFileUri: echoModuleConfig.manifest.qaFileUri,
|
|
26
|
+
testFileUri: echoModuleConfig.manifest.testFileUri,
|
|
27
|
+
test2FileUri: echoModuleConfig.manifest.test2FileUri,
|
|
28
|
+
path: echoModuleConfig.manifest.path,
|
|
29
|
+
version: pkj.version,
|
|
30
|
+
private: echoModuleConfig.manifest.private,
|
|
31
|
+
requireRef
|
|
32
|
+
}
|
|
33
|
+
];
|
|
34
|
+
fs.writeFileSync(filePath, JSON.stringify(newEchoModuleManifest, null, 4));
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
console.error(error);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export function getFileUriPath(filePath) {
|
|
41
|
+
const arr = filePath.split('/');
|
|
42
|
+
const fileName = arr[arr.length - 1];
|
|
43
|
+
return `/${fileName}`;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=echoManifest.js.map
|
|
@@ -0,0 +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,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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { TemplateDir } from '../../types/createTypes.js';
|
|
2
|
+
export interface EchoModuleConfig {
|
|
3
|
+
bundler: string;
|
|
4
|
+
chunk?: boolean;
|
|
5
|
+
webpackConfigPath?: string;
|
|
6
|
+
excludeTsLoader?: boolean;
|
|
7
|
+
manifest: {
|
|
8
|
+
name: string;
|
|
9
|
+
key: string;
|
|
10
|
+
shortName: string;
|
|
11
|
+
path: string;
|
|
12
|
+
description: string;
|
|
13
|
+
private: boolean;
|
|
14
|
+
fileUri: string;
|
|
15
|
+
devFileUri?: string;
|
|
16
|
+
qaFileUri?: string;
|
|
17
|
+
testFileUri?: string;
|
|
18
|
+
test2FileUri?: string;
|
|
19
|
+
};
|
|
20
|
+
server: {
|
|
21
|
+
contentBase: string;
|
|
22
|
+
port: number;
|
|
23
|
+
open: boolean;
|
|
24
|
+
host: string;
|
|
25
|
+
logging: 'none' | 'verbose' | 'error' | 'log' | 'info' | 'warn';
|
|
26
|
+
};
|
|
27
|
+
devMiddleware: {
|
|
28
|
+
stats: boolean | 'none' | 'verbose' | 'summary' | 'errors-only' | 'errors-warnings' | 'minimal' | 'normal' | 'detailed';
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export declare function createEchoModuleConfig(options: TemplateDir): Promise<void>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import { ECHO_MODULE_CONFIG_PATH } from '../../const/common.js';
|
|
3
|
+
export async function createEchoModuleConfig(options) {
|
|
4
|
+
const filePath = `${options.targetDirectory}${ECHO_MODULE_CONFIG_PATH}`;
|
|
5
|
+
try {
|
|
6
|
+
const newModuleConfig = {
|
|
7
|
+
bundler: 'webpack',
|
|
8
|
+
manifest: {
|
|
9
|
+
name: options.name,
|
|
10
|
+
key: options.key,
|
|
11
|
+
shortName: options.shortName,
|
|
12
|
+
path: options.path,
|
|
13
|
+
description: options.description,
|
|
14
|
+
private: false,
|
|
15
|
+
fileUri: 'module-url-placeholder'
|
|
16
|
+
},
|
|
17
|
+
server: {
|
|
18
|
+
contentBase: '/build',
|
|
19
|
+
port: 3000,
|
|
20
|
+
open: true,
|
|
21
|
+
host: 'localhost',
|
|
22
|
+
logging: 'none'
|
|
23
|
+
},
|
|
24
|
+
devMiddleware: {
|
|
25
|
+
stats: 'errors-warnings'
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
fs.writeFileSync(filePath, JSON.stringify(newModuleConfig, null, 4));
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
console.error(error);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=echoModuleConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"echoModuleConfig.js","sourceRoot":"","sources":["../../../src/config/common/echoModuleConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AA6ChE,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAAoB;IAC7D,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,eAAe,GAAG,uBAAuB,EAAE,CAAC;IAExE,IAAI,CAAC;QACD,MAAM,eAAe,GAAqB;YACtC,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE;gBACN,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,wBAAwB;aACpC;YACD,MAAM,EAAE;gBACJ,WAAW,EAAE,QAAQ;gBACrB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,MAAM;aAClB;YACD,aAAa,EAAE;gBACX,KAAK,EAAE,iBAAiB;aAC3B;SACJ,CAAC;QAEF,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import { ECHO_MODULE_ID_PATH } from '../../const/common.js';
|
|
3
|
+
export async function createEchoModuleId(options) {
|
|
4
|
+
const filePath = `${options.targetDirectory}${ECHO_MODULE_ID_PATH}`;
|
|
5
|
+
try {
|
|
6
|
+
const newModuleConfig = {
|
|
7
|
+
moduleId: '<<------Insert moduleId here ------>>'
|
|
8
|
+
};
|
|
9
|
+
fs.writeFileSync(filePath, JSON.stringify(newModuleConfig, null, 4));
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
console.error(error);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=echoModuleId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"echoModuleId.js","sourceRoot":"","sources":["../../../src/config/common/echoModuleId.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAO5D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAoB;IACzD,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,eAAe,GAAG,mBAAmB,EAAE,CAAC;IAEpE,IAAI,CAAC;QACD,MAAM,eAAe,GAAiB;YAClC,QAAQ,EAAE,uCAAuC;SACpD,CAAC;QAEF,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const extensions: string[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../../src/config/common/extensions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
export function getBuildFilePath(currentDir, relativePath) {
|
|
3
|
+
return getPath(currentDir || '', relativePath ? relativePath : '/build/index.js');
|
|
4
|
+
}
|
|
5
|
+
export function getSrcFilePath(currentDir, relativePath) {
|
|
6
|
+
return getPath(currentDir || '', relativePath ? relativePath : '/src/index.tsx');
|
|
7
|
+
}
|
|
8
|
+
function getPath(currentDir, relativePath) {
|
|
9
|
+
return path.join(currentDir, relativePath);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=getCurrentIndexFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getCurrentIndexFile.js","sourceRoot":"","sources":["../../../src/config/common/getCurrentIndexFile.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,UAAU,gBAAgB,CAAC,UAAmB,EAAE,YAAqB;IACvE,OAAO,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,UAAmB,EAAE,YAAqB;IACrE,OAAO,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,OAAO,CAAC,UAAkB,EAAE,YAAoB;IACrD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function getPackageJson(currentDir: string): Promise<any>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import getFilePath from '../../utils/getFilePath.js';
|
|
3
|
+
export default async function getPackageJson(currentDir) {
|
|
4
|
+
const configPath = await getFilePath(currentDir, '/package.json');
|
|
5
|
+
return JSON.parse(fs.readFileSync(configPath).toString());
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=getPackageJson.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPackageJson.js","sourceRoot":"","sources":["../../../src/config/common/getPackageJson.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,WAAW,MAAM,4BAA4B,CAAC;AAErD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,cAAc,CAAC,UAAkB;IAC3D,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAClE,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import pem from 'pem';
|
|
2
|
+
export async function defineHttps() {
|
|
3
|
+
return new Promise((resolve, reject) => {
|
|
4
|
+
pem.createCertificate({ days: 1, selfSigned: true }, (err, keys) => {
|
|
5
|
+
if (err) {
|
|
6
|
+
reject(err);
|
|
7
|
+
}
|
|
8
|
+
const https = { key: '', cert: '' };
|
|
9
|
+
https.key = keys.serviceKey;
|
|
10
|
+
https.cert = keys.certificate;
|
|
11
|
+
https.ca = keys.csr;
|
|
12
|
+
resolve(https);
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=https.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"https.js","sourceRoot":"","sources":["../../../src/config/common/https.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAQtB,MAAM,CAAC,KAAK,UAAU,WAAW;IAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,GAAG,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC/D,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC;YAED,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAW,CAAC;YAC7C,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;YAC5B,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;YAC9B,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Configuration } from 'webpack';
|
|
2
|
+
import { EchoModuleConfig } from './echoModuleConfig.js';
|
|
3
|
+
import { Https } from './https.js';
|
|
4
|
+
export interface EchoWebpackOptions extends EchoBundleOptions {
|
|
5
|
+
config: Configuration;
|
|
6
|
+
topMostNodeModulesPathWithEchoCli: string;
|
|
7
|
+
}
|
|
8
|
+
export interface EchoBundleOptions {
|
|
9
|
+
watch?: boolean;
|
|
10
|
+
serve?: boolean;
|
|
11
|
+
isProduction: boolean;
|
|
12
|
+
currentDir: string;
|
|
13
|
+
wwwRoot: string;
|
|
14
|
+
main: string;
|
|
15
|
+
source: string;
|
|
16
|
+
peerDependencies: Record<string, string>;
|
|
17
|
+
dependencies: Record<string, string>;
|
|
18
|
+
devDependencies: Record<string, string>;
|
|
19
|
+
requireRef: string;
|
|
20
|
+
https: Https;
|
|
21
|
+
envPath: string;
|
|
22
|
+
echoModuleConfig: EchoModuleConfig;
|
|
23
|
+
copy?: boolean;
|
|
24
|
+
analyze: boolean;
|
|
25
|
+
}
|
|
26
|
+
export declare function defineInitOptions(echoBundleOptions: Partial<EchoBundleOptions>, isDevelopment?: boolean): Promise<Partial<EchoWebpackOptions>>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { ECHO_HOST_BUILD_OUTPUT_FOLDER, ECHO_MODULE_CONFIG_PATH, REQUIRED_REF } from '../../const/common.js';
|
|
3
|
+
import { findTopNodeModulesWithEchoCli } from '../../utils/findTopLevelNodeModulesWithCli.js';
|
|
4
|
+
import getFilePath, { readJSONFile } from '../../utils/getFile.js';
|
|
5
|
+
import getPackageJson from './getPackageJson.js';
|
|
6
|
+
export async function defineInitOptions(echoBundleOptions, isDevelopment) {
|
|
7
|
+
// issue when using this in echo 3d: this points to echo-3d-web subfolder, while echo-cli is in the root folder
|
|
8
|
+
// should I use path.join(topNodeModules, ECHO_HOST_BUILD_OUTPUT_FOLDER) for echo-cli path, maybe in a new key on EchoWebpackOptions?
|
|
9
|
+
const currentDir = process.cwd();
|
|
10
|
+
const echoModuleConfig = await readJSONFile(currentDir, ECHO_MODULE_CONFIG_PATH);
|
|
11
|
+
const pkj = await getPackageJson(currentDir);
|
|
12
|
+
const topNodeModulesPath = findTopNodeModulesWithEchoCli(currentDir);
|
|
13
|
+
if (!topNodeModulesPath) {
|
|
14
|
+
throw new Error('Could not find top-level node_modules containing @equinor/echo-cli');
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
...echoBundleOptions,
|
|
18
|
+
isProduction: isDevelopment ? false : true,
|
|
19
|
+
currentDir,
|
|
20
|
+
topMostNodeModulesPathWithEchoCli: topNodeModulesPath,
|
|
21
|
+
source: pkj.source,
|
|
22
|
+
main: pkj.main,
|
|
23
|
+
peerDependencies: pkj.peerDependencies,
|
|
24
|
+
dependencies: pkj.dependencies,
|
|
25
|
+
devDependencies: pkj.devDependencies,
|
|
26
|
+
wwwRoot: path.join(topNodeModulesPath, '@equinor', 'echo-cli', ECHO_HOST_BUILD_OUTPUT_FOLDER),
|
|
27
|
+
requireRef: REQUIRED_REF,
|
|
28
|
+
envPath: await getFilePath(currentDir, '/.env'),
|
|
29
|
+
echoModuleConfig
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=initOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initOptions.js","sourceRoot":"","sources":["../../../src/config/common/initOptions.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC7G,OAAO,EAAE,6BAA6B,EAAE,MAAM,+CAA+C,CAAC;AAC9F,OAAO,WAAW,EAAE,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,cAAc,MAAM,qBAAqB,CAAC;AA2BjD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,iBAA6C,EAC7C,aAAuB;IAEvB,+GAA+G;IAC/G,qIAAqI;IACrI,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACjC,MAAM,gBAAgB,GAAqB,MAAM,YAAY,CACzD,UAAU,EACV,uBAAuB,CAC1B,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;IAE7C,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,UAAU,CAAC,CAAC;IACrE,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO;QACH,GAAG,iBAAiB;QACpB,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QAC1C,UAAU;QACV,iCAAiC,EAAE,kBAAkB;QACrD,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;QACtC,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,eAAe,EAAE,GAAG,CAAC,eAAe;QACpC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,6BAA6B,CAAC;QAC7F,UAAU,EAAE,YAAY;QACxB,OAAO,EAAE,MAAM,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC;QAC/C,gBAAgB;KACnB,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import pem from 'pem';
|
|
4
|
+
async function createHttps(days) {
|
|
5
|
+
return new Promise((resolve, reject) => {
|
|
6
|
+
pem.createCertificate({ days, selfSigned: true }, (err, keys) => {
|
|
7
|
+
if (err) {
|
|
8
|
+
reject(err);
|
|
9
|
+
}
|
|
10
|
+
const https = { key: keys.serviceKey, cert: keys.certificate, ca: keys.csr };
|
|
11
|
+
resolve(https);
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
async function createSslFiles(currentPath, days) {
|
|
16
|
+
try {
|
|
17
|
+
const https = await createHttps(days);
|
|
18
|
+
const { keyPath, certificatePath, csrPath } = getCertPaths(currentPath);
|
|
19
|
+
fs.writeFileSync(keyPath, https.key);
|
|
20
|
+
fs.writeFileSync(certificatePath, https.cert);
|
|
21
|
+
fs.writeFileSync(csrPath, https.ca);
|
|
22
|
+
const sslManifest = {
|
|
23
|
+
date: new Date(),
|
|
24
|
+
days
|
|
25
|
+
};
|
|
26
|
+
const sslManifestPath = path.join(currentPath || '', '/ssl/ssl.manifest.json');
|
|
27
|
+
fs.writeFileSync(sslManifestPath, JSON.stringify(sslManifest, null, 4));
|
|
28
|
+
return https;
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
throw error;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function getCertPaths(currentPath) {
|
|
35
|
+
const keyPath = path.join(currentPath || '', '/ssl/serviceKey.key');
|
|
36
|
+
const certificatePath = path.join(currentPath || '', '/ssl/certificate.key');
|
|
37
|
+
const csrPath = path.join(currentPath || '', '/ssl/csr.key');
|
|
38
|
+
return {
|
|
39
|
+
keyPath,
|
|
40
|
+
certificatePath,
|
|
41
|
+
csrPath
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
function isSSLOutdated(sslManifest) {
|
|
45
|
+
if (!sslManifest)
|
|
46
|
+
return false;
|
|
47
|
+
const certDate = new Date(sslManifest.date);
|
|
48
|
+
const currentDate = new Date();
|
|
49
|
+
const diff = certDate.getTime() - currentDate.getTime();
|
|
50
|
+
const days = diff / (1000 * 3600 * 24);
|
|
51
|
+
return days < sslManifest.days;
|
|
52
|
+
}
|
|
53
|
+
export async function getHttps(currentPath, days) {
|
|
54
|
+
try {
|
|
55
|
+
const sslManifestPath = path.join(currentPath || '', '/ssl/ssl.manifest.json');
|
|
56
|
+
const sslManifest = JSON.parse(fs.readFileSync(sslManifestPath).toString());
|
|
57
|
+
if (!sslManifest.date)
|
|
58
|
+
throw new Error('No SSL');
|
|
59
|
+
if (isSSLOutdated(sslManifest)) {
|
|
60
|
+
return await createSslFiles(currentPath, days);
|
|
61
|
+
}
|
|
62
|
+
const { keyPath, certificatePath, csrPath } = getCertPaths(currentPath);
|
|
63
|
+
const key = fs.readFileSync(keyPath).toString();
|
|
64
|
+
const cert = fs.readFileSync(certificatePath).toString();
|
|
65
|
+
const ca = fs.readFileSync(csrPath).toString();
|
|
66
|
+
return {
|
|
67
|
+
key,
|
|
68
|
+
cert,
|
|
69
|
+
ca
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
return await createSslFiles(currentPath, days);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=ssl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssl.js","sourceRoot":"","sources":["../../../src/config/common/ssl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import { ECHO_MODULE_ID_PATH } from '../../const/common.js';
|
|
3
|
+
export async function createEchoModuleId(options) {
|
|
4
|
+
const filePath = `${options.targetDirectory}${ECHO_MODULE_ID_PATH}`;
|
|
5
|
+
try {
|
|
6
|
+
const newModuleConfig = {
|
|
7
|
+
moduleId: '<<------Insert moduleId here ------>>'
|
|
8
|
+
};
|
|
9
|
+
fs.writeFileSync(filePath, JSON.stringify(newModuleConfig, null, 4));
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
console.error(error);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export async function updateEnvFile() { }
|
|
16
|
+
//# sourceMappingURL=updateEnv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateEnv.js","sourceRoot":"","sources":["../../../src/config/common/updateEnv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAO5D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAoB;IACzD,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,eAAe,GAAG,mBAAmB,EAAE,CAAC;IAEpE,IAAI,CAAC;QACD,MAAM,eAAe,GAAiB;YAClC,QAAQ,EAAE,uCAAuC;SACpD,CAAC;QAEF,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,KAAI,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { extensions } from '../common/extensions.js';
|
|
2
|
+
import { defineEntry } from './configBuilders/entry.js';
|
|
3
|
+
import { defineModule } from './configBuilders/module.js';
|
|
4
|
+
import { defineOptimizations } from './configBuilders/optimization.js';
|
|
5
|
+
import { defineOutput } from './configBuilders/output.js';
|
|
6
|
+
import { definePlugins } from './configBuilders/plugins.js';
|
|
7
|
+
export async function defineWebpackConfig(options) {
|
|
8
|
+
const peerDependencies = Object.keys(options.peerDependencies ?? {});
|
|
9
|
+
const mode = options.isProduction ? 'production' : 'development';
|
|
10
|
+
return {
|
|
11
|
+
entry: defineEntry(options),
|
|
12
|
+
mode,
|
|
13
|
+
context: options.currentDir,
|
|
14
|
+
devtool: !options.isProduction && 'source-map',
|
|
15
|
+
externals: [...peerDependencies],
|
|
16
|
+
output: defineOutput(options),
|
|
17
|
+
resolve: {
|
|
18
|
+
extensions,
|
|
19
|
+
fallback: {
|
|
20
|
+
crypto: false,
|
|
21
|
+
stream: false,
|
|
22
|
+
buffer: false
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
target: 'web',
|
|
26
|
+
module: defineModule(options.echoModuleConfig.excludeTsLoader),
|
|
27
|
+
plugins: definePlugins(options),
|
|
28
|
+
optimization: defineOptimizations(options.isProduction),
|
|
29
|
+
infrastructureLogging: {
|
|
30
|
+
level: 'none',
|
|
31
|
+
debug: false,
|
|
32
|
+
appendOnly: true
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/webpack/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAA2B;IACjE,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;IAEjE,OAAO;QACH,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC;QAC3B,IAAI;QACJ,OAAO,EAAE,OAAO,CAAC,UAAU;QAC3B,OAAO,EAAE,CAAC,OAAO,CAAC,YAAY,IAAI,YAAY;QAC9C,SAAS,EAAE,CAAC,GAAG,gBAAgB,CAAC;QAChC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC;QAC7B,OAAO,EAAE;YACL,UAAU;YACV,QAAQ,EAAE;gBACN,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,KAAK;aAChB;SACJ;QACD,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC;QAC9D,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC;QAC/B,YAAY,EAAE,mBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC;QACvD,qBAAqB,EAAE;YACnB,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,KAAK;YACZ,UAAU,EAAE,IAAI;SACnB;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import WebpackDevServer from 'webpack-dev-server';
|
|
2
|
+
import { EchoModuleConfig } from '../../common/echoModuleConfig.js';
|
|
3
|
+
/**
|
|
4
|
+
* Defines options for the webpack dev server middleware.
|
|
5
|
+
* @param - Additional options (https://webpack.js.org/configuration/dev-server/)
|
|
6
|
+
* @returns {WebpackDevServerOptions} A settings object.
|
|
7
|
+
*/
|
|
8
|
+
export declare function defineDevServer(current: string, root: string, modulePath: string, echoModuleConfig: EchoModuleConfig): WebpackDevServer.Configuration;
|