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

Sign up to get free protection for your applications and to get access to all the features.
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) {