@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/CHANGELOG.md +6 -0
- package/coverage/clover.xml +44 -4
- package/coverage/coverage-final.json +1 -0
- package/coverage/lcov-report/index.html +19 -19
- package/coverage/lcov-report/src/bundle/defaultPlugins.ts.html +1 -1
- package/coverage/lcov-report/src/bundle/index.html +1 -1
- package/coverage/lcov-report/src/bundle/kit-config.ts.html +1 -1
- package/coverage/lcov-report/src/bundle/metro.ts.html +1 -1
- package/coverage/lcov-report/src/bundle/overrides.ts.html +1 -1
- package/coverage/lcov-report/src/copy-assets.ts.html +1 -1
- package/coverage/lcov-report/src/index.html +24 -9
- package/coverage/lcov-report/src/metro-config.ts.html +1 -1
- package/coverage/lcov-report/src/test.ts.html +469 -0
- package/coverage/lcov.info +68 -0
- package/lib/test.d.ts +2 -0
- package/lib/test.d.ts.map +1 -1
- package/lib/test.js +50 -23
- package/lib/test.js.map +1 -1
- package/package.json +4 -4
- package/src/test.ts +51 -26
- package/test/test.test.ts +17 -0
package/lib/test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,8CAAyC;AACzC,
|
|
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.
|
|
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.
|
|
71
|
-
"memfs": "^
|
|
70
|
+
"jest": "^29.2.1",
|
|
71
|
+
"memfs": "^4.0.0",
|
|
72
72
|
"metro-config": "^0.73.7",
|
|
73
|
-
"prettier": "^
|
|
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 {
|
|
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
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
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
|
+
});
|