@zohodesk/react-cli 1.0.3-beta.1 → 1.0.3-exp.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/.eslintignore +7 -7
  2. package/.eslintrc.js +180 -180
  3. package/.prettierrc +6 -6
  4. package/Changelog.md +1019 -1019
  5. package/README.md +1209 -1189
  6. package/bin/cli.js +489 -483
  7. package/docs/ComposeMinification.md +14 -0
  8. package/docs/CustomChunks.md +26 -26
  9. package/docs/DevServerPort.md +39 -39
  10. package/docs/DevStart.md +18 -18
  11. package/docs/HoverActive.md +12 -12
  12. package/docs/InstallNode.md +28 -28
  13. package/docs/SelectorWeight.md +8 -8
  14. package/docs/TODOS.md +10 -10
  15. package/docs/ValueReplacer.md +60 -60
  16. package/docs/VariableConversion.md +729 -729
  17. package/docs/warnings_while_install.txt +35 -35
  18. package/files/eslintrc.js +62 -62
  19. package/files/prettierrc.js +3 -3
  20. package/lib/common/buildEs.js +12 -0
  21. package/lib/configs/webpack.css.umd.config.js +4 -4
  22. package/lib/configs/webpack.dev.config.js +6 -0
  23. package/lib/configs/webpack.docs.config.js +4 -0
  24. package/lib/configs/webpack.impact.config.js +4 -0
  25. package/lib/configs/webpack.prod.config.js +6 -0
  26. package/lib/loaderUtils/configsAssetsLoaders.js +33 -33
  27. package/lib/loaderUtils/getCSSLoaders.js +80 -46
  28. package/lib/loaderUtils/tests/windowsModification.test.js +10 -0
  29. package/lib/loaderUtils/windowsModification.js +6 -1
  30. package/lib/loaders/composeLoader.js +172 -0
  31. package/lib/loaders/workerLoader.js +9 -9
  32. package/lib/pluginUtils/getDevPlugins.js +18 -8
  33. package/lib/pluginUtils/getProdPlugins.js +16 -8
  34. package/lib/pluginUtils/getUMDCSSPlugins.js +1 -1
  35. package/lib/pluginUtils/getUMDComponentPlugins.js +1 -1
  36. package/lib/plugins/CustomAttributePlugin.md +35 -35
  37. package/lib/plugins/EFCPlugin.md +6 -6
  38. package/lib/plugins/I18NInjectIntoIndexPlugin.js +4 -4
  39. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +38 -38
  40. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +30 -30
  41. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +8 -8
  42. package/lib/plugins/I18nSplitPlugin/I18nSplit.md +95 -95
  43. package/lib/plugins/I18nSplitPlugin/README.md +25 -25
  44. package/lib/plugins/I18nSplitPlugin/index.js +57 -57
  45. package/lib/plugins/{UglifyCSSPlugin.js → MinifyPlugin.js} +3 -3
  46. package/lib/plugins/ResourceHintsPlugin.js +17 -17
  47. package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +6 -6
  48. package/lib/plugins/RtlSplitPlugin/RtrSplit.md +30 -30
  49. package/lib/plugins/SelectorPlugin.js +64 -40
  50. package/lib/plugins/ServiceWorkerPlugin.js +9 -9
  51. package/lib/plugins/TPHashMappingPlugin.js +4 -4
  52. package/lib/plugins/VariableConversionCollector.js +94 -84
  53. package/lib/plugins/index.js +7 -7
  54. package/lib/plugins/utils/classHandling.js +20 -0
  55. package/lib/plugins/utils/fileHandling.js +107 -0
  56. package/lib/plugins/utils/tests/fileHandling.test.js +30 -0
  57. package/lib/postcss-plugins/EmptyPlugin.js +8 -0
  58. package/lib/postcss-plugins/ExcludePlugin.js +1 -1
  59. package/lib/postcss-plugins/RTLSplitPlugin.js +10 -10
  60. package/lib/postcss-plugins/ValueReplacer.js +5 -14
  61. package/lib/postcss-plugins/__test__/test1Input.css +38 -38
  62. package/lib/postcss-plugins/__test__/test1Output.css +38 -38
  63. package/lib/postcss-plugins/hoverActivePlugin.js +3 -3
  64. package/lib/postcss-plugins/variableModificationPlugin/index.js +1 -19
  65. package/lib/schemas/index.js +31 -3
  66. package/lib/servers/server.js +2 -2
  67. package/lib/sh/pre-commit.sh +34 -34
  68. package/lib/sh/reportPublish.sh +45 -45
  69. package/lib/utils/buildstats.html +148 -148
  70. package/lib/utils/cssClassNameGenerate.js +40 -13
  71. package/lib/utils/getOptions.js +9 -0
  72. package/lib/utils/resultSchema.json +73 -73
  73. package/lib/utils/variableConvertor.js +159 -0
  74. package/npm8.md +9 -9
  75. package/{npm-shrinkwrap.json → package-lock.json} +14412 -14407
  76. package/package.json +121 -121
  77. package/postpublish.js +8 -8
  78. package/templates/app/.eslintrc.js +140 -140
  79. package/templates/app/README.md +12 -12
  80. package/templates/app/app/index.html +24 -24
  81. package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
  82. package/templates/app/app/properties/i18nkeys.json +3 -3
  83. package/templates/app/docs/all.html +69 -69
  84. package/templates/app/mockapi/index.js +18 -18
  85. package/templates/app/package.json +37 -37
  86. package/templates/app/src/actions/SampleActions/index.js +37 -37
  87. package/templates/app/src/actions/index.js +65 -65
  88. package/templates/app/src/appUrls.js +19 -19
  89. package/templates/app/src/components/Alert/Alert.js +134 -134
  90. package/templates/app/src/components/Alert/Alert.module.css +79 -79
  91. package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -37
  92. package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -84
  93. package/templates/app/src/components/Sample/Sample.module.css +11 -11
  94. package/templates/app/src/components/Sample/SampleList.js +61 -61
  95. package/templates/app/src/components/Slider/Slider.css +41 -41
  96. package/templates/app/src/components/Slider/Slider.js +55 -55
  97. package/templates/app/src/containers/AlertContainer/index.js +15 -15
  98. package/templates/app/src/containers/AppContainer/index.js +96 -96
  99. package/templates/app/src/containers/AppContainer/index.module.css +27 -27
  100. package/templates/app/src/containers/CustomMatch/index.js +65 -65
  101. package/templates/app/src/containers/DevTools/index.js +10 -10
  102. package/templates/app/src/containers/Header/index.js +67 -67
  103. package/templates/app/src/containers/Header/index.module.css +43 -43
  104. package/templates/app/src/containers/Redirect/index.js +63 -63
  105. package/templates/app/src/containers/Redirector/index.js +47 -47
  106. package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -42
  107. package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -3
  108. package/templates/app/src/historyChange.js +5 -5
  109. package/templates/app/src/index.html +10 -10
  110. package/templates/app/src/index.js +24 -24
  111. package/templates/app/src/middleware/PromiseMiddleware.js +59 -59
  112. package/templates/app/src/reducers/alertData.js +11 -11
  113. package/templates/app/src/reducers/index.js +6 -6
  114. package/templates/app/src/reducers/samples.js +19 -19
  115. package/templates/app/src/store/configureStore.dev.js +51 -51
  116. package/templates/app/src/store/configureStore.js +5 -5
  117. package/templates/app/src/store/configureStore.prod.js +26 -26
  118. package/templates/app/src/util/Common.js +5 -5
  119. package/templates/app/src/util/RequestAPI.js +132 -132
  120. package/templates/docs/all.html +249 -249
  121. package/templates/docs/component.html +178 -178
  122. package/templates/docs/components.html +221 -221
  123. package/templates/docs/css/b.min.css +6 -6
  124. package/templates/docs/css/component.css +42 -42
  125. package/templates/docs/css/componentTest.css +6 -6
  126. package/templates/docs/css/hopscotch.css +585 -585
  127. package/templates/docs/css/style.css +1022 -1022
  128. package/templates/docs/impactReportTemplate.html +154 -154
  129. package/templates/docs/index.html +1501 -1501
  130. package/templates/docs/js/active-line.js +72 -72
  131. package/templates/docs/js/b.min.js +7 -7
  132. package/templates/docs/js/codemirror.js +9680 -9680
  133. package/templates/docs/js/designTokens.js +334 -334
  134. package/templates/docs/js/j.min.js +4 -4
  135. package/templates/docs/js/javascript.js +874 -874
  136. package/templates/docs/js/matchbrackets.js +145 -145
  137. package/lib/plugins/composeCommonPlugin.js +0 -30
  138. package/lib/postcss-plugins/variableModifier.js +0 -210
