Bundle Pure ESM Packages into /vendors/*.js as CommonJS (#12217)
* string-width * Add bundle script * Update package.json * mem * Add version validator * Throw error * Change filename * Add documents * Generate d.ts * Fix lint problems * globby * Add workflow to validate vendor versions * Fix eslintignore * Fix * Fix spell * Address review * process.exitCode = 1 * test validation * Revert "test validation" This reverts commit 5a86d5f71212e0e900709238a8cc109716678864. * Remove exists files * Fix conflicts * Clean * Remove globby
This commit is contained in:
1 parent
6d036cf895
commit
0abd1907bb
21 files changed
+804
-27
No files matched your search
@@ -11,3 +11,4 @@
|
||||
/website/build/
|
||||
/website/static/playground.js
|
||||
/website/static/lib/
|
||||
/vendors/
|
||||
@@ -0,0 +1,29 @@
|
||||
name: Validate_Vendor_Versions
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- "package.json"
|
||||
pull_request:
|
||||
paths:
|
||||
- "package.json"
|
||||
|
||||
jobs:
|
||||
validate-vendor-versions:
|
||||
name: Validate Vendor Versions
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2.4.0
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v2.5.1
|
||||
with:
|
||||
version: "14"
|
||||
cache: "yarn"
|
||||
|
||||
- name: Install Dependencies
|
||||
run: yarn install --frozen-lockfile
|
||||
|
||||
- name: Validate Vendor Versions
|
||||
run: node ./scripts/vendors/validate-vendor-versions.mjs
|
||||
@@ -10,3 +10,4 @@ coverage/
|
||||
/website/static/lib/
|
||||
/website/static/playground.js
|
||||
.nyc_output
|
||||
vendors/
|
||||
@@ -70,6 +70,7 @@ module.exports = {
|
||||
moduleNameMapper: {
|
||||
"prettier-local": "<rootDir>/tests/config/require-prettier.js",
|
||||
"prettier-standalone": "<rootDir>/tests/config/require-standalone.js",
|
||||
"#(.*)": "<rootDir>/vendors/$1",
|
||||
},
|
||||
modulePathIgnorePatterns: [
|
||||
"<rootDir>/dist",
|
||||
|
||||
+10
-3
@@ -60,7 +60,7 @@
|
||||
"lines-and-columns": "2.0.3",
|
||||
"linguist-languages": "7.15.0",
|
||||
"lodash": "4.17.21",
|
||||
"mem": "8.1.1",
|
||||
"mem": "9.0.2",
|
||||
"meriyah": "4.2.0",
|
||||
"minimatch": "3.0.4",
|
||||
"minimist": "1.2.5",
|
||||
@@ -79,7 +79,7 @@
|
||||
"remark-parse": "8.0.3",
|
||||
"resolve": "1.22.0",
|
||||
"semver": "7.3.5",
|
||||
"string-width": "4.2.3",
|
||||
"string-width": "5.0.1",
|
||||
"strip-ansi": "6.0.0",
|
||||
"typescript": "4.5.5",
|
||||
"unicode-regex": "3.0.0",
|
||||
@@ -88,6 +88,10 @@
|
||||
"wcwidth": "1.0.1",
|
||||
"yaml-unist-parser": "1.3.1"
|
||||
},
|
||||
"imports": {
|
||||
"#string-width": "./vendors/string-width.js",
|
||||
"#mem": "./vendors/mem.js"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.17.0",
|
||||
"@babel/preset-env": "7.16.11",
|
||||
@@ -131,10 +135,13 @@
|
||||
"path-browserify": "1.0.1",
|
||||
"prettier": "2.5.1",
|
||||
"pretty-bytes": "5.6.0",
|
||||
"read-pkg": "7.0.0",
|
||||
"read-pkg-up": "9.0.0",
|
||||
"rimraf": "3.0.2",
|
||||
"rollup-plugin-license": "2.6.1",
|
||||
"snapshot-diff": "0.9.0",
|
||||
"tempy": "1.0.1"
|
||||
"tempy": "1.0.1",
|
||||
"write-pkg": "5.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"prepublishOnly": "echo \"Error: must publish from dist/\" && exit 1",
|
||||
|
||||
Vendored
+55
@@ -0,0 +1,55 @@
|
||||
# `./scripts/vendors`
|
||||
|
||||
Scripts for bundling Pure ESM Packages to CommonJS so that Prettier can use them.
|
||||
|
||||
## Context
|
||||
|
||||
https://github.com/prettier/prettier/issues/12209#issuecomment-1028212785
|
||||
|
||||
Currently, Prettier is developed using CommonJS Modules. This is for historical reasons, and we are considering [migrating to ECMAScript Modules](https://github.com/prettier/prettier/issues/10157) in the future.
|
||||
|
||||
However, migrating to ECMAScript Modules is not an easy task.
|
||||
|
||||
While we are working on it, several important packages are being migrated to Pure ESM. Please see https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c from [@sindresorhus](https://github.com/sindresorhus) about Pure ESM Packages.
|
||||
|
||||
It would be a problem if Prettier could not use the new Pure ESM Package until we have completed that work.
|
||||
|
||||
So we will put the files bundled with Pure ESM Packages as CommonJS Modules under `/vendors`, and Prettier will use them.
|
||||
|
||||
**This will be removed during the migration to ESM.**
|
||||
|
||||
## Usage
|
||||
|
||||
### `/scripts/vendors/bundle-vendors.mjs`
|
||||
|
||||
```
|
||||
node ./scripts/vendors/bundle-vendors.mjs
|
||||
```
|
||||
|
||||
This script do the following 4 things:
|
||||
|
||||
**1. Bundle ESM Packages to CommonJS**
|
||||
|
||||
This bundles listed packages in `vendors.mjs` into `/vendors/*.js` as CommonJS.
|
||||
|
||||
**2. Update `package.json`**
|
||||
|
||||
This updates [`"imports"` in `package.json`](https://nodejs.org/api/packages.html#imports) to enables aliases to resolve packages put in `/vendors/*.js`.
|
||||
|
||||
**3. Lock ESM Packages version to `vendor-versions.json`**
|
||||
|
||||
This locks versions of packages that is bundled to `vendor-versions.json`. It is used to validate by `validate-vendor-versions.mjs`.
|
||||
|
||||
**4. Generate `/vendors/types.d.ts`**
|
||||
|
||||
This Generates a minimal type definition file that satisfies `lint:typecheck`.
|
||||
|
||||
### `/scripts/vendors/validate-vendor-versions.mjs`
|
||||
|
||||
```
|
||||
node ./scripts/vendors/validate-vendor-versions.mjs
|
||||
```
|
||||
|
||||
This script compares the version of packages locked in `vendor-versions.json` with the version of packages actually installed, and fails if they are different.
|
||||
|
||||
This is mainly run on CI to keep consistency between bundled and installed packages.
|
||||
Vendored
+97
@@ -0,0 +1,97 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
import fs from "node:fs/promises";
|
||||
import path from "node:path";
|
||||
import createEsmUtils from "esm-utils";
|
||||
import esbuild from "esbuild";
|
||||
import { readPackage } from "read-pkg";
|
||||
import { writePackage } from "write-pkg";
|
||||
import { readPackageUp } from "read-pkg-up";
|
||||
import vendors from "./vendors.mjs";
|
||||
import { writeVendorVersions } from "./vendor-versions.mjs";
|
||||
|
||||
const { __dirname, require } = createEsmUtils(import.meta);
|
||||
const rootDir = path.join(__dirname, "..", "..");
|
||||
// prettier/vendors
|
||||
const vendorsDir = path.join(rootDir, "vendors");
|
||||
// prettier/vendors/*.js
|
||||
const getVendorFilePath = (vendorName) =>
|
||||
path.join(vendorsDir, `${vendorName}.js`);
|
||||
|
||||
async function lockVersions(vendors) {
|
||||
const vendorVersions = {};
|
||||
for (const vendor of vendors) {
|
||||
const { packageJson: vendorPackage } = await readPackageUp({
|
||||
cwd: path.dirname(require.resolve(vendor)),
|
||||
});
|
||||
const vendorVersion = vendorPackage.version;
|
||||
vendorVersions[vendor] = vendorVersion;
|
||||
}
|
||||
await writeVendorVersions(vendorVersions);
|
||||
}
|
||||
|
||||
async function fileExists(filePath) {
|
||||
try {
|
||||
return (await fs.stat(filePath)).isFile()
|
||||
} catch {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
async function cleanExistsBundledJS() {
|
||||
for (const file of await fs.readdir(vendorsDir)) {
|
||||
const filePath = path.join(vendorsDir, file);
|
||||
if (path.extname(file) === ".js" && await (fileExists(filePath))) {
|
||||
await fs.rm(filePath);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function bundle(vendor) {
|
||||
const outfile = getVendorFilePath(vendor);
|
||||
if (await fileExists(outfile)) {
|
||||
await fs.rm(outfile);
|
||||
}
|
||||
/** @type {import("esbuild").CommonOptions} */
|
||||
const esbuildOption = {
|
||||
entryPoints: [require.resolve(vendor)],
|
||||
bundle: true,
|
||||
target: ["node12.17.0"],
|
||||
platform: "node",
|
||||
outfile,
|
||||
};
|
||||
await esbuild.build(esbuildOption);
|
||||
}
|
||||
|
||||
async function updatePackage(imports) {
|
||||
const pkg = await readPackage({ normalize: false });
|
||||
pkg.imports = imports;
|
||||
await writePackage(pkg, { normalize: false });
|
||||
}
|
||||
|
||||
async function generateDts(vendors) {
|
||||
let dtsContent = "// This file is generate automatically.\n";
|
||||
for (const vendor of vendors) {
|
||||
dtsContent += `declare module "#${vendor}";\n`;
|
||||
}
|
||||
await fs.writeFile(path.join(vendorsDir, "types.d.ts"), dtsContent, "utf-8");
|
||||
}
|
||||
|
||||
async function main() {
|
||||
await cleanExistsBundledJS();
|
||||
const imports = {};
|
||||
for (const vendor of vendors) {
|
||||
await bundle(vendor);
|
||||
imports[`#${vendor}`] =
|
||||
"./" + path.relative(rootDir, getVendorFilePath(vendor));
|
||||
console.log(`Bundled: ${vendor}`);
|
||||
}
|
||||
await updatePackage(imports);
|
||||
console.log("Updated: package.json");
|
||||
await lockVersions(vendors);
|
||||
console.log("Locked: vendor-versions.json");
|
||||
await generateDts(vendors);
|
||||
console.log("Generated: vendors/types.d.ts");
|
||||
}
|
||||
|
||||
main();
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
import createEsmUtils from "esm-utils";
|
||||
import { readPackageUp } from "read-pkg-up";
|
||||
import { getVendorVersions } from "./vendor-versions.mjs";
|
||||
import vendors from "./vendors.mjs";
|
||||
|
||||
const { require } = createEsmUtils(import.meta);
|
||||
|
||||
async function main() {
|
||||
const errors = [];
|
||||
const vendorVersions = await getVendorVersions();
|
||||
for (const vendor of vendors) {
|
||||
const { packageJson: vendorPackage } = await readPackageUp({
|
||||
cwd: require.resolve(vendor),
|
||||
});
|
||||
const vendorPackageVersion = vendorPackage.version;
|
||||
const lockedVersion = vendorVersions[vendor];
|
||||
if (vendorPackageVersion !== lockedVersion) {
|
||||
errors.push({
|
||||
oldVersion: lockedVersion,
|
||||
newVersion: vendorPackageVersion,
|
||||
packageName: vendor,
|
||||
});
|
||||
}
|
||||
}
|
||||
if (errors.length > 0) {
|
||||
for (const { packageName, oldVersion, newVersion } of errors) {
|
||||
console.error(
|
||||
`The version of \`${packageName}\` is "${newVersion}", expected locked "${oldVersion}"`
|
||||
);
|
||||
}
|
||||
console.error(
|
||||
"Did you forget running `./scripts/vendors/bundle-vendors.mjs`?"
|
||||
);
|
||||
process.exitCode = 1;
|
||||
} else {
|
||||
console.log("Done");
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
Vendored
+4
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"string-width": "5.0.1",
|
||||
"mem": "9.0.2"
|
||||
}
|
||||
Vendored
+15
@@ -0,0 +1,15 @@
|
||||
import fs from "node:fs/promises";
|
||||
|
||||
const vendorVersionsPath = new URL("./vendor-versions.json", import.meta.url);
|
||||
|
||||
export async function getVendorVersions() {
|
||||
return JSON.parse(await fs.readFile(vendorVersionsPath));
|
||||
}
|
||||
|
||||
export async function writeVendorVersions(data) {
|
||||
await fs.writeFile(
|
||||
vendorVersionsPath,
|
||||
JSON.stringify(data, null, 2) + "\n",
|
||||
"utf-8"
|
||||
);
|
||||
}
|
||||
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
const vendors = ["string-width", "mem"];
|
||||
|
||||
export default vendors;
|
||||
@@ -5,16 +5,16 @@ const path = require("path");
|
||||
const uniqBy = require("lodash/uniqBy");
|
||||
const partition = require("lodash/partition");
|
||||
const fastGlob = require("fast-glob");
|
||||
const mem = require("mem");
|
||||
const internalPlugins = require("../languages.js");
|
||||
const thirdParty = require("./third-party.js");
|
||||
const resolve = require("./resolve.js");
|
||||
const { default: mem, memClear } = require("#mem");
|
||||
|
||||
const memoizedLoad = mem(load, { cacheKey: JSON.stringify });
|
||||
const memoizedSearch = mem(findPluginsInNodeModules);
|
||||
const clearCache = () => {
|
||||
mem.clear(memoizedLoad);
|
||||
mem.clear(memoizedSearch);
|
||||
memClear(memoizedLoad);
|
||||
memClear(memoizedSearch);
|
||||
};
|
||||
|
||||
function load(plugins, pluginSearchDirs) {
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
const path = require("path");
|
||||
|
||||
const editorconfig = require("editorconfig");
|
||||
const mem = require("mem");
|
||||
const editorConfigToPrettier = require("editorconfig-to-prettier");
|
||||
const findProjectRoot = require("./find-project-root.js");
|
||||
const { default: mem, memClear } = require("#mem");
|
||||
|
||||
const jsonStringifyMem = (fn) => mem(fn, { cacheKey: JSON.stringify });
|
||||
|
||||
@@ -36,8 +36,8 @@ function getLoadFunction(opts) {
|
||||
}
|
||||
|
||||
function clearCache() {
|
||||
mem.clear(editorconfigSyncWithCache);
|
||||
mem.clear(editorconfigAsyncWithCache);
|
||||
memClear(editorconfigSyncWithCache);
|
||||
memClear(editorconfigAsyncWithCache);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
const path = require("path");
|
||||
const minimatch = require("minimatch");
|
||||
const mem = require("mem");
|
||||
const thirdParty = require("../common/third-party.js");
|
||||
|
||||
const loadToml = require("../utils/load-toml.js");
|
||||
const loadJson5 = require("../utils/load-json5.js");
|
||||
const resolve = require("../common/resolve.js");
|
||||
const resolveEditorConfig = require("./resolve-config-editorconfig.js");
|
||||
const { default: mem, memClear } = require("#mem");
|
||||
|
||||
/**
|
||||
* @typedef {import("cosmiconfig/dist/Explorer").Explorer} Explorer
|
||||
@@ -127,7 +127,7 @@ const resolveConfig = (filePath, opts) => _resolveConfig(filePath, opts, false);
|
||||
resolveConfig.sync = (filePath, opts) => _resolveConfig(filePath, opts, true);
|
||||
|
||||
function clearCache() {
|
||||
mem.clear(getExplorerMemoized);
|
||||
memClear(getExplorerMemoized);
|
||||
resolveEditorConfig.clearCache();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
const stringWidth = require("string-width");
|
||||
const stringWidth = require("#string-width").default;
|
||||
|
||||
const notAsciiRegex = /[^\x20-\x7F]/;
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
"exclude": [
|
||||
"coverage/",
|
||||
"test*.*",
|
||||
"vendors/*.js",
|
||||
// [TBD] JavaScript sources *not* affected by src/language-*:
|
||||
"src/main/ast-to-doc.js",
|
||||
"src/main/core.js",
|
||||
|
||||
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
# `./vendors`
|
||||
|
||||
**JavaScript Files that included in this directory are auto generated by `scripts/vendor/bundle-vendors.mjs`.**
|
||||
Vendored
+278
@@ -0,0 +1,278 @@
|
||||
var __create = Object.create;
|
||||
var __defProp = Object.defineProperty;
|
||||
var __defProps = Object.defineProperties;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
||||
var __getProtoOf = Object.getPrototypeOf;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
||||
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
||||
var __spreadValues = (a, b) => {
|
||||
for (var prop in b || (b = {}))
|
||||
if (__hasOwnProp.call(b, prop))
|
||||
__defNormalProp(a, prop, b[prop]);
|
||||
if (__getOwnPropSymbols)
|
||||
for (var prop of __getOwnPropSymbols(b)) {
|
||||
if (__propIsEnum.call(b, prop))
|
||||
__defNormalProp(a, prop, b[prop]);
|
||||
}
|
||||
return a;
|
||||
};
|
||||
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
||||
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
||||
var __commonJS = (cb, mod) => function __require() {
|
||||
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
||||
};
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __reExport = (target, module2, copyDefault, desc) => {
|
||||
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
||||
for (let key of __getOwnPropNames(module2))
|
||||
if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
|
||||
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
|
||||
}
|
||||
return target;
|
||||
};
|
||||
var __toESM = (module2, isNodeMode) => {
|
||||
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
|
||||
};
|
||||
var __toCommonJS = /* @__PURE__ */ ((cache) => {
|
||||
return (module2, temp) => {
|
||||
return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
|
||||
};
|
||||
})(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
|
||||
|
||||
// node_modules/p-defer/index.js
|
||||
var require_p_defer = __commonJS({
|
||||
"node_modules/p-defer/index.js"(exports, module2) {
|
||||
"use strict";
|
||||
module2.exports = () => {
|
||||
const ret = {};
|
||||
ret.promise = new Promise((resolve, reject) => {
|
||||
ret.resolve = resolve;
|
||||
ret.reject = reject;
|
||||
});
|
||||
return ret;
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
// node_modules/map-age-cleaner/dist/index.js
|
||||
var require_dist = __commonJS({
|
||||
"node_modules/map-age-cleaner/dist/index.js"(exports, module2) {
|
||||
"use strict";
|
||||
var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
|
||||
return new (P || (P = Promise))(function(resolve, reject) {
|
||||
function fulfilled(value) {
|
||||
try {
|
||||
step(generator.next(value));
|
||||
} catch (e) {
|
||||
reject(e);
|
||||
}
|
||||
}
|
||||
function rejected(value) {
|
||||
try {
|
||||
step(generator["throw"](value));
|
||||
} catch (e) {
|
||||
reject(e);
|
||||
}
|
||||
}
|
||||
function step(result) {
|
||||
result.done ? resolve(result.value) : new P(function(resolve2) {
|
||||
resolve2(result.value);
|
||||
}).then(fulfilled, rejected);
|
||||
}
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
var __importDefault = exports && exports.__importDefault || function(mod) {
|
||||
return mod && mod.__esModule ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var p_defer_1 = __importDefault(require_p_defer());
|
||||
function mapAgeCleaner2(map, property = "maxAge") {
|
||||
let processingKey;
|
||||
let processingTimer;
|
||||
let processingDeferred;
|
||||
const cleanup = () => __awaiter(this, void 0, void 0, function* () {
|
||||
if (processingKey !== void 0) {
|
||||
return;
|
||||
}
|
||||
const setupTimer = (item) => __awaiter(this, void 0, void 0, function* () {
|
||||
processingDeferred = p_defer_1.default();
|
||||
const delay = item[1][property] - Date.now();
|
||||
if (delay <= 0) {
|
||||
map.delete(item[0]);
|
||||
processingDeferred.resolve();
|
||||
return;
|
||||
}
|
||||
processingKey = item[0];
|
||||
processingTimer = setTimeout(() => {
|
||||
map.delete(item[0]);
|
||||
if (processingDeferred) {
|
||||
processingDeferred.resolve();
|
||||
}
|
||||
}, delay);
|
||||
if (typeof processingTimer.unref === "function") {
|
||||
processingTimer.unref();
|
||||
}
|
||||
return processingDeferred.promise;
|
||||
});
|
||||
try {
|
||||
for (const entry of map) {
|
||||
yield setupTimer(entry);
|
||||
}
|
||||
} catch (_a) {
|
||||
}
|
||||
processingKey = void 0;
|
||||
});
|
||||
const reset = () => {
|
||||
processingKey = void 0;
|
||||
if (processingTimer !== void 0) {
|
||||
clearTimeout(processingTimer);
|
||||
processingTimer = void 0;
|
||||
}
|
||||
if (processingDeferred !== void 0) {
|
||||
processingDeferred.reject(void 0);
|
||||
processingDeferred = void 0;
|
||||
}
|
||||
};
|
||||
const originalSet = map.set.bind(map);
|
||||
map.set = (key, value) => {
|
||||
if (map.has(key)) {
|
||||
map.delete(key);
|
||||
}
|
||||
const result = originalSet(key, value);
|
||||
if (processingKey && processingKey === key) {
|
||||
reset();
|
||||
}
|
||||
cleanup();
|
||||
return result;
|
||||
};
|
||||
cleanup();
|
||||
return map;
|
||||
}
|
||||
exports.default = mapAgeCleaner2;
|
||||
module2.exports = mapAgeCleaner2;
|
||||
module2.exports.default = mapAgeCleaner2;
|
||||
}
|
||||
});
|
||||
|
||||
// node_modules/mem/dist/index.js
|
||||
var dist_exports = {};
|
||||
__export(dist_exports, {
|
||||
default: () => mem,
|
||||
memClear: () => memClear,
|
||||
memDecorator: () => memDecorator
|
||||
});
|
||||
|
||||
// node_modules/mimic-fn/index.js
|
||||
var copyProperty = (to, from, property, ignoreNonConfigurable) => {
|
||||
if (property === "length" || property === "prototype") {
|
||||
return;
|
||||
}
|
||||
if (property === "arguments" || property === "caller") {
|
||||
return;
|
||||
}
|
||||
const toDescriptor = Object.getOwnPropertyDescriptor(to, property);
|
||||
const fromDescriptor = Object.getOwnPropertyDescriptor(from, property);
|
||||
if (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {
|
||||
return;
|
||||
}
|
||||
Object.defineProperty(to, property, fromDescriptor);
|
||||
};
|
||||
var canCopyProperty = function(toDescriptor, fromDescriptor) {
|
||||
return toDescriptor === void 0 || toDescriptor.configurable || toDescriptor.writable === fromDescriptor.writable && toDescriptor.enumerable === fromDescriptor.enumerable && toDescriptor.configurable === fromDescriptor.configurable && (toDescriptor.writable || toDescriptor.value === fromDescriptor.value);
|
||||
};
|
||||
var changePrototype = (to, from) => {
|
||||
const fromPrototype = Object.getPrototypeOf(from);
|
||||
if (fromPrototype === Object.getPrototypeOf(to)) {
|
||||
return;
|
||||
}
|
||||
Object.setPrototypeOf(to, fromPrototype);
|
||||
};
|
||||
var wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/
|
||||
${fromBody}`;
|
||||
var toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, "toString");
|
||||
var toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, "name");
|
||||
var changeToString = (to, from, name) => {
|
||||
const withName = name === "" ? "" : `with ${name.trim()}() `;
|
||||
const newToString = wrappedToString.bind(null, withName, from.toString());
|
||||
Object.defineProperty(newToString, "name", toStringName);
|
||||
Object.defineProperty(to, "toString", __spreadProps(__spreadValues({}, toStringDescriptor), { value: newToString }));
|
||||
};
|
||||
function mimicFunction(to, from, { ignoreNonConfigurable = false } = {}) {
|
||||
const { name } = to;
|
||||
for (const property of Reflect.ownKeys(from)) {
|
||||
copyProperty(to, from, property, ignoreNonConfigurable);
|
||||
}
|
||||
changePrototype(to, from);
|
||||
changeToString(to, from, name);
|
||||
return to;
|
||||
}
|
||||
|
||||
// node_modules/mem/dist/index.js
|
||||
var import_map_age_cleaner = __toESM(require_dist(), 1);
|
||||
var cacheStore = /* @__PURE__ */ new WeakMap();
|
||||
function mem(fn, { cacheKey, cache = /* @__PURE__ */ new Map(), maxAge } = {}) {
|
||||
if (typeof maxAge === "number") {
|
||||
(0, import_map_age_cleaner.default)(cache);
|
||||
}
|
||||
const memoized = function(...arguments_) {
|
||||
const key = cacheKey ? cacheKey(arguments_) : arguments_[0];
|
||||
const cacheItem = cache.get(key);
|
||||
if (cacheItem) {
|
||||
return cacheItem.data;
|
||||
}
|
||||
const result = fn.apply(this, arguments_);
|
||||
cache.set(key, {
|
||||
data: result,
|
||||
maxAge: maxAge ? Date.now() + maxAge : Number.POSITIVE_INFINITY
|
||||
});
|
||||
return result;
|
||||
};
|
||||
mimicFunction(memoized, fn, {
|
||||
ignoreNonConfigurable: true
|
||||
});
|
||||
cacheStore.set(memoized, cache);
|
||||
return memoized;
|
||||
}
|
||||
function memDecorator(options = {}) {
|
||||
const instanceMap = /* @__PURE__ */ new WeakMap();
|
||||
return (target, propertyKey, descriptor) => {
|
||||
const input = target[propertyKey];
|
||||
if (typeof input !== "function") {
|
||||
throw new TypeError("The decorated value must be a function");
|
||||
}
|
||||
delete descriptor.value;
|
||||
delete descriptor.writable;
|
||||
descriptor.get = function() {
|
||||
if (!instanceMap.has(this)) {
|
||||
const value = mem(input, options);
|
||||
instanceMap.set(this, value);
|
||||
return value;
|
||||
}
|
||||
return instanceMap.get(this);
|
||||
};
|
||||
};
|
||||
}
|
||||
function memClear(fn) {
|
||||
const cache = cacheStore.get(fn);
|
||||
if (!cache) {
|
||||
throw new TypeError("Can't clear a function that was not memoized!");
|
||||
}
|
||||
if (typeof cache.clear !== "function") {
|
||||
throw new TypeError("The cache Map can't be cleared!");
|
||||
}
|
||||
cache.clear();
|
||||
}
|
||||
module.exports = __toCommonJS(dist_exports);
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
memClear,
|
||||
memDecorator
|
||||
});
|
||||
Vendored
+102
@@ -0,0 +1,102 @@
|
||||
var __create = Object.create;
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __getProtoOf = Object.getPrototypeOf;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
||||
var __commonJS = (cb, mod) => function __require() {
|
||||
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
||||
};
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __reExport = (target, module2, copyDefault, desc) => {
|
||||
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
||||
for (let key of __getOwnPropNames(module2))
|
||||
if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
|
||||
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
|
||||
}
|
||||
return target;
|
||||
};
|
||||
var __toESM = (module2, isNodeMode) => {
|
||||
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
|
||||
};
|
||||
var __toCommonJS = /* @__PURE__ */ ((cache) => {
|
||||
return (module2, temp) => {
|
||||
return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
|
||||
};
|
||||
})(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
|
||||
|
||||
// node_modules/emoji-regex/index.js
|
||||
var require_emoji_regex = __commonJS({
|
||||
"node_modules/emoji-regex/index.js"(exports, module2) {
|
||||
"use strict";
|
||||
module2.exports = function() {
|
||||
return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDLine truncated
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
// node_modules/string-width/index.js
|
||||
var string_width_exports = {};
|
||||
__export(string_width_exports, {
|
||||
default: () => stringWidth
|
||||
});
|
||||
|
||||
// node_modules/string-width/node_modules/ansi-regex/index.js
|
||||
function ansiRegex({ onlyFirst = false } = {}) {
|
||||
const pattern = [
|
||||
"[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
|
||||
"(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"
|
||||
].join("|");
|
||||
return new RegExp(pattern, onlyFirst ? void 0 : "g");
|
||||
}
|
||||
|
||||
// node_modules/string-width/node_modules/strip-ansi/index.js
|
||||
function stripAnsi(string) {
|
||||
if (typeof string !== "string") {
|
||||
throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
|
||||
}
|
||||
return string.replace(ansiRegex(), "");
|
||||
}
|
||||
|
||||
// node_modules/is-fullwidth-code-point/index.js
|
||||
function isFullwidthCodePoint(codePoint) {
|
||||
if (!Number.isInteger(codePoint)) {
|
||||
return false;
|
||||
}
|
||||
return codePoint >= 4352 && (codePoint <= 4447 || codePoint === 9001 || codePoint === 9002 || 11904 <= codePoint && codePoint <= 12871 && codePoint !== 12351 || 12880 <= codePoint && codePoint <= 19903 || 19968 <= codePoint && codePoint <= 42182 || 43360 <= codePoint && codePoint <= 43388 || 44032 <= codePoint && codePoint <= 55203 || 63744 <= codePoint && codePoint <= 64255 || 65040 <= codePoint && codePoint <= 65049 || 65072 <= codePoint && codePoint <= 65131 || 65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510 || 110592 <= codePoint && codePoint <= 110593 || 127488 <= codePoint && codePoint <= 127569 || 131072 <= codePoint && codePoint <= 262141);
|
||||
}
|
||||
|
||||
// node_modules/string-width/index.js
|
||||
var import_emoji_regex = __toESM(require_emoji_regex(), 1);
|
||||
function stringWidth(string) {
|
||||
if (typeof string !== "string" || string.length === 0) {
|
||||
return 0;
|
||||
}
|
||||
string = stripAnsi(string);
|
||||
if (string.length === 0) {
|
||||
return 0;
|
||||
}
|
||||
string = string.replace((0, import_emoji_regex.default)(), " ");
|
||||
let width = 0;
|
||||
for (let index = 0; index < string.length; index++) {
|
||||
const codePoint = string.codePointAt(index);
|
||||
if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) {
|
||||
continue;
|
||||
}
|
||||
if (codePoint >= 768 && codePoint <= 879) {
|
||||
continue;
|
||||
}
|
||||
if (codePoint > 65535) {
|
||||
index++;
|
||||
}
|
||||
width += isFullwidthCodePoint(codePoint) ? 2 : 1;
|
||||
}
|
||||
return width;
|
||||
}
|
||||
module.exports = __toCommonJS(string_width_exports);
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {});
|
||||
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
// This file is generate automatically.
|
||||
declare module "#string-width";
|
||||
declare module "#mem";
|
||||
@@ -1704,7 +1704,7 @@
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.11.tgz#6ea7342dfb379ea1210835bada87b3c512120234"
|
||||
integrity sha512-KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw==
|
||||
|
||||
"@types/normalize-package-data@^2.4.0":
|
||||
"@types/normalize-package-data@^2.4.0", "@types/normalize-package-data@^2.4.1":
|
||||
version "2.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301"
|
||||
integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==
|
||||
@@ -2674,6 +2674,11 @@ delayed-stream@~1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
|
||||
integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
|
||||
|
||||
detect-indent@^7.0.0:
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-7.0.0.tgz#cab58e6ab1129c669e2101181a6c677917d43577"
|
||||
integrity sha512-/6kJlmVv6RDFPqaHC/ZDcU8bblYcoph2dUQ3kB47QqhkUEqXe3VZPELK9BaEMrC73qu+wn0AQ7iSteceN+yuMw==
|
||||
|
||||
detect-newline@^3.0.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
|
||||
@@ -2754,6 +2759,11 @@ emoji-regex@^8.0.0:
|
||||
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
|
||||
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
|
||||
|
||||
emoji-regex@^9.2.2:
|
||||
version "9.2.2"
|
||||
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
|
||||
integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
|
||||
|
||||
emojis-list@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
|
||||
@@ -3379,6 +3389,14 @@ find-up@^5.0.0:
|
||||
locate-path "^6.0.0"
|
||||
path-exists "^4.0.0"
|
||||
|
||||
find-up@^6.2.0:
|
||||
version "6.2.0"
|
||||
resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.2.0.tgz#f3b81d633fa83bebe64f83a8bab357f86d5914be"
|
||||
integrity sha512-yWHzMzXCaFoABSnFTCPKNFlYoq4mSga9QLRRKOCLSJ33hSkzROB14ITbAWW0QDQDyuzsPQ33S1DsOWQb/oW1yA==
|
||||
dependencies:
|
||||
locate-path "^7.0.0"
|
||||
path-exists "^5.0.0"
|
||||
|
||||
flat-cache@^3.0.4:
|
||||
version "3.0.4"
|
||||
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
|
||||
@@ -3617,6 +3635,13 @@ hosted-git-info@^2.1.4:
|
||||
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
|
||||
integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==
|
||||
|
||||
hosted-git-info@^4.0.1:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224"
|
||||
integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==
|
||||
dependencies:
|
||||
lru-cache "^6.0.0"
|
||||
|
||||
html-element-attributes@2.3.0:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/html-element-attributes/-/html-element-attributes-2.3.0.tgz#a192ac90a457be9f1e2cc9ab69000ee89be74aa6"
|
||||
@@ -3796,7 +3821,7 @@ is-callable@^1.1.4, is-callable@^1.2.4:
|
||||
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945"
|
||||
integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==
|
||||
|
||||
is-core-module@^2.2.0, is-core-module@^2.8.0, is-core-module@^2.8.1:
|
||||
is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.8.0, is-core-module@^2.8.1:
|
||||
version "2.8.1"
|
||||
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211"
|
||||
integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==
|
||||
@@ -3830,6 +3855,11 @@ is-fullwidth-code-point@^3.0.0:
|
||||
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
|
||||
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
|
||||
|
||||
is-fullwidth-code-point@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88"
|
||||
integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==
|
||||
|
||||
is-generator-fn@^2.0.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118"
|
||||
@@ -3884,6 +3914,11 @@ is-plain-obj@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
|
||||
integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
|
||||
|
||||
is-plain-obj@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.0.0.tgz#06c0999fd7574edf5a906ba5644ad0feb3a84d22"
|
||||
integrity sha512-NXRbBtUdBioI73y/HmOhogw/U5msYPC9DAtGkJXeFcFWSFZw0mCUsPxk/snTuJHzNKA8kLBK4rH97RMB1BfCXw==
|
||||
|
||||
is-potential-custom-element-name@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5"
|
||||
@@ -4788,6 +4823,13 @@ locate-path@^6.0.0:
|
||||
dependencies:
|
||||
p-locate "^5.0.0"
|
||||
|
||||
locate-path@^7.0.0:
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.0.0.tgz#f0a60c8dd7ef0f737699eb9461b9567a92bc97da"
|
||||
integrity sha512-+cg2yXqDUKfo4hsFxwa3G1cBJeA+gs1vD8FyV9/odWoUlQe/4syxHQ5DPtKjtfm6gnKbZzjCqzX03kXosvZB1w==
|
||||
dependencies:
|
||||
p-locate "^6.0.0"
|
||||
|
||||
lodash.debounce@^4.0.8:
|
||||
version "4.0.8"
|
||||
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
|
||||
@@ -4863,13 +4905,13 @@ markdown-escapes@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535"
|
||||
integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==
|
||||
|
||||
mem@8.1.1:
|
||||
version "8.1.1"
|
||||
resolved "https://registry.yarnpkg.com/mem/-/mem-8.1.1.tgz#cf118b357c65ab7b7e0817bdf00c8062297c0122"
|
||||
integrity sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==
|
||||
mem@9.0.2:
|
||||
version "9.0.2"
|
||||
resolved "https://registry.yarnpkg.com/mem/-/mem-9.0.2.tgz#bbc2d40be045afe30749681e8f5d554cee0c0354"
|
||||
integrity sha512-F2t4YIv9XQUBHt6AOJ0y7lSmP1+cY7Fm1DRh9GClTGzKST7UWLMx6ly9WZdLH/G/ppM5RL4MlQfRT71ri9t19A==
|
||||
dependencies:
|
||||
map-age-cleaner "^0.1.3"
|
||||
mimic-fn "^3.1.0"
|
||||
mimic-fn "^4.0.0"
|
||||
|
||||
memorystream@^0.3.1:
|
||||
version "0.3.1"
|
||||
@@ -4916,10 +4958,10 @@ mimic-fn@^2.1.0:
|
||||
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
|
||||
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
|
||||
|
||||
mimic-fn@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz#65755145bbf3e36954b949c16450427451d5ca74"
|
||||
integrity sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==
|
||||
mimic-fn@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc"
|
||||
integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==
|
||||
|
||||
min-indent@^1.0.0:
|
||||
version "1.0.1"
|
||||
@@ -5031,6 +5073,16 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.5.0:
|
||||
semver "2 || 3 || 4 || 5"
|
||||
validate-npm-package-license "^3.0.1"
|
||||
|
||||
normalize-package-data@^3.0.2:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e"
|
||||
integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==
|
||||
dependencies:
|
||||
hosted-git-info "^4.0.1"
|
||||
is-core-module "^2.5.0"
|
||||
semver "^7.3.4"
|
||||
validate-npm-package-license "^3.0.1"
|
||||
|
||||
normalize-path@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
|
||||
@@ -5200,6 +5252,13 @@ p-limit@^3.0.2:
|
||||
dependencies:
|
||||
yocto-queue "^0.1.0"
|
||||
|
||||
p-limit@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644"
|
||||
integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==
|
||||
dependencies:
|
||||
yocto-queue "^1.0.0"
|
||||
|
||||
p-locate@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
|
||||
@@ -5221,6 +5280,13 @@ p-locate@^5.0.0:
|
||||
dependencies:
|
||||
p-limit "^3.0.2"
|
||||
|
||||
p-locate@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f"
|
||||
integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==
|
||||
dependencies:
|
||||
p-limit "^4.0.0"
|
||||
|
||||
p-map@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
|
||||
@@ -5277,7 +5343,7 @@ parse-json@^4.0.0:
|
||||
error-ex "^1.3.1"
|
||||
json-parse-better-errors "^1.0.1"
|
||||
|
||||
parse-json@^5.0.0:
|
||||
parse-json@^5.0.0, parse-json@^5.2.0:
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
|
||||
integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
|
||||
@@ -5311,6 +5377,11 @@ path-exists@^4.0.0:
|
||||
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
|
||||
integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
|
||||
|
||||
path-exists@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7"
|
||||
integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==
|
||||
|
||||
path-is-absolute@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
|
||||
@@ -5535,6 +5606,15 @@ react-is@^17.0.1:
|
||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
|
||||
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
|
||||
|
||||
read-pkg-up@9.0.0:
|
||||
version "9.0.0"
|
||||
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-9.0.0.tgz#2f03ba3e1430c56f8f0a4da73274c6d26c283b45"
|
||||
integrity sha512-7dNMZVru/9QQYnYYjboVqpaqT/e24MuhovJWjZHFBmUnCKVz5ZVFNLbd+fJCUsH7uIgkYbX9yQJvab2nc6P7Nw==
|
||||
dependencies:
|
||||
find-up "^6.2.0"
|
||||
read-pkg "^7.0.0"
|
||||
type-fest "^2.5.0"
|
||||
|
||||
read-pkg-up@^7.0.1:
|
||||
version "7.0.1"
|
||||
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507"
|
||||
@@ -5544,6 +5624,16 @@ read-pkg-up@^7.0.1:
|
||||
read-pkg "^5.2.0"
|
||||
type-fest "^0.8.1"
|
||||
|
||||
read-pkg@7.0.0, read-pkg@^7.0.0:
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-7.0.0.tgz#7009094a9cd58c7efc325d31f1f6cfce1928fa00"
|
||||
integrity sha512-oG2cKegOo2gjy/hrAM+KFHD9IqKdQvWcpWBBxuHbaucziM9PY45EuF6YbenLF7tL9ekXgB6Lfruo9hwdHQZUrA==
|
||||
dependencies:
|
||||
"@types/normalize-package-data" "^2.4.1"
|
||||
normalize-package-data "^3.0.2"
|
||||
parse-json "^5.2.0"
|
||||
type-fest "^2.0.0"
|
||||
|
||||
read-pkg@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389"
|
||||
@@ -5861,7 +5951,7 @@ semver@7.0.0:
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
|
||||
integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
|
||||
|
||||
semver@7.3.5, semver@^7.3.2, semver@^7.3.5:
|
||||
semver@7.3.5, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5:
|
||||
version "7.3.5"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
|
||||
integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
|
||||
@@ -5950,6 +6040,13 @@ snapshot-diff@0.9.0:
|
||||
jest-snapshot "^27.0.4"
|
||||
pretty-format "^27.0.2"
|
||||
|
||||
sort-keys@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-5.0.0.tgz#5d775f8ae93ecc29bc7312bbf3acac4e36e3c446"
|
||||
integrity sha512-Pdz01AvCAottHTPQGzndktFNdbRA75BgOfeT1hH+AMnJFv8lynkPi42rfeEhpx1saTEI3YNMWxfqu0sFD1G8pw==
|
||||
dependencies:
|
||||
is-plain-obj "^4.0.0"
|
||||
|
||||
source-map-support@^0.5.6:
|
||||
version "0.5.21"
|
||||
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
|
||||
@@ -6067,7 +6164,16 @@ string-length@^5.0.1:
|
||||
char-regex "^2.0.0"
|
||||
strip-ansi "^7.0.1"
|
||||
|
||||
string-width@4.2.3, string-width@^4.1.0, string-width@^4.2.0:
|
||||
string-width@5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.0.1.tgz#0d8158335a6cfd8eb95da9b6b262ce314a036ffd"
|
||||
integrity sha512-5ohWO/M4//8lErlUUtrFy3b11GtNOuMOU0ysKCDXFcfXuuvUXu95akgj/i8ofmaGdN0hCqyl6uu9i8dS/mQp5g==
|
||||
dependencies:
|
||||
emoji-regex "^9.2.2"
|
||||
is-fullwidth-code-point "^4.0.0"
|
||||
strip-ansi "^7.0.1"
|
||||
|
||||
string-width@^4.1.0, string-width@^4.2.0:
|
||||
version "4.2.3"
|
||||
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
|
||||
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
|
||||
@@ -6385,6 +6491,11 @@ type-fest@^0.8.1:
|
||||
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
|
||||
integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
|
||||
|
||||
type-fest@^2.0.0, type-fest@^2.5.0:
|
||||
version "2.11.1"
|
||||
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.11.1.tgz#04ddf5c0dbbd403fb8270d98ad1b4857e7ff7b24"
|
||||
integrity sha512-fPcV5KLAqFfmhHobtAUwEpbpfYhVF7wSLVgbG/7mIGe/Pete7ky/bPAPRkzbWdrj0/EkswFAAR2feJCgigkUKg==
|
||||
|
||||
typedarray-to-buffer@^3.1.5:
|
||||
version "3.1.5"
|
||||
resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
|
||||
@@ -6696,7 +6807,7 @@ wrappy@1:
|
||||
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
|
||||
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
|
||||
|
||||
write-file-atomic@^3.0.0:
|
||||
write-file-atomic@^3.0.0, write-file-atomic@^3.0.3:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"
|
||||
integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==
|
||||
@@ -6706,6 +6817,25 @@ write-file-atomic@^3.0.0:
|
||||
signal-exit "^3.0.2"
|
||||
typedarray-to-buffer "^3.1.5"
|
||||
|
||||
write-json-file@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-5.0.0.tgz#11c329a8ea9e8e23fb92a87cc27412a15f87708b"
|
||||
integrity sha512-ddSsCLa4aQ3kI21BthINo4q905/wfhvQ3JL3774AcRjBaiQmfn5v4rw77jQ7T6CmAit9VOQO+FsLyPkwxoB1fw==
|
||||
dependencies:
|
||||
detect-indent "^7.0.0"
|
||||
is-plain-obj "^4.0.0"
|
||||
sort-keys "^5.0.0"
|
||||
write-file-atomic "^3.0.3"
|
||||
|
||||
write-pkg@5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-5.0.0.tgz#b9fab4e78ee0e71b980867f2baff8b8564a77d26"
|
||||
integrity sha512-ihflUwZ8WvVcXD2uhk4JAAe5+x9FT+0n4Z5b/OMZXBG8/hXCvSQXTYDf9raox0aqJGWRBipIE4rWSi6aCaiebw==
|
||||
dependencies:
|
||||
sort-keys "^5.0.0"
|
||||
type-fest "^2.0.0"
|
||||
write-json-file "^5.0.0"
|
||||
|
||||
ws@^7.4.6:
|
||||
version "7.5.6"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b"
|
||||
@@ -6782,3 +6912,8 @@ yocto-queue@^0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
|
||||
integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
|
||||
|
||||
yocto-queue@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251"
|
||||
integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==
|
||||
Reference in new issue
Block a user