@rnx-kit/cli 0.16.16 → 0.16.17

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Change Log - @rnx-kit/cli
2
2
 
3
+ ## 0.16.17
4
+
5
+ ### Patch Changes
6
+
7
+ - f1668f4d: Pass minify option to metro-serializer-esbuild
8
+ - 839ba0e3: Allow Hermes to be run post-bundle
9
+ - Updated dependencies [839ba0e3]
10
+ - @rnx-kit/config@0.6.6
11
+
3
12
  ## 0.16.16
4
13
 
5
14
  ### Patch Changes
package/README.md CHANGED
@@ -75,8 +75,9 @@ command-line, they are explicitly set to default values.
75
75
 
76
76
  | Parameter | Default Value |
77
77
  | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------- |
78
- | entryFile | "index.js" |
79
- | bundleOutput | "index.<`platform`>.bundle" (Windows, Android), or "index.<`platform`>.jsbundle" (iOS, macOS) |
78
+ | entryFile | `"index.js"` |
79
+ | bundleOutput | `"index.<platform>.bundle"` (Windows, Android) or `"index.<platform>.jsbundle"` (iOS, macOS) |
80
+ | hermes | `false` |
80
81
  | treeShake | `false` |
81
82
  | plugins | `["@rnx-kit/metro-plugin-cyclic-dependencies-detector", "@rnx-kit/metro-plugin-duplicates-checker", "@rnx-kit/metro-plugin-typescript"]` |
82
83
 
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1695653804668" clover="3.2.0">
3
- <project timestamp="1695653804668" name="All files">
4
- <metrics statements="279" coveredstatements="156" conditionals="174" coveredconditionals="91" methods="35" coveredmethods="27" elements="488" coveredelements="274" complexity="0" loc="279" ncloc="279" packages="2" files="7" classes="7"/>
2
+ <coverage generated="1696927372100" clover="3.2.0">
3
+ <project timestamp="1696927372100" name="All files">
4
+ <metrics statements="285" coveredstatements="158" conditionals="180" coveredconditionals="92" methods="35" coveredmethods="27" elements="500" coveredelements="277" complexity="0" loc="285" ncloc="285" packages="2" files="7" classes="7"/>
5
5
  <package name="src">
6
6
  <metrics statements="248" coveredstatements="125" conditionals="151" coveredconditionals="71" methods="27" coveredmethods="19"/>
7
7
  <file name="copy-assets.ts" path="/home/runner/work/rnx-kit/rnx-kit/packages/cli/src/copy-assets.ts">
@@ -263,7 +263,7 @@
263
263
  </file>
264
264
  </package>
265
265
  <package name="src.bundle">
266
- <metrics statements="31" coveredstatements="31" conditionals="23" coveredconditionals="20" methods="8" coveredmethods="8"/>
266
+ <metrics statements="37" coveredstatements="33" conditionals="29" coveredconditionals="21" methods="8" coveredmethods="8"/>
267
267
  <file name="defaultPlugins.ts" path="/home/runner/work/rnx-kit/rnx-kit/packages/cli/src/bundle/defaultPlugins.ts">
268
268
  <metrics statements="2" coveredstatements="2" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="1"/>
269
269
  <line num="5" count="3" type="stmt"/>
@@ -287,25 +287,31 @@
287
287
  <line num="74" count="10" type="stmt"/>
288
288
  </file>
289
289
  <file name="metro.ts" path="/home/runner/work/rnx-kit/rnx-kit/packages/cli/src/bundle/metro.ts">
290
- <metrics statements="10" coveredstatements="10" conditionals="7" coveredconditionals="4" methods="2" coveredmethods="2"/>
290
+ <metrics statements="16" coveredstatements="12" conditionals="13" coveredconditionals="5" methods="2" coveredmethods="2"/>
291
291
  <line num="11" count="12" type="stmt"/>
292
292
  <line num="33" count="4" type="stmt"/>
293
- <line num="35" count="4" type="stmt"/>
294
- <line num="40" count="4" type="stmt"/>
293
+ <line num="35" count="4" type="cond" truecount="2" falsecount="2"/>
294
+ <line num="36" count="0" type="cond" truecount="0" falsecount="2"/>
295
+ <line num="37" count="0" type="cond" truecount="0" falsecount="2"/>
296
+ <line num="38" count="0" type="stmt"/>
297
+ <line num="40" count="0" type="stmt"/>
298
+ <line num="44" count="4" type="stmt"/>
295
299
  <line num="47" count="4" type="stmt"/>
296
- <line num="48" count="4" type="cond" truecount="1" falsecount="1"/>
297
300
  <line num="49" count="4" type="stmt"/>
298
- <line num="51" count="4" type="cond" truecount="1" falsecount="1"/>
299
- <line num="52" count="4" type="stmt"/>
300
301
  <line num="56" count="4" type="stmt"/>
302
+ <line num="57" count="4" type="cond" truecount="1" falsecount="1"/>
303
+ <line num="58" count="4" type="stmt"/>
304
+ <line num="60" count="4" type="cond" truecount="1" falsecount="1"/>
305
+ <line num="61" count="4" type="stmt"/>
306
+ <line num="65" count="4" type="stmt"/>
301
307
  </file>
302
308
  <file name="overrides.ts" path="/home/runner/work/rnx-kit/rnx-kit/packages/cli/src/bundle/overrides.ts">
303
309
  <metrics statements="5" coveredstatements="5" conditionals="2" coveredconditionals="2" methods="1" coveredmethods="1"/>
304
- <line num="21" count="1" type="stmt"/>
305
- <line num="44" count="10" type="stmt"/>
306
- <line num="45" count="10" type="cond" truecount="2" falsecount="0"/>
307
- <line num="46" count="9" type="stmt"/>
310
+ <line num="22" count="1" type="stmt"/>
311
+ <line num="45" count="10" type="stmt"/>
312
+ <line num="46" count="10" type="cond" truecount="2" falsecount="0"/>
308
313
  <line num="47" count="9" type="stmt"/>
314
+ <line num="48" count="9" type="stmt"/>
309
315
  </file>
310
316
  </package>
311
317
  </project>