@@ -37,11 +37,11 @@ function selectorMinifySameDir(selector, direction) {
37
37
  const regex = getRegex(direction);
38
38
  return selector.replace(regex, '').trim();
39
39
  }
40
- /**
41
- * this funtion will remove given rule,
42
- * if given selector and it's previous sibiling rule selector are same
43
- * current rule properties will move to previous sibiling rule.
44
- * @param {Rule} rule current rule
40
+ /**
41
+ * this funtion will remove given rule,
42
+ * if given selector and it's previous sibiling rule selector are same
43
+ * current rule properties will move to previous sibiling rule.
44
+ * @param {Rule} rule current rule
45
45
  */
46
46
 
47
47
 
@@ -56,11 +56,11 @@ function mergeIfSameSelector(rule) {
56
56
  rule.remove();
57
57
  }
58
58
  }
59
- /**
60
- * this funtion will remove given rule,
61
- * if given selector and it's previous sibiling rule selector are same
62
- * current rule properties will move to previous sibiling rule.
63
- * @param {Rule} rule current rule
59
+ /**
60
+ * this funtion will remove given rule,
61
+ * if given selector and it's previous sibiling rule selector are same
62
+ * current rule properties will move to previous sibiling rule.
63
+ * @param {Rule} rule current rule
64
64
  */
