Skip to content

Commit 0888b20

Browse files
NickGerlemanfacebook-github-bot
authored andcommitted
Make gentest-validate more graceful of different file organization (#1672)
Summary: Pull Request resolved: #1672 `gentest-validate` checks signedsource for generated tests. D58307002 adds a new directory under `java/tests/com/facebook/yoga/`, which [confuses](https://github.com/facebook/yoga/actions/runs/9653979292/job/26627690870) the current directory traversal logic. This replaces the traversal with `glob`, and makes us skip files without a signature, instead of special-casing the Java directory. Reviewed By: yungsters Differential Revision: D58987293 fbshipit-source-id: a5640f5faee4aa40879c266211c5e736a0b077be
1 parent 53e4421 commit 0888b20

File tree

7 files changed

+116
-60
lines changed

7 files changed

+116
-60
lines changed

.github/actions/setup-js/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ runs:
66
- name: Setup Node environment
77
uses: actions/setup-node@v3
88
with:
9-
node-version: 18.x
9+
node-version: 20.x
1010
cache: yarn
1111
cache-dependency-path: yarn.lock
1212
env:

gentest/gentest-validate.ts

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,30 +11,33 @@ import * as fs from 'node:fs/promises';
1111
import {dirname} from 'path';
1212
import {fileURLToPath} from 'url';
1313
import signedsource from 'signedsource';
14+
import {glob} from 'glob';
1415

15-
const yogaDir = dirname(dirname(fileURLToPath(import.meta.url)));
16-
const cppTestDir = `${yogaDir}/tests/generated`;
17-
const jsTestDir = `${yogaDir}/javascript/tests/generated`;
18-
const javaTestDir = `${yogaDir}/java/tests/com/facebook/yoga`;
19-
const testDirs = [cppTestDir, jsTestDir, javaTestDir];
16+
const yogaRootDir = dirname(dirname(fileURLToPath(import.meta.url)));
2017

21-
for (const testDir of testDirs) {
22-
const tests = await fs.readdir(testDir);
18+
const filesToValidate = await glob(
19+
[
20+
'tests/generated/**/*.{h,cpp}',
21+
'javascript/tests/generated/**/*.test.ts',
22+
'java/tests/com/facebook/yoga/**/*.java',
23+
],
24+
{
25+
cwd: yogaRootDir,
26+
},
27+
);
2328

24-
for (const test of tests) {
25-
const testData = await fs.readFile(`${testDir}/${test}`, 'utf8');
26-
try {
27-
const validSignature = signedsource.verifySignature(testData);
28-
if (!validSignature) {
29-
console.error(`Invalid signature for ${test}`);
30-
process.exitCode = 1;
31-
}
32-
} catch (e) {
33-
// Java test dir does not separate generated tests from non-generated ones
34-
if (testDir != javaTestDir) {
35-
console.error(`${test}: ${e}`);
36-
process.exitCode = 1;
37-
}
29+
console.log(`Found ${filesToValidate.length} files to validate`);
30+
31+
for (const file of filesToValidate) {
32+
const content = await fs.readFile(`${yogaRootDir}/${file}`, 'utf8');
33+
if (signedsource.isSigned(content)) {
34+
console.log(`Checking ${file}`);
35+
const validSignature = signedsource.verifySignature(content);
36+
if (!validSignature) {
37+
console.error(`Invalid signature "${file}"`);
38+
process.exitCode = 1;
3839
}
40+
} else {
41+
console.log(`Skipped ${file}`);
3942
}
4043
}

gentest/package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
"version": "0.0.0",
44
"private": true,
55
"scripts": {
6-
"gentest": "node --loader=babel-register-esm ./gentest-driver.ts",
7-
"gentest-validate": "node --loader=babel-register-esm ./gentest-validate.ts"
6+
"gentest": "node --disable-warning=ExperimentalWarning --loader=babel-register-esm ./gentest-driver.ts",
7+
"gentest-validate": "node --disable-warning=ExperimentalWarning --loader=babel-register-esm ./gentest-validate.ts"
88
},
99
"type": "module",
1010
"dependencies": {
@@ -19,6 +19,7 @@
1919
"@types/minimist": "^1.2.5",
2020
"@types/node": "^20.10.3",
2121
"@types/selenium-webdriver": "^4.1.21",
22-
"babel-register-esm": "^1.2.5"
22+
"babel-register-esm": "^1.2.5",
23+
"glob": "^10.4.2"
2324
}
2425
}

javascript/just.config.cjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ const {
2323
const {existsSync} = require('fs');
2424
const {readFile, writeFile, rm} = require('fs/promises');
2525

26-
const glob = require('glob');
26+
const {glob} = require('glob');
2727
const path = require('path');
2828
const which = require('which');
2929

javascript/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,13 @@
3838
"@babel/core": "^7.23.0",
3939
"@babel/preset-env": "^7.23.0",
4040
"@babel/preset-typescript": "^7.23.0",
41-
"@types/glob": "^8.1.0",
4241
"@types/jest": "^29.5.1",
4342
"@types/node": "^16.18.25",
4443
"@types/which": "^3.0.0",
4544
"@yogalayout/cmake-bin": "3.28.0-1",
4645
"babel-register-esm": "^1.2.5",
4746
"clang-format": "^1.8.0",
48-
"glob": "^8.0.3",
47+
"glob": "^10.4.2",
4948
"jest": "^29.3.1",
5049
"just-scripts": "^2.1.0",
5150
"ninja-binaries": "^1.11.1",

package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,8 @@
2323
"eslint-plugin-prettier": "^4.2.1",
2424
"prettier": "2.8.8",
2525
"typescript": "5.0.4"
26+
},
27+
"resolutions": {
28+
"cliui/wrap-ansi": "7.0.0"
2629
}
2730
}

yarn.lock

Lines changed: 82 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1743,6 +1743,18 @@
17431743
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
17441744
integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
17451745

1746+
"@isaacs/cliui@^8.0.2":
1747+
version "8.0.2"
1748+
resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550"
1749+
integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==
1750+
dependencies:
1751+
string-width "^5.1.2"
1752+
string-width-cjs "npm:string-width@^4.2.0"
1753+
strip-ansi "^7.0.1"
1754+
strip-ansi-cjs "npm:strip-ansi@^6.0.1"
1755+
wrap-ansi "^8.1.0"
1756+
wrap-ansi-cjs "npm:wrap-ansi@^7.0.0"
1757+
17461758
"@istanbuljs/load-nyc-config@^1.0.0":
17471759
version "1.1.0"
17481760
resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced"
@@ -2058,6 +2070,11 @@
20582070
"@nodelib/fs.scandir" "2.1.5"
20592071
fastq "^1.6.0"
20602072

2073+
"@pkgjs/parseargs@^0.11.0":
2074+
version "0.11.0"
2075+
resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33"
2076+
integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
2077+
20612078
"@pnpm/config.env-replace@^1.1.0":
20622079
version "1.1.0"
20632080
resolved "https://registry.yarnpkg.com/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz#ab29da53df41e8948a00f2433f085f54de8b3a4c"
@@ -2408,14 +2425,6 @@
24082425
"@types/qs" "*"
24092426
"@types/serve-static" "*"
24102427

2411-
"@types/glob@^8.1.0":
2412-
version "8.1.0"
2413-
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-8.1.0.tgz#b63e70155391b0584dce44e7ea25190bbc38f2fc"
2414-
integrity sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==
2415-
dependencies:
2416-
"@types/minimatch" "^5.1.2"
2417-
"@types/node" "*"
2418-
24192428
"@types/graceful-fs@^4.1.3":
24202429
version "4.1.5"
24212430
resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15"
@@ -2511,11 +2520,6 @@
25112520
resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a"
25122521
integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==
25132522

2514-
"@types/minimatch@^5.1.2":
2515-
version "5.1.2"
2516-
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca"
2517-
integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==
2518-
25192523
"@types/minimist@^1.2.5":
25202524
version "1.2.5"
25212525
resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e"
@@ -4148,7 +4152,7 @@ cosmiconfig@^8.1.3, cosmiconfig@^8.2.0:
41484152
parse-json "^5.2.0"
41494153
path-type "^4.0.0"
41504154

4151-
cross-spawn@^7.0.2, cross-spawn@^7.0.3:
4155+
cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
41524156
version "7.0.3"
41534157
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
41544158
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
@@ -5407,6 +5411,14 @@ for-own@^1.0.0:
54075411
dependencies:
54085412
for-in "^1.0.1"
54095413

5414+
foreground-child@^3.1.0:
5415+
version "3.2.1"
5416+
resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.2.1.tgz#767004ccf3a5b30df39bed90718bab43fe0a59f7"
5417+
integrity sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==
5418+
dependencies:
5419+
cross-spawn "^7.0.0"
5420+
signal-exit "^4.0.1"
5421+
54105422
fork-ts-checker-webpack-plugin@^6.5.0:
54115423
version "6.5.3"
54125424
resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz#eda2eff6e22476a2688d10661688c47f611b37f3"
@@ -5614,6 +5626,18 @@ [email protected]:
56145626
once "^1.3.0"
56155627
path-is-absolute "^1.0.0"
56165628

5629+
glob@^10.4.2:
5630+
version "10.4.2"
5631+
resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.2.tgz#bed6b95dade5c1f80b4434daced233aee76160e5"
5632+
integrity sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==
5633+
dependencies:
5634+
foreground-child "^3.1.0"
5635+
jackspeak "^3.1.2"
5636+
minimatch "^9.0.4"
5637+
minipass "^7.1.2"
5638+
package-json-from-dist "^1.0.0"
5639+
path-scurry "^1.11.1"
5640+
56175641
glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0:
56185642
version "7.2.3"
56195643
resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
@@ -5626,17 +5650,6 @@ glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0:
56265650
once "^1.3.0"
56275651
path-is-absolute "^1.0.0"
56285652

5629-
glob@^8.0.3:
5630-
version "8.0.3"
5631-
resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e"
5632-
integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==
5633-
dependencies:
5634-
fs.realpath "^1.0.0"
5635-
inflight "^1.0.4"
5636-
inherits "2"
5637-
minimatch "^5.0.1"
5638-
once "^1.3.0"
5639-
56405653
global-dirs@^3.0.0:
56415654
version "3.0.1"
56425655
resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485"
@@ -6639,6 +6652,15 @@ iterator.prototype@^1.1.2:
66396652
reflect.getprototypeof "^1.0.4"
66406653
set-function-name "^2.0.1"
66416654

6655+
jackspeak@^3.1.2:
6656+
version "3.4.0"
6657+
resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.0.tgz#a75763ff36ad778ede6a156d8ee8b124de445b4a"
6658+
integrity sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==
6659+
dependencies:
6660+
"@isaacs/cliui" "^8.0.2"
6661+
optionalDependencies:
6662+
"@pkgjs/parseargs" "^0.11.0"
6663+
66426664
jest-changed-files@^29.2.0:
66436665
version "29.2.0"
66446666
resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.2.0.tgz#b6598daa9803ea6a4dce7968e20ab380ddbee289"
@@ -7389,6 +7411,11 @@ lowercase-keys@^3.0.0:
73897411
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2"
73907412
integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==
73917413

7414+
lru-cache@^10.2.0:
7415+
version "10.2.2"
7416+
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.2.tgz#48206bc114c1252940c41b25b41af5b545aca878"
7417+
integrity sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==
7418+
73927419
lru-cache@^5.1.1:
73937420
version "5.1.1"
73947421
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
@@ -8209,10 +8236,10 @@ [email protected], minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch
82098236
dependencies:
82108237
brace-expansion "^1.1.7"
82118238

8212-
minimatch@^5.0.1:
8213-
version "5.1.2"
8214-
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.2.tgz#0939d7d6f0898acbd1508abe534d1929368a8fff"
8215-
integrity sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==
8239+
minimatch@^9.0.4:
8240+
version "9.0.4"
8241+
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51"
8242+
integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==
82168243
dependencies:
82178244
brace-expansion "^2.0.1"
82188245

@@ -8233,6 +8260,11 @@ minipass@^5.0.0:
82338260
resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d"
82348261
integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==
82358262

8263+
"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2:
8264+
version "7.1.2"
8265+
resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707"
8266+
integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==
8267+
82368268
minizlib@^2.1.1:
82378269
version "2.1.2"
82388270
resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931"
@@ -8620,6 +8652,11 @@ p-try@^2.0.0:
86208652
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
86218653
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
86228654

8655+
package-json-from-dist@^1.0.0:
8656+
version "1.0.0"
8657+
resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz#e501cd3094b278495eb4258d4c9f6d5ac3019f00"
8658+
integrity sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==
8659+
86238660
package-json@^8.1.0:
86248661
version "8.1.1"
86258662
resolved "https://registry.yarnpkg.com/package-json/-/package-json-8.1.1.tgz#3e9948e43df40d1e8e78a85485f1070bf8f03dc8"
@@ -8742,6 +8779,14 @@ path-parse@^1.0.6, path-parse@^1.0.7:
87428779
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
87438780
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
87448781

8782+
path-scurry@^1.11.1:
8783+
version "1.11.1"
8784+
resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2"
8785+
integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==
8786+
dependencies:
8787+
lru-cache "^10.2.0"
8788+
minipass "^5.0.0 || ^6.0.2 || ^7.0.0"
8789+
87458790
87468791
version "0.1.7"
87478792
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
@@ -10065,6 +10110,11 @@ signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
1006510110
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
1006610111
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
1006710112

10113+
signal-exit@^4.0.1:
10114+
version "4.1.0"
10115+
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04"
10116+
integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
10117+
1006810118
signedsource@^2.0.0:
1006910119
version "2.0.0"
1007010120
resolved "https://registry.yarnpkg.com/signedsource/-/signedsource-2.0.0.tgz#f72dc0f98f5bca2763b464a555511a84a4da8eee"
@@ -10242,7 +10292,7 @@ string-length@^4.0.1:
1024210292
char-regex "^1.0.2"
1024310293
strip-ansi "^6.0.0"
1024410294

10245-
string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
10295+
"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
1024610296
version "4.2.3"
1024710297
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
1024810298
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -10333,7 +10383,7 @@ stringify-object@^3.3.0:
1033310383
is-obj "^1.0.1"
1033410384
is-regexp "^1.0.0"
1033510385

10336-
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
10386+
"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
1033710387
version "6.0.1"
1033810388
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
1033910389
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
@@ -11238,7 +11288,7 @@ word-wrap@^1.2.3:
1123811288
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34"
1123911289
integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==
1124011290

11241-
wrap-ansi@^7.0.0:
11291+
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", [email protected], wrap-ansi@^7.0.0:
1124211292
version "7.0.0"
1124311293
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
1124411294
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==

0 commit comments

Comments
 (0)