@equinor/echo-cli 0.17.2-beta-0 → 0.17.2

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 (157) hide show
  1. package/README.md +209 -208
  2. package/client/d2d97a9feca22f12a8c8c7413d7867ac.jpg +0 -0
  3. package/client/env-config.js +1 -0
  4. package/client/index.css +60 -0
  5. package/client/index.html +21 -0
  6. package/client/main.echo.bundle.js +3 -0
  7. package/client/main.echo.bundle.js.LICENSE.txt +145 -0
  8. package/client/main.echo.bundle.js.map +1 -0
  9. package/client/vendors-node_modules_react-dom_client_js-node_modules_babel_polyfill_lib_index_js-node_module-cb4c76.echo.bundle.js +3 -0
  10. package/client/vendors-node_modules_react-dom_client_js-node_modules_babel_polyfill_lib_index_js-node_module-cb4c76.echo.bundle.js.LICENSE.txt +9512 -0
  11. package/client/vendors-node_modules_react-dom_client_js-node_modules_babel_polyfill_lib_index_js-node_module-cb4c76.echo.bundle.js.map +1 -0
  12. package/lib/__test__/utils/merg.test.d.ts +1 -0
  13. package/lib/__test__/utils/merg.test.js +29 -0
  14. package/lib/__test__/utils/merg.test.js.map +1 -0
  15. package/lib/config/common/copyFile.d.ts +2 -0
  16. package/lib/config/common/copyFile.js +10 -0
  17. package/lib/config/common/copyFile.js.map +1 -0
  18. package/lib/config/common/echoManifest.d.ts +3 -0
  19. package/lib/config/common/echoManifest.js +61 -0
  20. package/lib/config/common/echoManifest.js.map +1 -0
  21. package/lib/config/common/echoModuleConfig.d.ts +31 -0
  22. package/lib/config/common/echoModuleConfig.js +34 -0
  23. package/lib/config/common/echoModuleConfig.js.map +1 -0
  24. package/lib/config/common/echoModuleId.d.ts +5 -0
  25. package/lib/config/common/echoModuleId.js +15 -0
  26. package/lib/config/common/echoModuleId.js.map +1 -0
  27. package/lib/config/common/extensions.d.ts +1 -0
  28. package/lib/config/common/extensions.js +2 -0
  29. package/lib/config/common/extensions.js.map +1 -0
  30. package/lib/config/common/getCurrentIndexFile.d.ts +2 -0
  31. package/lib/config/common/getCurrentIndexFile.js +11 -0
  32. package/lib/config/common/getCurrentIndexFile.js.map +1 -0
  33. package/lib/config/common/getPackageJson.d.ts +1 -0
  34. package/lib/config/common/getPackageJson.js +7 -0
  35. package/lib/config/common/getPackageJson.js.map +1 -0
  36. package/lib/config/common/https.d.ts +6 -0
  37. package/lib/config/common/https.js +16 -0
  38. package/lib/config/common/https.js.map +1 -0
  39. package/lib/config/common/initOptions.d.ts +27 -0
  40. package/lib/config/common/initOptions.js +28 -0
  41. package/lib/config/common/initOptions.js.map +1 -0
  42. package/lib/config/common/ssl.d.ts +7 -0
  43. package/lib/config/common/ssl.js +76 -0
  44. package/lib/config/common/ssl.js.map +1 -0
  45. package/lib/config/common/updateEnv.d.ts +6 -0
  46. package/lib/config/common/updateEnv.js +16 -0
  47. package/lib/config/common/updateEnv.js.map +1 -0
  48. package/lib/config/webpack/config.d.ts +3 -0
  49. package/lib/config/webpack/config.js +31 -0
  50. package/lib/config/webpack/config.js.map +1 -0
  51. package/lib/config/webpack/configBuilders/devServer.d.ts +8 -0
  52. package/lib/config/webpack/configBuilders/devServer.js +58 -0
  53. package/lib/config/webpack/configBuilders/devServer.js.map +1 -0
  54. package/lib/config/webpack/configBuilders/entry.d.ts +12 -0
  55. package/lib/config/webpack/configBuilders/entry.js +13 -0
  56. package/lib/config/webpack/configBuilders/entry.js.map +1 -0
  57. package/lib/config/webpack/configBuilders/module.d.ts +8 -0
  58. package/lib/config/webpack/configBuilders/module.js +145 -0
  59. package/lib/config/webpack/configBuilders/module.js.map +1 -0
  60. package/lib/config/webpack/configBuilders/optimization.d.ts +7 -0
  61. package/lib/config/webpack/configBuilders/optimization.js +30 -0
  62. package/lib/config/webpack/configBuilders/optimization.js.map +1 -0
  63. package/lib/config/webpack/configBuilders/output.d.ts +12 -0
  64. package/lib/config/webpack/configBuilders/output.js +20 -0
  65. package/lib/config/webpack/configBuilders/output.js.map +1 -0
  66. package/lib/config/webpack/configBuilders/plugins.d.ts +10 -0
  67. package/lib/config/webpack/configBuilders/plugins.js +31 -0
  68. package/lib/config/webpack/configBuilders/plugins.js.map +1 -0
  69. package/lib/config/webpack/echoWebpackModule.d.ts +2 -0
  70. package/lib/config/webpack/echoWebpackModule.js +47 -0
  71. package/lib/config/webpack/echoWebpackModule.js.map +1 -0
  72. package/lib/config/webpack/server.d.ts +3 -0
  73. package/lib/config/webpack/server.js +22 -0
  74. package/lib/config/webpack/server.js.map +1 -0
  75. package/lib/const/common.d.ts +3 -0
  76. package/lib/const/common.js +4 -0
  77. package/lib/const/common.js.map +1 -0
  78. package/lib/echo-build.d.ts +13 -0
  79. package/lib/echo-build.js +43 -0
  80. package/lib/echo-build.js.map +1 -0
  81. package/lib/echo-create.d.ts +16 -0
  82. package/lib/echo-create.js +35 -0
  83. package/lib/echo-create.js.map +1 -0
  84. package/lib/echo-manifest.d.ts +6 -0
  85. package/lib/echo-manifest.js +13 -0
  86. package/lib/echo-manifest.js.map +1 -0
  87. package/lib/tools/buildScripts/webpackBuilds.d.ts +3 -0
  88. package/lib/tools/buildScripts/webpackBuilds.js +87 -0
  89. package/lib/tools/buildScripts/webpackBuilds.js.map +1 -0
  90. package/lib/tools/create/copyFile.d.ts +2 -0
  91. package/lib/tools/create/copyFile.js +16 -0
  92. package/lib/tools/create/copyFile.js.map +1 -0
  93. package/lib/tools/create/createProject.d.ts +2 -0
  94. package/lib/tools/create/createProject.js +83 -0
  95. package/lib/tools/create/createProject.js.map +1 -0
  96. package/lib/tools/create/createSetTargetDirectory.d.ts +1 -0
  97. package/lib/tools/create/createSetTargetDirectory.js +12 -0
  98. package/lib/tools/create/createSetTargetDirectory.js.map +1 -0
  99. package/lib/tools/create/getAppTemplateName.d.ts +1 -0
  100. package/lib/tools/create/getAppTemplateName.js +22 -0
  101. package/lib/tools/create/getAppTemplateName.js.map +1 -0
  102. package/lib/tools/create/gitInit.d.ts +1 -0
  103. package/lib/tools/create/gitInit.js +19 -0
  104. package/lib/tools/create/gitInit.js.map +1 -0
  105. package/lib/tools/create/promptOptions.d.ts +2 -0
  106. package/lib/tools/create/promptOptions.js +88 -0
  107. package/lib/tools/create/promptOptions.js.map +1 -0
  108. package/lib/tools/create/updatePackageConfig.d.ts +2 -0
  109. package/lib/tools/create/updatePackageConfig.js +28 -0
  110. package/lib/tools/create/updatePackageConfig.js.map +1 -0
  111. package/lib/tools/create/updateReadme.d.ts +2 -0
  112. package/lib/tools/create/updateReadme.js +23 -0
  113. package/lib/tools/create/updateReadme.js.map +1 -0
  114. package/lib/types/createTypes.d.ts +23 -0
  115. package/lib/types/createTypes.js +2 -0
  116. package/lib/types/createTypes.js.map +1 -0
  117. package/lib/types/types.d.ts +4 -0
  118. package/lib/types/types.js +2 -0
  119. package/lib/types/types.js.map +1 -0
  120. package/lib/utils/getFile.d.ts +4 -0
  121. package/lib/utils/getFile.js +34 -0
  122. package/lib/utils/getFile.js.map +1 -0
  123. package/lib/utils/getFilePath.d.ts +1 -0
  124. package/lib/utils/getFilePath.js +22 -0
  125. package/lib/utils/getFilePath.js.map +1 -0
  126. package/lib/utils/logo.d.ts +1 -0
  127. package/lib/utils/logo.js +11 -0
  128. package/lib/utils/logo.js.map +1 -0
  129. package/lib/utils/merge.d.ts +1 -0
  130. package/lib/utils/merge.js +8 -0
  131. package/lib/utils/merge.js.map +1 -0
  132. package/lib/utils/timer.d.ts +0 -0
  133. package/lib/utils/timer.js +2 -0
  134. package/lib/utils/timer.js.map +1 -0
  135. package/package.json +111 -111
  136. package/templates/echoAppTemplate/.gitattributes +3 -3
  137. package/templates/echoAppTemplate/package.json +35 -35
  138. package/templates/echoAppTemplate/readme.md +41 -41
  139. package/templates/echoAppTemplate/src/app.module.css +5 -5
  140. package/templates/echoAppTemplate/src/app.tsx +30 -30
  141. package/templates/echoAppTemplate/src/index.ts +6 -6
  142. package/templates/echoAppTemplate/tsconfig.json +25 -25
  143. package/templates/echoAppTemplateTutorial/.gitattributes +3 -3
  144. package/templates/echoAppTemplateTutorial/package.json +36 -36
  145. package/templates/echoAppTemplateTutorial/readme.md +41 -41
  146. package/templates/echoAppTemplateTutorial/src/app.module.css +5 -5
  147. package/templates/echoAppTemplateTutorial/src/app.tsx +30 -30
  148. package/templates/echoAppTemplateTutorial/src/index.ts +6 -6
  149. package/templates/echoAppTemplateTutorial/tsconfig.json +25 -25
  150. package/templates/echoLibraryTemplate/package.json +35 -35
  151. package/templates/echoLibraryTemplate/public/index.html +21 -21
  152. package/templates/echoLibraryTemplate/public/style.css +43 -43
  153. package/templates/echoLibraryTemplate/readme.md +1 -1
  154. package/templates/echoPluginTemplate/package.json +35 -35
  155. package/templates/echoPluginTemplate/public/index.html +21 -21
  156. package/templates/echoPluginTemplate/public/style.css +43 -43
  157. package/templates/echoPluginTemplate/readme.md +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,2 @@
