@zohodesk/client_build_tool 0.0.6-exp.34 → 0.0.6-exp.35

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 (56) hide show
  1. package/lib/schemas/defaultConfigValues.js +5 -3
  2. package/lib/shared/bundler/webpack/common/decidePublicPath.js +5 -0
  3. package/lib/shared/bundler/webpack/common/nameTemplates.js +6 -6
  4. package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/addFilesNamesToManifestJson.js +2 -8
  5. package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/createInitialEntries.js +1 -7
  6. package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/createManifestJson.js +1 -1
  7. package/lib/shared/bundler/webpack/optimizationConfig.js +1 -4
  8. package/lib/shared/bundler/webpack/pluginConfigs/configCSSMinifierPlugin.js +2 -2
  9. package/lib/shared/bundler/webpack/pluginConfigs/configManifestJsonPlugin.js +13 -25
  10. package/lib/shared/server/getServerURL.js +9 -2
  11. package/package.json +1 -1
  12. package/coverage/addFilesNamesToManifestJson.js.html +0 -148
  13. package/coverage/base.css +0 -224
  14. package/coverage/block-navigation.js +0 -87
  15. package/coverage/bundler/webpack/custom_plugins/AddManifestJson/addFilesNamesToManifestJson.js.html +0 -148
  16. package/coverage/bundler/webpack/custom_plugins/AddManifestJson/createInitialEntries.js.html +0 -136
  17. package/coverage/bundler/webpack/custom_plugins/AddManifestJson/createManifestJson.js.html +0 -181
  18. package/coverage/bundler/webpack/custom_plugins/AddManifestJson/findInitialFileNames.js.html +0 -133
  19. package/coverage/bundler/webpack/custom_plugins/AddManifestJson/index.html +0 -146
  20. package/coverage/bundler/webpack/custom_plugins/AddManifestJson/index.js.html +0 -199
  21. package/coverage/bundler/webpack/custom_plugins/AddManifestJson/removeHashFromFileName.js.html +0 -127
  22. package/coverage/bundler/webpack/custom_plugins/VariableConversionCollector/ErrorHandler.js.html +0 -346
  23. package/coverage/bundler/webpack/custom_plugins/VariableConversionCollector/index.html +0 -116
  24. package/coverage/bundler/webpack/custom_postcss_plugins/HoverActivePlugin/constants.js.html +0 -94
  25. package/coverage/bundler/webpack/custom_postcss_plugins/HoverActivePlugin/handleIgnores.js.html +0 -259
  26. package/coverage/bundler/webpack/custom_postcss_plugins/HoverActivePlugin/index.html +0 -236
  27. package/coverage/bundler/webpack/custom_postcss_plugins/HoverActivePlugin/index.js.html +0 -442
  28. package/coverage/bundler/webpack/custom_postcss_plugins/HoverActivePlugin/insertBefore.js.html +0 -154
  29. package/coverage/bundler/webpack/custom_postcss_plugins/HoverActivePlugin/isPreviouslyProcessed.js.html +0 -142
  30. package/coverage/bundler/webpack/custom_postcss_plugins/HoverActivePlugin/replaceUtils.js.html +0 -127
  31. package/coverage/bundler/webpack/custom_postcss_plugins/HoverActivePlugin/separateHoveredSelectorAndNormalSelector.js.html +0 -139
  32. package/coverage/bundler/webpack/custom_postcss_plugins/HoverActivePlugin/specialCases.js.html +0 -184
  33. package/coverage/bundler/webpack/custom_postcss_plugins/HoverActivePlugin/typeCheckUtils.js.html +0 -193
  34. package/coverage/bundler/webpack/custom_postcss_plugins/SelectorReplace.js.html +0 -292
  35. package/coverage/bundler/webpack/custom_postcss_plugins/ValueReplacer.js.html +0 -223
  36. package/coverage/bundler/webpack/custom_postcss_plugins/VariableModificationPlugin/index.html +0 -116
  37. package/coverage/bundler/webpack/custom_postcss_plugins/VariableModificationPlugin/index.js.html +0 -1126
  38. package/coverage/bundler/webpack/custom_postcss_plugins/index.html +0 -131
  39. package/coverage/bundler/webpack/loaderConfigs/getSpecificPostCssPlugin.js.html +0 -247
  40. package/coverage/bundler/webpack/loaderConfigs/index.html +0 -116
  41. package/coverage/coverage-final.json +0 -4
  42. package/coverage/coverage-summary.json +0 -5
  43. package/coverage/createInitialEntries.js.html +0 -136
  44. package/coverage/dummy.js.html +0 -238
  45. package/coverage/favicon.png +0 -0
  46. package/coverage/index.html +0 -146
  47. package/coverage/index.js.html +0 -169
  48. package/coverage/isObject.js.html +0 -94
  49. package/coverage/isValid.js.html +0 -106
  50. package/coverage/prettify.css +0 -1
  51. package/coverage/prettify.js +0 -2
  52. package/coverage/removeHashFromFileName.js.html +0 -127
  53. package/coverage/sort-arrow-sprite.png +0 -0
  54. package/coverage/sorter.js +0 -196
  55. package/result.json +0 -1
  56. package/unittest/index.html +0 -35
