@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.
Files changed (171) hide show
  1. package/lib/__test__/utils/merg.test.d.ts +1 -0
  2. package/lib/__test__/utils/merg.test.js +29 -0
  3. package/lib/__test__/utils/merg.test.js.map +1 -0
  4. package/lib/config/common/buildAndCopyEchoHostForProd.d.ts +16 -0
  5. package/lib/config/common/buildAndCopyEchoHostForProd.js +38 -0
  6. package/lib/config/common/buildAndCopyEchoHostForProd.js.map +1 -0
  7. package/lib/config/common/echoManifest.d.ts +3 -0
  8. package/lib/config/common/echoManifest.js +45 -0
  9. package/lib/config/common/echoManifest.js.map +1 -0
  10. package/lib/config/common/echoModuleConfig.d.ts +31 -0
  11. package/lib/config/common/echoModuleConfig.js +34 -0
  12. package/lib/config/common/echoModuleConfig.js.map +1 -0
  13. package/lib/config/common/echoModuleId.d.ts +5 -0
  14. package/lib/config/common/echoModuleId.js +15 -0
  15. package/lib/config/common/echoModuleId.js.map +1 -0
  16. package/lib/config/common/extensions.d.ts +1 -0
  17. package/lib/config/common/extensions.js +2 -0
  18. package/lib/config/common/extensions.js.map +1 -0
  19. package/lib/config/common/getCurrentIndexFile.d.ts +2 -0
  20. package/lib/config/common/getCurrentIndexFile.js +11 -0
  21. package/lib/config/common/getCurrentIndexFile.js.map +1 -0
  22. package/lib/config/common/getPackageJson.d.ts +1 -0
  23. package/lib/config/common/getPackageJson.js +7 -0
  24. package/lib/config/common/getPackageJson.js.map +1 -0
  25. package/lib/config/common/https.d.ts +6 -0
  26. package/lib/config/common/https.js +16 -0
  27. package/lib/config/common/https.js.map +1 -0
  28. package/lib/config/common/initOptions.d.ts +26 -0
  29. package/lib/config/common/initOptions.js +32 -0
  30. package/lib/config/common/initOptions.js.map +1 -0
  31. package/lib/config/common/ssl.d.ts +7 -0
  32. package/lib/config/common/ssl.js +76 -0
  33. package/lib/config/common/ssl.js.map +1 -0
  34. package/lib/config/common/updateEnv.d.ts +6 -0
  35. package/lib/config/common/updateEnv.js +16 -0
  36. package/lib/config/common/updateEnv.js.map +1 -0
  37. package/lib/config/webpack/config.d.ts +3 -0
  38. package/lib/config/webpack/config.js +36 -0
  39. package/lib/config/webpack/config.js.map +1 -0
  40. package/lib/config/webpack/configBuilders/devServer.d.ts +8 -0
  41. package/lib/config/webpack/configBuilders/devServer.js +60 -0
  42. package/lib/config/webpack/configBuilders/devServer.js.map +1 -0
  43. package/lib/config/webpack/configBuilders/entry.d.ts +12 -0
  44. package/lib/config/webpack/configBuilders/entry.js +13 -0
  45. package/lib/config/webpack/configBuilders/entry.js.map +1 -0
  46. package/lib/config/webpack/configBuilders/module.d.ts +8 -0
  47. package/lib/config/webpack/configBuilders/module.js +124 -0
  48. package/lib/config/webpack/configBuilders/module.js.map +1 -0
  49. package/lib/config/webpack/configBuilders/optimization.d.ts +7 -0
  50. package/lib/config/webpack/configBuilders/optimization.js +30 -0
  51. package/lib/config/webpack/configBuilders/optimization.js.map +1 -0
  52. package/lib/config/webpack/configBuilders/output.d.ts +12 -0
  53. package/lib/config/webpack/configBuilders/output.js +20 -0
  54. package/lib/config/webpack/configBuilders/output.js.map +1 -0
  55. package/lib/config/webpack/configBuilders/plugins.d.ts +10 -0
  56. package/lib/config/webpack/configBuilders/plugins.js +29 -0
  57. package/lib/config/webpack/configBuilders/plugins.js.map +1 -0
  58. package/lib/config/webpack/echoWebpackModule.d.ts +2 -0
  59. package/lib/config/webpack/echoWebpackModule.js +47 -0
  60. package/lib/config/webpack/echoWebpackModule.js.map +1 -0
  61. package/lib/config/webpack/server.d.ts +3 -0
  62. package/lib/config/webpack/server.js +22 -0
  63. package/lib/config/webpack/server.js.map +1 -0
  64. package/lib/const/common.d.ts +6 -0
  65. package/lib/const/common.js +15 -0
  66. package/lib/const/common.js.map +1 -0
  67. package/lib/echo-build-dev-host.d.ts +6 -0
  68. package/lib/echo-build-dev-host.js +19 -0
  69. package/lib/echo-build-dev-host.js.map +1 -0
  70. package/lib/echo-build.d.ts +34 -0
  71. package/lib/echo-build.js +83 -0
  72. package/lib/echo-build.js.map +1 -0
  73. package/lib/echo-create.d.ts +16 -0
  74. package/lib/echo-create.js +35 -0
  75. package/lib/echo-create.js.map +1 -0
  76. package/lib/echo-dev-host/.env +29 -0
  77. package/lib/echo-dev-host/README.md +121 -0
  78. package/lib/echo-dev-host/babel.config.js +11 -0
  79. package/lib/echo-dev-host/env.sh +51 -0
  80. package/lib/echo-dev-host/jest.config.js +21 -0
  81. package/lib/echo-dev-host/package-lock.json +12555 -0
  82. package/lib/echo-dev-host/package.json +80 -0
  83. package/lib/echo-dev-host/public/env-config.js +17 -0
  84. package/lib/echo-dev-host/public/index.css +60 -0
  85. package/lib/echo-dev-host/public/index.html +21 -0
  86. package/lib/echo-dev-host/src/api/api-plants.ts +23 -0
  87. package/lib/echo-dev-host/src/app.css +12 -0
  88. package/lib/echo-dev-host/src/app.tsx +43 -0
  89. package/lib/echo-dev-host/src/components/Home/Home.tsx +23 -0
  90. package/lib/echo-dev-host/src/components/Home/home.module.css +38 -0
  91. package/lib/echo-dev-host/src/components/dummySearchPanel/DummySearchPanel.tsx +28 -0
  92. package/lib/echo-dev-host/src/components/dummySearchPanel/dummySearchPanel.module.css +13 -0
  93. package/lib/echo-dev-host/src/components/legend.tsx +3 -0
  94. package/lib/echo-dev-host/src/images/frontpage-brand-placeholder.jpg +0 -0
  95. package/lib/echo-dev-host/src/index.tsx +91 -0
  96. package/lib/echo-dev-host/src/setupTests.ts +25 -0
  97. package/lib/echo-dev-host/src/utils/plants.test.ts +33 -0
  98. package/lib/echo-dev-host/src/utils/plants.ts +12 -0
  99. package/lib/echo-dev-host/src/utils/setupSkipAuth.ts +43 -0
  100. package/lib/echo-dev-host/tsconfig.json +21 -0
  101. package/lib/echo-dev-host/webpack.config.js +145 -0
  102. package/lib/echo-manifest.d.ts +6 -0
  103. package/lib/echo-manifest.js +13 -0
  104. package/lib/echo-manifest.js.map +1 -0
  105. package/lib/tools/buildScripts/buildAndCopyDevHost.d.ts +29 -0
  106. package/lib/tools/buildScripts/buildAndCopyDevHost.js +135 -0
  107. package/lib/tools/buildScripts/buildAndCopyDevHost.js.map +1 -0
  108. package/lib/tools/buildScripts/webpackBuilds.d.ts +3 -0
  109. package/lib/tools/buildScripts/webpackBuilds.js +87 -0
  110. package/lib/tools/buildScripts/webpackBuilds.js.map +1 -0
  111. package/lib/tools/create/copyFile.d.ts +2 -0
  112. package/lib/tools/create/copyFile.js +16 -0
  113. package/lib/tools/create/copyFile.js.map +1 -0
  114. package/lib/tools/create/createProject.d.ts +2 -0
  115. package/lib/tools/create/createProject.js +83 -0
  116. package/lib/tools/create/createProject.js.map +1 -0
  117. package/lib/tools/create/createSetTargetDirectory.d.ts +1 -0
  118. package/lib/tools/create/createSetTargetDirectory.js +12 -0
  119. package/lib/tools/create/createSetTargetDirectory.js.map +1 -0
  120. package/lib/tools/create/getAppTemplateName.d.ts +1 -0
  121. package/lib/tools/create/getAppTemplateName.js +22 -0
  122. package/lib/tools/create/getAppTemplateName.js.map +1 -0
  123. package/lib/tools/create/gitInit.d.ts +1 -0
  124. package/lib/tools/create/gitInit.js +19 -0
  125. package/lib/tools/create/gitInit.js.map +1 -0
  126. package/lib/tools/create/promptOptions.d.ts +2 -0
  127. package/lib/tools/create/promptOptions.js +88 -0
  128. package/lib/tools/create/promptOptions.js.map +1 -0
  129. package/lib/tools/create/updatePackageConfig.d.ts +2 -0
  130. package/lib/tools/create/updatePackageConfig.js +28 -0
  131. package/lib/tools/create/updatePackageConfig.js.map +1 -0
  132. package/lib/tools/create/updateReadme.d.ts +2 -0
  133. package/lib/tools/create/updateReadme.js +23 -0
  134. package/lib/tools/create/updateReadme.js.map +1 -0
  135. package/lib/types/createTypes.d.ts +23 -0
  136. package/lib/types/createTypes.js +2 -0
  137. package/lib/types/createTypes.js.map +1 -0
  138. package/lib/types/types.d.ts +4 -0
  139. package/lib/types/types.js +2 -0
  140. package/lib/types/types.js.map +1 -0
  141. package/lib/update-echo-libs.d.ts +9 -0
  142. package/lib/update-echo-libs.js +188 -0
  143. package/lib/update-echo-libs.js.map +1 -0
  144. package/lib/utils/findConsumerAppPackageJson.d.ts +11 -0
  145. package/lib/utils/findConsumerAppPackageJson.js +55 -0
  146. package/lib/utils/findConsumerAppPackageJson.js.map +1 -0
  147. package/lib/utils/findTopLevelNodeModulesWithCli.d.ts +12 -0
  148. package/lib/utils/findTopLevelNodeModulesWithCli.js +28 -0
  149. package/lib/utils/findTopLevelNodeModulesWithCli.js.map +1 -0
  150. package/lib/utils/getFile.d.ts +34 -0
  151. package/lib/utils/getFile.js +72 -0
  152. package/lib/utils/getFile.js.map +1 -0
  153. package/lib/utils/getFilePath.d.ts +1 -0
  154. package/lib/utils/getFilePath.js +22 -0
  155. package/lib/utils/getFilePath.js.map +1 -0
  156. package/lib/utils/getLatestPkgVersion.d.ts +14 -0
  157. package/lib/utils/getLatestPkgVersion.js +30 -0
  158. package/lib/utils/getLatestPkgVersion.js.map +1 -0
  159. package/lib/utils/logo.d.ts +1 -0
  160. package/lib/utils/logo.js +12 -0
  161. package/lib/utils/logo.js.map +1 -0
  162. package/lib/utils/merge.d.ts +1 -0
  163. package/lib/utils/merge.js +8 -0
  164. package/lib/utils/merge.js.map +1 -0
  165. package/lib/utils/printEchoLibsVersions.d.ts +23 -0
  166. package/lib/utils/printEchoLibsVersions.js +162 -0
  167. package/lib/utils/printEchoLibsVersions.js.map +1 -0
  168. package/lib/utils/timer.d.ts +0 -0
  169. package/lib/utils/timer.js +2 -0
  170. package/lib/utils/timer.js.map +1 -0
  171. 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,3 @@