65
65
 
66
66
 
@@ -18,27 +18,18 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
18
18
  // }
19
19
  // };
20
20
  // });
21
- // export default
21
+ // export default
22
22
  module.exports = _postcss.default.plugin('postcss-value-replacer', (valueReplacer = {}) => // Work with options here
23
23
  root => {
24
24
  root.walkDecls(decl => {
25
25
  valueReplacer.forEach(obj => {
26
26
  if (obj.props.indexOf(decl.prop) !== -1) {
27
- const ks = Object.keys(obj.values).sort((a, b) => b.length - a.length);
27
+ let ks = Object.keys(obj.values).sort((a, b) => b.length - a.length);
28
28
  ks.forEach(k => {
29
29
  decl.value = decl.value.replace(k, obj.values[k]);
30
30
  }); //decl.value = obj.values[decl.value];
31
31
  }
32
- }); // Transform CSS AST here
33
- }); // root.walkDecls(decl => {
34
- // valueReplacer.forEach(obj => {
35
- // if (
36
- // obj.props.indexOf(decl.prop) !== -1 &&
37
- // obj.values[decl.value] !== undefined
38
- // ) {
39
- // decl.value = obj.values[decl.value];
40
- // }
41
- // });
42
- // // Transform CSS AST here
43
- // });
32
+ }); //console.log({root, roots:root+""}, root+"")
33
+ // Transform CSS AST here
34
+ });
44
35
  });
