@rnx-kit/cli 0.15.3 → 0.16.0

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 (42) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +32 -20
  3. package/coverage/clover.xml +81 -32
  4. package/coverage/coverage-final.json +3 -3
  5. package/coverage/lcov-report/index.html +23 -23
  6. package/coverage/lcov-report/src/bundle/defaultPlugins.ts.html +31 -13
  7. package/coverage/lcov-report/src/bundle/index.html +9 -9
  8. package/coverage/lcov-report/src/bundle/kit-config.ts.html +1 -1
  9. package/coverage/lcov-report/src/bundle/metro.ts.html +14 -5
  10. package/coverage/lcov-report/src/bundle/overrides.ts.html +1 -1
  11. package/coverage/lcov-report/src/copy-assets.ts.html +1 -1
  12. package/coverage/lcov-report/src/index.html +20 -20
  13. package/coverage/lcov-report/src/metro-config.ts.html +430 -46
  14. package/coverage/lcov.info +138 -51
  15. package/lib/bundle/defaultPlugins.d.ts +4 -2
  16. package/lib/bundle/defaultPlugins.d.ts.map +1 -1
  17. package/lib/bundle/defaultPlugins.js +9 -6
  18. package/lib/bundle/defaultPlugins.js.map +1 -1
  19. package/lib/bundle/metro.d.ts.map +1 -1
  20. package/lib/bundle/metro.js +4 -1
  21. package/lib/bundle/metro.js.map +1 -1
  22. package/lib/bundle/types.d.ts +1 -1
  23. package/lib/bundle/types.d.ts.map +1 -1
  24. package/lib/metro-config.d.ts +5 -3
  25. package/lib/metro-config.d.ts.map +1 -1
  26. package/lib/metro-config.js +122 -21
  27. package/lib/metro-config.js.map +1 -1
  28. package/lib/serve/kit-config.d.ts +7 -3
  29. package/lib/serve/kit-config.d.ts.map +1 -1
  30. package/lib/serve/kit-config.js +1 -1
  31. package/lib/serve/kit-config.js.map +1 -1
  32. package/package.json +7 -11
  33. package/src/bundle/defaultPlugins.ts +14 -8
  34. package/src/bundle/metro.ts +4 -1
  35. package/src/bundle/types.ts +1 -3
  36. package/src/metro-config.ts +154 -26
  37. package/src/serve/kit-config.ts +8 -5
  38. package/src/start.ts +1 -1
  39. package/test/bundle/kit-config.test.ts +25 -15
  40. package/test/bundle/metro.test.ts +10 -11
  41. package/test/bundle/overrides.test.ts +5 -4
  42. package/test/metro-config.test.ts +71 -32
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>1/1</span>
28
+ <span class='fraction'>2/2</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>1/1</span>
49
+ <span class='fraction'>2/2</span>
50
50
  </div>
51
51
 
52
52
 
@@ -73,25 +73,43 @@
73
73
  <a name='L8'></a><a href='#L8'>8</a>
74
74
  <a name='L9'></a><a href='#L9'>9</a>
75
75
  <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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></td><td class="line-coverage quiet"><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">3x</span>
77
87
  <span class="cline-any cline-neutral">&nbsp;</span>
78
88
  <span class="cline-any cline-neutral">&nbsp;</span>
79
- <span class="cline-any cline-yes">10x</span>
80
89
  <span class="cline-any cline-neutral">&nbsp;</span>
81
90
  <span class="cline-any cline-neutral">&nbsp;</span>
82
91
  <span class="cline-any cline-neutral">&nbsp;</span>
83
92
  <span class="cline-any cline-neutral">&nbsp;</span>
84
93
  <span class="cline-any cline-neutral">&nbsp;</span>
85
94
  <span class="cline-any cline-neutral">&nbsp;</span>
86
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type { BundlerPlugins } from "@rnx-kit/config";
95
+ <span class="cline-any cline-neutral">&nbsp;</span>
96
+ <span class="cline-any cline-yes">11x</span>
97
+ <span class="cline-any cline-neutral">&nbsp;</span>
98
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type { BundleParameters } from "@rnx-kit/config";
99
+ &nbsp;
100
+ type DefaultPlugins = Pick&lt;Required&lt;BundleParameters&gt;, "plugins" | "treeShake"&gt;;
101
+ &nbsp;
102
+ const defaultPlugins: DefaultPlugins = {
103
+ plugins: [
104
+ "@rnx-kit/metro-plugin-cyclic-dependencies-detector",
105
+ "@rnx-kit/metro-plugin-duplicates-checker",
106
+ "@rnx-kit/metro-plugin-typescript",
107
+ ],
108
+ treeShake: false,
109
+ };
87
110
  &nbsp;