1
+ import { EchoModuleConfig } from './echoModuleConfig.js';
2
+ export declare function createEchoModuleManifest(echoModuleConfig: EchoModuleConfig, currentPath?: string, requireRef?: string): Promise<void>;
3
+ export declare function getFileUriPath(filePath: string): string;
@@ -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,5 @@
1
+ import { TemplateDir } from '../../types/createTypes.js';
2
+ export interface EchoModuleId {
3
+ moduleId: string;
4
+ }
5
+ export declare function createEchoModuleId(options: TemplateDir): Promise<void>;
@@ -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,2 @@
1
+ export const extensions = ['.js', '.jsx', '.ts', '.tsx'];
2
+ //# sourceMappingURL=extensions.js.map
@@ -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,2 @@
1
+ export declare function getBuildFilePath(currentDir?: string, relativePath?: string): string;
2
+ export declare function getSrcFilePath(currentDir?: string, relativePath?: string): string;
@@ -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,6 @@
1
+ export type Https = {
2
+ key: string;
3
+ cert: string;
4
+ ca: string;
5
+ };
6
+ export declare function defineHttps(): Promise<Https>;
@@ -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,7 @@
1
+ type Https = {
2
+ key: string;
3
+ cert: string;
4
+ ca: string;
5
+ };
6
+ export declare function getHttps(currentPath: string, days: number): Promise<Https>;
7
+ export {};
@@ -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,6 @@
1
+ import { TemplateDir } from '../../types/createTypes.js';
2
+ export interface EchoModuleId {
3
+ moduleId: string;
4
+ }
5
+ export declare function createEchoModuleId(options: TemplateDir): Promise<void>;
6
+ export declare function updateEnvFile(): Promise<void>;
@@ -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,3 @@
1
+ import { Configuration } from 'webpack';
2
+ import { EchoWebpackOptions } from '../common/initOptions.js';
3
+ export declare function defineWebpackConfig(options: EchoWebpackOptions): Promise<Configuration>;
@@ -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;