@@ -1,39 +1,39 @@
1
- /*Hover_active:ignore*/
2
- g,a:hover{
3
- color : red
4
- }
5
- /*Hover:ignore*/
6
- h:hover{
7
- background : yellow
8
- }
9
-
10
- /* Hover_active:ignore */
11
- g,d+e:hover{
12
- color : black
13
- }
14
-
15
- g,d e:hover{
16
- color : black
17
- }
18
-
19
- @media screen and (max-width:61.25em){
20
- /* Hover_active:ignore */
21
- a,b,a:hover, b:hover{
22
- background-color : blue
23
- }
24
- a + b,a:hover + b:hover{
25
- background-color : blue
26
- }
27
- a b:hover{
28
- background-color : blue
29
- }
30
-
31
- .cc:hover {
32
- color: red;
33
- }
34
-
35
- c:hover{
36
- color : red
37
- }
38
-
1
+ /*Hover_active:ignore*/
2
+ g,a:hover{
3
+ color : red
4
+ }
5
+ /*Hover:ignore*/
6
+ h:hover{
7
+ background : yellow
8
+ }
9
+
10
+ /* Hover_active:ignore */
11
+ g,d+e:hover{
12
+ color : black
13
+ }
14
+
15
+ g,d e:hover{
16
+ color : black
17
+ }
18
+
19
+ @media screen and (max-width:61.25em){
20
+ /* Hover_active:ignore */
21
+ a,b,a:hover, b:hover{
22
+ background-color : blue
23
+ }
24
+ a + b,a:hover + b:hover{
25
+ background-color : blue
26
+ }
27
+ a b:hover{
28
+ background-color : blue
29
+ }
30
+
31
+ .cc:hover {
32
+ color: red;
33
+ }
34
+
35
+ c:hover{
36
+ color : red
37
+ }
38
+
39
39
  }
@@ -1,39 +1,39 @@
1
- /*Hover_active:ignore*/
2
- g,a:hover{
3
- color : red
4
- }
5
- /*Hover:ignore*/
6
- h:hover{
7
- background : yellow
8
- }
9
-
10
- /* Hover_active:ignore */
11
- g,d+e:hover{
12
- color : black
13
- }
14
-
15
- g,d e:hover{
16
- color : black
17
- }
18
-
19
- @media screen and (max-width:61.25em){
20
- /* Hover_active:ignore */
21
- a,b,a:hover, b:hover{
22
- background-color : blue
23
- }
24
- a + b,a:hover + b:hover{
25
- background-color : blue
26
- }
27
- a b:hover{
28
- background-color : blue
29
- }
30
-
31
- .cc:hover {
32
- color: red;
33
- }
34
-
35
- c:hover{
36
- color : red
37
- }
38
-
1
+ /*Hover_active:ignore*/
2
+ g,a:hover{
3
+ color : red
4
+ }
5
+ /*Hover:ignore*/
6
+ h:hover{
7
+ background : yellow
8
+ }
9
+
10
+ /* Hover_active:ignore */
11
+ g,d+e:hover{
12
+ color : black
13
+ }
14
+
15
+ g,d e:hover{
16
+ color : black
17
+ }
18
+
19
+ @media screen and (max-width:61.25em){
20
+ /* Hover_active:ignore */
21
+ a,b,a:hover, b:hover{
22
+ background-color : blue
23
+ }
24
+ a + b,a:hover + b:hover{
25
+ background-color : blue
26
+ }
27
+ a b:hover{
28
+ background-color : blue
29
+ }
30
+
31
+ .cc:hover {
32
+ color: red;
33
+ }
34
+
35
+ c:hover{
36
+ color : red
37
+ }
38
+
39
39
  }
@@ -4,9 +4,9 @@ var _postcss = _interopRequireDefault(require("postcss"));
4
4
 
5
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
6
 
7
- /**
8
- * we have give support for ignore(exclude) comments
9
- * These are the comments' keyword
7
+ /**
8
+ * we have give support for ignore(exclude) comments
9
+ * These are the comments' keyword
10
10
  */
11
11
  const hoverIgnoreQuery = 'Hover:ignore',
12
12
  activeIgnoreQuery = 'Active:ignore',
@@ -127,25 +127,7 @@ const singleConvertor = (value, changeVal, details, range) => {
127
127
  path: path
128
128
  };
129
129
  errHandler.errorTable.push(errObj);
130
- errHandler.errorFunction(errObj); // errorFunction(
131
- // {
132
- // decl,
133
- // type: 'RANGE_ERROR',
134
- // filename,
135
- // message: `value (${value}) (${typeof value}) not within range (${
136
- // range.start
137
- // },${range.end})\r`,
138
- // path: path
139
- // },
140
- // 'RANGE_ERROR'
141
- // );
142
- // }
143
- // addError(` prop: ${decl.prop} ,\n value : ${decl.value} ,\n filename : ${filename} ,\n filepath : ${path} ,\n line : ${decl.source.start.line} ,\n message : value (${value}) not within range (${range.start},${range.end})\r`)
144
- // return value;
145
- // } else {
146
- // console.log('++++++++++++++++++++++rect val!', value);
147
- // }
148
-
130
+ errHandler.errorFunction(errObj);
149
131
  return;
150
132
  };
151
133
 
@@ -229,12 +229,28 @@ var _default = {
229
229
  cli: 'enable_smaphook'
230
230
  },
231
231
  plugins: {
232
+ valueReplacer: false,
233
+ selectorReplace: false,
232
234
  hasRTL: false,
233
235
  hoverActive: false,
234
236
  combinerMediaQuery: false,
235
237
  cssVariableReplacement: false,
236
- selectorWeight: false
238
+ selectorWeight: false,
239
+ minifier: false,
240
+ composeMinification: false
237
241
  },
242
+ patterns: {
243
+ valueReplacer: [],
244
+ selectorReplace: [],
245
+ hoverActive: [],
246
+ combinerMediaQuery: [],
247
+ hasRTL: [],
248
+ cssVariableReplacement: [],
249
+ selectorWeight: [],
250
+ cssUniqueness: [],
251
+ composeMinification: []
252
+ },
253
+ patternsRootDir: '',
238
254
  exclude: {
239
255
  rtl: [],
240
256
  hoverActive: [],
@@ -326,11 +342,23 @@ var _default = {
326
342
  hasRTL: false,
327
343
  rtlExclude: [],
328
344
  plugins: {
329
- hasRTL: false,
345
+ rtl: false,
330
346
  hoverActive: false,
331
347
  combinerMediaQuery: false,
332
348
  cssVariableReplacement: false,
333
- selectorWeight: false
349
+ selectorWeight: false,
350
+ minifier: false,
351
+ composeMinification: false
352
+ },
353
+ patternsRootDir: '',
354
+ patterns: {
355
+ valueReplacer: [],
356
+ selectorReplace: [],
357
+ hoverActive: [],
358
+ combinerMediaQuery: [],
359
+ hasRTL: [],
360
+ cssVariableReplacement: [],
361
+ selectorWeight: []
334
362
  },
335
363
  exclude: {
336
364
  rtl: [],
@@ -202,8 +202,8 @@ if (httpsOptions) {
202
202
  port: http2Port
203
203
  }, 'htt' + 'ps')}${contextURL}/`, 'http2 server');
204
204
  });
205
- } else {
206
- (0, _utils.log)("Your node version didn't adopted http2 support. Kindly update that to 8 LTS or above you can engage the http2");
205
+ } else if (httpsOptions) {
206
+ (0, _utils.log)('Your node version didn\'t adopted http2 support. Kindly update that to 8 LTS or above you can engage the http2');
207
207
  }
208
208
  }
209
209
 
@@ -1,34 +1,34 @@
1
- #!/bin/sh
2
-
3
- STAGED_FILES=$(git diff --cached --name-only --diff-filter=ACM | grep -E "\.(js)$") # Get staged files
4
-
5
- CURRENT_BRANCH=$(git branch | sed -n -e 's/^\* \(.*\)/\1/p') # Get branch name
6
-
7
- echo "Branch Name - $CURRENT_BRANCH"
8
-
9
- if [[ "$STAGED_FILES" = "" ]]; then
10
- exit 0
11
- fi
12
-
13
- IS_FAILED=false
14
- FILES=""
15
-
16
- for FILE in $STAGED_FILES # Add files with space separation
17
- do
18
- FILES+="$FILE "
19
- done
20
-
21
- npm run lint --prefix ${PREFIX_PATH} $FILES # Run ESLint
22
-
23
- if [[ "$?" != 0 ]]; then
24
- IS_FAILED=true
25
- fi
26
-
27
- if $IS_FAILED; then
28
- echo "\033[41mCOMMIT FAILED:\033[0m Your commit contains files that should pass ESLint but do not. Please fix the ESLint errors and try again.\n"
29
- exit 1
30
- else
31
- echo "\033[42mCOMMIT SUCCEEDED\033[0m\n"
32
- fi
33
-
34
- exit $?
1
+ #!/bin/sh
2
+
3
+ STAGED_FILES=$(git diff --cached --name-only --diff-filter=ACM | grep -E "\.(js)$") # Get staged files
4
+
5
+ CURRENT_BRANCH=$(git branch | sed -n -e 's/^\* \(.*\)/\1/p') # Get branch name
6
+
7
+ echo "Branch Name - $CURRENT_BRANCH"
8
+
9
+ if [[ "$STAGED_FILES" = "" ]]; then
10
+ exit 0
11
+ fi
12
+
13
+ IS_FAILED=false
14
+ FILES=""
15
+
16
+ for FILE in $STAGED_FILES # Add files with space separation
17
+ do
18
+ FILES+="$FILE "
19
+ done
20
+
21
+ npm run lint --prefix ${PREFIX_PATH} $FILES # Run ESLint
22
+
23
+ if [[ "$?" != 0 ]]; then
24
+ IS_FAILED=true
25
+ fi
26
+
27
+ if $IS_FAILED; then
28
+ echo "\033[41mCOMMIT FAILED:\033[0m Your commit contains files that should pass ESLint but do not. Please fix the ESLint errors and try again.\n"
29
+ exit 1
30
+ else
31
+ echo "\033[42mCOMMIT SUCCEEDED\033[0m\n"
32
+ fi
33
+
34
+ exit $?
@@ -1,45 +1,45 @@
1
- #!/bin/bash
2
- branchName=$2
3
- url=$1
4
- zipUrl=$3
5
- unique=$(date +"%d_%m_%y_Time_%H_%M_%S")
6
- publishFolder=$branchName"_"$unique
7
-
8
- rm -rf ./reports
9
- rm -rf ./scrTemplate
10
- rm -rf ./errTemplate
11
- rm -rf ./css
12
- rm -rf ./js
13
- rm -rf ./index.html
14
-
15
- curl $zipUrl | tar xz
16
-
17
- cp -rf ./reports/css ./css
18
- cp -rf ./reports/js ./js
19
- cp -rf ./reports/index.html ./index.html
20
- if [ -d "./screenShots" ] ; then
21
- cp -rf ./scrTemplate/* ./screenShots/
22
- else
23
- mkdir ./screenShots
24
- cp -rf ./scrTemplate/* ./screenShots/
25
- fi
26
-
27
- [ ! -f "./result.json" ] && touch result.json && cp -rf ./errTemplate/* ./result.json
28
- [ ! -d "./commitCoverage" ] && mkdir commitCoverage && cp -rf ./errTemplate/* ./commitCoverage/
29
- [ ! -d "./unittest" ] && mkdir unittest && cp -rf ./errTemplate/* ./unittest/
30
- [ ! -d "./coverageTest" ] && mkdir coverageTest && cp -rf ./errTemplate/* ./coverageTest/
31
- [ ! -d "./coverage" ] && mkdir coverage && cp -rf ./errTemplate/* ./coverage/
32
-
33
- tar -czvf $publishFolder.tar.gz coverage screenShots unittest coverageTest commitCoverage ./css ./js ./index.html ./result.json
34
-
35
- curl -i -F name=file -F file=@$publishFolder.tar.gz $url"/cgi-bin/upload.py"
36
- replace=$publishFolder
37
- reportUrl=$url"/"$replace
38
- subject="Client Report - React - $publishFolder"
39
- msg="<p><b>Report URL - <a href='$reportUrl'>Link</a></b></p>
40
- <p><b>Report Branchname - $branchName</b></p>
41
- <p><b>Report Unique ID - $unique</b></p>
42
- <p><b>Report Developer - $6</b></p>"
43
- #node mailSender.js <from> <pass> <to> <subject> <text>
44
- BASEDIR=$(dirname "$0")
45
- node $BASEDIR"/../utils/mailSender" $4 $5 $6 "$subject" "$msg" $7 $8 "$reportUrl"
1
+ #!/bin/bash
2
+ branchName=$2
3
+ url=$1
4
+ zipUrl=$3
5
+ unique=$(date +"%d_%m_%y_Time_%H_%M_%S")
6
+ publishFolder=$branchName"_"$unique
7
+
8
+ rm -rf ./reports
9
+ rm -rf ./scrTemplate
10
+ rm -rf ./errTemplate
11
+ rm -rf ./css
12
+ rm -rf ./js
13
+ rm -rf ./index.html
14
+
15
+ curl $zipUrl | tar xz
16
+
17
+ cp -rf ./reports/css ./css
18
+ cp -rf ./reports/js ./js
19
+ cp -rf ./reports/index.html ./index.html
20
+ if [ -d "./screenShots" ] ; then
21
+ cp -rf ./scrTemplate/* ./screenShots/
22
+ else
23
+ mkdir ./screenShots
24
+ cp -rf ./scrTemplate/* ./screenShots/
25
+ fi
26
+
27
+ [ ! -f "./result.json" ] && touch result.json && cp -rf ./errTemplate/* ./result.json
28
+ [ ! -d "./commitCoverage" ] && mkdir commitCoverage && cp -rf ./errTemplate/* ./commitCoverage/
29
+ [ ! -d "./unittest" ] && mkdir unittest && cp -rf ./errTemplate/* ./unittest/
30
+ [ ! -d "./coverageTest" ] && mkdir coverageTest && cp -rf ./errTemplate/* ./coverageTest/
31
+ [ ! -d "./coverage" ] && mkdir coverage && cp -rf ./errTemplate/* ./coverage/
32
+
33
+ tar -czvf $publishFolder.tar.gz coverage screenShots unittest coverageTest commitCoverage ./css ./js ./index.html ./result.json
34
+
35
+ curl -i -F name=file -F file=@$publishFolder.tar.gz $url"/cgi-bin/upload.py"
36
+ replace=$publishFolder
37
+ reportUrl=$url"/"$replace
38
+ subject="Client Report - React - $publishFolder"
39
+ msg="<p><b>Report URL - <a href='$reportUrl'>Link</a></b></p>
40
+ <p><b>Report Branchname - $branchName</b></p>
41
+ <p><b>Report Unique ID - $unique</b></p>
42
+ <p><b>Report Developer - $6</b></p>"
43
+ #node mailSender.js <from> <pass> <to> <subject> <text>
44
+ BASEDIR=$(dirname "$0")
45
+ node $BASEDIR"/../utils/mailSender" $4 $5 $6 "$subject" "$msg" $7 $8 "$reportUrl"