@rnx-kit/cli 0.16.9 → 0.16.10

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/lib/test.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,8CAAyC;AACzC,oDAA+D;AAC/D,mEAAqE;AACrE,2CAA6B;AAiB7B,MAAM,YAAY,GAAG,UAAU,CAAC;AAEhC,SAAS,cAAc;IACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACpE,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,SAAgB,OAAO,CACrB,KAAe,EACf,OAAkB,EAClB,EAAE,QAAQ,EAAQ;IAElB,MAAM,OAAO,GAA6B,CAAC,GAAG,EAAE;QAC9C,IAAI;YACF,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;YAC1C,OAAO,GAAG,CAAC;SACZ;QAAC,OAAO,CAAC,EAAE;YACV,IAAA,eAAK,EAAC,+DAA+D,CAAC,CAAC;YACvE,MAAM,CAAC,CAAC;SACT;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACxD,IAAI,YAAY,GAAG,CAAC,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;KACtD;IAED,4EAA4E;IAC5E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IAElD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACjD,IAAI,aAAa,GAAG,CAAC,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;KACxD;IAED,yEAAyE;IACzE,qEAAqE;IACrE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAE9B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,QAAQ,CAAC;IAC7C,OAAO,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAlCD,0BAkCC;AAED,SAAS,WAAW;IAClB,oDAAoD;IACpD,EAAE;IACF,oEAAoE;IACpE,wCAAwC;IACxC,EAAE;IACF,4EAA4E;IAC5E,gCAAgC;IAChC,IAAI;QACF,MAAM,QAAQ,GAAG,IAAA,qCAAwB,EAAC,cAAc,EAAE,CAAC,IAAI,UAAU,CAAC;QAE1E,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,QAAQ,iBAAiB,CAAC,CAAC;QAE1D,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACzC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YACrE,OAAO;gBACL,IAAI,EAAE,KAAK,MAAM,KAAK,IAAI,GAAG;gBAC7B,WAAW;gBACX,OAAO,EAAE,YAAY;aACtB,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAEY,QAAA,cAAc,GAAG;IAC5B,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,mCAAmC;IAChD,IAAI,EAAE,OAAO;IACb,OAAO,EAAE;QACP;YACE,IAAI,EAAE,8CAA8C;YACpD,WAAW,EAAE,oBAAoB;YACjC,KAAK,EAAE,wBAAa;SACrB;QACD,GAAG,WAAW,EAAE;KACjB;CACF,CAAC"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.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.9",
3
+ "version": "0.16.10",
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",
6
6
  "license": "MIT",
@@ -67,10 +67,10 @@
67
67
  "@types/metro-config": "^0.76.0",
68
68
  "@types/qrcode": "^1.4.2",
69
69
  "eslint": "^8.0.0",
70
- "jest": "^29.0.0",
71
- "memfs": "^3.4.1",
70
+ "jest": "^29.2.1",
71
+ "memfs": "^4.0.0",
72
72
  "metro-config": "^0.73.7",
73
- "prettier": "^2.8.0",
73
+ "prettier": "^3.0.0",
74
74
  "type-fest": "^3.0.0",
75
75
  "typescript": "^5.0.0"
76
76
  },
package/src/test.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { Config as CLIConfig } from "@react-native-community/cli-types";
2
2
  import { error } from "@rnx-kit/console";
3
- import { findPackageDependencyDir } from "@rnx-kit/tools-node";
3
+ import { findPackageDir } from "@rnx-kit/tools-node";
4
4
  import { parsePlatform } from "@rnx-kit/tools-react-native/platform";
5
5
  import * as path from "path";
6
6
 
@@ -21,7 +21,7 @@ type Options = {
21
21
 
22
22
  const COMMAND_NAME = "rnx-test";
23
23
 
24
- function resolveJestCli(): string {
24
+ export function resolveJestCli(): string {
25
25
  const jestPath = path.dirname(require.resolve("jest/package.json"));
26
26
  return require.resolve("jest-cli", { paths: [jestPath] });
27
27
  }
@@ -62,30 +62,55 @@ export function rnxTest(
62
62
  runJest(argv);
63
63
  }
64
64
 
65
- function jestOptions(): Options[] {
66
- // Starting with Jest 27, we are getting this error:
67
- //
68
- // Package subpath './build/cli/args' is not defined by "exports" in
69
- // /~/node_modules/jest-cli/package.json
70
- //
71
- // To work around this, resolve `jest-cli` first, then use the resolved path
72
- // to import `./build/cli/args`.
73
- try {
74
- const jestPath = findPackageDependencyDir(resolveJestCli()) || "jest-cli";
75
-
76
- const { options } = require(`${jestPath}/build/cli/args`);
77
-
78
- return Object.keys(options).map((option) => {
79
- const { default: defaultValue, description, type } = options[option];
80
- return {
81
- name: `--${option} [${type}]`,
82
- description,
83
- default: defaultValue,
84
- };
85
- });
86
- } catch (_) {
87
- return [];
88
- }
65
+ export function jestOptions(): Options[] {
66
+ const options = (() => {
67
+ try {
68
+ // `yargsOptions` is exported as of 29.5.0
69
+ // https://github.com/jestjs/jest/commit/0e8ed24a527b951efe11ed49da46e0bd8c0ebef9
70
+ const { yargsOptions } = require("jest-cli");
71
+ if (yargsOptions) {
72
+ return yargsOptions;
73
+ }
74
+ } catch (_) {
75
+ // ignore
76
+ }
77
+
78
+ // Starting with Jest 27, we are getting this error:
79
+ //
80
+ // Package subpath './build/cli/args' is not defined by "exports" in
81
+ // /~/node_modules/jest-cli/package.json
82
+ //
83
+ // To work around this, resolve `jest-cli` first, then use the resolved
84
+ // path to import `./build/cli/args`.
85
+ const jestPath = findPackageDir(resolveJestCli()) || "jest-cli";
86
+
87
+ try {
88
+ // `args.js` was moved in 29.2.0
89
+ // https://github.com/jestjs/jest/commit/2ecf723c50c5d25b2fe94e1ff8081f36aed9d67b
90
+ const { options } = require(`${jestPath}/build/args`);
91
+ return options;
92
+ } catch (_) {
93
+ // ignore
94
+ }
95
+
96
+ try {
97
+ const { options } = require(`${jestPath}/build/cli/args`);
98
+ return options;
99
+ } catch (_) {
100
+ // ignore
101
+ }
102
+
103
+ return {};
104
+ })();
105
+ return Object.keys(options).map((option) => {
106
+ const { alias, default: defaultValue, description, type } = options[option];
107
+ const name = `--${option} [${type}]`;
108
+ return {
109
+ name: alias ? `-${alias}, ${name}` : name,
110
+ description,
111
+ default: defaultValue,
112
+ };
113
+ });
89
114
  }
90
115
 
91
116
  export const rnxTestCommand = {
@@ -0,0 +1,17 @@
1
+ import { jestOptions, resolveJestCli } from "../src/test";
2
+
3
+ describe("rnx-test", () => {
4
+ test("retrieves options from 'jest-cli'", () => {
5
+ const options = jestOptions();
6
+ expect(options.length).toBeGreaterThan(1);
7
+
8
+ const updateSnapshot = options.find(({ name }) => name.startsWith("-u,"));
9
+ expect(updateSnapshot).toBeDefined();
10
+ });
11
+
12
+ test("resolves 'jest-cli' starting from 'jest'", () => {
13
+ expect(resolveJestCli()).toMatch(
14
+ /node_modules[/\\]jest-cli[/\\]build[/\\]index.js$/
15
+ );
16
+ });
17
+ });