@zohodesk/react-cli 0.0.1-beta.16 → 0.0.1-beta.160

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 (226) hide show
  1. package/.eslintignore +1 -0
  2. package/.eslintrc.js +46 -3
  3. package/CHANGELOG.md +5 -0
  4. package/README.md +650 -0
  5. package/bin/cli.js +134 -27
  6. package/cert/cert.pem +37 -129
  7. package/cert/key.pem +27 -27
  8. package/cert/passphrase.pem +1 -0
  9. package/files/eslintrc.js +62 -0
  10. package/files/prettierrc.js +3 -0
  11. package/lib/babel/cmjs-plugins-presets.js +16 -9
  12. package/lib/babel/es-plugins-presets.js +26 -14
  13. package/lib/common/getEntries.js +33 -24
  14. package/lib/common/getPublicPathConfig.js +40 -0
  15. package/lib/common/index.js +27 -13
  16. package/lib/common/splitChunks.js +64 -26
  17. package/lib/common/sslcertUpdater.js +59 -0
  18. package/lib/common/templateParameters.js +25 -0
  19. package/lib/configs/jest.config.js +18 -28
  20. package/lib/configs/webpack.component.umd.config.js +31 -37
  21. package/lib/configs/webpack.css.umd.config.js +44 -44
  22. package/lib/configs/webpack.dev.config.js +113 -57
  23. package/lib/configs/webpack.docs.config.js +104 -98
  24. package/lib/configs/webpack.impact.config.js +116 -0
  25. package/lib/configs/webpack.prod.config.js +154 -86
  26. package/lib/hooks/docsProptypeHook.js +32 -38
  27. package/lib/jest/commitedFilesResult.js +144 -71
  28. package/lib/jest/coverageCollector.js +62 -29
  29. package/lib/jest/jsonMaker.js +54 -0
  30. package/lib/jest/preProcessors/cssPreprocessor.js +16 -18
  31. package/lib/jest/preProcessors/jsPreprocessor.js +5 -6
  32. package/lib/jest/preProcessors/otherFilesPreprocessor.js +5 -6
  33. package/lib/jest/result.js +91 -41
  34. package/lib/jest/run.js +74 -27
  35. package/lib/jest/setup.js +103 -102
  36. package/lib/loaderUtils/getCSSLoaders.js +77 -0
  37. package/lib/loaderUtils/getDevJsLoaders.js +30 -23
  38. package/lib/loaderUtils/index.js +14 -7
  39. package/lib/loaders/docsLoader.js +15 -15
  40. package/lib/loaders/docsPropsLoader.js +14 -17
  41. package/lib/loaders/fileBountryLoader.js +17 -0
  42. package/lib/loaders/fileLoader.js +47 -38
  43. package/lib/loaders/scriptInstrumentLoader.js +21 -20
  44. package/lib/loaders/selectorMappingLoader.js +75 -0
  45. package/lib/loaders/workerLoader.js +136 -0
  46. package/lib/middlewares/HMRMiddleware.js +59 -41
  47. package/lib/middlewares/SSTMiddleware.js +21 -0
  48. package/lib/pluginUtils/getDevPlugins.js +173 -26
  49. package/lib/pluginUtils/getDocsPlugins.js +32 -17
  50. package/lib/pluginUtils/getLibraryImactPlugins.js +23 -0
  51. package/lib/pluginUtils/getLibraryPlugins.js +8 -10
  52. package/lib/pluginUtils/getProdPlugins.js +238 -37
  53. package/lib/pluginUtils/getServerPlugins.js +8 -11
  54. package/lib/pluginUtils/getUMDCSSPlugins.js +11 -15
  55. package/lib/pluginUtils/getUMDComponentPlugins.js +11 -15
  56. package/lib/pluginUtils/index.js +36 -43
  57. package/lib/plugins/CdnChangePlugin.js +77 -0
  58. package/lib/plugins/CleanupStatsPlugin.js +28 -0
  59. package/lib/plugins/EFCPlugin.js +211 -0
  60. package/lib/plugins/EFCPlugin.md +6 -0
  61. package/lib/plugins/I18NInjectIntoIndexPlugin.js +141 -0
  62. package/lib/plugins/I18nSplitPlugin/I18nDebugPlugin.js +60 -0
  63. package/lib/plugins/I18nSplitPlugin/I18nDependency.js +44 -0
  64. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +266 -0
  65. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +183 -0
  66. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +100 -0
  67. package/lib/plugins/I18nSplitPlugin/I18nSplit.md +86 -0
  68. package/lib/plugins/I18nSplitPlugin/README.md +25 -0
  69. package/lib/plugins/I18nSplitPlugin/index.js +185 -0
  70. package/lib/plugins/I18nSplitPlugin/utils/collectI18nKeys.js +64 -0
  71. package/lib/plugins/I18nSplitPlugin/utils/getI18nFileUrlPathTemplate.js +13 -0
  72. package/lib/plugins/I18nSplitPlugin/utils/getI18nKeysFormModules.js +26 -0
  73. package/lib/plugins/I18nSplitPlugin/utils/hashUtils.js +40 -0
  74. package/lib/plugins/I18nSplitPlugin/utils/index.js +31 -0
  75. package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +112 -0
  76. package/lib/plugins/ManifestPlugin.js +52 -63
  77. package/lib/plugins/ModuleStatsPlugin.js +98 -97
  78. package/lib/plugins/OptimizeJSPlugin.js +24 -41
  79. package/lib/plugins/PublicPathCallbackPlugin.js +63 -0
  80. package/lib/plugins/PublicPathChangePlugin.js +187 -174
  81. package/lib/plugins/ReportGeneratePlugin.js +181 -0
  82. package/lib/plugins/RequireVariablePublicPlugin.js +30 -0
  83. package/lib/plugins/ResourceHintsPlugin.js +53 -35
  84. package/lib/plugins/RtlSplitPlugin/OverwriteCssPathForRTL.js +80 -0
  85. package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +82 -0
  86. package/lib/plugins/RtlSplitPlugin/RtrSplit.md +30 -0
  87. package/lib/plugins/RtlSplitPlugin/replaceCssDirTemplate.js +26 -0
  88. package/lib/plugins/ScriptInstrumentPlugin.js +22 -37
  89. package/lib/plugins/ServiceWorkerPlugin.js +107 -0
  90. package/lib/plugins/ShadowDOMSupportPlugin.js +270 -0
  91. package/lib/plugins/SourceMapHookPlugin.js +25 -31
  92. package/lib/plugins/TPHashMappingPlugin.js +67 -0
  93. package/lib/plugins/UglifyCSSPlugin.js +23 -30
  94. package/lib/plugins/UnusedFilesFindPlugin.js +150 -97
  95. package/lib/plugins/index.js +118 -55
  96. package/lib/plugins/libraryImpactPlugin.js +190 -0
  97. package/lib/plugins/webpackwatchrunplugin.js +26 -0
  98. package/lib/postcss-plugins/ExcludeRTLPlugin.js +23 -0
  99. package/lib/postcss-plugins/RTLSplitPlugin.js +138 -0
  100. package/lib/schemas/index.js +463 -52
  101. package/lib/servers/clusterHubServer.js +22 -26
  102. package/lib/servers/docsServer.js +3 -5
  103. package/lib/servers/docsServerCore.js +93 -85
  104. package/lib/servers/helpServer.js +19 -21
  105. package/lib/servers/httpsOptions.js +19 -0
  106. package/lib/servers/impactServer.js +99 -92
  107. package/lib/servers/mockserver.js +44 -0
  108. package/lib/servers/nowatchserver.js +275 -0
  109. package/lib/servers/scrServer.js +147 -0
  110. package/lib/servers/server.js +118 -124
  111. package/lib/servers/ssServer.js +107 -65
  112. package/lib/sh/reportPublish.sh +16 -10
  113. package/lib/templates/CoverageScriptTemplate.js +45 -18
  114. package/lib/templates/WMSTemplate.js +17 -18
  115. package/lib/templates/linterConstant.js +10 -0
  116. package/lib/utils/babelPresets.js +12 -5
  117. package/lib/utils/buildstats.html +148 -0
  118. package/lib/utils/clean.js +12 -11
  119. package/lib/utils/copy.js +13 -127
  120. package/lib/utils/copyTimezones.js +21 -0
  121. package/lib/utils/createEventStream.js +24 -19
  122. package/lib/utils/cssClassNameGenerate.js +70 -0
  123. package/lib/utils/cssURLReplacer.js +67 -54
  124. package/lib/utils/dependencyPostPublish.js +42 -0
  125. package/lib/utils/fileUtils.js +125 -0
  126. package/lib/utils/folderIterator.js +47 -0
  127. package/lib/utils/getComponents.js +126 -0
  128. package/lib/utils/getCurrentBranch.js +11 -17
  129. package/lib/utils/getDependenciesImpactList.js +151 -0
  130. package/lib/utils/getHash.js +26 -0
  131. package/lib/utils/getIp.js +20 -0
  132. package/lib/utils/getOptions.js +55 -30
  133. package/lib/utils/getServerURL.js +25 -8
  134. package/lib/utils/index.js +259 -82
  135. package/lib/utils/init.js +2 -2
  136. package/lib/utils/initPreCommitHook.js +40 -31
  137. package/lib/utils/jsonHelper.js +97 -0
  138. package/lib/utils/libraryImpactConfig.js +63 -0
  139. package/lib/utils/lint/addScripts.js +27 -0
  140. package/lib/utils/lint/checkExistingConfig.js +67 -0
  141. package/lib/utils/lint/copyConfigs.js +24 -0
  142. package/lib/utils/lint/index.js +54 -0
  143. package/lib/utils/lint/lintScripts.js +11 -0
  144. package/lib/utils/lint/lintSetup.js +31 -0
  145. package/lib/utils/lint/lintStagedPreCommitHook.js +7 -0
  146. package/lib/utils/lint/question.js +30 -0
  147. package/lib/utils/lintReporter.js +142 -0
  148. package/lib/utils/mailSender.js +16 -25
  149. package/lib/utils/pullOrigin.js +28 -0
  150. package/lib/utils/reinstallDependencies.js +133 -0
  151. package/lib/utils/removeAttributes.js +25 -23
  152. package/lib/utils/repoClone.js +56 -63
  153. package/lib/utils/request.js +64 -77
  154. package/lib/utils/resultSchema.json +73 -0
  155. package/lib/utils/rtl.js +42 -0
  156. package/lib/utils/setEnvVariables.js +5 -6
  157. package/lib/utils/ssTestHack.js +48 -0
  158. package/lib/utils/switchBranch.js +28 -0
  159. package/lib/utils/urlConcat.js +22 -0
  160. package/package.json +92 -64
  161. package/templates/app/.eslintrc.js +140 -0
  162. package/templates/app/README.md +12 -12
  163. package/templates/app/app/index.html +24 -8
  164. package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
  165. package/templates/app/app/properties/i18nkeys.json +3 -3
  166. package/templates/app/docs/all.html +69 -69
  167. package/templates/app/mockapi/index.js +18 -13
  168. package/templates/app/package.json +37 -17
  169. package/templates/app/src/actions/SampleActions/index.js +37 -0
  170. package/templates/app/src/actions/index.js +65 -0
  171. package/templates/app/src/appUrls.js +19 -0
  172. package/templates/app/src/components/Alert/Alert.js +134 -0
  173. package/templates/app/src/components/Alert/Alert.module.css +79 -0
  174. package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -0
  175. package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -0
  176. package/templates/app/src/components/Sample/Sample.module.css +11 -0
  177. package/templates/app/src/components/Sample/SampleList.js +61 -0
  178. package/templates/app/src/components/Slider/Slider.css +41 -0
  179. package/templates/app/src/components/Slider/Slider.js +55 -0
  180. package/templates/app/src/containers/AlertContainer/index.js +15 -0
  181. package/templates/app/src/containers/AppContainer/index.js +96 -0
  182. package/templates/app/src/containers/AppContainer/index.module.css +27 -0
  183. package/templates/app/src/containers/CustomMatch/index.js +65 -0
  184. package/templates/app/src/containers/DevTools/index.js +10 -0
  185. package/templates/app/src/containers/Header/index.js +67 -0
  186. package/templates/app/src/containers/Header/index.module.css +43 -0
  187. package/templates/app/src/containers/Redirect/index.js +63 -0
  188. package/templates/app/src/containers/Redirector/index.js +47 -0
  189. package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -0
  190. package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -0
  191. package/templates/app/src/historyChange.js +5 -0
  192. package/templates/app/src/index.html +10 -0
  193. package/templates/app/src/index.js +24 -0
  194. package/templates/app/src/middleware/PromiseMiddleware.js +59 -0
  195. package/templates/app/src/reducers/alertData.js +11 -0
  196. package/templates/app/src/reducers/index.js +6 -0
  197. package/templates/app/src/reducers/samples.js +19 -0
  198. package/templates/app/src/store/configureStore.dev.js +51 -0
  199. package/templates/app/src/store/configureStore.js +5 -0
  200. package/templates/app/src/store/configureStore.prod.js +26 -0
  201. package/templates/app/src/util/Common.js +5 -0
  202. package/templates/app/src/util/RequestAPI.js +132 -0
  203. package/templates/appold/README.md +12 -0
  204. package/templates/appold/app/index.html +8 -0
  205. package/templates/appold/app/properties/ApplicationResources_en_US.properties +1 -0
  206. package/templates/appold/app/properties/i18nkeys.json +3 -0
  207. package/templates/appold/docs/all.html +69 -0
  208. package/templates/appold/mockapi/index.js +13 -0
  209. package/templates/{app → appold}/mockapi/tickets.json +0 -0
  210. package/templates/appold/package.json +17 -0
  211. package/templates/appold/src/components/Text/Text.css +0 -0
  212. package/templates/appold/src/components/Text/Text.js +23 -0
  213. package/templates/appold/src/components/Text/__tests__/Text.spec.js +30 -0
  214. package/templates/appold/src/components/Text/docs/Text__default.docs.js +16 -0
  215. package/templates/appold/src/components/docs.js +1 -0
  216. package/templates/appold/src/components/index.js +5 -0
  217. package/templates/appold/src/index.js +13 -0
  218. package/templates/docs/all.html +1 -1
  219. package/templates/docs/component.html +110 -69
  220. package/templates/docs/components.html +221 -0
  221. package/templates/docs/css/component.css +12 -14
  222. package/templates/docs/css/componentTest.css +7 -0
  223. package/templates/docs/css/style.css +150 -206
  224. package/templates/docs/impactReportTemplate.html +154 -0
  225. package/templates/docs/index.html +1482 -1336
  226. package/templates/library/src/index.js +0 -0
