@zohodesk/react-cli 0.0.1-beta.98 → 0.0.1-betaa.138.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (139) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +149 -0
  3. package/bin/cli.js +34 -29
  4. package/files/eslintrc.js +57 -0
  5. package/files/prettierrc.js +3 -0
  6. package/lib/babel/cmjs-plugins-presets.js +16 -9
  7. package/lib/babel/es-plugins-presets.js +26 -14
  8. package/lib/common/getEntries.js +31 -22
  9. package/lib/common/getPublicPathConfig.js +27 -13
  10. package/lib/common/index.js +21 -25
  11. package/lib/common/splitChunks.js +62 -53
  12. package/lib/common/templateParameters.js +10 -8
  13. package/lib/configs/jest.config.js +15 -25
  14. package/lib/configs/webpack.component.umd.config.js +31 -37
  15. package/lib/configs/webpack.css.umd.config.js +44 -47
  16. package/lib/configs/webpack.dev.config.js +70 -52
  17. package/lib/configs/webpack.docs.config.js +106 -106
  18. package/lib/configs/webpack.prod.config.js +95 -75
  19. package/lib/hooks/docsProptypeHook.js +32 -38
  20. package/lib/jest/commitedFilesResult.js +103 -74
  21. package/lib/jest/coverageCollector.js +41 -21
  22. package/lib/jest/jsonMaker.js +15 -16
  23. package/lib/jest/preProcessors/cssPreprocessor.js +16 -18
  24. package/lib/jest/preProcessors/jsPreprocessor.js +3 -5
  25. package/lib/jest/preProcessors/otherFilesPreprocessor.js +5 -6
  26. package/lib/jest/result.js +90 -45
  27. package/lib/jest/run.js +43 -43
  28. package/lib/jest/setup.js +102 -95
  29. package/lib/loaderUtils/getCSSLoaders.js +21 -22
  30. package/lib/loaderUtils/getDevJsLoaders.js +25 -23
  31. package/lib/loaderUtils/index.js +11 -13
  32. package/lib/loaders/docsLoader.js +15 -15
  33. package/lib/loaders/docsPropsLoader.js +14 -17
  34. package/lib/loaders/fileLoader.js +33 -35
  35. package/lib/loaders/scriptInstrumentLoader.js +21 -20
  36. package/lib/loaders/workerLoader.js +136 -0
  37. package/lib/middlewares/HMRMiddleware.js +54 -45
  38. package/lib/middlewares/SSTMiddleware.js +8 -5
  39. package/lib/pluginUtils/getDevPlugins.js +114 -52
  40. package/lib/pluginUtils/getDocsPlugins.js +25 -29
  41. package/lib/pluginUtils/getLibraryPlugins.js +8 -10
  42. package/lib/pluginUtils/getProdPlugins.js +163 -74
  43. package/lib/pluginUtils/getServerPlugins.js +8 -11
  44. package/lib/pluginUtils/getUMDCSSPlugins.js +11 -15
  45. package/lib/pluginUtils/getUMDComponentPlugins.js +11 -15
  46. package/lib/pluginUtils/index.js +36 -43
  47. package/lib/plugins/CdnChangePlugin.js +63 -0
  48. package/lib/plugins/CleanupStatsPlugin.js +18 -32
  49. package/lib/plugins/CustomAttributePlugin.js +79 -0
  50. package/lib/plugins/CustomAttributePlugin.md +35 -0
  51. package/lib/plugins/EFCPlugin.js +185 -0
  52. package/lib/plugins/I18NInjectIntoIndexPlugin.js +118 -52
  53. package/lib/plugins/I18nSplitPlugin/I18nDebugPlugin.js +60 -0
  54. package/lib/plugins/I18nSplitPlugin/I18nDependency.js +44 -0
  55. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +266 -0
  56. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +183 -0
  57. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +100 -0
  58. package/lib/plugins/I18nSplitPlugin/I18nSplit.md +86 -0
  59. package/lib/plugins/I18nSplitPlugin/README.md +25 -0
  60. package/lib/plugins/I18nSplitPlugin/index.js +185 -0
  61. package/lib/plugins/I18nSplitPlugin/utils/collectI18nKeys.js +64 -0
  62. package/lib/plugins/I18nSplitPlugin/utils/getI18nFileUrlPathTemplate.js +13 -0
  63. package/lib/plugins/I18nSplitPlugin/utils/getI18nKeysFormModules.js +26 -0
  64. package/lib/plugins/I18nSplitPlugin/utils/hashUtils.js +40 -0
  65. package/lib/plugins/I18nSplitPlugin/utils/index.js +31 -0
  66. package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +112 -0
  67. package/lib/plugins/ManifestPlugin.js +52 -63
  68. package/lib/plugins/ModuleStatsPlugin.js +83 -173
  69. package/lib/plugins/OptimizeJSPlugin.js +24 -41
  70. package/lib/plugins/PublicPathCallbackPlugin.js +42 -116
  71. package/lib/plugins/PublicPathChangePlugin.js +175 -284
  72. package/lib/plugins/ReportGeneratePlugin.js +150 -151
  73. package/lib/plugins/ResourceHintsPlugin.js +53 -35
  74. package/lib/plugins/ScriptInstrumentPlugin.js +22 -37
  75. package/lib/plugins/ServiceWorkerPlugin.js +81 -57
  76. package/lib/plugins/ShadowDOMSupportPlugin.js +153 -234
  77. package/lib/plugins/SourceMapHookPlugin.js +21 -33
  78. package/lib/plugins/TPHashMappingPlugin.js +67 -0
  79. package/lib/plugins/UglifyCSSPlugin.js +23 -30
  80. package/lib/plugins/UnusedFilesFindPlugin.js +137 -152
  81. package/lib/plugins/index.js +100 -91
  82. package/lib/plugins/webpackwatchrunplugin.js +18 -30
  83. package/lib/postcss-plugins/ExcludeRTLPlugin.js +14 -17
  84. package/lib/schemas/index.js +336 -81
  85. package/lib/servers/clusterHubServer.js +22 -26
  86. package/lib/servers/docsServer.js +3 -5
  87. package/lib/servers/docsServerCore.js +84 -91
  88. package/lib/servers/helpServer.js +19 -21
  89. package/lib/servers/impactServer.js +99 -92
  90. package/lib/servers/mockserver.js +24 -24
  91. package/lib/servers/scrServer.js +78 -98
  92. package/lib/servers/server.js +101 -122
  93. package/lib/servers/ssServer.js +63 -61
  94. package/lib/sh/reportPublish.sh +1 -2
  95. package/lib/templates/CoverageScriptTemplate.js +45 -18
  96. package/lib/templates/WMSTemplate.js +17 -18
  97. package/lib/templates/linterConstant.js +6 -4
  98. package/lib/utils/babelPresets.js +12 -5
  99. package/lib/utils/clean.js +12 -11
  100. package/lib/utils/copy.js +12 -34
  101. package/lib/utils/copyTimezones.js +9 -16
  102. package/lib/utils/createEventStream.js +24 -19
  103. package/lib/utils/cssClassNameGenerate.js +44 -73
  104. package/lib/utils/cssURLReplacer.js +62 -56
  105. package/lib/utils/dependencyPostPublish.js +20 -19
  106. package/lib/utils/fileUtils.js +66 -54
  107. package/lib/utils/folderIterator.js +20 -21
  108. package/lib/utils/getComponents.js +70 -27
  109. package/lib/utils/getCurrentBranch.js +11 -17
  110. package/lib/utils/getDependenciesImpactList.js +114 -187
  111. package/lib/utils/getHash.js +9 -13
  112. package/lib/utils/getIp.js +9 -9
  113. package/lib/utils/getOptions.js +26 -29
  114. package/lib/utils/getServerURL.js +19 -10
  115. package/lib/utils/index.js +147 -126
  116. package/lib/utils/init.js +2 -2
  117. package/lib/utils/initPreCommitHook.js +40 -32
  118. package/lib/utils/jsonHelper.js +37 -21
  119. package/lib/utils/lint/addScripts.js +27 -0
  120. package/lib/utils/lint/checkExistingConfig.js +67 -0
  121. package/lib/utils/lint/copyConfigs.js +24 -0
  122. package/lib/utils/lint/index.js +54 -0
  123. package/lib/utils/lint/lintScripts.js +11 -0
  124. package/lib/utils/lint/lintSetup.js +31 -0
  125. package/lib/utils/lint/lintStagedPreCommitHook.js +7 -0
  126. package/lib/utils/lint/question.js +30 -0
  127. package/lib/utils/lintReporter.js +70 -56
  128. package/lib/utils/mailSender.js +12 -27
  129. package/lib/utils/pullOrigin.js +21 -18
  130. package/lib/utils/reinstallDependencies.js +76 -85
  131. package/lib/utils/removeAttributes.js +25 -23
  132. package/lib/utils/repoClone.js +47 -45
  133. package/lib/utils/request.js +64 -77
  134. package/lib/utils/rtl.js +22 -29
  135. package/lib/utils/setEnvVariables.js +5 -6
  136. package/lib/utils/ssTestHack.js +21 -19
  137. package/lib/utils/switchBranch.js +21 -20
  138. package/lib/utils/urlConcat.js +22 -0
  139. package/package.json +72 -67
