@zohodesk/react-cli 0.0.1-exp.175.1 → 0.0.1-exp.176.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (165) hide show
  1. package/README.md +35 -40
  2. package/docs/SelectorWeight.md +6 -0
  3. package/docs/VariableConversion.md +33 -1
  4. package/lib/babel/cmjs-plugins-presets.js +4 -0
  5. package/lib/babel/es-plugins-presets.js +4 -0
  6. package/lib/common/getEntries.js +10 -0
  7. package/lib/common/getPublicPathConfig.js +6 -0
  8. package/lib/common/index.js +5 -0
  9. package/lib/common/splitChunks.js +13 -2
  10. package/lib/common/sslcertUpdater.js +17 -6
  11. package/lib/common/templateParameters.js +2 -0
  12. package/lib/common/testPattern.js +21 -10
  13. package/lib/common/valueReplacer.js +15 -0
  14. package/lib/configs/jest.config.js +9 -0
  15. package/lib/configs/libAlias.js +2 -4
  16. package/lib/configs/webpack.component.umd.config.js +5 -0
  17. package/lib/configs/webpack.css.umd.config.js +13 -5
  18. package/lib/configs/webpack.dev.config.js +36 -2
  19. package/lib/configs/webpack.docs.config.js +21 -1
  20. package/lib/configs/webpack.impact.config.js +19 -1
  21. package/lib/configs/webpack.prod.config.js +37 -3
  22. package/lib/hooks/docsProptypeHook.js +7 -3
  23. package/lib/jest/commitedFilesResult.js +45 -3
  24. package/lib/jest/coverageCollector.js +11 -0
  25. package/lib/jest/jsonMaker.js +6 -0
  26. package/lib/jest/preProcessors/cssPreprocessor.js +8 -0
  27. package/lib/jest/preProcessors/jsPreprocessor.js +2 -0
  28. package/lib/jest/preProcessors/otherFilesPreprocessor.js +3 -0
  29. package/lib/jest/result.js +22 -0
  30. package/lib/jest/run.js +17 -6
  31. package/lib/jest/setup.js +57 -5
  32. package/lib/loaderUtils/configsAssetsLoaders.js +11 -1
  33. package/lib/loaderUtils/getCSSLoaders.js +35 -20
  34. package/lib/loaderUtils/getDevJsLoaders.js +8 -0
  35. package/lib/loaderUtils/index.js +3 -0
  36. package/lib/loaderUtils/windowsModification.js +11 -0
  37. package/lib/loaders/docsLoader.js +7 -0
  38. package/lib/loaders/docsPropsLoader.js +7 -3
  39. package/lib/loaders/fileBountryLoader.js +2 -0
  40. package/lib/loaders/fileLoader.js +22 -11
  41. package/lib/loaders/scriptInstrumentLoader.js +13 -5
  42. package/lib/loaders/selectorMappingLoader.js +25 -7
  43. package/lib/loaders/workerLoader.js +20 -4
  44. package/lib/middlewares/HMRMiddleware.js +26 -13
  45. package/lib/middlewares/SSTMiddleware.js +3 -0
  46. package/lib/pluginUtils/configHtmlWebpackPlugins.js +9 -3
  47. package/lib/pluginUtils/getDevPlugins.js +63 -17
  48. package/lib/pluginUtils/getDocsPlugins.js +10 -1
  49. package/lib/pluginUtils/getLibraryImactPlugins.js +5 -4
  50. package/lib/pluginUtils/getLibraryPlugins.js +5 -0
  51. package/lib/pluginUtils/getProdPlugins.js +72 -23
  52. package/lib/pluginUtils/getServerPlugins.js +5 -0
  53. package/lib/pluginUtils/getUMDCSSPlugins.js +7 -0
  54. package/lib/pluginUtils/getUMDComponentPlugins.js +7 -0
  55. package/lib/pluginUtils/index.js +8 -0
  56. package/lib/plugins/CdnChangePlugin.js +14 -0
  57. package/lib/plugins/CleanupStatsPlugin.js +5 -0
  58. package/lib/plugins/EFCPlugin.js +34 -23
  59. package/lib/plugins/EFCTemplatePlugin.js +32 -23
  60. package/lib/plugins/I18NInjectIntoIndexPlugin.js +34 -8
  61. package/lib/plugins/I18nSplitPlugin/I18nDebugPlugin.js +17 -12
  62. package/lib/plugins/I18nSplitPlugin/I18nDependency.js +10 -4
  63. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +39 -8
  64. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +29 -14
  65. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +22 -13
  66. package/lib/plugins/I18nSplitPlugin/index.js +23 -13
  67. package/lib/plugins/I18nSplitPlugin/utils/collectI18nKeys.js +12 -2
  68. package/lib/plugins/I18nSplitPlugin/utils/getI18nFileUrlPathTemplate.js +1 -0
  69. package/lib/plugins/I18nSplitPlugin/utils/getI18nKeysFormModules.js +5 -0
  70. package/lib/plugins/I18nSplitPlugin/utils/hashUtils.js +6 -0
  71. package/lib/plugins/I18nSplitPlugin/utils/index.js +4 -0
  72. package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +20 -2
  73. package/lib/plugins/ManifestPlugin.js +17 -0
  74. package/lib/plugins/ModuleStatsPlugin.js +23 -0
  75. package/lib/plugins/OptimizeJSPlugin.js +7 -0
  76. package/lib/plugins/PublicPathCallbackPlugin.js +10 -0
  77. package/lib/plugins/PublicPathChangePlugin.js +36 -4
  78. package/lib/plugins/ReportGeneratePlugin.js +30 -4
  79. package/lib/plugins/RequireVariablePublicPlugin.js +6 -0
  80. package/lib/plugins/ResourceHintsPlugin.js +10 -3
  81. package/lib/plugins/RtlSplitPlugin/OverwriteCssPathForRTL.js +17 -12
  82. package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +16 -9
  83. package/lib/plugins/RtlSplitPlugin/replaceCssDirTemplate.js +5 -2
  84. package/lib/plugins/ScriptInstrumentPlugin.js +7 -0
  85. package/lib/plugins/SelectorPlugin.js +97 -0
  86. package/lib/plugins/ServiceWorkerPlugin.js +20 -4
  87. package/lib/plugins/ShadowDOMSupportPlugin.js +40 -3
  88. package/lib/plugins/SourceMapHookPlugin.js +9 -0
  89. package/lib/plugins/TPHashMappingPlugin.js +15 -1
  90. package/lib/plugins/UglifyCSSPlugin.js +9 -0
  91. package/lib/plugins/UnusedFilesFindPlugin.js +35 -2
  92. package/lib/plugins/VariableConversionCollector.js +252 -0
  93. package/lib/plugins/composeCommonPlugin.js +30 -0
  94. package/lib/plugins/index.js +19 -0
  95. package/lib/plugins/libraryImpactPlugin.js +32 -0
  96. package/lib/plugins/webpackwatchrunplugin.js +5 -0
  97. package/lib/postcss-plugins/ExcludePlugin.js +4 -0
  98. package/lib/postcss-plugins/RTLSplitPlugin.js +27 -14
  99. package/lib/postcss-plugins/ValueReplacer.js +6 -9
  100. package/lib/postcss-plugins/__test__/hoverActivePlugin.spec.js +3 -0
  101. package/lib/postcss-plugins/hoverActivePlugin.js +66 -30
  102. package/lib/postcss-plugins/variableModificationPlugin/ErrorHandler.js +40 -13
  103. package/lib/postcss-plugins/variableModificationPlugin/index.js +215 -141
  104. package/lib/postcss-plugins/variableModifier.js +20 -13
  105. package/lib/schemas/index.js +23 -4
  106. package/lib/servers/clusterHubServer.js +10 -0
  107. package/lib/servers/devBuild.js +24 -13
  108. package/lib/servers/docsServer.js +2 -0
  109. package/lib/servers/docsServerCore.js +21 -0
  110. package/lib/servers/getCliPath.js +9 -0
  111. package/lib/servers/helpServer.js +5 -0
  112. package/lib/servers/httpsOptions.js +4 -0
  113. package/lib/servers/impactServer.js +34 -2
  114. package/lib/servers/mockserver.js +9 -0
  115. package/lib/servers/nowatchserver.js +34 -12
  116. package/lib/servers/scrServer.js +20 -13
  117. package/lib/servers/server.js +35 -7
  118. package/lib/servers/ssServer.js +16 -0
  119. package/lib/templates/CoverageScriptTemplate.js +14 -0
  120. package/lib/templates/WMSTemplate.js +12 -6
  121. package/lib/utils/babelPresets.js +2 -0
  122. package/lib/utils/clean.js +8 -2
  123. package/lib/utils/copy.js +6 -0
  124. package/lib/utils/copyTimezones.js +8 -0
  125. package/lib/utils/createEventStream.js +4 -0
  126. package/lib/utils/cssClassNameGenerate.js +19 -3
  127. package/lib/utils/cssURLReplacer.js +50 -38
  128. package/lib/utils/dependencyPostPublish.js +9 -0
  129. package/lib/utils/fileUtils.js +26 -0
  130. package/lib/utils/folderIterator.js +10 -0
  131. package/lib/utils/getComponents.js +21 -0
  132. package/lib/utils/getCurrentBranch.js +5 -0
  133. package/lib/utils/getDependenciesImpactList.js +21 -0
  134. package/lib/utils/getFileType.js +49 -0
  135. package/lib/utils/getHash.js +7 -0
  136. package/lib/utils/getIp.js +2 -0
  137. package/lib/utils/getOptions.js +39 -14
  138. package/lib/utils/getServerURL.js +7 -0
  139. package/lib/utils/index.js +47 -2
  140. package/lib/utils/init.js +1 -0
  141. package/lib/utils/initPreCommitHook.js +29 -6
  142. package/lib/utils/jsonHelper.js +19 -2
  143. package/lib/utils/libraryImpactConfig.js +2 -0
  144. package/lib/utils/lint/addScripts.js +5 -2
  145. package/lib/utils/lint/checkExistingConfig.js +12 -3
  146. package/lib/utils/lint/copyConfigs.js +3 -0
  147. package/lib/utils/lint/index.js +9 -0
  148. package/lib/utils/lint/lintScripts.js +1 -0
  149. package/lib/utils/lint/lintSetup.js +4 -3
  150. package/lib/utils/lint/lintStagedPreCommitHook.js +1 -0
  151. package/lib/utils/lint/question.js +7 -0
  152. package/lib/utils/lintReporter.js +20 -0
  153. package/lib/utils/mailSender.js +7 -0
  154. package/lib/utils/pullOrigin.js +4 -0
  155. package/lib/utils/reinstallDependencies.js +28 -0
  156. package/lib/utils/removeAttributes.js +7 -0
  157. package/lib/utils/repoClone.js +27 -2
  158. package/lib/utils/request.js +12 -0
  159. package/lib/utils/rtl.js +16 -4
  160. package/lib/utils/setEnvVariables.js +2 -0
  161. package/lib/utils/ssTestHack.js +10 -0
  162. package/lib/utils/switchBranch.js +4 -0
  163. package/lib/utils/urlConcat.js +4 -0
  164. package/lib/utils/useExitCleanup.js +10 -9
  165. package/package.json +10 -9
