@zohodesk/react-cli 0.0.1-exp.175.0 → 0.0.1-exp.176.1

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 (127) hide show
  1. package/.eslintignore +7 -7
  2. package/.eslintrc.js +180 -180
  3. package/.prettierrc +6 -6
  4. package/{CHANGELOG-fz.md → CHANGELOG.md} +0 -0
  5. package/README.md +1025 -27
  6. package/bin/cli.js +482 -482
  7. package/cert/Tsicsezwild-22-23.crt +37 -0
  8. package/cert/Tsicsezwild-22-23.key +27 -0
  9. package/docs/CustomChunks.md +26 -26
  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 +6 -0
  14. package/docs/TODOS.md +10 -10
  15. package/docs/ValueReplacer.md +60 -60
  16. package/docs/VariableConversion.md +719 -678
  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/configs/webpack.css.umd.config.js +4 -4
  21. package/lib/configs/webpack.dev.config.js +34 -6
  22. package/lib/configs/webpack.docs.config.js +24 -5
  23. package/lib/configs/webpack.impact.config.js +20 -6
  24. package/lib/configs/webpack.prod.config.js +35 -10
  25. package/lib/loaderUtils/configsAssetsLoaders.js +33 -33
  26. package/lib/loaderUtils/getCSSLoaders.js +27 -19
  27. package/lib/loaderUtils/windowsModification.js +11 -0
  28. package/lib/loaders/workerLoader.js +9 -9
  29. package/lib/pluginUtils/getDevPlugins.js +42 -20
  30. package/lib/pluginUtils/getProdPlugins.js +45 -24
  31. package/lib/plugins/EFCPlugin.md +6 -6
  32. package/lib/plugins/I18NInjectIntoIndexPlugin.js +4 -4
  33. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +38 -38
  34. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +30 -30
  35. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +8 -8
  36. package/lib/plugins/I18nSplitPlugin/I18nSplit.md +95 -95
  37. package/lib/plugins/I18nSplitPlugin/README.md +25 -25
  38. package/lib/plugins/I18nSplitPlugin/index.js +57 -57
  39. package/lib/plugins/ResourceHintsPlugin.js +17 -17
  40. package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +6 -6
  41. package/lib/plugins/RtlSplitPlugin/RtrSplit.md +30 -30
  42. package/lib/plugins/SelectorPlugin.js +97 -0
  43. package/lib/plugins/ServiceWorkerPlugin.js +9 -9
  44. package/lib/plugins/TPHashMappingPlugin.js +4 -4
  45. package/lib/plugins/VariableConversionCollector.js +322 -0
  46. package/lib/plugins/composeCommonPlugin.js +30 -0
  47. package/lib/postcss-plugins/RTLSplitPlugin.js +10 -10
  48. package/lib/postcss-plugins/__test__/test1Input.css +38 -38
  49. package/lib/postcss-plugins/__test__/test1Output.css +38 -38
  50. package/lib/postcss-plugins/hoverActivePlugin.js +3 -3
  51. package/lib/postcss-plugins/variableModificationPlugin/ErrorHandler.js +37 -14
  52. package/lib/postcss-plugins/variableModificationPlugin/index.js +203 -144
  53. package/lib/schemas/index.js +18 -12
  54. package/lib/servers/docsServerCore.js +12 -13
  55. package/lib/servers/httpsOptions.js +9 -40
  56. package/lib/servers/nowatchserver.js +11 -12
  57. package/lib/servers/server.js +13 -14
  58. package/lib/sh/pre-commit.sh +34 -34
  59. package/lib/sh/reportPublish.sh +45 -45
  60. package/lib/utils/buildstats.html +148 -148
  61. package/lib/utils/getOptions.js +13 -13
  62. package/lib/utils/resultSchema.json +73 -73
  63. package/npm8.md +9 -9
  64. package/package.json +146 -119
  65. package/postpublish.js +6 -8
  66. package/templates/app/.eslintrc.js +140 -140
  67. package/templates/app/README.md +12 -12
  68. package/templates/app/app/index.html +24 -24
  69. package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
  70. package/templates/app/app/properties/i18nkeys.json +3 -3
  71. package/templates/app/docs/all.html +69 -69
  72. package/templates/app/mockapi/index.js +18 -18
  73. package/templates/app/package.json +37 -37
  74. package/templates/app/src/actions/SampleActions/index.js +37 -37
  75. package/templates/app/src/actions/index.js +65 -65
  76. package/templates/app/src/appUrls.js +19 -19
  77. package/templates/app/src/components/Alert/Alert.js +134 -134
  78. package/templates/app/src/components/Alert/Alert.module.css +79 -79
  79. package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -37
  80. package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -84
  81. package/templates/app/src/components/Sample/Sample.module.css +11 -11
  82. package/templates/app/src/components/Sample/SampleList.js +61 -61
  83. package/templates/app/src/components/Slider/Slider.css +41 -41
  84. package/templates/app/src/components/Slider/Slider.js +55 -55
  85. package/templates/app/src/containers/AlertContainer/index.js +15 -15
  86. package/templates/app/src/containers/AppContainer/index.js +96 -96
  87. package/templates/app/src/containers/AppContainer/index.module.css +27 -27
  88. package/templates/app/src/containers/CustomMatch/index.js +65 -65
  89. package/templates/app/src/containers/DevTools/index.js +10 -10
  90. package/templates/app/src/containers/Header/index.js +67 -67
  91. package/templates/app/src/containers/Header/index.module.css +43 -43
  92. package/templates/app/src/containers/Redirect/index.js +63 -63
  93. package/templates/app/src/containers/Redirector/index.js +47 -47
  94. package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -42
  95. package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -3
  96. package/templates/app/src/historyChange.js +5 -5
  97. package/templates/app/src/index.html +10 -10
  98. package/templates/app/src/index.js +24 -24
  99. package/templates/app/src/middleware/PromiseMiddleware.js +59 -59
  100. package/templates/app/src/reducers/alertData.js +11 -11
  101. package/templates/app/src/reducers/index.js +6 -6
  102. package/templates/app/src/reducers/samples.js +19 -19
  103. package/templates/app/src/store/configureStore.dev.js +51 -51
  104. package/templates/app/src/store/configureStore.js +5 -5
  105. package/templates/app/src/store/configureStore.prod.js +26 -26
  106. package/templates/app/src/util/Common.js +5 -5
  107. package/templates/app/src/util/RequestAPI.js +132 -132
  108. package/templates/docs/all.html +249 -249
  109. package/templates/docs/component.html +178 -178
  110. package/templates/docs/components.html +221 -221
  111. package/templates/docs/css/b.min.css +6 -6
  112. package/templates/docs/css/component.css +42 -42
  113. package/templates/docs/css/componentTest.css +6 -6
  114. package/templates/docs/css/hopscotch.css +585 -585
  115. package/templates/docs/css/style.css +1022 -1022
  116. package/templates/docs/impactReportTemplate.html +154 -154
  117. package/templates/docs/index.html +1501 -1501
  118. package/templates/docs/js/active-line.js +72 -72
  119. package/templates/docs/js/b.min.js +7 -7
  120. package/templates/docs/js/codemirror.js +9680 -9680
  121. package/templates/docs/js/designTokens.js +334 -334
  122. package/templates/docs/js/j.min.js +4 -4
  123. package/templates/docs/js/javascript.js +874 -874
  124. package/templates/docs/js/matchbrackets.js +145 -145
  125. package/Changelog.md +0 -1019
  126. package/lib/configs/resolvers.js +0 -38
  127. package/lib/constants.js +0 -31