@@ -1,133 +1,141 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.default = void 0;
6
7
 
7
- var _fs = require('fs');
8
+ var _path = _interopRequireDefault(require("path"));
8
9
 
9
- var _fs2 = _interopRequireDefault(_fs);
10
+ var _https = _interopRequireDefault(require("https"));
10
11
 
11
- var _path = require('path');
12
+ var _webpack = _interopRequireDefault(require("webpack"));
12
13
 
13
- var _path2 = _interopRequireDefault(_path);
14
+ var _express = _interopRequireDefault(require("express"));
14
15
 
15
- var _https = require('https');
16
+ var _child_process = require("child_process");
16
17
 
17
- var _https2 = _interopRequireDefault(_https);
18
+ var _webpackDevMiddleware = _interopRequireDefault(require("webpack-dev-middleware"));
18
19
 
19
- var _webpack = require('webpack');
20
+ var _HMRMiddleware = _interopRequireDefault(require("../middlewares/HMRMiddleware"));
20
21
 
21
- var _webpack2 = _interopRequireDefault(_webpack);
22
+ var _utils = require("../utils");
22
23
 
23
- var _express = require('express');
24
+ var _webpackDocs = _interopRequireDefault(require("../configs/webpack.docs.config"));
24
25
 
25
- var _express2 = _interopRequireDefault(_express);
26
-
27
- var _child_process = require('child_process');
28
-
29
- var _webpackDevMiddleware = require('webpack-dev-middleware');
30
-
31
- var _webpackDevMiddleware2 = _interopRequireDefault(_webpackDevMiddleware);
32
-
33
- var _utils = require('../utils');
34
-
35
- var _webpackDocs = require('../configs/webpack.docs.config');
36
-
37
- var _webpackDocs2 = _interopRequireDefault(_webpackDocs);
26
+ var _httpsOptions = require("./httpsOptions");
38
27
 