@@ -1,14 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  var _screenshotTest = _interopRequireDefault(require("@zohodesk/screenshot-test"));
4
+
4
5
  var _jsonHelper = require("../utils/jsonHelper");
6
+
5
7
  var _child_process = require("child_process");
8
+
6
9
  var _utils = require("../utils");
10
+
7
11
  var _docsServerCore = _interopRequireDefault(require("./docsServerCore"));
12
+
8
13
  var _SSTMiddleware = _interopRequireDefault(require("../middlewares/SSTMiddleware"));
14
+
9
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- //Getting variables from flag and exe
11
16
 
17
+ //Getting variables from flag and exe
12
18
  let cwd = process.cwd();
13
19
  let options = (0, _utils.getOptions)();
14
20
  let {
@@ -30,8 +36,8 @@ let {
30
36
  }
31
37
  } = options;
32
38
  let resultFileName = `${cwd}/result.json`;
33
- let docsServerInstance;
34
- // let impactedComponentList = null;
39
+ let docsServerInstance; // let impactedComponentList = null;
40
+
35
41
  let url = (0, _utils.getServerURL)(Object.assign(server, {
36
42
  host: server.iphost
37
43
  }), 'ht' + 'tp');
@@ -39,16 +45,12 @@ let commitID = (0, _child_process.execSync)('git log --first-parent --pretty="fo
39
45
  cwd: cwd
40
46
  }).toString() || '';