1
+ import { EchoWebpackOptions } from './initOptions.js';
2
+ export declare function copyClientFiles(options: EchoWebpackOptions): Promise<boolean>;
@@ -0,0 +1,10 @@
1
+ import ncp from 'ncp';
2
+ import { promisify } from 'util';
3
+ const copy = promisify(ncp);
4
+ export async function copyClientFiles(options) {
5
+ const success = await copy(options.wwwRoot, options.currentDir + options.echoModuleConfig.server.contentBase, {
6
+ clobber: false
7
+ });
8
+ return success;
9
+ }
10
+ //# sourceMappingURL=copyFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copyFile.js","sourceRoot":"","sources":["../../../src/config/common/copyFile.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAGjC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;AAE5B,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAA2B;IAC7D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE;QAC1G,OAAO,EAAE,KAAK;KACjB,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { EchoModuleConfig } from './echoModuleConfig.js';
2
+ export declare function createEchoModuleManifest(echoModuleConfig: EchoModuleConfig, currentPath?: string, requireRef?: string, adminModulePath?: string, adminModule?: boolean): Promise<void>;
3
+ export declare function getFileUriPath(filePath: string): string;
@@ -0,0 +1,61 @@
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, adminModulePath, adminModule) {
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
+ if (adminModule === true && adminModulePath) {
35
+ newEchoModuleManifest.push({
36
+ name: 'Echo Administration',
37
+ key: 'EchoAdmin',
38
+ shortName: 'EchoAdmin',
39
+ fileUri: adminModulePath,
40
+ devFileUri: echoModuleConfig.manifest.devFileUri,
41
+ qaFileUri: echoModuleConfig.manifest.qaFileUri,
42
+ testFileUri: echoModuleConfig.manifest.testFileUri,
43
+ test2FileUri: echoModuleConfig.manifest.test2FileUri,
44
+ path: '/admin',
45
+ version: '1.0.0',
46
+ private: false,
47
+ requireRef
48
+ });
49
+ }
50
+ fs.writeFileSync(filePath, JSON.stringify(newEchoModuleManifest, null, 4));
51
+ }
52
+ catch (error) {
53
+ console.error(error);
54
+ }
55
+ }
56
+ export function getFileUriPath(filePath) {
57
+ const arr = filePath.split('/');
58
+ const fileName = arr[arr.length - 1];
59
+ return `/${fileName}`;
60
+ }
61
+ //# sourceMappingURL=echoManifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"echoManifest.js","sourceRoot":"","sources":["../../../src/config/common/echoManifest.ts"],"names":[],"mappings":"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"}
@@ -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,27 @@
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
+ }
7
+ export interface EchoBundleOptions {
8
+ watch?: boolean;
9
+ serve?: boolean;
10
+ isProduction: boolean;
11
+ currentDir: string;
12
+ wwwRoot: string;
13
+ main: string;
14
+ source: string;
15
+ peerDependencies: Record<string, string>;
16
+ dependencies: Record<string, string>;
17
+ devDependencies: Record<string, string>;
18
+ requireRef: string;
19
+ https: Https;
20
+ envPath: string;
21
+ adminModule?: boolean;
22
+ adminModulePath: string;
23
+ echoModuleConfig: EchoModuleConfig;
24
+ copy?: boolean;
25
+ analyze: boolean;
26
+ }
27
+ export declare function defineInitOptions(echoBundleOptions: Partial<EchoBundleOptions>, isDevelopment?: boolean): Promise<Partial<EchoWebpackOptions>>;
@@ -0,0 +1,28 @@
1
+ import path from 'path';
2
+ import { fileURLToPath } from 'url';
3
+ import { ECHO_MODULE_CONFIG_PATH, REQUIRED_REF } from '../../const/common.js';
4
+ import getFilePath, { getFile } from '../../utils/getFile.js';
5
+ import getPackageJson from './getPackageJson.js';
6
+ const __filename = fileURLToPath(import.meta.url);
7
+ const __dirname = path.dirname(__filename);
8
+ export async function defineInitOptions(echoBundleOptions, isDevelopment) {
9
+ const currentDir = process.cwd();
10
+ const echoModuleConfig = await getFile(currentDir, ECHO_MODULE_CONFIG_PATH);
11
+ const pkj = await getPackageJson(currentDir);
12
+ return {
13
+ ...echoBundleOptions,
14
+ isProduction: isDevelopment ? false : true,
15
+ currentDir,
16
+ source: pkj.source,
17
+ main: pkj.main,
18
+ peerDependencies: pkj.peerDependencies,
19
+ dependencies: pkj.dependencies,
20
+ devDependencies: pkj.devDependencies,
21
+ wwwRoot: path.resolve(__dirname, '../../../', 'client'),
22
+ adminModulePath: path.resolve(__dirname, '../../../', 'admin'),
23
+ requireRef: REQUIRED_REF,
24
+ envPath: await getFilePath(currentDir, '/.env'),
25
+ echoModuleConfig
26
+ };
27
+ }
28
+ //# 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;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAGjD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AA2B3C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,iBAA6C,EAC7C,aAAuB;IAEvB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACjC,MAAM,gBAAgB,GAAqB,MAAM,OAAO,CAAmB,UAAU,EAAE,uBAAuB,CAAC,CAAC;IAChH,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;IAE7C,OAAO;QACH,GAAG,iBAAiB;QACpB,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QAC1C,UAAU;QACV,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,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC;QACvD,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC;QAC9D,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,31 @@
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
+ },
20
+ target: 'web',
21
+ module: defineModule(options.echoModuleConfig.excludeTsLoader),
22
+ plugins: definePlugins(options),
23
+ optimization: defineOptimizations(options.isProduction),
24
+ infrastructureLogging: {
25
+ level: 'none',
26
+ debug: false,
27
+ appendOnly: true
28
+ }
29
+ };
30
+ }
31
+ //# 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;SACb;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;
@@ -0,0 +1,58 @@
1
+ import express from 'express';
2
+ import * as path from 'path';
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 function defineDevServer(current, root, modulePath, echoModuleConfig) {
9
+ const publicPath = path.join(current, 'build');
10
+ const { port, host, open, logging } = echoModuleConfig.server;
11
+ const { stats } = echoModuleConfig.devMiddleware;
12
+ return {
13
+ https: true,
14
+ host,
15
+ port,
16
+ static: [
17
+ {
18
+ directory: root,
19
+ serveIndex: true,
20
+ publicPath: '/'
21
+ },
22
+ {
23
+ directory: publicPath,
24
+ watch: true
25
+ }
26
+ ],
27
+ hot: true,
28
+ liveReload: true,
29
+ devMiddleware: {
30
+ writeToDisk: true,
31
+ publicPath,
32
+ index: true,
33
+ stats
34
+ },
35
+ setupMiddlewares: (middlewares, devServer) => {
36
+ if (!devServer.app) {
37
+ throw new Error('webpack-dev-server is not defined');
38
+ }
39
+ devServer.app.use('/', [express.static(root), express.static(publicPath)]);
40
+ middlewares.push({
41
+ path: '*',
42
+ middleware: (req, res) => res.sendFile(root + '/index.html')
43
+ });
44
+ return middlewares;
45
+ },
46
+ client: {
47
+ // overlay: {
48
+ // errors: true,
49
+ // warnings: false
50
+ // },
51
+ logging
52
+ },
53
+ historyApiFallback: true,
54
+ open,
55
+ compress: true
56
+ };
57
+ }
58
+ //# sourceMappingURL=devServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devServer.js","sourceRoot":"","sources":["../../../../src/config/webpack/configBuilders/devServer.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC3B,OAAe,EACf,IAAY,EACZ,UAAkB,EAClB,gBAAkC;IAElC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC;IAC9D,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC,aAAa,CAAC;IAEjD,OAAO;QACH,KAAK,EAAE,IAAI;QACX,IAAI;QACJ,IAAI;QACJ,MAAM,EAAE;YACJ;gBACI,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,GAAG;aAClB;YACD;gBACI,SAAS,EAAE,UAAU;gBACrB,KAAK,EAAE,IAAI;aACd;SACJ;QACD,GAAG,EAAE,IAAI;QACT,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE;YACX,WAAW,EAAE,IAAI;YACjB,UAAU;YACV,KAAK,EAAE,IAAI;YACX,KAAK;SACR;QACD,gBAAgB,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE;YACzC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACzD,CAAC;YAED,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAE3E,WAAW,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,GAAG;gBACT,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC;aAC/D,CAAC,CAAC;YAEH,OAAO,WAAW,CAAC;QACvB,CAAC;QACD,MAAM,EAAE;YACJ,aAAa;YACb,oBAAoB;YACpB,sBAAsB;YACtB,KAAK;YACL,OAAO;SACV;QACD,kBAAkB,EAAE,IAAI;QACxB,IAAI;QACJ,QAAQ,EAAE,IAAI;KACjB,CAAC;AACN,CAAC"}
@@ -0,0 +1,12 @@
1
+ export interface EntryOptions {
2
+ currentDir: string;
3
+ source: string;
4
+ }
5
+ /**
6
+ * Defines the WebpackEntry config with polyfills.
7
+ *
8
+ * @export
9
+ * @param {EntryOptions} { currentDir, main } current project directory and main from package.json
10
+ * @return {*} {string}
11
+ */
12
+ export declare function defineEntry({ currentDir, source }: EntryOptions): string;