39
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
40
29
 
41
- exports.default = function (isSSTest) {
42
- var options = (0, _utils.getOptions)();
43
- var server = options.docs.server;
44
- var port = server.port,
45
- branch = server.branch,
46
- host = server.host,
47
- domain = server.domain;
48
-
49
-
50
- var appPath = process.cwd();
51
-
52
- var app = (0, _express2.default)();
53
-
54
- app.use(_express2.default.json());
55
- app.use(_express2.default.urlencoded({
30
+ // import fs from 'fs';
31
+ var _default = isSSTest => {
32
+ let options = (0, _utils.getOptions)();
33
+ let {
34
+ docs: {
35
+ server
36
+ }
37
+ } = options;
38
+ let {
39
+ port,
40
+ branch,
41
+ host,
42
+ domain,
43
+ iphost
44
+ } = server;
45
+ let appPath = process.cwd();
46
+ const app = (0, _express.default)();
47
+ app.use(_express.default.json());
48
+ app.use(_express.default.urlencoded({
56
49
  extended: true
57
50
  }));
58
-
59
- var docsConfig = (0, _webpackDocs2.default)(isSSTest);
60
-
61
- var compiler = (0, _webpack2.default)(docsConfig);
62
-
63
- var wdm = (0, _webpackDevMiddleware2.default)(compiler, {
51
+ let docsConfig = (0, _webpackDocs.default)(isSSTest);
52
+ let compiler = (0, _webpack.default)(docsConfig);
53
+ let wdm = (0, _webpackDevMiddleware.default)(compiler, {
64
54
  logLevel: 'error',
65
55
  publicPath: docsConfig.output.publicPath,
66
- headers: { 'Access-Control-Allow-Origin': '*' }
56
+ headers: {
57
+ 'Access-Control-Allow-Origin': '*'
58
+ }
67
59
  });
68
-
69
60
  app.use(wdm);
70
-
71
- app.use('/docs/external/', _express2.default.static(_path2.default.join(appPath, 'docs', 'external')));
72
- app.use('/docs', _express2.default.static(_path2.default.join(__dirname, '..', '..', 'templates', 'docs')));
73
-
74
- app.use('/docs/*', function (req, res) {
75
- res.sendFile(_path2.default.join(__dirname, '..', '..', 'templates', 'docs', 'index.html'));
61
+ app.use((0, _HMRMiddleware.default)(compiler, {
62
+ path: '/sockjs-node/info'
63
+ }));
64
+ app.use('/docs/external/', _express.default.static(_path.default.join(appPath, 'docs', 'external')));
65
+ app.use('/docs', _express.default.static(_path.default.join(__dirname, '..', '..', 'templates', 'docs')));
66
+ app.use('/docs/*', (req, res) => {
67
+ res.sendFile(_path.default.join(__dirname, '..', '..', 'templates', 'docs', 'index.html'));
76
68
  });
77
-
78
- app.use('/author/get', function (req, res) {
79
- var _req$query$componentN = req.query.componentName,
80
- componentName = _req$query$componentN === undefined ? '' : _req$query$componentN;
81
-
82
- res.json({ stdout: (0, _child_process.execSync)('git blame ' + componentName).toString() });
69
+ app.use('/author/get', (req, res) => {
70
+ let {
71
+ query: {
72
+ componentName = ''
73
+ }
74
+ } = req;
75
+ res.json({
76
+ stdout: (0, _child_process.execSync)(`git blame ${componentName}`).toString()
77
+ });
83
78
  });
84
-
85
- app.use('/cli/version', function (req, res) {
86
- res.json({ version: require('../../package.json').version });
79
+ app.use('/cli/version', (req, res) => {
80
+ res.json({
81
+ version: require('../../package.json').version
82
+ });
87
83
  });
88
84
 
89
85
  if (branch) {
90
- app.post('/repo/merge', function (req, res) {
91
- var ref = req.body.ref;
86
+ app.post('/repo/merge', (req, res) => {
87
+ let {
88
+ ref
89
+ } = req.body;
92
90
 
93
91
  if (ref && ref.endsWith(branch)) {
94
92
  (0, _child_process.spawnSync)('git', ['pull', 'origin', branch], {
95
93
  stdio: 'inherit'
96
94
  });
97
95
  }
96
+
98
97
  res.send('done');
99
98
  });
100
99
  }
101
100
 
102
- var httpsServer = _https2.default.createServer({
103
- key: _fs2.default.readFileSync(_path2.default.join(__dirname, '../../cert/key.pem')),
104
- cert: _fs2.default.readFileSync(_path2.default.join(__dirname, '../../cert/cert.pem')),
105
- passphrase: 'zddqa1585f82'
106
- }, app);
101
+ const httpsServer = _https.default.createServer(_httpsOptions.httpsOptions, app);
107
102
 
108
- httpsServer.listen(port, function (err) {
109
- if (err) {
110
- throw err;
111
- }
112
- (0, _utils.log)('Listening at ' + (0, _utils.getServerURL)(server, 'htt' + 'ps') + '/docs/');
113
- });
103
+ if (!isSSTest) {
104
+ httpsServer.listen(port, err => {
105
+ if (err) {
106
+ throw err;
107
+ }
114
108
 
115
- var httpPort = Number(port) + 1;
109
+ (0, _utils.log)(`Listening at ${(0, _utils.getServerURL)(server, 'htt' + 'ps')}/docs/`);
110
+ });
111
+ }
116
112
 
117
- var http = app.listen(httpPort, function (err) {
113
+ let httpPort = Number(port) + 1;
114
+ let http = app.listen(httpPort, err => {
118
115
  if (err) {
119
116
  throw err;
120
117
  }
121
- (0, _utils.log)('Listening at ' + (0, _utils.getServerURL)({
122
- host: host,
123
- domain: domain,
124
- port: httpPort
125
- }, 'htt' + 'p') + '/docs/');
126
- });
127
118
 
119
+ if (isSSTest) {
120
+ (0, _utils.log)(`Listening at ${(0, _utils.getServerURL)(Object.assign(server, {
121
+ host: iphost,
122
+ port: port
123
+ }), 'htt' + 'p')}/docs/`);
124
+ } else {
125
+ (0, _utils.log)(`Listening at ${(0, _utils.getServerURL)({
126
+ host,
127
+ domain,
128
+ port
129
+ }, 'htt' + 'p')}/docs/`);
130
+ }
131
+ });
128
132
  return {
129
- http: http,
133
+ compiler,
134
+ app,
135
+ http,
130
136
  https: httpsServer,
131
- wdm: wdm
137
+ wdm
132
138
  };
133
- };
139
+ };
140
+
141
+ exports.default = _default;
@@ -1,31 +1,29 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
- var _path = require('path');
3
+ var _path = _interopRequireDefault(require("path"));
4
4
 
5
- var _path2 = _interopRequireDefault(_path);
5
+ var _express = _interopRequireDefault(require("express"));
6
6
 
7
- var _express = require('express');
8
-
9
- var _express2 = _interopRequireDefault(_express);
10
-
11
- var _utils = require('../utils');
7
+ var _utils = require("../utils");
12
8
 
13
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
10
 
15
- var options = (0, _utils.getOptions)();
16
- var server = options.help.server;
17
-
18
- var serverUrl = (0, _utils.getServerURL)(server, 'htt' + 'p');
19
- var port = server.port;
20
-
21
-
22
- var app = (0, _express2.default)();
23
-
24
- app.use('/help', _express2.default.static(_path2.default.join(__dirname, '..', '..', 'templates', 'help')));
25
-
26
- app.listen(port, function (err) {
11
+ let options = (0, _utils.getOptions)();
12
+ let {
13
+ help: {
14
+ server
15
+ }
16
+ } = options;
17
+ let serverUrl = (0, _utils.getServerURL)(server, 'htt' + 'p');
18
+ let {
19
+ port
20
+ } = server;
21
+ let app = (0, _express.default)();
22
+ app.use('/help', _express.default.static(_path.default.join(__dirname, '..', '..', 'templates', 'help')));
23
+ app.listen(port, err => {
27
24
  if (err) {
28
25
  throw err;
29
26
  }
30
- (0, _utils.log)('Listening at ' + serverUrl + '/help/');
27
+
28
+ (0, _utils.log)(`Listening at ${serverUrl}/help/`);
31
29
  });
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.httpsOptions = void 0;
7
+
8
+ var _fs = _interopRequireDefault(require("fs"));
9
+
10
+ var _path = _interopRequireDefault(require("path"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ const httpsOptions = {
15
+ key: _fs.default.readFileSync(_path.default.join(__dirname, '../../cert/key.pem')),
16
+ cert: _fs.default.readFileSync(_path.default.join(__dirname, '../../cert/cert.pem')),
17
+ passphrase: _fs.default.readFileSync(_path.default.join(__dirname, '../../cert/passphrase.pem')).toString()
18
+ };
19
+ exports.httpsOptions = httpsOptions;
@@ -1,64 +1,63 @@
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 _express = _interopRequireDefault(require("express"));
4
4
 
5
- var _express = require('express');
5
+ var _gitlab = require("gitlab");
6
6
 
7
- var _express2 = _interopRequireDefault(_express);
7
+ var _esprima = _interopRequireDefault(require("esprima"));
8
8
 
9
- var _gitlab = require('gitlab');
10
-
11
- var _esprima = require('esprima');
12
-
13
- var _esprima2 = _interopRequireDefault(_esprima);
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
- function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
20
-
21
- var options = (0, _utils.getOptions)();
22
- var server = options.impact.server;
23
-
24
- var serverUrl = (0, _utils.getServerURL)(server, 'htt' + 'p');
25
- var port = server.port;
26
-
27
-
28
- var services = new _gitlab.ProjectsBundle({
13
+ let options = (0, _utils.getOptions)();
14
+ let {
15
+ impact: {
16
+ server
17
+ }
18
+ } = options;
19
+ let serverUrl = (0, _utils.getServerURL)(server, 'htt' + 'p');
20
+ let {
21
+ port
22
+ } = server;
23
+ const services = new _gitlab.ProjectsBundle({
29
24
  url: 'https://git.csez.zohocorpin.com',
30
25
  token: 'n6aqQz3RfzqRGPyMTPy8'
31
26
  });
32
-
33
- var app = (0, _express2.default)();
34
-
35
- app.use(_express2.default.json());
36
- app.use(_express2.default.urlencoded({
27
+ let app = (0, _express.default)();
28
+ app.use(_express.default.json());
29
+ app.use(_express.default.urlencoded({
37
30
  extended: true
38
31
  }));
39
32
 
40
33
  function traverseJSON(parsed, file) {
41
- var parsedObj = {};
42
- parsed.forEach(function (Block) {
34
+ let parsedObj = {};
35
+ parsed.forEach(Block => {
43
36
  if (Block.type === 'FunctionDeclaration' || Block.type === 'ExportDefaultDeclaration' || Block.type === 'ExportNamedDeclaration') {
44
- var ParsedTemp = void 0;
37
+ let ParsedTemp;
38
+
45
39
  if (Block.type === 'FunctionDeclaration') {
46
40
  ParsedTemp = Block;
47
41
  } else {
48
42
  ParsedTemp = Block.declaration;
49
43
  }
44
+
50
45
  if (ParsedTemp) {
51
46
  if (ParsedTemp.id) {
52
- var funcname = ParsedTemp.id.name;
47
+ let funcname = ParsedTemp.id.name;
48
+
53
49
  if (funcname !== 'mapStateToProps') {
54
50
  if (!funcname.includes('_')) {
55
51
  if (!Object.prototype.hasOwnProperty.call(parsedObj, 'file')) {
56
52
  parsedObj[file] = {};
57
53
  }
58
- var tempArray = [];
59
- for (var j = ParsedTemp.loc.start.line; j < ParsedTemp.loc.end.line; j++) {
54
+
55
+ let tempArray = [];
56
+
57
+ for (let j = ParsedTemp.loc.start.line; j < ParsedTemp.loc.end.line; j++) {
60
58
  tempArray.push(j);
61
59
  }
60
+
62
61
  parsedObj[file][funcname] = tempArray;
63
62
  }
64
63
  }
@@ -68,44 +67,42 @@ function traverseJSON(parsed, file) {
68
67
  });
69
68
  return parsedObj;
70
69
  }
70
+
71
71
  function getDetails(url, callback) {
72
- var changeObj = {};
73
- var compObj = {};
74
- (0, _utils.request)({ url: url }).then(function (res) {
75
- var body = JSON.parse(res.body);
72
+ let changeObj = {};
73
+ let compObj = {};
74
+ (0, _utils.request)({
75
+ url
76
+ }).then(res => {
77
+ let body = JSON.parse(res.body);
78
+
76
79
  if (body.includes('Source_Changeset')) {
77
- var branch = void 0,
78
- changeSet = void 0;
80
+ let branch, changeSet;
79
81
  body = body.split('\n');
80
- body.forEach(function (content) {
82
+ body.forEach(content => {
81
83
  if (content.includes('Source_Changeset')) {
82
- var _content$split = content.split('='),
83
- _content$split2 = _slicedToArray(_content$split, 2),
84
- __changeSet = _content$split2[1];
85
-
84
+ let [, __changeSet] = content.split('=');
86
85
  changeSet = __changeSet;
87
86
  }
88
- if (content.includes('SourceCoLabel')) {
89
- var _content$split3 = content.split('='),
90
- _content$split4 = _slicedToArray(_content$split3, 1),
91
- __branch = _content$split4[0];
92
87
 
88
+ if (content.includes('SourceCoLabel')) {
89
+ let [__branch] = content.split('=');
93
90
  branch = __branch;
94
91
  }
95
92
  });
96
- services.Commits.diff(1143, changeSet
97
- //'587efd32ce14620750a38ab74bc744fc52f2943a '
98
- ).then(function (result) {
99
- var promises = [];
93
+ services.Commits.diff(1143, changeSet //'587efd32ce14620750a38ab74bc744fc52f2943a '
94
+ ).then(result => {
95
+ let promises = [];
96
+
100
97
  if (result) {
101
- result.forEach(function (change) {
102
- var p = new Promise(function (resolve) {
103
- var filename = change.new_path;
98
+ result.forEach(change => {
99
+ let p = new Promise(resolve => {
100
+ let filename = change.new_path;
104
101
  changeObj[filename] = [];
105
102
  compObj[filename] = [];
106
- var diffList = change.diff.split('\n');
107
- var tempObj = {};
108
- diffList.forEach(function (diff) {
103
+ let diffList = change.diff.split('\n');
104
+ let tempObj = {};
105
+ diffList.forEach(diff => {
109
106
  if (diff.indexOf('data-id') >= 0) {
110
107
  if (diff.indexOf('//') >= 0) {
111
108
  if (diff.substr(diff.indexOf('//') + 1).includes('data-id')) {
@@ -114,22 +111,27 @@ function getDetails(url, callback) {
114
111
  tempObj.changedId = null;
115
112
  }
116
113
  }
114
+
117
115
  if (!diff.indexOf('-')) {
118
116
  //eslint-disable-next-line
119
117
  tempObj.defaultId = diff.match(/(data-id=.*)/g)[0].match(/["']([^"']+?)['"]/g)[0];
120
- var tempIndex = diffList.indexOf(diff);
118
+ let tempIndex = diffList.indexOf(diff);
119
+
121
120
  if (diffList[tempIndex + 1].indexOf('data-id') === -1) {
122
121
  tempObj.changedId = null;
123
122
  }
124
123
  }
124
+
125
125
  if (!diff.indexOf('+')) {
126
126
  //eslint-disable-next-line
127
127
  tempObj.changedId = diff.match(/(data-id=.*)/g)[0].match(/["']([^"']+?)['"]/g)[0];
128
- var _tempIndex = diffList.indexOf(diff);
129
- if (diffList[_tempIndex - 1].indexOf('data-id') === -1) {
128
+ let tempIndex = diffList.indexOf(diff);
129
+
130
+ if (diffList[tempIndex - 1].indexOf('data-id') === -1) {
130
131
  tempObj.defaultId = null;
131
132
  }
132
133
  }
134
+
133
135
  if (Object.prototype.hasOwnProperty.call(tempObj, 'defaultId') && Object.prototype.hasOwnProperty.call(tempObj, 'changedId')) {
134
136
  if (tempObj.defaultId !== tempObj.changedId) {
135
137
  compObj[filename].push(tempObj);
@@ -137,34 +139,39 @@ function getDetails(url, callback) {
137
139
  }
138
140
  }
139
141
  }
142
+
140
143
  if (diff.startsWith('@')) {
141
- var _diff$split = diff.split('@@'),
142
- _diff$split2 = _slicedToArray(_diff$split, 2),
143
- content = _diff$split2[1];
144
+ let [, content] = diff.split('@@');
145
+ let tempList = content.split(' ');
146
+ let startingLine = parseInt(tempList[1].split(',')[0]) * -1 + 3;
147
+ let furtherLines = parseInt(tempList[2].split(',')[0]) + 3;
144
148
 
145
- var tempList = content.split(' ');
146
- var startingLine = parseInt(tempList[1].split(',')[0]) * -1 + 3;
147
- var furtherLines = parseInt(tempList[2].split(',')[0]) + 3;
148
149
  if (parseInt(tempList[1].split(',')[1]) > 6) {
149
150
  changeObj[filename].push(startingLine);
150
151
  }
152
+
151
153
  if (parseInt(tempList[2].split(',')[1]) > 6) {
152
- var endValue = parseInt(tempList[2].split(',')[1]) - 6;
153
- for (var i = furtherLines; i < furtherLines + endValue; i++) {
154
+ let endValue = parseInt(tempList[2].split(',')[1]) - 6;
155
+
156
+ for (let i = furtherLines; i < furtherLines + endValue; i++) {
154
157
  changeObj[filename].push(i);
155
158
  }
156
159
  }
157
160
  }
158
161
  });
162
+
159
163
  if (!filename.includes('.spec.js') && !filename.includes('.docs.js') && !filename.includes('.css') && filename.includes('.js')) {
160
164
  try {
161
- services.RepositoryFiles.show(1143, filename, branch).then(function (res) {
162
- var code = Buffer.from(res.content, 'base64').toString('ascii');
163
- var parsed = _esprima2.default.parseModule(code, {
165
+ services.RepositoryFiles.show(1143, filename, branch).then(res => {
166
+ let code = Buffer.from(res.content, 'base64').toString('ascii');
167
+
168
+ let parsed = _esprima.default.parseModule(code, {
164
169
  jsx: true,
165
170
  loc: true
166
171
  });
167
- var methodDetail = traverseJSON(parsed.body, filename);
172
+
173
+ let methodDetail = traverseJSON(parsed.body, filename);
174
+
168
175
  if (Object.keys(methodDetail).length) {
169
176
  resolve(methodDetail);
170
177
  } else {
@@ -180,33 +187,33 @@ function getDetails(url, callback) {
180
187
  });
181
188
  promises.push(p);
182
189
  });
183
- Promise.all(promises).then(function (resPromise) {
184
- callback(changeObj, Object.assign.apply(Object, [{}].concat(_toConsumableArray(resPromise))), compObj);
190
+ Promise.all(promises).then(resPromise => {
191
+ callback(changeObj, Object.assign({}, ...resPromise), compObj);
185
192
  });
186
193
  }
187
194
  });
188
195
  }
189
- }).catch(function (err) {
190
- return err;
191
- });
196
+ }).catch(err => err);
192
197
  }
193
198
 
194
- app.post('/impact/build', function (req, res) {
199
+ app.post('/impact/build', (req, res) => {
195
200
  req.setTimeout(0);
196
- var subUrl = '/logs/reactbuildinfo.txt';
197
- var build = req.body;
198
-
199
- var url = build.buildUrl.substr(0, build.buildUrl.lastIndexOf('/'));
201
+ let subUrl = '/logs/reactbuildinfo.txt';
202
+ let {
203
+ body: build
204
+ } = req;
205
+ let url = build.buildUrl.substr(0, build.buildUrl.lastIndexOf('/'));
200
206
  url = url + subUrl;
201
- getDetails(url, function (body, esprimaObj, componentObj, err) {
207
+ getDetails(url, (body, esprimaObj, componentObj, err) => {
202
208
  if (err) {
203
209
  return err;
204
210
  }
205
- var responseObj = {};
206
- Object.keys(esprimaObj).forEach(function (file) {
211
+
212
+ let responseObj = {};
213
+ Object.keys(esprimaObj).forEach(file => {
207
214
  responseObj[file] = [];
208
- body[file].forEach(function (changedLine) {
209
- Object.keys(esprimaObj[file]).forEach(function (method) {
215
+ body[file].forEach(changedLine => {
216
+ Object.keys(esprimaObj[file]).forEach(method => {
210
217
  if (esprimaObj[file][method].includes(changedLine)) {
211
218
  if (!responseObj[file].includes(method)) {
212
219
  responseObj[file].push(method);
@@ -214,12 +221,12 @@ app.post('/impact/build', function (req, res) {
214
221
  }
215
222
  });
216
223
  });
224
+
217
225
  if (!responseObj[file].length) {
218
226
  delete responseObj[file];
219
227
  }
220
228
  });
221
-
222
- var resObj = {
229
+ let resObj = {
223
230
  chnagedMethods: responseObj,
224
231
  changedLocators: componentObj
225
232
  };
@@ -227,11 +234,11 @@ app.post('/impact/build', function (req, res) {
227
234
  res.end();
228
235
  });
229
236
  });
230
-
231
- app.listen(port, function (err) {
237
+ app.listen(port, err => {
232
238
  if (err) {
233
239
  throw err;
234
240
  }
235
- (0, _utils.log)('Listening at ' + serverUrl + '/impact/build/');
241
+
242
+ (0, _utils.log)(`Listening at ${serverUrl}/impact/build/`);
236
243
  (0, _utils.log)('payload like => {buildUrl:test_build_url}');
237
244
  });
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ var _express = _interopRequireDefault(require("express"));
4
+
5
+ var _fs = _interopRequireDefault(require("fs"));
6
+
7
+ var _path = _interopRequireDefault(require("path"));
8
+
9
+ var _utils = require("../utils");
10
+
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+
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({
24
+ extended: true
25
+ }));
26
+ let appPath = process.cwd();
27
+
28
+ let mockServerPath = _path.default.join(appPath, 'mockapi', 'index.js');
29
+
30
+ if (_fs.default.existsSync(mockServerPath)) {
31
+ let mockServer = require(mockServerPath);
32
+
33
+ mockServer(app);
34
+ } else {
35
+ (0, _utils.log)('You must export a function from mockapi folder by only we can provide mock api hook');
36
+ }
37
+
38
+ app.listen(mockPort, err => {
39
+ if (err) {
40
+ (0, _utils.log)('error', err);
41
+ } else {
42
+ (0, _utils.log)(`mock server listening port: ${mockPort}`);
43
+ }
44
+ });