@@ -3,6 +3,6 @@
3
3
  ,"/home/runner/work/rnx-kit/rnx-kit/packages/cli/src/test.ts": {"path":"/home/runner/work/rnx-kit/rnx-kit/packages/cli/src/test.ts","statementMap":{"0":{"start":{"line":22,"column":21},"end":{"line":22,"column":31}},"1":{"start":{"line":25,"column":19},"end":{"line":25,"column":69}},"2":{"start":{"line":26,"column":2},"end":{"line":26,"column":60}},"3":{"start":{"line":34,"column":44},"end":{"line":42,"column":6}},"4":{"start":{"line":35,"column":4},"end":{"line":41,"column":5}},"5":{"start":{"line":36,"column":22},"end":{"line":36,"column":47}},"6":{"start":{"line":37,"column":6},"end":{"line":37,"column":17}},"7":{"start":{"line":39,"column":6},"end":{"line":39,"column":77}},"8":{"start":{"line":40,"column":6},"end":{"line":40,"column":14}},"9":{"start":{"line":44,"column":23},"end":{"line":44,"column":57}},"10":{"start":{"line":45,"column":2},"end":{"line":47,"column":3}},"11":{"start":{"line":46,"column":4},"end":{"line":46,"column":57}},"12":{"start":{"line":50,"column":15},"end":{"line":50,"column":51}},"13":{"start":{"line":52,"column":24},"end":{"line":52,"column":50}},"14":{"start":{"line":53,"column":2},"end":{"line":55,"column":3}},"15":{"start":{"line":54,"column":4},"end":{"line":54,"column":59}},"16":{"start":{"line":59,"column":2},"end":{"line":59,"column":32}},"17":{"start":{"line":61,"column":2},"end":{"line":61,"column":47}},"18":{"start":{"line":62,"column":2},"end":{"line":62,"column":16}},"19":{"start":{"line":66,"column":18},"end":{"line":104,"column":6}},"20":{"start":{"line":67,"column":4},"end":{"line":76,"column":5}},"21":{"start":{"line":70,"column":31},"end":{"line":70,"column":50}},"22":{"start":{"line":71,"column":6},"end":{"line":73,"column":7}},"23":{"start":{"line":72,"column":8},"end":{"line":72,"column":28}},"24":{"start":{"line":85,"column":21},"end":{"line":85,"column":67}},"25":{"start":{"line":87,"column":4},"end":{"line":94,"column":5}},"26":{"start":{"line":90,"column":26},"end":{"line":90,"column":59}},"27":{"start":{"line":91,"column":6},"end":{"line":91,"column":21}},"28":{"start":{"line":96,"column":4},"end":{"line":101,"column":5}},"29":{"start":{"line":97,"column":26},"end":{"line":97,"column":63}},"30":{"start":{"line":98,"column":6},"end":{"line":98,"column":21}},"31":{"start":{"line":103,"column":4},"end":{"line":103,"column":14}},"32":{"start":{"line":105,"column":2},"end":{"line":113,"column":5}},"33":{"start":{"line":106,"column":64},"end":{"line":106,"column":79}},"34":{"start":{"line":107,"column":17},"end":{"line":107,"column":40}},"35":{"start":{"line":108,"column":4},"end":{"line":112,"column":6}},"36":{"start":{"line":116,"column":30},"end":{"line":128,"column":1}}},"fnMap":{"0":{"name":"resolveJestCli","decl":{"start":{"line":24,"column":16},"end":{"line":24,"column":30}},"loc":{"start":{"line":24,"column":41},"end":{"line":27,"column":1}},"line":24},"1":{"name":"rnxTest","decl":{"start":{"line":29,"column":16},"end":{"line":29,"column":23}},"loc":{"start":{"line":33,"column":8},"end":{"line":63,"column":1}},"line":33},"2":{"name":"(anonymous_2)","decl":{"start":{"line":34,"column":45},"end":{"line":34,"column":46}},"loc":{"start":{"line":34,"column":51},"end":{"line":42,"column":3}},"line":34},"3":{"name":"jestOptions","decl":{"start":{"line":65,"column":16},"end":{"line":65,"column":27}},"loc":{"start":{"line":65,"column":41},"end":{"line":114,"column":1}},"line":65},"4":{"name":"(anonymous_4)","decl":{"start":{"line":66,"column":19},"end":{"line":66,"column":20}},"loc":{"start":{"line":66,"column":25},"end":{"line":104,"column":3}},"line":66},"5":{"name":"(anonymous_5)","decl":{"start":{"line":105,"column":34},"end":{"line":105,"column":35}},"loc":{"start":{"line":105,"column":46},"end":{"line":113,"column":3}},"line":105}},"branchMap":{"0":{"loc":{"start":{"line":45,"column":2},"end":{"line":47,"column":3}},"type":"if","locations":[{"start":{"line":45,"column":2},"end":{"line":47,"column":3}},{"start":{},"end":{}}],"line":45},"1":{"loc":{"start":{"line":53,"column":2},"end":{"line":55,"column":3}},"type":"if","locations":[{"start":{"line":53,"column":2},"end":{"line":55,"column":3}},{"start":{},"end":{}}],"line":53},"2":{"loc":{"start":{"line":71,"column":6},"end":{"line":73,"column":7}},"type":"if","locations":[{"start":{"line":71,"column":6},"end":{"line":73,"column":7}},{"start":{},"end":{}}],"line":71},"3":{"loc":{"start":{"line":85,"column":21},"end":{"line":85,"column":67}},"type":"binary-expr","locations":[{"start":{"line":85,"column":21},"end":{"line":85,"column":53}},{"start":{"line":85,"column":57},"end":{"line":85,"column":67}}],"line":85},"4":{"loc":{"start":{"line":109,"column":12},"end":{"line":109,"column":47}},"type":"cond-expr","locations":[{"start":{"line":109,"column":20},"end":{"line":109,"column":40}},{"start":{"line":109,"column":43},"end":{"line":109,"column":47}}],"line":109}},"s":{"0":1,"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":2,"20":2,"21":2,"22":2,"23":2,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":2,"33":208,"34":208,"35":208,"36":1},"f":{"0":1,"1":0,"2":0,"3":2,"4":2,"5":208},"b":{"0":[0,0],"1":[0,0],"2":[2,0],"3":[0,0],"4":[18,190]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"87c6091ba4d63b59b724697ffa77d6d0a468a0be"}
4
4
  ,"/home/runner/work/rnx-kit/rnx-kit/packages/cli/src/bundle/defaultPlugins.ts": {"path":"/home/runner/work/rnx-kit/rnx-kit/packages/cli/src/bundle/defaultPlugins.ts","statementMap":{"0":{"start":{"line":5,"column":39},"end":{"line":12,"column":1}},"1":{"start":{"line":15,"column":2},"end":{"line":15,"column":24}}},"fnMap":{"0":{"name":"getDefaultBundlerPlugins","decl":{"start":{"line":14,"column":16},"end":{"line":14,"column":40}},"loc":{"start":{"line":14,"column":59},"end":{"line":16,"column":1}},"line":14}},"branchMap":{},"s":{"0":3,"1":11},"f":{"0":11},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"dac74f5e0fd407a608768f2ad84aa777d251ac01"}
5
5
  ,"/home/runner/work/rnx-kit/rnx-kit/packages/cli/src/bundle/kit-config.ts": {"path":"/home/runner/work/rnx-kit/rnx-kit/packages/cli/src/bundle/kit-config.ts","statementMap":{"0":{"start":{"line":21,"column":2},"end":{"line":23,"column":3}},"1":{"start":{"line":22,"column":4},"end":{"line":22,"column":30}},"2":{"start":{"line":24,"column":2},"end":{"line":26,"column":3}},"3":{"start":{"line":25,"column":4},"end":{"line":25,"column":27}},"4":{"start":{"line":27,"column":2},"end":{"line":29,"column":4}},"5":{"start":{"line":34,"column":4},"end":{"line":34,"column":70}},"6":{"start":{"line":36,"column":2},"end":{"line":40,"column":4}},"7":{"start":{"line":58,"column":20},"end":{"line":58,"column":34}},"8":{"start":{"line":59,"column":28},"end":{"line":61,"column":15}},"9":{"start":{"line":62,"column":23},"end":{"line":62,"column":46}},"10":{"start":{"line":64,"column":20},"end":{"line":64,"column":78}},"11":{"start":{"line":66,"column":2},"end":{"line":80,"column":5}},"12":{"start":{"line":67,"column":33},"end":{"line":70,"column":5}},"13":{"start":{"line":74,"column":4},"end":{"line":79,"column":6}}},"fnMap":{"0":{"name":"getTargetPlatforms","decl":{"start":{"line":17,"column":16},"end":{"line":17,"column":34}},"loc":{"start":{"line":20,"column":18},"end":{"line":30,"column":1}},"line":20},"1":{"name":"getDefaultBundleParameters","decl":{"start":{"line":32,"column":9},"end":{"line":32,"column":35}},"loc":{"start":{"line":32,"column":54},"end":{"line":41,"column":1}},"line":32},"2":{"name":"getCliPlatformBundleConfigs","decl":{"start":{"line":54,"column":16},"end":{"line":54,"column":43}},"loc":{"start":{"line":57,"column":29},"end":{"line":81,"column":1}},"line":57},"3":{"name":"(anonymous_3)","decl":{"start":{"line":66,"column":48},"end":{"line":66,"column":49}},"loc":{"start":{"line":66,"column":62},"end":{"line":80,"column":3}},"line":66}},"branchMap":{"0":{"loc":{"start":{"line":21,"column":2},"end":{"line":23,"column":3}},"type":"if","locations":[{"start":{"line":21,"column":2},"end":{"line":23,"column":3}},{"start":{},"end":{}}],"line":21},"1":{"loc":{"start":{"line":24,"column":2},"end":{"line":26,"column":3}},"type":"if","locations":[{"start":{"line":24,"column":2},"end":{"line":26,"column":3}},{"start":{},"end":{}}],"line":24},"2":{"loc":{"start":{"line":24,"column":6},"end":{"line":24,"column":51}},"type":"binary-expr","locations":[{"start":{"line":24,"column":6},"end":{"line":24,"column":21}},{"start":{"line":24,"column":25},"end":{"line":24,"column":51}}],"line":24},"3":{"loc":{"start":{"line":34,"column":4},"end":{"line":34,"column":70}},"type":"cond-expr","locations":[{"start":{"line":34,"column":49},"end":{"line":34,"column":59}},{"start":{"line":34,"column":62},"end":{"line":34,"column":70}}],"line":34},"4":{"loc":{"start":{"line":34,"column":4},"end":{"line":34,"column":46}},"type":"binary-expr","locations":[{"start":{"line":34,"column":4},"end":{"line":34,"column":22}},{"start":{"line":34,"column":26},"end":{"line":34,"column":46}}],"line":34},"5":{"loc":{"start":{"line":59,"column":28},"end":{"line":61,"column":15}},"type":"cond-expr","locations":[{"start":{"line":60,"column":6},"end":{"line":60,"column":36}},{"start":{"line":61,"column":6},"end":{"line":61,"column":15}}],"line":59},"6":{"loc":{"start":{"line":62,"column":23},"end":{"line":62,"column":46}},"type":"binary-expr","locations":[{"start":{"line":62,"column":23},"end":{"line":62,"column":40}},{"start":{"line":62,"column":44},"end":{"line":62,"column":46}}],"line":62}},"s":{"0":10,"1":7,"2":3,"3":2,"4":1,"5":10,"6":10,"7":7,"8":7,"9":7,"10":7,"11":7,"12":10,"13":10},"f":{"0":10,"1":10,"2":7,"3":10},"b":{"0":[7,3],"1":[2,1],"2":[3,2],"3":[5,5],"4":[10,7],"5":[3,4],"6":[7,4]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"fee4241adec89c9ab28f6dc426a9942e034f9246"}
6
- ,"/home/runner/work/rnx-kit/rnx-kit/packages/cli/src/bundle/metro.ts": {"path":"/home/runner/work/rnx-kit/rnx-kit/packages/cli/src/bundle/metro.ts","statementMap":{"0":{"start":{"line":11,"column":2},"end":{"line":11,"column":52}},"1":{"start":{"line":33,"column":2},"end":{"line":33,"column":47}},"2":{"start":{"line":35,"column":2},"end":{"line":38,"column":5}},"3":{"start":{"line":40,"column":43},"end":{"line":44,"column":3}},"4":{"start":{"line":47,"column":2},"end":{"line":47,"column":56}},"5":{"start":{"line":48,"column":2},"end":{"line":50,"column":3}},"6":{"start":{"line":49,"column":4},"end":{"line":49,"column":61}},"7":{"start":{"line":51,"column":2},"end":{"line":53,"column":3}},"8":{"start":{"line":52,"column":4},"end":{"line":52,"column":42}},"9":{"start":{"line":56,"column":2},"end":{"line":56,"column":45}}},"fnMap":{"0":{"name":"ensureDir","decl":{"start":{"line":10,"column":9},"end":{"line":10,"column":18}},"loc":{"start":{"line":10,"column":36},"end":{"line":12,"column":1}},"line":10},"1":{"name":"metroBundle","decl":{"start":{"line":26,"column":22},"end":{"line":26,"column":33}},"loc":{"start":{"line":32,"column":17},"end":{"line":57,"column":1}},"line":32}},"branchMap":{"0":{"loc":{"start":{"line":31,"column":2},"end":{"line":31,"column":17}},"type":"default-arg","locations":[{"start":{"line":31,"column":11},"end":{"line":31,"column":17}}],"line":31},"1":{"loc":{"start":{"line":37,"column":15},"end":{"line":37,"column":45}},"type":"binary-expr","locations":[{"start":{"line":37,"column":15},"end":{"line":37,"column":19}},{"start":{"line":37,"column":23},"end":{"line":37,"column":45}}],"line":37},"2":{"loc":{"start":{"line":48,"column":2},"end":{"line":50,"column":3}},"type":"if","locations":[{"start":{"line":48,"column":2},"end":{"line":50,"column":3}},{"start":{},"end":{}}],"line":48},"3":{"loc":{"start":{"line":51,"column":2},"end":{"line":53,"column":3}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":53,"column":3}},{"start":{},"end":{}}],"line":51}},"s":{"0":12,"1":4,"2":4,"3":4,"4":4,"5":4,"6":4,"7":4,"8":4,"9":4},"f":{"0":12,"1":4},"b":{"0":[4],"1":[4,0],"2":[4,0],"3":[4,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c49f5f480fb0a2ae32acb144e9fa9291c3afa1ea"}
7
- ,"/home/runner/work/rnx-kit/rnx-kit/packages/cli/src/bundle/overrides.ts": {"path":"/home/runner/work/rnx-kit/rnx-kit/packages/cli/src/bundle/overrides.ts","statementMap":{"0":{"start":{"line":21,"column":2},"end":{"line":30,"column":3}},"1":{"start":{"line":44,"column":27},"end":{"line":44,"column":54}},"2":{"start":{"line":45,"column":2},"end":{"line":49,"column":3}},"3":{"start":{"line":46,"column":4},"end":{"line":48,"column":5}},"4":{"start":{"line":47,"column":6},"end":{"line":47,"column":46}}},"fnMap":{"0":{"name":"applyBundleConfigOverrides","decl":{"start":{"line":39,"column":16},"end":{"line":39,"column":42}},"loc":{"start":{"line":43,"column":8},"end":{"line":50,"column":1}},"line":43}},"branchMap":{"0":{"loc":{"start":{"line":45,"column":2},"end":{"line":49,"column":3}},"type":"if","locations":[{"start":{"line":45,"column":2},"end":{"line":49,"column":3}},{"start":{},"end":{}}],"line":45}},"s":{"0":1,"1":10,"2":10,"3":9,"4":9},"f":{"0":10},"b":{"0":[9,1]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"d4a1910cf65b44037b47502cbfb60286de6de72e"}
6
+ ,"/home/runner/work/rnx-kit/rnx-kit/packages/cli/src/bundle/metro.ts": {"path":"/home/runner/work/rnx-kit/rnx-kit/packages/cli/src/bundle/metro.ts","statementMap":{"0":{"start":{"line":11,"column":2},"end":{"line":11,"column":52}},"1":{"start":{"line":33,"column":2},"end":{"line":33,"column":47}},"2":{"start":{"line":35,"column":2},"end":{"line":45,"column":3}},"3":{"start":{"line":36,"column":4},"end":{"line":42,"column":5}},"4":{"start":{"line":37,"column":6},"end":{"line":41,"column":7}},"5":{"start":{"line":38,"column":8},"end":{"line":38,"column":47}},"6":{"start":{"line":40,"column":8},"end":{"line":40,"column":44}},"7":{"start":{"line":44,"column":4},"end":{"line":44,"column":35}},"8":{"start":{"line":47,"column":2},"end":{"line":47,"column":50}},"9":{"start":{"line":49,"column":43},"end":{"line":53,"column":3}},"10":{"start":{"line":56,"column":2},"end":{"line":56,"column":56}},"11":{"start":{"line":57,"column":2},"end":{"line":59,"column":3}},"12":{"start":{"line":58,"column":4},"end":{"line":58,"column":61}},"13":{"start":{"line":60,"column":2},"end":{"line":62,"column":3}},"14":{"start":{"line":61,"column":4},"end":{"line":61,"column":42}},"15":{"start":{"line":65,"column":2},"end":{"line":65,"column":45}}},"fnMap":{"0":{"name":"ensureDir","decl":{"start":{"line":10,"column":9},"end":{"line":10,"column":18}},"loc":{"start":{"line":10,"column":36},"end":{"line":12,"column":1}},"line":10},"1":{"name":"metroBundle","decl":{"start":{"line":26,"column":22},"end":{"line":26,"column":33}},"loc":{"start":{"line":32,"column":17},"end":{"line":66,"column":1}},"line":32}},"branchMap":{"0":{"loc":{"start":{"line":31,"column":2},"end":{"line":31,"column":17}},"type":"default-arg","locations":[{"start":{"line":31,"column":11},"end":{"line":31,"column":17}}],"line":31},"1":{"loc":{"start":{"line":35,"column":2},"end":{"line":45,"column":3}},"type":"if","locations":[{"start":{"line":35,"column":2},"end":{"line":45,"column":3}},{"start":{"line":43,"column":9},"end":{"line":45,"column":3}}],"line":35},"2":{"loc":{"start":{"line":35,"column":6},"end":{"line":35,"column":36}},"type":"binary-expr","locations":[{"start":{"line":35,"column":6},"end":{"line":35,"column":10}},{"start":{"line":35,"column":14},"end":{"line":35,"column":36}}],"line":35},"3":{"loc":{"start":{"line":36,"column":4},"end":{"line":42,"column":5}},"type":"if","locations":[{"start":{"line":36,"column":4},"end":{"line":42,"column":5}},{"start":{},"end":{}}],"line":36},"4":{"loc":{"start":{"line":37,"column":6},"end":{"line":41,"column":7}},"type":"if","locations":[{"start":{"line":37,"column":6},"end":{"line":41,"column":7}},{"start":{"line":39,"column":13},"end":{"line":41,"column":7}}],"line":37},"5":{"loc":{"start":{"line":57,"column":2},"end":{"line":59,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":59,"column":3}},{"start":{},"end":{}}],"line":57},"6":{"loc":{"start":{"line":60,"column":2},"end":{"line":62,"column":3}},"type":"if","locations":[{"start":{"line":60,"column":2},"end":{"line":62,"column":3}},{"start":{},"end":{}}],"line":60}},"s":{"0":12,"1":4,"2":4,"3":0,"4":0,"5":0,"6":0,"7":4,"8":4,"9":4,"10":4,"11":4,"12":4,"13":4,"14":4,"15":4},"f":{"0":12,"1":4},"b":{"0":[4],"1":[0,4],"2":[4,0],"3":[0,0],"4":[0,0],"5":[4,0],"6":[4,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"01513a5524f010aac525ab1df8e01d642980560f"}
7
+ ,"/home/runner/work/rnx-kit/rnx-kit/packages/cli/src/bundle/overrides.ts": {"path":"/home/runner/work/rnx-kit/rnx-kit/packages/cli/src/bundle/overrides.ts","statementMap":{"0":{"start":{"line":22,"column":2},"end":{"line":31,"column":3}},"1":{"start":{"line":45,"column":27},"end":{"line":45,"column":54}},"2":{"start":{"line":46,"column":2},"end":{"line":50,"column":3}},"3":{"start":{"line":47,"column":4},"end":{"line":49,"column":5}},"4":{"start":{"line":48,"column":6},"end":{"line":48,"column":46}}},"fnMap":{"0":{"name":"applyBundleConfigOverrides","decl":{"start":{"line":40,"column":16},"end":{"line":40,"column":42}},"loc":{"start":{"line":44,"column":8},"end":{"line":51,"column":1}},"line":44}},"branchMap":{"0":{"loc":{"start":{"line":46,"column":2},"end":{"line":50,"column":3}},"type":"if","locations":[{"start":{"line":46,"column":2},"end":{"line":50,"column":3}},{"start":{},"end":{}}],"line":46}},"s":{"0":1,"1":10,"2":10,"3":9,"4":9},"f":{"0":10},"b":{"0":[9,1]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"4e940eb3cd456bd9f37a05138f4e74336c55e113"}
8
8
  }
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">56.07% </span>
26
+ <span class="strong">55.59% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>157/280</span>
28
+ <span class='fraction'>159/286</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">51.11% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>91/174</span>
35
+ <span class='fraction'>92/180</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">55.91% </span>
47
+ <span class="strong">55.43% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>156/279</span>
49
+ <span class='fraction'>158/285</span>
50
50
  </div>
51
51
 
52
52
 
@@ -95,17 +95,17 @@
95
95
 
96
96
  <tr>
97
97
  <td class="file high" data-value="src/bundle"><a href="src/bundle/index.html">src/bundle</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>
98
+ <td data-value="89.18" class="pic high">
99
+ <div class="chart"><div class="cover-fill" style="width: 89%"></div><div class="cover-empty" style="width: 11%"></div></div>
100
100
  </td>
101
- <td data-value="100" class="pct high">100%</td>
102
- <td data-value="31" class="abs high">31/31</td>
103
- <td data-value="86.95" class="pct high">86.95%</td>
104
- <td data-value="23" class="abs high">20/23</td>
101
+ <td data-value="89.18" class="pct high">89.18%</td>
102
+ <td data-value="37" class="abs high">33/37</td>
103
+ <td data-value="72.41" class="pct medium">72.41%</td>
104
+ <td data-value="29" class="abs medium">21/29</td>
105
105
  <td data-value="100" class="pct high">100%</td>
106
106
  <td data-value="8" class="abs high">8/8</td>
107
- <td data-value="100" class="pct high">100%</td>
108
- <td data-value="31" class="abs high">31/31</td>
107
+ <td data-value="89.18" class="pct high">89.18%</td>
108
+ <td data-value="37" class="abs high">33/37</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 Mon Sep 25 2023 14:56:44 GMT+0000 (Coordinated Universal Time)
119
+ at Tue Oct 10 2023 08:42:52 GMT+0000 (Coordinated Universal Time)
120
120
  </div>
121
121
  <script src="prettify.js"></script>
122
122
  <script>
@@ -118,7 +118,7 @@ export function getDefaultBundlerPlugins(): DefaultPlugins {
118
118
  <div class='footer quiet pad2 space-top1 center small'>
119
119
  Code coverage generated by
120
120
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
121
- at Mon Sep 25 2023 14:56:44 GMT+0000 (Coordinated Universal Time)
121
+ at Tue Oct 10 2023 08:42:52 GMT+0000 (Coordinated Universal Time)
122
122
  </div>
123
123
  <script src="../../prettify.js"></script>
124
124
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
26
+ <span class="strong">89.18% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>31/31</span>
28
+ <span class='fraction'>33/37</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">86.95% </span>
33
+ <span class="strong">72.41% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>20/23</span>
35
+ <span class='fraction'>21/29</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
47
+ <span class="strong">89.18% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>31/31</span>
49
+ <span class='fraction'>33/37</span>
50
50
  </div>
51
51
 
52
52
 
@@ -109,18 +109,18 @@
109
109
  </tr>
110
110
 
111
111
  <tr>
112
- <td class="file high" data-value="metro.ts"><a href="metro.ts.html">metro.ts</a></td>
113
- <td data-value="100" class="pic high">
114
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
112
+ <td class="file medium" data-value="metro.ts"><a href="metro.ts.html">metro.ts</a></td>
113
+ <td data-value="75" class="pic medium">
114
+ <div class="chart"><div class="cover-fill" style="width: 75%"></div><div class="cover-empty" style="width: 25%"></div></div>
115
115
  </td>
116
- <td data-value="100" class="pct high">100%</td>
117
- <td data-value="10" class="abs high">10/10</td>
118
- <td data-value="57.14" class="pct medium">57.14%</td>
119
- <td data-value="7" class="abs medium">4/7</td>
116
+ <td data-value="75" class="pct medium">75%</td>
117
+ <td data-value="16" class="abs medium">12/16</td>
118
+ <td data-value="38.46" class="pct low">38.46%</td>
119
+ <td data-value="13" class="abs low">5/13</td>
120
120
  <td data-value="100" class="pct high">100%</td>
121
121
  <td data-value="2" class="abs high">2/2</td>
122
- <td data-value="100" class="pct high">100%</td>
123
- <td data-value="10" class="abs high">10/10</td>
122
+ <td data-value="75" class="pct medium">75%</td>
123
+ <td data-value="16" class="abs medium">12/16</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
@@ -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 Mon Sep 25 2023 14:56:44 GMT+0000 (Coordinated Universal Time)
149
+ at Tue Oct 10 2023 08:42:52 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 Mon Sep 25 2023 14:56:44 GMT+0000 (Coordinated Universal Time)
316
+ at Tue Oct 10 2023 08:42:52 GMT+0000 (Coordinated Universal Time)
317
317
  </div>
318
318
  <script src="../../prettify.js"></script>
319
319
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
26
+ <span class="strong">75% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>10/10</span>
28
+ <span class='fraction'>12/16</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">57.14% </span>
33
+ <span class="strong">38.46% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>4/7</span>
35
+ <span class='fraction'>5/13</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
47
+ <span class="strong">75% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>10/10</span>
49
+ <span class='fraction'>12/16</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 high'></div>
64
+ <div class='status-line medium'></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>
@@ -120,7 +120,16 @@
120
120
  <a name='L55'></a><a href='#L55'>55</a>
121
121
  <a name='L56'></a><a href='#L56'>56</a>
122
122
  <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
124
133
  <span class="cline-any cline-neutral">&nbsp;</span>
125
134
  <span class="cline-any cline-neutral">&nbsp;</span>
126
135
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -155,9 +164,18 @@
155
164
  <span class="cline-any cline-yes">4x</span>
156
165
  <span class="cline-any cline-neutral">&nbsp;</span>
157
166
  <span class="cline-any cline-yes">4x</span>
167
+ <span class="cline-any cline-no">&nbsp;</span>
168
+ <span class="cline-any cline-no">&nbsp;</span>
169
+ <span class="cline-any cline-no">&nbsp;</span>
170
+ <span class="cline-any cline-neutral">&nbsp;</span>
171
+ <span class="cline-any cline-no">&nbsp;</span>
172
+ <span class="cline-any cline-neutral">&nbsp;</span>
173
+ <span class="cline-any cline-neutral">&nbsp;</span>
158
174
  <span class="cline-any cline-neutral">&nbsp;</span>
175
+ <span class="cline-any cline-yes">4x</span>
159
176
  <span class="cline-any cline-neutral">&nbsp;</span>
160
177
  <span class="cline-any cline-neutral">&nbsp;</span>
178
+ <span class="cline-any cline-yes">4x</span>
161
179
  <span class="cline-any cline-neutral">&nbsp;</span>
162
180
  <span class="cline-any cline-yes">4x</span>
163
181
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -211,10 +229,19 @@ export async function metroBundle(
211
229
  ): Promise&lt;void&gt; {
212
230
  info(`Bundling ${bundleConfig.platform}...`);
213
231
  &nbsp;
214
- customizeMetroConfig(metroConfig, {
215
- ...bundleConfig,
216
- treeShake: !dev &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >bundleConfig.treeShake,</span>
217
- });
232
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!dev &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >bundleConfig.treeShake)</span> {
233
+ <span class="cstat-no" title="statement not covered" > if (minify != null) {</span>
234
+ <span class="cstat-no" title="statement not covered" > if (typeof bundleConfig.treeShake === "object") {</span>
235
+ <span class="cstat-no" title="statement not covered" > bundleConfig.treeShake.minify = minify;</span>
236
+ } else {
237
+ <span class="cstat-no" title="statement not covered" > bundleConfig.treeShake = { minify };</span>
238
+ }
239
+ }
240
+ } else {
241
+ bundleConfig.treeShake = false;
242
+ }
243
+ &nbsp;
244
+ customizeMetroConfig(metroConfig, bundleConfig);
218
245
  &nbsp;
219
246
  const metroBundleArgs: MetroBundleArgs = {
220
247
  ...bundleConfig,
@@ -241,7 +268,7 @@ export async function metroBundle(
241
268
  <div class='footer quiet pad2 space-top1 center small'>
242
269
  Code coverage generated by
243
270
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
244
- at Mon Sep 25 2023 14:56:44 GMT+0000 (Coordinated Universal Time)
271
+ at Tue Oct 10 2023 08:42:52 GMT+0000 (Coordinated Universal Time)
245
272
  </div>
246
273
  <script src="../../prettify.js"></script>
247
274
  <script>
@@ -113,7 +113,9 @@
113
113
  <a name='L48'></a><a href='#L48'>48</a>
114
114
  <a name='L49'></a><a href='#L49'>49</a>
115
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>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
118
+ <span class="cline-any cline-neutral">&nbsp;</span>
117
119
  <span class="cline-any cline-neutral">&nbsp;</span>
118
120
  <span class="cline-any cline-neutral">&nbsp;</span>
119
121
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -179,6 +181,7 @@ type BundleConfigOverrides = Partial&lt;
179
181
  | "treeShake"
180
182
  | "unstableTransformProfile"
181
183
  | "indexedRamBundle"
184
+ | "hermes"
182
185
  &gt;
183
186
  &gt;;
184
187
  &nbsp;
@@ -220,7 +223,7 @@ export function applyBundleConfigOverrides(
220
223
  <div class='footer quiet pad2 space-top1 center small'>
221
224
  Code coverage generated by
222
225
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
223
- at Mon Sep 25 2023 14:56:44 GMT+0000 (Coordinated Universal Time)
226
+ at Tue Oct 10 2023 08:42:52 GMT+0000 (Coordinated Universal Time)
224
227
  </div>
225
228
  <script src="../../prettify.js"></script>
226
229
  <script>
@@ -1708,7 +1708,7 @@ export const rnxCopyAssetsCommand = {
1708
1708
  <div class='footer quiet pad2 space-top1 center small'>
1709
1709
  Code coverage generated by
1710
1710
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1711
- at Mon Sep 25 2023 14:56:44 GMT+0000 (Coordinated Universal Time)
1711
+ at Tue Oct 10 2023 08:42:52 GMT+0000 (Coordinated Universal Time)
1712
1712
  </div>
1713
1713
  <script src="../prettify.js"></script>
1714
1714
  <script>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at Mon Sep 25 2023 14:56:44 GMT+0000 (Coordinated Universal Time)
134
+ at Tue Oct 10 2023 08:42:52 GMT+0000 (Coordinated Universal Time)
135
135
  </div>
136
136
  <script src="../prettify.js"></script>
137
137
  <script>
@@ -694,7 +694,7 @@ export function customizeMetroConfig(
694
694
  <div class='footer quiet pad2 space-top1 center small'>
695
695
  Code coverage generated by
696
696
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
697
- at Mon Sep 25 2023 14:56:44 GMT+0000 (Coordinated Universal Time)
697
+ at Tue Oct 10 2023 08:42:52 GMT+0000 (Coordinated Universal Time)
698
698
  </div>
699
699
  <script src="../prettify.js"></script>
700
700
  <script>
@@ -454,7 +454,7 @@ export const rnxTestCommand = {
454
454
  <div class='footer quiet pad2 space-top1 center small'>
455
455
  Code coverage generated by
456
456
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
457
- at Mon Sep 25 2023 14:56:44 GMT+0000 (Coordinated Universal Time)
457
+ at Tue Oct 10 2023 08:42:52 GMT+0000 (Coordinated Universal Time)
458
458
  </div>
459
459
  <script src="../prettify.js"></script>
460
460
  <script>
@@ -547,40 +547,52 @@ FNDA:4,metroBundle
547
547
  DA:11,12
548
548
  DA:33,4
549
549
  DA:35,4
550
- DA:40,4
550
+ DA:36,0
551
+ DA:37,0
552
+ DA:38,0
553
+ DA:40,0
554
+ DA:44,4
551
555
  DA:47,4
552
- DA:48,4
553
556
  DA:49,4
554
- DA:51,4
555
- DA:52,4
556
557
  DA:56,4
557
- LF:10
558
- LH:10
558
+ DA:57,4
559
+ DA:58,4
560
+ DA:60,4
561
+ DA:61,4
562
+ DA:65,4
563
+ LF:16
564
+ LH:12
559
565
  BRDA:31,0,0,4
560
- BRDA:37,1,0,4
561
- BRDA:37,1,1,0
562
- BRDA:48,2,0,4
563
- BRDA:48,2,1,0
564
- BRDA:51,3,0,4
565
- BRDA:51,3,1,0
566
- BRF:7
567
- BRH:4
566
+ BRDA:35,1,0,0
567
+ BRDA:35,1,1,4
568
+ BRDA:35,2,0,4
569
+ BRDA:35,2,1,0
570
+ BRDA:36,3,0,0
571
+ BRDA:36,3,1,0
572
+ BRDA:37,4,0,0
573
+ BRDA:37,4,1,0
574
+ BRDA:57,5,0,4
575
+ BRDA:57,5,1,0
576
+ BRDA:60,6,0,4
577
+ BRDA:60,6,1,0
578
+ BRF:13
579
+ BRH:5
568
580
  end_of_record
569
581
  TN:
570
582
  SF:src/bundle/overrides.ts
571
- FN:39,applyBundleConfigOverrides
583
+ FN:40,applyBundleConfigOverrides
572
584
  FNF:1
573
585
  FNH:1
574
586
  FNDA:10,applyBundleConfigOverrides
575
- DA:21,1
576
- DA:44,10
587
+ DA:22,1
577
588
  DA:45,10
578
- DA:46,9
589
+ DA:46,10
579
590
  DA:47,9
591
+ DA:48,9
580
592
  LF:5
581
593
  LH:5
582
- BRDA:45,0,0,9
583
- BRDA:45,0,1,1
594
+ BRDA:46,0,0,9
595
+ BRDA:46,0,1,1
584
596
  BRF:2
585
597
  BRH:2
586
598
  end_of_record
@@ -0,0 +1,3 @@
1
+ import type { HermesOptions } from "@rnx-kit/config";
2
+ export declare function emitBytecode(input: string, sourcemap: string | undefined, options: HermesOptions): void;
3
+ //# sourceMappingURL=hermes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hermes.d.ts","sourceRoot":"","sources":["../../src/bundle/hermes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA+DrD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,EAAE,aAAa,GACrB,IAAI,CAoCN"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.emitBytecode = void 0;
27
+ const console_1 = require("@rnx-kit/console");
28
+ const package_1 = require("@rnx-kit/tools-node/package");
29
+ const child_process_1 = require("child_process");
30
+ const fs = __importStar(require("fs"));
31
+ const os = __importStar(require("os"));
32
+ const path = __importStar(require("path"));
33
+ function hermesBinaryInDir(hermesc) {
34
+ switch (os.platform()) {
35
+ case "darwin":
36
+ return path.join(hermesc, "osx-bin", "hermesc");
37
+ case "linux":
38
+ return path.join(hermesc, "linux64-bin", "hermesc");
39
+ case "win32":
40
+ return path.join(hermesc, "win64-bin", "hermesc.exe");
41
+ default:
42
+ return null;
43
+ }
44
+ }
45
+ function findHermesBinary() {
46
+ const locations = [
47
+ () => {
48
+ const rnPath = (0, package_1.findPackageDependencyDir)("react-native");
49
+ if (!rnPath) {
50
+ throw new Error("Cannot find module 'react-native'");
51
+ }
52
+ return path.join(rnPath, "sdks", "hermesc");
53
+ },
54
+ () => (0, package_1.findPackageDependencyDir)("hermes-engine"),
55
+ ];
56
+ for (const getLocation of locations) {
57
+ const location = getLocation();
58
+ if (location) {
59
+ const hermesc = hermesBinaryInDir(location);
60
+ if (hermesc && fs.existsSync(hermesc)) {
61
+ return hermesc;
62
+ }
63
+ }
64
+ }
65
+ return null;
66
+ }
67
+ function getOutput(args) {
68
+ const length = args.length;
69
+ for (let i = 0; i < length; ++i) {
70
+ const flag = args[i];
71
+ if (flag === "-out") {
72
+ return args[i + 1];
73
+ }
74
+ else if (flag.startsWith("-out=")) {
75
+ return flag.substring(5);
76
+ }
77
+ }
78
+ return null;
79
+ }
80
+ function isSourceMapFlag(flag) {
81
+ return flag === "-source-map" || flag.startsWith("-source-map=");
82
+ }
83
+ function emitBytecode(input, sourcemap, options) {
84
+ var _a;
85
+ const cmd = options.command || findHermesBinary();
86
+ if (!cmd) {
87
+ (0, console_1.error)("No Hermes compiler was found");
88
+ return;
89
+ }
90
+ const args = [
91
+ "-emit-binary",
92
+ // If Hermes can't detect the width of the terminal, it will set the limit
93
+ // to "unlimited". Since we might be passing a minified bundle to Hermes,
94
+ // limit output width to avoid issues when it outputs diagnostics. See:
95
+ // - https://github.com/microsoft/rnx-kit/issues/2416
96
+ // - https://github.com/microsoft/rnx-kit/issues/2419
97
+ // - https://github.com/microsoft/rnx-kit/issues/2424
98
+ "-max-diagnostic-width=80",
99
+ ...((_a = options.flags) !== null && _a !== void 0 ? _a : ["-O", "-output-source-map", "-w"]),
100
+ ];
101
+ let output = getOutput(args);
102
+ if (!output) {
103
+ output = input + ".hbc";
104
+ args.push("-out", output);
105
+ }
106
+ if (sourcemap && !args.some(isSourceMapFlag)) {
107
+ args.push("-source-map", sourcemap);
108
+ }
109
+ args.push(input);
110
+ (0, console_1.info)("Emitting bytecode to:", output);
111
+ const result = (0, child_process_1.spawnSync)(cmd, args, { stdio: "inherit" });
112
+ if (result.status !== 0) {
113
+ throw result.error;
114
+ }
115
+ }
116
+ exports.emitBytecode = emitBytecode;
117
+ //# sourceMappingURL=hermes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hermes.js","sourceRoot":"","sources":["../../src/bundle/hermes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,8CAA+C;AAC/C,yDAAuE;AACvE,iDAA0C;AAC1C,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;AAE7B,SAAS,iBAAiB,CAAC,OAAe;IACxC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;QACrB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAClD,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QACtD,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;QACxD;YACE,OAAO,IAAI,CAAC;KACf;AACH,CAAC;AAED,SAAS,gBAAgB;IACvB,MAAM,SAAS,GAAG;QAChB,GAAG,EAAE;YACH,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,cAAc,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;aACtD;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAC9C,CAAC;QACD,GAAG,EAAE,CAAC,IAAA,kCAAwB,EAAC,eAAe,CAAC;KAChD,CAAC;IAEF,KAAK,MAAM,WAAW,IAAI,SAAS,EAAE;QACnC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC/B,IAAI,QAAQ,EAAE;YACZ,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;gBACrC,OAAO,OAAO,CAAC;aAChB;SACF;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,IAAI,KAAK,MAAM,EAAE;YACnB,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SACpB;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YACnC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SAC1B;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACnE,CAAC;AAED,SAAgB,YAAY,CAC1B,KAAa,EACb,SAA6B,EAC7B,OAAsB;;IAEtB,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,IAAI,gBAAgB,EAAE,CAAC;IAClD,IAAI,CAAC,GAAG,EAAE;QACR,IAAA,eAAK,EAAC,8BAA8B,CAAC,CAAC;QACtC,OAAO;KACR;IAED,MAAM,IAAI,GAAG;QACX,cAAc;QACd,0EAA0E;QAC1E,yEAAyE;QACzE,uEAAuE;QACvE,uDAAuD;QACvD,uDAAuD;QACvD,uDAAuD;QACvD,0BAA0B;QAC1B,GAAG,CAAC,MAAA,OAAO,CAAC,KAAK,mCAAI,CAAC,IAAI,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC;KACzD,CAAC;IAEF,IAAI,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC3B;IAED,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;QAC5C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;KACrC;IAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEjB,IAAA,cAAI,EAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,MAAM,MAAM,CAAC,KAAK,CAAC;KACpB;AACH,CAAC;AAxCD,oCAwCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"metro.d.ts","sourceRoot":"","sources":["../../src/bundle/metro.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAMvD;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAC/B,WAAW,EAAE,OAAO,EACpB,YAAY,EAAE,uBAAuB,EACrC,GAAG,EAAE,OAAO,EACZ,MAAM,CAAC,EAAE,OAAO,EAChB,MAAM,gBAAS,GACd,OAAO,CAAC,IAAI,CAAC,CAyBf"}
1
+ {"version":3,"file":"metro.d.ts","sourceRoot":"","sources":["../../src/bundle/metro.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAMvD;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAC/B,WAAW,EAAE,OAAO,EACpB,YAAY,EAAE,uBAAuB,EACrC,GAAG,EAAE,OAAO,EACZ,MAAM,CAAC,EAAE,OAAO,EAChB,MAAM,gBAAS,GACd,OAAO,CAAC,IAAI,CAAC,CAkCf"}
@@ -46,10 +46,20 @@ function ensureDir(p) {
46
46
  */
47
47
  async function metroBundle(metroConfig, bundleConfig, dev, minify, output = metro_service_1.bundle) {
48
48
  (0, console_1.info)(`Bundling ${bundleConfig.platform}...`);
49
- (0, metro_config_1.customizeMetroConfig)(metroConfig, {
50
- ...bundleConfig,
51
- treeShake: !dev && bundleConfig.treeShake,
52
- });
49
+ if (!dev && bundleConfig.treeShake) {
50
+ if (minify != null) {
51
+ if (typeof bundleConfig.treeShake === "object") {
52
+ bundleConfig.treeShake.minify = minify;
53
+ }
54
+ else {
55
+ bundleConfig.treeShake = { minify };
56
+ }
57
+ }
58
+ }
59
+ else {
60
+ bundleConfig.treeShake = false;
61
+ }
62
+ (0, metro_config_1.customizeMetroConfig)(metroConfig, bundleConfig);
53
63
  const metroBundleArgs = {
54
64
  ...bundleConfig,
55
65
  dev,
@@ -1 +1 @@
1
- {"version":3,"file":"metro.js","sourceRoot":"","sources":["../../src/bundle/metro.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAwC;AAExC,0DAAgD;AAChD,uCAAyB;AAEzB,2CAA6B;AAC7B,kDAAuD;AAGvD,SAAS,SAAS,CAAC,CAAS;IAC1B,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,WAAW,CAC/B,WAAoB,EACpB,YAAqC,EACrC,GAAY,EACZ,MAAgB,EAChB,MAAM,GAAG,sBAAM;IAEf,IAAA,cAAI,EAAC,YAAY,YAAY,CAAC,QAAQ,KAAK,CAAC,CAAC;IAE7C,IAAA,mCAAoB,EAAC,WAAW,EAAE;QAChC,GAAG,YAAY;QACf,SAAS,EAAE,CAAC,GAAG,IAAI,YAAY,CAAC,SAAS;KAC1C,CAAC,CAAC;IAEH,MAAM,eAAe,GAAoB;QACvC,GAAG,YAAY;QACf,GAAG;QACH,MAAM;KACP,CAAC;IAEF,sCAAsC;IACtC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;IACtD,IAAI,eAAe,CAAC,eAAe,EAAE;QACnC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC;KAC1D;IACD,IAAI,eAAe,CAAC,UAAU,EAAE;QAC9B,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;KACvC;IAED,oBAAoB;IACpB,MAAM,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;AAC7C,CAAC;AA/BD,kCA+BC"}
1
+ {"version":3,"file":"metro.js","sourceRoot":"","sources":["../../src/bundle/metro.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAwC;AAExC,0DAAgD;AAChD,uCAAyB;AAEzB,2CAA6B;AAC7B,kDAAuD;AAGvD,SAAS,SAAS,CAAC,CAAS;IAC1B,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,WAAW,CAC/B,WAAoB,EACpB,YAAqC,EACrC,GAAY,EACZ,MAAgB,EAChB,MAAM,GAAG,sBAAM;IAEf,IAAA,cAAI,EAAC,YAAY,YAAY,CAAC,QAAQ,KAAK,CAAC,CAAC;IAE7C,IAAI,CAAC,GAAG,IAAI,YAAY,CAAC,SAAS,EAAE;QAClC,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,IAAI,OAAO,YAAY,CAAC,SAAS,KAAK,QAAQ,EAAE;gBAC9C,YAAY,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;aACxC;iBAAM;gBACL,YAAY,CAAC,SAAS,GAAG,EAAE,MAAM,EAAE,CAAC;aACrC;SACF;KACF;SAAM;QACL,YAAY,CAAC,SAAS,GAAG,KAAK,CAAC;KAChC;IAED,IAAA,mCAAoB,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAEhD,MAAM,eAAe,GAAoB;QACvC,GAAG,YAAY;QACf,GAAG;QACH,MAAM;KACP,CAAC;IAEF,sCAAsC;IACtC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;IACtD,IAAI,eAAe,CAAC,eAAe,EAAE;QACnC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC;KAC1D;IACD,IAAI,eAAe,CAAC,UAAU,EAAE;QAC9B,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;KACvC;IAED,oBAAoB;IACpB,MAAM,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;AAC7C,CAAC;AAxCD,kCAwCC"}
@@ -1,5 +1,5 @@
1
1
  import type { CliPlatformBundleConfig } from "./types";
2
- type BundleConfigOverrides = Partial<Pick<CliPlatformBundleConfig, "entryFile" | "bundleOutput" | "bundleEncoding" | "sourcemapOutput" | "sourcemapSourcesRoot" | "sourcemapUseAbsolutePath" | "assetsDest" | "treeShake" | "unstableTransformProfile" | "indexedRamBundle">>;
2
+ type BundleConfigOverrides = Partial<Pick<CliPlatformBundleConfig, "entryFile" | "bundleOutput" | "bundleEncoding" | "sourcemapOutput" | "sourcemapSourcesRoot" | "sourcemapUseAbsolutePath" | "assetsDest" | "treeShake" | "unstableTransformProfile" | "indexedRamBundle" | "hermes">>;
3
3
  export declare const overridableCommonBundleOptions: readonly (keyof BundleConfigOverrides)[];
4
4
  /**
5
5
  * Apply overrides, if any, to each rnx-kit bundle configuration. Overrides are applied in-place.
@@ -1 +1 @@
1
- {"version":3,"file":"overrides.d.ts","sourceRoot":"","sources":["../../src/bundle/overrides.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAEvD,KAAK,qBAAqB,GAAG,OAAO,CAClC,IAAI,CACF,uBAAuB,EACrB,WAAW,GACX,cAAc,GACd,gBAAgB,GAChB,iBAAiB,GACjB,sBAAsB,GACtB,0BAA0B,GAC1B,YAAY,GACZ,WAAW,GACX,0BAA0B,GAC1B,kBAAkB,CACrB,CACF,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,SAAS,CAAC,MAAM,qBAAqB,CAAC,EAUhF,CAAC;AAEJ;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,qBAAqB,EAChC,OAAO,EAAE,uBAAuB,EAAE,EAClC,IAAI,EAAE,CAAC,MAAM,qBAAqB,CAAC,EAAE,GACpC,IAAI,CAON"}
1
+ {"version":3,"file":"overrides.d.ts","sourceRoot":"","sources":["../../src/bundle/overrides.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAEvD,KAAK,qBAAqB,GAAG,OAAO,CAClC,IAAI,CACF,uBAAuB,EACrB,WAAW,GACX,cAAc,GACd,gBAAgB,GAChB,iBAAiB,GACjB,sBAAsB,GACtB,0BAA0B,GAC1B,YAAY,GACZ,WAAW,GACX,0BAA0B,GAC1B,kBAAkB,GAClB,QAAQ,CACX,CACF,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,SAAS,CAAC,MAAM,qBAAqB,CAAC,EAUhF,CAAC;AAEJ;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,qBAAqB,EAChC,OAAO,EAAE,uBAAuB,EAAE,EAClC,IAAI,EAAE,CAAC,MAAM,qBAAqB,CAAC,EAAE,GACpC,IAAI,CAON"}
@@ -1 +1 @@
1
- {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../src/bundle/overrides.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAmBnD,QAAA,8BAA8B,GACzC;IACE,YAAY;IACZ,gBAAgB;IAChB,cAAc;IACd,WAAW;IACX,iBAAiB;IACjB,sBAAsB;IACtB,0BAA0B;IAC1B,0BAA0B;CAC3B,CAAC;AAEJ;;;;;;GAMG;AACH,SAAgB,0BAA0B,CACxC,SAAgC,EAChC,OAAkC,EAClC,IAAqC;IAErC,MAAM,gBAAgB,GAAG,IAAA,uBAAU,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACrD,IAAI,gBAAgB,EAAE;QACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;SACzC;KACF;AACH,CAAC;AAXD,gEAWC"}
1
+ {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../src/bundle/overrides.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAoBnD,QAAA,8BAA8B,GACzC;IACE,YAAY;IACZ,gBAAgB;IAChB,cAAc;IACd,WAAW;IACX,iBAAiB;IACjB,sBAAsB;IACtB,0BAA0B;IAC1B,0BAA0B;CAC3B,CAAC;AAEJ;;;;;;GAMG;AACH,SAAgB,0BAA0B,CACxC,SAAgC,EAChC,OAAkC,EAClC,IAAqC;IAErC,MAAM,gBAAgB,GAAG,IAAA,uBAAU,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACrD,IAAI,gBAAgB,EAAE;QACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;SACzC;KACF;AACH,CAAC;AAXD,gEAWC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAS7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,KAAK,gBAAgB,GAAG,sBAAsB,GAAG;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wBAAsB,SAAS,CAC7B,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,gBAAgB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAc5B,CAAC"}
1
+ {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAU7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,KAAK,gBAAgB,GAAG,sBAAsB,GAAG;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wBAAsB,SAAS,CAC7B,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,gBAAgB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAc5B,CAAC"}
package/lib/bundle.js CHANGED
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rnxBundleCommand = exports.rnxBundle = void 0;
4
4
  const metro_service_1 = require("@rnx-kit/metro-service");
5
5
  const cliOptions_1 = require("./bundle/cliOptions");
6
+ const hermes_1 = require("./bundle/hermes");
6
7
  const kit_config_1 = require("./bundle/kit-config");
7
8
  const metro_1 = require("./bundle/metro");
8
9
  const overrides_1 = require("./bundle/overrides");
@@ -12,10 +13,15 @@ async function rnxBundle(_argv, cliConfig, cliOptions) {
12
13
  const bundleConfigs = (0, kit_config_1.getCliPlatformBundleConfigs)(cliOptions.id, cliOptions.platform);
13
14
  (0, overrides_1.applyBundleConfigOverrides)(cliOptions, bundleConfigs, [
14
15
  ...overrides_1.overridableCommonBundleOptions,
16
+ "hermes",
15
17
  "treeShake",
16
18
  ]);
17
19
  for (const bundleConfig of bundleConfigs) {
18
20
  await (0, metro_1.metroBundle)(metroConfig, bundleConfig, cliOptions.dev, cliOptions.minify);
21
+ const { bundleOutput, hermes, sourcemapOutput } = bundleConfig;
22
+ if (hermes) {
23
+ (0, hermes_1.emitBytecode)(bundleOutput, sourcemapOutput, hermes === true ? {} : hermes);
24
+ }
19
25
  }
20
26
  }
21
27
  exports.rnxBundle = rnxBundle;
package/lib/bundle.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":";;;AACA,0DAAyD;AACzD,oDAAiE;AACjE,oDAAkE;AAClE,0CAA6C;AAC7C,kDAG4B;AAE5B,uCAAyC;AAMlC,KAAK,UAAU,SAAS,CAC7B,KAAe,EACf,SAAoB,EACpB,UAA4B;IAE5B,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAe,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAEjE,MAAM,aAAa,GAAG,IAAA,wCAA2B,EAC/C,UAAU,CAAC,EAAE,EACb,UAAU,CAAC,QAAQ,CACpB,CAAC;IAEF,IAAA,sCAA0B,EAAC,UAAU,EAAE,aAAa,EAAE;QACpD,GAAG,0CAA8B;QACjC,WAAW;KACZ,CAAC,CAAC;IAEH,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;QACxC,MAAM,IAAA,mBAAW,EACf,WAAW,EACX,YAAY,EACZ,UAAU,CAAC,GAAG,EACd,UAAU,CAAC,MAAM,CAClB,CAAC;KACH;AACH,CAAC;AAzBD,8BAyBC;AAEY,QAAA,gBAAgB,GAAG;IAC9B,IAAI,EAAE,YAAY;IAClB,WAAW,EACT,0EAA0E;IAC5E,IAAI,EAAE,SAAS;IACf,OAAO,EAAE;QACP,GAAG,uCAA0B;QAC7B;YACE,IAAI,EAAE,wBAAwB;YAC9B,WAAW,EACT,uEAAuE;YACzE,KAAK,EAAE,sBAAY;SACpB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":";;;AACA,0DAAyD;AACzD,oDAAiE;AACjE,4CAA+C;AAC/C,oDAAkE;AAClE,0CAA6C;AAC7C,kDAG4B;AAE5B,uCAAyC;AAMlC,KAAK,UAAU,SAAS,CAC7B,KAAe,EACf,SAAoB,EACpB,UAA4B;IAE5B,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAe,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAEjE,MAAM,aAAa,GAAG,IAAA,wCAA2B,EAC/C,UAAU,CAAC,EAAE,EACb,UAAU,CAAC,QAAQ,CACpB,CAAC;IAEF,IAAA,sCAA0B,EAAC,UAAU,EAAE,aAAa,EAAE;QACpD,GAAG,0CAA8B;QACjC,QAAQ;QACR,WAAW;KACZ,CAAC,CAAC;IAEH,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;QACxC,MAAM,IAAA,mBAAW,EACf,WAAW,EACX,YAAY,EACZ,UAAU,CAAC,GAAG,EACd,UAAU,CAAC,MAAM,CAClB,CAAC;QAEF,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,YAAY,CAAC;QAC/D,IAAI,MAAM,EAAE;YACV,IAAA,qBAAY,EACV,YAAY,EACZ,eAAe,EACf,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAC9B,CAAC;SACH;KACF;AACH,CAAC;AAnCD,8BAmCC;AAEY,QAAA,gBAAgB,GAAG;IAC9B,IAAI,EAAE,YAAY;IAClB,WAAW,EACT,0EAA0E;IAC5E,IAAI,EAAE,SAAS;IACf,OAAO,EAAE;QACP,GAAG,uCAA0B;QAC7B;YACE,IAAI,EAAE,wBAAwB;YAC9B,WAAW,EACT,uEAAuE;YACzE,KAAK,EAAE,sBAAY;SACpB;KACF;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rnx-kit/cli",
3
- "version": "0.16.16",
3
+ "version": "0.16.17",
4
4
  "description": "Command-line interface for working with kit packages in your repo",
5
5
  "homepage": "https://github.com/microsoft/rnx-kit/tree/main/packages/cli#readme",
6
6
  "license": "MIT",
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@rnx-kit/align-deps": "^2.2.2",
23
- "@rnx-kit/config": "^0.6.2",
23
+ "@rnx-kit/config": "^0.6.6",
24
24
  "@rnx-kit/console": "^1.0.11",
25
25
  "@rnx-kit/metro-plugin-cyclic-dependencies-detector": "^1.1.1",
26
26
  "@rnx-kit/metro-plugin-duplicates-checker": "^2.1.1",
@@ -0,0 +1,104 @@
1
+ import type { HermesOptions } from "@rnx-kit/config";
2
+ import { error, info } from "@rnx-kit/console";
3
+ import { findPackageDependencyDir } from "@rnx-kit/tools-node/package";
4
+ import { spawnSync } from "child_process";
5
+ import * as fs from "fs";
6
+ import * as os from "os";
7
+ import * as path from "path";
8
+
9
+ function hermesBinaryInDir(hermesc: string): string | null {
10
+ switch (os.platform()) {
11
+ case "darwin":
12
+ return path.join(hermesc, "osx-bin", "hermesc");
13
+ case "linux":
14
+ return path.join(hermesc, "linux64-bin", "hermesc");
15
+ case "win32":
16
+ return path.join(hermesc, "win64-bin", "hermesc.exe");
17
+ default:
18
+ return null;
19
+ }
20
+ }
21
+
22
+ function findHermesBinary() {
23
+ const locations = [
24
+ () => {
25
+ const rnPath = findPackageDependencyDir("react-native");
26
+ if (!rnPath) {
27
+ throw new Error("Cannot find module 'react-native'");
28
+ }
29
+ return path.join(rnPath, "sdks", "hermesc");
30
+ },
31
+ () => findPackageDependencyDir("hermes-engine"),
32
+ ];
33
+
34
+ for (const getLocation of locations) {
35
+ const location = getLocation();
36
+ if (location) {
37
+ const hermesc = hermesBinaryInDir(location);
38
+ if (hermesc && fs.existsSync(hermesc)) {
39
+ return hermesc;
40
+ }
41
+ }
42
+ }
43
+
44
+ return null;
45
+ }
46
+
47
+ function getOutput(args: string[]): string | null {
48
+ const length = args.length;
49
+ for (let i = 0; i < length; ++i) {
50
+ const flag = args[i];
51
+ if (flag === "-out") {
52
+ return args[i + 1];
53
+ } else if (flag.startsWith("-out=")) {
54
+ return flag.substring(5);
55
+ }
56
+ }
57
+ return null;
58
+ }
59
+
60
+ function isSourceMapFlag(flag: string): boolean {
61
+ return flag === "-source-map" || flag.startsWith("-source-map=");
62
+ }
63
+
64
+ export function emitBytecode(
65
+ input: string,
66
+ sourcemap: string | undefined,
67
+ options: HermesOptions
68
+ ): void {
69
+ const cmd = options.command || findHermesBinary();
70
+ if (!cmd) {
71
+ error("No Hermes compiler was found");
72
+ return;
73
+ }
74
+
75
+ const args = [
76
+ "-emit-binary",
77
+ // If Hermes can't detect the width of the terminal, it will set the limit
78
+ // to "unlimited". Since we might be passing a minified bundle to Hermes,
79
+ // limit output width to avoid issues when it outputs diagnostics. See:
80
+ // - https://github.com/microsoft/rnx-kit/issues/2416
81
+ // - https://github.com/microsoft/rnx-kit/issues/2419
82
+ // - https://github.com/microsoft/rnx-kit/issues/2424
83
+ "-max-diagnostic-width=80",
84
+ ...(options.flags ?? ["-O", "-output-source-map", "-w"]),
85
+ ];
86
+
87
+ let output = getOutput(args);
88
+ if (!output) {
89
+ output = input + ".hbc";
90
+ args.push("-out", output);
91
+ }
92
+
93
+ if (sourcemap && !args.some(isSourceMapFlag)) {
94
+ args.push("-source-map", sourcemap);
95
+ }
96
+
97
+ args.push(input);
98
+
99
+ info("Emitting bytecode to:", output);
100
+ const result = spawnSync(cmd, args, { stdio: "inherit" });
101
+ if (result.status !== 0) {
102
+ throw result.error;
103
+ }
104
+ }
@@ -32,10 +32,19 @@ export async function metroBundle(
32
32
  ): Promise<void> {
33
33
  info(`Bundling ${bundleConfig.platform}...`);
34
34
 
35
- customizeMetroConfig(metroConfig, {
36
- ...bundleConfig,
37
- treeShake: !dev && bundleConfig.treeShake,
38
- });
35
+ if (!dev && bundleConfig.treeShake) {
36
+ if (minify != null) {
37
+ if (typeof bundleConfig.treeShake === "object") {
38
+ bundleConfig.treeShake.minify = minify;
39
+ } else {
40
+ bundleConfig.treeShake = { minify };
41
+ }
42
+ }
43
+ } else {
44
+ bundleConfig.treeShake = false;
45
+ }
46
+
47
+ customizeMetroConfig(metroConfig, bundleConfig);
39
48
 
40
49
  const metroBundleArgs: MetroBundleArgs = {
41
50
  ...bundleConfig,
@@ -14,6 +14,7 @@ type BundleConfigOverrides = Partial<
14
14
  | "treeShake"
15
15
  | "unstableTransformProfile"
16
16
  | "indexedRamBundle"
17
+ | "hermes"
17
18
  >
18
19
  >;
19
20
 
package/src/bundle.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import type { Config as CLIConfig } from "@react-native-community/cli-types";
2
2
  import { loadMetroConfig } from "@rnx-kit/metro-service";
3
3
  import { commonBundleCommandOptions } from "./bundle/cliOptions";
4
+ import { emitBytecode } from "./bundle/hermes";
4
5
  import { getCliPlatformBundleConfigs } from "./bundle/kit-config";
5
6
  import { metroBundle } from "./bundle/metro";
6
7
  import {
@@ -28,6 +29,7 @@ export async function rnxBundle(
28
29
 
29
30
  applyBundleConfigOverrides(cliOptions, bundleConfigs, [
30
31
  ...overridableCommonBundleOptions,
32
+ "hermes",
31
33
  "treeShake",
32
34
  ]);
33
35
 
@@ -38,6 +40,15 @@ export async function rnxBundle(
38
40
  cliOptions.dev,
39
41
  cliOptions.minify
40
42
  );
43
+
44
+ const { bundleOutput, hermes, sourcemapOutput } = bundleConfig;
45
+ if (hermes) {
46
+ emitBytecode(
47
+ bundleOutput,
48
+ sourcemapOutput,
49
+ hermes === true ? {} : hermes
50
+ );
51
+ }
41
52
  }
42
53
  }
43
54