@zohodesk/client_build_tool 0.0.1 → 0.0.3

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 (85) hide show
  1. package/CHANGELOG.md +36 -4
  2. package/ConfigurationDocumentation.md +239 -73
  3. package/README.md +38 -4
  4. package/README_backup.md +2 -0
  5. package/TODO.md +1 -1
  6. package/coverage/addFilesNamesToManifestJson.js.html +148 -0
  7. package/coverage/bundler/webpack/custom_plugins/AddManifestJson/addFilesNamesToManifestJson.js.html +148 -0
  8. package/coverage/bundler/webpack/custom_plugins/AddManifestJson/createInitialEntries.js.html +136 -0
  9. package/coverage/bundler/webpack/custom_plugins/AddManifestJson/createManifestJson.js.html +181 -0
  10. package/coverage/bundler/webpack/custom_plugins/AddManifestJson/findInitialFileNames.js.html +133 -0
  11. package/coverage/bundler/webpack/custom_plugins/AddManifestJson/index.html +146 -0
  12. package/coverage/bundler/webpack/custom_plugins/AddManifestJson/index.js.html +199 -0
  13. package/coverage/bundler/webpack/custom_plugins/AddManifestJson/removeHashFromFileName.js.html +127 -0
  14. package/coverage/bundler/webpack/custom_plugins/VariableConversionCollector/ErrorHandler.js.html +346 -0
  15. package/coverage/bundler/webpack/custom_plugins/VariableConversionCollector/index.html +116 -0
  16. package/coverage/bundler/webpack/custom_postcss_plugins/HoverActivePlugin/constants.js.html +94 -0
  17. package/coverage/bundler/webpack/custom_postcss_plugins/HoverActivePlugin/handleIgnores.js.html +259 -0
  18. package/coverage/bundler/webpack/custom_postcss_plugins/HoverActivePlugin/index.html +236 -0
  19. package/coverage/bundler/webpack/custom_postcss_plugins/HoverActivePlugin/index.js.html +442 -0
  20. package/coverage/bundler/webpack/custom_postcss_plugins/HoverActivePlugin/insertBefore.js.html +154 -0
  21. package/coverage/bundler/webpack/custom_postcss_plugins/HoverActivePlugin/isPreviouslyProcessed.js.html +142 -0
  22. package/coverage/bundler/webpack/custom_postcss_plugins/HoverActivePlugin/replaceUtils.js.html +127 -0
  23. package/coverage/bundler/webpack/custom_postcss_plugins/HoverActivePlugin/separateHoveredSelectorAndNormalSelector.js.html +139 -0
  24. package/coverage/{updateArrayWithDefault.js.html → bundler/webpack/custom_postcss_plugins/HoverActivePlugin/specialCases.js.html} +55 -67
  25. package/coverage/bundler/webpack/custom_postcss_plugins/HoverActivePlugin/typeCheckUtils.js.html +193 -0
  26. package/coverage/bundler/webpack/custom_postcss_plugins/SelectorReplace.js.html +292 -0
  27. package/coverage/bundler/webpack/custom_postcss_plugins/ValueReplacer.js.html +223 -0
  28. package/coverage/bundler/webpack/custom_postcss_plugins/VariableModificationPlugin/index.html +116 -0
  29. package/coverage/bundler/webpack/custom_postcss_plugins/VariableModificationPlugin/index.js.html +1126 -0
  30. package/coverage/bundler/webpack/custom_postcss_plugins/index.html +131 -0
  31. package/coverage/bundler/webpack/loaderConfigs/getSpecificPostCssPlugin.js.html +247 -0
  32. package/coverage/bundler/webpack/loaderConfigs/index.html +116 -0
  33. package/coverage/coverage-final.json +3 -1
  34. package/coverage/coverage-summary.json +4 -2
  35. package/coverage/createInitialEntries.js.html +136 -0
  36. package/coverage/dummy.js.html +238 -0
  37. package/coverage/index.html +51 -21
  38. package/coverage/index.js.html +169 -0
  39. package/coverage/isObject.js.html +94 -0
  40. package/coverage/isValid.js.html +106 -0
  41. package/coverage/removeHashFromFileName.js.html +127 -0
  42. package/docs/BabelCustomizations.md +55 -0
  43. package/lib/commands/build/preProcessor.js +12 -0
  44. package/lib/commands/buildEs/preProcessor.js +17 -0
  45. package/lib/commands/buildLib/preProcessor.js +17 -0
  46. package/lib/commands/pre_process/commandExecutor.js +18 -0
  47. package/lib/commands/pre_process/config.js +12 -0
  48. package/lib/commands/start/preProcessor.js +3 -1
  49. package/lib/schemas/defaultConfigValues.js +66 -30
  50. package/lib/schemas/defaultConfigValuesOnly.js +20 -1
  51. package/lib/shared/babel/addDefaultPlugins.js +15 -0
  52. package/lib/shared/babel/babelWebConfig.js +2 -2
  53. package/lib/shared/babel/getBabelPlugin.js +37 -0
  54. package/lib/shared/bundler/webpack/common/nameTemplates.js +31 -8
  55. package/lib/shared/bundler/webpack/configCustomLoaders.js +1 -1
  56. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nRuntimeDealerPlugin.js +22 -2
  57. package/lib/shared/bundler/webpack/custom_plugins/InitialHtmlPlugin.js +4 -2
  58. package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/index.js +4 -2
  59. package/lib/shared/bundler/webpack/custom_plugins/SourceMapPlugin/index.js +4 -2
  60. package/lib/shared/bundler/webpack/custom_plugins/TPHashMappingPlugin/index.js +1 -1
  61. package/lib/shared/bundler/webpack/custom_plugins/custom_attribute_plugin/index.js +80 -0
  62. package/lib/shared/bundler/webpack/getCSSLoaders.js +2 -0
  63. package/lib/shared/bundler/webpack/loaderConfigs/configsAssetsLoaders.js +1 -53
  64. package/lib/shared/bundler/webpack/loaders/miniCssFallBackLoader.js +7 -0
  65. package/lib/shared/bundler/webpack/outputConfig.js +11 -2
  66. package/lib/shared/bundler/webpack/pluginConfigs/configCustomAttributesPlugin.js +20 -0
  67. package/lib/shared/bundler/webpack/pluginConfigs/configEnvVariables.js +25 -10
  68. package/lib/shared/bundler/webpack/pluginConfigs/configTPHashMappingPlugin.js +2 -2
  69. package/lib/shared/bundler/webpack/plugins.js +3 -1
  70. package/lib/shared/bundler/webpack/statsConfig.js +11 -2
  71. package/lib/shared/bundler/webpack/webpackConfig.js +2 -2
  72. package/lib/shared/commands-utils/spawnSyncIO.js +5 -5
  73. package/lib/shared/pre_process/runPreProcess.js +58 -0
  74. package/lib/shared/server/mockApiHandler.js +1 -1
  75. package/npm-shrinkwrap.json +552 -2209
  76. package/package.json +8 -3
  77. package/result.json +1 -1
  78. package/unittest/index.html +33 -35
  79. package/lib/commands/build/errorHander.js +0 -10
  80. package/lib/commands/start/deprecationHandler.js +0 -10
  81. package/lib/commands/start/errorHander.js +0 -10
  82. package/lib/commands/start/postProcessor.js +0 -10
  83. package/lib/commands/version/errorHander.js +0 -10
  84. package/lib/shared/babel/defaultBabelPlugins.js +0 -26
  85. /package/lib/shared/bundler/webpack/{getSourceMapType.js → devtoolConfig.js} +0 -0