41
47
  let [latestCommitHash, lastCommitHash] = commitID.split('\n');
42
- 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;';
43
-
44
- // Variable getting part end //
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 //
45
49
 
46
50
  (0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.compareBranch', referBranch);
47
51
  (0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.TestBranch', currentBranch);
48
52
  (0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.isExecuted', true);
49
- (0, _utils.log)('Test Branch Name :- ', currentBranch);
50
-
51
- // function declaration part //
53
+ (0, _utils.log)('Test Branch Name :- ', currentBranch); // function declaration part //
52
54
 
53
55
  let closeServer = serverInstance => {
54
56
  (0, _utils.log)('Docs service stopped!');
@@ -60,9 +62,9 @@ let closeServer = serverInstance => {
60
62
  http.close();
61
63
  https.close();
62
64
  wdm.close();
63
- };
65
+ }; //eslint-disable-next-line
66
+
64
67
 
65
- //eslint-disable-next-line
66
68
  let afterFirstScreenShotCollected = () => {
67
69
  closeServer(docsServerInstance);
68
70
  (0, _utils.switchBranch)('git', referBranch).then(() => {
@@ -72,6 +74,7 @@ let afterFirstScreenShotCollected = () => {
72
74
  });
73
75
  });
74
76
  };
77
+
75
78
  let onSStestEnd = (status, resultObject, message) => {
76
79
  if (status) {
77
80
  (0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.endTime', Date.now());
@@ -79,8 +82,8 @@ let onSStestEnd = (status, resultObject, message) => {
79
82
  (0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.result', resultObject);
80
83
  (0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.message', message);
81
84
  (0, _jsonHelper.setTestInfoStatus)(resultFileName, true);
82
- (0, _utils.log)(message);
83
- //'Screenshot test completed successfully.'
85
+ (0, _utils.log)(message); //'Screenshot test completed successfully.'
86
+
84
87
  closeServer(docsServerInstance);
85
88
  } else {
86
89
  (0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.isPassed', false);
@@ -95,6 +98,7 @@ let onSStestEnd = (status, resultObject, message) => {
95
98
  throw new Error('Component list undefined! Please check component Docs');
96
99
  }
97
100
  };
101
+
98
102
  let run = (listOfComponents = [], configObject) => {
99
103
  docsServerInstance = (0, _docsServerCore.default)(true);
100
104
  docsServerInstance.app.use((0, _SSTMiddleware.default)(docsServerInstance.compiler, mData => {
@@ -103,11 +107,13 @@ let run = (listOfComponents = [], configObject) => {
103
107
  configObject.impactedComponentList = finalResultObject.impactedComponentList;
104
108
  configObject.unDocsComList = finalResultObject.unDocsComList;
105
109
  }
110
+
106
111
  _screenshotTest.default.run(configObject, (status, finalObj, message) => {
107
112
  onSStestEnd(status, finalObj, message);
108
113
  });
109
114
  }));
110
115
  };
116
+
111
117
  (0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.startTime', Date.now());
112
118
  (0, _utils.ssTestHack)();
113
119
  let scrObject = {
@@ -125,6 +131,7 @@ let scrObject = {
125
131
  script,
126
132
  tableName
127
133
  };
134
+
128
135
  if (isImpactRun) {
129
136
  if (!isStore) {
130
137
  (0, _utils.getDependenciesImpactList)(currentBranch, referBranch, tokenGit, serviceName).then(impactedList => {
@@ -1,19 +1,30 @@
1
1
  "use strict";
2
2
 
3
3
  var _path = _interopRequireDefault(require("path"));
4
+
4
5
  var _https = _interopRequireDefault(require("https"));
6
+
5
7
  var _webpack = _interopRequireDefault(require("webpack"));
8
+
6
9
  var _express = _interopRequireDefault(require("express"));
10
+
7
11
  var _ws = _interopRequireDefault(require("ws"));
12
+
8
13
  var _compression = _interopRequireDefault(require("compression"));
14
+
9
15
  var _webpackDevMiddleware = _interopRequireDefault(require("webpack-dev-middleware"));
16
+
10
17
  var _httpProxyMiddleware = require("http-proxy-middleware");
18
+
11
19
  var _HMRMiddleware = _interopRequireDefault(require("../middlewares/HMRMiddleware"));
20
+
12
21
  var _utils = require("../utils");
22
+
13
23
  var _httpsOptions = require("./httpsOptions");
24
+
14
25
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
- // import fs from 'fs';
16
26
 
27
+ // import fs from 'fs';
17
28
  let options = (0, _utils.getOptions)();
18
29
  let {
19
30
  app: {
@@ -37,17 +48,20 @@ const {
37
48
  writeToDisk
38
49
  } = options.impactService;
39
50
  const app = (0, _express.default)();
51
+
40
52
  if (hasMock) {
41
53
  app.use(server.mockPrefix, (0, _httpProxyMiddleware.createProxyMiddleware)({
42
54
  target: 'ht' + `tp://localhost:${mockPort}`,
43
55
  changeOrigin: true
44
56
  }));
45
57
  }
58
+
46
59
  app.use(_express.default.json());
47
60
  app.use(_express.default.urlencoded({
48
61
  extended: true
49
62
  }));
50
63
  let config;
64
+
51
65
  if (mode === 'prod') {
52
66
  config = require('../configs/webpack.prod.config');
53
67
  app.use((0, _compression.default)());
@@ -55,8 +69,8 @@ if (mode === 'prod') {
55
69
  config = require('../configs/webpack.dev.config');
56
70
  } else {
57
71
  throw new Error('You must configure valid option in mode');
58
- }
59
- // console.log({ contextURL });
72
+ } // console.log({ contextURL });
73
+
60
74
 
61
75
  let compiler = (0, _webpack.default)(config);
62
76
  let webpackServerOptions = {
@@ -70,22 +84,25 @@ let webpackServerOptions = {
70
84
  },
71
85
  compress: mode === 'prod'
72
86
  };
87
+
73
88
  if (options.app.disableWatch) {
74
89
  webpackServerOptions.watchOptions = {
75
90
  ignored: /./
76
91
  };
77
92
  }
93
+
78
94
  if (writeToDisk) {
79
95
  webpackServerOptions.writeToDisk = true;
80
96
  }
97
+
81
98
  app.use((0, _webpackDevMiddleware.default)(compiler, webpackServerOptions));
82
99
  app.use((0, _HMRMiddleware.default)(compiler, {
83
100
  path: '/sockjs-node/info'
84
101
  }));
85
102
  app.use((req, res, next) => {
86
103
  //console.log('origin', req.get('origin'));
87
- res.setHeader('Access-Control-Allow-Origin', req.get('origin') || '*');
88
- // res.setHeader('Access-Control-Allow-Origin', req.get('origin'));
104
+ res.setHeader('Access-Control-Allow-Origin', req.get('origin') || '*'); // res.setHeader('Access-Control-Allow-Origin', req.get('origin'));
105
+
89
106
  res.setHeader('Access-Control-Allow-Private-Network', true);
90
107
  res.setHeader('Access-Control-Allow-Credentials', true);
91
108
  next();
@@ -96,7 +113,9 @@ app.options('/*', (req, res) => {
96
113
  app.use('/wms/*', (req, res) => {
97
114
  res.sendFile(_path.default.join(__dirname, '..', '..', 'templates', 'wms', 'index.html'));
98
115
  });
116
+
99
117
  const httpsServer = _https.default.createServer(_httpsOptions.httpsOptions, app);
118
+
100
119
  const wss = new _ws.default.Server({
101
120
  server: httpsServer
102
121
  });
@@ -116,6 +135,7 @@ app.post('/wmsmockapi', (req, res) => {
116
135
  let {
117
136
  body
118
137
  } = req;
138
+
119
139
  try {
120
140
  ws.send(JSON.stringify(body));
121
141
  } catch (e) {
@@ -131,10 +151,12 @@ compiler.hooks.afterCompile.tap('ReactCLI', compilation => {
131
151
  });
132
152
  compiler.hooks.done.tap('ReactCLI', () => {
133
153
  const indexHtml = webpackCompilation.assets['index.html'];
154
+
134
155
  if (indexHtml) {
135
156
  initalHTML = indexHtml.source();
136
157
  }
137
158
  });
159
+
138
160
  if (contextURL) {
139
161
  app.use(contextURL, _express.default.static(context));
140
162
  app.use(`${contextURL}/*`, (req, res) => {
@@ -144,17 +166,20 @@ if (contextURL) {
144
166
  app.use(_express.default.static(context));
145
167
  app.use('/*', _express.default.static(context));
146
168
  }
169
+
147
170
  httpsServer.listen(port, err => {
148
171
  if (err) {
149
172
  throw err;
150
173
  }
174
+
151
175
  (0, _utils.log)(`Listening at ${serverUrl}${contextURL}/`);
152
176
  });
177
+
153
178
  if (isCompatableHttp2) {
154
179
  const http2 = require('http2');
155
- const http2Server = http2.createSecureServer(_httpsOptions.httpsOptions);
156
180
 
157
- // eslint-disable-next-line no-unused-vars
181
+ const http2Server = http2.createSecureServer(_httpsOptions.httpsOptions); // eslint-disable-next-line no-unused-vars
182
+
158
183
  http2Server.on('stream', (stream, headers) => {
159
184
  stream.respond({
160
185
  'content-type': 'text/html',
@@ -167,6 +192,7 @@ if (isCompatableHttp2) {
167
192
  if (err) {
168
193
  throw err;
169
194
  }
195
+
170
196
  (0, _utils.log)(`Listening at ${(0, _utils.getServerURL)({
171
197
  host,
172
198
  domain,
@@ -176,11 +202,13 @@ if (isCompatableHttp2) {
176
202
  } else {
177
203
  (0, _utils.log)('Your node version didn\'t adopted http2 support. Kindly update that to 8 LTS or above you can engage the http2');
178
204
  }
205
+
179
206
  let httpPort = Number(port) + (isCompatableHttp2 ? 2 : 1);
180
207
  app.listen(httpPort, err => {
181
208
  if (err) {
182
209
  throw err;
183
210
  }
211
+
184
212
  (0, _utils.log)(`Listening at ${(0, _utils.getServerURL)({
185
213
  host,
186
214
  domain,
@@ -1,11 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  var _screenshotTest = _interopRequireDefault(require("@zohodesk/screenshot-test"));
4
+
4
5
  var _jsonHelper = require("../utils/jsonHelper");
6
+
5
7
  var _utils = require("../utils");
8
+
6
9
  var _docsServerCore = _interopRequireDefault(require("./docsServerCore"));
10
+
7
11
  var _SSTMiddleware = _interopRequireDefault(require("../middlewares/SSTMiddleware"));
12
+
8
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+
9
15
  let options = (0, _utils.getOptions)();
10
16
  let impactedComponentObject = null;
11
17
  let docsServerInstance;
@@ -21,6 +27,7 @@ let {
21
27
  server
22
28
  }
23
29
  } = options;
30
+
24
31
  function closeServer(serverInstance) {
25
32
  (0, _utils.log)('Docs service stopped!');
26
33
  let {
@@ -32,10 +39,12 @@ function closeServer(serverInstance) {
32
39
  https.close();
33
40
  wdm.close();
34
41
  }
42
+
35
43
  (0, _jsonHelper.jsonHelper)(`${process.cwd()}/result.json`, 'tests.screenshotTest.compareBranch', referBranch);
36
44
  (0, _jsonHelper.jsonHelper)(`${process.cwd()}/result.json`, 'tests.screenshotTest.TestBranch', currentBranch);
37
45
  (0, _jsonHelper.jsonHelper)(`${process.cwd()}/result.json`, 'tests.screenshotTest.isExecuted', true);
38
46
  (0, _utils.log)('Test Branch Name :- ', currentBranch);
47
+
39
48
  let afterFirstScreenShotCollected = () => {
40
49
  closeServer(docsServerInstance);
41
50
  (0, _utils.switchBranch)('git', referBranch).then(() => {
@@ -45,6 +54,7 @@ let afterFirstScreenShotCollected = () => {
45
54
  });
46
55
  });
47
56
  };
57
+
48
58
  let onSStestEnd = (status, resultObject, isLastRun, runSSTest) => {
49
59
  if (status) {
50
60
  if (!isLastRun) {
@@ -72,13 +82,17 @@ let onSStestEnd = (status, resultObject, isLastRun, runSSTest) => {
72
82
  throw new Error('Component list undefined! Please check component Docs');
73
83
  }
74
84
  };
85
+
75
86
  (0, _utils.ssTestHack)();
87
+
76
88
  let getDocsServerInstance = beforeJobs => {
77
89
  if (typeof beforeJobs === 'function') {
78
90
  beforeJobs();
79
91
  }
92
+
80
93
  return (0, _docsServerCore.default)(true);
81
94
  };
95
+
82
96
  let runSSTest = (onBefore, isLastRun, mode, branch, listOfComponents) => {
83
97
  let url = (0, _utils.getServerURL)(Object.assign(server, {
84
98
  host: server.iphost
@@ -86,6 +100,7 @@ let runSSTest = (onBefore, isLastRun, mode, branch, listOfComponents) => {
86
100
  docsServerInstance = getDocsServerInstance(onBefore);
87
101
  docsServerInstance.app.use((0, _SSTMiddleware.default)(docsServerInstance.compiler, mData => {
88
102
  impactedComponentObject = (0, _utils.getComponents)(mData, listOfComponents);
103
+
89
104
  _screenshotTest.default.run({
90
105
  branch,
91
106
  seleniumHub: seleniumHub,
@@ -100,6 +115,7 @@ let runSSTest = (onBefore, isLastRun, mode, branch, listOfComponents) => {
100
115
  });
101
116
  }));
102
117
  };
118
+
103
119
  (0, _jsonHelper.jsonHelper)(`${process.cwd()}/result.json`, 'tests.screenshotTest.startTime', Date.now());
104
120
  (0, _utils.getDependenciesImpactList)(currentBranch, referBranch).then(impactedList => {
105
121
  (0, _utils.log)('from here ');
@@ -8,21 +8,27 @@ window.ClientCoverage = {
8
8
  localStorage.setItem(property, JSON.stringify(defaultVal));
9
9
  return defaultVal;
10
10
  }
11
+
11
12
  localStorage.setItem(property, JSON.stringify(defaultVal));
12
13
  return defaultVal || {};
13
14
  },
15
+
14
16
  clearLocalStorage(property) {
15
17
  localStorage.removeItem(property);
16
18
  }
19
+
17
20
  },
18
21
  JS: {
19
22
  jsMethodInstrumentObject: {},
20
23
  jsStorageKey: 'jsClientCoverageObject',
24
+
21
25
  init() {
22
26
  this.jsMethodInstrumentObject = ClientCoverage.LocalStorageWrapper.getLocalStorage(this.jsStorageKey, this.jsMethodInstrumentObject);
23
27
  },
28
+
24
29
  visitMethod(jsFileName, jsMethodName) {
25
30
  this.init();
31
+
26
32
  if (this.jsMethodInstrumentObject.hasOwnProperty(jsFileName)) {
27
33
  if (!this.jsMethodInstrumentObject[jsFileName].includes(jsMethodName)) {
28
34
  this.jsMethodInstrumentObject[jsFileName].push(jsMethodName);
@@ -31,27 +37,35 @@ window.ClientCoverage = {
31
37
  this.jsMethodInstrumentObject[jsFileName] = [];
32
38
  this.jsMethodInstrumentObject[jsFileName].push(jsMethodName);
33
39
  }
40
+
34
41
  localStorage.setItem(this.jsStorageKey, JSON.stringify(this.jsMethodInstrumentObject));
35
42
  },
43
+
36
44
  clear() {
37
45
  this.jsMethodInstrumentObject = {};
38
46
  ClientCoverage.LocalStorageWrapper.clearLocalStorage(this.jsStorageKey);
39
47
  },
48
+
40
49
  getData() {
41
50
  return {
42
51
  methods: this.jsMethodInstrumentObject
43
52
  };
44
53
  }
54
+
45
55
  },
56
+
46
57
  getCoverageData() {
47
58
  return {
48
59
  JS: this.JS.getData()
49
60
  };
50
61
  },
62
+
51
63
  clear() {
52
64
  this.JS.clear();
53
65
  },
66
+
54
67
  init() {
55
68
  this.JS.init();
56
69
  }
70
+
57
71
  };
@@ -1,34 +1,40 @@
1
1
  "use strict";
2
2
 
3
3
  var _querystring = _interopRequireDefault(require("querystring"));
4
+
4
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
+
5
7
  let log = (...args) => {
6
8
  let print = console;
7
9
  print.log(...args);
8
- };
10
+ }; // eslint-disable-next-line no-undef
11
+
9
12
 
10
- // eslint-disable-next-line no-undef
11
13
  let options = _querystring.default.parse(__resourceQuery.slice(1));
14
+
12
15
  window.WebSocket = window.WebSocket || window.MozWebSocket;
13
16
  let connection = new WebSocket(options.wmsPath);
17
+
14
18
  connection.onopen = () => {
15
19
  // connection is opened and ready to use
16
20
  log('open');
17
21
  };
22
+
18
23
  connection.onerror = error => {
19
24
  // an error occurred when sending/receiving data
20
25
  throw error;
21
26
  };
27
+
22
28
  connection.onmessage = message => {
23
29
  // try to decode json (I assume that each message
24
30
  // from server is json)
25
31
  try {
26
- let json = JSON.parse(message.data);
27
- // eslint-disable-next-line no-undef
32
+ let json = JSON.parse(message.data); // eslint-disable-next-line no-undef
33
+
28
34
  Collaboration.handleCustomMessage(json);
29
35
  } catch (e) {
30
36
  log('This doesn\'t look like a valid JSON: ', message.data);
31
37
  return;
32
- }
33
- // handle incoming message
38
+ } // handle incoming message
39
+
34
40
  };
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.a = void 0;
7
+
7
8
  let a = require.resolve('babel-plugin-transform-define');
9
+
8
10
  exports.a = a;
9
11
  var _default = {
10
12
  presets: [['env', {
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _rimraf = _interopRequireDefault(require("rimraf"));
4
+
4
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
+
5
7
  let help = false;
6
- let dashdash = false;
7
- //eslint-disable-next-line array-callback-return
8
+ let dashdash = false; //eslint-disable-next-line array-callback-return
9
+
8
10
  let args = process.argv.slice(2).filter(arg => {
9
11
  if (dashdash) {
10
12
  return !!arg;
@@ -16,17 +18,21 @@ let args = process.argv.slice(2).filter(arg => {
16
18
  return !!arg;
17
19
  }
18
20
  });
21
+
19
22
  let go = n => {
20
23
  if (n >= args.length) {
21
24
  return;
22
25
  }
26
+
23
27
  (0, _rimraf.default)(args[n], er => {
24
28
  if (er) {
25
29
  throw er;
26
30
  }
31
+
27
32
  go(n + 1);
28
33
  });
29
34
  };
35
+
30
36
  if (help || args.length === 0) {
31
37
  // If they didn't ask for help, then this is not a "success"
32
38
  // eslint-disable-next-line no-console
package/lib/utils/copy.js CHANGED
@@ -1,11 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  var _path = _interopRequireDefault(require("path"));
4
+
4
5
  var _fs = _interopRequireDefault(require("fs"));
6
+
5
7
  var _fileUtils = require("./fileUtils");
8
+
6
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+
7
11
  let args = process.argv.slice(2);
12
+
8
13
  let appPath = _fs.default.realpathSync(process.cwd());
14
+
9
15
  let [srcPath, targetPath, exts, isCopy = true, flatten = '', changeExt = ''] = args;
10
16
  exts = exts ? exts.split(',').map(ext => `.${ext.trim()}`) : false;
11
17
  srcPath = _path.default.join(appPath, srcPath);
@@ -1,13 +1,21 @@
1
1
  "use strict";
2
2
 
3
3
  var _path = _interopRequireDefault(require("path"));
4
+
4
5
  var _fs = _interopRequireDefault(require("fs"));
6
+
5
7
  var _fileUtils = require("./fileUtils");
8
+
6
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+
7
11
  let args = process.argv.slice(2);
12
+
8
13
  let appPath = _fs.default.realpathSync(process.cwd());
14
+
9
15
  let [targetPath] = args;
10
16
  targetPath = targetPath === '."' || !targetPath ? '' : targetPath;
11
17
  targetPath = _path.default.join(appPath, targetPath);
18
+
12
19
  let srcPath = _path.default.resolve(_path.default.dirname(require.resolve('@zohodesk/datetimejs')), '../data/timezones/');
20
+
13
21
  (0, _fileUtils.copy)(srcPath, targetPath, true, null, 'flatten');
@@ -4,14 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  let createEventStream = (heartbeat, heartbeatInfo = null) => {
8
9
  let clientId = 0;
9
10
  let clients = {};
11
+
10
12
  let everyClient = fn => {
11
13
  Object.keys(clients).forEach(id => {
12
14
  fn(clients[id]);
13
15
  });
14
16
  };
17
+
15
18
  setInterval(() => {
16
19
  everyClient(client => {
17
20
  if (heartbeatInfo) {
@@ -49,5 +52,6 @@ let createEventStream = (heartbeat, heartbeatInfo = null) => {
49
52
  }
50
53
  };
51
54
  };
55
+
52
56
  var _default = createEventStream;
53
57
  exports.default = _default;
@@ -4,27 +4,38 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _os = _interopRequireDefault(require("os"));
9
+
8
10
  var _path = _interopRequireDefault(require("path"));
11
+
9
12
  var _getHash = _interopRequireDefault(require("./getHash"));
13
+
10
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
11
16
  let isWindows = _os.default.platform().toLowerCase() === 'win32';
17
+
12
18
  let isSelectorPackage = (resourcePath, packages) => {
13
19
  if (!resourcePath.includes('node_modules')) {
14
20
  return false;
15
21
  }
22
+
16
23
  let isValid = false;
24
+
17
25
  for (let pack of packages) {
18
26
  if (isWindows) {
19
27
  pack = pack.replace(/\//g, '\\');
20
28
  }
29
+
21
30
  if (resourcePath.includes(pack)) {
22
31
  isValid = true;
23
32
  break;
24
33
  }
25
34
  }
35
+
26
36
  return isValid;
27
37
  };
38
+
28
39
  var _default = (unique = true, {
29
40
  filenames,
30
41
  packages
@@ -35,27 +46,32 @@ var _default = (unique = true, {
35
46
  // console.log('context.resourcePath', context.resourcePath, context);
36
47
  // let contextResourcePath = context.resourcePath;
37
48
  let relativePath = _path.default.relative(context.rootContext, context.resourcePath);
49
+
38
50
  if (context.resourcePath.endsWith('.plain.css')) {
39
51
  return localName;
40
52
  }
41
-
42
53
  /* old production mode start without breaking so added. may be removed in future*/
54
+
55
+
43
56
  if (unique) {
44
57
  let h = (0, _getHash.default)(`${relativePath}-${localName}`, 10);
45
58
  return `${classNamePrefix}${h}`;
46
59
  }
47
60
  /* old production mode end*/
48
61
 
62
+
49
63
  let filePaths = context.resourcePath.split(_path.default.sep);
50
64
  let fileName = filePaths[filePaths.length - 1];
51
65
  let [fileNameWithoutExt] = fileName.split('.');
52
- let cleanFileName = fileNameWithoutExt.replace(/-/g, '_').toLowerCase();
53
- //css file has casesensitive selector issue so can't toLowerCase
66
+ let cleanFileName = fileNameWithoutExt.replace(/-/g, '_').toLowerCase(); //css file has casesensitive selector issue so can't toLowerCase
54
67
  //let local = localName.toLowerCase()
68
+
55
69
  if (isSelectorPackage(context.resourcePath, packages) || filenames.indexOf(cleanFileName) !== -1) {
56
70
  let h = (0, _getHash.default)(`${relativePath}-${localName}`, 10);
57
71
  return `${classNamePrefix}${h}`;
58
72
  }
73
+
59
74
  return `${classNamePrefix}-${cleanFileName}-${localName}`;
60
75
  };
76
+
61
77
  exports.default = _default;