@@ -3,47 +3,16 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.httpsOptions = httpsOptions;
7
- exports.httpsOptionsWithUserFriendlyError = httpsOptionsWithUserFriendlyError;
6
+ exports.httpsOptions = void 0;
8
7
 
9
- // import fs from 'fs';
10
- // import path from 'path';
11
- // export const httpsOptions = {
12
- // key: fs.readFileSync(path.join(__dirname, './cert/Tsicsezwild-22-23.key')),
13
- // cert: fs.readFileSync(path.join(__dirname, './cert/Tsicsezwild-22-23.crt'))
14
- // };
15
- function httpsOptions(options) {
16
- const {
17
- httpsCerts
18
- } = options.app.server;
8
+ var _fs = _interopRequireDefault(require("fs"));
19
9
 
20
- const certificate = require(require.resolve(httpsCerts, {
21
- paths: [process.cwd()]
22
- })); // TODO: in future we may do some version based check. certificate.version
10
+ var _path = _interopRequireDefault(require("path"));
23
11
 
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
13
 
25
- return certificate.httpsOptions;
26
- }
27
-
28
- function httpsOptionsWithUserFriendlyError(options) {
29
- const {
30
- httpsCerts
31
- } = options.app.server;
32
-
33
- if (typeof httpsCerts === 'string') {
34
- try {
35
- const certificate = httpsOptions(options);
36
- return certificate;
37
- } catch (error) {
38
- if (error.message.indexOf('Cannot find module') !== -1) {
39
- console.error(`You have given react-cli.app.server.httpsCerts as "${httpsCerts}". \n But it seems that file path have some problem.\n we are unable to locate "${httpsCerts}" in "${process.cwd()}"`);
40
- } else {
41
- console.error(error);
42
- }
43
-
44
- process.exit(0);
45
- }
46
- } else {
47
- return null;
48
- }
49
- }
14
+ const httpsOptions = {
15
+ key: _fs.default.readFileSync(_path.default.join(__dirname, '../../cert/Tsicsezwild-22-23.key')),
16
+ cert: _fs.default.readFileSync(_path.default.join(__dirname, '../../cert/Tsicsezwild-22-23.crt'))
17
+ };
18
+ exports.httpsOptions = httpsOptions;
@@ -19,16 +19,15 @@ var _devBuild = require("./devBuild");
19
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
20
 