@@ -54,6 +54,10 @@ var _default = {
54
54
  cli: 'print_progress'
55
55
  },
56
56
  server: {
57
+ k8s: {
58
+ value: false,
59
+ cli: 'k8s'
60
+ },
57
61
  httpsCerts: {
58
62
  value: '',
59
63
  cli: 'https_certs'
@@ -277,9 +281,7 @@ var _default = {
277
281
  i18nTemplate: ''
278
282
  },
279
283
  manifestJson: {
280
- enable: false,
281
- i18nManifestJson: false,
282
- licenseManifest: false
284
+ enable: false
283
285
  },
284
286
  changeRuntimeChunkChar: '~',
285
287
  serviceWorker: {
@@ -24,17 +24,22 @@ function modifiedServerOptions(options) {
24
24
  const {
25
25
  disableContextURL
26
26
  } = server;
27
+ const {
28
+ k8s
29
+ } = server;
27
30
  const port = Number(server.port);
28
31
  const httpsOptions = (0, _httpsOptions.httpsOptionsWithUserFriendlyError)(options);
29
32
  const machineDomain = (0, _getServerURL.getServerDomain)(server);
30
33
  const httpPort = port + 1;
31
34
  const httpsUrl = (0, _getServerURL.getServerUrl)({
32
35
  domain: machineDomain,
36
+ k8s,
33
37
  port,
34
38
  protocol: 'https'
35
39
  });
36
40
  const httpUrl = (0, _getServerURL.getServerUrl)({
37
41
  domain: machineDomain,
42
+ k8s,
38
43
  port: httpPort,
39
44
  protocol: 'http'
40
45
  });
@@ -14,14 +14,14 @@ var _modeUtils = require("./modeUtils");
14
14
  // NOTE: array[0] is dev mode file templates and array[1] is prod mode file templates
15
15
  const defaultTemplates = {
16
16
  html: ['index.html', 'index.[contenthash].html'],
17
- js: ['js/[name].js', 'js/[name].[contenthash]_.js'],
18
- chunkjs: ['js-chunk/[name].js', 'js-chunks/[name].[contenthash]_.js'],
19
- i18njs: ['i18n-chunk/[locale]/[name].i18n.js', 'i18n-chunk/[locale]/[name].[chunkhash]_.i18n.js'],
17
+ js: ['js/[name].js', 'js/[name].[contenthash].js'],
18
+ chunkjs: ['js-chunk/[name].js', 'js-chunks/[name].[contenthash].js'],
19
+ i18njs: ['i18n-chunk/[locale]/[name].i18n.js', 'i18n-chunk/[locale]/[name].[chunkhash].i18n.js'],
20
20
  i18nchunkjs: ['i18n-chunk/[locale]/[name].i18n.js', // 'i18n-chunk/[locale]/[name].[chunkhash].i18n.js'
21
- 'i18n-chunk/[locale]/[name].[contenthash]_.i18n.js'],
21
+ 'i18n-chunk/[locale]/[name].[contenthash].i18n.js'],
22
22
  i18nmanifest: ['i18n-manifest.json', 'i18n-manifest.json'],
23
23
  workerjs: ['js/[name].js', 'js/[name].[contenthash].js'],
24
- css: ['css/[name].css', 'css/[name].[contenthash]_.css'],
24
+ css: ['css/[name].css', 'css/[name].[contenthash].css'],
25
25
 
26
26
  /**
27
27
  * NOTE: when you change (cssdir) this line it will have affect on Below files will be affected
@@ -29,7 +29,7 @@ const defaultTemplates = {
29
29
  * pluginConfigs/configMiniCSSExtractPlugin.js
30
30
  * pluginConfigs/configRtlCssPlugin.js
31
31
  * */
32
- cssdir: ['css/[name].[dir].css', 'css/[name].[contenthash]_.[dir].css'],
32
+ cssdir: ['css/[name].[dir].css', 'css/[name].[contenthash].[dir].css'],
33
33
  image: ['images/[name][ext]', 'images/[name].[contenthash][ext]'],
34
34
  font: ['fonts/[name][ext]', 'fonts/[name].[contenthash][ext]'],
35
35
  svg: ['fonts/[name][ext]', 'fonts/[name].[contenthash][ext]'],
@@ -5,12 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.addFilesNamesToManifestJson = addFilesNamesToManifestJson;
7
7
 
8
- var _path = _interopRequireDefault(require("path"));
9
-
10
8
  var _removeHashFromFileName = require("./removeHashFromFileName");
11
9
 
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  function addFilesNamesToManifestJson({
15
11
  manifestJson,
16
12
  option,
@@ -19,11 +15,9 @@ function addFilesNamesToManifestJson({
19
15
  }) {
20
16
  const json = manifestJson;
21
17
  Object.keys(assets).forEach(filename => {
22
- const fileName = _path.default.parse(filename).base;
23
-
24
18
  if (option.test(filename)) {
25
- const filenameNameWithoutHash = (0, _removeHashFromFileName.removeHashFromFileName)(fileName, hashDigestLength);
26
- json[filenameNameWithoutHash] = fileName;
19
+ const filenameNameWithoutHash = (0, _removeHashFromFileName.removeHashFromFileName)(filename, hashDigestLength);
20
+ json[filenameNameWithoutHash] = filename;
27
21
  }
28
22
  });
29
23
  return json;
@@ -5,17 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createInitialEntriesForManifestJson = createInitialEntriesForManifestJson;
7
7
 
8
- var _path = _interopRequireDefault(require("path"));
9
-
10
8
  var _removeHashFromFileName = require("./removeHashFromFileName");
11
9
 
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  function createInitialEntriesForManifestJson(initialFileNames, hashLength) {
15
11
  const initialEntries = {};
16
- initialFileNames.forEach(filename => {
17
- const fileName = _path.default.parse(filename).base;
18
-
12
+ initialFileNames.forEach(fileName => {
19
13
  const filenameNameWithoutHash = (0, _removeHashFromFileName.removeHashFromFileName)(fileName, hashLength);
20
14
  initialEntries[filenameNameWithoutHash] = fileName;
21
15
  });
@@ -22,7 +22,7 @@ function createManifestJson({
22
22
  if (option.needInitialEntries) {
23
23
  const initialFileNames = (0, _findInitialFileNames.findInitialFileNames)(compilation);
24
24
  const initialEntries = (0, _createInitialEntries.createInitialEntriesForManifestJson)(initialFileNames, hashDigestLength);
25
- manifestJson.entryFiles = initialEntries;
25
+ manifestJson.initialEntries = initialEntries;
26
26
  }
27
27
 
28
28
  const outputJson = (0, _addFilesNamesToManifestJson.addFilesNamesToManifestJson)({
@@ -40,13 +40,10 @@ function optimizationConfig(options) {
40
40
  splitChunks: (0, _splitChunksConfig.splitChunksConfig)(options),
41
41
  minimizer: [// For webpack@5 you can use the `...` syntax to extend existing minimizers (i.e. `terser-webpack-plugin`), uncomment the next line
42
42
  // '...',
43
- excludeList !== '' ? new _terserWebpackPlugin.default({
43
+ new _terserWebpackPlugin.default({
44
44
  exclude: excludeList,
45
45
  extractComments: false // Do not extract comments to .LICENSE.txt files
46
46
 
47
- }) : new _terserWebpackPlugin.default({
48
- extractComments: false // Do not extract comments to .LICENSE.txt files
49
-
50
47
  }), (0, _configCSSMinifierPlugin.configCSSMinifierPlugin)(options)].filter(Boolean),
51
48
  moduleIds: 'named',
52
49
  runtimeChunk: {
@@ -22,7 +22,7 @@ function configCSSMinifierPlugin(options) {
22
22
  // return new UglifyCSSPlugin();
23
23
 
24
24
 
25
- return excludeList !== '' ? new _cssMinimizerWebpackPlugin.default({
25
+ return new _cssMinimizerWebpackPlugin.default({
26
26
  exclude: excludeList
27
- }) : new _cssMinimizerWebpackPlugin.default();
27
+ });
28
28
  }
@@ -9,36 +9,24 @@ var _ManifestJsonPlugin = require("../custom_plugins/ManifestJsonPlugin");
9
9
 
10
10
  function configManifestJsonPlugin(options) {
11
11
  const {
12
- enable,
13
- i18nManifestJson,
14
- licenseManifest
15
- } = options.manifestJson;
12
+ manifestJson
13
+ } = options;
16
14
 
17
- if (!enable) {
15
+ if (!manifestJson.enable) {
18
16
  return null;
19
17
  }
20
18
 
21
- const params = [{
19
+ return new _ManifestJsonPlugin.AddFileToManifestJson([{
22
20
  outputJsonFileName: 'manifest.json',
23
21
  test: f => !/\.i18n\.js$|\.LICENSE\.txt$|\.map$/.test(f),
24
22
  needInitialEntries: true
25
- }];
26
-
27
- if (i18nManifestJson) {
28
- params.push({
29
- outputJsonFileName: 'i18nManifest.json',
30
- test: f => /\.i18n\.js$/g.test(f),
31
- needInitialEntries: false
32
- });
33
- }
34
-
35
- if (licenseManifest) {
36
- params.push({
37
- outputJsonFileName: 'licenseManifest.json',
38
- test: f => /\.LICENSE\.txt$/g.test(f),
39
- needInitialEntries: false
40
- });
41
- }
42
-
43
- return new _ManifestJsonPlugin.AddFileToManifestJson(params);
23
+ }, {
24
+ outputJsonFileName: 'i18nManifest.json',
25
+ test: f => /\.i18n\.js$/g.test(f),
26
+ needInitialEntries: false
27
+ }, {
28
+ outputJsonFileName: 'licenseManifest.json',
29
+ test: f => /\.LICENSE\.txt$/g.test(f),
30
+ needInitialEntries: false
31
+ }]);
44
32
  }
@@ -9,10 +9,11 @@ exports.getServerUrl = getServerUrl;
9
9
  function getServerDomain(serverInfo) {
10
10
  const {
11
11
  host,
12
- domain
12
+ domain,
13
+ k8s
13
14
  } = serverInfo;
14
15
 
15
- if (domain) {
16
+ if (domain && !k8s) {
16
17
  return `${host}.${domain}.zohocorpin.com`;
17
18
  }
18
19
 
@@ -21,9 +22,15 @@ function getServerDomain(serverInfo) {
21
22
 
22
23
  function getServerUrl({
23
24
  domain,
25
+ k8s,
24
26
  port,
25
27
  protocol = 'http'
26
28
  }) {
27
29
  const prefix = protocol ? `${protocol}:` : '';
30
+
31
+ if (k8s) {
32
+ return `${prefix}//${domain}`;
33
+ }
34
+
28
35
  return `${prefix}//${domain}:${port}/`;
29
36
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohodesk/client_build_tool",
3
- "version": "0.0.6-exp.34",
3
+ "version": "0.0.6-exp.35",
4
4
  "description": "A CLI tool to build web applications and client libraries",
5
5
  "main": "lib/index.js",
6
6
  "bin": {
@@ -1,148 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for addFilesNamesToManifestJson.js</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="prettify.css" />
9
- <link rel="stylesheet" href="base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="index.html">All files</a> addFilesNamesToManifestJson.js</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>6/6</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>2/2</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>2/2</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>6/6</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input oninput="onInput()" type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line high'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
88
- <span class="cline-any cline-neutral">&nbsp;</span>
89
- <span class="cline-any cline-neutral">&nbsp;</span>
90
- <span class="cline-any cline-neutral">&nbsp;</span>
91
- <span class="cline-any cline-neutral">&nbsp;</span>
92
- <span class="cline-any cline-neutral">&nbsp;</span>
93
- <span class="cline-any cline-neutral">&nbsp;</span>
94
- <span class="cline-any cline-neutral">&nbsp;</span>
95
- <span class="cline-any cline-yes">3x</span>
96
- <span class="cline-any cline-yes">3x</span>
97
- <span class="cline-any cline-yes">18x</span>
98
- <span class="cline-any cline-yes">3x</span>
99
- <span class="cline-any cline-neutral">&nbsp;</span>
100
- <span class="cline-any cline-neutral">&nbsp;</span>
101
- <span class="cline-any cline-neutral">&nbsp;</span>
102
- <span class="cline-any cline-neutral">&nbsp;</span>
103
- <span class="cline-any cline-yes">3x</span>
104
- <span class="cline-any cline-neutral">&nbsp;</span>
105
- <span class="cline-any cline-neutral">&nbsp;</span>
106
- <span class="cline-any cline-yes">3x</span>
107
- <span class="cline-any cline-neutral">&nbsp;</span>
108
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { removeHashFromFileName } from './removeHashFromFileName';
109
- &nbsp;
110
- export function addFilesNamesToManifestJson({
111
- manifestJson,
112
- option,
113
- assets,
114
- hashDigestLength
115
- }) {
116
- const json = manifestJson;
117
- Object.keys(assets).forEach(filename =&gt; {
118
- if (option.test(filename)) {
119
- const filenameNameWithoutHash = removeHashFromFileName(
120
- filename,
121
- hashDigestLength
122
- );
123
- &nbsp;
124
- json[filenameNameWithoutHash] = filename;
125
- }
126
- });
127
- return json;
128
- }
129
- &nbsp;</pre></td></tr></table></pre>
130
-
131
- <div class='push'></div><!-- for sticky footer -->
132
- </div><!-- /wrapper -->
133
- <div class='footer quiet pad2 space-top1 center small'>
134
- Code coverage generated by
135
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
136
- at 2023-06-01T11:14:08.700Z
137
- </div>
138
- <script src="prettify.js"></script>
139
- <script>
140
- window.onload = function () {
141
- prettyPrint();
142
- };
143
- </script>
144
- <script src="sorter.js"></script>
145
- <script src="block-navigation.js"></script>
146
- </body>
147
- </html>
148
-
package/coverage/base.css DELETED
@@ -1,224 +0,0 @@
1
- body, html {
2
- margin:0; padding: 0;
3
- height: 100%;
4
- }
5
- body {
6
- font-family: Helvetica Neue, Helvetica, Arial;
7
- font-size: 14px;
8
- color:#333;
9
- }
10
- .small { font-size: 12px; }
11
- *, *:after, *:before {
12
- -webkit-box-sizing:border-box;
13
- -moz-box-sizing:border-box;
14
- box-sizing:border-box;
15
- }
16
- h1 { font-size: 20px; margin: 0;}
17
- h2 { font-size: 14px; }
18
- pre {
19
- font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
20
- margin: 0;
21
- padding: 0;
22
- -moz-tab-size: 2;
23
- -o-tab-size: 2;
24
- tab-size: 2;
25
- }
26
- a { color:#0074D9; text-decoration:none; }
27
- a:hover { text-decoration:underline; }
28
- .strong { font-weight: bold; }
29
- .space-top1 { padding: 10px 0 0 0; }
30
- .pad2y { padding: 20px 0; }
31
- .pad1y { padding: 10px 0; }
32
- .pad2x { padding: 0 20px; }
33
- .pad2 { padding: 20px; }
34
- .pad1 { padding: 10px; }
35
- .space-left2 { padding-left:55px; }
36
- .space-right2 { padding-right:20px; }
37
- .center { text-align:center; }
38
- .clearfix { display:block; }
39
- .clearfix:after {
40
- content:'';
41
- display:block;
42
- height:0;
43
- clear:both;
44
- visibility:hidden;
45
- }
46
- .fl { float: left; }
47
- @media only screen and (max-width:640px) {
48
- .col3 { width:100%; max-width:100%; }
49
- .hide-mobile { display:none!important; }
50
- }
51
-
52
- .quiet {
53
- color: #7f7f7f;
54
- color: rgba(0,0,0,0.5);
55
- }
56
- .quiet a { opacity: 0.7; }
57
-
58
- .fraction {
59
- font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
60
- font-size: 10px;
61
- color: #555;
62
- background: #E8E8E8;
63
- padding: 4px 5px;
64
- border-radius: 3px;
65
- vertical-align: middle;
66
- }
67
-
68
- div.path a:link, div.path a:visited { color: #333; }
69
- table.coverage {
70
- border-collapse: collapse;
71
- margin: 10px 0 0 0;
72
- padding: 0;
73
- }
74
-
75
- table.coverage td {
76
- margin: 0;
77
- padding: 0;
78
- vertical-align: top;
79
- }
80
- table.coverage td.line-count {
81
- text-align: right;
82
- padding: 0 5px 0 20px;
83
- }
84
- table.coverage td.line-coverage {
85
- text-align: right;
86
- padding-right: 10px;
87
- min-width:20px;
88
- }
89
-
90
- table.coverage td span.cline-any {
91
- display: inline-block;
92
- padding: 0 5px;
93
- width: 100%;
94
- }
95
- .missing-if-branch {
96
- display: inline-block;
97
- margin-right: 5px;
98
- border-radius: 3px;
99
- position: relative;
100
- padding: 0 4px;
101
- background: #333;
102
- color: yellow;
103
- }
104
-
105
- .skip-if-branch {
106
- display: none;
107
- margin-right: 10px;
108
- position: relative;
109
- padding: 0 4px;
110
- background: #ccc;
111
- color: white;
112
- }
113
- .missing-if-branch .typ, .skip-if-branch .typ {
114
- color: inherit !important;
115
- }
116
- .coverage-summary {
117
- border-collapse: collapse;
118
- width: 100%;
119
- }
120
- .coverage-summary tr { border-bottom: 1px solid #bbb; }
121
- .keyline-all { border: 1px solid #ddd; }
122
- .coverage-summary td, .coverage-summary th { padding: 10px; }
123
- .coverage-summary tbody { border: 1px solid #bbb; }
124
- .coverage-summary td { border-right: 1px solid #bbb; }
125
- .coverage-summary td:last-child { border-right: none; }
126
- .coverage-summary th {
127
- text-align: left;
128
- font-weight: normal;
129
- white-space: nowrap;
130
- }
131
- .coverage-summary th.file { border-right: none !important; }
132
- .coverage-summary th.pct { }
133
- .coverage-summary th.pic,
134
- .coverage-summary th.abs,
135
- .coverage-summary td.pct,
136
- .coverage-summary td.abs { text-align: right; }
137
- .coverage-summary td.file { white-space: nowrap; }
138
- .coverage-summary td.pic { min-width: 120px !important; }
139
- .coverage-summary tfoot td { }
140
-
141
- .coverage-summary .sorter {
142
- height: 10px;
143
- width: 7px;
144
- display: inline-block;
145
- margin-left: 0.5em;
146
- background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
147
- }
148
- .coverage-summary .sorted .sorter {
149
- background-position: 0 -20px;
150
- }
151
- .coverage-summary .sorted-desc .sorter {
152
- background-position: 0 -10px;
153
- }
154
- .status-line { height: 10px; }
155
- /* yellow */
156
- .cbranch-no { background: yellow !important; color: #111; }
157
- /* dark red */
158
- .red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
159
- .low .chart { border:1px solid #C21F39 }
160
- .highlighted,
161
- .highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{
162
- background: #C21F39 !important;
163
- }
164
- /* medium red */
165
- .cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
166
- /* light red */
167
- .low, .cline-no { background:#FCE1E5 }
168
- /* light green */
169
- .high, .cline-yes { background:rgb(230,245,208) }
170
- /* medium green */
171
- .cstat-yes { background:rgb(161,215,106) }
172
- /* dark green */
173
- .status-line.high, .high .cover-fill { background:rgb(77,146,33) }
174
- .high .chart { border:1px solid rgb(77,146,33) }
175
- /* dark yellow (gold) */
176
- .status-line.medium, .medium .cover-fill { background: #f9cd0b; }
177
- .medium .chart { border:1px solid #f9cd0b; }
178
- /* light yellow */
179
- .medium { background: #fff4c2; }
180
-
181
- .cstat-skip { background: #ddd; color: #111; }
182
- .fstat-skip { background: #ddd; color: #111 !important; }
183
- .cbranch-skip { background: #ddd !important; color: #111; }
184
-
185
- span.cline-neutral { background: #eaeaea; }
186
-
187
- .coverage-summary td.empty {
188
- opacity: .5;
189
- padding-top: 4px;
190
- padding-bottom: 4px;
191
- line-height: 1;
192
- color: #888;
193
- }
194
-
195
- .cover-fill, .cover-empty {
196
- display:inline-block;
197
- height: 12px;
198
- }
199
- .chart {
200
- line-height: 0;
201
- }
202
- .cover-empty {
203
- background: white;
204
- }
205
- .cover-full {
206
- border-right: none !important;
207
- }
208
- pre.prettyprint {
209
- border: none !important;
210
- padding: 0 !important;
211
- margin: 0 !important;
212
- }
213
- .com { color: #999 !important; }
214
- .ignore-none { color: #999; font-weight: normal; }
215
-
216
- .wrapper {
217
- min-height: 100%;
218
- height: auto !important;
219
- height: 100%;
220
- margin: 0 auto -48px;
221
- }
222
- .footer, .push {
223
- height: 48px;
224
- }