88
- export function getDefaultBundlerPlugins(): Required&lt;BundlerPlugins&gt; {
89
- return {
90
- detectCyclicDependencies: true,
91
- detectDuplicateDependencies: true,
92
- typescriptValidation: true,
93
- treeShake: false,
94
- };
111
+ export function getDefaultBundlerPlugins(): DefaultPlugins {
112
+ return defaultPlugins;
95
113
  }
96
114
  &nbsp;</pre></td></tr></table></pre>
97
115
 
@@ -100,7 +118,7 @@ export function getDefaultBundlerPlugins(): Required&lt;BundlerPlugins&gt; {
100
118
  <div class='footer quiet pad2 space-top1 center small'>
101
119
  Code coverage generated by
102
120
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
103
- at Wed Jan 11 2023 11:08:36 GMT+0000 (Coordinated Universal Time)
121
+ at Tue Jan 17 2023 17:14:20 GMT+0000 (Coordinated Universal Time)
104
122
  </div>
105
123
  <script src="../../prettify.js"></script>
106
124
  <script>
@@ -25,14 +25,14 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>27/27</span>
28
+ <span class='fraction'>28/28</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
33
+ <span class="strong">95.65% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>21/21</span>
35
+ <span class='fraction'>22/23</span>
36
36
  </div>
37
37
 
38
38
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>27/27</span>
49
+ <span class='fraction'>28/28</span>
50
50
  </div>
51
51
 
52
52
 
@@ -84,13 +84,13 @@
84
84
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
85
  </td>
86
86
  <td data-value="100" class="pct high">100%</td>
87
- <td data-value="1" class="abs high">1/1</td>
87
+ <td data-value="2" class="abs high">2/2</td>
88
88
  <td data-value="100" class="pct high">100%</td>
89
89
  <td data-value="0" class="abs high">0/0</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
91
  <td data-value="1" class="abs high">1/1</td>
92
92
  <td data-value="100" class="pct high">100%</td>
93
- <td data-value="1" class="abs high">1/1</td>
93
+ <td data-value="2" class="abs high">2/2</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -115,8 +115,8 @@
115
115
  </td>
116
116
  <td data-value="100" class="pct high">100%</td>
117
117
  <td data-value="7" class="abs high">7/7</td>
118
- <td data-value="100" class="pct high">100%</td>
119
- <td data-value="5" class="abs high">5/5</td>
118
+ <td data-value="85.71" class="pct high">85.71%</td>
119
+ <td data-value="7" class="abs high">6/7</td>
120
120
  <td data-value="100" class="pct high">100%</td>
121
121
  <td data-value="1" class="abs high">1/1</td>
122
122
  <td data-value="100" class="pct high">100%</td>
@@ -146,7 +146,7 @@
146
146
  <div class='footer quiet pad2 space-top1 center small'>
147
147
  Code coverage generated by
148
148
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
149
- at Wed Jan 11 2023 11:08:36 GMT+0000 (Coordinated Universal Time)
149
+ at Tue Jan 17 2023 17:14:20 GMT+0000 (Coordinated Universal Time)
150
150
  </div>
151
151
  <script src="../../prettify.js"></script>
152
152
  <script>
@@ -313,7 +313,7 @@ export function getCliPlatformBundleConfigs(
313
313
  <div class='footer quiet pad2 space-top1 center small'>
314
314
  Code coverage generated by
315
315
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
316
- at Wed Jan 11 2023 11:08:36 GMT+0000 (Coordinated Universal Time)
316
+ at Tue Jan 17 2023 17:14:20 GMT+0000 (Coordinated Universal Time)
317
317
  </div>
318
318
  <script src="../../prettify.js"></script>
319
319
  <script>
@@ -30,9 +30,9 @@
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
33
+ <span class="strong">85.71% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>5/5</span>
35
+ <span class='fraction'>6/7</span>
36
36
  </div>
37
37
 
38
38
 
@@ -110,7 +110,10 @@
110
110
  <a name='L45'></a><a href='#L45'>45</a>
111
111
  <a name='L46'></a><a href='#L46'>46</a>
112
112
  <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
114
117
  <span class="cline-any cline-neutral">&nbsp;</span>
115
118
  <span class="cline-any cline-neutral">&nbsp;</span>
116
119
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -142,6 +145,9 @@
142
145
  <span class="cline-any cline-neutral">&nbsp;</span>
143
146
  <span class="cline-any cline-yes">4x</span>
144
147
  <span class="cline-any cline-neutral">&nbsp;</span>
148
+ <span class="cline-any cline-neutral">&nbsp;</span>
149
+ <span class="cline-any cline-neutral">&nbsp;</span>
150
+ <span class="cline-any cline-neutral">&nbsp;</span>
145
151
  <span class="cline-any cline-yes">4x</span>
146
152
  <span class="cline-any cline-neutral">&nbsp;</span>
147
153
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -187,7 +193,10 @@ export async function metroBundle(
187
193
  ): Promise&lt;void&gt; {
188
194
  info(`Bundling ${bundleConfig.platform}...`);
189
195
  &nbsp;
190
- customizeMetroConfig(metroConfig, bundleConfig);
196
+ customizeMetroConfig(metroConfig, {
197
+ ...bundleConfig,
198
+ treeShake: !dev &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >bundleConfig.treeShake,</span>
199
+ });
191
200
  &nbsp;
192
201
  const metroBundleArgs: MetroBundleArgs = {
193
202
  ...bundleConfig,
@@ -211,7 +220,7 @@ export async function metroBundle(
211
220
  <div class='footer quiet pad2 space-top1 center small'>
212
221
  Code coverage generated by
213
222
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
214
- at Wed Jan 11 2023 11:08:36 GMT+0000 (Coordinated Universal Time)
223
+ at Tue Jan 17 2023 17:14:20 GMT+0000 (Coordinated Universal Time)
215
224
  </div>
216
225
  <script src="../../prettify.js"></script>
217
226
  <script>
@@ -220,7 +220,7 @@ export function applyBundleConfigOverrides(
220
220
  <div class='footer quiet pad2 space-top1 center small'>
221
221
  Code coverage generated by
222
222
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
223
- at Wed Jan 11 2023 11:08:36 GMT+0000 (Coordinated Universal Time)
223
+ at Tue Jan 17 2023 17:14:20 GMT+0000 (Coordinated Universal Time)
224
224
  </div>
225
225
  <script src="../../prettify.js"></script>
226
226
  <script>
@@ -1762,7 +1762,7 @@ export const rnxCopyAssetsCommand = {
1762
1762
  <div class='footer quiet pad2 space-top1 center small'>
1763
1763
  Code coverage generated by
1764
1764
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1765
- at Wed Jan 11 2023 11:08:36 GMT+0000 (Coordinated Universal Time)
1765
+ at Tue Jan 17 2023 17:14:20 GMT+0000 (Coordinated Universal Time)
1766
1766
  </div>
1767
1767
  <script src="../prettify.js"></script>
1768
1768
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">59.17% </span>
26
+ <span class="strong">54.37% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>100/169</span>
28
+ <span class='fraction'>118/217</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">52.29% </span>
33
+ <span class="strong">47.4% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>57/109</span>
35
+ <span class='fraction'>64/135</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">77.77% </span>
40
+ <span class="strong">73.91% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>14/18</span>
42
+ <span class='fraction'>17/23</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">58.92% </span>
47
+ <span class="strong">54.16% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>99/168</span>
49
+ <span class='fraction'>117/216</span>
50
50
  </div>
51
51
 
52
52
 
@@ -94,18 +94,18 @@
94
94
  </tr>
95
95
 
96
96
  <tr>
97
- <td class="file high" data-value="metro-config.ts"><a href="metro-config.ts.html">metro-config.ts</a></td>
98
- <td data-value="100" class="pic high">
99
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
97
+ <td class="file medium" data-value="metro-config.ts"><a href="metro-config.ts.html">metro-config.ts</a></td>
98
+ <td data-value="54.54" class="pic medium">
99
+ <div class="chart"><div class="cover-fill" style="width: 54%"></div><div class="cover-empty" style="width: 46%"></div></div>
100
100
  </td>
101
- <td data-value="100" class="pct high">100%</td>
102
- <td data-value="18" class="abs high">18/18</td>
103
- <td data-value="100" class="pct high">100%</td>
104
- <td data-value="12" class="abs high">12/12</td>
105
- <td data-value="100" class="pct high">100%</td>
106
- <td data-value="1" class="abs high">1/1</td>
107
- <td data-value="100" class="pct high">100%</td>
108
- <td data-value="18" class="abs high">18/18</td>
101
+ <td data-value="54.54" class="pct medium">54.54%</td>
102
+ <td data-value="66" class="abs medium">36/66</td>
103
+ <td data-value="50" class="pct medium">50%</td>
104
+ <td data-value="38" class="abs medium">19/38</td>
105
+ <td data-value="66.66" class="pct medium">66.66%</td>
106
+ <td data-value="6" class="abs medium">4/6</td>
107
+ <td data-value="54.54" class="pct medium">54.54%</td>
108
+ <td data-value="66" class="abs medium">36/66</td>
109
109
  </tr>
110
110
 
111
111
  </tbody>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at Wed Jan 11 2023 11:08:36 GMT+0000 (Coordinated Universal Time)
119
+ at Tue Jan 17 2023 17:14:20 GMT+0000 (Coordinated Universal Time)
120
120
  </div>
121
121
  <script src="../prettify.js"></script>
122
122
  <script>