Add types to scripts and config files (#1277)
Summary: Pull Request resolved: https://github.com/facebook/yoga/pull/1277 Now that we have some TypeScript infra set up, move scripts (mainly the benchmarking one) and config files to TypeScript. Starts to move away a bit from the magic globals used in the JS environment. Reviewed By: yungsters Differential Revision: D45511176 fbshipit-source-id: 09bb1117a1b331758ed9d210e82d5b250577df81
This commit is contained in:
committed by
Facebook GitHub Bot
parent
19aed1d63e
commit
44ea3c1555
@@ -7,8 +7,11 @@
|
||||
* @format
|
||||
*/
|
||||
|
||||
module.exports = {
|
||||
setupFiles: ["./jest.setup.js", "./tests/tools.js"],
|
||||
testRegex: "/tests/.*\\.test\\.js$",
|
||||
watchman: false,
|
||||
import type { Config } from "jest";
|
||||
|
||||
const config: Config = {
|
||||
setupFiles: ["./jest.setup.ts"],
|
||||
testRegex: "/tests/.*\\.test\\.[jt]s$",
|
||||
};
|
||||
|
||||
export default config;
|
@@ -1,24 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @format
|
||||
*/
|
||||
|
||||
module.exports = async () => {
|
||||
if (process.env["SYNC"] == true && process.env["WASM"] == true) {
|
||||
global.Yoga = require("./dist/entrypoint/wasm-sync");
|
||||
} else if (process.env["SYNC"] == true) {
|
||||
global.Yoga = require("./dist/entrypoint/asmjs-sync");
|
||||
} else if (process.env["WASM"] == true) {
|
||||
global.Yoga = await require("./dist/entrypoint/wasm-async").loadYoga();
|
||||
} else {
|
||||
global.Yoga = await require("./dist/entrypoint/asmjs-async").loadYoga();
|
||||
}
|
||||
};
|
||||
|
||||
Object.defineProperty(global, "YGBENCHMARK", {
|
||||
get: () => global.test,
|
||||
});
|
24
javascript/jest.setup.ts
Normal file
24
javascript/jest.setup.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
/**
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @format
|
||||
*/
|
||||
|
||||
module.exports = async () => {
|
||||
if (process.env["SYNC"] === "1" && process.env["WASM"] === "1") {
|
||||
globalThis.Yoga = require("./dist/entrypoint/wasm-sync");
|
||||
} else if (process.env["SYNC"] === "1") {
|
||||
globalThis.Yoga = require("./dist/entrypoint/asmjs-sync");
|
||||
} else if (process.env["WASM"] === "1") {
|
||||
globalThis.Yoga = await require("./dist/entrypoint/wasm-async").loadYoga();
|
||||
} else {
|
||||
globalThis.Yoga = await require("./dist/entrypoint/asmjs-async").loadYoga();
|
||||
}
|
||||
};
|
||||
|
||||
Object.defineProperty(globalThis, "YGBENCHMARK", {
|
||||
get: () => globalThis.test,
|
||||
});
|
@@ -7,7 +7,7 @@
|
||||
* @format
|
||||
*/
|
||||
|
||||
const {
|
||||
import {
|
||||
argv,
|
||||
cleanTask,
|
||||
copyTask,
|
||||
@@ -20,10 +20,11 @@ const {
|
||||
spawn,
|
||||
task,
|
||||
tscTask,
|
||||
} = require("just-scripts");
|
||||
} from "just-scripts";
|
||||
|
||||
const glob = require("glob");
|
||||
const which = require("which");
|
||||
import glob from "glob";
|
||||
import path from "path";
|
||||
import which from "which";
|
||||
|
||||
const node = process.execPath;
|
||||
|
||||
@@ -40,19 +41,22 @@ task(
|
||||
)
|
||||
);
|
||||
|
||||
function defineFlavor(flavor, env) {
|
||||
function defineFlavor(flavor: string, env: NodeJS.ProcessEnv) {
|
||||
task(`cmake-build:${flavor}`, cmakeBuildTask({ targets: [flavor] }));
|
||||
task(`jest:${flavor}`, jestTask({ env }));
|
||||
task(
|
||||
`jest:${flavor}`,
|
||||
jestTask({ config: path.join(__dirname, "jest.config.ts"), env })
|
||||
);
|
||||
task(
|
||||
`test:${flavor}`,
|
||||
series("prepare-for-build", `cmake-build:${flavor}`, `jest:${flavor}`)
|
||||
);
|
||||
}
|
||||
|
||||
defineFlavor("asmjs-async", { WASM: 0, SYNC: 0 });
|
||||
defineFlavor("asmjs-sync", { WASM: 0, SYNC: 1 });
|
||||
defineFlavor("wasm-async", { WASM: 1, SYNC: 0 });
|
||||
defineFlavor("wasm-sync", { WASM: 1, SYNC: 1 });
|
||||
defineFlavor("asmjs-async", { WASM: "0", SYNC: "0" });
|
||||
defineFlavor("asmjs-sync", { WASM: "0", SYNC: "1" });
|
||||
defineFlavor("wasm-async", { WASM: "1", SYNC: "0" });
|
||||
defineFlavor("wasm-sync", { WASM: "1", SYNC: "1" });
|
||||
|
||||
task("cmake-build:all", cmakeBuildTask());
|
||||
task(
|
||||
@@ -85,13 +89,18 @@ task(
|
||||
task(
|
||||
"lint",
|
||||
parallel(
|
||||
clangFormatTask({ fix: argv().fix }),
|
||||
tscTask(),
|
||||
series(
|
||||
eslintTask({ fix: argv().fix }),
|
||||
tscTask()
|
||||
clangFormatTask({ fix: argv().fix })
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
function babelTransformTask(opts) {
|
||||
function babelTransformTask(opts: {
|
||||
paths: ReadonlyArray<string>;
|
||||
dest: string;
|
||||
}) {
|
||||
return () => {
|
||||
const args = [...opts.paths, "--source-maps", "--out-dir", opts.dest];
|
||||
logger.info(`Transforming [${opts.paths.join(",")}] to '${opts.dest}'`);
|
||||
@@ -102,11 +111,14 @@ function babelTransformTask(opts) {
|
||||
|
||||
function runBenchTask() {
|
||||
return () => {
|
||||
const files = glob.sync("./tests/Benchmarks/**/*.js");
|
||||
const args = ["./tests/run-bench.js", ...files];
|
||||
const files = glob.sync("./tests/Benchmarks/**/*");
|
||||
const args = ["./tests/bin/run-bench.ts", ...files];
|
||||
logger.info(args.join(" "));
|
||||
|
||||
return spawn(node, args, { stdio: "inherit" });
|
||||
return spawn(node, args, {
|
||||
stdio: "inherit",
|
||||
env: { NODE_OPTIONS: "-r ts-node/register" },
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
@@ -128,7 +140,7 @@ function emcmakeGenerateTask() {
|
||||
};
|
||||
}
|
||||
|
||||
function cmakeBuildTask(opts) {
|
||||
function cmakeBuildTask(opts?: { targets?: ReadonlyArray<string> }) {
|
||||
return () => {
|
||||
const cmake = which.sync("cmake");
|
||||
const args = [
|
||||
@@ -142,10 +154,10 @@ function cmakeBuildTask(opts) {
|
||||
};
|
||||
}
|
||||
|
||||
function clangFormatTask(opts) {
|
||||
function clangFormatTask(opts?: { fix?: boolean }) {
|
||||
return () => {
|
||||
const args = [
|
||||
...(opts.fix ? ["-i"] : ["--dry-run", "--Werror"]),
|
||||
...(opts?.fix ? ["-i"] : ["--dry-run", "--Werror"]),
|
||||
...glob.sync("**/*.{h,hh,hpp,c,cpp,cc,m,mm}"),
|
||||
];
|
||||
logger.info(["clang-format", ...args].join(" "));
|
@@ -43,6 +43,10 @@
|
||||
"@babel/eslint-parser": "^7.19.1",
|
||||
"@babel/preset-env": "^7.20.2",
|
||||
"@babel/preset-typescript": "^7.21.4",
|
||||
"@types/glob": "^8.1.0",
|
||||
"@types/jest": "^29.5.1",
|
||||
"@types/node": "^16.18.25",
|
||||
"@types/which": "^3.0.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.30.5",
|
||||
"@typescript-eslint/parser": "^5.30.5",
|
||||
"clang-format": "^1.8.0",
|
||||
@@ -54,6 +58,7 @@
|
||||
"jest": "^29.3.1",
|
||||
"just-scripts": "^2.1.0",
|
||||
"prettier": "^2.4.1",
|
||||
"ts-node": "^10.9.1",
|
||||
"typescript": "5.0.4",
|
||||
"which": "^3.0.0"
|
||||
}
|
||||
|
@@ -5,6 +5,9 @@
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
import { getMeasureCounter } from "../tools/MeasureCounter";
|
||||
import { Yoga, YGBENCHMARK } from "../tools/globals";
|
||||
|
||||
const ITERATIONS = 2000;
|
||||
|
||||
YGBENCHMARK("Stack with flex", () => {
|
||||
@@ -12,7 +15,7 @@ YGBENCHMARK("Stack with flex", () => {
|
||||
root.setWidth(100);
|
||||
root.setHeight(100);
|
||||
|
||||
const measureCounter = getMeasureCounter(Yoga);
|
||||
const measureCounter = getMeasureCounter();
|
||||
|
||||
for (let i = 0; i < ITERATIONS; i++) {
|
||||
const child = Yoga.Node.create();
|
||||
@@ -21,14 +24,14 @@ YGBENCHMARK("Stack with flex", () => {
|
||||
root.insertChild(child, 0);
|
||||
}
|
||||
|
||||
root.calculateLayout(Yoga.UNDEFINED, Yoga.UNDEFINED, Yoga.DIRECTION_LTR);
|
||||
root.calculateLayout(undefined, undefined, Yoga.DIRECTION_LTR);
|
||||
root.freeRecursive();
|
||||
});
|
||||
|
||||
YGBENCHMARK("Align stretch in undefined axis", () => {
|
||||
const root = Yoga.Node.create();
|
||||
|
||||
const measureCounter = getMeasureCounter(Yoga);
|
||||
const measureCounter = getMeasureCounter();
|
||||
|
||||
for (let i = 0; i < ITERATIONS; i++) {
|
||||
const child = Yoga.Node.create();
|
||||
@@ -37,14 +40,14 @@ YGBENCHMARK("Align stretch in undefined axis", () => {
|
||||
root.insertChild(child, 0);
|
||||
}
|
||||
|
||||
root.calculateLayout(Yoga.UNDEFINED, Yoga.UNDEFINED, Yoga.DIRECTION_LTR);
|
||||
root.calculateLayout(undefined, undefined, Yoga.DIRECTION_LTR);
|
||||
root.freeRecursive();
|
||||
});
|
||||
|
||||
YGBENCHMARK("Nested flex", () => {
|
||||
const root = Yoga.Node.create();
|
||||
|
||||
const measureCounter = getMeasureCounter(Yoga);
|
||||
const measureCounter = getMeasureCounter();
|
||||
|
||||
const iterations = Math.pow(ITERATIONS, 1 / 2);
|
||||
|
||||
@@ -61,7 +64,7 @@ YGBENCHMARK("Nested flex", () => {
|
||||
}
|
||||
}
|
||||
|
||||
root.calculateLayout(Yoga.UNDEFINED, Yoga.UNDEFINED, Yoga.DIRECTION_LTR);
|
||||
root.calculateLayout(undefined, undefined, Yoga.DIRECTION_LTR);
|
||||
root.freeRecursive();
|
||||
});
|
||||
|
||||
@@ -104,6 +107,6 @@ YGBENCHMARK("Huge nested layout", () => {
|
||||
}
|
||||
}
|
||||
|
||||
root.calculateLayout(Yoga.UNDEFINED, Yoga.UNDEFINED, Yoga.DIRECTION_LTR);
|
||||
root.calculateLayout(undefined, undefined, Yoga.DIRECTION_LTR);
|
||||
root.freeRecursive();
|
||||
});
|
@@ -5,6 +5,8 @@
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
import { getMeasureCounterMax } from "./tools/MeasureCounter";
|
||||
|
||||
test("measure_once_single_flexible_child", () => {
|
||||
const root = Yoga.Node.create();
|
||||
root.setFlexDirection(Yoga.FLEX_DIRECTION_ROW);
|
||||
|
@@ -5,12 +5,14 @@
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
import { getMeasureCounter } from "./tools/MeasureCounter";
|
||||
|
||||
test("dont_measure_single_grow_shrink_child", () => {
|
||||
const root = Yoga.Node.create();
|
||||
root.setWidth(100);
|
||||
root.setHeight(100);
|
||||
|
||||
const measureCounter = getMeasureCounter(Yoga, null, 100, 100);
|
||||
const measureCounter = getMeasureCounter(null, 100, 100);
|
||||
|
||||
const root_child0 = Yoga.Node.create();
|
||||
root_child0.setMeasureFunc(measureCounter.inc);
|
||||
@@ -25,9 +27,9 @@ test("dont_measure_single_grow_shrink_child", () => {
|
||||
});
|
||||
|
||||
test("dont_fail_with_incomplete_measure_dimensions", () => {
|
||||
const heightOnlyCallback = getMeasureCounter(Yoga, () => ({ height: 10 }));
|
||||
const widthOnlyCallback = getMeasureCounter(Yoga, () => ({ width: 10 }));
|
||||
const emptyCallback = getMeasureCounter(Yoga, () => ({}));
|
||||
const heightOnlyCallback = getMeasureCounter(() => ({ height: 10 }));
|
||||
const widthOnlyCallback = getMeasureCounter(() => ({ width: 10 }));
|
||||
const emptyCallback = getMeasureCounter(() => ({}));
|
||||
|
||||
const root = Yoga.Node.create();
|
||||
root.setWidth(100);
|
||||
|
67
javascript/tests/bin/run-bench.ts
Normal file
67
javascript/tests/bin/run-bench.ts
Normal file
@@ -0,0 +1,67 @@
|
||||
#!/usr/bin/env ts-node
|
||||
/**
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @format
|
||||
*/
|
||||
|
||||
import path from "path";
|
||||
|
||||
const WARMUP_ITERATIONS = 3;
|
||||
const BENCHMARK_ITERATIONS = 10;
|
||||
|
||||
const testFiles = process.argv.slice(2);
|
||||
|
||||
const testResults = new Map<string, Map<string, number>>();
|
||||
|
||||
for (const type of ["asmjs", "wasm"]) {
|
||||
globalThis.Yoga = require(type === "asmjs"
|
||||
? "../../dist/entrypoint/asmjs-sync"
|
||||
: "../../dist/entrypoint/wasm-sync");
|
||||
|
||||
for (const file of testFiles) {
|
||||
globalThis.YGBENCHMARK = (name: string, fn: () => void) => {
|
||||
let testEntry = testResults.get(name);
|
||||
|
||||
if (testEntry === undefined)
|
||||
testResults.set(name, (testEntry = new Map()));
|
||||
|
||||
for (let t = 0; t < WARMUP_ITERATIONS; ++t) fn();
|
||||
|
||||
const start = Date.now();
|
||||
|
||||
for (let t = 0; t < BENCHMARK_ITERATIONS; ++t) fn();
|
||||
|
||||
const end = Date.now();
|
||||
|
||||
testEntry.set(type, (end - start) / BENCHMARK_ITERATIONS);
|
||||
};
|
||||
|
||||
const modulePath = path.resolve(file);
|
||||
|
||||
delete require.cache[require.resolve("../tools/globals")];
|
||||
delete require.cache[modulePath];
|
||||
require(modulePath);
|
||||
}
|
||||
}
|
||||
|
||||
console.log(
|
||||
`Note: those tests are independants; there is no time relation to be expected between them`
|
||||
);
|
||||
|
||||
for (const [name, results] of testResults) {
|
||||
console.log();
|
||||
|
||||
const min = Math.min(Infinity, ...results.values());
|
||||
|
||||
console.log(name);
|
||||
|
||||
for (const [type, result] of results) {
|
||||
console.log(
|
||||
` - ${type}: ${result}ms (${Math.round((result / min) * 10000) / 100}%)`
|
||||
);
|
||||
}
|
||||
}
|
@@ -1,70 +0,0 @@
|
||||
#!/usr/bin/env node
|
||||
/**
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @format
|
||||
*/
|
||||
|
||||
require(`./tools`);
|
||||
|
||||
const fs = require(`fs`);
|
||||
const vm = require(`vm`);
|
||||
|
||||
const WARMUP_ITERATIONS = 3;
|
||||
const BENCHMARK_ITERATIONS = 10;
|
||||
|
||||
const testFiles = process.argv.slice(2).map((file) => {
|
||||
return fs.readFileSync(file).toString();
|
||||
});
|
||||
|
||||
const testResults = new Map();
|
||||
|
||||
for (const type of ["asmjs", "wasm"]) {
|
||||
for (const file of testFiles) {
|
||||
vm.runInNewContext(
|
||||
file,
|
||||
Object.assign(Object.create(global), {
|
||||
Yoga: require(type === "asmjs"
|
||||
? "../dist/entrypoint/asmjs-sync"
|
||||
: "../dist/entrypoint/wasm-sync"),
|
||||
YGBENCHMARK: function (name, fn) {
|
||||
let testEntry = testResults.get(name);
|
||||
|
||||
if (testEntry === undefined)
|
||||
testResults.set(name, (testEntry = new Map()));
|
||||
|
||||
for (let t = 0; t < WARMUP_ITERATIONS; ++t) fn();
|
||||
|
||||
const start = Date.now();
|
||||
|
||||
for (let t = 0; t < BENCHMARK_ITERATIONS; ++t) fn();
|
||||
|
||||
const end = Date.now();
|
||||
|
||||
testEntry.set(type, (end - start) / BENCHMARK_ITERATIONS);
|
||||
},
|
||||
})
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
console.log(
|
||||
`Note: those tests are independants; there is no time relation to be expected between them`
|
||||
);
|
||||
|
||||
for (const [name, results] of testResults) {
|
||||
console.log();
|
||||
|
||||
const min = Math.min(Infinity, ...results.values());
|
||||
|
||||
console.log(name);
|
||||
|
||||
for (const [type, result] of results) {
|
||||
console.log(
|
||||
` - ${type}: ${result}ms (${Math.round((result / min) * 10000) / 100}%)`
|
||||
);
|
||||
}
|
||||
}
|
@@ -7,7 +7,19 @@
|
||||
* @format
|
||||
*/
|
||||
|
||||
global.getMeasureCounter = function (Yoga, cb, staticWidth, staticHeight) {
|
||||
import type { MeasureFunction } from "yoga-layout";
|
||||
import { Yoga } from "./globals";
|
||||
|
||||
export type MeasureCounter = {
|
||||
inc: MeasureFunction;
|
||||
get: () => number;
|
||||
};
|
||||
|
||||
export function getMeasureCounter(
|
||||
cb?: MeasureFunction | null,
|
||||
staticWidth = 0,
|
||||
staticHeight = 0
|
||||
): MeasureCounter {
|
||||
let counter = 0;
|
||||
|
||||
return {
|
||||
@@ -23,10 +35,10 @@ global.getMeasureCounter = function (Yoga, cb, staticWidth, staticHeight) {
|
||||
return counter;
|
||||
},
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
global.getMeasureCounterMax = function (Yoga) {
|
||||
return getMeasureCounter(Yoga, (width, widthMode, height, heightMode) => {
|
||||
export function getMeasureCounterMax(): MeasureCounter {
|
||||
return getMeasureCounter((width, widthMode, height, heightMode) => {
|
||||
const measuredWidth =
|
||||
widthMode === Yoga.MEASURE_MODE_UNDEFINED ? 10 : width;
|
||||
const measuredHeight =
|
||||
@@ -34,10 +46,10 @@ global.getMeasureCounterMax = function (Yoga) {
|
||||
|
||||
return { width: measuredWidth, height: measuredHeight };
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
global.getMeasureCounterMin = function (Yoga) {
|
||||
return getMeasureCounter(Yoga, (width, widthMode, height, heightMode) => {
|
||||
export function getMeasureCounterMin(): MeasureCounter {
|
||||
return getMeasureCounter((width, widthMode, height, heightMode) => {
|
||||
const measuredWidth =
|
||||
widthMode === Yoga.MEASURE_MODE_UNDEFINED ||
|
||||
(widthMode == Yoga.MEASURE_MODE_AT_MOST && width > 10)
|
||||
@@ -51,4 +63,4 @@ global.getMeasureCounterMin = function (Yoga) {
|
||||
|
||||
return { width: measuredWidth, height: measuredHeight };
|
||||
});
|
||||
};
|
||||
}
|
27
javascript/tests/tools/globals.ts
Normal file
27
javascript/tests/tools/globals.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
/**
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
import type { Yoga } from "yoga-layout";
|
||||
|
||||
declare global {
|
||||
// eslint-disable-next-line no-var
|
||||
var Yoga: Yoga | undefined;
|
||||
// eslint-disable-next-line no-var
|
||||
var YGBENCHMARK: (title: string, fn: () => void) => void;
|
||||
}
|
||||
|
||||
if (globalThis.Yoga === undefined) {
|
||||
throw new Error('Expected "Yoga" global to be set');
|
||||
}
|
||||
if (globalThis.YGBENCHMARK === undefined) {
|
||||
throw new Error('Expected "YGBENCHMARK" global to be set');
|
||||
}
|
||||
|
||||
const yoga = globalThis.Yoga;
|
||||
const benchmark = globalThis.YGBENCHMARK;
|
||||
|
||||
export { yoga as Yoga, benchmark as YGBENCHMARK };
|
@@ -1147,6 +1147,13 @@
|
||||
resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9"
|
||||
integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==
|
||||
|
||||
"@cspotcode/source-map-support@^0.8.0":
|
||||
version "0.8.1"
|
||||
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1"
|
||||
integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==
|
||||
dependencies:
|
||||
"@jridgewell/trace-mapping" "0.3.9"
|
||||
|
||||
"@eslint-community/eslint-utils@^4.2.0":
|
||||
version "4.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
|
||||
@@ -1272,6 +1279,13 @@
|
||||
dependencies:
|
||||
jest-get-type "^29.2.0"
|
||||
|
||||
"@jest/expect-utils@^29.5.0":
|
||||
version "29.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.5.0.tgz#f74fad6b6e20f924582dc8ecbf2cb800fe43a036"
|
||||
integrity sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==
|
||||
dependencies:
|
||||
jest-get-type "^29.4.3"
|
||||
|
||||
"@jest/expect@^29.3.1":
|
||||
version "29.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.3.1.tgz#456385b62894349c1d196f2d183e3716d4c6a6cd"
|
||||
@@ -1339,6 +1353,13 @@
|
||||
dependencies:
|
||||
"@sinclair/typebox" "^0.24.1"
|
||||
|
||||
"@jest/schemas@^29.4.3":
|
||||
version "29.4.3"
|
||||
resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.4.3.tgz#39cf1b8469afc40b6f5a2baaa146e332c4151788"
|
||||
integrity sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==
|
||||
dependencies:
|
||||
"@sinclair/typebox" "^0.25.16"
|
||||
|
||||
"@jest/source-map@^29.2.0":
|
||||
version "29.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.2.0.tgz#ab3420c46d42508dcc3dc1c6deee0b613c235744"
|
||||
@@ -1401,6 +1422,18 @@
|
||||
"@types/yargs" "^17.0.8"
|
||||
chalk "^4.0.0"
|
||||
|
||||
"@jest/types@^29.5.0":
|
||||
version "29.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.5.0.tgz#f59ef9b031ced83047c67032700d8c807d6e1593"
|
||||
integrity sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==
|
||||
dependencies:
|
||||
"@jest/schemas" "^29.4.3"
|
||||
"@types/istanbul-lib-coverage" "^2.0.0"
|
||||
"@types/istanbul-reports" "^3.0.0"
|
||||
"@types/node" "*"
|
||||
"@types/yargs" "^17.0.8"
|
||||
chalk "^4.0.0"
|
||||
|
||||
"@jridgewell/gen-mapping@^0.1.0":
|
||||
version "0.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996"
|
||||
@@ -1423,6 +1456,11 @@
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
|
||||
integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
|
||||
|
||||
"@jridgewell/resolve-uri@^3.0.3":
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721"
|
||||
integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==
|
||||
|
||||
"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1":
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
|
||||
@@ -1433,6 +1471,14 @@
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
|
||||
integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
|
||||
|
||||
"@jridgewell/trace-mapping@0.3.9":
|
||||
version "0.3.9"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
|
||||
integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==
|
||||
dependencies:
|
||||
"@jridgewell/resolve-uri" "^3.0.3"
|
||||
"@jridgewell/sourcemap-codec" "^1.4.10"
|
||||
|
||||
"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.8", "@jridgewell/trace-mapping@^0.3.9":
|
||||
version "0.3.17"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985"
|
||||
@@ -1508,6 +1554,11 @@
|
||||
resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f"
|
||||
integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==
|
||||
|
||||
"@sinclair/typebox@^0.25.16":
|
||||
version "0.25.24"
|
||||
resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.24.tgz#8c7688559979f7079aacaf31aa881c3aa410b718"
|
||||
integrity sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==
|
||||
|
||||
"@sinonjs/commons@^1.7.0":
|
||||
version "1.8.6"
|
||||
resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9"
|
||||
@@ -1522,6 +1573,26 @@
|
||||
dependencies:
|
||||
"@sinonjs/commons" "^1.7.0"
|
||||
|
||||
"@tsconfig/node10@^1.0.7":
|
||||
version "1.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2"
|
||||
integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==
|
||||
|
||||
"@tsconfig/node12@^1.0.7":
|
||||
version "1.0.11"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d"
|
||||
integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==
|
||||
|
||||
"@tsconfig/node14@^1.0.0":
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1"
|
||||
integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==
|
||||
|
||||
"@tsconfig/node16@^1.0.2":
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e"
|
||||
integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==
|
||||
|
||||
"@types/babel__core@^7.1.14":
|
||||
version "7.1.20"
|
||||
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.20.tgz#e168cdd612c92a2d335029ed62ac94c95b362359"
|
||||
@@ -1555,6 +1626,14 @@
|
||||
dependencies:
|
||||
"@babel/types" "^7.3.0"
|
||||
|
||||
"@types/glob@^8.1.0":
|
||||
version "8.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-8.1.0.tgz#b63e70155391b0584dce44e7ea25190bbc38f2fc"
|
||||
integrity sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==
|
||||
dependencies:
|
||||
"@types/minimatch" "^5.1.2"
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/graceful-fs@^4.1.3":
|
||||
version "4.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15"
|
||||
@@ -1581,11 +1660,24 @@
|
||||
dependencies:
|
||||
"@types/istanbul-lib-report" "*"
|
||||
|
||||
"@types/jest@^29.5.1":
|
||||
version "29.5.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.1.tgz#83c818aa9a87da27d6da85d3378e5a34d2f31a47"
|
||||
integrity sha512-tEuVcHrpaixS36w7hpsfLBLpjtMRJUE09/MHXn923LOVojDwyC14cWcfc0rDs0VEfUyYmt/+iX1kxxp+gZMcaQ==
|
||||
dependencies:
|
||||
expect "^29.0.0"
|
||||
pretty-format "^29.0.0"
|
||||
|
||||
"@types/json-schema@^7.0.9":
|
||||
version "7.0.11"
|
||||
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
|
||||
integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
|
||||
|
||||
"@types/minimatch@^5.1.2":
|
||||
version "5.1.2"
|
||||
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca"
|
||||
integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==
|
||||
|
||||
"@types/node@*":
|
||||
version "18.11.17"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.17.tgz#5c009e1d9c38f4a2a9d45c0b0c493fe6cdb4bcb5"
|
||||
@@ -1596,6 +1688,11 @@
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.24.tgz#c37ac69cb2948afb4cef95f424fa0037971a9a5c"
|
||||
integrity sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ==
|
||||
|
||||
"@types/node@^16.18.25":
|
||||
version "16.18.25"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.25.tgz#8863940fefa1234d3fcac7a4b7a48a6c992d67af"
|
||||
integrity sha512-rUDO6s9Q/El1R1I21HG4qw/LstTHCPO/oQNAwI/4b2f9EWvMnqt4d3HJwPMawfZ3UvodB8516Yg+VAq54YM+eA==
|
||||
|
||||
"@types/prettier@^2.1.5":
|
||||
version "2.7.2"
|
||||
resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0"
|
||||
@@ -1611,6 +1708,11 @@
|
||||
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c"
|
||||
integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==
|
||||
|
||||
"@types/which@^3.0.0":
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/which/-/which-3.0.0.tgz#849afdd9fdcb0b67339b9cfc80fa6ea4e0253fc5"
|
||||
integrity sha512-ASCxdbsrwNfSMXALlC3Decif9rwDMu+80KGp5zI2RLRotfMsTv7fHL8W8VDp24wymzDyIFudhUeSCugrgRFfHQ==
|
||||
|
||||
"@types/yargs-parser@*":
|
||||
version "21.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b"
|
||||
@@ -1760,6 +1862,16 @@ acorn-jsx@^5.3.2:
|
||||
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
|
||||
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
|
||||
|
||||
acorn-walk@^8.1.1:
|
||||
version "8.2.0"
|
||||
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
|
||||
integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
|
||||
|
||||
acorn@^8.4.1:
|
||||
version "8.8.2"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a"
|
||||
integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
|
||||
|
||||
acorn@^8.8.0:
|
||||
version "8.8.1"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73"
|
||||
@@ -1819,6 +1931,11 @@ anymatch@^3.0.3, anymatch@~3.1.2:
|
||||
normalize-path "^3.0.0"
|
||||
picomatch "^2.0.4"
|
||||
|
||||
arg@^4.1.0:
|
||||
version "4.1.3"
|
||||
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
|
||||
integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
|
||||
|
||||
argparse@^1.0.7:
|
||||
version "1.0.10"
|
||||
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
|
||||
@@ -2285,6 +2402,11 @@ core-js-compat@^3.25.1:
|
||||
dependencies:
|
||||
browserslist "^4.21.4"
|
||||
|
||||
create-require@^1.1.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
|
||||
integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
|
||||
|
||||
cross-spawn@^7.0.2, cross-spawn@^7.0.3:
|
||||
version "7.0.3"
|
||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
|
||||
@@ -2344,6 +2466,16 @@ diff-sequences@^29.3.1:
|
||||
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.3.1.tgz#104b5b95fe725932421a9c6e5b4bef84c3f2249e"
|
||||
integrity sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==
|
||||
|
||||
diff-sequences@^29.4.3:
|
||||
version "29.4.3"
|
||||
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.4.3.tgz#9314bc1fabe09267ffeca9cbafc457d8499a13f2"
|
||||
integrity sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==
|
||||
|
||||
diff@^4.0.1:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
|
||||
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
|
||||
|
||||
dir-glob@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
|
||||
@@ -2603,6 +2735,17 @@ exit@^0.1.2:
|
||||
resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
|
||||
integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==
|
||||
|
||||
expect@^29.0.0:
|
||||
version "29.5.0"
|
||||
resolved "https://registry.yarnpkg.com/expect/-/expect-29.5.0.tgz#68c0509156cb2a0adb8865d413b137eeaae682f7"
|
||||
integrity sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==
|
||||
dependencies:
|
||||
"@jest/expect-utils" "^29.5.0"
|
||||
jest-get-type "^29.4.3"
|
||||
jest-matcher-utils "^29.5.0"
|
||||
jest-message-util "^29.5.0"
|
||||
jest-util "^29.5.0"
|
||||
|
||||
expect@^29.3.1:
|
||||
version "29.3.1"
|
||||
resolved "https://registry.yarnpkg.com/expect/-/expect-29.3.1.tgz#92877aad3f7deefc2e3f6430dd195b92295554a6"
|
||||
@@ -3142,6 +3285,16 @@ jest-diff@^29.3.1:
|
||||
jest-get-type "^29.2.0"
|
||||
pretty-format "^29.3.1"
|
||||
|
||||
jest-diff@^29.5.0:
|
||||
version "29.5.0"
|
||||
resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.5.0.tgz#e0d83a58eb5451dcc1fa61b1c3ee4e8f5a290d63"
|
||||
integrity sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==
|
||||
dependencies:
|
||||
chalk "^4.0.0"
|
||||
diff-sequences "^29.4.3"
|
||||
jest-get-type "^29.4.3"
|
||||
pretty-format "^29.5.0"
|
||||
|
||||
jest-docblock@^29.2.0:
|
||||
version "29.2.0"
|
||||
resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.2.0.tgz#307203e20b637d97cee04809efc1d43afc641e82"
|
||||
@@ -3177,6 +3330,11 @@ jest-get-type@^29.2.0:
|
||||
resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.2.0.tgz#726646f927ef61d583a3b3adb1ab13f3a5036408"
|
||||
integrity sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==
|
||||
|
||||
jest-get-type@^29.4.3:
|
||||
version "29.4.3"
|
||||
resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.4.3.tgz#1ab7a5207c995161100b5187159ca82dd48b3dd5"
|
||||
integrity sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==
|
||||
|
||||
jest-haste-map@^29.3.1:
|
||||
version "29.3.1"
|
||||
resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.3.1.tgz#af83b4347f1dae5ee8c2fb57368dc0bb3e5af843"
|
||||
@@ -3214,6 +3372,16 @@ jest-matcher-utils@^29.3.1:
|
||||
jest-get-type "^29.2.0"
|
||||
pretty-format "^29.3.1"
|
||||
|
||||
jest-matcher-utils@^29.5.0:
|
||||
version "29.5.0"
|
||||
resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.5.0.tgz#d957af7f8c0692c5453666705621ad4abc2c59c5"
|
||||
integrity sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==
|
||||
dependencies:
|
||||
chalk "^4.0.0"
|
||||
jest-diff "^29.5.0"
|
||||
jest-get-type "^29.4.3"
|
||||
pretty-format "^29.5.0"
|
||||
|
||||
jest-message-util@^29.3.1:
|
||||
version "29.3.1"
|
||||
resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.3.1.tgz#37bc5c468dfe5120712053dd03faf0f053bd6adb"
|
||||
@@ -3229,6 +3397,21 @@ jest-message-util@^29.3.1:
|
||||
slash "^3.0.0"
|
||||
stack-utils "^2.0.3"
|
||||
|
||||
jest-message-util@^29.5.0:
|
||||
version "29.5.0"
|
||||
resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.5.0.tgz#1f776cac3aca332ab8dd2e3b41625435085c900e"
|
||||
integrity sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.12.13"
|
||||
"@jest/types" "^29.5.0"
|
||||
"@types/stack-utils" "^2.0.0"
|
||||
chalk "^4.0.0"
|
||||
graceful-fs "^4.2.9"
|
||||
micromatch "^4.0.4"
|
||||
pretty-format "^29.5.0"
|
||||
slash "^3.0.0"
|
||||
stack-utils "^2.0.3"
|
||||
|
||||
jest-mock@^29.3.1:
|
||||
version "29.3.1"
|
||||
resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.3.1.tgz#60287d92e5010979d01f218c6b215b688e0f313e"
|
||||
@@ -3368,6 +3551,18 @@ jest-util@^29.3.1:
|
||||
graceful-fs "^4.2.9"
|
||||
picomatch "^2.2.3"
|
||||
|
||||
jest-util@^29.5.0:
|
||||
version "29.5.0"
|
||||
resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.5.0.tgz#24a4d3d92fc39ce90425311b23c27a6e0ef16b8f"
|
||||
integrity sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==
|
||||
dependencies:
|
||||
"@jest/types" "^29.5.0"
|
||||
"@types/node" "*"
|
||||
chalk "^4.0.0"
|
||||
ci-info "^3.2.0"
|
||||
graceful-fs "^4.2.9"
|
||||
picomatch "^2.2.3"
|
||||
|
||||
jest-validate@^29.3.1:
|
||||
version "29.3.1"
|
||||
resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.3.1.tgz#d56fefaa2e7d1fde3ecdc973c7f7f8f25eea704a"
|
||||
@@ -3650,6 +3845,11 @@ make-dir@^3.0.0:
|
||||
dependencies:
|
||||
semver "^6.0.0"
|
||||
|
||||
make-error@^1.1.1:
|
||||
version "1.3.6"
|
||||
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
|
||||
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
|
||||
|
||||
make-iterator@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6"
|
||||
@@ -3971,6 +4171,15 @@ prettier@^2.4.1:
|
||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.1.tgz#4e1fd11c34e2421bc1da9aea9bd8127cd0a35efc"
|
||||
integrity sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==
|
||||
|
||||
pretty-format@^29.0.0, pretty-format@^29.5.0:
|
||||
version "29.5.0"
|
||||
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.5.0.tgz#283134e74f70e2e3e7229336de0e4fce94ccde5a"
|
||||
integrity sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==
|
||||
dependencies:
|
||||
"@jest/schemas" "^29.4.3"
|
||||
ansi-styles "^5.0.0"
|
||||
react-is "^18.0.0"
|
||||
|
||||
pretty-format@^29.3.1:
|
||||
version "29.3.1"
|
||||
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.3.1.tgz#1841cac822b02b4da8971dacb03e8a871b4722da"
|
||||
@@ -4346,6 +4555,25 @@ to-regex-range@^5.0.1:
|
||||
dependencies:
|
||||
is-number "^7.0.0"
|
||||
|
||||
ts-node@^10.9.1:
|
||||
version "10.9.1"
|
||||
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b"
|
||||
integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==
|
||||
dependencies:
|
||||
"@cspotcode/source-map-support" "^0.8.0"
|
||||
"@tsconfig/node10" "^1.0.7"
|
||||
"@tsconfig/node12" "^1.0.7"
|
||||
"@tsconfig/node14" "^1.0.0"
|
||||
"@tsconfig/node16" "^1.0.2"
|
||||
acorn "^8.4.1"
|
||||
acorn-walk "^8.1.1"
|
||||
arg "^4.1.0"
|
||||
create-require "^1.1.0"
|
||||
diff "^4.0.1"
|
||||
make-error "^1.1.1"
|
||||
v8-compile-cache-lib "^3.0.1"
|
||||
yn "3.1.1"
|
||||
|
||||
tslib@^1.8.1:
|
||||
version "1.14.1"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
|
||||
@@ -4469,6 +4697,11 @@ uri-js@^4.2.2:
|
||||
dependencies:
|
||||
punycode "^2.1.0"
|
||||
|
||||
v8-compile-cache-lib@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
|
||||
integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
|
||||
|
||||
v8-to-istanbul@^9.0.1:
|
||||
version "9.0.1"
|
||||
resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4"
|
||||
@@ -4595,6 +4828,11 @@ yargs@^17.3.1:
|
||||
y18n "^5.0.5"
|
||||
yargs-parser "^21.1.1"
|
||||
|
||||
yn@3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
|
||||
integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
|
||||
|
||||
yocto-queue@^0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
|
||||
|
Reference in New Issue
Block a user