@rnx-kit/cli 0.16.21 → 0.16.22

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,15 @@
1
1
  # Change Log - @rnx-kit/cli
2
2
 
3
+ ## 0.16.22
4
+
5
+ ### Patch Changes
6
+
7
+ - afe49c6: Automatically compose source maps of the JS and Hermes bytecode bundles
8
+ - Updated dependencies [afe49c6]
9
+ - Updated dependencies [8083856]
10
+ - @rnx-kit/tools-react-native@1.3.5
11
+ - @rnx-kit/align-deps@2.3.3
12
+
3
13
  ## 0.16.21
4
14
 
5
15
  ### Patch Changes
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1701772901227" clover="3.2.0">
3
- <project timestamp="1701772901227" name="All files">
2
+ <coverage generated="1705492592442" clover="3.2.0">
3
+ <project timestamp="1705492592442" name="All files">
4
4
  <metrics statements="290" coveredstatements="161" conditionals="182" coveredconditionals="93" methods="35" coveredmethods="27" elements="507" coveredelements="281" complexity="0" loc="290" ncloc="290" packages="2" files="7" classes="7"/>
5
5
  <package name="src">
6
6
  <metrics statements="253" coveredstatements="128" conditionals="153" coveredconditionals="72" methods="27" coveredmethods="19"/>
@@ -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 Tue Dec 05 2023 10:41:41 GMT+0000 (Coordinated Universal Time)
119
+ at Wed Jan 17 2024 11:56:32 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 Tue Dec 05 2023 10:41:41 GMT+0000 (Coordinated Universal Time)
121
+ at Wed Jan 17 2024 11:56:32 GMT+0000 (Coordinated Universal Time)
122
122
  </div>
123
123
  <script src="../../prettify.js"></script>
124
124
  <script>
@@ -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 Tue Dec 05 2023 10:41:41 GMT+0000 (Coordinated Universal Time)
149
+ at Wed Jan 17 2024 11:56:32 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 Tue Dec 05 2023 10:41:41 GMT+0000 (Coordinated Universal Time)
316
+ at Wed Jan 17 2024 11:56:32 GMT+0000 (Coordinated Universal Time)
317
317
  </div>
318
318
  <script src="../../prettify.js"></script>
319
319
  <script>
