@zohodesk/react-cli 0.0.1-beta.177 → 0.0.1-beta.178

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 (123) hide show
  1. package/.eslintignore +7 -7
  2. package/.eslintrc.js +180 -180
  3. package/.prettierrc +6 -6
  4. package/{CHANGELOG.md → CHANGELOG-fz.md} +0 -0
  5. package/Changelog.md +1019 -0
  6. package/README.md +1137 -1100
  7. package/bin/cli.js +482 -482
  8. package/docs/CustomChunks.md +26 -26
  9. package/docs/DevServerPort.md +39 -0
  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 -6
  14. package/docs/TODOS.md +10 -10
  15. package/docs/ValueReplacer.md +60 -60
  16. package/docs/VariableConversion.md +724 -724
  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/resolvers.js +40 -0
  21. package/lib/configs/webpack.css.umd.config.js +4 -4
  22. package/lib/configs/webpack.dev.config.js +4 -11
  23. package/lib/configs/webpack.docs.config.js +4 -11
  24. package/lib/configs/webpack.impact.config.js +5 -7
  25. package/lib/configs/webpack.prod.config.js +8 -12
  26. package/lib/constants.js +31 -0
  27. package/lib/loaderUtils/configsAssetsLoaders.js +35 -35
  28. package/lib/loaders/workerLoader.js +9 -9
  29. package/lib/pluginUtils/getDevPlugins.js +5 -5
  30. package/lib/pluginUtils/getProdPlugins.js +5 -5
  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/ServiceWorkerPlugin.js +9 -9
  43. package/lib/plugins/TPHashMappingPlugin.js +4 -4
  44. package/lib/plugins/VariableConversionCollector.js +54 -54
  45. package/lib/postcss-plugins/RTLSplitPlugin.js +10 -10
  46. package/lib/postcss-plugins/__test__/test1Input.css +38 -38
  47. package/lib/postcss-plugins/__test__/test1Output.css +38 -38
  48. package/lib/postcss-plugins/hoverActivePlugin.js +3 -3
  49. package/lib/schemas/index.js +8 -0
  50. package/lib/servers/docsServerCore.js +13 -12
  51. package/lib/servers/httpsOptions.js +40 -9
  52. package/lib/servers/nowatchserver.js +12 -11
  53. package/lib/servers/server.js +23 -20
  54. package/lib/sh/pre-commit.sh +34 -34
  55. package/lib/sh/reportPublish.sh +45 -45
  56. package/lib/utils/buildstats.html +148 -148
  57. package/lib/utils/getFileType.js +2 -2
  58. package/lib/utils/getOptions.js +13 -13
  59. package/lib/utils/resultSchema.json +73 -73
  60. package/npm8.md +9 -9
  61. package/package.json +121 -147
  62. package/postpublish.js +8 -6
  63. package/templates/app/.eslintrc.js +140 -140
  64. package/templates/app/README.md +12 -12
  65. package/templates/app/app/index.html +24 -24
  66. package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
  67. package/templates/app/app/properties/i18nkeys.json +3 -3
  68. package/templates/app/docs/all.html +69 -69
  69. package/templates/app/mockapi/index.js +18 -18
  70. package/templates/app/package.json +37 -37
  71. package/templates/app/src/actions/SampleActions/index.js +37 -37
  72. package/templates/app/src/actions/index.js +65 -65
  73. package/templates/app/src/appUrls.js +19 -19
  74. package/templates/app/src/components/Alert/Alert.js +134 -134
  75. package/templates/app/src/components/Alert/Alert.module.css +79 -79
  76. package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -37
  77. package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -84
  78. package/templates/app/src/components/Sample/Sample.module.css +11 -11
  79. package/templates/app/src/components/Sample/SampleList.js +61 -61
  80. package/templates/app/src/components/Slider/Slider.css +41 -41
  81. package/templates/app/src/components/Slider/Slider.js +55 -55
  82. package/templates/app/src/containers/AlertContainer/index.js +15 -15
  83. package/templates/app/src/containers/AppContainer/index.js +96 -96
  84. package/templates/app/src/containers/AppContainer/index.module.css +27 -27
  85. package/templates/app/src/containers/CustomMatch/index.js +65 -65
  86. package/templates/app/src/containers/DevTools/index.js +10 -10
  87. package/templates/app/src/containers/Header/index.js +67 -67
  88. package/templates/app/src/containers/Header/index.module.css +43 -43
  89. package/templates/app/src/containers/Redirect/index.js +63 -63
  90. package/templates/app/src/containers/Redirector/index.js +47 -47
  91. package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -42
  92. package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -3
  93. package/templates/app/src/historyChange.js +5 -5
  94. package/templates/app/src/index.html +10 -10
  95. package/templates/app/src/index.js +24 -24
  96. package/templates/app/src/middleware/PromiseMiddleware.js +59 -59
  97. package/templates/app/src/reducers/alertData.js +11 -11
  98. package/templates/app/src/reducers/index.js +6 -6
  99. package/templates/app/src/reducers/samples.js +19 -19
  100. package/templates/app/src/store/configureStore.dev.js +51 -51
  101. package/templates/app/src/store/configureStore.js +5 -5
  102. package/templates/app/src/store/configureStore.prod.js +26 -26
  103. package/templates/app/src/util/Common.js +5 -5
  104. package/templates/app/src/util/RequestAPI.js +132 -132
  105. package/templates/docs/all.html +249 -249
  106. package/templates/docs/component.html +178 -178
  107. package/templates/docs/components.html +221 -221
  108. package/templates/docs/css/b.min.css +6 -6
  109. package/templates/docs/css/component.css +42 -42
  110. package/templates/docs/css/componentTest.css +6 -6
  111. package/templates/docs/css/hopscotch.css +585 -585
  112. package/templates/docs/css/style.css +1022 -1022
  113. package/templates/docs/impactReportTemplate.html +154 -154
  114. package/templates/docs/index.html +1501 -1501
  115. package/templates/docs/js/active-line.js +72 -72
  116. package/templates/docs/js/b.min.js +7 -7
  117. package/templates/docs/js/codemirror.js +9680 -9680
  118. package/templates/docs/js/designTokens.js +334 -334
  119. package/templates/docs/js/j.min.js +4 -4
  120. package/templates/docs/js/javascript.js +874 -874
  121. package/templates/docs/js/matchbrackets.js +145 -145
  122. package/cert/Tsicsezwild-22-23.crt +0 -37
  123. package/cert/Tsicsezwild-22-23.key +0 -27
