@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,151 +1,144 @@
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 _fs = _interopRequireDefault(require("fs"));
8
9
 
9
- var _fs2 = _interopRequireDefault(_fs);
10
+ var _path = _interopRequireDefault(require("path"));
10
11
 
11
- var _path = require('path');
12
+ var _https = _interopRequireDefault(require("https"));
12
13
 
13
- var _path2 = _interopRequireDefault(_path);
14
+ var _webpack = _interopRequireDefault(require("webpack"));
14
15
 
15
- var _https = require('https');
16
+ var _express = _interopRequireDefault(require("express"));
16
17
 
17
- var _https2 = _interopRequireDefault(_https);
18
+ var _child_process = require("child_process");
18
19
 
19
- var _webpack = require('webpack');
20
+ var _webpackDevMiddleware = _interopRequireDefault(require("webpack-dev-middleware"));
20
21
 
21
- var _webpack2 = _interopRequireDefault(_webpack);
22
+ var _HMRMiddleware = _interopRequireDefault(require("../middlewares/HMRMiddleware"));
22
23
 
23
- var _express = require('express');
24
+ var _utils = require("../utils");
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 _HMRMiddleware = require('../middlewares/HMRMiddleware');
34
-
35
- var _HMRMiddleware2 = _interopRequireDefault(_HMRMiddleware);
36
-
37
- var _utils = require('../utils');
38
-
39
- var _webpackDocs = require('../configs/webpack.docs.config');
40
-
41
- var _webpackDocs2 = _interopRequireDefault(_webpackDocs);
26
+ var _webpackDocs = _interopRequireDefault(require("../configs/webpack.docs.config"));
42
27
 
43
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
44
29
 