21
21
  // import webpack from 'webpack';
22
- const options = (0, _utils.getOptions)(); // let args = process.argv.slice(3);
22
+ let options = (0, _utils.getOptions)(); // let args = process.argv.slice(3);
23
23
 
24
- const httpsOptions = (0, _httpsOptions.httpsOptionsWithUserFriendlyError)(options);
25
- const {
24
+ let {
26
25
  app: {
27
26
  context,
28
27
  server
29
28
  }
30
29
  } = options;
31
- const {
30
+ let {
32
31
  host,
33
32
  port,
34
33
  domain,
@@ -36,9 +35,9 @@ const {
36
35
  hasMock,
37
36
  mockPort
38
37
  } = server;
39
- const isCompatableHttp2 = Number(process.version.slice(1).split('.')[0]) >= 8;
40
- const contextURL = disableContextURL ? '' : `/${context}`;
41
- const serverUrl = (0, _utils.getServerURL)(server, 'htt' + 'ps');
38
+ let isCompatableHttp2 = Number(process.version.slice(1).split('.')[0]) >= 8;
39
+ let contextURL = disableContextURL ? '' : `/${context}`;
40
+ let serverUrl = (0, _utils.getServerURL)(server, 'htt' + 'ps');
42
41
  const {
43
42
  zipname,
44
43
  cssSelectorZipPath,
@@ -84,7 +83,7 @@ app.use('/wms/*', (req, res) => {
84
83
  res.sendFile(_path.default.join(__dirname, '..', '..', 'templates', 'wms', 'index.html'));
85
84
  });
86
85
 
87
- const httpsServer = _https.default.createServer(httpsOptions, app);
86
+ const httpsServer = _https.default.createServer(_httpsOptions.httpsOptions, app);
88
87
 
89
88
  const wss = new _ws.default.Server({
90
89
  server: httpsServer
@@ -102,7 +101,7 @@ wss.on('connection', ws => {
102
101
  });
103
102
  app.post('/wmsmockapi', (req, res) => {
104
103
  wsPool.forEach(ws => {
105
- const {
104
+ let {
106
105
  body
107
106
  } = req;
108
107
 
@@ -162,7 +161,7 @@ httpsServer.listen(port, err => {
162
161
  if (isCompatableHttp2) {
163
162
  const http2 = require('http2');
164
163
 
165
- const http2Server = http2.createSecureServer(httpsOptions); // eslint-disable-next-line no-unused-vars
164
+ const http2Server = http2.createSecureServer(_httpsOptions.httpsOptions); // eslint-disable-next-line no-unused-vars
166
165
 
167
166
  http2Server.on('stream', (stream, headers) => {
168
167
  stream.respond({
@@ -171,7 +170,7 @@ if (isCompatableHttp2) {
171
170
  });
172
171
  stream.end('<h1>Hello World! <br>Working with http2</h1>');
173
172
  });
174
- const http2Port = Number(port) + 1;
173
+ let http2Port = Number(port) + 1;
175
174
  http2Server.listen(http2Port, err => {
176
175
  if (err) {
177
176
  throw err;
@@ -187,7 +186,7 @@ if (isCompatableHttp2) {
187
186
  (0, _utils.log)('Your node version didn\'t adopted http2 support. Kindly update that to 8 LTS or above you can engage the http2');
188
187
  }
189
188
 
190
- const httpPort = Number(port) + (isCompatableHttp2 ? 2 : 1);
189
+ let httpPort = Number(port) + (isCompatableHttp2 ? 2 : 1);
191
190
  app.listen(httpPort, err => {
192
191
  if (err) {
193
192
  throw err;
@@ -25,15 +25,14 @@ var _httpsOptions = require("./httpsOptions");
25
25
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
26
 
27
27
  // import fs from 'fs';
28
- const options = (0, _utils.getOptions)();
29
- const httpsOptions = (0, _httpsOptions.httpsOptionsWithUserFriendlyError)(options);
30
- const {
28
+ let options = (0, _utils.getOptions)();
29
+ let {
31
30
  app: {
32
31
  context,
33
32
  server
34
33
  }
35
34
  } = options;
36
- const {
35
+ let {
37
36
  host,
38
37
  port,
39
38
  domain,
@@ -42,9 +41,9 @@ const {
42
41
  hasMock,
43
42
  mockPort
44
43
  } = server;
45
- const isCompatableHttp2 = Number(process.version.substr(1).split('.')[0]) >= 8;
46
- const contextURL = disableContextURL ? '' : `/${context}`;
47
- const serverUrl = (0, _utils.getServerURL)(server, 'htt' + 'ps');
44
+ let isCompatableHttp2 = Number(process.version.substr(1).split('.')[0]) >= 8;
45
+ let contextURL = disableContextURL ? '' : `/${context}`;
46
+ let serverUrl = (0, _utils.getServerURL)(server, 'htt' + 'ps');
48
47
  const {
49
48
  writeToDisk
50
49
  } = options.impactService;
@@ -73,8 +72,8 @@ if (mode === 'prod') {
73
72
  } // console.log({ contextURL });
74
73
 
75
74
 
76
- const compiler = (0, _webpack.default)(config);
77
- const webpackServerOptions = {
75
+ let compiler = (0, _webpack.default)(config);
76
+ let webpackServerOptions = {
78
77
  logLevel: 'error',
79
78
  publicPath: mode === 'prod' ? contextURL === '' ? `${serverUrl}/${contextURL}` : serverUrl + contextURL : config.output.publicPath,
80
79
  headers: options.app.enableDevCache ? {
@@ -115,7 +114,7 @@ app.use('/wms/*', (req, res) => {
115
114
  res.sendFile(_path.default.join(__dirname, '..', '..', 'templates', 'wms', 'index.html'));
116
115
  });
117
116
 
118
- const httpsServer = _https.default.createServer(httpsOptions, app);
117
+ const httpsServer = _https.default.createServer(_httpsOptions.httpsOptions, app);
119
118
 
120
119
  const wss = new _ws.default.Server({
121
120
  server: httpsServer
@@ -133,7 +132,7 @@ wss.on('connection', ws => {
133
132
  });
134
133
  app.post('/wmsmockapi', (req, res) => {
135
134
  wsPool.forEach(ws => {
136
- const {
135
+ let {
137
136
  body
138
137
  } = req;
139
138
 
@@ -179,7 +178,7 @@ httpsServer.listen(port, err => {
179
178
  if (isCompatableHttp2) {
180
179
  const http2 = require('http2');
181
180
 
182
- const http2Server = http2.createSecureServer(httpsOptions); // eslint-disable-next-line no-unused-vars
181
+ const http2Server = http2.createSecureServer(_httpsOptions.httpsOptions); // eslint-disable-next-line no-unused-vars
183
182
 
184
183
  http2Server.on('stream', (stream, headers) => {
185
184
  stream.respond({
@@ -188,7 +187,7 @@ if (isCompatableHttp2) {
188
187
  });
189
188
  stream.end('<h1>Hello World! <br>Working with http2</h1>');
190
189
  });
191
- const http2Port = Number(port) + 1;
190
+ let http2Port = Number(port) + 1;
192
191
  http2Server.listen(http2Port, err => {
193
192
  if (err) {
194
193
  throw err;
@@ -204,7 +203,7 @@ if (isCompatableHttp2) {
204
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');
205
204
  }
206
205
 
207
- const httpPort = Number(port) + (isCompatableHttp2 ? 2 : 1);
206
+ let httpPort = Number(port) + (isCompatableHttp2 ? 2 : 1);
208
207
  app.listen(httpPort, err => {
209
208
  if (err) {
210
209
  throw err;
@@ -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"