@@ -268,7 +268,7 @@ export async function metroBundle(
268
268
  <div class='footer quiet pad2 space-top1 center small'>
269
269
  Code coverage generated by
270
270
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
271
- at Tue Dec 05 2023 10:41:41 GMT+0000 (Coordinated Universal Time)
271
+ at Wed Jan 17 2024 11:56:32 GMT+0000 (Coordinated Universal Time)
272
272
  </div>
273
273
  <script src="../../prettify.js"></script>
274
274
  <script>
@@ -223,7 +223,7 @@ export function applyBundleConfigOverrides(
223
223
  <div class='footer quiet pad2 space-top1 center small'>
224
224
  Code coverage generated by
225
225
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
226
- at Tue Dec 05 2023 10:41:41 GMT+0000 (Coordinated Universal Time)
226
+ at Wed Jan 17 2024 11:56:32 GMT+0000 (Coordinated Universal Time)
227
227
  </div>
228
228
  <script src="../../prettify.js"></script>
229
229
  <script>
@@ -1705,7 +1705,7 @@ export const rnxCopyAssetsCommand = {
1705
1705
  <div class='footer quiet pad2 space-top1 center small'>
1706
1706
  Code coverage generated by
1707
1707
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1708
- at Tue Dec 05 2023 10:41:41 GMT+0000 (Coordinated Universal Time)
1708
+ at Wed Jan 17 2024 11:56:32 GMT+0000 (Coordinated Universal Time)
1709
1709
  </div>
1710
1710
  <script src="../prettify.js"></script>
1711
1711
  <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 Tue Dec 05 2023 10:41:41 GMT+0000 (Coordinated Universal Time)
134
+ at Wed Jan 17 2024 11:56:32 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 Tue Dec 05 2023 10:41:41 GMT+0000 (Coordinated Universal Time)
697
+ at Wed Jan 17 2024 11:56:32 GMT+0000 (Coordinated Universal Time)
698
698
  </div>
699
699
  <script src="../prettify.js"></script>
700
700
  <script>
@@ -481,7 +481,7 @@ export const rnxTestCommand = {
481
481
  <div class='footer quiet pad2 space-top1 center small'>
482
482
  Code coverage generated by
483
483
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
484
- at Tue Dec 05 2023 10:41:41 GMT+0000 (Coordinated Universal Time)
484
+ at Wed Jan 17 2024 11:56:32 GMT+0000 (Coordinated Universal Time)
485
485
  </div>
486
486
  <script src="../prettify.js"></script>
487
487
  <script>
@@ -1 +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"}
1
+ {"version":3,"file":"hermes.d.ts","sourceRoot":"","sources":["../../src/bundle/hermes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA4DrD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,EAAE,aAAa,GACrB,IAAI,CAiDN"}
@@ -26,6 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.emitBytecode = void 0;
27
27
  const console_1 = require("@rnx-kit/console");
28
28
  const package_1 = require("@rnx-kit/tools-node/package");
29
+ const metro_1 = require("@rnx-kit/tools-react-native/metro");
29
30
  const child_process_1 = require("child_process");
30
31
  const fs = __importStar(require("fs"));
31
32
  const os = __importStar(require("os"));
@@ -77,9 +78,6 @@ function getOutput(args) {
77
78
  }
78
79
  return null;
79
80
  }
80
- function isSourceMapFlag(flag) {
81
- return flag === "-source-map" || flag.startsWith("-source-map=");
82
- }
83
81
  function emitBytecode(input, sourcemap, options) {
84
82
  var _a;
85
83
  const cmd = options.command || findHermesBinary();
@@ -103,15 +101,25 @@ function emitBytecode(input, sourcemap, options) {
103
101
  output = input + ".hbc";
104
102
  args.push("-out", output);
105
103
  }
106
- if (sourcemap && !args.some(isSourceMapFlag)) {
107
- args.push("-source-map", sourcemap);
108
- }
109
104
  args.push(input);
110
105
  (0, console_1.info)("Emitting bytecode to:", output);
111
106
  const result = (0, child_process_1.spawnSync)(cmd, args, { stdio: "inherit" });
112
107
  if (result.status !== 0) {
113
108
  throw result.error;
114
109
  }
110
+ if (sourcemap && args.includes("-output-source-map")) {
111
+ const outputMap = output + ".map";
112
+ (0, console_1.info)(`Combining source maps: ${sourcemap} + ${outputMap}`);
113
+ const options = { encoding: "utf-8" };
114
+ const packagerSourcemap = JSON.parse(fs.readFileSync(sourcemap, options));
115
+ const compilerSourcemap = JSON.parse(fs.readFileSync(outputMap, options));
116
+ // `composeSourceMaps` was introduced in 0.56 — see
117
+ // https://github.com/facebook/metro/commit/6017085bdad96ca5cec39d50038eb5622ce1097b
118
+ // @ts-expect-error Property 'composeSourceMaps' does not exist
119
+ const { composeSourceMaps } = (0, metro_1.requireModuleFromMetro)("metro-source-map");
120
+ const composed = composeSourceMaps([packagerSourcemap, compilerSourcemap]);
121
+ fs.writeFileSync(outputMap, JSON.stringify(composed));
122
+ }
115
123
  }
116
124
  exports.emitBytecode = emitBytecode;
117
125
  //# sourceMappingURL=hermes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hermes.js","sourceRoot":"","sources":["../../src/bundle/hermes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hermes.js","sourceRoot":"","sources":["../../src/bundle/hermes.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rnx-kit/cli",
3
- "version": "0.16.21",
3
+ "version": "0.16.22",
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",
@@ -27,7 +27,7 @@
27
27
  "test": "rnx-kit-scripts test"
28
28
  },
29
29
  "dependencies": {
30
- "@rnx-kit/align-deps": "^2.2.2",
30
+ "@rnx-kit/align-deps": "^2.3.3",
31
31
  "@rnx-kit/config": "^0.6.6",
32
32
  "@rnx-kit/console": "^1.0.11",
33
33
  "@rnx-kit/metro-plugin-cyclic-dependencies-detector": "^1.1.1",
@@ -39,7 +39,7 @@
39
39
  "@rnx-kit/third-party-notices": "^1.3.4",
40
40
  "@rnx-kit/tools-language": "^2.0.0",
41
41
  "@rnx-kit/tools-node": "^2.1.1",
42
- "@rnx-kit/tools-react-native": "^1.3.4",
42
+ "@rnx-kit/tools-react-native": "^1.3.5",
43
43
  "chalk": "^4.1.0",
44
44
  "fs-extra": "^10.0.0",
45
45
  "node-fetch": "^2.6.7",
@@ -67,6 +67,7 @@
67
67
  "@rnx-kit/eslint-config": "*",
68
68
  "@rnx-kit/jest-preset": "*",
69
69
  "@rnx-kit/scripts": "*",
70
+ "@rnx-kit/tsconfig": "*",
70
71
  "@types/connect": "^3.4.36",
71
72
  "@types/fs-extra": "^9.0.0",
72
73
  "@types/jest": "^29.2.1",
@@ -1,6 +1,7 @@
1
1
  import type { HermesOptions } from "@rnx-kit/config";
2
2
  import { error, info } from "@rnx-kit/console";
3
3
  import { findPackageDependencyDir } from "@rnx-kit/tools-node/package";
4
+ import { requireModuleFromMetro } from "@rnx-kit/tools-react-native/metro";
4
5
  import { spawnSync } from "child_process";
5
6
  import * as fs from "fs";
6
7
  import * as os from "os";
@@ -57,10 +58,6 @@ function getOutput(args: string[]): string | null {
57
58
  return null;
58
59
  }
59
60
 
60
- function isSourceMapFlag(flag: string): boolean {
61
- return flag === "-source-map" || flag.startsWith("-source-map=");
62
- }
63
-
64
61
  export function emitBytecode(
65
62
  input: string,
66
63
  sourcemap: string | undefined,
@@ -90,10 +87,6 @@ export function emitBytecode(
90
87
  args.push("-out", output);
91
88
  }
92
89
 
93
- if (sourcemap && !args.some(isSourceMapFlag)) {
94
- args.push("-source-map", sourcemap);
95
- }
96
-
97
90
  args.push(input);
98
91
 
99
92
  info("Emitting bytecode to:", output);
@@ -101,4 +94,21 @@ export function emitBytecode(
101
94
  if (result.status !== 0) {
102
95
  throw result.error;
103
96
  }
97
+
98
+ if (sourcemap && args.includes("-output-source-map")) {
99
+ const outputMap = output + ".map";
100
+ info(`Combining source maps: ${sourcemap} + ${outputMap}`);
101
+
102
+ const options = { encoding: "utf-8" } as const;
103
+ const packagerSourcemap = JSON.parse(fs.readFileSync(sourcemap, options));
104
+ const compilerSourcemap = JSON.parse(fs.readFileSync(outputMap, options));
105
+
106
+ // `composeSourceMaps` was introduced in 0.56 — see
107
+ // https://github.com/facebook/metro/commit/6017085bdad96ca5cec39d50038eb5622ce1097b
108
+ // @ts-expect-error Property 'composeSourceMaps' does not exist
109
+ const { composeSourceMaps } = requireModuleFromMetro("metro-source-map");
110
+
111
+ const composed = composeSourceMaps([packagerSourcemap, compilerSourcemap]);
112
+ fs.writeFileSync(outputMap, JSON.stringify(composed));
113
+ }
104
114
  }
package/tsconfig.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
- "extends": "@rnx-kit/scripts/tsconfig-shared.json",
2
+ "extends": "@rnx-kit/tsconfig/tsconfig.json",
3
3
  "include": ["src"]
4
4
  }