45
- exports.default = function (isSSTest) {
46
- var options = (0, _utils.getOptions)();
47
- var server = options.docs.server;
48
- var port = server.port,
49
- branch = server.branch,
50
- host = server.host,
51
- domain = server.domain,
52
- iphost = server.iphost;
53
-
54
-
55
- var appPath = process.cwd();
56
-
57
- var app = (0, _express2.default)();
58
-
59
- app.use(_express2.default.json());
60
- app.use(_express2.default.urlencoded({
30
+ var _default = isSSTest => {
31
+ let options = (0, _utils.getOptions)();
32
+ let {
33
+ docs: {
34
+ server
35
+ }
36
+ } = options;
37
+ let {
38
+ port,
39
+ branch,
40
+ host,
41
+ domain,
42
+ iphost
43
+ } = server;
44
+ let appPath = process.cwd();
45
+ const app = (0, _express.default)();
46
+ app.use(_express.default.json());
47
+ app.use(_express.default.urlencoded({
61
48
  extended: true
62
49
  }));
63
-
64
- var docsConfig = (0, _webpackDocs2.default)(isSSTest);
65
-
66
- var compiler = (0, _webpack2.default)(docsConfig);
67
-
68
- var wdm = (0, _webpackDevMiddleware2.default)(compiler, {
50
+ let docsConfig = (0, _webpackDocs.default)(isSSTest);
51
+ let compiler = (0, _webpack.default)(docsConfig);
52
+ let wdm = (0, _webpackDevMiddleware.default)(compiler, {
69
53
  logLevel: 'error',
70
54
  publicPath: docsConfig.output.publicPath,
71
- headers: { 'Access-Control-Allow-Origin': '*' }
55
+ headers: {
56
+ 'Access-Control-Allow-Origin': '*'
57
+ }
72
58
  });
73
-
74
59
  app.use(wdm);
75
-
76
- app.use((0, _HMRMiddleware2.default)(compiler, { path: '/sockjs-node/info' }));
77
-
78
- app.use('/docs/external/', _express2.default.static(_path2.default.join(appPath, 'docs', 'external')));
79
- app.use('/docs', _express2.default.static(_path2.default.join(__dirname, '..', '..', 'templates', 'docs')));
80
-
81
- app.use('/docs/*', function (req, res) {
82
- res.sendFile(_path2.default.join(__dirname, '..', '..', 'templates', 'docs', 'index.html'));
60
+ app.use((0, _HMRMiddleware.default)(compiler, {
61
+ path: '/sockjs-node/info'
62
+ }));
63
+ app.use('/docs/external/', _express.default.static(_path.default.join(appPath, 'docs', 'external')));
64
+ app.use('/docs', _express.default.static(_path.default.join(__dirname, '..', '..', 'templates', 'docs')));
65
+ app.use('/docs/*', (req, res) => {
66
+ res.sendFile(_path.default.join(__dirname, '..', '..', 'templates', 'docs', 'index.html'));
83
67
  });
84
-
85
- app.use('/author/get', function (req, res) {
86
- var _req$query$componentN = req.query.componentName,
87
- componentName = _req$query$componentN === undefined ? '' : _req$query$componentN;
88
-
89
- res.json({ stdout: (0, _child_process.execSync)('git blame ' + componentName).toString() });
68
+ app.use('/author/get', (req, res) => {
69
+ let {
70
+ query: {
71
+ componentName = ''
72
+ }
73
+ } = req;
74
+ res.json({
75
+ stdout: (0, _child_process.execSync)(`git blame ${componentName}`).toString()
76
+ });
90
77
  });
91
-
92
- app.use('/cli/version', function (req, res) {
93
- res.json({ version: require('../../package.json').version });
78
+ app.use('/cli/version', (req, res) => {
79
+ res.json({
80
+ version: require('../../package.json').version
81
+ });
94
82
  });
95
83
 
96
84
  if (branch) {
97
- app.post('/repo/merge', function (req, res) {
98
- var ref = req.body.ref;
85
+ app.post('/repo/merge', (req, res) => {
86
+ let {
87
+ ref
88
+ } = req.body;
99
89
 
100
90
  if (ref && ref.endsWith(branch)) {
101
91
  (0, _child_process.spawnSync)('git', ['pull', 'origin', branch], {
102
92
  stdio: 'inherit'
103
93
  });
104
94
  }
95
+
105
96
  res.send('done');
106
97
  });
107
98
  }
108
99
 
109
- var httpsServer = _https2.default.createServer({
110
- key: _fs2.default.readFileSync(_path2.default.join(__dirname, '../../cert/key.pem')),
111
- cert: _fs2.default.readFileSync(_path2.default.join(__dirname, '../../cert/cert.pem')),
100
+ const httpsServer = _https.default.createServer({
101
+ key: _fs.default.readFileSync(_path.default.join(__dirname, '../../cert/key.pem')),
102
+ cert: _fs.default.readFileSync(_path.default.join(__dirname, '../../cert/cert.pem')),
112
103
  passphrase: '9i1pqink!k11'
113
104
  }, app);
105
+
114
106
  if (!isSSTest) {
115
- httpsServer.listen(port, function (err) {
107
+ httpsServer.listen(port, err => {
116
108
  if (err) {
117
109
  throw err;
118
110
  }
119
111
 
120
- (0, _utils.log)('Listening at ' + (0, _utils.getServerURL)(server, 'htt' + 'ps') + '/docs/');
112
+ (0, _utils.log)(`Listening at ${(0, _utils.getServerURL)(server, 'htt' + 'ps')}/docs/`);
121
113
  });
122
114
  }
123
115
 
124
- var httpPort = Number(port) + 1;
125
-
126
- var http = app.listen(httpPort, function (err) {
116
+ let httpPort = Number(port) + 1;
117
+ let http = app.listen(httpPort, err => {
127
118
  if (err) {
128
119
  throw err;
129
120
  }
121
+
130
122
  if (isSSTest) {
131
- (0, _utils.log)('Listening at ' + (0, _utils.getServerURL)(Object.assign(server, {
123
+ (0, _utils.log)(`Listening at ${(0, _utils.getServerURL)(Object.assign(server, {
132
124
  host: iphost,
133
125
  port: port
134
- }), 'htt' + 'p') + '/docs/');
126
+ }), 'htt' + 'p')}/docs/`);
135
127
  } else {
136
- (0, _utils.log)('Listening at ' + (0, _utils.getServerURL)({
137
- host: host,
138
- domain: domain,
139
- port: port
140
- }, 'htt' + 'p') + '/docs/');
128
+ (0, _utils.log)(`Listening at ${(0, _utils.getServerURL)({
129
+ host,
130
+ domain,
131
+ port
132
+ }, 'htt' + 'p')}/docs/`);
141
133
  }
142
134
  });
143
-
144
135
  return {
145
- compiler: compiler,
146
- app: app,
147
- http: http,
136
+ compiler,
137
+ app,
138
+ http,
148
139
  https: httpsServer,
149
- wdm: wdm
140
+ wdm
150
141
  };
151
- };
142
+ };
143
+
144
+ 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
  });
@@ -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
  });