@@ -0,0 +1,142 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for bundler/webpack/custom_postcss_plugins/HoverActivePlugin/isPreviouslyProcessed.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> / <a href="index.html">bundler/webpack/custom_postcss_plugins/HoverActivePlugin</a> isPreviouslyProcessed.js</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">0% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>0/2</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">0% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/5</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">0% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>0/2</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">0% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>0/2</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 low'></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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
86
+ <span class="cline-any cline-neutral">&nbsp;</span>
87
+ <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-no">&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-neutral">&nbsp;</span>
96
+ <span class="cline-any cline-neutral">&nbsp;</span>
97
+ <span class="cline-any cline-neutral">&nbsp;</span>
98
+ <span class="cline-any cline-no">&nbsp;</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-neutral">&nbsp;</span>
104
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {
105
+ isParentAtRule,
106
+ isParentAtRuleContainsParam
107
+ } from './typeCheckUtils';
108
+ &nbsp;
109
+ export function <span class="fstat-no" title="function not covered" >concatMediaParams(</span>prefix, suffix) {
110
+ <span class="cstat-no" title="statement not covered" > return prefix ? `${prefix} and ${suffix}` : `${suffix}`;</span>
111
+ }
112
+ &nbsp;
113
+ export function <span class="fstat-no" title="function not covered" >isPreviouslyProcessed(</span>
114
+ rule,
115
+ { hoverMedQuerySuffix, activeMedQuerySuffix }
116
+ ) {
117
+ <span class="cstat-no" title="statement not covered" > return (</span>
118
+ isParentAtRule(rule) &amp;&amp;
119
+ (isParentAtRuleContainsParam(rule, hoverMedQuerySuffix) ||
120
+ isParentAtRuleContainsParam(rule, activeMedQuerySuffix))
121
+ );
122
+ }
123
+ &nbsp;</pre></td></tr></table></pre>
124
+
125
+ <div class='push'></div><!-- for sticky footer -->
126
+ </div><!-- /wrapper -->
127
+ <div class='footer quiet pad2 space-top1 center small'>
128
+ Code coverage generated by
129
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
130
+ at 2023-06-01T11:12:25.469Z
131
+ </div>
132
+ <script src="../../../../prettify.js"></script>
133
+ <script>
134
+ window.onload = function () {
135
+ prettyPrint();
136
+ };
137
+ </script>
138
+ <script src="../../../../sorter.js"></script>
139
+ <script src="../../../../block-navigation.js"></script>
140
+ </body>
141
+ </html>
142
+
@@ -0,0 +1,127 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for bundler/webpack/custom_postcss_plugins/HoverActivePlugin/replaceUtils.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> / <a href="index.html">bundler/webpack/custom_postcss_plugins/HoverActivePlugin</a> replaceUtils.js</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">75% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>3/4</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">0% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/1</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">50% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>1/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'>3/3</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 medium'></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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
81
+ <span class="cline-any cline-neutral">&nbsp;</span>
82
+ <span class="cline-any cline-neutral">&nbsp;</span>
83
+ <span class="cline-any cline-neutral">&nbsp;</span>
84
+ <span class="cline-any cline-neutral">&nbsp;</span>
85
+ <span class="cline-any cline-neutral">&nbsp;</span>
86
+ <span class="cline-any cline-yes">4x</span>
87
+ <span class="cline-any cline-neutral">&nbsp;</span>
88
+ <span class="cline-any cline-neutral">&nbsp;</span>
89
+ <span class="cline-any cline-yes">2x</span>
90
+ <span class="cline-any cline-yes">2x</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></td><td class="text"><pre class="prettyprint lang-js">import { HOVER_NOTATION } from './constants';
95
+ &nbsp;
96
+ // function isRuleHasHover(rule) {
97
+ // return isSelectorHasHover(rule.selector);
98
+ // }
99
+ function generateReplacer(baseStr, replaceStr) {
100
+ return <span class="fstat-no" title="function not covered" >(i</span>nputStr = <span class="branch-0 cbranch-no" title="branch not covered" >'')</span> =&gt; <span class="cstat-no" title="statement not covered" >inputStr.replaceAll(baseStr, replaceStr);</span>
101
+ }
102
+ &nbsp;
103
+ export const removeHoverFromSelector = generateReplacer(HOVER_NOTATION, '');
104
+ export const replaceHoverToActiveInSelector = generateReplacer(
105
+ HOVER_NOTATION,
106
+ ':active'
107
+ );
108
+ &nbsp;</pre></td></tr></table></pre>
109
+
110
+ <div class='push'></div><!-- for sticky footer -->
111
+ </div><!-- /wrapper -->
112
+ <div class='footer quiet pad2 space-top1 center small'>
113
+ Code coverage generated by
114
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
115
+ at 2023-06-01T11:12:25.469Z
116
+ </div>
117
+ <script src="../../../../prettify.js"></script>
118
+ <script>
119
+ window.onload = function () {
120
+ prettyPrint();
121
+ };
122
+ </script>
123
+ <script src="../../../../sorter.js"></script>
124
+ <script src="../../../../block-navigation.js"></script>
125
+ </body>
126
+ </html>
127
+
@@ -0,0 +1,139 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for bundler/webpack/custom_postcss_plugins/HoverActivePlugin/separateHoveredSelectorAndNormalSelector.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> / <a href="index.html">bundler/webpack/custom_postcss_plugins/HoverActivePlugin</a> separateHoveredSelectorAndNormalSelector.js</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">0% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>0/7</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">0% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/3</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">0% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>0/2</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">0% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>0/7</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 low'></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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
85
+ <span class="cline-any cline-neutral">&nbsp;</span>
86
+ <span class="cline-any cline-neutral">&nbsp;</span>
87
+ <span class="cline-any cline-neutral">&nbsp;</span>
88
+ <span class="cline-any cline-no">&nbsp;</span>
89
+ <span class="cline-any cline-no">&nbsp;</span>
90
+ <span class="cline-any cline-no">&nbsp;</span>
91
+ <span class="cline-any cline-no">&nbsp;</span>
92
+ <span class="cline-any cline-no">&nbsp;</span>
93
+ <span class="cline-any cline-neutral">&nbsp;</span>
94
+ <span class="cline-any cline-no">&nbsp;</span>
95
+ <span class="cline-any cline-neutral">&nbsp;</span>
96
+ <span class="cline-any cline-neutral">&nbsp;</span>
97
+ <span class="cline-any cline-no">&nbsp;</span>
98
+ <span class="cline-any cline-neutral">&nbsp;</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></td><td class="text"><pre class="prettyprint lang-js">import { isSelectorHasHover } from './typeCheckUtils';
103
+ &nbsp;
104
+ &nbsp;
105
+ export function <span class="fstat-no" title="function not covered" >separateHoveredSelectorAndNormalSelector(</span>fullselector = <span class="branch-0 cbranch-no" title="branch not covered" >'')</span> {
106
+ const hoveredSelectors = <span class="cstat-no" title="statement not covered" >[];</span>
107
+ const normalSelectors = <span class="cstat-no" title="statement not covered" >[];</span>
108
+ <span class="cstat-no" title="statement not covered" > fullselector.split(/\s*,\s*/).forEach(<span class="fstat-no" title="function not covered" >se</span>lector =&gt; {</span>
109
+ <span class="cstat-no" title="statement not covered" > if (isSelectorHasHover(selector)) {</span>
110
+ <span class="cstat-no" title="statement not covered" > hoveredSelectors.push(selector);</span>
111
+ } else {
112
+ <span class="cstat-no" title="statement not covered" > normalSelectors.push(selector);</span>
113
+ }
114
+ });
115
+ <span class="cstat-no" title="statement not covered" > return {</span>
116
+ hoveredSelectors,
117
+ normalSelectors
118
+ };
119
+ }
120
+ &nbsp;</pre></td></tr></table></pre>
121
+
122
+ <div class='push'></div><!-- for sticky footer -->
123
+ </div><!-- /wrapper -->
124
+ <div class='footer quiet pad2 space-top1 center small'>
125
+ Code coverage generated by
126
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
127
+ at 2023-06-01T11:12:25.469Z
128
+ </div>
129
+ <script src="../../../../prettify.js"></script>
130
+ <script>
131
+ window.onload = function () {
132
+ prettyPrint();
133
+ };
134
+ </script>
135
+ <script src="../../../../sorter.js"></script>
136
+ <script src="../../../../block-navigation.js"></script>
137
+ </body>
138
+ </html>
139
+
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for updateArrayWithDefault.js</title>
6
+ <title>Code coverage report for bundler/webpack/custom_postcss_plugins/HoverActivePlugin/specialCases.js</title>
7
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" />
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
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(sort-arrow-sprite.png);
14
+ background-image: url(../../../../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -19,34 +19,34 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="index.html">All files</a> updateArrayWithDefault.js</h1>
22
+ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">bundler/webpack/custom_postcss_plugins/HoverActivePlugin</a> specialCases.js</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">52.94% </span>
26
+ <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>9/17</span>
28
+ <span class='fraction'>0/7</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">14.28% </span>
33
+ <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>1/7</span>
35
+ <span class='fraction'>0/4</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">60% </span>
40
+ <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>3/5</span>
42
+ <span class='fraction'>0/2</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">53.33% </span>
47
+ <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>8/15</span>
49
+ <span class='fraction'>0/7</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line medium'></div>
64
+ <div class='status-line low'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -96,83 +96,71 @@
96
96
  <a name='L31'></a><a href='#L31'>31</a>
97
97
  <a name='L32'></a><a href='#L32'>32</a>
98
98
  <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
104
- <span class="cline-any cline-no">&nbsp;</span>
99
+ <a name='L34'></a><a href='#L34'>34</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
100
+ <span class="cline-any cline-neutral">&nbsp;</span>
105
101
  <span class="cline-any cline-neutral">&nbsp;</span>
106
- <span class="cline-any cline-no">&nbsp;</span>
107
- <span class="cline-any cline-no">&nbsp;</span>
108
102
  <span class="cline-any cline-neutral">&nbsp;</span>
109
103
  <span class="cline-any cline-no">&nbsp;</span>
110
104
  <span class="cline-any cline-no">&nbsp;</span>
111
105
  <span class="cline-any cline-no">&nbsp;</span>
112
106
  <span class="cline-any cline-neutral">&nbsp;</span>
113
107
  <span class="cline-any cline-neutral">&nbsp;</span>
114
- <span class="cline-any cline-yes">1x</span>
108
+ <span class="cline-any cline-neutral">&nbsp;</span>
109
+ <span class="cline-any cline-neutral">&nbsp;</span>
110
+ <span class="cline-any cline-no">&nbsp;</span>
111
+ <span class="cline-any cline-neutral">&nbsp;</span>
115
112
  <span class="cline-any cline-neutral">&nbsp;</span>
116
113
  <span class="cline-any cline-neutral">&nbsp;</span>
117
114
  <span class="cline-any cline-neutral">&nbsp;</span>
118
115
  <span class="cline-any cline-neutral">&nbsp;</span>
119
116
  <span class="cline-any cline-neutral">&nbsp;</span>
120
117
  <span class="cline-any cline-neutral">&nbsp;</span>
121
- <span class="cline-any cline-yes">8x</span>
122
118
  <span class="cline-any cline-neutral">&nbsp;</span>
123
- <span class="cline-any cline-yes">8x</span>
124
- <span class="cline-any cline-no">&nbsp;</span>
125
119
  <span class="cline-any cline-neutral">&nbsp;</span>
126
120
  <span class="cline-any cline-neutral">&nbsp;</span>
127
- <span class="cline-any cline-yes">8x</span>
128
- <span class="cline-any cline-yes">95x</span>
129
121
  <span class="cline-any cline-neutral">&nbsp;</span>
130
122
  <span class="cline-any cline-neutral">&nbsp;</span>
131
123
  <span class="cline-any cline-neutral">&nbsp;</span>
124
+ <span class="cline-any cline-no">&nbsp;</span>
132
125
  <span class="cline-any cline-neutral">&nbsp;</span>
133
126
  <span class="cline-any cline-neutral">&nbsp;</span>
127
+ <span class="cline-any cline-no">&nbsp;</span>
134
128
  <span class="cline-any cline-neutral">&nbsp;</span>
129
+ <span class="cline-any cline-no">&nbsp;</span>
135
130
  <span class="cline-any cline-neutral">&nbsp;</span>
136
- <span class="cline-any cline-yes">8x</span>
137
- <span class="cline-any cline-yes">8x</span>
138
- <span class="cline-any cline-yes">8x</span>
139
131
  <span class="cline-any cline-neutral">&nbsp;</span>
140
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">export function <span class="fstat-no" title="function not covered" >updateArrayWithDefault(</span>array, defaultoptions = <span class="branch-0 cbranch-no" title="branch not covered" >[])</span> {
141
- const index = <span class="cstat-no" title="statement not covered" >array.indexOf('...');</span>
132
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { insertBefore } from './insertBefore';
133
+ import { removeHoverFromSelector } from './replaceUtils';
142
134
  &nbsp;
143
- <span class="cstat-no" title="statement not covered" > if (index === -1) {</span>
144
- <span class="cstat-no" title="statement not covered" > return array;</span>
135
+ export function <span class="fstat-no" title="function not covered" >hackForComposes(</span>rule, hoveredSelectors, params) {
136
+ const { Rule } = <span class="cstat-no" title="statement not covered" >params;</span>
137
+ <span class="cstat-no" title="statement not covered" > if (hoveredSelectors.length === 0) {</span>
138
+ <span class="cstat-no" title="statement not covered" > return;</span>
145
139
  }
146
- const newArray = <span class="cstat-no" title="statement not covered" >[...array];</span>
147
- <span class="cstat-no" title="statement not covered" > newArray.splice(index, 1, ...defaultoptions);</span>
148
- <span class="cstat-no" title="statement not covered" > return newArray;</span>
149
- }
150
- &nbsp;
151
- const isEqualVal = <span class="fstat-no" title="function not covered" >(a</span>, b) =&gt; <span class="cstat-no" title="statement not covered" >a === b;</span>
152
140
  &nbsp;
153
- export function getArrayWithDefault(
154
- array,
155
- defaultoptions = <span class="branch-0 cbranch-no" title="branch not covered" >[],</span>
156
- isEqual = <span class="branch-0 cbranch-no" title="branch not covered" >isEqualVal</span>
157
- ) {
158
- const index = array.indexOf('...');
159
- &nbsp;
160
- <span class="missing-if-branch" title="if path not taken" >I</span>if (index === -1) {
161
- <span class="cstat-no" title="statement not covered" > return array;</span>
162
- }
163
- // console.log(isEqual, array, defaultoptions);
164
- const filteredDefaultOptions = defaultoptions.filter(
165
- v =&gt; !array.some(v1 =&gt; isEqual(v, v1))
166
- // v =&gt; !array.some(v1 =&gt; {
167
- // let c = isEqual(v, v1)
168
- // console.log(` v=${v} v1=${v1} ==${c}`);
169
- // return c
170
- // })
141
+ // NOTE: we create Empty Rule with hovered selectors that :hover removed from hover selector
142
+ // Reason: when composes looking for selector it most be at least empty rule other wise composes will throw error.
143
+ <span class="cstat-no" title="statement not covered" > insertBefore(</span>
144
+ rule,
145
+ new Rule({
146
+ selector: hoveredSelectors.map(removeHoverFromSelector).join(',')
147
+ })
171
148
  );
149
+ }
172
150
  &nbsp;
173
- const newArray = [...array];
174
- newArray.splice(index, 1, ...filteredDefaultOptions);
175
- return newArray;
151
+ /**
152
+ * NOTE: this function will remove rule if the rule has no normal selectors.
153
+ * @param {Rule} rule
154
+ * @returns
155
+ */
156
+ export function <span class="fstat-no" title="function not covered" >removeRuleIfNoNormalSelectors(</span>normalSelectors, rule) {
157
+ <span class="cstat-no" title="statement not covered" > if (normalSelectors.length) {</span>
158
+ // NOTE: removed hovered selectors
159
+ // eslint-disable-next-line no-param-reassign
160
+ <span class="cstat-no" title="statement not covered" > rule.selector = normalSelectors.join(',');</span>
161
+ } else {
162
+ <span class="cstat-no" title="statement not covered" > rule.remove();</span>
163
+ }
176
164
  }
177
165
  &nbsp;</pre></td></tr></table></pre>
178
166
 
@@ -181,16 +169,16 @@ export function getArrayWithDefault(
181
169
  <div class='footer quiet pad2 space-top1 center small'>
182
170
  Code coverage generated by
183
171
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
184
- at 2023-08-08T10:31:57.089Z
172
+ at 2023-06-01T11:12:25.469Z
185
173
  </div>
186
- <script src="prettify.js"></script>
174
+ <script src="../../../../prettify.js"></script>
187
175
  <script>
188
176
  window.onload = function () {
189
177
  prettyPrint();
190
178
  };
191
179
  </script>
192
- <script src="sorter.js"></script>
193
- <script src="block-navigation.js"></script>
180
+ <script src="../../../../sorter.js"></script>
181
+ <script src="../../../../block-navigation.js"></script>
194
182
  </body>
195
183
  </html>
196
184