From 83006d891a60e319f545e135fb90264162a8d552 Mon Sep 17 00:00:00 2001 From: Eric Anderson Date: Tue, 7 Mar 2023 09:50:58 -0500 Subject: [PATCH 1/2] Migrate from ts-simple-ast to ts-morph (#247) --- package.json | 8 +- .../generate/__tests__/importsTest.ts | 15 +- .../example-service/another/testService.ts | 14 +- .../product-datasets/backingFileSystem.ts | 4 +- .../product-datasets/dataset.ts | 4 +- .../product/deprecatedEnumExample.ts | 10 +- .../product/deprecatedFieldExample.ts | 10 +- .../example-types/product/deprecatedUnion.ts | 12 +- .../example-types/product/enumExample.ts | 6 +- .../example-types/product/manyFieldExample.ts | 32 +- .../example-types/product/unionTypeExample.ts | 8 +- .../example-service/another/testService.ts | 14 +- .../product-datasets/backingFileSystem.ts | 4 +- .../product-datasets/dataset.ts | 4 +- .../product/deprecatedEnumExample.ts | 10 +- .../product/deprecatedFieldExample.ts | 10 +- .../example-types/product/deprecatedUnion.ts | 12 +- .../example-types/product/enumExample.ts | 6 +- .../example-types/product/manyFieldExample.ts | 32 +- .../example-types/product/unionTypeExample.ts | 8 +- .../resources/services/optionalService.ts | 4 +- .../services/outOfOrderPathService.ts | 4 +- .../resources/services/paramTypeService.ts | 4 +- .../resources/services/primitiveService.ts | 4 +- .../services/serviceWithSafelongHeader.ts | 4 +- .../ete-binary/product/eteBinaryService.ts | 4 +- .../example-service/another/testService.ts | 14 +- .../product-datasets/backingFileSystem.ts | 4 +- .../product-datasets/dataset.ts | 4 +- .../product/deprecatedEnumExample.ts | 10 +- .../product/deprecatedFieldExample.ts | 10 +- .../example-types/product/deprecatedUnion.ts | 12 +- .../example-types/product/enumExample.ts | 6 +- .../example-types/product/manyFieldExample.ts | 32 +- .../example-types/product/unionTypeExample.ts | 8 +- .../__tests__/resources/types/enumWithDocs.ts | 8 +- .../resources/types/objectWithDocs.ts | 12 +- .../resources/types/unionWithDocs.ts | 8 +- .../__tests__/serviceGeneratorTest.ts | 16 +- src/commands/generate/errorGenerator.ts | 4 +- src/commands/generate/imports.ts | 8 +- src/commands/generate/serviceGenerator.ts | 16 +- src/commands/generate/simpleAst.ts | 12 +- src/commands/generate/typeGenerator.ts | 65 +- yarn.lock | 948 +++--------------- 45 files changed, 306 insertions(+), 1138 deletions(-) diff --git a/package.json b/package.json index b3c72630..9287e6b9 100644 --- a/package.json +++ b/package.json @@ -34,8 +34,8 @@ "path": "^0.12.7", "semver": "^7.3.7", "sls-version": "^2.1.0", - "ts-simple-ast": "^11.3.0", - "tslib": "^1.9.3", + "ts-morph": "^17.0.1", + "tslib": "^2.5.0", "yargs": "^11.1.0" }, "devDependencies": { @@ -46,7 +46,7 @@ "@types/lodash": "^4.14.117", "@types/mkdirp": "^1.0.2", "@types/nock": "^9.3.0", - "@types/node": "^16.11.7", + "@types/node": "^18.14.6", "@types/node-dir": "^0.0.30", "@types/semver": "^7.3.10", "@types/tempy": "^0.1.0", @@ -68,7 +68,7 @@ "ts-jest": "^27.0.7", "ts-loader": "^9.3.1", "tslint": "^6.0.0", - "typescript": "~4.4.4", + "typescript": "~4.9.5", "webpack": "^5.73.0", "webpack-cli": "^4.10.0" }, diff --git a/src/commands/generate/__tests__/importsTest.ts b/src/commands/generate/__tests__/importsTest.ts index f52ea317..22eb5712 100644 --- a/src/commands/generate/__tests__/importsTest.ts +++ b/src/commands/generate/__tests__/importsTest.ts @@ -16,6 +16,7 @@ */ import { IType, ITypeDefinition, PrimitiveType } from "conjure-api"; +import { ImportDeclarationStructure, StructureKind } from "ts-morph"; import { ImportsVisitor, sortImports } from "../imports"; import { createHashableTypeName } from "../utils"; import { FLAVORED_TYPE_GENERATION_FLAGS } from "./resources/constants"; @@ -59,8 +60,9 @@ describe("imports", () => { GENERATION_FLAGS_TO_USE_FOR_IMPORTS, ); - function namedImport(moduleSpecifier: string, name: string) { + function namedImport(moduleSpecifier: string, name: string): ImportDeclarationStructure { return { + kind: StructureKind.ImportDeclaration, moduleSpecifier, namedImports: [{ name }], }; @@ -176,7 +178,7 @@ describe("imports", () => { it("adds both named and namespace imports", async () => { const imports = sortImports([ namedImport("module", "name"), - { moduleSpecifier: "module", namespaceImport: "namespace" }, + { kind: StructureKind.ImportDeclaration, moduleSpecifier: "module", namespaceImport: "namespace" }, ]); expect(imports.length).toEqual(2); }); @@ -185,6 +187,7 @@ describe("imports", () => { const sort = () => sortImports([ { + kind: StructureKind.ImportDeclaration, moduleSpecifier: "module", namedImports: [{ name: "name" }], namespaceImport: "namespace", @@ -197,10 +200,12 @@ describe("imports", () => { const sort = () => sortImports([ { + kind: StructureKind.ImportDeclaration, moduleSpecifier: "module", namespaceImport: "namespace", }, { + kind: StructureKind.ImportDeclaration, moduleSpecifier: "module", namespaceImport: "anotherNamespace", }, @@ -225,7 +230,11 @@ describe("imports", () => { GENERATION_FLAGS_TO_USE_FOR_IMPORTS, ); expect(IType.visit(IType.reference(otherType), importVisistor)).toEqual([ - { moduleSpecifier: "../foo-request/bar", namedImports: [{ name: "I" + otherType.name }] }, + { + kind: StructureKind.ImportDeclaration, + moduleSpecifier: "../foo-request/bar", + namedImports: [{ name: "I" + otherType.name }], + }, ]); }); }); diff --git a/src/commands/generate/__tests__/resources/flavored-test-cases/example-service/another/testService.ts b/src/commands/generate/__tests__/resources/flavored-test-cases/example-service/another/testService.ts index 625b2e1b..5dbd0db4 100644 --- a/src/commands/generate/__tests__/resources/flavored-test-cases/example-service/another/testService.ts +++ b/src/commands/generate/__tests__/resources/flavored-test-cases/example-service/another/testService.ts @@ -4,19 +4,17 @@ import { IAliasedString } from "../product/aliasedString"; import { ICreateDatasetRequest } from "../product/createDatasetRequest"; import { IHttpApiBridge } from "conjure-client"; -/** - * Constant reference to `undefined` that we expect to get minified and therefore reduce total code size - */ +/** Constant reference to `undefined` that we expect to get minified and therefore reduce total code size */ const __undefined: undefined = undefined; /** * A Markdown description of the service. - * + * */ export interface ITestService { /** * Returns a mapping from file system id to backing file system configuration. - * + * */ getFileSystems(): Promise<{ [key: string]: IBackingFileSystem }>; createDataset(request: ICreateDatasetRequest, testHeaderArg: string): Promise; @@ -30,7 +28,7 @@ export interface ITestService { getBranches(datasetRid: string): Promise>; /** * Gets all branches of this dataset. - * + * * @deprecated use getBranches instead */ getBranchesDeprecated(datasetRid: string): Promise>; @@ -51,7 +49,7 @@ export class TestService { /** * Returns a mapping from file system id to backing file system configuration. - * + * */ public getFileSystems(): Promise<{ [key: string]: IBackingFileSystem }> { return this.bridge.call<{ [key: string]: IBackingFileSystem }>( @@ -219,7 +217,7 @@ export class TestService { /** * Gets all branches of this dataset. - * + * * @deprecated use getBranches instead */ public getBranchesDeprecated(datasetRid: string): Promise> { diff --git a/src/commands/generate/__tests__/resources/flavored-test-cases/example-service/product-datasets/backingFileSystem.ts b/src/commands/generate/__tests__/resources/flavored-test-cases/example-service/product-datasets/backingFileSystem.ts index 21e74ea9..d7a4f4f3 100644 --- a/src/commands/generate/__tests__/resources/flavored-test-cases/example-service/product-datasets/backingFileSystem.ts +++ b/src/commands/generate/__tests__/resources/flavored-test-cases/example-service/product-datasets/backingFileSystem.ts @@ -1,7 +1,5 @@ export interface IBackingFileSystem { - /** - * The name by which this file system is identified. - */ + /** The name by which this file system is identified. */ 'fileSystemId': string; 'baseUri': string; 'configuration': { [key: string]: string }; diff --git a/src/commands/generate/__tests__/resources/flavored-test-cases/example-service/product-datasets/dataset.ts b/src/commands/generate/__tests__/resources/flavored-test-cases/example-service/product-datasets/dataset.ts index e034e968..71860635 100644 --- a/src/commands/generate/__tests__/resources/flavored-test-cases/example-service/product-datasets/dataset.ts +++ b/src/commands/generate/__tests__/resources/flavored-test-cases/example-service/product-datasets/dataset.ts @@ -1,7 +1,5 @@ export interface IDataset { 'fileSystemId': string; - /** - * Uniquely identifies this dataset. - */ + /** Uniquely identifies this dataset. */ 'rid': string; } diff --git a/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/deprecatedEnumExample.ts b/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/deprecatedEnumExample.ts index e98dfee7..3ced7f06 100644 --- a/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/deprecatedEnumExample.ts +++ b/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/deprecatedEnumExample.ts @@ -1,20 +1,18 @@ export namespace DeprecatedEnumExample { export type ONE = "ONE"; - /** - * @deprecated use ONE - */ + /** @deprecated use ONE */ export type OLD_ONE = "OLD_ONE"; /** * You should no longer use this - * + * * @deprecated use ONE */ export type OLD_DEPRECATED_ONE = "OLD_DEPRECATED_ONE"; /** * You should no longer use this - * + * * @deprecated should use ONE - * + * */ export type OLD_DOCUMENTED_ONE = "OLD_DOCUMENTED_ONE"; diff --git a/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/deprecatedFieldExample.ts b/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/deprecatedFieldExample.ts index 78c7c774..39171318 100644 --- a/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/deprecatedFieldExample.ts +++ b/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/deprecatedFieldExample.ts @@ -1,20 +1,18 @@ export interface IDeprecatedFieldExample { 'one': string; - /** - * @deprecated use ONE - */ + /** @deprecated use ONE */ 'deprecatedOne': string; /** * You should no longer use this - * + * * @deprecated use ONE */ 'documentedDeprecatedOne': string; /** * You should no longer use this - * + * * @deprecated should use ONE - * + * */ 'deprecatedWithinDocumentOne': string; } diff --git a/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/deprecatedUnion.ts b/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/deprecatedUnion.ts index 77151310..e41ba619 100644 --- a/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/deprecatedUnion.ts +++ b/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/deprecatedUnion.ts @@ -3,9 +3,7 @@ export interface IDeprecatedUnion_Good { 'type': "good"; } -/** - * @deprecated use good - */ +/** @deprecated use good */ export interface IDeprecatedUnion_NoGood { 'noGood': string; 'type': "noGood"; @@ -35,9 +33,7 @@ function isNoGood(obj: IDeprecatedUnion): obj is IDeprecatedUnion_NoGood { return (obj.type === "noGood"); } -/** - * @deprecated use good - */ +/** @deprecated use good */ function noGood(obj: string): IDeprecatedUnion_NoGood { return { noGood: obj, @@ -49,9 +45,7 @@ function isNoGoodDoc(obj: IDeprecatedUnion): obj is IDeprecatedUnion_NoGoodDoc { return (obj.type === "noGoodDoc"); } -/** - * @deprecated use good - */ +/** @deprecated use good */ function noGoodDoc(obj: string): IDeprecatedUnion_NoGoodDoc { return { noGoodDoc: obj, diff --git a/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/enumExample.ts b/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/enumExample.ts index 542e2aa8..a885e725 100644 --- a/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/enumExample.ts +++ b/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/enumExample.ts @@ -1,13 +1,11 @@ /** * This enumerates the numbers 1:2 also 100. - * + * */ export namespace EnumExample { export type ONE = "ONE"; export type TWO = "TWO"; - /** - * Value of 100. - */ + /** Value of 100. */ export type ONE_HUNDRED = "ONE_HUNDRED"; export const ONE = "ONE" as "ONE"; diff --git a/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/manyFieldExample.ts b/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/manyFieldExample.ts index c675b04a..7d6efba7 100644 --- a/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/manyFieldExample.ts +++ b/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/manyFieldExample.ts @@ -1,36 +1,20 @@ import { IStringAliasExample } from "./stringAliasExample"; export interface IManyFieldExample { - /** - * docs for string field - */ + /** docs for string field */ 'string': string; - /** - * docs for integer field - */ + /** docs for integer field */ 'integer': number; - /** - * docs for doubleValue field - */ + /** docs for doubleValue field */ 'doubleValue': number | "NaN"; - /** - * docs for optionalItem field - */ + /** docs for optionalItem field */ 'optionalItem'?: string | null; - /** - * docs for items field - */ + /** docs for items field */ 'items': Array; - /** - * docs for set field - */ + /** docs for set field */ 'set': Array; - /** - * docs for map field - */ + /** docs for map field */ 'map': { [key: string]: string }; - /** - * docs for alias field - */ + /** docs for alias field */ 'alias': IStringAliasExample; } diff --git a/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/unionTypeExample.ts b/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/unionTypeExample.ts index ec551749..3d57e469 100644 --- a/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/unionTypeExample.ts +++ b/src/commands/generate/__tests__/resources/flavored-test-cases/example-types/product/unionTypeExample.ts @@ -1,8 +1,6 @@ import { IStringExample } from "./stringExample"; -/** - * Docs for when UnionTypeExample is of type StringExample. - */ +/** Docs for when UnionTypeExample is of type StringExample. */ export interface IUnionTypeExample_StringExample { 'stringExample': IStringExample; 'type': "stringExample"; @@ -115,9 +113,7 @@ function interface_(obj: number): IUnionTypeExample_Interface { }; } -/** - * A type which can either be a StringExample, a set of strings, or an integer. - */ +/** A type which can either be a StringExample, a set of strings, or an integer. */ export type IUnionTypeExample = IUnionTypeExample_StringExample | IUnionTypeExample_Set | IUnionTypeExample_ThisFieldIsAnInteger | IUnionTypeExample_AlsoAnInteger | IUnionTypeExample_If | IUnionTypeExample_New | IUnionTypeExample_Interface; export interface IUnionTypeExampleVisitor { diff --git a/src/commands/generate/__tests__/resources/readonly-test-cases/example-service/another/testService.ts b/src/commands/generate/__tests__/resources/readonly-test-cases/example-service/another/testService.ts index 06413255..f5609101 100644 --- a/src/commands/generate/__tests__/resources/readonly-test-cases/example-service/another/testService.ts +++ b/src/commands/generate/__tests__/resources/readonly-test-cases/example-service/another/testService.ts @@ -3,19 +3,17 @@ import { IDataset } from "../product-datasets/dataset"; import { ICreateDatasetRequest } from "../product/createDatasetRequest"; import { IHttpApiBridge } from "conjure-client"; -/** - * Constant reference to `undefined` that we expect to get minified and therefore reduce total code size - */ +/** Constant reference to `undefined` that we expect to get minified and therefore reduce total code size */ const __undefined: undefined = undefined; /** * A Markdown description of the service. - * + * */ export interface ITestService { /** * Returns a mapping from file system id to backing file system configuration. - * + * */ getFileSystems(): Promise<{ readonly [key: string]: IBackingFileSystem }>; createDataset(request: ICreateDatasetRequest, testHeaderArg: string): Promise; @@ -29,7 +27,7 @@ export interface ITestService { getBranches(datasetRid: string): Promise>; /** * Gets all branches of this dataset. - * + * * @deprecated use getBranches instead */ getBranchesDeprecated(datasetRid: string): Promise>; @@ -50,7 +48,7 @@ export class TestService { /** * Returns a mapping from file system id to backing file system configuration. - * + * */ public getFileSystems(): Promise<{ readonly [key: string]: IBackingFileSystem }> { return this.bridge.call<{ readonly [key: string]: IBackingFileSystem }>( @@ -218,7 +216,7 @@ export class TestService { /** * Gets all branches of this dataset. - * + * * @deprecated use getBranches instead */ public getBranchesDeprecated(datasetRid: string): Promise> { diff --git a/src/commands/generate/__tests__/resources/readonly-test-cases/example-service/product-datasets/backingFileSystem.ts b/src/commands/generate/__tests__/resources/readonly-test-cases/example-service/product-datasets/backingFileSystem.ts index baca14ee..73f924a7 100644 --- a/src/commands/generate/__tests__/resources/readonly-test-cases/example-service/product-datasets/backingFileSystem.ts +++ b/src/commands/generate/__tests__/resources/readonly-test-cases/example-service/product-datasets/backingFileSystem.ts @@ -1,7 +1,5 @@ export interface IBackingFileSystem { - /** - * The name by which this file system is identified. - */ + /** The name by which this file system is identified. */ readonly 'fileSystemId': string; readonly 'baseUri': string; readonly 'configuration': { readonly [key: string]: string }; diff --git a/src/commands/generate/__tests__/resources/readonly-test-cases/example-service/product-datasets/dataset.ts b/src/commands/generate/__tests__/resources/readonly-test-cases/example-service/product-datasets/dataset.ts index e48baa2f..467d460e 100644 --- a/src/commands/generate/__tests__/resources/readonly-test-cases/example-service/product-datasets/dataset.ts +++ b/src/commands/generate/__tests__/resources/readonly-test-cases/example-service/product-datasets/dataset.ts @@ -1,7 +1,5 @@ export interface IDataset { readonly 'fileSystemId': string; - /** - * Uniquely identifies this dataset. - */ + /** Uniquely identifies this dataset. */ readonly 'rid': string; } diff --git a/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/deprecatedEnumExample.ts b/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/deprecatedEnumExample.ts index e98dfee7..3ced7f06 100644 --- a/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/deprecatedEnumExample.ts +++ b/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/deprecatedEnumExample.ts @@ -1,20 +1,18 @@ export namespace DeprecatedEnumExample { export type ONE = "ONE"; - /** - * @deprecated use ONE - */ + /** @deprecated use ONE */ export type OLD_ONE = "OLD_ONE"; /** * You should no longer use this - * + * * @deprecated use ONE */ export type OLD_DEPRECATED_ONE = "OLD_DEPRECATED_ONE"; /** * You should no longer use this - * + * * @deprecated should use ONE - * + * */ export type OLD_DOCUMENTED_ONE = "OLD_DOCUMENTED_ONE"; diff --git a/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/deprecatedFieldExample.ts b/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/deprecatedFieldExample.ts index 23e9a47b..168e63b4 100644 --- a/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/deprecatedFieldExample.ts +++ b/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/deprecatedFieldExample.ts @@ -1,20 +1,18 @@ export interface IDeprecatedFieldExample { readonly 'one': string; - /** - * @deprecated use ONE - */ + /** @deprecated use ONE */ readonly 'deprecatedOne': string; /** * You should no longer use this - * + * * @deprecated use ONE */ readonly 'documentedDeprecatedOne': string; /** * You should no longer use this - * + * * @deprecated should use ONE - * + * */ readonly 'deprecatedWithinDocumentOne': string; } diff --git a/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/deprecatedUnion.ts b/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/deprecatedUnion.ts index 84301a3b..2ea9b7e0 100644 --- a/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/deprecatedUnion.ts +++ b/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/deprecatedUnion.ts @@ -3,9 +3,7 @@ export interface IDeprecatedUnion_Good { readonly 'type': "good"; } -/** - * @deprecated use good - */ +/** @deprecated use good */ export interface IDeprecatedUnion_NoGood { readonly 'noGood': string; readonly 'type': "noGood"; @@ -35,9 +33,7 @@ function isNoGood(obj: IDeprecatedUnion): obj is IDeprecatedUnion_NoGood { return (obj.type === "noGood"); } -/** - * @deprecated use good - */ +/** @deprecated use good */ function noGood(obj: string): IDeprecatedUnion_NoGood { return { noGood: obj, @@ -49,9 +45,7 @@ function isNoGoodDoc(obj: IDeprecatedUnion): obj is IDeprecatedUnion_NoGoodDoc { return (obj.type === "noGoodDoc"); } -/** - * @deprecated use good - */ +/** @deprecated use good */ function noGoodDoc(obj: string): IDeprecatedUnion_NoGoodDoc { return { noGoodDoc: obj, diff --git a/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/enumExample.ts b/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/enumExample.ts index 542e2aa8..a885e725 100644 --- a/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/enumExample.ts +++ b/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/enumExample.ts @@ -1,13 +1,11 @@ /** * This enumerates the numbers 1:2 also 100. - * + * */ export namespace EnumExample { export type ONE = "ONE"; export type TWO = "TWO"; - /** - * Value of 100. - */ + /** Value of 100. */ export type ONE_HUNDRED = "ONE_HUNDRED"; export const ONE = "ONE" as "ONE"; diff --git a/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/manyFieldExample.ts b/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/manyFieldExample.ts index a9b35afc..d5a159d6 100644 --- a/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/manyFieldExample.ts +++ b/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/manyFieldExample.ts @@ -1,34 +1,18 @@ export interface IManyFieldExample { - /** - * docs for string field - */ + /** docs for string field */ readonly 'string': string; - /** - * docs for integer field - */ + /** docs for integer field */ readonly 'integer': number; - /** - * docs for doubleValue field - */ + /** docs for doubleValue field */ readonly 'doubleValue': number | "NaN"; - /** - * docs for optionalItem field - */ + /** docs for optionalItem field */ readonly 'optionalItem'?: string | null; - /** - * docs for items field - */ + /** docs for items field */ readonly 'items': ReadonlyArray; - /** - * docs for set field - */ + /** docs for set field */ readonly 'set': ReadonlyArray; - /** - * docs for map field - */ + /** docs for map field */ readonly 'map': { readonly [key: string]: string }; - /** - * docs for alias field - */ + /** docs for alias field */ readonly 'alias': string; } diff --git a/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/unionTypeExample.ts b/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/unionTypeExample.ts index f19e5356..8eb9d1d4 100644 --- a/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/unionTypeExample.ts +++ b/src/commands/generate/__tests__/resources/readonly-test-cases/example-types/product/unionTypeExample.ts @@ -1,8 +1,6 @@ import { IStringExample } from "./stringExample"; -/** - * Docs for when UnionTypeExample is of type StringExample. - */ +/** Docs for when UnionTypeExample is of type StringExample. */ export interface IUnionTypeExample_StringExample { readonly 'stringExample': IStringExample; readonly 'type': "stringExample"; @@ -115,9 +113,7 @@ function interface_(obj: number): IUnionTypeExample_Interface { }; } -/** - * A type which can either be a StringExample, a set of strings, or an integer. - */ +/** A type which can either be a StringExample, a set of strings, or an integer. */ export type IUnionTypeExample = IUnionTypeExample_StringExample | IUnionTypeExample_Set | IUnionTypeExample_ThisFieldIsAnInteger | IUnionTypeExample_AlsoAnInteger | IUnionTypeExample_If | IUnionTypeExample_New | IUnionTypeExample_Interface; export interface IUnionTypeExampleVisitor { diff --git a/src/commands/generate/__tests__/resources/services/optionalService.ts b/src/commands/generate/__tests__/resources/services/optionalService.ts index 0f468ef7..a51ba3fc 100644 --- a/src/commands/generate/__tests__/resources/services/optionalService.ts +++ b/src/commands/generate/__tests__/resources/services/optionalService.ts @@ -1,8 +1,6 @@ import { IHttpApiBridge } from "conjure-client"; -/** - * Constant reference to `undefined` that we expect to get minified and therefore reduce total code size - */ +/** Constant reference to `undefined` that we expect to get minified and therefore reduce total code size */ const __undefined: undefined = undefined; export interface IOptionalService { diff --git a/src/commands/generate/__tests__/resources/services/outOfOrderPathService.ts b/src/commands/generate/__tests__/resources/services/outOfOrderPathService.ts index ee8b5123..ba16b2ac 100644 --- a/src/commands/generate/__tests__/resources/services/outOfOrderPathService.ts +++ b/src/commands/generate/__tests__/resources/services/outOfOrderPathService.ts @@ -1,8 +1,6 @@ import { IHttpApiBridge } from "conjure-client"; -/** - * Constant reference to `undefined` that we expect to get minified and therefore reduce total code size - */ +/** Constant reference to `undefined` that we expect to get minified and therefore reduce total code size */ const __undefined: undefined = undefined; export interface IOutOfOrderPathService { diff --git a/src/commands/generate/__tests__/resources/services/paramTypeService.ts b/src/commands/generate/__tests__/resources/services/paramTypeService.ts index dbea80bc..6de8e73c 100644 --- a/src/commands/generate/__tests__/resources/services/paramTypeService.ts +++ b/src/commands/generate/__tests__/resources/services/paramTypeService.ts @@ -1,8 +1,6 @@ import { IHttpApiBridge } from "conjure-client"; -/** - * Constant reference to `undefined` that we expect to get minified and therefore reduce total code size - */ +/** Constant reference to `undefined` that we expect to get minified and therefore reduce total code size */ const __undefined: undefined = undefined; export interface IParamTypeService { diff --git a/src/commands/generate/__tests__/resources/services/primitiveService.ts b/src/commands/generate/__tests__/resources/services/primitiveService.ts index 186f7266..4fb4af63 100644 --- a/src/commands/generate/__tests__/resources/services/primitiveService.ts +++ b/src/commands/generate/__tests__/resources/services/primitiveService.ts @@ -1,8 +1,6 @@ import { IHttpApiBridge } from "conjure-client"; -/** - * Constant reference to `undefined` that we expect to get minified and therefore reduce total code size - */ +/** Constant reference to `undefined` that we expect to get minified and therefore reduce total code size */ const __undefined: undefined = undefined; export interface IPrimitiveService { diff --git a/src/commands/generate/__tests__/resources/services/serviceWithSafelongHeader.ts b/src/commands/generate/__tests__/resources/services/serviceWithSafelongHeader.ts index 6ac1a322..6b6e1523 100644 --- a/src/commands/generate/__tests__/resources/services/serviceWithSafelongHeader.ts +++ b/src/commands/generate/__tests__/resources/services/serviceWithSafelongHeader.ts @@ -1,8 +1,6 @@ import { IHttpApiBridge } from "conjure-client"; -/** - * Constant reference to `undefined` that we expect to get minified and therefore reduce total code size - */ +/** Constant reference to `undefined` that we expect to get minified and therefore reduce total code size */ const __undefined: undefined = undefined; export interface IServiceWithSafelongHeader { diff --git a/src/commands/generate/__tests__/resources/test-cases/ete-binary/product/eteBinaryService.ts b/src/commands/generate/__tests__/resources/test-cases/ete-binary/product/eteBinaryService.ts index c7ee1a40..627b05f4 100644 --- a/src/commands/generate/__tests__/resources/test-cases/ete-binary/product/eteBinaryService.ts +++ b/src/commands/generate/__tests__/resources/test-cases/ete-binary/product/eteBinaryService.ts @@ -4,9 +4,7 @@ export interface IEteBinaryService { postBinary(body: Blob): Promise; getOptionalBinaryPresent(): Promise; getOptionalBinaryEmpty(): Promise; - /** - * Throws an exception after partially writing a binary response. - */ + /** Throws an exception after partially writing a binary response. */ getBinaryFailure(numBytes: number): Promise; } diff --git a/src/commands/generate/__tests__/resources/test-cases/example-service/another/testService.ts b/src/commands/generate/__tests__/resources/test-cases/example-service/another/testService.ts index 81af772f..0e9ef189 100644 --- a/src/commands/generate/__tests__/resources/test-cases/example-service/another/testService.ts +++ b/src/commands/generate/__tests__/resources/test-cases/example-service/another/testService.ts @@ -3,19 +3,17 @@ import { IDataset } from "../product-datasets/dataset"; import { ICreateDatasetRequest } from "../product/createDatasetRequest"; import { IHttpApiBridge } from "conjure-client"; -/** - * Constant reference to `undefined` that we expect to get minified and therefore reduce total code size - */ +/** Constant reference to `undefined` that we expect to get minified and therefore reduce total code size */ const __undefined: undefined = undefined; /** * A Markdown description of the service. - * + * */ export interface ITestService { /** * Returns a mapping from file system id to backing file system configuration. - * + * */ getFileSystems(): Promise<{ [key: string]: IBackingFileSystem }>; createDataset(request: ICreateDatasetRequest, testHeaderArg: string): Promise; @@ -29,7 +27,7 @@ export interface ITestService { getBranches(datasetRid: string): Promise>; /** * Gets all branches of this dataset. - * + * * @deprecated use getBranches instead */ getBranchesDeprecated(datasetRid: string): Promise>; @@ -50,7 +48,7 @@ export class TestService { /** * Returns a mapping from file system id to backing file system configuration. - * + * */ public getFileSystems(): Promise<{ [key: string]: IBackingFileSystem }> { return this.bridge.call<{ [key: string]: IBackingFileSystem }>( @@ -218,7 +216,7 @@ export class TestService { /** * Gets all branches of this dataset. - * + * * @deprecated use getBranches instead */ public getBranchesDeprecated(datasetRid: string): Promise> { diff --git a/src/commands/generate/__tests__/resources/test-cases/example-service/product-datasets/backingFileSystem.ts b/src/commands/generate/__tests__/resources/test-cases/example-service/product-datasets/backingFileSystem.ts index 21e74ea9..d7a4f4f3 100644 --- a/src/commands/generate/__tests__/resources/test-cases/example-service/product-datasets/backingFileSystem.ts +++ b/src/commands/generate/__tests__/resources/test-cases/example-service/product-datasets/backingFileSystem.ts @@ -1,7 +1,5 @@ export interface IBackingFileSystem { - /** - * The name by which this file system is identified. - */ + /** The name by which this file system is identified. */ 'fileSystemId': string; 'baseUri': string; 'configuration': { [key: string]: string }; diff --git a/src/commands/generate/__tests__/resources/test-cases/example-service/product-datasets/dataset.ts b/src/commands/generate/__tests__/resources/test-cases/example-service/product-datasets/dataset.ts index e034e968..71860635 100644 --- a/src/commands/generate/__tests__/resources/test-cases/example-service/product-datasets/dataset.ts +++ b/src/commands/generate/__tests__/resources/test-cases/example-service/product-datasets/dataset.ts @@ -1,7 +1,5 @@ export interface IDataset { 'fileSystemId': string; - /** - * Uniquely identifies this dataset. - */ + /** Uniquely identifies this dataset. */ 'rid': string; } diff --git a/src/commands/generate/__tests__/resources/test-cases/example-types/product/deprecatedEnumExample.ts b/src/commands/generate/__tests__/resources/test-cases/example-types/product/deprecatedEnumExample.ts index e98dfee7..3ced7f06 100644 --- a/src/commands/generate/__tests__/resources/test-cases/example-types/product/deprecatedEnumExample.ts +++ b/src/commands/generate/__tests__/resources/test-cases/example-types/product/deprecatedEnumExample.ts @@ -1,20 +1,18 @@ export namespace DeprecatedEnumExample { export type ONE = "ONE"; - /** - * @deprecated use ONE - */ + /** @deprecated use ONE */ export type OLD_ONE = "OLD_ONE"; /** * You should no longer use this - * + * * @deprecated use ONE */ export type OLD_DEPRECATED_ONE = "OLD_DEPRECATED_ONE"; /** * You should no longer use this - * + * * @deprecated should use ONE - * + * */ export type OLD_DOCUMENTED_ONE = "OLD_DOCUMENTED_ONE"; diff --git a/src/commands/generate/__tests__/resources/test-cases/example-types/product/deprecatedFieldExample.ts b/src/commands/generate/__tests__/resources/test-cases/example-types/product/deprecatedFieldExample.ts index 78c7c774..39171318 100644 --- a/src/commands/generate/__tests__/resources/test-cases/example-types/product/deprecatedFieldExample.ts +++ b/src/commands/generate/__tests__/resources/test-cases/example-types/product/deprecatedFieldExample.ts @@ -1,20 +1,18 @@ export interface IDeprecatedFieldExample { 'one': string; - /** - * @deprecated use ONE - */ + /** @deprecated use ONE */ 'deprecatedOne': string; /** * You should no longer use this - * + * * @deprecated use ONE */ 'documentedDeprecatedOne': string; /** * You should no longer use this - * + * * @deprecated should use ONE - * + * */ 'deprecatedWithinDocumentOne': string; } diff --git a/src/commands/generate/__tests__/resources/test-cases/example-types/product/deprecatedUnion.ts b/src/commands/generate/__tests__/resources/test-cases/example-types/product/deprecatedUnion.ts index 77151310..e41ba619 100644 --- a/src/commands/generate/__tests__/resources/test-cases/example-types/product/deprecatedUnion.ts +++ b/src/commands/generate/__tests__/resources/test-cases/example-types/product/deprecatedUnion.ts @@ -3,9 +3,7 @@ export interface IDeprecatedUnion_Good { 'type': "good"; } -/** - * @deprecated use good - */ +/** @deprecated use good */ export interface IDeprecatedUnion_NoGood { 'noGood': string; 'type': "noGood"; @@ -35,9 +33,7 @@ function isNoGood(obj: IDeprecatedUnion): obj is IDeprecatedUnion_NoGood { return (obj.type === "noGood"); } -/** - * @deprecated use good - */ +/** @deprecated use good */ function noGood(obj: string): IDeprecatedUnion_NoGood { return { noGood: obj, @@ -49,9 +45,7 @@ function isNoGoodDoc(obj: IDeprecatedUnion): obj is IDeprecatedUnion_NoGoodDoc { return (obj.type === "noGoodDoc"); } -/** - * @deprecated use good - */ +/** @deprecated use good */ function noGoodDoc(obj: string): IDeprecatedUnion_NoGoodDoc { return { noGoodDoc: obj, diff --git a/src/commands/generate/__tests__/resources/test-cases/example-types/product/enumExample.ts b/src/commands/generate/__tests__/resources/test-cases/example-types/product/enumExample.ts index 542e2aa8..a885e725 100644 --- a/src/commands/generate/__tests__/resources/test-cases/example-types/product/enumExample.ts +++ b/src/commands/generate/__tests__/resources/test-cases/example-types/product/enumExample.ts @@ -1,13 +1,11 @@ /** * This enumerates the numbers 1:2 also 100. - * + * */ export namespace EnumExample { export type ONE = "ONE"; export type TWO = "TWO"; - /** - * Value of 100. - */ + /** Value of 100. */ export type ONE_HUNDRED = "ONE_HUNDRED"; export const ONE = "ONE" as "ONE"; diff --git a/src/commands/generate/__tests__/resources/test-cases/example-types/product/manyFieldExample.ts b/src/commands/generate/__tests__/resources/test-cases/example-types/product/manyFieldExample.ts index 7e539467..84eb41ad 100644 --- a/src/commands/generate/__tests__/resources/test-cases/example-types/product/manyFieldExample.ts +++ b/src/commands/generate/__tests__/resources/test-cases/example-types/product/manyFieldExample.ts @@ -1,34 +1,18 @@ export interface IManyFieldExample { - /** - * docs for string field - */ + /** docs for string field */ 'string': string; - /** - * docs for integer field - */ + /** docs for integer field */ 'integer': number; - /** - * docs for doubleValue field - */ + /** docs for doubleValue field */ 'doubleValue': number | "NaN"; - /** - * docs for optionalItem field - */ + /** docs for optionalItem field */ 'optionalItem'?: string | null; - /** - * docs for items field - */ + /** docs for items field */ 'items': Array; - /** - * docs for set field - */ + /** docs for set field */ 'set': Array; - /** - * docs for map field - */ + /** docs for map field */ 'map': { [key: string]: string }; - /** - * docs for alias field - */ + /** docs for alias field */ 'alias': string; } diff --git a/src/commands/generate/__tests__/resources/test-cases/example-types/product/unionTypeExample.ts b/src/commands/generate/__tests__/resources/test-cases/example-types/product/unionTypeExample.ts index ec551749..3d57e469 100644 --- a/src/commands/generate/__tests__/resources/test-cases/example-types/product/unionTypeExample.ts +++ b/src/commands/generate/__tests__/resources/test-cases/example-types/product/unionTypeExample.ts @@ -1,8 +1,6 @@ import { IStringExample } from "./stringExample"; -/** - * Docs for when UnionTypeExample is of type StringExample. - */ +/** Docs for when UnionTypeExample is of type StringExample. */ export interface IUnionTypeExample_StringExample { 'stringExample': IStringExample; 'type': "stringExample"; @@ -115,9 +113,7 @@ function interface_(obj: number): IUnionTypeExample_Interface { }; } -/** - * A type which can either be a StringExample, a set of strings, or an integer. - */ +/** A type which can either be a StringExample, a set of strings, or an integer. */ export type IUnionTypeExample = IUnionTypeExample_StringExample | IUnionTypeExample_Set | IUnionTypeExample_ThisFieldIsAnInteger | IUnionTypeExample_AlsoAnInteger | IUnionTypeExample_If | IUnionTypeExample_New | IUnionTypeExample_Interface; export interface IUnionTypeExampleVisitor { diff --git a/src/commands/generate/__tests__/resources/types/enumWithDocs.ts b/src/commands/generate/__tests__/resources/types/enumWithDocs.ts index 86fa2669..d768a06d 100644 --- a/src/commands/generate/__tests__/resources/types/enumWithDocs.ts +++ b/src/commands/generate/__tests__/resources/types/enumWithDocs.ts @@ -1,10 +1,6 @@ -/** - * Some documentation - */ +/** Some documentation */ export namespace EnumWithDocs { - /** - * Some field documentation - */ + /** Some field documentation */ export type FOO = "FOO"; export type BAR = "BAR"; diff --git a/src/commands/generate/__tests__/resources/types/objectWithDocs.ts b/src/commands/generate/__tests__/resources/types/objectWithDocs.ts index a23aa562..9591f1db 100644 --- a/src/commands/generate/__tests__/resources/types/objectWithDocs.ts +++ b/src/commands/generate/__tests__/resources/types/objectWithDocs.ts @@ -1,13 +1,7 @@ -/** - * my object - */ +/** my object */ export interface IObjectWithDocs { - /** - * docs - */ + /** docs */ 'bar': number; - /** - * more docs - */ + /** more docs */ 'foo': string; } diff --git a/src/commands/generate/__tests__/resources/types/unionWithDocs.ts b/src/commands/generate/__tests__/resources/types/unionWithDocs.ts index 906e6a84..7a60eb3e 100644 --- a/src/commands/generate/__tests__/resources/types/unionWithDocs.ts +++ b/src/commands/generate/__tests__/resources/types/unionWithDocs.ts @@ -1,6 +1,4 @@ -/** - * Some field documentation - */ +/** Some field documentation */ export interface IUnionWithDocs_Bar { 'bar': number; 'type': "bar"; @@ -33,9 +31,7 @@ function foo(obj: string): IUnionWithDocs_Foo { }; } -/** - * Some documentation - */ +/** Some documentation */ export type IUnionWithDocs = IUnionWithDocs_Bar | IUnionWithDocs_Foo; export interface IUnionWithDocsVisitor { diff --git a/src/commands/generate/__tests__/serviceGeneratorTest.ts b/src/commands/generate/__tests__/serviceGeneratorTest.ts index 02a6ca2e..19a1389e 100644 --- a/src/commands/generate/__tests__/serviceGeneratorTest.ts +++ b/src/commands/generate/__tests__/serviceGeneratorTest.ts @@ -501,13 +501,9 @@ describe("serviceGenerator", () => { const outFile = path.join(outDir, "services/myService.ts"); const contents = fs.readFileSync(outFile, "utf8"); expect(contents).toContain( - `/** - * service level docs - */ + `/** service level docs */ export interface IMyService { - /** - * endpoint level docs - */ + /** endpoint level docs */ foo(): Promise; } `, @@ -515,9 +511,7 @@ export interface IMyService { expect(contents).not.toContain( ` - /** - * endpoint level docs - */ + /** endpoint level docs */ foo(): Promise {`, ); }); @@ -546,9 +540,7 @@ export interface IMyService { expect(contents).toContain( ` export interface IMyService { - /** - * @incubating - */ + /** @incubating */ foo(): Promise; } `, diff --git a/src/commands/generate/errorGenerator.ts b/src/commands/generate/errorGenerator.ts index b5e3a71a..8b3cf042 100644 --- a/src/commands/generate/errorGenerator.ts +++ b/src/commands/generate/errorGenerator.ts @@ -16,7 +16,7 @@ */ import { IErrorDefinition, IType, ITypeDefinition } from "conjure-api"; -import { ImportDeclarationStructure } from "ts-simple-ast"; +import { ImportDeclarationStructure } from "ts-morph"; import { ImportsVisitor, sortImports } from "./imports"; import { SimpleAst } from "./simpleAst"; import { TsReturnTypeVisitor } from "./tsReturnTypeVisitor"; @@ -74,7 +74,7 @@ export function generateError( }); sourceFile.addFunction({ - bodyText: `return arg && arg.errorName === "${errorName}";`, + statements: `return arg && arg.errorName === "${errorName}";`, isExported: true, name: "is" + definition.errorName.name, parameters: [ diff --git a/src/commands/generate/imports.ts b/src/commands/generate/imports.ts index 562a3e7f..d7386c58 100644 --- a/src/commands/generate/imports.ts +++ b/src/commands/generate/imports.ts @@ -28,7 +28,7 @@ import { PrimitiveType, } from "conjure-api"; import * as path from "path"; -import { ImportDeclarationStructure, ImportSpecifierStructure } from "ts-simple-ast"; +import { ImportDeclarationStructure, ImportSpecifierStructure, StructureKind } from "ts-morph"; import { TsReturnTypeVisitor } from "./tsReturnTypeVisitor"; import { ITypeGenerationFlags } from "./typeGenerationFlags"; import { createHashableTypeName, isFlavorizable } from "./utils"; @@ -75,6 +75,7 @@ export class ImportsVisitor implements ITypeVisitor { + if (curImport != null && Array.isArray(i.namedImports)) { + const newImports = i.namedImports.filter(namedImport => { const newName = typeof namedImport === "string" ? namedImport : namedImport.name; return ( curImport.namedImports.find(({ name }: ImportSpecifierStructure) => name === newName) == null diff --git a/src/commands/generate/serviceGenerator.ts b/src/commands/generate/serviceGenerator.ts index a995d627..57c3b6fa 100644 --- a/src/commands/generate/serviceGenerator.ts +++ b/src/commands/generate/serviceGenerator.ts @@ -31,10 +31,12 @@ import { CodeBlockWriter, ImportDeclarationStructure, MethodDeclarationStructure, + MethodSignatureStructure, ParameterDeclarationStructure, Scope, + StructureKind, VariableDeclarationKind, -} from "ts-simple-ast"; +} from "ts-morph"; import { ImportsVisitor, sortImports } from "./imports"; import { MediaTypeVisitor } from "./mediaTypeVisitor"; import { SimpleAst } from "./simpleAst"; @@ -48,7 +50,8 @@ import { addDeprecatedToDocs, addIncubatingDocs, CONJURE_CLIENT } from "./utils" const HTTP_API_BRIDGE_TYPE = "IHttpApiBridge"; /** Variable name used in the generation of the service class. */ const BRIDGE = "bridge"; -const HTTP_API_BRIDGE_IMPORT = { +const HTTP_API_BRIDGE_IMPORT: ImportDeclarationStructure = { + kind: StructureKind.ImportDeclaration, moduleSpecifier: CONJURE_CLIENT, namedImports: [{ name: HTTP_API_BRIDGE_TYPE }], }; @@ -72,7 +75,7 @@ export function generateService( const importsVisitor = new ImportsVisitor(knownTypes, definition.serviceName, typeGenerationFlags); const mediaTypeVisitor = new MediaTypeVisitor(knownTypes); - const endpointSignatures: MethodDeclarationStructure[] = []; + const endpointSignatures: MethodSignatureStructure[] = []; const endpointImplementations: MethodDeclarationStructure[] = []; const imports: ImportDeclarationStructure[] = [HTTP_API_BRIDGE_IMPORT]; sourceFile.addVariableStatement({ @@ -92,6 +95,7 @@ export function generateService( const argType = IType.visit(argDefinition.type, tsArgumentTypeVisitor); imports.push(...IType.visit(argDefinition.type, importsVisitor)); return { + kind: StructureKind.Parameter, hasQuestionToken: IType.isOptional(argDefinition.type), name: argDefinition.argName, type: argType, @@ -104,7 +108,8 @@ export function generateService( imports.push(...IType.visit(endpointDefinition.returns, importsVisitor)); } - const signature: MethodDeclarationStructure = { + const signature: MethodSignatureStructure = { + kind: StructureKind.MethodSignature, name: endpointDefinition.endpointName, parameters, returnType: `Promise<${returnTsType}>`, @@ -116,7 +121,8 @@ export function generateService( endpointSignatures.push(signature); endpointImplementations.push({ - bodyText: generateEndpointBody( + kind: StructureKind.Method, + statements: generateEndpointBody( definition.serviceName.name, endpointDefinition, returnTsType, diff --git a/src/commands/generate/simpleAst.ts b/src/commands/generate/simpleAst.ts index 91a1eeba..dfa5fefa 100644 --- a/src/commands/generate/simpleAst.ts +++ b/src/commands/generate/simpleAst.ts @@ -17,26 +17,24 @@ import { ITypeName } from "conjure-api"; import * as path from "path"; -import Ast, { Options, SourceFile } from "ts-simple-ast"; +import { Project, SourceFile } from "ts-morph"; import { dir, module } from "./imports"; const TS_EXTENSION = ".ts"; const dashRegex = /-(\w)/g; export class SimpleAst { - private ast: Ast; + private ast: Project; private outDir: string; public constructor(outDir: string) { - const options: Options = { + this.outDir = outDir; + this.ast = new Project({ compilerOptions: { declaration: true, outDir, }, - }; - - this.outDir = outDir; - this.ast = new Ast(options); + }); } public createSourceFile(currType: ITypeName): SourceFile { diff --git a/src/commands/generate/typeGenerator.ts b/src/commands/generate/typeGenerator.ts index 2f1aaf7a..1bb334d5 100644 --- a/src/commands/generate/typeGenerator.ts +++ b/src/commands/generate/typeGenerator.ts @@ -26,10 +26,14 @@ import { FunctionDeclarationStructure, ImportDeclarationStructure, InterfaceDeclarationStructure, + ModuleDeclarationKind, ObjectLiteralExpression, PropertySignatureStructure, + StructureKind, + TypeAliasDeclarationStructure, VariableDeclarationKind, -} from "ts-simple-ast"; + VariableStatementStructure, +} from "ts-morph"; import { ImportsVisitor, sortImports } from "./imports"; import { SimpleAst } from "./simpleAst"; import { TsReturnTypeVisitor } from "./tsReturnTypeVisitor"; @@ -115,21 +119,32 @@ export async function generateEnum(definition: IEnumDefinition, simpleAst: Simpl const sourceFile = simpleAst.createSourceFile(definition.typeName); if (definition.values.length > 0) { - const namespaceDefinition = sourceFile.addNamespace({ + const typeAliases = definition.values.map(enumValue => ({ + kind: StructureKind.TypeAlias, + isExported: true, + name: enumValue.value, + type: doubleQuote(enumValue.value), + docs: addDeprecatedToDocs(enumValue), + })); + typeAliases[typeAliases.length - 1].trailingTrivia = `\n\n`; + const variableDeclarations = definition.values.map(enumValue => ({ + kind: StructureKind.VariableStatement, + isExported: true, + declarationKind: VariableDeclarationKind.Const, + declarations: [ + { + name: enumValue.value, + initializer: `${doubleQuote(enumValue.value)} as ${doubleQuote(enumValue.value)}`, + }, + ], + })); + + const namespaceDefinition = sourceFile.addModule({ + kind: StructureKind.Module, + declarationKind: ModuleDeclarationKind.Namespace, isExported: true, name: definition.typeName.name, - typeAliases: definition.values.map(enumValue => ({ - isExported: true, - name: enumValue.value, - type: doubleQuote(enumValue.value), - docs: addDeprecatedToDocs(enumValue), - })), - bodyText: writer => { - definition.values.forEach(({ value }) => { - const quotedValue = doubleQuote(value); - writer.writeLine(`export const ${value} = ${quotedValue} as ${quotedValue};`); - }); - }, + statements: [...typeAliases, ...variableDeclarations], }); if (definition.docs != null) { namespaceDefinition.addJsDoc(definition.docs); @@ -165,7 +180,7 @@ export async function generateEnum(definition: IEnumDefinition, simpleAst: Simpl }); } - sourceFile.formatText(); + sourceFile.formatText({ trimTrailingWhitespace: true }); return sourceFile.save(); } @@ -193,6 +208,7 @@ export async function generateObject( const fieldType = IType.visit(fieldDefinition.type, tsTypeVisitor); const property: PropertySignatureStructure = { + kind: StructureKind.PropertySignature, hasQuestionToken: IType.isOptional(fieldDefinition.type), name: singleQuote(fieldDefinition.fieldName), type: fieldType, @@ -258,7 +274,7 @@ export async function generateUnion( }); sourceFile.addFunction({ - bodyText: unionSourceFileInput.visitorStatements.join("\n"), + statements: unionSourceFileInput.visitorStatements.join("\n"), name: "visit", parameters: [ { @@ -286,9 +302,11 @@ export async function generateUnion( }); const objectLiteralExpr = variableStatement.getDeclarations()[0].getInitializer() as ObjectLiteralExpression; sourceFile.getFunctions().forEach(f => { + const name = f.getName(); + if (name == null) throw new Error("Name == null! We assign the name above. This should never happen."); objectLiteralExpr.addPropertyAssignment({ - initializer: f.getName(), - name: f.getName(), + initializer: name, + name, }); }); @@ -319,6 +337,7 @@ function processUnionMembers( const interfaceName = `${unionTsType}_${uppercase(memberName)}`; memberInterfaces.push({ + kind: StructureKind.Interface, docs: addDeprecatedToDocs(fieldDefinition), isExported: true, name: interfaceName, @@ -336,8 +355,9 @@ function processUnionMembers( ], }); - const typeGuard = { - bodyText: `return (obj.type === "${memberName}");`, + const typeGuard: FunctionDeclarationStructure = { + kind: StructureKind.Function, + statements: `return (obj.type === "${memberName}");`, name: "is" + uppercase(memberName), parameters: [ { @@ -352,7 +372,8 @@ function processUnionMembers( // factory const factoryName = isValidFunctionName(memberName) ? memberName + "_" : memberName; functions.push({ - bodyText: `return { + kind: StructureKind.Function, + statements: `return { ${memberName}: obj, type: ${doubleQuote(memberName)}, };`, @@ -373,6 +394,7 @@ function processUnionMembers( }); visitorProperties.push({ + kind: StructureKind.PropertySignature, name: singleQuote(memberName), type: `(obj: ${fieldType}) => T`, isReadonly: typeGenerationFlags.readonlyInterfaces, @@ -383,6 +405,7 @@ function processUnionMembers( }); visitorProperties.push({ + kind: StructureKind.PropertySignature, name: singleQuote("unknown"), type: `(obj: ${unionTsType}) => T`, isReadonly: typeGenerationFlags.readonlyInterfaces, diff --git a/yarn.lock b/yarn.lock index 896eb6f3..17d739de 100644 --- a/yarn.lock +++ b/yarn.lock @@ -341,14 +341,6 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz#9283c9ce5b289a3c4f61c12757469e59377f81f3" integrity "sha1-koPJzlsomjxPYcEnV0aeWTd/gfM= sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA==" -"@dsherret/to-absolute-glob@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@dsherret/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1f6475dc8bd974cea07a2daf3864b317b1dd332c" - integrity "sha1-H2R13IvZdM6gei2vOGSzF7HdMyw= sha512-InCaQ/KEOcFtAFztn47wadritBLP2nT6m/ucbBnIgI5YwxuMzKKCHtqazR2+D1yR6y1ZTnPea9aLFEUrTttUSQ==" - dependencies: - is-absolute "^1.0.0" - is-negated-glob "^1.0.0" - "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -534,18 +526,26 @@ "@types/yargs" "^16.0.0" chalk "^4.0.0" -"@mrmlnc/readdir-enhanced@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" - integrity "sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4= sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==" +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: - call-me-maybe "^1.0.1" - glob-to-regexp "^0.3.0" + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" -"@nodelib/fs.stat@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.0.2.tgz#d056b68999769728a1cff8d643bc59eb6f0be436" - integrity "sha1-0Fa2iZl2lyihz/jWQ7xZ628L5DY= sha512-vCpf75JDcdomXvUd7Rn6DfYAVqPAFI66FVjxiWGwh85OLdvfo3paBoPJaam5keIYRyUolnS7SleS/ZPCidCvzw==" +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" "@sinonjs/commons@^1.7.0": version "1.8.3" @@ -566,6 +566,16 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity "sha1-zLkURTYBeaBOf+av94wA/8Hur4I= sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" +"@ts-morph/common@~0.18.0": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@ts-morph/common/-/common-0.18.1.tgz#ca40c3a62c3f9e17142e0af42633ad63efbae0ec" + integrity sha512-RVE+zSRICWRsfrkAw5qCAK+4ZH9kwEFv5h0+/YeHTLieWP7F4wWq4JsKFuNWG+fYh/KF+8rAtgdj5zb2mm+DVA== + dependencies: + fast-glob "^3.2.12" + minimatch "^5.1.0" + mkdirp "^1.0.4" + path-browserify "^1.0.1" + "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": version "7.1.16" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.16.tgz#bc12c74b7d65e82d29876b5d0baf5c625ac58702" @@ -727,10 +737,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.4.tgz#48aedbf35efb3af1248e4cd4d792c730290cd5d6" integrity "sha1-SK7b8177OvEkjkzU15LHMCkM1dY= sha512-M0+G6V0Y4YV8cqzHssZpaNCqvYwlCiulmm0PwpNLF55r/+cT8Ol42CHRU1SEaYFH2rTwiiE1aYg/2g2rrtGdPA==" -"@types/node@^16.11.7": - version "16.11.8" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.8.tgz#a1aeb23f0aa33cb111e64ccaa1687b2ae0423b69" - integrity "sha1-oa6yPwqjPLER5kzKoWh7KuBCO2k= sha512-hmT5gfpRkkHr7DZZHMf3jBe/zNcVGN+jXSL2f8nAsYfBPxQFToKwQlS/zES4Sjp488Bi73i+p6bvrNRRGU0x9Q==" +"@types/node@^18.14.6": + version "18.14.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.6.tgz#ae1973dd2b1eeb1825695bb11ebfb746d27e3e93" + integrity sha512-93+VvleD3mXwlLI/xASjw0FzKcwzl3OdTCzm1LaRfqgS21gfFtK3zDXM5Op9TeeMsJVOaJ2VRDpT9q4Y3d0AvA== "@types/prettier@^2.1.5": version "2.4.2" @@ -1046,26 +1056,6 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==" - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE= sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==" - -array-differ@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" - integrity "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE= sha512-LeZY+DZDRnvP7eMuQ6LHfCzUGxAAIViUBliK24P3hWXL6y4SortgR6Nim6xrkfSLlmH0+k+9NYNwVC2s53ZrYQ==" - array-filter@~0.0.0: version "0.0.1" resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" @@ -1081,28 +1071,6 @@ array-reduce@~0.0.0: resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" integrity "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys= sha512-8jR+StqaC636u7h3ye1co3lQRefgVVUQUhuAmRbDqIMeR2yuXzRvkCNQiQ5J/wbREmoBLNtp13dhaaVpZQDRUw==" -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==" - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==" - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==" - -arrify@^1.0.0, arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==" - asn1.js@^4.0.0: version "4.10.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" @@ -1127,11 +1095,6 @@ assertion-error@^1.1.0: resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" integrity "sha1-5gtrDo8wG9l+U3UhW9pAbIURjAs= sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==" - async@^3.0.1: version "3.2.4" resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" @@ -1142,11 +1105,6 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity "sha1-x57Zf380y48robyXkLzDZkdLS3k= sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" -atob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a" - integrity "sha1-ri1acpR38onWDdf5amMUoi3Wwio= sha512-gEDqqA1MuVFAko5RaAu8AM7S/6iA3Q8/oYUAdrg0E4qNkqcsRhuox/CCMtFLmf8/274pJ1mLuHBDtQRcJ5i/MA==" - available-typed-arrays@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" @@ -1228,19 +1186,6 @@ base64id@2.0.0, base64id@~2.0.0: resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6" integrity "sha1-J3Csa8R9MSr5eov5pjQ0LgzSXLY= sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity "sha1-e95c7RRbbVUakNuH+DxVi060io8= sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==" - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" @@ -1277,21 +1222,12 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk= sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==" +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" + balanced-match "^1.0.0" braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: version "3.0.2" @@ -1438,21 +1374,6 @@ bytes@3.1.2: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity "sha1-iwvuuYYFrfGxKPpDhkA8AJ4CIaU= sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI= sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==" - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -1461,11 +1382,6 @@ call-bind@^1.0.0, call-bind@^1.0.2: function-bind "^1.1.1" get-intrinsic "^1.0.2" -call-me-maybe@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" - integrity "sha1-JtII6onje1y95gJQoV8DHBak1ms= sha512-wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw==" - callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" @@ -1568,16 +1484,6 @@ cjs-module-lexer@^1.0.0: resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" integrity "sha1-n4S6MkSlEvOlTlJ36O70xImGTkA= sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity "sha1-+TNprouafOAv1B+q0MqDAzGQxGM= sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==" - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - cliui@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" @@ -1615,10 +1521,10 @@ co@^4.6.0: resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" integrity "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" -code-block-writer@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/code-block-writer/-/code-block-writer-7.2.0.tgz#17a57b080e64898a82e3045df7a472baec9f220e" - integrity "sha1-F6V7CA5kiYqC4wRd96RyuuyfIg4= sha512-nbjC1C3cQg7kumv+wl4Brv94ro8l13QxAVaiSulyTvSK83nFUd4FlTIzcnfrsEchl0yErPdNRnNW/+3KFu3z7w==" +code-block-writer@^11.0.3: + version "11.0.3" + resolved "https://registry.yarnpkg.com/code-block-writer/-/code-block-writer-11.0.3.tgz#9eec2993edfb79bfae845fbc093758c0a0b73b76" + integrity sha512-NiujjUFB4SwScJq2bwbYUtXbZhBSlY6vYzm++3Q6oC+U+injTqfPYFK8wS9COOmb2lueqp0ZRB4nK1VYeHgNyw== code-point-at@^1.0.0: version "1.1.0" @@ -1630,14 +1536,6 @@ collect-v8-coverage@^1.0.0: resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" integrity "sha1-zCyOlPwYu9/+ZNZTRXDIpnOyf1k= sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==" - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - color-convert@^1.9.0: version "1.9.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" @@ -1704,11 +1602,6 @@ commander@^7.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity "sha1-o2y1fQtQHOEI5NIFWaFQo5HZerc= sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" -component-emitter@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" - integrity "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= sha512-jPatnhd33viNplKjqXKRkGU345p263OIWzDL2wH3LGIGp5Kojo+uXizHmOADRvhGFFTnJqX3jBAKP6vvmSDKcA==" - component-emitter@~1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" @@ -1778,11 +1671,6 @@ cookie@~0.4.1: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" integrity "sha1-DkHyTeXs8xeUfIL8eJ4GqISCRDI= sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==" - cors@~2.8.5: version "2.8.5" resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" @@ -1900,7 +1788,7 @@ date-format@^4.0.10, date-format@^4.0.11: resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.11.tgz#ae0d1e069d7f0687938fd06f98c12f3a6276e526" integrity "sha1-rg0eBp1/BoeTj9BvmMEvOmJ25SY= sha512-VS20KRyorrbMCQmpdl2hg5KaOUsda1RbnsJg461FfrcyCUg+pkd0b40BSW4niQyTheww4DBXQnS7HwSrKkipLw==" -debug@2.6.9, debug@^2.2.0, debug@^2.3.3: +debug@2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" @@ -1938,11 +1826,6 @@ decimal.js@^10.2.1: resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" integrity "sha1-2MOkRKnGd0umDKatcmHDqU/V54M= sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==" -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==" - dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" @@ -1988,28 +1871,6 @@ define-properties@^1.1.3, define-properties@^1.1.4: has-property-descriptors "^1.0.0" object-keys "^1.1.1" -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==" - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity "sha1-dp66rz9KY6rTr56NMEybvnm/sOY= sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==" - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity "sha1-1Flono1lS6d+AqgX+HENcCyxbp0= sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==" - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -2067,14 +1928,6 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" -dir-glob@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" - integrity "sha1-CyBdK2rvmCOMooZZioIE0p0KADQ= sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==" - dependencies: - arrify "^1.0.1" - path-type "^3.0.0" - dom-serialize@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b" @@ -2400,19 +2253,6 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity "sha1-t3c14xXOMPa27/D4OwQVGiJEliI= sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==" - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - expect@^27.3.1: version "27.3.1" resolved "https://registry.yarnpkg.com/expect/-/expect-27.3.1.tgz#d0f170b1f5c8a2009bab0beffd4bb94f043e38e7" @@ -2425,56 +2265,26 @@ expect@^27.3.1: jest-message-util "^27.3.1" jest-regex-util "^27.0.6" -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==" - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==" - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - extend@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM= sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==" - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - fast-deep-equal@^3.1.1: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU= sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" -fast-glob@^2.0.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.2.tgz#71723338ac9b4e0e2fff1d6748a2a13d5ed352bf" - integrity "sha1-cXIzOKybTg4v/x1nSKKhPV7TUr8= sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==" +fast-glob@^3.2.12: + version "3.2.12" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== dependencies: - "@mrmlnc/readdir-enhanced" "^2.2.1" - "@nodelib/fs.stat" "^1.0.1" - glob-parent "^3.1.0" - is-glob "^4.0.0" - merge2 "^1.2.1" - micromatch "^3.1.10" + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" fast-json-stable-stringify@2.x: version "2.1.0" @@ -2496,6 +2306,13 @@ fastest-levenshtein@^1.0.12: resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" integrity "sha1-mZD306iMxan/0fF0V0UlFwDUl+I= sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==" +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + fb-watchman@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" @@ -2503,16 +2320,6 @@ fb-watchman@^2.0.0: dependencies: bser "^2.0.0" -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==" - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -2565,11 +2372,6 @@ for-each@^0.3.3: dependencies: is-callable "^1.1.3" -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==" - foreach@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" @@ -2584,13 +2386,6 @@ form-data@^3.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==" - dependencies: - map-cache "^0.2.2" - from@~0: version "0.1.7" resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" @@ -2605,15 +2400,6 @@ fs-extra@^10.1.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-extra@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-6.0.1.tgz#8abc128f7946e310135ddc93b98bddb410e7a34b" - integrity "sha1-irwSj3lG4xATXdyTuYvdtBDno0s= sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -2698,31 +2484,13 @@ get-symbol-description@^1.0.0: call-bind "^1.0.2" get-intrinsic "^1.1.1" -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==" - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@~5.1.2: +glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ= sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" dependencies: is-glob "^4.0.1" -glob-to-regexp@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" - integrity "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==" - glob-to-regexp@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" @@ -2769,19 +2537,6 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4= sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" -globby@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.1.tgz#b5ad48b8aa80b35b814fc1281ecc851f1d2b5b50" - integrity "sha1-ta1IuKqAs1uBT8EoHsyFHx0rW1A= sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==" - dependencies: - array-union "^1.0.1" - dir-glob "^2.0.0" - fast-glob "^2.0.2" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - graceful-fs@^4.1.2, graceful-fs@^4.1.6: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" @@ -2836,37 +2591,6 @@ has-tostringtag@^1.0.0: dependencies: has-symbols "^1.0.2" -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==" - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==" - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity "sha1-bWHeldkd/Km5oCCJrThL/49it3E= sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==" - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==" - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - has@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" @@ -2987,11 +2711,6 @@ ieee754@^1.1.13: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity "sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I= sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" -ignore@^3.3.5: - version "3.3.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.8.tgz#3f8e9c35d38708a3a7e0e9abb6c73e7ee7707b2b" - integrity "sha1-P46cNdOHCKOn4Omrtsc+fudweys= sha512-pUh+xUQQhQzevjRHHFqqcTy0/dP/kS9I8HSrUydhihjuD09W6ldVWFtIrwhXdUJHis3i2rZNqEHpZH/cbinFbg==" - import-local@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.3.tgz#4d51c2c495ca9393da259ec66b62e022920211e0" @@ -3049,28 +2768,6 @@ invert-kv@^2.0.0: resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" integrity "sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI= sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" -is-absolute@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" - integrity "sha1-OV4a6EsR8mrReV5zwXN45IowFXY= sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==" - dependencies: - is-relative "^1.0.0" - is-windows "^1.0.1" - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==" - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY= sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==" - dependencies: - kind-of "^6.0.0" - is-arguments@^1.0.4: version "1.1.1" resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" @@ -3106,11 +2803,6 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity "sha1-76ouqdqg16suoTqXsritUf776L4= sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - is-builtin-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" @@ -3142,56 +2834,12 @@ is-core-module@^2.9.0: dependencies: has "^1.0.3" -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==" - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc= sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==" - dependencies: - kind-of "^6.0.0" - is-date-object@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" integrity "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= sha512-P5rExV1phPi42ppoMWy7V63N3i173RY921l4JJ7zonMSxK+OWGPj76GD+cUKUb68l4vQXcJp2SsG+r/A4ABVzg==" -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco= sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==" - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw= sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==" - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ= sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==" - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: +is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" @@ -3225,20 +2873,6 @@ is-generator-function@^1.0.7: dependencies: has-tostringtag "^1.0.0" -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==" - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" - integrity "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A= sha512-IEg9HSCKitWUYBRkCSztkm2Lenav8e04mlxHjiMRg2w9Bx82TFIDEDamwfn0RgwFgLNLSkZd0YJT2ColdN8KCw==" - dependencies: - is-extglob "^2.1.1" - is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -3254,11 +2888,6 @@ is-nan@^1.2.1: call-bind "^1.0.0" define-properties "^1.1.3" -is-negated-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" - integrity "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==" - is-negative-zero@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" @@ -3271,31 +2900,12 @@ is-number-object@^1.0.4: dependencies: has-tostringtag "^1.0.0" -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==" - dependencies: - kind-of "^3.0.2" - -is-number@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" - integrity "sha1-ACbjf1RU1z41bf5lZGmYZ8an8P8= sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" - is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss= sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" -is-odd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-2.0.0.tgz#7646624671fd7ea558ccd9a2795182f2958f1b24" - integrity "sha1-dkZiRnH9fqVYzNmieVGC8pWPGyQ= sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==" - dependencies: - is-number "^4.0.0" - -is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: +is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" integrity "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc= sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==" @@ -3322,13 +2932,6 @@ is-regex@^1.1.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-relative@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" - integrity "sha1-obtpNc6MXboei5dUubLcwCDiJg0= sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==" - dependencies: - is-unc-path "^1.0.0" - is-shared-array-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" @@ -3381,13 +2984,6 @@ is-typedarray@^1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" -is-unc-path@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" - integrity "sha1-1zHoiY7QkKEsNSrS6u1Qla0yLJ0= sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==" - dependencies: - unc-path-regex "^0.1.2" - is-weakref@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" @@ -3395,16 +2991,6 @@ is-weakref@^1.0.2: dependencies: call-bind "^1.0.2" -is-windows@^1.0.1, is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0= sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - -isarray@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - isbinaryfile@^4.0.8: version "4.0.10" resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3" @@ -3415,14 +3001,7 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==" - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: +isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity "sha1-TkMekrEalzFjaqH5yNHMvP2reN8= sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" @@ -3975,13 +3554,6 @@ json5@2.x, json5@^2.1.2: dependencies: minimist "^1.2.5" -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==" - optionalDependencies: - graceful-fs "^4.1.6" - jsonfile@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" @@ -4099,26 +3671,7 @@ karma@^6.4.0: ua-parser-js "^0.7.30" yargs "^16.1.1" -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==" - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity "sha1-IIE989cSkosgc3hpGkUGb65y3Vc= sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==" - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0= sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - -kind-of@^6.0.0, kind-of@^6.0.2: +kind-of@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" integrity "sha1-ARRrNqYhjmTljzqNZt5df8b20FE= sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" @@ -4237,23 +3790,11 @@ map-age-cleaner@^0.1.1: dependencies: p-defer "^1.0.0" -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==" - map-stream@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" integrity "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ= sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==" -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==" - dependencies: - object-visit "^1.0.0" - md5.js@^1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" @@ -4286,29 +3827,10 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity "sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A= sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" -merge2@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.2.tgz#03212e3da8d86c4d8523cebd6318193414f94e34" - integrity "sha1-AyEuPajYbE2FI869YxgZNBT5TjQ= sha512-bgM8twH86rWni21thii6WCMQMRMmwqqdW3sGWi9IipnVAszdLXRjwDwAnyrVXo6DuP3AjRMMttZKUB48QWIFGg==" - -micromatch@^3.1.10: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity "sha1-cIWbyVyYQJUvNZoGij/En57PrCM= sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==" - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== micromatch@^4.0.0, micromatch@^4.0.4: version "4.0.4" @@ -4382,7 +3904,7 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" -minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: +minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==" @@ -4396,6 +3918,13 @@ minimatch@^3.1.1: dependencies: brace-expansion "^1.1.7" +minimatch@^5.1.0: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" @@ -4411,14 +3940,6 @@ minimist@^1.2.5: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI= sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY= sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==" - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - mkdirp@0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" @@ -4465,34 +3986,6 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" -multimatch@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" - integrity "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis= sha512-0mzK8ymiWdehTBiJh0vClAzGyQbdtyWqzSVx//EK4N/D+599RFlGfTAsKw2zMSABtDG9C6Ul2+t8f2Lbdjf5mA==" - dependencies: - array-differ "^1.0.0" - array-union "^1.0.1" - arrify "^1.0.0" - minimatch "^3.0.0" - -nanomatch@^1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.9.tgz#879f7150cb2dab7a471259066c104eee6e0fa7c2" - integrity "sha1-h59xUMstq3pHElkGbBBO7m4Pp8I= sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==" - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-odd "^2.0.0" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -4589,20 +4082,11 @@ nwsapi@^2.2.0: resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" integrity "sha1-IEh5qePQaP8qVROcLHcngGgaOLc= sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" -object-assign@^4, object-assign@^4.1.1: +object-assign@^4: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity "sha1-fn2Fi3gb18mRpBupde04EnVOmYw= sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==" - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - object-inspect@^1.12.0, object-inspect@^1.9.0: version "1.12.2" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" @@ -4626,13 +4110,6 @@ object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity "sha1-HEfyct8nfzsdrwYWd9nILiMixg4= sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==" - dependencies: - isobject "^3.0.0" - object.assign@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" @@ -4643,13 +4120,6 @@ object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==" - dependencies: - isobject "^3.0.1" - on-finished@2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" @@ -4798,21 +4268,11 @@ parseurl@~1.3.3: resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ= sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==" - -path-browserify@^1.0.0: +path-browserify@^1.0.0, path-browserify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" integrity "sha1-2YRUqcN1PVeQhg8W9ohnueRr4f0= sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==" - path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -4920,11 +4380,6 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==" - prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -5026,6 +4481,11 @@ querystring@0.2.0: resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: version "2.0.6" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" @@ -5100,14 +4560,6 @@ rechoir@^0.7.0: dependencies: resolve "^1.9.0" -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw= sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==" - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - regexp.prototype.flags@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" @@ -5117,16 +4569,6 @@ regexp.prototype.flags@^1.4.3: define-properties "^1.1.3" functions-have-names "^1.2.2" -repeat-element@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" - integrity "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo= sha512-PJn5P/wQgXwp0Bpmzv9JU693QYky9P5bwntpuw8SsMXgUZHlcEyr9Vajgp/zhGSFX56/lv9Bz2k9mKrkpxLI4A==" - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity "sha1-jcrkcOHIirwtYA//Sndihtp15jc= sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -5154,11 +4596,6 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk= sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==" - resolve.exports@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" @@ -5188,10 +4625,10 @@ resolve@^1.3.2: dependencies: path-parse "^1.0.5" -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w= sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rfdc@^1.3.0: version "1.3.0" @@ -5213,6 +4650,13 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -5223,13 +4667,6 @@ safe-buffer@~5.2.0: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY= sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity "sha1-QKNmnzsHfR6UPURinhV91IAjvy4= sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==" - dependencies: - ret "~0.1.10" - "safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -5287,26 +4724,6 @@ set-blocking@^2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity "sha1-BF+XgtARrppoA93TgrJDkrPYkPc= sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" -set-value@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" - integrity "sha1-fbCPnT0i3H945Trzw79GZuzfzPE= sha512-2Z0LRUUvYeF7gIFFep48ksPq0NR09e5oKoFXznaMGNcu+EZAfGnyL0K6xno2gCqX6dZYEZRjrcn04/gvZzcKhQ==" - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.1" - to-object-path "^0.3.0" - -set-value@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" - integrity "sha1-ca5KiPD+77v1LR6mBPP7MV67YnQ= sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==" - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - setimmediate@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" @@ -5395,11 +4812,6 @@ sisteransi@^1.0.5: resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" integrity "sha1-E01oEpd1ZDfMBcoBNw06elcQde0= sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==" - slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" @@ -5410,36 +4822,6 @@ sls-version@^2.1.0: resolved "https://registry.yarnpkg.com/sls-version/-/sls-version-2.1.0.tgz#734b078a225ee07e9aa34d5c3a249d3b541e192a" integrity "sha1-c0sHiiJe4H6ao01cOiSdO1QeGSo= sha512-pAer+GARY+hCOO7ECUYWCUeojDODZc5RiFCdDtDawn+HWVPfsK2ylmtO+v7hX3X6GbWMEBOszqRIlwrrTAN8QQ==" -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs= sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==" - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI= sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==" - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0= sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==" - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - socket.io-adapter@~2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz#b50a4a9ecdd00c34d4c8c808224daa1a786152a6" @@ -5466,17 +4848,6 @@ socket.io@^4.4.1: socket.io-adapter "~2.4.0" socket.io-parser "~4.0.4" -source-map-resolve@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - integrity "sha1-cuLMNAlVQ+Q7LGKyxMENSpBU8lk= sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==" - dependencies: - atob "^2.1.1" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.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" @@ -5493,12 +4864,7 @@ source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= sha512-liJwHPI9x9d9w5WSIjM58MqGmmb7XzNqwdUA3kSBQ4lmDngexlKwawGzK3J1mKXi6+sysoMDlpVyZh9sv5vRfw==" - -source-map@^0.5.0, source-map@^0.5.6, source-map@~0.5.3: +source-map@^0.5.0, source-map@~0.5.3: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" @@ -5544,13 +4910,6 @@ spdx-license-ids@^3.0.0: resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87" integrity "sha1-enzShHDMbToc/m1miG9rxDDTrIc= sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==" -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I= sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==" - dependencies: - extend-shallow "^3.0.0" - split@0.3: version "0.3.3" resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" @@ -5570,14 +4929,6 @@ stack-utils@^2.0.3: dependencies: escape-string-regexp "^2.0.0" -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==" - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - statuses@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" @@ -5866,21 +5217,6 @@ to-fast-properties@^2.0.0: resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==" - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==" - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -5888,16 +5224,6 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4= sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==" - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - toidentifier@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" @@ -5943,32 +5269,29 @@ ts-loader@^9.3.1: micromatch "^4.0.0" semver "^7.3.4" -ts-simple-ast@^11.3.0: - version "11.3.0" - resolved "https://registry.yarnpkg.com/ts-simple-ast/-/ts-simple-ast-11.3.0.tgz#815d2d2a1021764e5c4b741794927fc24753f515" - integrity "sha1-gV0tKhAhdk5cS3QXlJJ/wkdT9RU= sha512-1RM4kxP5dv60BJNPHvyMsWYxm9BdHBAJ8/X4vwTpaGYVPRtBmDwApgbClGjA8erVgN1i3EwZ9NhVuLqScHZURA==" - dependencies: - "@dsherret/to-absolute-glob" "^2.0.2" - code-block-writer "^7.2.0" - fs-extra "^6.0.1" - glob-parent "^3.1.0" - globby "^8.0.1" - is-negated-glob "^1.0.0" - multimatch "^2.1.0" - object-assign "^4.1.1" - tslib "^1.9.0" - typescript "2.8.3" - -tslib@^1.13.0, tslib@^1.9.3: +ts-morph@^17.0.1: + version "17.0.1" + resolved "https://registry.yarnpkg.com/ts-morph/-/ts-morph-17.0.1.tgz#d85df4fcf9a1fcda1b331d52c00655f381c932d1" + integrity sha512-10PkHyXmrtsTvZSL+cqtJLTgFXkU43Gd0JCc0Rw6GchWbqKe0Rwgt1v3ouobTZwQzF1mGhDeAlWYBMGRV7y+3g== + dependencies: + "@ts-morph/common" "~0.18.0" + code-block-writer "^11.0.3" + +tslib@^1.13.0: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA= sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" -tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.8.1: version "1.9.3" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" integrity "sha1-1+TdeSRdhUKMTX5IIqeZF5VMooY= sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" +tslib@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" + integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== + tslib@~2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" @@ -6051,15 +5374,10 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@2.8.3: - version "2.8.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.8.3.tgz#5d817f9b6f31bb871835f4edf0089f21abe6c170" - integrity "sha1-XYF/m28xu4cYNfTt8AifIavmwXA= sha512-K7g15Bb6Ra4lKf7Iq2l/I5/En+hLIHmxWZGq3D4DIRNFxMNV6j2SHSvDOqs2tGd4UvD/fJvrwopzQXjLrT7Itw==" - -typescript@~4.4.4: - version "4.4.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" - integrity "sha1-LNAaGh8WBwTTEB/VpY/w+fy4Aww= sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==" +typescript@~4.9.5: + version "4.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== ua-parser-js@^0.7.30: version "0.7.31" @@ -6076,21 +5394,6 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" -unc-path-regex@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" - integrity "sha1-5z3T17DXxe2G+6xrCufYxqadUPo= sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==" - -union-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" - integrity "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ= sha512-gKXL/GYJJ6/EUcUoTJ0wvupGylrP1Q0QhkgTMixasTn8J5mEZY3fbcj25gOL3opWToztz7/BUHGm78npw7J57Q==" - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^0.4.3" - unique-string@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" @@ -6098,11 +5401,6 @@ unique-string@^1.0.0: dependencies: crypto-random-string "^1.0.0" -universalify@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.1.tgz#fa71badd4437af4c148841e3b3b165f9e9e590b7" - integrity "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc= sha512-MVi79HEPwGk0grI7/Kl6H51fX7wcDTe6gGoCdK22pkRG6IPsi9L6NltClWJfBLUoIE5y3pKy3SplFAs/b0G+QQ==" - universalify@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -6118,14 +5416,6 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==" - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -6133,11 +5423,6 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==" - url@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" @@ -6146,13 +5431,6 @@ url@^0.11.0: punycode "1.3.2" querystring "0.2.0" -use@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.0.tgz#14716bf03fdfefd03040aef58d8b4b85f3a7c544" - integrity "sha1-FHFr8D/f79AwQK71jYtLhfOnxUQ= sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==" - dependencies: - kind-of "^6.0.2" - util-deprecate@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" From 819b7c63c6d24a4bdc7819fdde6744696b0999c7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 Mar 2023 14:51:44 +0000 Subject: [PATCH 2/2] Bump ua-parser-js from 0.7.31 to 0.7.34 Bumps [ua-parser-js](https://github.com/faisalman/ua-parser-js) from 0.7.31 to 0.7.34. - [Release notes](https://github.com/faisalman/ua-parser-js/releases) - [Changelog](https://github.com/faisalman/ua-parser-js/blob/0.7.34/changelog.md) - [Commits](https://github.com/faisalman/ua-parser-js/compare/0.7.31...0.7.34) --- updated-dependencies: - dependency-name: ua-parser-js dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 17d739de..c87406d4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5380,9 +5380,9 @@ typescript@~4.9.5: integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== ua-parser-js@^0.7.30: - version "0.7.31" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6" - integrity "sha1-ZJplaxkd/6tPIdXgU+J8oXy/9cY= sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==" + version "0.7.34" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.34.tgz#afb439e2e3e394bdc90080acb661a39c685b67d7" + integrity sha512-cJMeh/eOILyGu0ejgTKB95yKT3zOenSe9UGE3vj6WfiOwgGYnmATUsnDixMFvdU+rNMvWih83hrUP8VwhF9yXQ== unbox-primitive@^1.0.2: version "1.0.2"