@@ -19,15 +19,16 @@ 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
- let options = (0, _utils.getOptions)(); // let args = process.argv.slice(3);
22
+ const options = (0, _utils.getOptions)(); // let args = process.argv.slice(3);
23
23
 
24
- let {
24
+ const httpsOptions = (0, _httpsOptions.httpsOptionsWithUserFriendlyError)(options);
25
+ const {
25
26
  app: {
26
27
  context,
27
28
  server
28
29
  }
29
30
  } = options;
30
- let {
31
+ const {
31
32
  host,
32
33
  port,
33
34
  domain,
@@ -35,9 +36,9 @@ let {
35
36
  hasMock,
36
37
  mockPort
37
38
  } = server;
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');
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');
41
42
  const {
42
43
  zipname,
43
44
  cssSelectorZipPath,
@@ -83,7 +84,7 @@ app.use('/wms/*', (req, res) => {
83
84
  res.sendFile(_path.default.join(__dirname, '..', '..', 'templates', 'wms', 'index.html'));
84
85
  });
85
86
 
86
- const httpsServer = _https.default.createServer(_httpsOptions.httpsOptions, app);
87
+ const httpsServer = _https.default.createServer(httpsOptions, app);
87
88
 
88
89
  const wss = new _ws.default.Server({
89
90
  server: httpsServer
@@ -101,7 +102,7 @@ wss.on('connection', ws => {
101
102
  });
102
103
  app.post('/wmsmockapi', (req, res) => {
103
104
  wsPool.forEach(ws => {
104
- let {
105
+ const {
105
106
  body
106
107
  } = req;
107
108
 
@@ -161,7 +162,7 @@ httpsServer.listen(port, err => {
161
162
  if (isCompatableHttp2) {
162
163
  const http2 = require('http2');
163
164
 
164
- const http2Server = http2.createSecureServer(_httpsOptions.httpsOptions); // eslint-disable-next-line no-unused-vars
165
+ const http2Server = http2.createSecureServer(httpsOptions); // eslint-disable-next-line no-unused-vars
165
166
 
166
167
  http2Server.on('stream', (stream, headers) => {
167
168
  stream.respond({
@@ -170,7 +171,7 @@ if (isCompatableHttp2) {
170
171
  });
171
172
  stream.end('<h1>Hello World! <br>Working with http2</h1>');
172
173
  });
173
- let http2Port = Number(port) + 1;
174
+ const http2Port = Number(port) + 1;
174
175
  http2Server.listen(http2Port, err => {
175
176
  if (err) {
176
177
  throw err;
@@ -186,7 +187,7 @@ if (isCompatableHttp2) {
186
187
  (0, _utils.log)('Your node version didn\'t adopted http2 support. Kindly update that to 8 LTS or above you can engage the http2');
187
188
  }
188
189
 
189
- let httpPort = Number(port) + (isCompatableHttp2 ? 2 : 1);
190
+ const httpPort = Number(port) + (isCompatableHttp2 ? 2 : 1);
190
191
  app.listen(httpPort, err => {
191
192
  if (err) {
192
193
  throw err;
@@ -25,14 +25,15 @@ 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
- let options = (0, _utils.getOptions)();
29
- let {
28
+ const options = (0, _utils.getOptions)();
29
+ const httpsOptions = (0, _httpsOptions.httpsOptionsWithUserFriendlyError)(options);
30
+ const {
30
31
  app: {
31
32
  context,
32
33
  server
33
34
  }
34
35
  } = options;
35
- let {
36
+ const {
36
37
  host,
37
38
  port,
38
39
  domain,
@@ -41,9 +42,9 @@ let {
41
42
  hasMock,
42
43
  mockPort
43
44
  } = server;
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');
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');
47
48
  const {
48
49
  writeToDisk
49
50
  } = options.impactService;
@@ -72,8 +73,8 @@ if (mode === 'prod') {
72
73
  } // console.log({ contextURL });
73
74
 
74
75
 
75
- let compiler = (0, _webpack.default)(config);
76
- let webpackServerOptions = {
76
+ const compiler = (0, _webpack.default)(config);
77
+ const webpackServerOptions = {
77
78
  logLevel: 'error',
78
79
  publicPath: mode === 'prod' ? contextURL === '' ? `${serverUrl}/${contextURL}` : serverUrl + contextURL : config.output.publicPath,
79
80
  headers: options.app.enableDevCache ? {
@@ -114,7 +115,7 @@ app.use('/wms/*', (req, res) => {
114
115
  res.sendFile(_path.default.join(__dirname, '..', '..', 'templates', 'wms', 'index.html'));
115
116
  });
116
117
 
117
- const httpsServer = _https.default.createServer(_httpsOptions.httpsOptions, app);
118
+ const httpsServer = _https.default.createServer(httpsOptions, app);
118
119
 
119
120
  const wss = new _ws.default.Server({
120
121
  server: httpsServer
@@ -132,7 +133,7 @@ wss.on('connection', ws => {
132
133
  });
133
134
  app.post('/wmsmockapi', (req, res) => {
134
135
  wsPool.forEach(ws => {
135
- let {
136
+ const {
136
137
  body
137
138
  } = req;
138
139
 
@@ -167,18 +168,20 @@ if (contextURL) {
167
168
  app.use('/*', _express.default.static(context));
168
169
  }
169
170
 
170
- httpsServer.listen(port, err => {
171
- if (err) {
172
- throw err;
173
- }
171
+ if (httpsOptions) {
172
+ httpsServer.listen(port, err => {
173
+ if (err) {
174
+ throw err;
175
+ }
174
176
 
175
- (0, _utils.log)(`Listening at ${serverUrl}${contextURL}/`);
176
- });
177
+ (0, _utils.log)(`Listening at ${serverUrl}${contextURL}/`);
178
+ });
179
+ }
177
180
 
178
- if (isCompatableHttp2) {
181
+ if (isCompatableHttp2 && httpsOptions) {
179
182
  const http2 = require('http2');
180
183
 
181
- const http2Server = http2.createSecureServer(_httpsOptions.httpsOptions); // eslint-disable-next-line no-unused-vars
184
+ const http2Server = http2.createSecureServer(httpsOptions); // eslint-disable-next-line no-unused-vars
182
185
 
183
186
  http2Server.on('stream', (stream, headers) => {
184
187
  stream.respond({
@@ -187,7 +190,7 @@ if (isCompatableHttp2) {
187
190
  });
188
191
  stream.end('<h1>Hello World! <br>Working with http2</h1>');
189
192
  });
190
- let http2Port = Number(port) + 1;
193
+ const http2Port = Number(port) + 1;
191
194
  http2Server.listen(http2Port, err => {
192
195
  if (err) {
193
196
  throw err;
@@ -203,7 +206,7 @@ if (isCompatableHttp2) {
203
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');
204
207
  }
205
208
 
206
- let httpPort = Number(port) + (isCompatableHttp2 ? 2 : 1);
209
+ const httpPort = Number(port) + (isCompatableHttp2 ? 2 : 1);
207
210
  app.listen(httpPort, err => {
208
211
  if (err) {
209
212
  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"
@@ -1,148 +1,148 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
5
- <style>
6
- #file {
7
- font-family: 'Trebuchet MS', Arial, Helvetica, sans-serif;
8
- border-collapse: collapse;
9
- width: 100%;
10
- }
11
- #redTd {
12
- color: red;
13
- }
14
- #greenTD {
15
- color: green;
16
- }
17
- #file td,
18
- #file th {
19
- border: 1px solid #ddd;
20
- padding: 8px;
21
- text-align: center;
22
- }
23
-
24
- #file tr:nth-child(even) {
25
- background-color: #f2f2f2;
26
- }
27
-
28
- #file tr:hover {
29
- background-color: #ddd;
30
- }
31
-
32
- #file th {
33
- padding-top: 12px;
34
- padding-bottom: 12px;
35
- background-color: #2a2d36;
36
- color: white;
37
- }
38
- #sizeTable {
39
- float: left;
40
- width: 50%;
41
- }
42
- #hashTable {
43
- display: inline-block;
44
- width: 50%;
45
- }
46
- </style>
47
- <script type="text/javascript" src="./buildtrack.js"></script>
48
- </head>
49
- <body>
50
- <div>
51
- <div style="float: left;margin-right: 10px;">Branch Name:</div>
52
- <h4 id="h4" style="margin: 0px;"></h4>
53
- </div>
54
- <div id="sizeTable">
55
- <div>
56
- <h3>Size changes</h3>
57
- <h3></h3>
58
- </div>
59
- <table id="file" class="table table-bordered table-hover table-condensed">
60
- <thead>
61
- <tr>
62
- <th title="Field #1">Name</th>
63
- <th title="Field #2">Size / Diff</th>
64
- <th title="Field #3">Size / Old</th>
65
- <th title="Field #4">Size / New</th>
66
- </tr>
67
- </thead>
68
- <tbody id="sizeTbody"></tbody>
69
- </table>
70
- </div>
71
- <div id="hashTable">
72
- <div>
73
- <h3>Hash changes</h3>
74
- <h3></h3>
75
- </div>
76
- <table id="file" class="table table-bordered table-hover table-condensed">
77
- <thead>
78
- <tr>
79
- <th style="background-color: #4CAF50;" title="Field #1">Name</th>
80
- <th style="background-color: #4CAF50;" title="Field #2">
81
- Hash / Old
82
- </th>
83
- <th style="background-color: #4CAF50;" title="Field #3">
84
- Hash / New
85
- </th>
86
- </tr>
87
- </thead>
88
- <tbody id="hashTbody"></tbody>
89
- </table>
90
- </div>
91
-
92
- <script type="text/javascript">
93
- function load() {
94
- if (statsJson) {
95
- var tdStringSize = '';
96
- var tdStringHash = '';
97
- if (statsJson.increased.length > 0) {
98
- statsJson.increased.forEach(fileObj => {
99
- let colorTD = '</td><td>';
100
- if (fileObj.size.diff.split(' ').length > 2) {
101
- colorTD = '</td><td id="greenTd">';
102
- } else {
103
- colorTD = '</td><td id="redTd">';
104
- }
105
-
106
- tdStringSize =
107
- tdStringSize +
108
- '<tr><td>' +
109
- fileObj.name +
110
- colorTD +
111
- fileObj.size.diff +
112
- '</td><td>' +
113
- fileObj.size.old +
114
- '</td><td>' +
115
- fileObj.size.new +
116
- '</td><tr>';
117
- });
118
- } else {
119
- tdStringSize = '<tr><td></td><td></td><td></td></tr>';
120
- }
121
- document.getElementById('sizeTbody').innerHTML = tdStringSize;
122
- if (statsJson.hashChanged.length > 0) {
123
- statsJson.hashChanged.forEach(fileObj => {
124
- tdStringHash =
125
- tdStringHash +
126
- '<tr><td>' +
127
- fileObj.name +
128
- '</td><td>' +
129
- fileObj.hash.old +
130
- '</td><td>' +
131
- fileObj.hash.new +
132
- '</td><tr>';
133
- });
134
- } else {
135
- tdStringHash = '<tr><td></td><td></td><td></td></tr>';
136
- }
137
- document.getElementById('hashTbody').innerHTML = tdStringHash;
138
- if (statsJson.branchName) {
139
- document.getElementById('h4').innerHTML = statsJson.branchName;
140
- } else {
141
- document.getElementById('h4').innerHTML = 'Not specified';
142
- }
143
- }
144
- }
145
- load();
146
- </script>
147
- </body>
148
- </html>
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
5
+ <style>
6
+ #file {
7
+ font-family: 'Trebuchet MS', Arial, Helvetica, sans-serif;
8
+ border-collapse: collapse;
9
+ width: 100%;
10
+ }
11
+ #redTd {
12
+ color: red;
13
+ }
14
+ #greenTD {
15
+ color: green;
16
+ }
17
+ #file td,
18
+ #file th {
19
+ border: 1px solid #ddd;
20
+ padding: 8px;
21
+ text-align: center;
22
+ }
23
+
24
+ #file tr:nth-child(even) {
25
+ background-color: #f2f2f2;
26
+ }
27
+
28
+ #file tr:hover {
29
+ background-color: #ddd;
30
+ }
31
+
32
+ #file th {
33
+ padding-top: 12px;
34
+ padding-bottom: 12px;
35
+ background-color: #2a2d36;
36
+ color: white;
37
+ }
38
+ #sizeTable {
39
+ float: left;
40
+ width: 50%;
41
+ }
42
+ #hashTable {
43
+ display: inline-block;
44
+ width: 50%;
45
+ }
46
+ </style>
47
+ <script type="text/javascript" src="./buildtrack.js"></script>
48
+ </head>
49
+ <body>
50
+ <div>
51
+ <div style="float: left;margin-right: 10px;">Branch Name:</div>
52
+ <h4 id="h4" style="margin: 0px;"></h4>
53
+ </div>
54
+ <div id="sizeTable">
55
+ <div>
56
+ <h3>Size changes</h3>
57
+ <h3></h3>
58
+ </div>
59
+ <table id="file" class="table table-bordered table-hover table-condensed">
60
+ <thead>
61
+ <tr>
62
+ <th title="Field #1">Name</th>
63
+ <th title="Field #2">Size / Diff</th>
64
+ <th title="Field #3">Size / Old</th>
65
+ <th title="Field #4">Size / New</th>
66
+ </tr>
67
+ </thead>
68
+ <tbody id="sizeTbody"></tbody>
69
+ </table>
70
+ </div>
71
+ <div id="hashTable">
72
+ <div>
73
+ <h3>Hash changes</h3>
74
+ <h3></h3>
75
+ </div>
76
+ <table id="file" class="table table-bordered table-hover table-condensed">
77
+ <thead>
78
+ <tr>
79
+ <th style="background-color: #4CAF50;" title="Field #1">Name</th>
80
+ <th style="background-color: #4CAF50;" title="Field #2">
81
+ Hash / Old
82
+ </th>
83
+ <th style="background-color: #4CAF50;" title="Field #3">
84
+ Hash / New
85
+ </th>
86
+ </tr>
87
+ </thead>
88
+ <tbody id="hashTbody"></tbody>
89
+ </table>
90
+ </div>
91
+
92
+ <script type="text/javascript">
93
+ function load() {
94
+ if (statsJson) {
95
+ var tdStringSize = '';
96
+ var tdStringHash = '';
97
+ if (statsJson.increased.length > 0) {
98
+ statsJson.increased.forEach(fileObj => {
99
+ let colorTD = '</td><td>';
100
+ if (fileObj.size.diff.split(' ').length > 2) {
101
+ colorTD = '</td><td id="greenTd">';
102
+ } else {
103
+ colorTD = '</td><td id="redTd">';
104
+ }
105
+
106
+ tdStringSize =
107
+ tdStringSize +
108
+ '<tr><td>' +
109
+ fileObj.name +
110
+ colorTD +
111
+ fileObj.size.diff +
112
+ '</td><td>' +
113
+ fileObj.size.old +
114
+ '</td><td>' +
115
+ fileObj.size.new +
116
+ '</td><tr>';
117
+ });
118
+ } else {
119
+ tdStringSize = '<tr><td></td><td></td><td></td></tr>';
120
+ }
121
+ document.getElementById('sizeTbody').innerHTML = tdStringSize;
122
+ if (statsJson.hashChanged.length > 0) {
123
+ statsJson.hashChanged.forEach(fileObj => {
124
+ tdStringHash =
125
+ tdStringHash +
126
+ '<tr><td>' +
127
+ fileObj.name +
128
+ '</td><td>' +
129
+ fileObj.hash.old +
130
+ '</td><td>' +
131
+ fileObj.hash.new +
132
+ '</td><tr>';
133
+ });
134
+ } else {
135
+ tdStringHash = '<tr><td></td><td></td><td></td></tr>';
136
+ }
137
+ document.getElementById('hashTbody').innerHTML = tdStringHash;
138
+ if (statsJson.branchName) {
139
+ document.getElementById('h4').innerHTML = statsJson.branchName;
140
+ } else {
141
+ document.getElementById('h4').innerHTML = 'Not specified';
142
+ }
143
+ }
144
+ }
145
+ load();
146
+ </script>
147
+ </body>
148
+ </html>
@@ -33,7 +33,7 @@ function getFileType(file) {
33
33
  }
34
34
 
35
35
  function isImageFileExt(ext) {
36
- return ext === '.gif' || ext === '.png' || ext === '.jpg' || ext === '.jpeg' || ext === '.ico';
36
+ return ext === '.gif' || ext === '.png' || ext === '.jpg' || ext === '.jpeg' || ext === '.webp' || ext === '.ico';
37
37
  }
38
38
 
39
39
  function isFontFileExt(ext) {
@@ -41,7 +41,7 @@ function isFontFileExt(ext) {
41
41
  }
42
42
 
43
43
  function isVideoFileExt(ext) {
44
- return ext === '.mp4';
44
+ return ext === '.mp4' || ext === '.webm';
45
45
  }
46
46
 
47
47
  function isAudioFileExt(ext) {