@@ -1,44 +1,44 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
- var _express = require('express');
3
+ var _express = _interopRequireDefault(require("express"));
4
4
 
5
- var _express2 = _interopRequireDefault(_express);
5
+ var _fs = _interopRequireDefault(require("fs"));
6
6
 
7
- var _fs = require('fs');
7
+ var _path = _interopRequireDefault(require("path"));
8
8
 
9
- var _fs2 = _interopRequireDefault(_fs);
10
-
11
- var _path = require('path');
12
-
13
- var _path2 = _interopRequireDefault(_path);
14
-
15
- var _utils = require('../utils');
9
+ var _utils = require("../utils");
16
10
 
17
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
12
 
19
- var options = (0, _utils.getOptions)();
20
- var mockPort = options.app.server.mockPort;
21
-
22
- var app = (0, _express2.default)();
23
-
24
- app.use(_express2.default.json());
25
- app.use(_express2.default.urlencoded({
13
+ let options = (0, _utils.getOptions)();
14
+ let {
15
+ app: {
16
+ server: {
17
+ mockPort
18
+ }
19
+ }
20
+ } = options;
21
+ const app = (0, _express.default)();
22
+ app.use(_express.default.json());
23
+ app.use(_express.default.urlencoded({
26
24
  extended: true
27
25
  }));
26
+ let appPath = process.cwd();
28
27
 
29
- var appPath = process.cwd();
30
- var mockServerPath = _path2.default.join(appPath, 'mockapi', 'index.js');
28
+ let mockServerPath = _path.default.join(appPath, 'mockapi', 'index.js');
29
+
30
+ if (_fs.default.existsSync(mockServerPath)) {
31
+ let mockServer = require(mockServerPath);
31
32
 
32
- if (_fs2.default.existsSync(mockServerPath)) {
33
- var mockServer = require(mockServerPath);
34
33
  mockServer(app);
35
34
  } else {
36
35
  (0, _utils.log)('You must export a function from mockapi folder by only we can provide mock api hook');
37
36
  }
38
- app.listen(mockPort, function (err) {
37
+
38
+ app.listen(mockPort, err => {
39
39
  if (err) {
40
40
  (0, _utils.log)('error', err);
41
41
  } else {
42
- (0, _utils.log)('mock server listening port: ' + mockPort);
42
+ (0, _utils.log)(`mock server listening port: ${mockPort}`);
43
43
  }
44
44
  });
@@ -1,107 +1,97 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
- var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
3
+ var _screenshotTest = _interopRequireDefault(require("@zohodesk/screenshot-test"));
4
4
 
5
- var _screenshotTest = require('@zohodesk/screenshot-test');
5
+ var _jsonHelper = require("../utils/jsonHelper");
6
6
 
7
- var _screenshotTest2 = _interopRequireDefault(_screenshotTest);
7
+ var _child_process = require("child_process");
8
8
 
9
- var _jsonHelper = require('../utils/jsonHelper');
9
+ var _utils = require("../utils");
10
10
 
11
- var _child_process = require('child_process');
11
+ var _docsServerCore = _interopRequireDefault(require("./docsServerCore"));
12
12
 
13
- var _utils = require('../utils');
14
-
15
- var _docsServerCore = require('./docsServerCore');
16
-
17
- var _docsServerCore2 = _interopRequireDefault(_docsServerCore);
18
-
19
- var _SSTMiddleware = require('../middlewares/SSTMiddleware');
20
-
21
- var _SSTMiddleware2 = _interopRequireDefault(_SSTMiddleware);
13
+ var _SSTMiddleware = _interopRequireDefault(require("../middlewares/SSTMiddleware"));
22
14
 
23
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
16
 
25
17
  //Getting variables from flag and exe
26
-
27
- var cwd = process.cwd();
28
- var options = (0, _utils.getOptions)();
29
- var _options$ssTest = options.ssTest,
30
- seleniumHub = _options$ssTest.seleniumHub,
31
- referBranch = _options$ssTest.referBranch,
32
- currentBranch = _options$ssTest.currentBranch,
33
- enableImage = _options$ssTest.enableImage,
34
- pathToSubProjects = _options$ssTest.pathToSubProjects,
35
- isImpactRun = _options$ssTest.isImpactRun,
36
- isStore = _options$ssTest.isStore,
37
- dbURL = _options$ssTest.dbURL,
38
- tableName = _options$ssTest.tableName,
39
- serviceName = _options$ssTest.serviceName,
40
- server = options.docs.server;
41
-
42
- var resultFileName = cwd + '/result.json';
43
- var docsServerInstance = void 0;
44
- var impactedComponentList = null;
45
- var url = (0, _utils.getServerURL)(Object.assign(server, { host: server.iphost }), 'ht' + 'tp');
46
- var commitID = (0, _child_process.execSync)('git log --first-parent --pretty="format:%H" --max-count 2', {
18
+ let cwd = process.cwd();
19
+ let options = (0, _utils.getOptions)();
20
+ let {
21
+ ssTest: {
22
+ seleniumHub,
23
+ referBranch,
24
+ currentBranch,
25
+ enableImage,
26
+ pathToSubProjects,
27
+ isImpactRun,
28
+ isStore,
29
+ dbURL,
30
+ tableName,
31
+ serviceName,
32
+ tokenGit
33
+ },
34
+ docs: {
35
+ server
36
+ }
37
+ } = options;
38
+ let resultFileName = `${cwd}/result.json`;
39
+ let docsServerInstance; // let impactedComponentList = null;
40
+
41
+ let url = (0, _utils.getServerURL)(Object.assign(server, {
42
+ host: server.iphost
43
+ }), 'ht' + 'tp');
44
+ let commitID = (0, _child_process.execSync)('git log --first-parent --pretty="format:%H" --max-count 2', {
47
45
  cwd: cwd
48
46
  }).toString() || '';
49
-
50
- var _commitID$split = commitID.split('\n'),
51
- _commitID$split2 = _slicedToArray(_commitID$split, 2),
52
- latestCommitHash = _commitID$split2[0],
53
- lastCommitHash = _commitID$split2[1];
54
-
55
- var script = 'var Objlist = {};for (i in componentList) {try { if (componentList[i].prototype.isReactComponent) Objlist[i] = componentList[i].docs.componentGroup;}catch (err) {console.log(i, err);}};if (Object.keys(Objlist).length < 5) {Objlist = false;}return Objlist;';
56
-
57
- // Variable getting part end //
47
+ let [latestCommitHash, lastCommitHash] = commitID.split('\n');
48
+ let script = 'var Objlist = {};for (i in componentList) {try { if (componentList[i].prototype.isReactComponent) Objlist[i] = componentList[i].docs.componentGroup;}catch (err) {console.log(i, err);}};if (Object.keys(Objlist).length < 5) {Objlist = false;}return Objlist;'; // Variable getting part end //
58
49
 
59
50
  (0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.compareBranch', referBranch);
60
51
  (0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.TestBranch', currentBranch);
61
52
  (0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.isExecuted', true);
53
+ (0, _utils.log)('Test Branch Name :- ', currentBranch); // function declaration part //
62
54
 
63
- (0, _utils.log)('Test Branch Name :- ', currentBranch);
64
-
65
- // function declaration part //
66
-
67
- var closeServer = function closeServer(serverInstance) {
55
+ let closeServer = serverInstance => {
68
56
  (0, _utils.log)('Docs service stopped!');
69
- var http = serverInstance.http,
70
- https = serverInstance.https,
71
- wdm = serverInstance.wdm;
72
-
57
+ let {
58
+ http,
59
+ https,
60
+ wdm
61
+ } = serverInstance;
73
62
  http.close();
74
63
  https.close();
75
64
  wdm.close();
76
- };
65
+ }; //eslint-disable-next-line
66
+
77
67
 
78
- //eslint-disable-next-line
79
- var afterFirstScreenShotCollected = function afterFirstScreenShotCollected() {
68
+ let afterFirstScreenShotCollected = () => {
80
69
  closeServer(docsServerInstance);
81
- (0, _utils.switchBranch)('git', referBranch).then(function () {
70
+ (0, _utils.switchBranch)('git', referBranch).then(() => {
82
71
  (0, _utils.log)('Reference Branch Name :- ', (0, _utils.getCurrentBranch)());
83
- (0, _utils.reinstallDependencies)(pathToSubProjects).then(function () {
72
+ (0, _utils.reinstallDependencies)(pathToSubProjects).then(() => {
84
73
  (0, _utils.ssTestHack)();
85
74
  });
86
75
  });
87
76
  };
88
77
 
89
- var onSStestEnd = function onSStestEnd(status, resultObject) {
78
+ let onSStestEnd = (status, resultObject, message) => {
90
79
  if (status) {
91
80
  (0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.endTime', Date.now());
92
81
  (0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.isPassed', true);
93
82
  (0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.result', resultObject);
94
- (0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.message', 'Screenshot test successfully completed.');
83
+ (0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.message', message);
95
84
  (0, _jsonHelper.setTestInfoStatus)(resultFileName, true);
96
- (0, _utils.log)('Screenshot test completed successfully.');
85
+ (0, _utils.log)(message); //'Screenshot test completed successfully.'
86
+
97
87
  closeServer(docsServerInstance);
98
88
  } else {
99
89
  (0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.isPassed', false);
100
- (0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.message', 'Component list undefined! Please check component Docs');
90
+ (0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.message', message);
101
91
  (0, _jsonHelper.setTestInfoStatus)(resultFileName, false);
102
92
  (0, _jsonHelper.jsonHelper)(resultFileName, 'testInfo.failures', {
103
93
  type: 'screenshotTest',
104
- message: 'Component list undefined! Please check component Docs'
94
+ message
105
95
  });
106
96
  closeServer(docsServerInstance);
107
97
  (0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.endTime', Date.now());
@@ -109,56 +99,46 @@ var onSStestEnd = function onSStestEnd(status, resultObject) {
109
99
  }
110
100
  };
111
101
 
112
- //eslint-disable-next-line
113
- var getDocsServerInstance = function getDocsServerInstance(beforeJobs) {
114
- if (typeof beforeJobs === 'function') {
115
- beforeJobs();
116
- }
117
- return (0, _docsServerCore2.default)(true);
118
- };
119
-
120
- var run = function run() {
121
- var listOfComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
122
- var configObject = arguments[1];
123
-
124
- docsServerInstance = (0, _docsServerCore2.default)(true);
125
- docsServerInstance.app.use((0, _SSTMiddleware2.default)(docsServerInstance.compiler, function (mData) {
102
+ let run = (listOfComponents = [], configObject) => {
103
+ docsServerInstance = (0, _docsServerCore.default)(true);
104
+ docsServerInstance.app.use((0, _SSTMiddleware.default)(docsServerInstance.compiler, mData => {
126
105
  if (isImpactRun) {
127
- impactedComponentList = (0, _utils.getComponents)(mData, listOfComponents);
128
- configObject.impactedComponentList = impactedComponentList;
106
+ let finalResultObject = (0, _utils.getComponents)(mData, listOfComponents);
107
+ configObject.impactedComponentList = finalResultObject.impactedComponentList;
108
+ configObject.unDocsComList = finalResultObject.unDocsComList;
129
109
  }
130
- _screenshotTest2.default.run(configObject, function (status, finalObj) {
131
- onSStestEnd(status, finalObj);
110
+
111
+ _screenshotTest.default.run(configObject, (status, finalObj, message) => {
112
+ onSStestEnd(status, finalObj, message);
132
113
  });
133
114
  }));
134
115
  };
135
116
 
136
117
  (0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.startTime', Date.now());
137
-
138
118
  (0, _utils.ssTestHack)();
139
- var scrObject = {
140
- currentBranch: currentBranch,
141
- referBranch: referBranch,
142
- latestCommitHash: latestCommitHash,
143
- lastCommitHash: lastCommitHash,
144
- seleniumHub: seleniumHub,
145
- url: url + '/docs/components.html',
119
+ let scrObject = {
120
+ currentBranch,
121
+ referBranch,
122
+ latestCommitHash,
123
+ lastCommitHash,
124
+ seleniumHub,
125
+ url: `${url}/docs/components.html`,
146
126
  browser: 'chrome',
147
- enableImage: enableImage,
148
- dbURL: dbURL,
149
- isImpactRun: isImpactRun,
150
- isStore: isStore,
151
- script: script,
152
- tableName: tableName
127
+ enableImage,
128
+ dbURL,
129
+ isImpactRun,
130
+ isStore,
131
+ script,
132
+ tableName
153
133
  };
154
134
 
155
135
  if (isImpactRun) {
156
136
  if (!isStore) {
157
- (0, _utils.getDependenciesImpactList)(currentBranch, referBranch, serviceName).then(function (impactedList) {
137
+ (0, _utils.getDependenciesImpactList)(currentBranch, referBranch, tokenGit, serviceName).then(impactedList => {
158
138
  run(impactedList, scrObject);
159
139
  });
160
140
  } else {
161
- (0, _utils.getDependenciesImpactList)(latestCommitHash, lastCommitHash, serviceName).then(function (impactedList) {
141
+ (0, _utils.getDependenciesImpactList)(latestCommitHash, lastCommitHash, tokenGit, serviceName).then(impactedList => {
162
142
  run(impactedList, scrObject);
163
143
  });
164
144
  }
@@ -1,136 +1,117 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
- var _fs = require('fs');
3
+ var _fs = _interopRequireDefault(require("fs"));
4
4
 
5
- var _fs2 = _interopRequireDefault(_fs);
5
+ var _path = _interopRequireDefault(require("path"));
6
6
 
7
- var _path = require('path');
7
+ var _https = _interopRequireDefault(require("https"));
8
8
 
9
- var _path2 = _interopRequireDefault(_path);
9
+ var _webpack = _interopRequireDefault(require("webpack"));
10
10
 
11
- var _https = require('https');
11
+ var _express = _interopRequireDefault(require("express"));
12
12
 
13
- var _https2 = _interopRequireDefault(_https);
13
+ var _ws = _interopRequireDefault(require("ws"));
14
14
 
15
- var _webpack = require('webpack');
15
+ var _compression = _interopRequireDefault(require("compression"));
16
16
 
17
- var _webpack2 = _interopRequireDefault(_webpack);
17
+ var _webpackDevMiddleware = _interopRequireDefault(require("webpack-dev-middleware"));
18
18
 
19
- var _express = require('express');
19
+ var _httpProxyMiddleware = require("http-proxy-middleware");
20
20
 
21
- var _express2 = _interopRequireDefault(_express);
21
+ var _HMRMiddleware = _interopRequireDefault(require("../middlewares/HMRMiddleware"));
22
22
 
23
- var _ws = require('ws');
24
-
25
- var _ws2 = _interopRequireDefault(_ws);
26
-
27
- var _compression = require('compression');
28
-
29
- var _compression2 = _interopRequireDefault(_compression);
30
-
31
- var _webpackDevMiddleware = require('webpack-dev-middleware');
32
-
33
- var _webpackDevMiddleware2 = _interopRequireDefault(_webpackDevMiddleware);
34
-
35
- var _httpProxyMiddleware = require('http-proxy-middleware');
36
-
37
- var _httpProxyMiddleware2 = _interopRequireDefault(_httpProxyMiddleware);
38
-
39
- var _HMRMiddleware = require('../middlewares/HMRMiddleware');
40
-
41
- var _HMRMiddleware2 = _interopRequireDefault(_HMRMiddleware);
42
-
43
- var _utils = require('../utils');
23
+ var _utils = require("../utils");
44
24
 
45
25
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
46
26
 
47
- var options = (0, _utils.getOptions)();
48
- var _options$app = options.app,
49
- context = _options$app.context,
50
- server = _options$app.server;
51
- var host = server.host,
52
- port = server.port,
53
- domain = server.domain,
54
- mode = server.mode,
55
- disableContextURL = server.disableContextURL,
56
- hasMock = server.hasMock,
57
- mockPort = server.mockPort;
58
-
59
-
60
- var isCompatableHttp2 = Number(process.version.substr(1).split('.')[0]) >= 8;
61
-
62
- var contextURL = disableContextURL ? '' : '/' + context;
63
- var serverUrl = (0, _utils.getServerURL)(server, 'htt' + 'ps');
64
-
65
- var app = (0, _express2.default)();
27
+ let options = (0, _utils.getOptions)();
28
+ let {
29
+ app: {
30
+ context,
31
+ server
32
+ }
33
+ } = options;
34
+ let {
35
+ host,
36
+ port,
37
+ domain,
38
+ mode,
39
+ disableContextURL,
40
+ hasMock,
41
+ mockPort
42
+ } = server;
43
+ let isCompatableHttp2 = Number(process.version.substr(1).split('.')[0]) >= 8;
44
+ let contextURL = disableContextURL ? '' : `/${context}`;
45
+ let serverUrl = (0, _utils.getServerURL)(server, 'htt' + 'ps');
46
+ const app = (0, _express.default)();
66
47
 
67
48
  if (hasMock) {
68
- app.use('/api', (0, _httpProxyMiddleware2.default)({ target: 'ht' + ('tp://localhost:' + mockPort), changeOrigin: true }));
49
+ app.use('/api', (0, _httpProxyMiddleware.createProxyMiddleware)({
50
+ target: 'ht' + `tp://localhost:${mockPort}`,
51
+ changeOrigin: true
52
+ }));
69
53
  }
70
54
 
71
- app.use(_express2.default.json());
72
- app.use(_express2.default.urlencoded({
55
+ app.use(_express.default.json());
56
+ app.use(_express.default.urlencoded({
73
57
  extended: true
74
58
  }));
59
+ let config;
75
60
 
76
- var config = void 0;
77
61
  if (mode === 'prod') {
78
62
  config = require('../configs/webpack.prod.config');
79
- app.use((0, _compression2.default)());
63
+ app.use((0, _compression.default)());
80
64
  } else if (mode === 'dev' || mode === 'dev-no-warn') {
81
65
  config = require('../configs/webpack.dev.config');
82
66
  } else {
83
67
  throw new Error('You must configure valid option in mode');
84
68
  }
85
69
 
86
- var compiler = (0, _webpack2.default)(config);
87
-
88
- app.use((0, _webpackDevMiddleware2.default)(compiler, {
70
+ let compiler = (0, _webpack.default)(config);
71
+ app.use((0, _webpackDevMiddleware.default)(compiler, {
89
72
  logLevel: 'error',
90
- publicPath: mode === 'prod' ? contextURL === '' ? serverUrl + '/' + contextURL : serverUrl + contextURL : config.output.publicPath,
91
- headers: { 'Access-Control-Allow-Origin': '*' },
73
+ publicPath: mode === 'prod' ? contextURL === '' ? `${serverUrl}/${contextURL}` : serverUrl + contextURL : config.output.publicPath,
74
+ headers: {
75
+ 'Access-Control-Allow-Origin': '*'
76
+ },
92
77
  compress: mode === 'prod'
93
78
  }));
94
-
95
- app.use((0, _HMRMiddleware2.default)(compiler, { path: '/sockjs-node/info' }));
96
-
97
- app.use(function (req, res, next) {
79
+ app.use((0, _HMRMiddleware.default)(compiler, {
80
+ path: '/sockjs-node/info'
81
+ }));
82
+ app.use((req, res, next) => {
98
83
  res.setHeader('Access-Control-Allow-Origin', '*');
99
84
  next();
100
- }).use(contextURL + '/fonts', _express2.default.static(context + '/fonts'));
101
-
102
- app.use('/wms/*', function (req, res) {
103
- res.sendFile(_path2.default.join(__dirname, '..', '..', 'templates', 'wms', 'index.html'));
85
+ }).use(`${contextURL}/fonts`, _express.default.static(`${context}/fonts`));
86
+ app.use('/wms/*', (req, res) => {
87
+ res.sendFile(_path.default.join(__dirname, '..', '..', 'templates', 'wms', 'index.html'));
104
88
  });
105
89
 
106
- var httpsServer = _https2.default.createServer({
107
- key: _fs2.default.readFileSync(_path2.default.join(__dirname, '../../cert/key.pem')),
108
- cert: _fs2.default.readFileSync(_path2.default.join(__dirname, '../../cert/cert.pem')),
90
+ const httpsServer = _https.default.createServer({
91
+ key: _fs.default.readFileSync(_path.default.join(__dirname, '../../cert/key.pem')),
92
+ cert: _fs.default.readFileSync(_path.default.join(__dirname, '../../cert/cert.pem')),
109
93
  passphrase: '9i1pqink!k11'
110
94
  }, app);
111
95
 
112
- var wss = new _ws2.default.Server({ server: httpsServer });
113
- var wsPool = [];
114
-
115
- wss.on('connection', function (ws) {
96
+ const wss = new _ws.default.Server({
97
+ server: httpsServer
98
+ });
99
+ let wsPool = [];
100
+ wss.on('connection', ws => {
116
101
  wsPool.push(ws);
117
-
118
- ws.on('close', function () {
119
- wsPool = wsPool.filter(function (ws1) {
120
- return ws1 !== ws;
121
- });
102
+ ws.on('close', () => {
103
+ wsPool = wsPool.filter(ws1 => ws1 !== ws);
122
104
  });
123
-
124
- ws.on('message', function (message) {
105
+ ws.on('message', message => {
125
106
  (0, _utils.log)('received: %s', message);
126
107
  });
127
-
128
108
  ws.send('something');
129
109
  });
130
-
131
- app.post('/wmsmockapi', function (req, res) {
132
- wsPool.forEach(function (ws) {
133
- var body = req.body;
110
+ app.post('/wmsmockapi', (req, res) => {
111
+ wsPool.forEach(ws => {
112
+ let {
113
+ body
114
+ } = req;
134
115
 
135
116
  try {
136
117
  ws.send(JSON.stringify(body));
@@ -138,75 +119,73 @@ app.post('/wmsmockapi', function (req, res) {
138
119
  (0, _utils.log)(e, body);
139
120
  }
140
121
  });
141
-
142
122
  res.send('success');
143
123
  });
144
-
145
- var webpackCompilation = void 0;
146
- compiler.hooks.afterCompile.tap('ReactCLI', function (compilation) {
124
+ let webpackCompilation;
125
+ compiler.hooks.afterCompile.tap('ReactCLI', compilation => {
147
126
  webpackCompilation = compilation;
148
127
  });
149
128
 
150
129
  if (contextURL) {
151
- app.use(contextURL, _express2.default.static(context));
152
- app.use(contextURL + '/*', function (req, res) {
153
- var indexHtml = webpackCompilation.assets['index.html'];
130
+ app.use(contextURL, _express.default.static(context));
131
+ app.use(`${contextURL}/*`, (req, res) => {
132
+ let indexHtml = webpackCompilation.assets['index.html'];
154
133
  res.send(indexHtml && indexHtml.source());
155
134
  });
156
135
  } else {
157
- app.use(_express2.default.static(context));
158
- app.use('/*', _express2.default.static(context));
136
+ app.use(_express.default.static(context));
137
+ app.use('/*', _express.default.static(context));
159
138
  }
160
139
 
161
- httpsServer.listen(port, function (err) {
140
+ httpsServer.listen(port, err => {
162
141
  if (err) {
163
142
  throw err;
164
143
  }
165
- (0, _utils.log)('Listening at ' + serverUrl + contextURL + '/');
144
+
145
+ (0, _utils.log)(`Listening at ${serverUrl}${contextURL}/`);
166
146
  });
167
147
 
168
148
  if (isCompatableHttp2) {
169
- var http2 = require('http2');
170
- var http2Server = http2.createSecureServer({
171
- key: _fs2.default.readFileSync(_path2.default.join(__dirname, '../../cert/key.pem')),
172
- cert: _fs2.default.readFileSync(_path2.default.join(__dirname, '../../cert/cert.pem')),
149
+ const http2 = require('http2');
150
+
151
+ const http2Server = http2.createSecureServer({
152
+ key: _fs.default.readFileSync(_path.default.join(__dirname, '../../cert/key.pem')),
153
+ cert: _fs.default.readFileSync(_path.default.join(__dirname, '../../cert/cert.pem')),
173
154
  passphrase: '9i1pqink!k11'
174
- });
155
+ }); //eslint-disable-next-line
175
156
 
176
- //eslint-disable-next-line
177
- http2Server.on('stream', function (stream, headers) {
157
+ http2Server.on('stream', (stream, headers) => {
178
158
  stream.respond({
179
159
  'content-type': 'text/html',
180
160
  ':status': 200
181
161
  });
182
162
  stream.end('<h1>Hello World! <br>Working with http2</h1>');
183
163
  });
184
-
185
- var http2Port = Number(port) + 1;
186
-
187
- http2Server.listen(http2Port, function (err) {
164
+ let http2Port = Number(port) + 1;
165
+ http2Server.listen(http2Port, err => {
188
166
  if (err) {
189
167
  throw err;
190
168
  }
191
- (0, _utils.log)('Listening at ' + (0, _utils.getServerURL)({
192
- host: host,
193
- domain: domain,
169
+
170
+ (0, _utils.log)(`Listening at ${(0, _utils.getServerURL)({
171
+ host,
172
+ domain,
194
173
  port: http2Port
195
- }, 'htt' + 'ps') + contextURL + '/', 'http2 server');
174
+ }, 'htt' + 'ps')}${contextURL}/`, 'http2 server');
196
175
  });
197
176
  } else {
198
- (0, _utils.log)('Your node version didn\'t adopted http2 support. Kindly update that to 8 LTS or above you can engage the http2');
177
+ (0, _utils.log)("Your node version didn't adopted http2 support. Kindly update that to 8 LTS or above you can engage the http2");
199
178
  }
200
179
 
201
- var httpPort = Number(port) + (isCompatableHttp2 ? 2 : 1);
202
-
203
- app.listen(httpPort, function (err) {
180
+ let httpPort = Number(port) + (isCompatableHttp2 ? 2 : 1);
181
+ app.listen(httpPort, err => {
204
182
  if (err) {
205
183
  throw err;
206
184
  }
207
- (0, _utils.log)('Listening at ' + (0, _utils.getServerURL)({
208
- host: host,
209
- domain: domain,
185
+
186
+ (0, _utils.log)(`Listening at ${(0, _utils.getServerURL)({
187
+ host,
188
+ domain,
210
189
  port: httpPort
211
- }, 'ht' + 'tp') + contextURL + '/');
190
+ }, 'ht' + 'tp')}${contextURL}/`);
212
191
  });