From 289f0fd529c1b3b168935e5de03572dce956c413 Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Wed, 5 Oct 2022 10:20:36 -0400 Subject: [PATCH 01/29] WIP break: upgrade TypeScript and typedoc --- packages/client/package.json | 4 +- packages/compiler/package.json | 16 +- .../plugins/typescript/typescriptPlugin.ts | 26 +- .../src/plugins/typescript/typestring.ts | 4 +- .../src/plugins/typescript/visitor.ts | 61 +- packages/docs/package.json | 4 +- yarn.lock | 1859 +++++++---------- 7 files changed, 851 insertions(+), 1123 deletions(-) diff --git a/packages/client/package.json b/packages/client/package.json index 5c7e0270..d61a469e 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -12,10 +12,10 @@ }, "devDependencies": { "tslint": "^6.1.3", - "typescript": "~4.6.2" + "typescript": "~4.8.4" }, "engines": { - "node": ">=12" + "node": ">=16" }, "repository": { "type": "git", diff --git a/packages/compiler/package.json b/packages/compiler/package.json index d6811a5e..5cf1527b 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -24,26 +24,26 @@ "js-yaml": "^4.1.0", "kss": "^3.0.1", "marked": "^4.0.12", - "typedoc": "~0.19.2", + "typedoc": "~0.23.15", "yargs": "^17.4.0" }, "devDependencies": { "@types/glob": "^7.2.0", - "@types/jest": "^27.4.1", + "@types/jest": "^29.1.1", "@types/js-yaml": "^4.0.5", "@types/marked": "^4.0.3", "@types/node": "^16.11.26", "@types/yargs": "^17.0.10", - "jest": "^27.5.1", - "jest-junit": "^13.0.0", + "jest": "^29.1.2", + "jest-junit": "^14.0.1", "npm-run-all": "^4.1.5", - "ts-jest": "^27.1.4", - "ts-node": "^10.7.0", + "ts-jest": "^29.0.3", + "ts-node": "^10.9.1", "tslint": "^6.1.3", - "typescript": "~4.6.2" + "typescript": "~4.8.4" }, "engines": { - "node": ">=12" + "node": ">=16" }, "repository": { "type": "git", diff --git a/packages/compiler/src/plugins/typescript/typescriptPlugin.ts b/packages/compiler/src/plugins/typescript/typescriptPlugin.ts index 117017a0..b231a0cc 100644 --- a/packages/compiler/src/plugins/typescript/typescriptPlugin.ts +++ b/packages/compiler/src/plugins/typescript/typescriptPlugin.ts @@ -20,11 +20,10 @@ import { Visitor } from "./visitor"; export interface ITypescriptPluginOptions { /** - * TODO(adahiya): will be used in TypeDoc v0.22.0+ * List of entry point modules. * @default ["src/index.ts"] */ - // entryPoints?: TypeDocOptions["entryPoints"]; + entryPoints?: TypeDocOptions["entryPoints"]; /** * Array of patterns (string or RegExp) to exclude members by name. @@ -89,17 +88,17 @@ export class TypescriptPlugin implements IPlugin { private app = new Application(); public constructor(private options: ITypescriptPluginOptions = {}) { - const { includeDeclarations = false, includePrivateMembers = false, tsconfigPath, verbose = false } = options; + const { includeDeclarations = false, includeNodeModules = false, includePrivateMembers = false, tsconfigPath, verbose = false } = options; const typedocOptions: Partial = { - // TODO(adahiya): will be used in TypeDoc v0.22+ - // entryPointStrategy: "expand", - // entryPoints: options.entryPoints ?? ["src/index.ts"], - exclude: options.includeNodeModules ? [] : ["**/node_modules/**"], + entryPointStrategy: "expand", + entryPoints: options.entryPoints ?? ["src/index.ts"], + exclude: [ + includeNodeModules ? undefined : "**/node_modules/**", + includeDeclarations ? undefined : "**/*.d.ts", + ].filter(Boolean) as string[], excludePrivate: !includePrivateMembers, gitRevision: options.gitBranch, - ignoreCompilerErrors: true, - includeDeclarations, - // tslint:disable-next-line no-console + skipErrorChecking: true, logger: verbose ? console.log : "none", tsconfig: tsconfigPath, }; @@ -122,10 +121,7 @@ export class TypescriptPlugin implements IPlugin { } private getTypedocProject(files: string[]) { - // TODO(adahiya): will be used in TypeDoc v0.22+ - // const entryPoints = this.app.getEntryPointsForPaths(files); - // this.app.options.setValue("entryPoints", files); - const expanded = this.app.expandInputFiles(files); - return this.app.convert(expanded); + this.app.options.setValue("entryPoints", files); + return this.app.convert(); } } diff --git a/packages/compiler/src/plugins/typescript/typestring.ts b/packages/compiler/src/plugins/typescript/typestring.ts index 0a83ba53..d19c7f16 100644 --- a/packages/compiler/src/plugins/typescript/typestring.ts +++ b/packages/compiler/src/plugins/typescript/typestring.ts @@ -14,15 +14,15 @@ * limitations under the License. */ -import { SignatureReflection } from "typedoc"; import { IntersectionType, ReferenceType, ReflectionKind, ReflectionType, + SignatureReflection, Type, UnionType, -} from "typedoc/dist/lib/models"; +} from "typedoc"; export function resolveTypeString(type: Type | undefined): string { if (type instanceof ReflectionType) { diff --git a/packages/compiler/src/plugins/typescript/visitor.ts b/packages/compiler/src/plugins/typescript/visitor.ts index 74fb313e..033f58b3 100644 --- a/packages/compiler/src/plugins/typescript/visitor.ts +++ b/packages/compiler/src/plugins/typescript/visitor.ts @@ -33,14 +33,15 @@ import { } from "@documentalist/client"; import { relative } from "path"; import { + Comment, DeclarationReflection, ParameterReflection, ProjectReflection, Reflection, ReflectionKind, SignatureReflection, + UnionType, } from "typedoc"; -import { Comment, UnionType } from "typedoc/dist/lib/models"; import { ITypescriptPluginOptions } from "./typescriptPlugin"; import { resolveSignature, resolveTypeString } from "./typestring"; @@ -199,51 +200,36 @@ export class Visitor { * Converts a typedoc comment object to a rendered `IBlock`. */ private renderComment(comment: Comment | undefined) { - if (!comment) { - return undefined; + if (comment === undefined) { + return; } + let documentation = ""; - if (comment.shortText) { - documentation += comment.shortText; - } - if (comment.text) { - documentation += "\n\n" + comment.text; - } - if (comment.tags) { - documentation += - "\n\n" + - comment.tags - .filter((tag) => tag.tagName !== "default" && tag.tagName !== "deprecated") - .map((tag) => `@${tag.tagName} ${tag.text}`) - .join("\n"); + documentation += comment.summary.map(part => part.text).join("\n"); + + const blockTags = comment.blockTags.filter(tag => tag.tag !== "@default" && tag.tag !== "@deprecated"); + if (blockTags.length > 0) { + documentation += "\n\n"; + documentation += blockTags.map(tag => `${tag.tag} ${tag.content}`).join("\n"); } + return this.compiler.renderBlock(documentation); } } -function getCommentTag(comment: Comment | undefined, tagName: string) { - if (comment == null || comment.tags == null) { - return undefined; - } - return comment.tags.filter((tag) => tag.tagName === tagName)[0]; +function getCommentTagValue(comment: Comment | undefined, tagName: string) { + const maybeTag = comment?.getTag(`@${tagName}`); + return maybeTag?.content.map(part => part.text.trim()).join("\n"); } function getDefaultValue(ref: ParameterReflection | DeclarationReflection): string | undefined { - if (ref.defaultValue != null) { - return ref.defaultValue; - } - const defaultValue = getCommentTag(ref.comment, "default"); - if (defaultValue !== undefined) { - return defaultValue.text.trim(); - } - return undefined; + return ref.defaultValue ?? getCommentTagValue(ref.comment, "default"); } function getSourceFileName({ sources = [] }: Reflection): string | undefined { - const source = sources[0]; - const fileName = source && source.file && source.file.fullFileName; - // filename relative to cwd, so it can be saved in a snapshot (machine-independent) - return fileName && relative(process.cwd(), fileName); + const { fullFileName } = sources[0]; + // fullFileName relative to cwd, so it can be saved in a snapshot (machine-independent) + return fullFileName && relative(process.cwd(), fullFileName); } function getSourceUrl({ sources = [] }: Reflection): string | undefined { @@ -270,12 +256,9 @@ function getFlags(ref: Reflection): ITsFlags | undefined { } function getIsDeprecated(ref: Reflection) { - const deprecatedTag = getCommentTag(ref.comment, "deprecated"); - if (deprecatedTag === undefined) { - return undefined; - } - const text = deprecatedTag.text.trim(); - return text === "" ? true : text; + const deprecatedTagValue = getCommentTagValue(ref.comment, "deprecated"); + const deprecatedModifier = ref.comment?.hasModifier("@deprecated"); + return deprecatedModifier || deprecatedTagValue; } function isConstTypePair(def: DeclarationReflection) { diff --git a/packages/docs/package.json b/packages/docs/package.json index de4f090f..f2d278da 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -20,10 +20,10 @@ "npm-run-all": "^4.1.5", "pug-cli": "^1.0.0-alpha6", "tslint": "^6.1.3", - "typescript": "~4.6.2" + "typescript": "~4.8.4" }, "engines": { - "node": ">=12" + "node": ">=16" }, "repository": { "type": "git", diff --git a/yarn.lock b/yarn.lock index 31dacd65..82bdb17e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,160 +9,155 @@ dependencies: "@jridgewell/trace-mapping" "^0.3.0" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" - integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== dependencies: - "@babel/highlight" "^7.16.7" + "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" - integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== +"@babel/compat-data@^7.19.3": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.3.tgz#707b939793f867f5a73b2666e6d9a3396eb03151" + integrity sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw== -"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.8.0": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.8.tgz#3dac27c190ebc3a4381110d46c80e77efe172e1a" - integrity sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ== +"@babel/core@^7.11.6", "@babel/core@^7.12.3": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.3.tgz#2519f62a51458f43b682d61583c3810e7dcee64c" + integrity sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ== dependencies: "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.7" - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-module-transforms" "^7.17.7" - "@babel/helpers" "^7.17.8" - "@babel/parser" "^7.17.8" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.19.3" + "@babel/helper-compilation-targets" "^7.19.3" + "@babel/helper-module-transforms" "^7.19.0" + "@babel/helpers" "^7.19.0" + "@babel/parser" "^7.19.3" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.3" + "@babel/types" "^7.19.3" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.1.2" + json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@^7.17.3", "@babel/generator@^7.17.7", "@babel/generator@^7.7.2": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad" - integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w== +"@babel/generator@^7.19.3", "@babel/generator@^7.7.2": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.3.tgz#d7f4d1300485b4547cb6f94b27d10d237b42bf59" + integrity sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ== dependencies: - "@babel/types" "^7.17.0" + "@babel/types" "^7.19.3" + "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" - source-map "^0.5.0" -"@babel/helper-compilation-targets@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz#a3c2924f5e5f0379b356d4cfb313d1414dc30e46" - integrity sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w== +"@babel/helper-compilation-targets@^7.19.3": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz#a10a04588125675d7c7ae299af86fa1b2ee038ca" + integrity sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg== dependencies: - "@babel/compat-data" "^7.17.7" - "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.17.5" + "@babel/compat-data" "^7.19.3" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.21.3" semver "^6.3.0" -"@babel/helper-environment-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" - integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-function-name@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" - integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== - dependencies: - "@babel/helper-get-function-arity" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-get-function-arity@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" - integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-hoist-variables@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" - integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-module-imports@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" - integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-module-transforms@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd" - integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-simple-access" "^7.17.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" - integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== - -"@babel/helper-simple-access@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367" - integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA== - dependencies: - "@babel/types" "^7.17.0" - -"@babel/helper-split-export-declaration@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" - integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-validator-identifier@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" - integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== - -"@babel/helper-validator-option@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" - integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== - -"@babel/helpers@^7.17.8": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.8.tgz#288450be8c6ac7e4e44df37bcc53d345e07bc106" - integrity sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw== - dependencies: - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" - -"@babel/highlight@^7.16.7": - version "7.16.10" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" - integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" +"@babel/helper-environment-visitor@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== + +"@babel/helper-function-name@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" + integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== + dependencies: + "@babel/template" "^7.18.10" + "@babel/types" "^7.19.0" + +"@babel/helper-hoist-variables@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-imports@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" + integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-transforms@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz#309b230f04e22c58c6a2c0c0c7e50b216d350c30" + integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.18.6" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.0" + "@babel/types" "^7.19.0" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.8.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf" + integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== + +"@babel/helper-simple-access@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" + integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-split-export-declaration@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-string-parser@^7.18.10": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" + integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== + +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + +"@babel/helper-validator-option@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" + integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== + +"@babel/helpers@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.19.0.tgz#f30534657faf246ae96551d88dd31e9d1fa1fc18" + integrity sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg== + dependencies: + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.0" + "@babel/types" "^7.19.0" + +"@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.8": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.8.tgz#2817fb9d885dd8132ea0f8eb615a6388cca1c240" - integrity sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.19.3": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.3.tgz#8dd36d17c53ff347f9e55c328710321b49479a9a" + integrity sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ== "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -199,6 +194,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-jsx@^7.7.2": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" + integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" @@ -262,37 +264,38 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/template@^7.16.7", "@babel/template@^7.3.3": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" - integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/traverse@^7.17.3", "@babel/traverse@^7.7.2": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" - integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.3" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.17.3" - "@babel/types" "^7.17.0" +"@babel/template@^7.18.10", "@babel/template@^7.3.3": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" + integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.18.10" + "@babel/types" "^7.18.10" + +"@babel/traverse@^7.19.0", "@babel/traverse@^7.19.3", "@babel/traverse@^7.7.2": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.3.tgz#3a3c5348d4988ba60884e8494b0592b2f15a04b4" + integrity sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.19.3" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.19.3" + "@babel/types" "^7.19.3" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" - integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== +"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.3.tgz#fc420e6bbe54880bce6779ffaf315f5e43ec9624" + integrity sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw== dependencies: - "@babel/helper-validator-identifier" "^7.16.7" + "@babel/helper-string-parser" "^7.18.10" + "@babel/helper-validator-identifier" "^7.19.1" to-fast-properties "^2.0.0" "@bcoe/v8-coverage@^0.2.3": @@ -308,17 +311,12 @@ tslib "~2.3.1" tslint-react "^5.0.0" -"@cspotcode/source-map-consumer@0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b" - integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg== - -"@cspotcode/source-map-support@0.7.0": - version "0.7.0" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz#4789840aa859e46d2f3173727ab707c66bf344f5" - integrity sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA== +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== dependencies: - "@cspotcode/source-map-consumer" "0.8.0" + "@jridgewell/trace-mapping" "0.3.9" "@gar/promisify@^1.0.1": version "1.1.3" @@ -346,189 +344,235 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== -"@jest/console@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.5.1.tgz#260fe7239602fe5130a94f1aa386eff54b014bba" - integrity sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg== +"@jest/console@^29.1.2": + version "29.1.2" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.1.2.tgz#0ae975a70004696f8320490fcaa1a4152f7b62e4" + integrity sha512-ujEBCcYs82BTmRxqfHMQggSlkUZP63AE5YEaTPj7eFyJOzukkTorstOUC7L6nE3w5SYadGVAnTsQ/ZjTGL0qYQ== dependencies: - "@jest/types" "^27.5.1" + "@jest/types" "^29.1.2" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^27.5.1" - jest-util "^27.5.1" + jest-message-util "^29.1.2" + jest-util "^29.1.2" slash "^3.0.0" -"@jest/core@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.5.1.tgz#267ac5f704e09dc52de2922cbf3af9edcd64b626" - integrity sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ== +"@jest/core@^29.1.2": + version "29.1.2" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.1.2.tgz#e5ce7a71e7da45156a96fb5eeed11d18b67bd112" + integrity sha512-sCO2Va1gikvQU2ynDN8V4+6wB7iVrD2CvT0zaRst4rglf56yLly0NQ9nuRRAWFeimRf+tCdFsb1Vk1N9LrrMPA== dependencies: - "@jest/console" "^27.5.1" - "@jest/reporters" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/console" "^29.1.2" + "@jest/reporters" "^29.1.2" + "@jest/test-result" "^29.1.2" + "@jest/transform" "^29.1.2" + "@jest/types" "^29.1.2" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - emittery "^0.8.1" + ci-info "^3.2.0" exit "^0.1.2" graceful-fs "^4.2.9" - jest-changed-files "^27.5.1" - jest-config "^27.5.1" - jest-haste-map "^27.5.1" - jest-message-util "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-resolve-dependencies "^27.5.1" - jest-runner "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - jest-watcher "^27.5.1" + jest-changed-files "^29.0.0" + jest-config "^29.1.2" + jest-haste-map "^29.1.2" + jest-message-util "^29.1.2" + jest-regex-util "^29.0.0" + jest-resolve "^29.1.2" + jest-resolve-dependencies "^29.1.2" + jest-runner "^29.1.2" + jest-runtime "^29.1.2" + jest-snapshot "^29.1.2" + jest-util "^29.1.2" + jest-validate "^29.1.2" + jest-watcher "^29.1.2" micromatch "^4.0.4" - rimraf "^3.0.0" + pretty-format "^29.1.2" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.1.tgz#d7425820511fe7158abbecc010140c3fd3be9c74" - integrity sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA== +"@jest/environment@^29.1.2": + version "29.1.2" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.1.2.tgz#bb51a43fce9f960ba9a48f0b5b556f30618ebc0a" + integrity sha512-rG7xZ2UeOfvOVzoLIJ0ZmvPl4tBEQ2n73CZJSlzUjPw4or1oSWC0s0Rk0ZX+pIBJ04aVr6hLWFn1DFtrnf8MhQ== dependencies: - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/fake-timers" "^29.1.2" + "@jest/types" "^29.1.2" "@types/node" "*" - jest-mock "^27.5.1" + jest-mock "^29.1.2" + +"@jest/expect-utils@^29.1.2": + version "29.1.2" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.1.2.tgz#66dbb514d38f7d21456bc774419c9ae5cca3f88d" + integrity sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg== + dependencies: + jest-get-type "^29.0.0" + +"@jest/expect@^29.1.2": + version "29.1.2" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.1.2.tgz#334a86395f621f1ab63ad95b06a588b9114d7b7a" + integrity sha512-FXw/UmaZsyfRyvZw3M6POgSNqwmuOXJuzdNiMWW9LCYo0GRoRDhg+R5iq5higmRTHQY7hx32+j7WHwinRmoILQ== + dependencies: + expect "^29.1.2" + jest-snapshot "^29.1.2" -"@jest/fake-timers@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz#76979745ce0579c8a94a4678af7a748eda8ada74" - integrity sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ== +"@jest/fake-timers@^29.1.2": + version "29.1.2" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.1.2.tgz#f157cdf23b4da48ce46cb00fea28ed1b57fc271a" + integrity sha512-GppaEqS+QQYegedxVMpCe2xCXxxeYwQ7RsNx55zc8f+1q1qevkZGKequfTASI7ejmg9WwI+SJCrHe9X11bLL9Q== dependencies: - "@jest/types" "^27.5.1" - "@sinonjs/fake-timers" "^8.0.1" + "@jest/types" "^29.1.2" + "@sinonjs/fake-timers" "^9.1.2" "@types/node" "*" - jest-message-util "^27.5.1" - jest-mock "^27.5.1" - jest-util "^27.5.1" + jest-message-util "^29.1.2" + jest-mock "^29.1.2" + jest-util "^29.1.2" -"@jest/globals@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.1.tgz#7ac06ce57ab966566c7963431cef458434601b2b" - integrity sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q== +"@jest/globals@^29.1.2": + version "29.1.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.1.2.tgz#826ede84bc280ae7f789cb72d325c48cd048b9d3" + integrity sha512-uMgfERpJYoQmykAd0ffyMq8wignN4SvLUG6orJQRe9WAlTRc9cdpCaE/29qurXixYJVZWUqIBXhSk8v5xN1V9g== dependencies: - "@jest/environment" "^27.5.1" - "@jest/types" "^27.5.1" - expect "^27.5.1" + "@jest/environment" "^29.1.2" + "@jest/expect" "^29.1.2" + "@jest/types" "^29.1.2" + jest-mock "^29.1.2" -"@jest/reporters@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.1.tgz#ceda7be96170b03c923c37987b64015812ffec04" - integrity sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw== +"@jest/reporters@^29.1.2": + version "29.1.2" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.1.2.tgz#5520898ed0a4ecf69d8b671e1dc8465d0acdfa6e" + integrity sha512-X4fiwwyxy9mnfpxL0g9DD0KcTmEIqP0jUdnc2cfa9riHy+I6Gwwp5vOZiwyg0vZxfSDxrOlK9S4+340W4d+DAA== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/console" "^29.1.2" + "@jest/test-result" "^29.1.2" + "@jest/transform" "^29.1.2" + "@jest/types" "^29.1.2" + "@jridgewell/trace-mapping" "^0.3.15" "@types/node" "*" chalk "^4.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" - glob "^7.1.2" + glob "^7.1.3" graceful-fs "^4.2.9" istanbul-lib-coverage "^3.0.0" istanbul-lib-instrument "^5.1.0" istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.1.3" - jest-haste-map "^27.5.1" - jest-resolve "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" + jest-message-util "^29.1.2" + jest-util "^29.1.2" + jest-worker "^29.1.2" slash "^3.0.0" - source-map "^0.6.0" string-length "^4.0.1" + strip-ansi "^6.0.0" terminal-link "^2.0.0" - v8-to-istanbul "^8.1.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^29.0.0": + version "29.0.0" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.0.0.tgz#5f47f5994dd4ef067fb7b4188ceac45f77fe952a" + integrity sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA== + dependencies: + "@sinclair/typebox" "^0.24.1" -"@jest/source-map@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf" - integrity sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg== +"@jest/source-map@^29.0.0": + version "29.0.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.0.0.tgz#f8d1518298089f8ae624e442bbb6eb870ee7783c" + integrity sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ== dependencies: + "@jridgewell/trace-mapping" "^0.3.15" callsites "^3.0.0" graceful-fs "^4.2.9" - source-map "^0.6.0" -"@jest/test-result@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.1.tgz#56a6585fa80f7cdab72b8c5fc2e871d03832f5bb" - integrity sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag== +"@jest/test-result@^29.1.2": + version "29.1.2" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.1.2.tgz#6a8d006eb2b31ce0287d1fc10d12b8ff8504f3c8" + integrity sha512-jjYYjjumCJjH9hHCoMhA8PCl1OxNeGgAoZ7yuGYILRJX9NjgzTN0pCT5qAoYR4jfOP8htIByvAlz9vfNSSBoVg== dependencies: - "@jest/console" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/console" "^29.1.2" + "@jest/types" "^29.1.2" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz#4057e0e9cea4439e544c6353c6affe58d095745b" - integrity sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ== +"@jest/test-sequencer@^29.1.2": + version "29.1.2" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.1.2.tgz#10bfd89c08bfdba382eb05cc79c1d23a01238a93" + integrity sha512-fU6dsUqqm8sA+cd85BmeF7Gu9DsXVWFdGn9taxM6xN1cKdcP/ivSgXh5QucFRFz1oZxKv3/9DYYbq0ULly3P/Q== dependencies: - "@jest/test-result" "^27.5.1" + "@jest/test-result" "^29.1.2" graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-runtime "^27.5.1" + jest-haste-map "^29.1.2" + slash "^3.0.0" -"@jest/transform@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.1.tgz#6c3501dcc00c4c08915f292a600ece5ecfe1f409" - integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw== +"@jest/transform@^29.1.2": + version "29.1.2" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.1.2.tgz#20f814696e04f090421f6d505c14bbfe0157062a" + integrity sha512-2uaUuVHTitmkx1tHF+eBjb4p7UuzBG7SXIaA/hNIkaMP6K+gXYGxP38ZcrofzqN0HeZ7A90oqsOa97WU7WZkSw== dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^27.5.1" + "@babel/core" "^7.11.6" + "@jest/types" "^29.1.2" + "@jridgewell/trace-mapping" "^0.3.15" babel-plugin-istanbul "^6.1.1" chalk "^4.0.0" convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" + fast-json-stable-stringify "^2.1.0" graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-regex-util "^27.5.1" - jest-util "^27.5.1" + jest-haste-map "^29.1.2" + jest-regex-util "^29.0.0" + jest-util "^29.1.2" micromatch "^4.0.4" pirates "^4.0.4" slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" + write-file-atomic "^4.0.1" -"@jest/types@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" - integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== +"@jest/types@^29.1.2": + version "29.1.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.1.2.tgz#7442d32b16bcd7592d9614173078b8c334ec730a" + integrity sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg== dependencies: + "@jest/schemas" "^29.0.0" "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" - "@types/yargs" "^16.0.0" + "@types/yargs" "^17.0.8" chalk "^4.0.0" +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/resolve-uri@^3.0.3": version "3.0.5" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c" integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew== +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + "@jridgewell/sourcemap-codec@^1.4.10": version "1.4.11" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec" integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg== -"@jridgewell/trace-mapping@^0.3.0": - version "0.3.4" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3" - integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ== +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/trace-mapping@^0.3.0", "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.15" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" + integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== dependencies: "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" @@ -1396,6 +1440,11 @@ dependencies: "@octokit/openapi-types" "^11.2.0" +"@sinclair/typebox@^0.24.1": + version "0.24.44" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.44.tgz#0a0aa3bf4a155a678418527342a3ee84bd8caa5c" + integrity sha512-ka0W0KN5i6LfrSocduwliMMpqVgohtPFidKdMEOUjoOFCHcOOYkKsPRxfs5f15oPNHTm6ERAm0GV/+/LTKeiWg== + "@sinonjs/commons@^1.7.0": version "1.8.1" resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.1.tgz#e7df00f98a203324f6dc7cc606cad9d4a8ab2217" @@ -1403,10 +1452,10 @@ dependencies: type-detect "4.0.8" -"@sinonjs/fake-timers@^8.0.1": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz#3fdc2b6cb58935b21bfb8d1625eb1300484316e7" - integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg== +"@sinonjs/fake-timers@^9.1.2": + version "9.1.2" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c" + integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw== dependencies: "@sinonjs/commons" "^1.7.0" @@ -1440,7 +1489,7 @@ resolved "https://registry.yarnpkg.com/@types/babel-types/-/babel-types-7.0.9.tgz#01d7b86949f455402a94c788883fe4ba574cad41" integrity sha512-qZLoYeXSTgQuK1h7QQS16hqLGdmqtRmN8w/rl3Au/l5x/zkHx+a4VHrHyBsi1I1vtK2oBHxSzKIu0R5p6spdOA== -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": +"@types/babel__core@^7.1.14": version "7.1.19" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== @@ -1466,7 +1515,7 @@ "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": version "7.0.15" resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.15.tgz#db9e4238931eb69ef8aab0ad6523d4d4caa39d03" integrity sha512-Pzh9O3sTK8V6I1olsXpCfj2k/ygO2q1X0vhhnDrEQyYLHZesWz+zMZMVcwXLCYf0U36EtmyYaFGPfXlTtDHe3A== @@ -1488,10 +1537,10 @@ "@types/minimatch" "*" "@types/node" "*" -"@types/graceful-fs@^4.1.2": - version "4.1.3" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.3.tgz#039af35fe26bec35003e8d86d2ee9c586354348f" - integrity sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ== +"@types/graceful-fs@^4.1.3": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" + integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== dependencies: "@types/node" "*" @@ -1514,13 +1563,13 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@^27.4.1": - version "27.4.1" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.4.1.tgz#185cbe2926eaaf9662d340cc02e548ce9e11ab6d" - integrity sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw== +"@types/jest@^29.1.1": + version "29.1.1" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.1.1.tgz#cf21a0835a1ba9a30ea1966019f1261c6a114c92" + integrity sha512-U9Ey07dGWl6fUFaIaUQUKWG5NoKi/zizeVQCGV8s4nSU0jPgqphVZvS64+8BtWYvrc3ZGw6wo943NSYPxkrp/g== dependencies: - jest-matcher-utils "^27.0.0" - pretty-format "^27.0.0" + expect "^29.0.0" + pretty-format "^29.0.0" "@types/js-yaml@^4.0.5": version "4.0.5" @@ -1577,17 +1626,10 @@ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.0.0.tgz#453743c5bbf9f1bed61d959baab5b06be029b2d0" integrity sha512-wBlsw+8n21e6eTd4yVv8YD/E3xq0O6nNnJIquutAsFGE7EyMKz7W6RNT6BRu1SmdgmlCZ9tb0X+j+D6HGr8pZw== -"@types/yargs@^16.0.0": - version "16.0.4" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" - integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== - dependencies: - "@types/yargs-parser" "*" - -"@types/yargs@^17.0.10": - version "17.0.10" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.10.tgz#591522fce85d8739bca7b8bb90d048e4478d186a" - integrity sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA== +"@types/yargs@^17.0.10", "@types/yargs@^17.0.8": + version "17.0.13" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.13.tgz#34cced675ca1b1d51fcf4d34c3c6f0fa142a5c76" + integrity sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg== dependencies: "@types/yargs-parser" "*" @@ -1609,11 +1651,6 @@ a-sync-waterfall@^1.0.0: resolved "https://registry.yarnpkg.com/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz#75b6b6aa72598b497a125e7a2770f14f4c8a1fa7" integrity sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA== -abab@^2.0.3, abab@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== - abbrev@1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" @@ -1626,19 +1663,6 @@ acorn-globals@^3.0.0: dependencies: acorn "^4.0.4" -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - acorn-walk@^8.1.1: version "8.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" @@ -1654,12 +1678,7 @@ acorn@^4.0.4, acorn@~4.0.2: resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" integrity sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c= -acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.2.4, acorn@^8.4.1: +acorn@^8.4.1: version "8.7.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== @@ -1877,16 +1896,15 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== -babel-jest@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444" - integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg== +babel-jest@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.1.2.tgz#540d3241925c55240fb0c742e3ffc5f33a501978" + integrity sha512-IuG+F3HTHryJb7gacC7SQ59A9kO56BctUsT67uJHp1mMCHUOMXpDwOHWGifWqdWVknN2WNkCVQELPjXx0aLJ9Q== dependencies: - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/transform" "^29.1.2" "@types/babel__core" "^7.1.14" babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^27.5.1" + babel-preset-jest "^29.0.2" chalk "^4.0.0" graceful-fs "^4.2.9" slash "^3.0.0" @@ -1902,14 +1920,14 @@ babel-plugin-istanbul@^6.1.1: istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz#9be98ecf28c331eb9f5df9c72d6f89deb8181c2e" - integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ== +babel-plugin-jest-hoist@^29.0.2: + version "29.0.2" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.0.2.tgz#ae61483a829a021b146c016c6ad39b8bcc37c2c8" + integrity sha512-eBr2ynAEFjcebVvu8Ktx580BD1QKCrBG1XwEUTXJe285p9HA/4hOhfWCFRQhTKSyBV0VzjhG7H91Eifz9s29hg== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" + "@types/babel__core" "^7.1.14" "@types/babel__traverse" "^7.0.6" babel-preset-current-node-syntax@^1.0.0: @@ -1930,12 +1948,12 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz#91f10f58034cb7989cb4f962b69fa6eef6a6bc81" - integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag== +babel-preset-jest@^29.0.2: + version "29.0.2" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.0.2.tgz#e14a7124e22b161551818d89e5bdcfb3b2b0eac7" + integrity sha512-BeVXp7rH5TK96ofyEnHjznjLMQ2nAeDJ+QzxKnHAAMs0RgrQsCywjAN8m4mOm5Di0pxU//3AoEeJJrerMH5UeA== dependencies: - babel-plugin-jest-hoist "^27.5.1" + babel-plugin-jest-hoist "^29.0.2" babel-preset-current-node-syntax "^1.0.0" babel-runtime@^6.26.0: @@ -1996,6 +2014,13 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +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: + balanced-match "^1.0.0" + braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" @@ -2003,21 +2028,15 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browserslist@^4.17.5: - version "4.20.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88" - integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA== +browserslist@^4.21.3: + version "4.21.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" + integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== dependencies: - caniuse-lite "^1.0.30001317" - electron-to-chromium "^1.4.84" - escalade "^3.1.1" - node-releases "^2.0.2" - picocolors "^1.0.0" + caniuse-lite "^1.0.30001400" + electron-to-chromium "^1.4.251" + node-releases "^2.0.6" + update-browserslist-db "^1.0.9" bs-logger@0.x: version "0.2.6" @@ -2111,10 +2130,10 @@ camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001317: - version "1.0.30001325" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001325.tgz#2b4ad19b77aa36f61f2eaf72e636d7481d55e606" - integrity sha512-sB1bZHjseSjDtijV1Hb7PB2Zd58Kyx+n/9EotvZ4Qcz2K3d0lWB8dB4nb8wN/TsOGFq3UuAm0zQZNQ4SoR7TrQ== +caniuse-lite@^1.0.30001400: + version "1.0.30001416" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001416.tgz#29692af8a6a11412f2d3cf9a59d588fcdd21ce4c" + integrity sha512-06wzzdAkCPZO+Qm4e/eNghZBDfVNDsCgw33T27OwBH9unE9S478OYw//Q2L7Npf/zBzs7rjZOszIFQkwQKAEqA== caseless@~0.12.0: version "0.12.0" @@ -2270,6 +2289,15 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + clone-deep@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" @@ -2338,7 +2366,7 @@ columnify@^1.5.4: strip-ansi "^3.0.0" wcwidth "^1.0.0" -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: +combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -2546,23 +2574,6 @@ cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - dargs@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" @@ -2575,15 +2586,6 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - dateformat@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" @@ -2614,21 +2616,11 @@ decamelize@^1.0.0, decamelize@^1.1.0, decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= -decimal.js@^10.2.1: - version "10.3.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" - integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== - dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - deepmerge@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" @@ -2691,10 +2683,10 @@ dezalgo@^1.0.0: asap "^2.0.0" wrappy "1" -diff-sequences@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" - integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== +diff-sequences@^29.0.0: + version "29.0.0" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.0.0.tgz#bae49972ef3933556bcb0800b72e8579d19d9e4f" + integrity sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA== diff@^4.0.1: version "4.0.2" @@ -2713,13 +2705,6 @@ doctypes@^1.1.0: resolved "https://registry.yarnpkg.com/doctypes/-/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9" integrity sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk= -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - dot-prop@^5.1.0: version "5.3.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" @@ -2747,20 +2732,20 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" -electron-to-chromium@^1.4.84: - version "1.4.103" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.103.tgz#abfe376a4d70fa1e1b4b353b95df5d6dfd05da3a" - integrity sha512-c/uKWR1Z/W30Wy/sx3dkZoj4BijbXX85QKWu9jJfjho3LBAXNEGAEW3oWiGb+dotA6C6BzCTxL2/aLes7jlUeg== +electron-to-chromium@^1.4.251: + version "1.4.272" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.272.tgz#cedebaeec5d9879da85b127e65a55c6b4c58344e" + integrity sha512-KS6gPPGNrzpVv9HzFVq+Etd0AjZEPr5pvaTBn2yD6KV4+cKW4I0CJoJNgmTG6gUQPAMZ4wIPtcOuoou3qFAZCA== email-addresses@^3.0.1: version "3.0.3" resolved "https://registry.yarnpkg.com/email-addresses/-/email-addresses-3.0.3.tgz#fc3c6952f68da24239914e982c8a7783bc2ed96d" integrity sha512-kUlSC06PVvvjlMRpNIl3kR1NRXLEe86VQ7N0bQeaCZb2g+InShCeHQp/JvyYNTugMnRN2NvJhHlc3q12MWbbpg== -emittery@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" - integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== +emittery@^0.10.2: + version "0.10.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" + integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== emoji-regex@^8.0.0: version "8.0.0" @@ -2842,18 +2827,6 @@ escape-string-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== -escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - eslint-plugin-prettier@^2.2.0: version "2.7.0" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.7.0.tgz#b4312dcf2c1d965379d7f9d5b5f8aaadc6a45904" @@ -2862,16 +2835,11 @@ eslint-plugin-prettier@^2.2.0: fast-diff "^1.1.1" jest-docblock "^21.0.0" -esprima@^4.0.0, esprima@^4.0.1: +esprima@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -2902,15 +2870,16 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= -expect@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.1.tgz#83ce59f1e5bdf5f9d2b94b61d2050db48f3fef74" - integrity sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw== +expect@^29.0.0, expect@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.1.2.tgz#82f8f28d7d408c7c68da3a386a490ee683e1eced" + integrity sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw== dependencies: - "@jest/types" "^27.5.1" - jest-get-type "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" + "@jest/expect-utils" "^29.1.2" + jest-get-type "^29.0.0" + jest-matcher-utils "^29.1.2" + jest-message-util "^29.1.2" + jest-util "^29.1.2" extend@~3.0.2: version "3.0.2" @@ -2952,15 +2921,10 @@ fast-glob@^3.2.9: merge2 "^1.3.0" micromatch "^4.0.4" -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" - integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= - -fast-levenshtein@~2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fastq@^1.6.0: version "1.13.0" @@ -3038,15 +3002,6 @@ forever-agent@~0.6.1: resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - form-data@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" @@ -3065,7 +3020,7 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^9.0.0, fs-extra@^9.0.1, fs-extra@^9.1.0: +fs-extra@^9.0.0, fs-extra@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== @@ -3234,7 +3189,7 @@ glob-parent@^5.1.1, glob-parent@^5.1.2, glob-parent@~5.1.0: dependencies: is-glob "^4.0.1" -glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0: +glob@^7.0.3, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== @@ -3343,11 +3298,6 @@ has@^1.0.1, has@^1.0.3: dependencies: function-bind "^1.1.1" -highlight.js@^10.2.0: - version "10.7.3" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531" - integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== - highlight.js@^9.18.1: version "9.18.3" resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.3.tgz#a1a0a2028d5e3149e2380f8a865ee8516703d634" @@ -3365,13 +3315,6 @@ hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: dependencies: lru-cache "^6.0.0" -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - html-escaper@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" @@ -3420,7 +3363,7 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" -iconv-lite@0.4.24, iconv-lite@^0.4.24: +iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -3527,11 +3470,6 @@ inquirer@^7.3.3: strip-ansi "^6.0.0" through "^2.3.6" -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - ip@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" @@ -3652,11 +3590,6 @@ is-plain-object@^5.0.0: resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - is-promise@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" @@ -3762,425 +3695,381 @@ istanbul-reports@^3.1.3: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jest-changed-files@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5" - integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw== +jest-changed-files@^29.0.0: + version "29.0.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.0.0.tgz#aa238eae42d9372a413dd9a8dadc91ca1806dce0" + integrity sha512-28/iDMDrUpGoCitTURuDqUzWQoWmOmOKOFST1mi2lwh62X4BFf6khgH3uSuo1e49X/UDjuApAj3w0wLOex4VPQ== dependencies: - "@jest/types" "^27.5.1" execa "^5.0.0" - throat "^6.0.1" + p-limit "^3.1.0" -jest-circus@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.1.tgz#37a5a4459b7bf4406e53d637b49d22c65d125ecc" - integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw== +jest-circus@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.1.2.tgz#4551068e432f169a53167fe1aef420cf51c8a735" + integrity sha512-ajQOdxY6mT9GtnfJRZBRYS7toNIJayiiyjDyoZcnvPRUPwJ58JX0ci0PKAKUo2C1RyzlHw0jabjLGKksO42JGA== dependencies: - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/environment" "^29.1.2" + "@jest/expect" "^29.1.2" + "@jest/test-result" "^29.1.2" + "@jest/types" "^29.1.2" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" dedent "^0.7.0" - expect "^27.5.1" is-generator-fn "^2.0.0" - jest-each "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" + jest-each "^29.1.2" + jest-matcher-utils "^29.1.2" + jest-message-util "^29.1.2" + jest-runtime "^29.1.2" + jest-snapshot "^29.1.2" + jest-util "^29.1.2" + p-limit "^3.1.0" + pretty-format "^29.1.2" slash "^3.0.0" stack-utils "^2.0.3" - throat "^6.0.1" -jest-cli@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.1.tgz#278794a6e6458ea8029547e6c6cbf673bd30b145" - integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw== +jest-cli@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.1.2.tgz#423b9c5d3ea20a50b1354b8bf3f2a20e72110e89" + integrity sha512-vsvBfQ7oS2o4MJdAH+4u9z76Vw5Q8WBQF5MchDbkylNknZdrPTX1Ix7YRJyTlOWqRaS7ue/cEAn+E4V1MWyMzw== dependencies: - "@jest/core" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/core" "^29.1.2" + "@jest/test-result" "^29.1.2" + "@jest/types" "^29.1.2" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.9" import-local "^3.0.2" - jest-config "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" + jest-config "^29.1.2" + jest-util "^29.1.2" + jest-validate "^29.1.2" prompts "^2.0.1" - yargs "^16.2.0" + yargs "^17.3.1" -jest-config@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.1.tgz#5c387de33dca3f99ad6357ddeccd91bf3a0e4a41" - integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA== +jest-config@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.1.2.tgz#7d004345ca4c09f5d8f802355f54494e90842f4d" + integrity sha512-EC3Zi86HJUOz+2YWQcJYQXlf0zuBhJoeyxLM6vb6qJsVmpP7KcCP1JnyF0iaqTaXdBP8Rlwsvs7hnKWQWWLwwA== dependencies: - "@babel/core" "^7.8.0" - "@jest/test-sequencer" "^27.5.1" - "@jest/types" "^27.5.1" - babel-jest "^27.5.1" + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^29.1.2" + "@jest/types" "^29.1.2" + babel-jest "^29.1.2" chalk "^4.0.0" ci-info "^3.2.0" deepmerge "^4.2.2" - glob "^7.1.1" + glob "^7.1.3" graceful-fs "^4.2.9" - jest-circus "^27.5.1" - jest-environment-jsdom "^27.5.1" - jest-environment-node "^27.5.1" - jest-get-type "^27.5.1" - jest-jasmine2 "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-runner "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" + jest-circus "^29.1.2" + jest-environment-node "^29.1.2" + jest-get-type "^29.0.0" + jest-regex-util "^29.0.0" + jest-resolve "^29.1.2" + jest-runner "^29.1.2" + jest-util "^29.1.2" + jest-validate "^29.1.2" micromatch "^4.0.4" parse-json "^5.2.0" - pretty-format "^27.5.1" + pretty-format "^29.1.2" slash "^3.0.0" strip-json-comments "^3.1.1" -jest-diff@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" - integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== +jest-diff@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.1.2.tgz#bb7aaf5353227d6f4f96c5e7e8713ce576a607dc" + integrity sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ== dependencies: chalk "^4.0.0" - diff-sequences "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" + diff-sequences "^29.0.0" + jest-get-type "^29.0.0" + pretty-format "^29.1.2" jest-docblock@^21.0.0: version "21.2.0" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" integrity sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw== -jest-docblock@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0" - integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ== +jest-docblock@^29.0.0: + version "29.0.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.0.0.tgz#3151bcc45ed7f5a8af4884dcc049aee699b4ceae" + integrity sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw== dependencies: detect-newline "^3.0.0" -jest-each@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.1.tgz#5bc87016f45ed9507fed6e4702a5b468a5b2c44e" - integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ== +jest-each@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.1.2.tgz#d4c8532c07a846e79f194f7007ce7cb1987d1cd0" + integrity sha512-AmTQp9b2etNeEwMyr4jc0Ql/LIX/dhbgP21gHAizya2X6rUspHn2gysMXaj6iwWuOJ2sYRgP8c1P4cXswgvS1A== dependencies: - "@jest/types" "^27.5.1" + "@jest/types" "^29.1.2" chalk "^4.0.0" - jest-get-type "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - -jest-environment-jsdom@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz#ea9ccd1fc610209655a77898f86b2b559516a546" - integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" + jest-get-type "^29.0.0" + jest-util "^29.1.2" + pretty-format "^29.1.2" + +jest-environment-node@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.1.2.tgz#005e05cc6ea4b9b5ba55906ab1ce53c82f6907a7" + integrity sha512-C59yVbdpY8682u6k/lh8SUMDJPbOyCHOTgLVVi1USWFxtNV+J8fyIwzkg+RJIVI30EKhKiAGNxYaFr3z6eyNhQ== + dependencies: + "@jest/environment" "^29.1.2" + "@jest/fake-timers" "^29.1.2" + "@jest/types" "^29.1.2" "@types/node" "*" - jest-mock "^27.5.1" - jest-util "^27.5.1" - jsdom "^16.6.0" - -jest-environment-node@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz#dedc2cfe52fab6b8f5714b4808aefa85357a365e" - integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - jest-util "^27.5.1" + jest-mock "^29.1.2" + jest-util "^29.1.2" -jest-get-type@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" - integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== +jest-get-type@^29.0.0: + version "29.0.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.0.0.tgz#843f6c50a1b778f7325df1129a0fd7aa713aef80" + integrity sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw== -jest-haste-map@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" - integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== +jest-haste-map@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.1.2.tgz#93f3634aa921b6b654e7c94137b24e02e7ca6ac9" + integrity sha512-xSjbY8/BF11Jh3hGSPfYTa/qBFrm3TPM7WU8pU93m2gqzORVLkHFWvuZmFsTEBPRKndfewXhMOuzJNHyJIZGsw== dependencies: - "@jest/types" "^27.5.1" - "@types/graceful-fs" "^4.1.2" + "@jest/types" "^29.1.2" + "@types/graceful-fs" "^4.1.3" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.9" - jest-regex-util "^27.5.1" - jest-serializer "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" + jest-regex-util "^29.0.0" + jest-util "^29.1.2" + jest-worker "^29.1.2" micromatch "^4.0.4" - walker "^1.0.7" + walker "^1.0.8" optionalDependencies: fsevents "^2.3.2" -jest-jasmine2@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz#a037b0034ef49a9f3d71c4375a796f3b230d1ac4" - integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^27.5.1" - is-generator-fn "^2.0.0" - jest-each "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - throat "^6.0.1" - -jest-junit@^13.0.0: - version "13.0.0" - resolved "https://registry.yarnpkg.com/jest-junit/-/jest-junit-13.0.0.tgz#479be347457aad98ae8a5983a23d7c3ec526c9a3" - integrity sha512-JSHR+Dhb32FGJaiKkqsB7AR3OqWKtldLd6ZH2+FJ8D4tsweb8Id8zEVReU4+OlrRO1ZluqJLQEETm+Q6/KilBg== +jest-junit@^14.0.1: + version "14.0.1" + resolved "https://registry.yarnpkg.com/jest-junit/-/jest-junit-14.0.1.tgz#5b357d6f5d333459585d628a24cd48b5bbc92ba2" + integrity sha512-h7/wwzPbllgpQhhVcRzRC76/cc89GlazThoV1fDxcALkf26IIlRsu/AcTG64f4nR2WPE3Cbd+i/sVf+NCUHrWQ== dependencies: mkdirp "^1.0.4" strip-ansi "^6.0.1" uuid "^8.3.2" xml "^1.0.1" -jest-leak-detector@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8" - integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ== +jest-leak-detector@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.1.2.tgz#4c846db14c58219430ccbc4f01a1ec52ebee4fc2" + integrity sha512-TG5gAZJpgmZtjb6oWxBLf2N6CfQ73iwCe6cofu/Uqv9iiAm6g502CAnGtxQaTfpHECBdVEMRBhomSXeLnoKjiQ== dependencies: - jest-get-type "^27.5.1" - pretty-format "^27.5.1" + jest-get-type "^29.0.0" + pretty-format "^29.1.2" -jest-matcher-utils@^27.0.0, jest-matcher-utils@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" - integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== +jest-matcher-utils@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.1.2.tgz#e68c4bcc0266e70aa1a5c13fb7b8cd4695e318a1" + integrity sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw== dependencies: chalk "^4.0.0" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" + jest-diff "^29.1.2" + jest-get-type "^29.0.0" + pretty-format "^29.1.2" -jest-message-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf" - integrity sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g== +jest-message-util@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.1.2.tgz#c21a33c25f9dc1ebfcd0f921d89438847a09a501" + integrity sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ== dependencies: "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.5.1" + "@jest/types" "^29.1.2" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" graceful-fs "^4.2.9" micromatch "^4.0.4" - pretty-format "^27.5.1" + pretty-format "^29.1.2" slash "^3.0.0" stack-utils "^2.0.3" -jest-mock@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6" - integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== +jest-mock@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.1.2.tgz#de47807edbb9d4abf8423f1d8d308d670105678c" + integrity sha512-PFDAdjjWbjPUtQPkQufvniXIS3N9Tv7tbibePEjIIprzjgo0qQlyUiVMrT4vL8FaSJo1QXifQUOuPH3HQC/aMA== dependencies: - "@jest/types" "^27.5.1" + "@jest/types" "^29.1.2" "@types/node" "*" + jest-util "^29.1.2" jest-pnp-resolver@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== -jest-regex-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" - integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== +jest-regex-util@^29.0.0: + version "29.0.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.0.0.tgz#b442987f688289df8eb6c16fa8df488b4cd007de" + integrity sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug== -jest-resolve-dependencies@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz#d811ecc8305e731cc86dd79741ee98fed06f1da8" - integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg== +jest-resolve-dependencies@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.1.2.tgz#a6919e58a0c7465582cb8ec2d745b4e64ae8647f" + integrity sha512-44yYi+yHqNmH3OoWZvPgmeeiwKxhKV/0CfrzaKLSkZG9gT973PX8i+m8j6pDrTYhhHoiKfF3YUFg/6AeuHw4HQ== dependencies: - "@jest/types" "^27.5.1" - jest-regex-util "^27.5.1" - jest-snapshot "^27.5.1" + jest-regex-util "^29.0.0" + jest-snapshot "^29.1.2" -jest-resolve@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.1.tgz#a2f1c5a0796ec18fe9eb1536ac3814c23617b384" - integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw== +jest-resolve@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.1.2.tgz#9dd8c2fc83e59ee7d676b14bd45a5f89e877741d" + integrity sha512-7fcOr+k7UYSVRJYhSmJHIid3AnDBcLQX3VmT9OSbPWsWz1MfT7bcoerMhADKGvKCoMpOHUQaDHtQoNp/P9JMGg== dependencies: - "@jest/types" "^27.5.1" chalk "^4.0.0" graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" + jest-haste-map "^29.1.2" jest-pnp-resolver "^1.2.2" - jest-util "^27.5.1" - jest-validate "^27.5.1" + jest-util "^29.1.2" + jest-validate "^29.1.2" resolve "^1.20.0" resolve.exports "^1.1.0" slash "^3.0.0" -jest-runner@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.1.tgz#071b27c1fa30d90540805c5645a0ec167c7b62e5" - integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ== +jest-runner@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.1.2.tgz#f18b2b86101341e047de8c2f51a5fdc4e97d053a" + integrity sha512-yy3LEWw8KuBCmg7sCGDIqKwJlULBuNIQa2eFSVgVASWdXbMYZ9H/X0tnXt70XFoGf92W2sOQDOIFAA6f2BG04Q== dependencies: - "@jest/console" "^27.5.1" - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/console" "^29.1.2" + "@jest/environment" "^29.1.2" + "@jest/test-result" "^29.1.2" + "@jest/transform" "^29.1.2" + "@jest/types" "^29.1.2" "@types/node" "*" chalk "^4.0.0" - emittery "^0.8.1" + emittery "^0.10.2" graceful-fs "^4.2.9" - jest-docblock "^27.5.1" - jest-environment-jsdom "^27.5.1" - jest-environment-node "^27.5.1" - jest-haste-map "^27.5.1" - jest-leak-detector "^27.5.1" - jest-message-util "^27.5.1" - jest-resolve "^27.5.1" - jest-runtime "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - source-map-support "^0.5.6" - throat "^6.0.1" - -jest-runtime@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.1.tgz#4896003d7a334f7e8e4a53ba93fb9bcd3db0a1af" - integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/globals" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" + jest-docblock "^29.0.0" + jest-environment-node "^29.1.2" + jest-haste-map "^29.1.2" + jest-leak-detector "^29.1.2" + jest-message-util "^29.1.2" + jest-resolve "^29.1.2" + jest-runtime "^29.1.2" + jest-util "^29.1.2" + jest-watcher "^29.1.2" + jest-worker "^29.1.2" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.1.2.tgz#dbcd57103d61115479108d5864bdcd661d9c6783" + integrity sha512-jr8VJLIf+cYc+8hbrpt412n5jX3tiXmpPSYTGnwcvNemY+EOuLNiYnHJ3Kp25rkaAcTWOEI4ZdOIQcwYcXIAZw== + dependencies: + "@jest/environment" "^29.1.2" + "@jest/fake-timers" "^29.1.2" + "@jest/globals" "^29.1.2" + "@jest/source-map" "^29.0.0" + "@jest/test-result" "^29.1.2" + "@jest/transform" "^29.1.2" + "@jest/types" "^29.1.2" + "@types/node" "*" chalk "^4.0.0" cjs-module-lexer "^1.0.0" collect-v8-coverage "^1.0.0" - execa "^5.0.0" glob "^7.1.3" graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-message-util "^27.5.1" - jest-mock "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" + jest-haste-map "^29.1.2" + jest-message-util "^29.1.2" + jest-mock "^29.1.2" + jest-regex-util "^29.0.0" + jest-resolve "^29.1.2" + jest-snapshot "^29.1.2" + jest-util "^29.1.2" slash "^3.0.0" strip-bom "^4.0.0" -jest-serializer@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" - integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.9" - -jest-snapshot@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz#b668d50d23d38054a51b42c4039cab59ae6eb6a1" - integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA== +jest-snapshot@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.1.2.tgz#7dd277e88c45f2d2ff5888de1612e63c7ceb575b" + integrity sha512-rYFomGpVMdBlfwTYxkUp3sjD6usptvZcONFYNqVlaz4EpHPnDvlWjvmOQ9OCSNKqYZqLM2aS3wq01tWujLg7gg== dependencies: - "@babel/core" "^7.7.2" + "@babel/core" "^7.11.6" "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" "@babel/plugin-syntax-typescript" "^7.7.2" "@babel/traverse" "^7.7.2" - "@babel/types" "^7.0.0" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__traverse" "^7.0.4" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^29.1.2" + "@jest/transform" "^29.1.2" + "@jest/types" "^29.1.2" + "@types/babel__traverse" "^7.0.6" "@types/prettier" "^2.1.5" babel-preset-current-node-syntax "^1.0.0" chalk "^4.0.0" - expect "^27.5.1" + expect "^29.1.2" graceful-fs "^4.2.9" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - jest-haste-map "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-util "^27.5.1" + jest-diff "^29.1.2" + jest-get-type "^29.0.0" + jest-haste-map "^29.1.2" + jest-matcher-utils "^29.1.2" + jest-message-util "^29.1.2" + jest-util "^29.1.2" natural-compare "^1.4.0" - pretty-format "^27.5.1" - semver "^7.3.2" + pretty-format "^29.1.2" + semver "^7.3.5" -jest-util@^27.0.0, jest-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" - integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== +jest-util@^29.0.0, jest-util@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.1.2.tgz#ac5798e93cb6a6703084e194cfa0898d66126df1" + integrity sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ== dependencies: - "@jest/types" "^27.5.1" + "@jest/types" "^29.1.2" "@types/node" "*" chalk "^4.0.0" ci-info "^3.2.0" graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-validate@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067" - integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== +jest-validate@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.1.2.tgz#83a728b8f6354da2e52346878c8bc7383516ca51" + integrity sha512-k71pOslNlV8fVyI+mEySy2pq9KdXdgZtm7NHrBX8LghJayc3wWZH0Yr0mtYNGaCU4F1OLPXRkwZR0dBm/ClshA== dependencies: - "@jest/types" "^27.5.1" + "@jest/types" "^29.1.2" camelcase "^6.2.0" chalk "^4.0.0" - jest-get-type "^27.5.1" + jest-get-type "^29.0.0" leven "^3.1.0" - pretty-format "^27.5.1" + pretty-format "^29.1.2" -jest-watcher@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2" - integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw== +jest-watcher@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.1.2.tgz#de21439b7d889e2fcf62cc2a4779ef1a3f1f3c62" + integrity sha512-6JUIUKVdAvcxC6bM8/dMgqY2N4lbT+jZVsxh0hCJRbwkIEnbr/aPjMQ28fNDI5lB51Klh00MWZZeVf27KBUj5w== dependencies: - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/test-result" "^29.1.2" + "@jest/types" "^29.1.2" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - jest-util "^27.5.1" + emittery "^0.10.2" + jest-util "^29.1.2" string-length "^4.0.1" -jest-worker@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== +jest-worker@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.1.2.tgz#a68302af61bce82b42a9a57285ca7499d29b2afc" + integrity sha512-AdTZJxKjTSPHbXT/AIOjQVmoFx0LHFcVabWu0sxI7PAy7rFf8c0upyvgBKgguVXdM4vY74JdwkyD4hSmpTW8jA== dependencies: "@types/node" "*" + jest-util "^29.1.2" merge-stream "^2.0.0" supports-color "^8.0.0" -jest@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest/-/jest-27.5.1.tgz#dadf33ba70a779be7a6fc33015843b51494f63fc" - integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ== +jest@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.1.2.tgz#f821a1695ffd6cd0efc3b59d2dfcc70a98582499" + integrity sha512-5wEIPpCezgORnqf+rCaYD1SK+mNN7NsstWzIsuvsnrhR/hSxXWd82oI7DkrbJ+XTD28/eG8SmxdGvukrGGK6Tw== dependencies: - "@jest/core" "^27.5.1" + "@jest/core" "^29.1.2" + "@jest/types" "^29.1.2" import-local "^3.0.2" - jest-cli "^27.5.1" + jest-cli "^29.1.2" js-stringify@^1.0.1: version "1.0.2" @@ -4212,39 +4101,6 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= -jsdom@^16.6.0: - version "16.7.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" - integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== - dependencies: - abab "^2.0.5" - acorn "^8.2.4" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - form-data "^3.0.0" - html-encoding-sniffer "^2.0.1" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.0" - parse5 "6.0.1" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.5.0" - ws "^7.4.6" - xml-name-validator "^3.0.0" - jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" @@ -4275,12 +4131,15 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= -json5@2.x, json5@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" - integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== - dependencies: - minimist "^1.2.5" +json5@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" + integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== + +jsonc-parser@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" + integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== jsonfile@^4.0.0: version "4.0.0" @@ -4389,14 +4248,6 @@ leven@^3.1.0: resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - libnpmaccess@^4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-4.0.3.tgz#dfb0e5b0a53c315a2610d300e46b4ddeb66e7eec" @@ -4500,7 +4351,7 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "^3.0.0" -lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.4, lodash@^4.7.0: +lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.4, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -4585,12 +4436,12 @@ make-fetch-happen@^9.0.1: socks-proxy-agent "^6.0.0" ssri "^8.0.0" -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== dependencies: - tmpl "1.0.x" + tmpl "1.0.5" map-obj@^1.0.0: version "1.0.1" @@ -4613,15 +4464,10 @@ markdown-it@^10.0.0: mdurl "^1.0.1" uc.micro "^1.0.5" -marked@^1.1.1: - version "1.2.9" - resolved "https://registry.yarnpkg.com/marked/-/marked-1.2.9.tgz#53786f8b05d4c01a2a5a76b7d1ec9943d29d72dc" - integrity sha512-H8lIX2SvyitGX+TRdtS06m1jHMijKN/XjfH6Ooii9fvxMlh8QdqBfBDkGUpMWH2kQNrtixjzYUa3SH8ROTgRRw== - -marked@^4.0.12: - version "4.0.12" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.12.tgz#2262a4e6fd1afd2f13557726238b69a48b982f7d" - integrity sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ== +marked@^4.0.12, marked@^4.0.19: + version "4.1.1" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.1.1.tgz#2f709a4462abf65a283f2453dc1c42ab177d302e" + integrity sha512-0cNMnTcUJPxbA6uWmCmjWz4NJRe/0Xfk2NhXCUHjew9qJzFN20krFnsUe7QynwqOwa5m1fZ4UDg0ycKFVC0ccw== mdurl@^1.0.1: version "1.0.1" @@ -4697,12 +4543,12 @@ minimatch@3.0.x, minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -minimatch@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== +minimatch@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" + integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== dependencies: - brace-expansion "^1.1.7" + brace-expansion "^2.0.1" minimist-options@4.1.0: version "4.1.0" @@ -4907,10 +4753,10 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= -node-releases@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" - integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== +node-releases@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" + integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== "nopt@2 || 3": version "3.0.6" @@ -5092,11 +4938,6 @@ nunjucks@^3.2.1: optionalDependencies: chokidar "^3.3.0" -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - oauth-sign@~0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" @@ -5134,18 +4975,6 @@ onetime@^5.1.0, onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" -optionator@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.4" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - wordwrap "~1.0.0" - os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -5170,6 +4999,13 @@ p-limit@^2.2.0: dependencies: p-try "^2.0.0" +p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" @@ -5306,11 +5142,6 @@ parse-url@^5.0.0: parse-path "^4.0.0" protocols "^1.4.0" -parse5@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -5417,35 +5248,25 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - prettier@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== -pretty-format@^27.0.0, pretty-format@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" - integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== +pretty-format@^29.0.0, pretty-format@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.1.2.tgz#b1f6b75be7d699be1a051f5da36e8ae9e76a8e6a" + integrity sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg== dependencies: - ansi-regex "^5.0.1" + "@jest/schemas" "^29.0.0" ansi-styles "^5.0.0" - react-is "^17.0.1" + react-is "^18.0.0" process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -progress@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" @@ -5491,7 +5312,7 @@ protocols@^1.1.0, protocols@^1.4.0: resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.7.tgz#95f788a4f0e979b291ffefcf5636ad113d037d32" integrity sha512-Fx65lf9/YDn3hUX08XUc0J8rSux36rEsyiv21ZGUC1mOyeM3lTRpZLcrm8aAolzS4itwVfm7TAPyxC2E5zd6xg== -psl@^1.1.28, psl@^1.1.33: +psl@^1.1.28: version "1.8.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== @@ -5636,10 +5457,10 @@ quick-lru@^4.0.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== +react-is@^18.0.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== read-cmd-shim@^2.0.0: version "2.0.0" @@ -5777,13 +5598,6 @@ readdirp@~3.4.0: dependencies: picomatch "^2.2.1" -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= - dependencies: - resolve "^1.1.6" - redent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" @@ -5906,7 +5720,7 @@ rimraf@2: dependencies: glob "^7.1.3" -rimraf@^3.0.0, rimraf@^3.0.2: +rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== @@ -5947,13 +5761,6 @@ safe-buffer@^5.2.1: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - "semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0, semver@^5.6.0: version "5.7.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" @@ -6017,16 +5824,16 @@ shell-quote@^1.6.1: resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== -shelljs@^0.8.4: - version "0.8.5" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" - integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== +shiki@^0.11.1: + version "0.11.1" + resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.11.1.tgz#df0f719e7ab592c484d8b73ec10e215a503ab8cc" + integrity sha512-EugY9VASFuDqOexOgXR18ZV+TbFrQHeCpEYaXamO+SZlsnT/2LxuLBX25GGtIrwaEVFXUAbUQ601SWE2rMwWHA== dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" + jsonc-parser "^3.0.0" + vscode-oniguruma "^1.6.1" + vscode-textmate "^6.0.0" -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== @@ -6096,28 +5903,23 @@ sort-keys@^4.0.0: dependencies: is-plain-obj "^2.0.0" -source-map-support@^0.5.6: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.5.0, source-map@~0.5.1: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== +source-map@~0.5.1: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= spdx-correct@^3.0.0: version "3.1.0" @@ -6331,11 +6133,6 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - tar@^4.4.8: version "4.4.19" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" @@ -6399,11 +6196,6 @@ text-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== -throat@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" - integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== - through2@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" @@ -6431,7 +6223,7 @@ tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" -tmpl@1.0.x: +tmpl@1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== @@ -6458,15 +6250,6 @@ token-stream@0.0.1: resolved "https://registry.yarnpkg.com/token-stream/-/token-stream-0.0.1.tgz#ceeefc717a76c4316f126d0b9dbaa55d7e7df01a" integrity sha1-zu78cXp2xDFvEm0LnbqlXX598Bo= -tough-cookie@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" - integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.1.2" - tough-cookie@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" @@ -6499,26 +6282,26 @@ trim-repeated@^1.0.0: dependencies: escape-string-regexp "^1.0.2" -ts-jest@^27.1.4: - version "27.1.4" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-27.1.4.tgz#84d42cf0f4e7157a52e7c64b1492c46330943e00" - integrity sha512-qjkZlVPWVctAezwsOD1OPzbZ+k7zA5z3oxII4dGdZo5ggX/PL7kvwTM0pXTr10fAtbiVpJaL3bWd502zAhpgSQ== +ts-jest@^29.0.3: + version "29.0.3" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.0.3.tgz#63ea93c5401ab73595440733cefdba31fcf9cb77" + integrity sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ== dependencies: bs-logger "0.x" fast-json-stable-stringify "2.x" - jest-util "^27.0.0" - json5 "2.x" + jest-util "^29.0.0" + json5 "^2.2.1" lodash.memoize "4.x" make-error "1.x" semver "7.x" - yargs-parser "20.x" + yargs-parser "^21.0.1" -ts-node@^10.7.0: - version "10.7.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.7.0.tgz#35d503d0fab3e2baa672a0e94f4b40653c2463f5" - integrity sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A== +ts-node@^10.9.1: + version "10.9.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== dependencies: - "@cspotcode/source-map-support" "0.7.0" + "@cspotcode/source-map-support" "^0.8.0" "@tsconfig/node10" "^1.0.7" "@tsconfig/node12" "^1.0.7" "@tsconfig/node14" "^1.0.0" @@ -6529,7 +6312,7 @@ ts-node@^10.7.0: create-require "^1.1.0" diff "^4.0.1" make-error "^1.1.1" - v8-compile-cache-lib "^3.0.0" + v8-compile-cache-lib "^3.0.1" yn "3.1.1" tslib@^1.13.0, tslib@^1.7.1, tslib@^1.8.1, tslib@^1.9.0: @@ -6621,13 +6404,6 @@ twig@^1.15.1: minimatch "3.0.x" walk "2.3.x" -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - type-detect@4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" @@ -6670,32 +6446,20 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typedoc-default-themes@^0.11.4: - version "0.11.4" - resolved "https://registry.yarnpkg.com/typedoc-default-themes/-/typedoc-default-themes-0.11.4.tgz#1bc55b7c8d1132844616ff6f570e1e2cd0eb7343" - integrity sha512-Y4Lf+qIb9NTydrexlazAM46SSLrmrQRqWiD52593g53SsmUFioAsMWt8m834J6qsp+7wHRjxCXSZeiiW5cMUdw== - -typedoc@~0.19.2: - version "0.19.2" - resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.19.2.tgz#842a63a581f4920f76b0346bb80eb2a49afc2c28" - integrity sha512-oDEg1BLEzi1qvgdQXc658EYgJ5qJLVSeZ0hQ57Eq4JXy6Vj2VX4RVo18qYxRWz75ifAaYuYNBUCnbhjd37TfOg== +typedoc@~0.23.15: + version "0.23.15" + resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.23.15.tgz#6d995c47d34e5785dadffe0ebc28372bd019e5e5" + integrity sha512-x9Zu+tTnwxb9YdVr+zvX7LYzyBl1nieOr6lrSHbHsA22/RJK2m4Y525WIg5Mj4jWCmfL47v6f4hUzY7EIuwS5w== dependencies: - fs-extra "^9.0.1" - handlebars "^4.7.6" - highlight.js "^10.2.0" - lodash "^4.17.20" lunr "^2.3.9" - marked "^1.1.1" - minimatch "^3.0.0" - progress "^2.0.3" - semver "^7.3.2" - shelljs "^0.8.4" - typedoc-default-themes "^0.11.4" + marked "^4.0.19" + minimatch "^5.1.0" + shiki "^0.11.1" -typescript@~4.6.2: - version "4.6.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c" - integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw== +typescript@~4.8.4: + version "4.8.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" + integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" @@ -6751,7 +6515,7 @@ universal-user-agent@^6.0.0: resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== -universalify@^0.1.0, universalify@^0.1.2: +universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== @@ -6771,6 +6535,14 @@ upath@^2.0.1: resolved "https://registry.yarnpkg.com/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== +update-browserslist-db@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz#2924d3927367a38d5c555413a7ce138fc95fcb18" + integrity sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + uri-js@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" @@ -6800,19 +6572,19 @@ uuid@^8.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -v8-compile-cache-lib@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz#0582bcb1c74f3a2ee46487ceecf372e46bce53e8" - integrity sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA== +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== -v8-to-istanbul@^8.1.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed" - integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w== +v8-to-istanbul@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4" + integrity sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w== dependencies: + "@jridgewell/trace-mapping" "^0.3.12" "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^1.6.0" - source-map "^0.7.3" validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: version "3.0.4" @@ -6843,19 +6615,15 @@ void-elements@^2.0.1: resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w= -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" +vscode-oniguruma@^1.6.1: + version "1.6.2" + resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.6.2.tgz#aeb9771a2f1dbfc9083c8a7fdd9cccaa3f386607" + integrity sha512-KH8+KKov5eS/9WhofZR8M8dMHWN2gTxjMsG4jd04YhpbPR91fUj7rYQ2/XjeHCJWbg7X++ApRIU9NUwM2vTvLA== -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" +vscode-textmate@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-6.0.0.tgz#a3777197235036814ac9a92451492f2748589210" + integrity sha512-gu73tuZfJgu+mvCSy4UZwd2JXykjK9zAZsfmDeut5dx/1a7FeTk0XwJsSuqQn+cuMCGVbIBfl+s53X4T19DnzQ== walk@2.3.x: version "2.3.14" @@ -6864,12 +6632,12 @@ walk@2.3.x: dependencies: foreachasync "^3.0.0" -walker@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= +walker@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== dependencies: - makeerror "1.0.x" + makeerror "1.0.12" wcwidth@^1.0.0: version "1.0.1" @@ -6883,28 +6651,11 @@ webidl-conversions@^3.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - webidl-conversions@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" @@ -6913,7 +6664,7 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -whatwg-url@^8.0.0, whatwg-url@^8.4.0, whatwg-url@^8.5.0: +whatwg-url@^8.4.0: version "8.7.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== @@ -6966,7 +6717,7 @@ wordwrap@0.0.2: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" integrity sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8= -wordwrap@^1.0.0, wordwrap@~1.0.0: +wordwrap@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= @@ -7013,6 +6764,14 @@ write-file-atomic@^3.0.0, write-file-atomic@^3.0.3: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" +write-file-atomic@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + write-json-file@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-3.2.0.tgz#65bbdc9ecd8a1458e15952770ccbadfcff5fe62a" @@ -7046,26 +6805,11 @@ write-pkg@^4.0.0: type-fest "^0.4.1" write-json-file "^3.2.0" -ws@^7.4.6: - version "7.5.7" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" - integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - xml@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" integrity sha1-eLpyAgApxbyHuKgaPPzXS0ovweU= -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" @@ -7096,7 +6840,7 @@ yaml@^1.10.0: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yargs-parser@20.2.4, yargs-parser@20.x, yargs-parser@^20.2.2, yargs-parser@^20.2.3: +yargs-parser@20.2.4, yargs-parser@^20.2.2, yargs-parser@^20.2.3: version "20.2.4" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== @@ -7109,10 +6853,10 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^21.0.0: - version "21.0.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" - integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== +yargs-parser@^21.0.0, yargs-parser@^21.0.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== yargs@^15.3.1: version "15.4.1" @@ -7144,12 +6888,12 @@ yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^17.4.0: - version "17.4.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.0.tgz#9fc9efc96bd3aa2c1240446af28499f0e7593d00" - integrity sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA== +yargs@^17.3.1, yargs@^17.4.0: + version "17.6.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.0.tgz#e134900fc1f218bc230192bdec06a0a5f973e46c" + integrity sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g== dependencies: - cliui "^7.0.2" + cliui "^8.0.1" escalade "^3.1.1" get-caller-file "^2.0.5" require-directory "^2.1.1" @@ -7180,3 +6924,8 @@ yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 633b0294e6ae4e75593a2fd9a4090ae90ea82787 Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Thu, 19 Oct 2023 12:25:04 -0400 Subject: [PATCH 02/29] bump to typedoc v0.25 --- packages/compiler/package.json | 2 +- yarn.lock | 104 ++++++++++++++++----------------- 2 files changed, 50 insertions(+), 56 deletions(-) diff --git a/packages/compiler/package.json b/packages/compiler/package.json index f12587e2..f26feed5 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -24,7 +24,7 @@ "js-yaml": "^4.1.0", "kss": "^3.0.1", "marked": "^4.0.12", - "typedoc": "~0.19.2", + "typedoc": "~0.25.2", "yargs": "^17.4.0" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index e16ec116..ba4b7519 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1498,6 +1498,11 @@ ansi-regex@^5.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== +ansi-sequence-parser@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz#e0aa1cdcbc8f8bb0b5bca625aac41f5f056973cf" + integrity sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg== + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -3083,7 +3088,7 @@ glob@7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@^7.0.3, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== @@ -3205,7 +3210,7 @@ has@^1.0.1, has@^1.0.3: dependencies: function-bind "^1.1.1" -highlight.js@^10.2.0, highlight.js@^10.4.1: +highlight.js@^10.4.1: version "10.7.3" resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531" integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== @@ -3403,11 +3408,6 @@ inquirer@8.2.4, inquirer@^8.2.4: through "^2.3.6" wrap-ansi "^7.0.0" -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - ip@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" @@ -4119,7 +4119,7 @@ json5@^2.2.2: resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== -jsonc-parser@3.2.0: +jsonc-parser@3.2.0, jsonc-parser@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== @@ -4384,7 +4384,7 @@ lodash.memoize@4.x: resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= -lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4: +lodash@^4.17.15, lodash@^4.17.21, lodash@^4.17.4: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -4515,16 +4515,16 @@ markdown-it@^12.0.2: mdurl "^1.0.1" uc.micro "^1.0.5" -marked@^1.1.1: - version "1.2.9" - resolved "https://registry.yarnpkg.com/marked/-/marked-1.2.9.tgz#53786f8b05d4c01a2a5a76b7d1ec9943d29d72dc" - integrity sha512-H8lIX2SvyitGX+TRdtS06m1jHMijKN/XjfH6Ooii9fvxMlh8QdqBfBDkGUpMWH2kQNrtixjzYUa3SH8ROTgRRw== - marked@^4.0.12: version "4.1.1" resolved "https://registry.yarnpkg.com/marked/-/marked-4.1.1.tgz#2f709a4462abf65a283f2453dc1c42ab177d302e" integrity sha512-0cNMnTcUJPxbA6uWmCmjWz4NJRe/0Xfk2NhXCUHjew9qJzFN20krFnsUe7QynwqOwa5m1fZ4UDg0ycKFVC0ccw== +marked@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3" + integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A== + mdurl@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" @@ -4599,7 +4599,7 @@ minimatch@3.0.5, minimatch@3.0.x: dependencies: brace-expansion "^1.1.7" -minimatch@^3.0.0, minimatch@^3.0.4: +minimatch@^3.0.4: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -4634,6 +4634,13 @@ minimatch@^8.0.2: dependencies: brace-expansion "^2.0.1" +minimatch@^9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -5583,11 +5590,6 @@ process@^0.11.10: resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== -progress@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - promise-all-reject-late@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2" @@ -5919,13 +5921,6 @@ readable-stream@~2.3.6: string_decoder "~1.1.1" util-deprecate "~1.0.1" -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= - dependencies: - resolve "^1.1.6" - redent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" @@ -6072,7 +6067,7 @@ semver@7.3.8: dependencies: lru-cache "^6.0.0" -semver@7.x, semver@^7.0.0, semver@^7.1.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8: +semver@7.x, semver@^7.0.0, semver@^7.1.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -6125,14 +6120,15 @@ shell-quote@^1.6.1: resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== -shelljs@^0.8.4: - version "0.8.5" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" - integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== +shiki@^0.14.1: + version "0.14.5" + resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.14.5.tgz#375dd214e57eccb04f0daf35a32aa615861deb93" + integrity sha512-1gCAYOcmCFONmErGTrS1fjzJLA7MGZmKzrBNX7apqSwhyITJg2O102uFzXUeBxNnEkDA9vHIKLyeKq0V083vIw== dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" + ansi-sequence-parser "^1.1.0" + jsonc-parser "^3.2.0" + vscode-oniguruma "^1.7.0" + vscode-textmate "^8.0.0" signal-exit@3.0.7, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" @@ -6716,27 +6712,15 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typedoc-default-themes@^0.11.4: - version "0.11.4" - resolved "https://registry.yarnpkg.com/typedoc-default-themes/-/typedoc-default-themes-0.11.4.tgz#1bc55b7c8d1132844616ff6f570e1e2cd0eb7343" - integrity sha512-Y4Lf+qIb9NTydrexlazAM46SSLrmrQRqWiD52593g53SsmUFioAsMWt8m834J6qsp+7wHRjxCXSZeiiW5cMUdw== - -typedoc@~0.19.2: - version "0.19.2" - resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.19.2.tgz#842a63a581f4920f76b0346bb80eb2a49afc2c28" - integrity sha512-oDEg1BLEzi1qvgdQXc658EYgJ5qJLVSeZ0hQ57Eq4JXy6Vj2VX4RVo18qYxRWz75ifAaYuYNBUCnbhjd37TfOg== +typedoc@~0.25.2: + version "0.25.2" + resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.25.2.tgz#39f525c28b6eb61da54dda4ec6b1500df620bed8" + integrity sha512-286F7BeATBiWe/qC4PCOCKlSTwfnsLbC/4cZ68oGBbvAqb9vV33quEOXx7q176OXotD+JdEerdQ1OZGJ818lnA== dependencies: - fs-extra "^9.0.1" - handlebars "^4.7.6" - highlight.js "^10.2.0" - lodash "^4.17.20" lunr "^2.3.9" - marked "^1.1.1" - minimatch "^3.0.0" - progress "^2.0.3" - semver "^7.3.2" - shelljs "^0.8.4" - typedoc-default-themes "^0.11.4" + marked "^4.3.0" + minimatch "^9.0.3" + shiki "^0.14.1" "typescript@^3 || ^4", typescript@~4.8.4: version "4.8.4" @@ -6899,6 +6883,16 @@ void-elements@^2.0.1: resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w= +vscode-oniguruma@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz#439bfad8fe71abd7798338d1cd3dc53a8beea94b" + integrity sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA== + +vscode-textmate@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-8.0.0.tgz#2c7a3b1163ef0441097e0b5d6389cd5504b59e5d" + integrity sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg== + walk-up-path@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-1.0.0.tgz#d4745e893dd5fd0dbb58dd0a4c6a33d9c9fec53e" @@ -7087,7 +7081,7 @@ yargs-parser@20.2.4, yargs-parser@^20.2.2, yargs-parser@^20.2.3: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== -yargs-parser@21.1.1, yargs-parser@^21.0.1, yargs-parser@^21.1.1: +yargs-parser@21.1.1, yargs-parser@^21.0.0, yargs-parser@^21.0.1, yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== From f9e79b4041cd3045be691c56e14129bd4b1dbb1f Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Thu, 19 Oct 2023 12:43:09 -0400 Subject: [PATCH 03/29] Upgrade to TypeScript v5.2, typedoc v0.25 --- packages/client/package.json | 2 +- packages/compiler/package.json | 6 ++--- packages/docs/package.json | 2 +- tsconfig.base.json | 1 + yarn.lock | 40 +++++++++++++++++++++------------- 5 files changed, 31 insertions(+), 20 deletions(-) diff --git a/packages/client/package.json b/packages/client/package.json index d61a469e..3e893192 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -12,7 +12,7 @@ }, "devDependencies": { "tslint": "^6.1.3", - "typescript": "~4.8.4" + "typescript": "~5.2.2" }, "engines": { "node": ">=16" diff --git a/packages/compiler/package.json b/packages/compiler/package.json index f26feed5..02d5d083 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -32,15 +32,15 @@ "@types/jest": "^27.4.1", "@types/js-yaml": "^4.0.5", "@types/marked": "^4.0.8", - "@types/node": "^16.11.26", + "@types/node": "^16.18.59", "@types/yargs": "^17.0.24", "jest": "^29.1.2", "jest-junit": "^14.0.1", "npm-run-all": "^4.1.5", - "ts-jest": "^29.0.3", + "ts-jest": "^29.1.1", "ts-node": "^10.9.1", "tslint": "^6.1.3", - "typescript": "~4.8.4" + "typescript": "~5.2.2" }, "engines": { "node": ">=16" diff --git a/packages/docs/package.json b/packages/docs/package.json index f2d278da..3d61ffba 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -20,7 +20,7 @@ "npm-run-all": "^4.1.5", "pug-cli": "^1.0.0-alpha6", "tslint": "^6.1.3", - "typescript": "~4.8.4" + "typescript": "~5.2.2" }, "engines": { "node": ">=16" diff --git a/tsconfig.base.json b/tsconfig.base.json index 49fb16d2..42194474 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1,6 +1,7 @@ { "compilerOptions": { "declaration": true, + "esModuleInterop": true, "experimentalDecorators": true, "lib": [ "dom", diff --git a/yarn.lock b/yarn.lock index ba4b7519..87698901 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1317,11 +1317,16 @@ resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== -"@types/node@*", "@types/node@^16.11.26": +"@types/node@*": version "16.11.26" resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.26.tgz#63d204d136c9916fb4dcd1b50f9740fe86884e47" integrity sha512-GZ7bu5A6+4DtG7q9GsoHXy3ALcgeIHP4NnL0Vv2wu0uUB/yQex26v0tf6/na1mm0+bS9Uw+0DFex7aaKr2qawQ== +"@types/node@^16.18.59": + version "16.18.59" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.59.tgz#4cdbd631be6d9be266a96fb17b5d0d7ad6bbe26c" + integrity sha512-PJ1w2cNeKUEdey4LiPra0ZuxZFOGvetswE8qHRriV/sUkL5Al4tTmPV9D2+Y/TPIxTHHgxTfRjZVKWhPw/ORhQ== + "@types/normalize-package-data@^2.4.0": version "2.4.1" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" @@ -4114,7 +4119,7 @@ json5@^2.2.1: resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== -json5@^2.2.2: +json5@^2.2.2, json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== @@ -6067,18 +6072,18 @@ semver@7.3.8: dependencies: lru-cache "^6.0.0" -semver@7.x, semver@^7.0.0, semver@^7.1.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8: +semver@^6.0.0, semver@^6.3.0: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.0.0, semver@^7.1.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: lru-cache "^6.0.0" -semver@^6.0.0, semver@^6.3.0: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -6545,18 +6550,18 @@ trim-repeated@^1.0.0: dependencies: escape-string-regexp "^1.0.2" -ts-jest@^29.0.3: - version "29.0.3" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.0.3.tgz#63ea93c5401ab73595440733cefdba31fcf9cb77" - integrity sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ== +ts-jest@^29.1.1: + version "29.1.1" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.1.tgz#f58fe62c63caf7bfcc5cc6472082f79180f0815b" + integrity sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA== dependencies: bs-logger "0.x" fast-json-stable-stringify "2.x" jest-util "^29.0.0" - json5 "^2.2.1" + json5 "^2.2.3" lodash.memoize "4.x" make-error "1.x" - semver "7.x" + semver "^7.5.3" yargs-parser "^21.0.1" ts-node@^10.9.1: @@ -6722,11 +6727,16 @@ typedoc@~0.25.2: minimatch "^9.0.3" shiki "^0.14.1" -"typescript@^3 || ^4", typescript@~4.8.4: +"typescript@^3 || ^4": version "4.8.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== +typescript@~5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" + integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== + uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" From 9c5520b6026f7e14c20f5c88821e7d6bd8321d3c Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Thu, 19 Oct 2023 12:45:45 -0400 Subject: [PATCH 04/29] snapshot changes for jest upgrade --- .../__snapshots__/markdown.test.ts.snap | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/compiler/src/__tests__/__snapshots__/markdown.test.ts.snap b/packages/compiler/src/__tests__/__snapshots__/markdown.test.ts.snap index 89d653e8..97c09f1d 100644 --- a/packages/compiler/src/__tests__/__snapshots__/markdown.test.ts.snap +++ b/packages/compiler/src/__tests__/__snapshots__/markdown.test.ts.snap @@ -1,32 +1,32 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`MarkdownPlugin snapshot 1`] = ` -Object { - "_nav": Object { - "contents": Array [ - Object { +{ + "_nav": { + "contents": [ + { "tag": "page", "value": "file", }, ], "contentsRaw": "@page file", - "metadata": Object {}, + "metadata": {}, "reference": "_nav", "route": "_nav", "sourcePath": "path/to/_nav.md", "title": "(untitled)", }, - "file": Object { - "contents": Array [ - Object { + "file": { + "contents": [ + { "level": 1, "route": "file", "tag": "heading", "value": "I'm special", }, - "

I'm regular

+ "

I'm regular

", - Object { + { "tag": "othertag", "value": "params", }, @@ -37,7 +37,7 @@ Object { ## I'm regular @othertag params", - "metadata": Object { + "metadata": { "key": "value", }, "reference": "file", From 0082c037995b871ddda9491cc03777521e01505d Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Thu, 19 Oct 2023 12:54:05 -0400 Subject: [PATCH 05/29] update snapshots for typedoc upgrade --- .../__snapshots__/typescript.test.ts.snap | 960 ++++++++---------- .../compiler/src/__tests__/typescript.test.ts | 4 +- .../plugins/typescript/typescriptPlugin.ts | 34 +- .../src/plugins/typescript/visitor.ts | 62 +- 4 files changed, 462 insertions(+), 598 deletions(-) diff --git a/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap b/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap index ee3f393e..896302a0 100644 --- a/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap +++ b/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap @@ -1,22 +1,13 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`TypescriptPlugin classes snapshot 1`] = ` -Object { - "Animal": Object { - "accessors": Array [ - Object { - "documentation": Object { - "contents": Array [ - "

Get the noise of the animal -Set the noise for the animal

-", - ], - "contentsRaw": "Get the noise of the animal -Set the noise for the animal", - "metadata": Object {}, - }, +{ + "Animal": { + "accessors": [ + { + "documentation": undefined, "fileName": "src/__tests__/__fixtures__/classes.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -26,32 +17,32 @@ Set the noise for the animal", "isRest": false, "isStatic": false, }, - "getDocumentation": Object { - "contents": Array [ + "getDocumentation": { + "contents": [ "

Get the noise of the animal

", ], "contentsRaw": "Get the noise of the animal", - "metadata": Object {}, + "metadata": {}, }, "kind": "accessor", "name": "accessorNoise", - "setDocumentation": Object { - "contents": Array [ + "setDocumentation": { + "contents": [ "

Set the noise for the animal

", ], "contentsRaw": "Set the noise for the animal", - "metadata": Object {}, + "metadata": {}, }, "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L21", "type": "string", }, ], - "constructorType": Object { + "constructorType": { "documentation": undefined, "fileName": "src/__tests__/__fixtures__/classes.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -64,19 +55,19 @@ Set the noise for the animal", "inheritedFrom": undefined, "kind": "constructor", "name": "constructor", - "signatures": Array [ - Object { + "signatures": [ + { "documentation": undefined, "fileName": "src/__tests__/__fixtures__/classes.ts", "flags": undefined, "kind": "signature", "name": "new Animal", - "parameters": Array [ - Object { + "parameters": [ + { "defaultValue": undefined, "documentation": undefined, "fileName": undefined, - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -92,17 +83,17 @@ Set the noise for the animal", "type": "string", }, ], - "returnType": "Animal", - "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L28", - "type": "(noise: string) => Animal", + "returnType": "Animal<>", + "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L30", + "type": "(noise: string) => Animal<>", }, ], - "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L28", + "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L30", }, "documentation": undefined, "extends": undefined, "fileName": "src/__tests__/__fixtures__/classes.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -115,11 +106,11 @@ Set the noise for the animal", "implements": undefined, "indexSignature": undefined, "kind": "class", - "methods": Array [ - Object { + "methods": [ + { "documentation": undefined, "fileName": "src/__tests__/__fixtures__/classes.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -132,21 +123,21 @@ Set the noise for the animal", "inheritedFrom": undefined, "kind": "method", "name": "bark", - "signatures": Array [ - Object { - "documentation": Object { - "contents": Array [ + "signatures": [ + { + "documentation": { + "contents": [ "

Produce a noise.

", ], "contentsRaw": "Produce a noise.", - "metadata": Object {}, + "metadata": {}, }, "fileName": "src/__tests__/__fixtures__/classes.ts", "flags": undefined, "kind": "signature", "name": "bark", - "parameters": Array [], + "parameters": [], "returnType": "string", "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L33", "type": "() => string", @@ -154,10 +145,10 @@ Set the noise for the animal", ], "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L33", }, - Object { + { "documentation": undefined, "fileName": "src/__tests__/__fixtures__/classes.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -170,33 +161,33 @@ Set the noise for the animal", "inheritedFrom": undefined, "kind": "method", "name": "eat", - "signatures": Array [ - Object { - "documentation": Object { - "contents": Array [ + "signatures": [ + { + "documentation": { + "contents": [ "

Public method.

", ], "contentsRaw": "Public method.", - "metadata": Object {}, + "metadata": {}, }, "fileName": "src/__tests__/__fixtures__/classes.ts", "flags": undefined, "kind": "signature", "name": "eat", - "parameters": Array [ - Object { + "parameters": [ + { "defaultValue": undefined, - "documentation": Object { - "contents": Array [ + "documentation": { + "contents": [ "

Name of the food to eat.

", ], "contentsRaw": "Name of the food to eat.", - "metadata": Object {}, + "metadata": {}, }, "fileName": undefined, - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -221,24 +212,15 @@ Set the noise for the animal", }, ], "name": "Animal", - "properties": Array [], + "properties": [], "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L19", }, - "Dog": Object { - "accessors": Array [ - Object { - "documentation": Object { - "contents": Array [ - "

Get the noise of the animal -Set the noise for the animal

-", - ], - "contentsRaw": "Get the noise of the animal -Set the noise for the animal", - "metadata": Object {}, - }, + "Dog": { + "accessors": [ + { + "documentation": undefined, "fileName": "src/__tests__/__fixtures__/classes.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -248,32 +230,32 @@ Set the noise for the animal", "isRest": false, "isStatic": false, }, - "getDocumentation": Object { - "contents": Array [ + "getDocumentation": { + "contents": [ "

Get the noise of the animal

", ], "contentsRaw": "Get the noise of the animal", - "metadata": Object {}, + "metadata": {}, }, "kind": "accessor", "name": "accessorNoise", - "setDocumentation": Object { - "contents": Array [ + "setDocumentation": { + "contents": [ "

Set the noise for the animal

", ], "contentsRaw": "Set the noise for the animal", - "metadata": Object {}, + "metadata": {}, }, "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L21", "type": "string", }, ], - "constructorType": Object { + "constructorType": { "documentation": undefined, "fileName": "src/__tests__/__fixtures__/classes.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -286,27 +268,27 @@ Set the noise for the animal", "inheritedFrom": undefined, "kind": "constructor", "name": "constructor", - "signatures": Array [ - Object { + "signatures": [ + { "documentation": undefined, "fileName": "src/__tests__/__fixtures__/classes.ts", "flags": undefined, "kind": "signature", "name": "new Dog", - "parameters": Array [], - "returnType": "Dog", - "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L53", - "type": "() => Dog", + "parameters": [], + "returnType": "Dog<>", + "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L54", + "type": "() => Dog<>", }, ], - "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L53", + "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L54", }, "documentation": undefined, - "extends": Array [ - "Animal", + "extends": [ + "Animal<>", ], "fileName": "src/__tests__/__fixtures__/classes.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -319,11 +301,11 @@ Set the noise for the animal", "implements": undefined, "indexSignature": undefined, "kind": "class", - "methods": Array [ - Object { + "methods": [ + { "documentation": undefined, "fileName": "src/__tests__/__fixtures__/classes.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -336,21 +318,21 @@ Set the noise for the animal", "inheritedFrom": "Animal.bark", "kind": "method", "name": "bark", - "signatures": Array [ - Object { - "documentation": Object { - "contents": Array [ + "signatures": [ + { + "documentation": { + "contents": [ "

Produce a noise.

", ], "contentsRaw": "Produce a noise.", - "metadata": Object {}, + "metadata": {}, }, "fileName": "src/__tests__/__fixtures__/classes.ts", "flags": undefined, "kind": "signature", "name": "bark", - "parameters": Array [], + "parameters": [], "returnType": "string", "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L33", "type": "() => string", @@ -358,10 +340,10 @@ Set the noise for the animal", ], "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L33", }, - Object { + { "documentation": undefined, "fileName": "src/__tests__/__fixtures__/classes.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -374,33 +356,33 @@ Set the noise for the animal", "inheritedFrom": "Animal.eat", "kind": "method", "name": "eat", - "signatures": Array [ - Object { - "documentation": Object { - "contents": Array [ + "signatures": [ + { + "documentation": { + "contents": [ "

Public method.

", ], "contentsRaw": "Public method.", - "metadata": Object {}, + "metadata": {}, }, "fileName": "src/__tests__/__fixtures__/classes.ts", "flags": undefined, "kind": "signature", "name": "eat", - "parameters": Array [ - Object { + "parameters": [ + { "defaultValue": undefined, - "documentation": Object { - "contents": Array [ + "documentation": { + "contents": [ "

Name of the food to eat.

", ], "contentsRaw": "Name of the food to eat.", - "metadata": Object {}, + "metadata": {}, }, "fileName": undefined, - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -425,196 +407,18 @@ Set the noise for the animal", }, ], "name": "Dog", - "properties": Array [], + "properties": [], "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L53", }, - "Food": Object { - "accessors": Array [], - "constructorType": Object { - "documentation": undefined, - "fileName": "src/__tests__/__fixtures__/classes.ts", - "flags": Object { - "isDeprecated": undefined, - "isExternal": false, - "isOptional": false, - "isPrivate": false, - "isProtected": false, - "isPublic": true, - "isRest": false, - "isStatic": false, - }, - "inheritedFrom": undefined, - "kind": "constructor", - "name": "constructor", - "signatures": Array [ - Object { - "documentation": undefined, - "fileName": "src/__tests__/__fixtures__/classes.ts", - "flags": undefined, - "kind": "signature", - "name": "new Food", - "parameters": Array [ - Object { - "defaultValue": undefined, - "documentation": undefined, - "fileName": undefined, - "flags": Object { - "isDeprecated": undefined, - "isExternal": false, - "isOptional": false, - "isPrivate": false, - "isProtected": false, - "isPublic": false, - "isRest": false, - "isStatic": false, - }, - "kind": "parameter", - "name": "name", - "sourceUrl": undefined, - "type": "string", - }, - ], - "returnType": "Food", - "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L63", - "type": "(name: string) => Food", - }, - ], - "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L63", - }, - "documentation": undefined, - "extends": undefined, - "fileName": "src/__tests__/__fixtures__/classes.ts", - "flags": Object { - "isDeprecated": undefined, - "isExternal": false, - "isOptional": false, - "isPrivate": false, - "isProtected": false, - "isPublic": false, - "isRest": false, - "isStatic": false, - }, - "implements": undefined, - "indexSignature": undefined, - "kind": "class", - "methods": Array [ - Object { - "documentation": undefined, - "fileName": "src/__tests__/__fixtures__/classes.ts", - "flags": Object { - "isDeprecated": undefined, - "isExternal": false, - "isOptional": false, - "isPrivate": false, - "isProtected": false, - "isPublic": true, - "isRest": false, - "isStatic": true, - }, - "inheritedFrom": undefined, - "kind": "method", - "name": "retrieve", - "signatures": Array [ - Object { - "documentation": undefined, - "fileName": "src/__tests__/__fixtures__/classes.ts", - "flags": undefined, - "kind": "signature", - "name": "retrieve", - "parameters": Array [ - Object { - "defaultValue": undefined, - "documentation": undefined, - "fileName": undefined, - "flags": Object { - "isDeprecated": undefined, - "isExternal": false, - "isOptional": false, - "isPrivate": false, - "isProtected": false, - "isPublic": false, - "isRest": false, - "isStatic": false, - }, - "kind": "parameter", - "name": "name", - "sourceUrl": undefined, - "type": "string", - }, - ], - "returnType": "Food<>", - "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L61", - "type": "(name: string) => Food<>", - }, - ], - "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L61", - }, - Object { - "documentation": undefined, - "fileName": "src/__tests__/__fixtures__/classes.ts", - "flags": Object { - "isDeprecated": undefined, - "isExternal": false, - "isOptional": false, - "isPrivate": false, - "isProtected": false, - "isPublic": true, - "isRest": false, - "isStatic": false, - }, - "inheritedFrom": undefined, - "kind": "method", - "name": "destroy", - "signatures": Array [ - Object { - "documentation": undefined, - "fileName": "src/__tests__/__fixtures__/classes.ts", - "flags": undefined, - "kind": "signature", - "name": "destroy", - "parameters": Array [], - "returnType": "boolean", - "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L67", - "type": "() => boolean", - }, - ], - "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L67", - }, - ], - "name": "Food", - "properties": Array [ - Object { - "defaultValue": undefined, - "documentation": undefined, - "fileName": "src/__tests__/__fixtures__/classes.ts", - "flags": Object { - "isDeprecated": undefined, - "isExternal": false, - "isOptional": false, - "isPrivate": false, - "isProtected": false, - "isPublic": true, - "isRest": false, - "isStatic": false, - }, - "inheritedFrom": undefined, - "kind": "property", - "name": "name", - "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L65", - "type": "string", - }, - ], - "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/classes.ts#L60", - }, } `; exports[`TypescriptPlugin enums snapshot 1`] = ` -Object { - "IconName": Object { +{ + "IconName": { "documentation": undefined, "fileName": "src/__tests__/__fixtures__/enums.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -626,20 +430,20 @@ Object { }, "kind": "type alias", "name": "IconName", - "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/enums.ts#L33", - "type": "\\"add\\" | \\"remove\\" | \\"plus\\" | \\"minus\\"", + "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/enums.ts#L26", + "type": ""add" | "remove" | "plus" | "minus"", }, - "Intent": Object { - "documentation": Object { - "contents": Array [ + "Intent": { + "documentation": { + "contents": [ "

classic typescript enum

", ], "contentsRaw": "classic typescript enum", - "metadata": Object {}, + "metadata": {}, }, "fileName": "src/__tests__/__fixtures__/enums.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -650,12 +454,12 @@ Object { "isStatic": false, }, "kind": "enum", - "members": Array [ - Object { - "defaultValue": "\\"danger\\"", + "members": [ + { + "defaultValue": undefined, "documentation": undefined, "fileName": "src/__tests__/__fixtures__/enums.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -669,11 +473,11 @@ Object { "name": "DANGER", "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/enums.ts#L22", }, - Object { - "defaultValue": "\\"primary\\"", + { + "defaultValue": undefined, "documentation": undefined, "fileName": "src/__tests__/__fixtures__/enums.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -687,11 +491,11 @@ Object { "name": "PRIMARY", "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/enums.ts#L19", }, - Object { - "defaultValue": "\\"success\\"", + { + "defaultValue": undefined, "documentation": undefined, "fileName": "src/__tests__/__fixtures__/enums.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -705,11 +509,11 @@ Object { "name": "SUCCESS", "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/enums.ts#L20", }, - Object { - "defaultValue": "\\"warning\\"", + { + "defaultValue": undefined, "documentation": undefined, "fileName": "src/__tests__/__fixtures__/enums.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -731,11 +535,11 @@ Object { `; exports[`TypescriptPlugin functions snapshot 1`] = ` -Object { - "numberAndString": Object { +{ + "MyFunc": { "documentation": undefined, "fileName": "src/__tests__/__fixtures__/functions.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -747,34 +551,34 @@ Object { }, "inheritedFrom": undefined, "kind": "method", - "name": "numberAndString", - "signatures": Array [ - Object { - "documentation": Object { - "contents": Array [ - "

Exported function.

+ "name": "MyFunc", + "signatures": [ + { + "documentation": { + "contents": [ + "

Non-exported function.

", ], - "contentsRaw": "Exported function.", - "metadata": Object {}, + "contentsRaw": "Non-exported function.", + "metadata": {}, }, "fileName": "src/__tests__/__fixtures__/functions.ts", "flags": undefined, "kind": "signature", - "name": "numberAndString", - "parameters": Array [ - Object { + "name": "MyFunc", + "parameters": [ + { "defaultValue": undefined, - "documentation": Object { - "contents": Array [ - "

The number passed to the function.

+ "documentation": { + "contents": [ + "

The string parameter.

", ], - "contentsRaw": "The number passed to the function.", - "metadata": Object {}, + "contentsRaw": "The string parameter.", + "metadata": {}, }, "fileName": undefined, - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -785,22 +589,22 @@ Object { "isStatic": false, }, "kind": "parameter", - "name": "first", + "name": "str", "sourceUrl": undefined, - "type": "number", + "type": "string", }, - Object { + { "defaultValue": undefined, - "documentation": Object { - "contents": Array [ - "

The string passed to the function.

+ "documentation": { + "contents": [ + "

The boolean parameter.

", ], - "contentsRaw": "The string passed to the function.", - "metadata": Object {}, + "contentsRaw": "The boolean parameter.", + "metadata": {}, }, "fileName": undefined, - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -811,22 +615,22 @@ Object { "isStatic": false, }, "kind": "parameter", - "name": "second", + "name": "bool", "sourceUrl": undefined, - "type": "string", + "type": "boolean", }, ], "returnType": "string", - "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/functions.ts#L22", - "type": "(first: number, second: string) => string", + "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/functions.ts#L31", + "type": "(str: string, bool: boolean) => string", }, ], - "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/functions.ts#L22", + "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/functions.ts#L36", }, - "stringAndBoolean": Object { + "numberAndString": { "documentation": undefined, "fileName": "src/__tests__/__fixtures__/functions.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -838,34 +642,34 @@ Object { }, "inheritedFrom": undefined, "kind": "method", - "name": "stringAndBoolean", - "signatures": Array [ - Object { - "documentation": Object { - "contents": Array [ - "

Non-exported function.

+ "name": "numberAndString", + "signatures": [ + { + "documentation": { + "contents": [ + "

Exported function.

", ], - "contentsRaw": "Non-exported function.", - "metadata": Object {}, + "contentsRaw": "Exported function.", + "metadata": {}, }, "fileName": "src/__tests__/__fixtures__/functions.ts", "flags": undefined, "kind": "signature", - "name": "stringAndBoolean", - "parameters": Array [ - Object { + "name": "numberAndString", + "parameters": [ + { "defaultValue": undefined, - "documentation": Object { - "contents": Array [ - "

The string parameter.

+ "documentation": { + "contents": [ + "

The number passed to the function.

", ], - "contentsRaw": "The string parameter.", - "metadata": Object {}, + "contentsRaw": "The number passed to the function.", + "metadata": {}, }, "fileName": undefined, - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -876,22 +680,22 @@ Object { "isStatic": false, }, "kind": "parameter", - "name": "str", + "name": "first", "sourceUrl": undefined, - "type": "string", + "type": "number", }, - Object { + { "defaultValue": undefined, - "documentation": Object { - "contents": Array [ - "

The boolean parameter.

+ "documentation": { + "contents": [ + "

The string passed to the function.

", ], - "contentsRaw": "The boolean parameter.", - "metadata": Object {}, + "contentsRaw": "The string passed to the function.", + "metadata": {}, }, "fileName": undefined, - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -902,28 +706,28 @@ Object { "isStatic": false, }, "kind": "parameter", - "name": "bool", + "name": "second", "sourceUrl": undefined, - "type": "boolean", + "type": "string", }, ], "returnType": "string", - "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/functions.ts#L31", - "type": "(str: string, bool: boolean) => string", + "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/functions.ts#L22", + "type": "(first: number, second: string) => string", }, ], - "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/functions.ts#L31", + "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/functions.ts#L22", }, } `; exports[`TypescriptPlugin interfaces snapshot 1`] = ` -Object { - "IActionProps": Object { +{ + "IActionProps": { "documentation": undefined, "extends": undefined, "fileName": "src/__tests__/__fixtures__/interfaces.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -936,21 +740,21 @@ Object { "implements": undefined, "indexSignature": undefined, "kind": "interface", - "methods": Array [], + "methods": [], "name": "IActionProps", - "properties": Array [ - Object { + "properties": [ + { "defaultValue": undefined, - "documentation": Object { - "contents": Array [ + "documentation": { + "contents": [ "

Whether this action is non-interactive.

", ], "contentsRaw": "Whether this action is non-interactive.", - "metadata": Object {}, + "metadata": {}, }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": true, @@ -966,18 +770,22 @@ Object { "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/interfaces.ts#L22", "type": "boolean", }, - Object { + { "defaultValue": undefined, - "documentation": Object { - "contents": Array [ - "

Name of the icon (the part after pt-icon-) to add to the button.

+ "documentation": { + "contents": [ + "

Name of the icon (the part after +pt-icon- +) to add to the button.

", ], - "contentsRaw": "Name of the icon (the part after \`pt-icon-\`) to add to the button.", - "metadata": Object {}, + "contentsRaw": "Name of the icon (the part after +\`pt-icon-\` +) to add to the button.", + "metadata": {}, }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": true, @@ -993,18 +801,11 @@ Object { "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/interfaces.ts#L25", "type": "IconName", }, - Object { + { "defaultValue": undefined, - "documentation": Object { - "contents": Array [ - "

Click event handler.

-", - ], - "contentsRaw": "Click event handler.", - "metadata": Object {}, - }, + "documentation": undefined, "fileName": "src/__tests__/__fixtures__/interfaces.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -1020,18 +821,18 @@ Object { "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/interfaces.ts#L28", "type": "(event: MouseEvent) => void", }, - Object { + { "defaultValue": undefined, - "documentation": Object { - "contents": Array [ + "documentation": { + "contents": [ "

Action text.

", ], "contentsRaw": "Action text.", - "metadata": Object {}, + "metadata": {}, }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -1050,13 +851,13 @@ Object { ], "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/interfaces.ts#L20", }, - "IButtonProps": Object { + "IButtonProps": { "documentation": undefined, - "extends": Array [ - "IActionProps", + "extends": [ + "IActionProps<>", ], "fileName": "src/__tests__/__fixtures__/interfaces.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -1067,25 +868,18 @@ Object { "isStatic": false, }, "implements": undefined, - "indexSignature": Object { - "documentation": Object { - "contents": Array [ - "

Index signature for the masses.

-", - ], - "contentsRaw": "Index signature for the masses.", - "metadata": Object {}, - }, + "indexSignature": { + "documentation": undefined, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": undefined, "kind": "signature", "name": "__index", - "parameters": Array [ - Object { + "parameters": [ + { "defaultValue": undefined, "documentation": undefined, "fileName": undefined, - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -1102,27 +896,37 @@ Object { }, ], "returnType": "any", - "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/interfaces.ts#L64", + "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/interfaces.ts#L67", "type": "{ [x: string]: any }", }, "kind": "interface", - "methods": Array [], + "methods": [], "name": "IButtonProps", - "properties": Array [ - Object { - "defaultValue": "false", - "documentation": Object { - "contents": Array [ - "

If set to true, the button will display in an active state. -This is equivalent to setting className="pt-active".

+ "properties": [ + { + "defaultValue": "\`\`\`ts +false +\`\`\`", + "documentation": { + "contents": [ + "

If set to +true +, the button will display in an active state. +This is equivalent to setting +className="pt-active" +.

", ], - "contentsRaw": "If set to \`true\`, the button will display in an active state. -This is equivalent to setting \`className=\\"pt-active\\"\`.", - "metadata": Object {}, + "contentsRaw": "If set to +\`true\` +, the button will display in an active state. +This is equivalent to setting +\`className="pt-active"\` +.", + "metadata": {}, }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": true, @@ -1138,18 +942,18 @@ This is equivalent to setting \`className=\\"pt-active\\"\`.", "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/interfaces.ts#L40", "type": "boolean", }, - Object { + { "defaultValue": undefined, - "documentation": Object { - "contents": Array [ + "documentation": { + "contents": [ "

Whether this action is non-interactive.

", ], "contentsRaw": "Whether this action is non-interactive.", - "metadata": Object {}, + "metadata": {}, }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": true, @@ -1165,18 +969,11 @@ This is equivalent to setting \`className=\\"pt-active\\"\`.", "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/interfaces.ts#L22", "type": "boolean", }, - Object { + { "defaultValue": undefined, - "documentation": Object { - "contents": Array [ - "

A ref handler that receives the native HTML element backing this component.

-", - ], - "contentsRaw": "A ref handler that receives the native HTML element backing this component.", - "metadata": Object {}, - }, + "documentation": undefined, "fileName": "src/__tests__/__fixtures__/interfaces.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": true, @@ -1192,18 +989,22 @@ This is equivalent to setting \`className=\\"pt-active\\"\`.", "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/interfaces.ts#L43", "type": "(ref: HTMLElement) => any", }, - Object { + { "defaultValue": undefined, - "documentation": Object { - "contents": Array [ - "

Name of the icon (the part after pt-icon-) to add to the button.

+ "documentation": { + "contents": [ + "

Name of the icon (the part after +pt-icon- +) to add to the button.

", ], - "contentsRaw": "Name of the icon (the part after \`pt-icon-\`) to add to the button.", - "metadata": Object {}, + "contentsRaw": "Name of the icon (the part after +\`pt-icon-\` +) to add to the button.", + "metadata": {}, }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": true, @@ -1219,21 +1020,27 @@ This is equivalent to setting \`className=\\"pt-active\\"\`.", "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/interfaces.ts#L25", "type": "IconName", }, - Object { - "defaultValue": "false", - "documentation": Object { - "contents": Array [ - "

If set to true, the button will display a centered loading spinner instead of its contents. + { + "defaultValue": "\`\`\`ts +false +\`\`\`", + "documentation": { + "contents": [ + "

If set to +true +, the button will display a centered loading spinner instead of its contents. The width of the button is not affected by the value of this prop.

", ], - "contentsRaw": "If set to \`true\`, the button will display a centered loading spinner instead of its contents. + "contentsRaw": "If set to +\`true\` +, the button will display a centered loading spinner instead of its contents. The width of the button is not affected by the value of this prop.", - "metadata": Object {}, + "metadata": {}, }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", - "flags": Object { - "isDeprecated": true, + "flags": { + "isDeprecated": "", "isExternal": false, "isOptional": true, "isPrivate": false, @@ -1248,18 +1055,11 @@ The width of the button is not affected by the value of this prop.", "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/interfaces.ts#L57", "type": "boolean", }, - Object { + { "defaultValue": undefined, - "documentation": Object { - "contents": Array [ - "

Click event handler.

-", - ], - "contentsRaw": "Click event handler.", - "metadata": Object {}, - }, + "documentation": undefined, "fileName": "src/__tests__/__fixtures__/interfaces.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -1275,18 +1075,22 @@ The width of the button is not affected by the value of this prop.", "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/interfaces.ts#L28", "type": "(event: MouseEvent) => void", }, - Object { + { "defaultValue": undefined, - "documentation": Object { - "contents": Array [ - "

Name of the icon (the part after pt-icon-) to add to the button.

+ "documentation": { + "contents": [ + "

Name of the icon (the part after +pt-icon- +) to add to the button.

", ], - "contentsRaw": "Name of the icon (the part after \`pt-icon-\`) to add to the button.", - "metadata": Object {}, + "contentsRaw": "Name of the icon (the part after +\`pt-icon-\` +) to add to the button.", + "metadata": {}, }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", - "flags": Object { + "flags": { "isDeprecated": "since v1.2.3", "isExternal": false, "isOptional": true, @@ -1302,18 +1106,18 @@ The width of the button is not affected by the value of this prop.", "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/interfaces.ts#L49", "type": "IconName", }, - Object { + { "defaultValue": undefined, - "documentation": Object { - "contents": Array [ + "documentation": { + "contents": [ "

Action text.

", ], "contentsRaw": "Action text.", - "metadata": Object {}, + "metadata": {}, }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -1329,20 +1133,42 @@ The width of the button is not affected by the value of this prop.", "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/interfaces.ts#L31", "type": "string", }, - Object { - "defaultValue": "\\"button\\"", - "documentation": Object { - "contents": Array [ - "

HTML type attribute of button. Common values are "button" and "submit". -Note that this prop has no effect on AnchorButton; it only affects Button.

+ { + "defaultValue": "\`\`\`ts +"button" +\`\`\`", + "documentation": { + "contents": [ + "

HTML +type + attribute of button. Common values are +"button" + and +"submit" +. +Note that this prop has no effect on +AnchorButton +; it only affects +Button +.

", ], - "contentsRaw": "HTML \`type\` attribute of button. Common values are \`\\"button\\"\` and \`\\"submit\\"\`. -Note that this prop has no effect on \`AnchorButton\`; it only affects \`Button\`.", - "metadata": Object {}, + "contentsRaw": "HTML +\`type\` + attribute of button. Common values are +\`"button"\` + and +\`"submit"\` +. +Note that this prop has no effect on +\`AnchorButton\` +; it only affects +\`Button\` +.", + "metadata": {}, }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": true, @@ -1361,18 +1187,22 @@ Note that this prop has no effect on \`AnchorButton\`; it only affects \`Button\ ], "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/interfaces.ts#L34", }, - "ICompiler": Object { - "documentation": Object { - "contents": Array [ - "

Each plugin receives a Compiler instance to aid in the processing of source files.

+ "ICompiler": { + "documentation": { + "contents": [ + "

Each plugin receives a +Compiler + instance to aid in the processing of source files.

", ], - "contentsRaw": "Each plugin receives a \`Compiler\` instance to aid in the processing of source files.", - "metadata": Object {}, + "contentsRaw": "Each plugin receives a +\`Compiler\` + instance to aid in the processing of source files.", + "metadata": {}, }, "extends": undefined, "fileName": "src/__tests__/__fixtures__/interfaces.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -1385,11 +1215,11 @@ Note that this prop has no effect on \`AnchorButton\`; it only affects \`Button\ "implements": undefined, "indexSignature": undefined, "kind": "interface", - "methods": Array [ - Object { + "methods": [ + { "documentation": undefined, "fileName": "src/__tests__/__fixtures__/interfaces.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -1402,28 +1232,28 @@ Note that this prop has no effect on \`AnchorButton\`; it only affects \`Button\ "inheritedFrom": undefined, "kind": "method", "name": "objectify", - "signatures": Array [ - Object { - "documentation": Object { - "contents": Array [ + "signatures": [ + { + "documentation": { + "contents": [ "

Converts an array of entries into a map of key to entry, using given callback to extract key from each item.

", ], "contentsRaw": "Converts an array of entries into a map of key to entry, using given callback to extract key from each item.", - "metadata": Object {}, + "metadata": {}, }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": undefined, "kind": "signature", "name": "objectify", - "parameters": Array [ - Object { + "parameters": [ + { "defaultValue": undefined, "documentation": undefined, "fileName": undefined, - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -1438,11 +1268,11 @@ callback to extract key from each item.", "sourceUrl": undefined, "type": "T[]", }, - Object { + { "defaultValue": undefined, "documentation": undefined, "fileName": undefined, - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -1465,10 +1295,10 @@ callback to extract key from each item.", ], "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/interfaces.ts#L78", }, - Object { + { "documentation": undefined, "fileName": "src/__tests__/__fixtures__/interfaces.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -1481,36 +1311,40 @@ callback to extract key from each item.", "inheritedFrom": undefined, "kind": "method", "name": "renderBlock", - "signatures": Array [ - Object { - "documentation": Object { - "contents": Array [ + "signatures": [ + { + "documentation": { + "contents": [ "

Render a block of content by extracting metadata (YAML front matter) and -splitting text content into markdown-rendered HTML strings and { tag, value } objects.

+splitting text content into markdown-rendered HTML strings and +{ tag, value } + objects.

To prevent special strings like "@include" from being parsed, a reserved tag words array may be provided, in which case the line will be left as is.

", ], "contentsRaw": "Render a block of content by extracting metadata (YAML front matter) and -splitting text content into markdown-rendered HTML strings and \`{ tag, -value }\` objects. +splitting text content into markdown-rendered HTML strings and +\`{ tag, +value }\` + objects. -To prevent special strings like \\"@include\\" from being parsed, a reserved +To prevent special strings like "@include" from being parsed, a reserved tag words array may be provided, in which case the line will be left as is.", - "metadata": Object {}, + "metadata": {}, }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": undefined, "kind": "signature", "name": "renderBlock", - "parameters": Array [ - Object { + "parameters": [ + { "defaultValue": undefined, "documentation": undefined, "fileName": undefined, - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -1525,11 +1359,11 @@ is.", "sourceUrl": undefined, "type": "string", }, - Object { + { "defaultValue": undefined, "documentation": undefined, "fileName": undefined, - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": true, @@ -1552,10 +1386,10 @@ is.", ], "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/interfaces.ts#L89", }, - Object { + { "documentation": undefined, "fileName": "src/__tests__/__fixtures__/interfaces.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -1568,26 +1402,30 @@ is.", "inheritedFrom": undefined, "kind": "method", "name": "renderMarkdown", - "signatures": Array [ - Object { - "documentation": Object { - "contents": Array [ - "

Render a string of markdown to HTML, using the options from Documentalist.

+ "signatures": [ + { + "documentation": { + "contents": [ + "

Render a string of markdown to HTML, using the options from +Documentalist +.

", ], - "contentsRaw": "Render a string of markdown to HTML, using the options from \`Documentalist\`.", - "metadata": Object {}, + "contentsRaw": "Render a string of markdown to HTML, using the options from +\`Documentalist\` +.", + "metadata": {}, }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": undefined, "kind": "signature", "name": "renderMarkdown", - "parameters": Array [ - Object { + "parameters": [ + { "defaultValue": undefined, "documentation": undefined, "fileName": undefined, - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -1612,20 +1450,20 @@ is.", }, ], "name": "ICompiler", - "properties": Array [], + "properties": [], "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/interfaces.ts#L73", }, - "IconName": Object { - "documentation": Object { - "contents": Array [ + "IconName": { + "documentation": { + "contents": [ "

All icon identifiers

", ], "contentsRaw": "All icon identifiers", - "metadata": Object {}, + "metadata": {}, }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", - "flags": Object { + "flags": { "isDeprecated": undefined, "isExternal": false, "isOptional": false, @@ -1638,13 +1476,13 @@ is.", "kind": "type alias", "name": "IconName", "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/interfaces.ts#L18", - "type": "\\"add\\" | \\"remove\\" | \\"plus\\" | \\"minus\\"", + "type": ""add" | "remove" | "plus" | "minus"", }, } `; exports[`TypescriptPlugin options excludeNames 1`] = ` -Array [ +[ "active", "disabled", "elementRef", @@ -1655,10 +1493,10 @@ Array [ ] `; -exports[`TypescriptPlugin options excludePaths 1`] = `Object {}`; +exports[`TypescriptPlugin options excludePaths 1`] = `{}`; exports[`TypescriptPlugin options includePrivateMembers 1`] = ` -Array [ +[ "bark", "consumePrivate", "eat", diff --git a/packages/compiler/src/__tests__/typescript.test.ts b/packages/compiler/src/__tests__/typescript.test.ts index 7114f879..5dbaae83 100644 --- a/packages/compiler/src/__tests__/typescript.test.ts +++ b/packages/compiler/src/__tests__/typescript.test.ts @@ -62,11 +62,9 @@ async function expectSnapshot( ".ts", new TypescriptPlugin({ ...options, - // TODO(adahiya): will be used in TypeDoc v0.22+ - // entryPoints: [fixtureFilepath], + entryPoints: [fixtureFilepath], gitBranch: "develop", tsconfigPath: "src/__tests__/__fixtures__/tsconfig.json", - // verbose: true, }), ); const { typescript } = await dm.documentGlobs(fixtureFilepath); diff --git a/packages/compiler/src/plugins/typescript/typescriptPlugin.ts b/packages/compiler/src/plugins/typescript/typescriptPlugin.ts index b231a0cc..a42448c2 100644 --- a/packages/compiler/src/plugins/typescript/typescriptPlugin.ts +++ b/packages/compiler/src/plugins/typescript/typescriptPlugin.ts @@ -15,7 +15,7 @@ */ import { ICompiler, IFile, IPlugin, ITypescriptPluginData } from "@documentalist/client"; -import { Application, TSConfigReader, TypeDocOptions, TypeDocReader } from "typedoc"; +import { Application, LogLevel, TSConfigReader, TypeDocOptions, TypeDocReader } from "typedoc"; import { Visitor } from "./visitor"; export interface ITypescriptPluginOptions { @@ -85,11 +85,16 @@ export interface ITypescriptPluginOptions { } export class TypescriptPlugin implements IPlugin { - private app = new Application(); + private app: Application | undefined; + + private typedocOptions: Partial; + + /** Resolves when the project application has been initialized & bootstrapped succesfully. */ + private projectInit: Promise; public constructor(private options: ITypescriptPluginOptions = {}) { const { includeDeclarations = false, includeNodeModules = false, includePrivateMembers = false, tsconfigPath, verbose = false } = options; - const typedocOptions: Partial = { + this.typedocOptions = { entryPointStrategy: "expand", entryPoints: options.entryPoints ?? ["src/index.ts"], exclude: [ @@ -99,17 +104,20 @@ export class TypescriptPlugin implements IPlugin { excludePrivate: !includePrivateMembers, gitRevision: options.gitBranch, skipErrorChecking: true, - logger: verbose ? console.log : "none", + logLevel: verbose ? LogLevel.Verbose : LogLevel.Error, tsconfig: tsconfigPath, }; + this.projectInit = this.initializeTypedoc(); + } + + private async initializeTypedoc() { // Support reading tsconfig.json + typedoc.json - this.app.options.addReader(new TypeDocReader()); - this.app.options.addReader(new TSConfigReader()); - this.app.bootstrap(typedocOptions); + this.app = await Application.bootstrapWithPlugins(this.typedocOptions, [new TypeDocReader(), new TSConfigReader()]); + return; } - public compile(files: IFile[], compiler: ICompiler): ITypescriptPluginData { - const project = this.getTypedocProject(files.map((f) => f.path)); + public async compile(files: IFile[], compiler: ICompiler): Promise { + const project = await this.getTypedocProject(files.map((f) => f.path)); const visitor = new Visitor(compiler, this.options); if (project === undefined) { @@ -120,7 +128,13 @@ export class TypescriptPlugin implements IPlugin { return { typescript }; } - private getTypedocProject(files: string[]) { + private async getTypedocProject(files: string[]) { + await this.projectInit; + + if (this.app === undefined) { + return undefined; + } + this.app.options.setValue("entryPoints", files); return this.app.convert(); } diff --git a/packages/compiler/src/plugins/typescript/visitor.ts b/packages/compiler/src/plugins/typescript/visitor.ts index 033f58b3..aa7f2808 100644 --- a/packages/compiler/src/plugins/typescript/visitor.ts +++ b/packages/compiler/src/plugins/typescript/visitor.ts @@ -40,7 +40,7 @@ import { Reflection, ReflectionKind, SignatureReflection, - UnionType, + // UnionType, } from "typedoc"; import { ITypescriptPluginOptions } from "./typescriptPlugin"; import { resolveSignature, resolveTypeString } from "./typestring"; @@ -56,11 +56,11 @@ export class Visitor { ...this.visitChildren(project.getReflectionsByKind(ReflectionKind.Enum), this.visitEnum), ...this.visitChildren(project.getReflectionsByKind(ReflectionKind.Function), this.visitMethod), ...this.visitChildren(project.getReflectionsByKind(ReflectionKind.Interface), this.visitInterface), - ...this.visitChildren( - // detect if a `const X = { A, B, C }` also has a corresponding `type X = A | B | C` - project.getReflectionsByKind(ReflectionKind.ObjectLiteral).filter(isConstTypePair), - this.visitConstTypePair, - ), + // ...this.visitChildren( + // // detect if a `const X = { A, B, C }` also has a corresponding `type X = A | B | C` + // project.getReflectionsByKind(ReflectionKind.ObjectLiteral).filter(isConstTypePair), + // this.visitConstTypePair, + // ), ...this.visitChildren(project.getReflectionsByKind(ReflectionKind.TypeAlias), (def) => ({ ...this.makeDocEntry(def, Kind.TypeAlias), type: resolveTypeString(def.type), @@ -110,14 +110,14 @@ export class Visitor { kind: Kind.Constructor, }); - private visitConstTypePair = (def: DeclarationReflection): ITsEnum => ({ - ...this.makeDocEntry(def, Kind.Enum), - // ObjectLiteral has Variable children, but we'll expose them as enum members - members: this.visitChildren(def.getChildrenByKind(ReflectionKind.Variable), (m) => ({ - ...this.makeDocEntry(m, Kind.EnumMember), - defaultValue: resolveTypeString(m.type), - })), - }); + // private visitConstTypePair = (def: DeclarationReflection): ITsEnum => ({ + // ...this.makeDocEntry(def, Kind.Enum), + // // ObjectLiteral has Variable children, but we'll expose them as enum members + // members: this.visitChildren(def.getChildrenByKind(ReflectionKind.Variable), (m) => ({ + // ...this.makeDocEntry(m, Kind.EnumMember), + // defaultValue: resolveTypeString(m.type), + // })), + // }); private visitEnum = (def: DeclarationReflection): ITsEnum => ({ ...this.makeDocEntry(def, Kind.Enum), @@ -226,15 +226,29 @@ function getDefaultValue(ref: ParameterReflection | DeclarationReflection): stri return ref.defaultValue ?? getCommentTagValue(ref.comment, "default"); } -function getSourceFileName({ sources = [] }: Reflection): string | undefined { - const { fullFileName } = sources[0]; - // fullFileName relative to cwd, so it can be saved in a snapshot (machine-independent) - return fullFileName && relative(process.cwd(), fullFileName); +function getSourceFileName(reflection: Reflection): string | undefined { + if (reflection.isDeclaration() || isSignatureReflection(reflection)) { + if (reflection.sources !== undefined) { + const { fullFileName } = reflection.sources[0]; + // fullFileName relative to cwd, so it can be saved in a snapshot (machine-independent) + return fullFileName && relative(process.cwd(), fullFileName); + } + } + return undefined; } -function getSourceUrl({ sources = [] }: Reflection): string | undefined { - const source = sources[0]; - return source && source.url; +function isSignatureReflection(reflection: Reflection): reflection is SignatureReflection { + return reflection.variant === "signature"; +} + +function getSourceUrl(reflection: Reflection): string | undefined { + if (reflection.isDeclaration() || isSignatureReflection(reflection)) { + if (reflection.sources !== undefined) { + const source = reflection.sources[0]; + return source && source.url; + } + } + return undefined; } function getFlags(ref: Reflection): ITsFlags | undefined { @@ -261,9 +275,9 @@ function getIsDeprecated(ref: Reflection) { return deprecatedModifier || deprecatedTagValue; } -function isConstTypePair(def: DeclarationReflection) { - return def.kind === ReflectionKind.ObjectLiteral && def.type instanceof UnionType; -} +// function isConstTypePair(def: DeclarationReflection) { +// return def.kind === ReflectionKind.ObjectLiteral && def.type instanceof UnionType; +// } /** Returns true if value does not match all patterns. */ function isNotExcluded(patterns: Array, value?: string) { From 54ea82de980a0c88f2e679f669025c482c4140f6 Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Thu, 19 Oct 2023 12:57:17 -0400 Subject: [PATCH 06/29] update --project path --- packages/docs/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/docs/package.json b/packages/docs/package.json index 3d61ffba..8a5e7508 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -6,7 +6,7 @@ "scripts": { "build": "npm-run-all -p build:json build:ts build:version -s build:pug build:css", "build:json": "documentalist '../{client,compiler,docs}/src/**/*' > docs.json", - "build:ts": "tsc --project ./src", + "build:ts": "tsc --project ./src/tsconfig.json", "build:version": "echo v$npm_package_version > theme/version.txt", "build:pug": "pug -O docs.json ./theme/index.pug --pretty -o ./dist", "build:css": "cp src/*.css dist/", From c19246e3a4a88bd4b231649a49e95985277e9400 Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Thu, 19 Oct 2023 13:03:01 -0400 Subject: [PATCH 07/29] fix lint --- .../src/plugins/typescript/typescriptPlugin.ts | 15 ++++++++++++--- .../compiler/src/plugins/typescript/visitor.ts | 8 ++++---- tslint.json | 3 +++ 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/packages/compiler/src/plugins/typescript/typescriptPlugin.ts b/packages/compiler/src/plugins/typescript/typescriptPlugin.ts index a42448c2..6c660e18 100644 --- a/packages/compiler/src/plugins/typescript/typescriptPlugin.ts +++ b/packages/compiler/src/plugins/typescript/typescriptPlugin.ts @@ -93,7 +93,13 @@ export class TypescriptPlugin implements IPlugin { private projectInit: Promise; public constructor(private options: ITypescriptPluginOptions = {}) { - const { includeDeclarations = false, includeNodeModules = false, includePrivateMembers = false, tsconfigPath, verbose = false } = options; + const { + includeDeclarations = false, + includeNodeModules = false, + includePrivateMembers = false, + tsconfigPath, + verbose = false, + } = options; this.typedocOptions = { entryPointStrategy: "expand", entryPoints: options.entryPoints ?? ["src/index.ts"], @@ -103,8 +109,8 @@ export class TypescriptPlugin implements IPlugin { ].filter(Boolean) as string[], excludePrivate: !includePrivateMembers, gitRevision: options.gitBranch, - skipErrorChecking: true, logLevel: verbose ? LogLevel.Verbose : LogLevel.Error, + skipErrorChecking: true, tsconfig: tsconfigPath, }; this.projectInit = this.initializeTypedoc(); @@ -112,7 +118,10 @@ export class TypescriptPlugin implements IPlugin { private async initializeTypedoc() { // Support reading tsconfig.json + typedoc.json - this.app = await Application.bootstrapWithPlugins(this.typedocOptions, [new TypeDocReader(), new TSConfigReader()]); + this.app = await Application.bootstrapWithPlugins(this.typedocOptions, [ + new TypeDocReader(), + new TSConfigReader(), + ]); return; } diff --git a/packages/compiler/src/plugins/typescript/visitor.ts b/packages/compiler/src/plugins/typescript/visitor.ts index aa7f2808..68e7038d 100644 --- a/packages/compiler/src/plugins/typescript/visitor.ts +++ b/packages/compiler/src/plugins/typescript/visitor.ts @@ -205,12 +205,12 @@ export class Visitor { } let documentation = ""; - documentation += comment.summary.map(part => part.text).join("\n"); + documentation += comment.summary.map((part) => part.text).join("\n"); - const blockTags = comment.blockTags.filter(tag => tag.tag !== "@default" && tag.tag !== "@deprecated"); + const blockTags = comment.blockTags.filter((tag) => tag.tag !== "@default" && tag.tag !== "@deprecated"); if (blockTags.length > 0) { documentation += "\n\n"; - documentation += blockTags.map(tag => `${tag.tag} ${tag.content}`).join("\n"); + documentation += blockTags.map((tag) => `${tag.tag} ${tag.content}`).join("\n"); } return this.compiler.renderBlock(documentation); @@ -219,7 +219,7 @@ export class Visitor { function getCommentTagValue(comment: Comment | undefined, tagName: string) { const maybeTag = comment?.getTag(`@${tagName}`); - return maybeTag?.content.map(part => part.text.trim()).join("\n"); + return maybeTag?.content.map((part) => part.text.trim()).join("\n"); } function getDefaultValue(ref: ParameterReflection | DeclarationReflection): string | undefined { diff --git a/tslint.json b/tslint.json index 436a2352..3dd92b0c 100644 --- a/tslint.json +++ b/tslint.json @@ -11,6 +11,8 @@ "Copyright 2022 Palantir Technologies, Inc. All rights reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." ] }, + "no-invalid-this": false, + "no-shadowed-variable": false, "no-submodule-imports": { "options": ["typedoc/dist/lib/models"] }, @@ -22,6 +24,7 @@ } }, "space-within-parens": false, + "unnecessary-bind": false, "whitespace": false }, "jsRules": { From a8c6b0a80254f5a42a8194bb0cb1d104f5592c94 Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Thu, 19 Oct 2023 13:06:30 -0400 Subject: [PATCH 08/29] Upgrade to Node v18 --- .circleci/config.yml | 2 +- .nvmrc | 2 +- packages/client/package.json | 2 +- packages/compiler/package.json | 4 +- packages/docs/package.json | 2 +- yarn.lock | 223 ++++----------------------------- 6 files changed, 31 insertions(+), 204 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1a67c8a4..2ad60289 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ version: 2.1 references: setup_env: &setup_env docker: - - image: cimg/node:16.14 + - image: cimg/node:18.18 save_cache: &save_cache key: v2-dependency-cache-{{ checksum "yarn.lock" }} paths: diff --git a/.nvmrc b/.nvmrc index 89eb257e..bdae6e9f 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v16.14 +v18.18 diff --git a/packages/client/package.json b/packages/client/package.json index 3e893192..43c8d891 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -15,7 +15,7 @@ "typescript": "~5.2.2" }, "engines": { - "node": ">=16" + "node": ">=18" }, "repository": { "type": "git", diff --git a/packages/compiler/package.json b/packages/compiler/package.json index 02d5d083..3cfe2202 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -32,7 +32,7 @@ "@types/jest": "^27.4.1", "@types/js-yaml": "^4.0.5", "@types/marked": "^4.0.8", - "@types/node": "^16.18.59", + "@types/node": "^18.18.6", "@types/yargs": "^17.0.24", "jest": "^29.1.2", "jest-junit": "^14.0.1", @@ -43,7 +43,7 @@ "typescript": "~5.2.2" }, "engines": { - "node": ">=16" + "node": ">=18" }, "repository": { "type": "git", diff --git a/packages/docs/package.json b/packages/docs/package.json index 8a5e7508..b021b6fb 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -23,7 +23,7 @@ "typescript": "~5.2.2" }, "engines": { - "node": ">=16" + "node": ">=18" }, "repository": { "type": "git", diff --git a/yarn.lock b/yarn.lock index 87698901..91e69154 100644 --- a/yarn.lock +++ b/yarn.lock @@ -473,14 +473,7 @@ terminal-link "^2.0.0" v8-to-istanbul "^9.0.1" -"@jest/schemas@^29.0.0": - version "29.0.0" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.0.0.tgz#5f47f5994dd4ef067fb7b4188ceac45f77fe952a" - integrity sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA== - dependencies: - "@sinclair/typebox" "^0.24.1" - -"@jest/schemas@^29.4.3": +"@jest/schemas@^29.0.0", "@jest/schemas@^29.4.3": version "29.4.3" resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.4.3.tgz#39cf1b8469afc40b6f5a2baaa146e332c4151788" integrity sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg== @@ -581,15 +574,7 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/trace-mapping@^0.3.0": - version "0.3.4" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3" - integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.9": +"@jridgewell/trace-mapping@^0.3.0", "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.9": version "0.3.15" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== @@ -884,7 +869,7 @@ dependencies: postcss-selector-parser "^6.0.10" -"@npmcli/run-script@4.1.7": +"@npmcli/run-script@4.1.7", "@npmcli/run-script@^4.1.0": version "4.1.7" resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.1.7.tgz#b1a2f57568eb738e45e9ea3123fb054b400a86f7" integrity sha512-WXr/MyM4tpKA4BotB81NccGAv8B48lNH0gRoILucbcAhTQXLCoi6HflMV3KdXubIqvP9SuLsFn68Z7r4jl+ppw== @@ -895,17 +880,6 @@ read-package-json-fast "^2.0.3" which "^2.0.2" -"@npmcli/run-script@^4.1.0": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.2.1.tgz#c07c5c71bc1c70a5f2a06b0d4da976641609b946" - integrity sha512-7dqywvVudPSrRCW5nTHpHgeWnbBtz8cFkOuKrecm6ih+oO9ciydhWt6OF7HlqupRRmB8Q/gECVdB9LMfToJbRg== - dependencies: - "@npmcli/node-gyp" "^2.0.0" - "@npmcli/promise-spawn" "^3.0.0" - node-gyp "^9.0.0" - read-package-json-fast "^2.0.3" - which "^2.0.2" - "@npmcli/run-script@^6.0.0": version "6.0.0" resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-6.0.0.tgz#f89e322c729e26ae29db6cc8cc76559074aac208" @@ -1103,14 +1077,7 @@ dependencies: "@octokit/openapi-types" "^12.11.0" -"@octokit/types@^8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-8.0.0.tgz#93f0b865786c4153f0f6924da067fe0bb7426a9f" - integrity sha512-65/TPpOJP1i3K4lBJMnWqPUJ6zuOtzhtagDvydAWbEXpbFYA0oMKKyLb95NFZZP0lSh/4b6K+DQlzvYQJQQePg== - dependencies: - "@octokit/openapi-types" "^14.0.0" - -"@octokit/types@^8.1.1": +"@octokit/types@^8.0.0", "@octokit/types@^8.1.1": version "8.2.1" resolved "https://registry.yarnpkg.com/@octokit/types/-/types-8.2.1.tgz#a6de091ae68b5541f8d4fcf9a12e32836d4648aa" integrity sha512-8oWMUji8be66q2B9PmEIUyQm00VPDPun07umUWSaCwxmeaquFBro4Hcc3ruVoDo3zkQyZBlRvhIMEYS3pBhanw== @@ -1144,11 +1111,6 @@ resolved "https://registry.yarnpkg.com/@sigstore/protobuf-specs/-/protobuf-specs-0.1.0.tgz#957cb64ea2f5ce527cc9cf02a096baeb0d2b99b4" integrity sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ== -"@sinclair/typebox@^0.24.1": - version "0.24.44" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.44.tgz#0a0aa3bf4a155a678418527342a3ee84bd8caa5c" - integrity sha512-ka0W0KN5i6LfrSocduwliMMpqVgohtPFidKdMEOUjoOFCHcOOYkKsPRxfs5f15oPNHTm6ERAm0GV/+/LTKeiWg== - "@sinclair/typebox@^0.25.16": version "0.25.24" resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.24.tgz#8c7688559979f7079aacaf31aa881c3aa410b718" @@ -1302,12 +1264,7 @@ resolved "https://registry.yarnpkg.com/@types/marked/-/marked-4.0.8.tgz#b316887ab3499d0a8f4c70b7bd8508f92d477955" integrity sha512-HVNzMT5QlWCOdeuBsgXP8EZzKUf0+AXzN+sLmjvaB3ZlLqO+e4u0uXrdw9ub69wBKFs+c6/pA4r9sy6cCDvImw== -"@types/minimatch@*": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" - integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== - -"@types/minimatch@^3.0.3": +"@types/minimatch@*", "@types/minimatch@^3.0.3": version "3.0.5" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== @@ -1317,15 +1274,10 @@ resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== -"@types/node@*": - version "16.11.26" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.26.tgz#63d204d136c9916fb4dcd1b50f9740fe86884e47" - integrity sha512-GZ7bu5A6+4DtG7q9GsoHXy3ALcgeIHP4NnL0Vv2wu0uUB/yQex26v0tf6/na1mm0+bS9Uw+0DFex7aaKr2qawQ== - -"@types/node@^16.18.59": - version "16.18.59" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.59.tgz#4cdbd631be6d9be266a96fb17b5d0d7ad6bbe26c" - integrity sha512-PJ1w2cNeKUEdey4LiPra0ZuxZFOGvetswE8qHRriV/sUkL5Al4tTmPV9D2+Y/TPIxTHHgxTfRjZVKWhPw/ORhQ== +"@types/node@*", "@types/node@^18.18.6": + version "18.18.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.18.6.tgz#26da694f75cdb057750f49d099da5e3f3824cb3e" + integrity sha512-wf3Vz+jCmOQ2HV1YUJuCWdL64adYxumkrxtc+H1VUQlnQI04+5HtH+qZCOE21lBE7gIrt+CwX2Wv8Acrw5Ak6w== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -1352,20 +1304,13 @@ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.0.0.tgz#453743c5bbf9f1bed61d959baab5b06be029b2d0" integrity sha512-wBlsw+8n21e6eTd4yVv8YD/E3xq0O6nNnJIquutAsFGE7EyMKz7W6RNT6BRu1SmdgmlCZ9tb0X+j+D6HGr8pZw== -"@types/yargs@^17.0.24": +"@types/yargs@^17.0.24", "@types/yargs@^17.0.8": version "17.0.24" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.24.tgz#b3ef8d50ad4aa6aecf6ddc97c580a00f5aa11902" integrity sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw== dependencies: "@types/yargs-parser" "*" -"@types/yargs@^17.0.8": - version "17.0.13" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.13.tgz#34cced675ca1b1d51fcf4d34c3c6f0fa142a5c76" - integrity sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg== - dependencies: - "@types/yargs-parser" "*" - "@yarnpkg/lockfile@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" @@ -2037,16 +1982,11 @@ cli-cursor@3.1.0, cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" -cli-spinners@2.6.1: +cli-spinners@2.6.1, cli-spinners@^2.5.0: version "2.6.1" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== -cli-spinners@^2.5.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.7.0.tgz#f815fd30b5f9eaac02db604c7a231ed7cb2f797a" - integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== - cli-width@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" @@ -2685,7 +2625,7 @@ events@^3.3.0: resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -execa@5.0.0: +execa@5.0.0, execa@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376" integrity sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== @@ -2700,21 +2640,6 @@ execa@5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" @@ -3002,16 +2927,11 @@ get-port@5.1.1: resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== -get-stream@6.0.0: +get-stream@6.0.0, get-stream@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.0.tgz#3e0012cb6827319da2706e601a1583e8629a6718" integrity sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg== -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - gh-pages@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/gh-pages/-/gh-pages-5.0.0.tgz#e0893272a0e33f0453e53a3c017c33b91ddd6394" @@ -3154,16 +3074,11 @@ globby@^6.1.0: pify "^2.0.0" pinkie-promise "^2.0.0" -graceful-fs@4.2.10: +graceful-fs@4.2.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - handlebars@^4.7.6, handlebars@^4.7.7: version "4.7.7" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" @@ -3440,14 +3355,7 @@ is-ci@2.0.0: dependencies: ci-info "^2.0.0" -is-core-module@^2.5.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" - integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== - dependencies: - has "^1.0.3" - -is-core-module@^2.8.1, is-core-module@^2.9.0: +is-core-module@^2.5.0, is-core-module@^2.8.1, is-core-module@^2.9.0: version "2.10.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== @@ -4114,12 +4022,7 @@ json-stringify-safe@^5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= -json5@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" - integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== - -json5@^2.2.2, json5@^2.2.3: +json5@^2.2.1, json5@^2.2.2, json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== @@ -4520,12 +4423,7 @@ markdown-it@^12.0.2: mdurl "^1.0.1" uc.micro "^1.0.5" -marked@^4.0.12: - version "4.1.1" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.1.1.tgz#2f709a4462abf65a283f2453dc1c42ab177d302e" - integrity sha512-0cNMnTcUJPxbA6uWmCmjWz4NJRe/0Xfk2NhXCUHjew9qJzFN20krFnsUe7QynwqOwa5m1fZ4UDg0ycKFVC0ccw== - -marked@^4.3.0: +marked@^4.0.12, marked@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3" integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A== @@ -4597,20 +4495,13 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -minimatch@3.0.5, minimatch@3.0.x: +minimatch@3.0.5, minimatch@3.0.x, minimatch@^3.0.4: version "3.0.5" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3" integrity sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw== dependencies: brace-expansion "^1.1.7" -minimatch@^3.0.4: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - minimatch@^5.0.1: version "5.1.0" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" @@ -4718,14 +4609,7 @@ minipass-sized@^1.0.3: dependencies: minipass "^3.0.0" -minipass@^3.0.0, minipass@^3.1.1: - version "3.1.6" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.6.tgz#3b8150aa688a711a1521af5e8779c1d3bb4f45ee" - integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== - dependencies: - yallist "^4.0.0" - -minipass@^3.1.6: +minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6: version "3.3.4" resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz#ca99f95dd77c43c7a76bf51e6d200025eee0ffae" integrity sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw== @@ -4926,13 +4810,6 @@ npm-bundled@^1.1.1, npm-bundled@^1.1.2: dependencies: npm-normalize-package-bin "^1.0.1" -npm-bundled@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-2.0.1.tgz#94113f7eb342cd7a67de1e789f896b04d2c600f4" - integrity sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw== - dependencies: - npm-normalize-package-bin "^2.0.0" - npm-bundled@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-3.0.0.tgz#7e8e2f8bb26b794265028491be60321a25a39db7" @@ -4998,7 +4875,7 @@ npm-package-arg@^9.0.0, npm-package-arg@^9.0.1: semver "^7.3.5" validate-npm-package-name "^4.0.0" -npm-packlist@5.1.1: +npm-packlist@5.1.1, npm-packlist@^5.1.0: version "5.1.1" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.1.tgz#79bcaf22a26b6c30aa4dd66b976d69cc286800e0" integrity sha512-UfpSvQ5YKwctmodvPPkK6Fwk603aoVsf8AEbmVKAEECrfvL8SSe1A2YIwrJ6xmTHAITKPwwZsWo7WwEbNk0kxw== @@ -5008,16 +4885,6 @@ npm-packlist@5.1.1: npm-bundled "^1.1.2" npm-normalize-package-bin "^1.0.1" -npm-packlist@^5.1.0: - version "5.1.3" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.3.tgz#69d253e6fd664b9058b85005905012e00e69274b" - integrity sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg== - dependencies: - glob "^8.0.1" - ignore-walk "^5.0.1" - npm-bundled "^2.0.0" - npm-normalize-package-bin "^2.0.0" - npm-packlist@^7.0.0: version "7.0.4" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-7.0.4.tgz#033bf74110eb74daf2910dc75144411999c5ff32" @@ -5548,7 +5415,7 @@ prettier@^2.8.4: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== -pretty-format@29.4.3: +pretty-format@29.4.3, pretty-format@^29.1.2: version "29.4.3" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.4.3.tgz#25500ada21a53c9e8423205cf0337056b201244c" integrity sha512-cvpcHTc42lcsvOOAzd3XuNWTcvk1Jmnzqeu+WsOuiPmxUJTnkbAcFNsRKvEpBEUFVUgy/GTZLulZDcDEi+CIlA== @@ -5566,15 +5433,6 @@ pretty-format@^27.0.0, pretty-format@^27.5.1: ansi-styles "^5.0.0" react-is "^17.0.1" -pretty-format@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.1.2.tgz#b1f6b75be7d699be1a051f5da36e8ae9e76a8e6a" - integrity sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg== - dependencies: - "@jest/schemas" "^29.0.0" - ansi-styles "^5.0.0" - react-is "^18.0.0" - proc-log@^2.0.0, proc-log@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-2.0.1.tgz#8f3f69a1f608de27878f91f5c688b225391cb685" @@ -5821,7 +5679,7 @@ read-package-json-fast@^3.0.0, read-package-json-fast@^3.0.2: json-parse-even-better-errors "^3.0.0" npm-normalize-package-bin "^3.0.0" -read-package-json@5.0.1: +read-package-json@5.0.1, read-package-json@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.1.tgz#1ed685d95ce258954596b13e2e0e76c7d0ab4c26" integrity sha512-MALHuNgYWdGW3gKzuNMuYtcSSZbGQm94fAp16xt8VsYTLBjUSc55bLMKe6gzpWue0Tfi6CBgwCSdDAqutGDhMg== @@ -5831,16 +5689,6 @@ read-package-json@5.0.1: normalize-package-data "^4.0.0" npm-normalize-package-bin "^1.0.1" -read-package-json@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.2.tgz#b8779ccfd169f523b67208a89cc912e3f663f3fa" - integrity sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q== - dependencies: - glob "^8.0.1" - json-parse-even-better-errors "^2.3.1" - normalize-package-data "^4.0.0" - npm-normalize-package-bin "^2.0.0" - read-package-json@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-6.0.1.tgz#566cb06bc05dbddefba4607e9096d5a9efbcd836" @@ -7007,7 +6855,7 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@4.0.1: +write-file-atomic@4.0.1, write-file-atomic@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f" integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ== @@ -7024,14 +6872,6 @@ write-file-atomic@^2.4.2: imurmurhash "^0.1.4" signal-exit "^3.0.2" -write-file-atomic@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - write-file-atomic@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.0.tgz#54303f117e109bf3d540261125c8ea5a7320fab0" @@ -7091,7 +6931,7 @@ yargs-parser@20.2.4, yargs-parser@^20.2.2, yargs-parser@^20.2.3: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== -yargs-parser@21.1.1, yargs-parser@^21.0.0, yargs-parser@^21.0.1, yargs-parser@^21.1.1: +yargs-parser@21.1.1, yargs-parser@^21.0.1, yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== @@ -7109,20 +6949,7 @@ yargs@16.2.0, yargs@^16.1.1, yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^17.3.1, yargs@^17.4.0: - version "17.6.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.0.tgz#e134900fc1f218bc230192bdec06a0a5f973e46c" - integrity sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.0.0" - -yargs@^17.6.2: +yargs@^17.3.1, yargs@^17.4.0, yargs@^17.6.2: version "17.7.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.1.tgz#34a77645201d1a8fc5213ace787c220eabbd0967" integrity sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw== From 4f87f0f6ce5ebbefe27cbf1034558b6e3b2463e7 Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Thu, 19 Oct 2023 13:10:04 -0400 Subject: [PATCH 09/29] update snapshot for node upgrade --- .../src/__tests__/__snapshots__/typescript.test.ts.snap | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap b/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap index 896302a0..e2adadda 100644 --- a/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap +++ b/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap @@ -819,7 +819,7 @@ exports[`TypescriptPlugin interfaces snapshot 1`] = ` "kind": "property", "name": "onClick", "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/interfaces.ts#L28", - "type": "(event: MouseEvent) => void", + "type": "(event: MouseEvent<>) => void", }, { "defaultValue": undefined, @@ -987,7 +987,7 @@ This is equivalent to setting "kind": "property", "name": "elementRef", "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/interfaces.ts#L43", - "type": "(ref: HTMLElement) => any", + "type": "(ref: HTMLElement<>) => any", }, { "defaultValue": undefined, @@ -1073,7 +1073,7 @@ The width of the button is not affected by the value of this prop.", "kind": "property", "name": "onClick", "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/interfaces.ts#L28", - "type": "(event: MouseEvent) => void", + "type": "(event: MouseEvent<>) => void", }, { "defaultValue": undefined, From 8d83c5a7b3bb6aae01a0e7156b9347664170a61b Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Thu, 19 Oct 2023 13:14:05 -0400 Subject: [PATCH 10/29] Update deploy-preview script --- .circleci/config.yml | 7 +- package.json | 1 + .../submit-comment-with-artifact-links.mjs | 84 ++++ scripts/submit-preview-comment.sh | 32 ++ yarn.lock | 381 +++++++++++++++++- 5 files changed, 495 insertions(+), 10 deletions(-) create mode 100644 scripts/submit-comment-with-artifact-links.mjs create mode 100644 scripts/submit-preview-comment.sh diff --git a/.circleci/config.yml b/.circleci/config.yml index 2ad60289..2f124aae 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -76,12 +76,7 @@ jobs: - restore_cache: *restore_cache - attach_workspace: { at: "." } - store_artifacts: { path: packages/docs/dist } - - run: - name: Submit Github comment with links to built artifacts - command: | - artifacts=$(curl -X GET "https://circleci.com/api/v2/project/github/palantir/documentalist/$CIRCLE_BUILD_NUM/artifacts" -H "Accept: application/json" -u "$CIRCLE_AUTH_TOKEN:") - echo $artifacts > ./scripts/artifacts.json - node ./scripts/circle-build-preview.js + - run: ./scripts/submit-preview-comment.sh deploy-npm: <<: *setup_env diff --git a/package.json b/package.json index c4baa668..ff9cc534 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "gh-pages": "^5.0.0", "lerna": "^6.6.1", "npm-run-all": "^4.1.5", + "octokit": "^3.1.1", "prettier": "^2.8.4", "tslint-plugin-prettier": "^2.3.0", "yarn-deduplicate": "^6.0.1" diff --git a/scripts/submit-comment-with-artifact-links.mjs b/scripts/submit-comment-with-artifact-links.mjs new file mode 100644 index 00000000..f3c2280f --- /dev/null +++ b/scripts/submit-comment-with-artifact-links.mjs @@ -0,0 +1,84 @@ +#!/usr/bin/env node +/* + * Copyright 2017 Palantir Technologies, Inc. All rights reserved. + */ + +// @ts-check +/* eslint-disable camelcase */ + +// Submits a comment to the change PR or commit with links to artifacts that +// show the results of the code change being applied. + +import dedent from "dedent"; +import { execSync } from "node:child_process"; +import { basename } from "node:path"; +import { Octokit } from "octokit"; + +/** + * @type {Array<{path: string; url: string;}>} + */ +const { default: artifacts } = await import("./artifacts.json", { assert: { type: "json" }}); + +if (artifacts.items === undefined) { + throw new Error( + "Unable to read artifacts.json, please make sure the CircleCI API call succeeded with the necessary personal access token.", + ); +} + +const ARTIFACTS = { + documentation: "packages/docs-app/dist/index.html", + landing: "packages/landing-app/dist/index.html", + table: "packages/table-dev-app/dist/index.html", + demo: "packages/demo-app/dist/index.html", +}; + +function getArtifactAnchorLink(pkg) { + const artifactInfo = artifacts.items.find(a => a.path === ARTIFACTS[pkg]); + return `${pkg}`; +} + +if (process.env.GITHUB_API_TOKEN) { + // We can post a comment on the PR if we have the necessary Github.com personal access token with access to this + // repository and PR read/write permissions. + // See https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#creating-a-fine-grained-personal-access-token + const octokit = new Octokit({ auth: process.env.GITHUB_API_TOKEN }); + + const artifactLinks = Object.keys(ARTIFACTS).map(getArtifactAnchorLink).join(" | "); + const currentGitCommitMessage = execSync('git --no-pager log --pretty=format:"%s" -1') + .toString() + .trim() + .replace(/\\"/g, '\\\\"'); + const commentBody = dedent` +

${currentGitCommitMessage}

+ Build artifact links for this commit: ${artifactLinks} + + This is an automated comment from the deploy-preview CircleCI job. + `; + + const repoParams = { + owner: "palantir", + repo: "blueprint", + }; + + if (process.env.CIRCLE_PULL_REQUEST) { + // attempt to comment on the PR as an "issue comment" (not a review comment) + await octokit.rest.issues.createComment({ + ...repoParams, + issue_number: parseInt(basename(process.env.CIRCLE_PULL_REQUEST ?? ""), 10), + body: commentBody, + }); + } else if (process.env.CIRCLE_SHA1) { + // attempt to comment on the commit if there is no associated PR (this is most useful on the develop branch) + await octokit.rest.repos.createCommitComment({ + ...repoParams, + commit_sha: process.env.CIRCLE_SHA1, + body: commentBody, + }); + } +} else { + // If the access token is missing, simply log artifact URLs (typical in builds on repository forks). + console.warn( + "No Github API token available, so we cannot post a preview comment on this build's PR. This is expected on forks which have enabled CircleCI building.", + ); + Object.keys(ARTIFACTS).forEach(pkg => console.info(`${ARTIFACTS[pkg]}: ${getArtifactAnchorLink(pkg)}`)); +} diff --git a/scripts/submit-preview-comment.sh b/scripts/submit-preview-comment.sh new file mode 100644 index 00000000..96d81f38 --- /dev/null +++ b/scripts/submit-preview-comment.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +# This script submits a Github comment on the current PR with links to built artifacts hosted in CircleCI. +# +# To do this, it first queries the CircleCI API using a personal access token which is stored as an env variable. +# Currently, this is a token generated by @adidahiya. +# See https://support.circleci.com/hc/en-us/articles/360045457592-Access-uploaded-artifact-URL-in-job +# See https://circleci.com/docs/managing-api-tokens/#creating-a-personal-api-token +# +# After querying for artifact information, it delegates to an adjacent Node.js script to parse the links +# and post a Github comment. + +set -e +set -o pipefail + +if [ -z "${CIRCLE_BUILD_NUM}" ]; then + echo "Not on CircleCI, refusing to run script." + exit 1 +fi + +if [ -z "${CIRCLE_API_TOKEN}" ]; then + echo "No CircleCI API token available to query for artifact asset URLs from this build." + echo " --> If this is a build on a fork of the main repo, this is expected behavior. You can view artifact URLs through the CircleCI job web UI." + echo " --> If this is a build on the main repo, something is wrong: check the \$CIRCLE_API_TOKEN environment variable." + exit 0 +fi + +SCRIPTS_DIR=$(dirname "$(readlink -f "$0")") +artifacts=$(curl -X GET "https://circleci.com/api/v2/project/github/palantir/documentalist/$CIRCLE_BUILD_NUM/artifacts" -H "Accept: application/json" -u "$CIRCLE_API_TOKEN:") + +echo $artifacts > ./scripts/artifacts.json +node $SCRIPTS_DIR/submit-comment-with-artifact-links.mjs diff --git a/yarn.lock b/yarn.lock index 91e69154..28b30bdb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -961,6 +961,69 @@ dependencies: nx "15.7.2" +"@octokit/app@^14.0.0": + version "14.0.1" + resolved "https://registry.yarnpkg.com/@octokit/app/-/app-14.0.1.tgz#86e4501bc2cf8335a4767079dda41273975cdd88" + integrity sha512-4opdXcWBVhzd6FOxlaxDKXXqi9Vz2hsDSWQGNo49HbYFAX11UqMpksMjEdfvHy0x19Pse8Nvn+R6inNb/V398w== + dependencies: + "@octokit/auth-app" "^6.0.0" + "@octokit/auth-unauthenticated" "^5.0.0" + "@octokit/core" "^5.0.0" + "@octokit/oauth-app" "^6.0.0" + "@octokit/plugin-paginate-rest" "^9.0.0" + "@octokit/types" "^12.0.0" + "@octokit/webhooks" "^12.0.1" + +"@octokit/auth-app@^6.0.0": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@octokit/auth-app/-/auth-app-6.0.1.tgz#7137b1af124189a979de6053da5d4c8cdb1fa4e9" + integrity sha512-tjCD4nzQNZgmLH62+PSnTF6eGerisFgV4v6euhqJik6yWV96e1ZiiGj+NXIqbgnpjLmtnBqVUrNyGKu3DoGEGA== + dependencies: + "@octokit/auth-oauth-app" "^7.0.0" + "@octokit/auth-oauth-user" "^4.0.0" + "@octokit/request" "^8.0.2" + "@octokit/request-error" "^5.0.0" + "@octokit/types" "^12.0.0" + deprecation "^2.3.1" + lru-cache "^10.0.0" + universal-github-app-jwt "^1.1.1" + universal-user-agent "^6.0.0" + +"@octokit/auth-oauth-app@^7.0.0": + version "7.0.1" + resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-app/-/auth-oauth-app-7.0.1.tgz#30fd8fcb4608ca52c29c265a3fc7032897796c8e" + integrity sha512-RE0KK0DCjCHXHlQBoubwlLijXEKfhMhKm9gO56xYvFmP1QTMb+vvwRPmQLLx0V+5AvV9N9I3lr1WyTzwL3rMDg== + dependencies: + "@octokit/auth-oauth-device" "^6.0.0" + "@octokit/auth-oauth-user" "^4.0.0" + "@octokit/request" "^8.0.2" + "@octokit/types" "^12.0.0" + "@types/btoa-lite" "^1.0.0" + btoa-lite "^1.0.0" + universal-user-agent "^6.0.0" + +"@octokit/auth-oauth-device@^6.0.0": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-device/-/auth-oauth-device-6.0.1.tgz#38e5f7f8997c5e8b774f283463ecf4a7e42d7cee" + integrity sha512-yxU0rkL65QkjbqQedgVx3gmW7YM5fF+r5uaSj9tM/cQGVqloXcqP2xK90eTyYvl29arFVCW8Vz4H/t47mL0ELw== + dependencies: + "@octokit/oauth-methods" "^4.0.0" + "@octokit/request" "^8.0.0" + "@octokit/types" "^12.0.0" + universal-user-agent "^6.0.0" + +"@octokit/auth-oauth-user@^4.0.0": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-user/-/auth-oauth-user-4.0.1.tgz#c8267883935c83f78318c726ff91d7e98de05517" + integrity sha512-N94wWW09d0hleCnrO5wt5MxekatqEJ4zf+1vSe8MKMrhZ7gAXKFOKrDEZW2INltvBWJCyDUELgGRv8gfErH1Iw== + dependencies: + "@octokit/auth-oauth-device" "^6.0.0" + "@octokit/oauth-methods" "^4.0.0" + "@octokit/request" "^8.0.2" + "@octokit/types" "^12.0.0" + btoa-lite "^1.0.0" + universal-user-agent "^6.0.0" + "@octokit/auth-token@^3.0.0": version "3.0.2" resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-3.0.2.tgz#a0fc8de149fd15876e1ac78f6525c1c5ab48435f" @@ -968,6 +1031,19 @@ dependencies: "@octokit/types" "^8.0.0" +"@octokit/auth-token@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-4.0.0.tgz#40d203ea827b9f17f42a29c6afb93b7745ef80c7" + integrity sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA== + +"@octokit/auth-unauthenticated@^5.0.0": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@octokit/auth-unauthenticated/-/auth-unauthenticated-5.0.1.tgz#d8032211728333068b2e07b53997c29e59a03507" + integrity sha512-oxeWzmBFxWd+XolxKTc4zr+h3mt+yofn4r7OfoIkR/Cj/o70eEGmPsFbueyJE2iBAGpjgTnEOKM3pnuEGVmiqg== + dependencies: + "@octokit/request-error" "^5.0.0" + "@octokit/types" "^12.0.0" + "@octokit/core@^4.0.0": version "4.2.0" resolved "https://registry.yarnpkg.com/@octokit/core/-/core-4.2.0.tgz#8c253ba9605aca605bc46187c34fcccae6a96648" @@ -981,6 +1057,19 @@ before-after-hook "^2.2.0" universal-user-agent "^6.0.0" +"@octokit/core@^5.0.0": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-5.0.1.tgz#865da2b30d54354cccb6e30861ddfa0e24494780" + integrity sha512-lyeeeZyESFo+ffI801SaBKmCfsvarO+dgV8/0gD8u1d87clbEdWsP5yC+dSj3zLhb2eIf5SJrn6vDz9AheETHw== + dependencies: + "@octokit/auth-token" "^4.0.0" + "@octokit/graphql" "^7.0.0" + "@octokit/request" "^8.0.2" + "@octokit/request-error" "^5.0.0" + "@octokit/types" "^12.0.0" + before-after-hook "^2.2.0" + universal-user-agent "^6.0.0" + "@octokit/endpoint@^7.0.0": version "7.0.3" resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-7.0.3.tgz#0b96035673a9e3bedf8bab8f7335de424a2147ed" @@ -990,6 +1079,15 @@ is-plain-object "^5.0.0" universal-user-agent "^6.0.0" +"@octokit/endpoint@^9.0.0": + version "9.0.1" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-9.0.1.tgz#c3f69d27accddcb04a3199fcef541804288149d2" + integrity sha512-hRlOKAovtINHQPYHZlfyFwaM8OyetxeoC81lAkBy34uLb8exrZB50SQdeW3EROqiY9G9yxQTpp5OHTV54QD+vA== + dependencies: + "@octokit/types" "^12.0.0" + is-plain-object "^5.0.0" + universal-user-agent "^6.0.0" + "@octokit/graphql@^5.0.0": version "5.0.3" resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-5.0.3.tgz#1ff6577d356632c594f0f0db7bb5903e4e3ddb8d" @@ -999,6 +1097,45 @@ "@octokit/types" "^8.0.0" universal-user-agent "^6.0.0" +"@octokit/graphql@^7.0.0": + version "7.0.2" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-7.0.2.tgz#3df14b9968192f9060d94ed9e3aa9780a76e7f99" + integrity sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q== + dependencies: + "@octokit/request" "^8.0.1" + "@octokit/types" "^12.0.0" + universal-user-agent "^6.0.0" + +"@octokit/oauth-app@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@octokit/oauth-app/-/oauth-app-6.0.0.tgz#a5c3b7794df4280c6aadbadd843119059d70a2c4" + integrity sha512-bNMkS+vJ6oz2hCyraT9ZfTpAQ8dZNqJJQVNaKjPLx4ue5RZiFdU1YWXguOPR8AaSHS+lKe+lR3abn2siGd+zow== + dependencies: + "@octokit/auth-oauth-app" "^7.0.0" + "@octokit/auth-oauth-user" "^4.0.0" + "@octokit/auth-unauthenticated" "^5.0.0" + "@octokit/core" "^5.0.0" + "@octokit/oauth-authorization-url" "^6.0.2" + "@octokit/oauth-methods" "^4.0.0" + "@types/aws-lambda" "^8.10.83" + universal-user-agent "^6.0.0" + +"@octokit/oauth-authorization-url@^6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@octokit/oauth-authorization-url/-/oauth-authorization-url-6.0.2.tgz#cc82ca29cc5e339c9921672f39f2b3f5c8eb6ef2" + integrity sha512-CdoJukjXXxqLNK4y/VOiVzQVjibqoj/xHgInekviUJV73y/BSIcwvJ/4aNHPBPKcPWFnd4/lO9uqRV65jXhcLA== + +"@octokit/oauth-methods@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@octokit/oauth-methods/-/oauth-methods-4.0.0.tgz#6e0c190e8ee95afe770a4a9a4321eb159a58c794" + integrity sha512-dqy7BZLfLbi3/8X8xPKUKZclMEK9vN3fK5WF3ortRvtplQTszFvdAGbTo71gGLO+4ZxspNiLjnqdd64Chklf7w== + dependencies: + "@octokit/oauth-authorization-url" "^6.0.2" + "@octokit/request" "^8.0.2" + "@octokit/request-error" "^5.0.0" + "@octokit/types" "^11.0.0" + btoa-lite "^1.0.0" + "@octokit/openapi-types@^12.11.0": version "12.11.0" resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-12.11.0.tgz#da5638d64f2b919bca89ce6602d059f1b52d3ef0" @@ -1014,11 +1151,26 @@ resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-16.0.0.tgz#d92838a6cd9fb4639ca875ddb3437f1045cc625e" integrity sha512-JbFWOqTJVLHZSUUoF4FzAZKYtqdxWu9Z5m2QQnOyEa04fOFljvyh7D3GYKbfuaSWisqehImiVIMG4eyJeP5VEA== +"@octokit/openapi-types@^18.0.0": + version "18.1.1" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-18.1.1.tgz#09bdfdabfd8e16d16324326da5148010d765f009" + integrity sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw== + +"@octokit/openapi-types@^19.0.0": + version "19.0.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-19.0.0.tgz#0101bf62ab14c1946149a0f8385440963e1253c4" + integrity sha512-PclQ6JGMTE9iUStpzMkwLCISFn/wDeRjkZFIKALpvJQNBGwDoYYi2fFvuHwssoQ1rXI5mfh6jgTgWuddeUzfWw== + "@octokit/plugin-enterprise-rest@6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz#e07896739618dab8da7d4077c658003775f95437" integrity sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw== +"@octokit/plugin-paginate-graphql@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-graphql/-/plugin-paginate-graphql-4.0.0.tgz#b26024fa454039c18b948f13bf754ff86b89e8b9" + integrity sha512-7HcYW5tP7/Z6AETAPU14gp5H5KmCPT3hmJrS/5tO7HIgbwenYmgw4OY9Ma54FDySuxMwD+wsJlxtuGWwuZuItA== + "@octokit/plugin-paginate-rest@^3.0.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-3.1.0.tgz#86f8be759ce2d6d7c879a31490fd2f7410b731f0" @@ -1026,11 +1178,25 @@ dependencies: "@octokit/types" "^6.41.0" +"@octokit/plugin-paginate-rest@^9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.0.0.tgz#21fd12816c2dc158a775ed20be5abcbc61052a46" + integrity sha512-oIJzCpttmBTlEhBmRvb+b9rlnGpmFgDtZ0bB6nq39qIod6A5DP+7RkVLMOixIgRCYSHDTeayWqmiJ2SZ6xgfdw== + dependencies: + "@octokit/types" "^12.0.0" + "@octokit/plugin-request-log@^1.0.4": version "1.0.4" resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== +"@octokit/plugin-rest-endpoint-methods@^10.0.0": + version "10.0.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.0.1.tgz#0587a8ae2391287fdfc7961a41cec7bfd1ef4968" + integrity sha512-fgS6HPkPvJiz8CCliewLyym9qAx0RZ/LKh3sATaPfM41y/O2wQ4Z9MrdYeGPVh04wYmHFmWiGlKPC7jWVtZXQA== + dependencies: + "@octokit/types" "^12.0.0" + "@octokit/plugin-rest-endpoint-methods@^6.0.0": version "6.8.1" resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.8.1.tgz#97391fda88949eb15f68dc291957ccbe1d3e8ad1" @@ -1039,6 +1205,23 @@ "@octokit/types" "^8.1.1" deprecation "^2.3.1" +"@octokit/plugin-retry@^6.0.0": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-retry/-/plugin-retry-6.0.1.tgz#3257404f7cc418e1c1f13a7f2012c1db848b7693" + integrity sha512-SKs+Tz9oj0g4p28qkZwl/topGcb0k0qPNX/i7vBKmDsjoeqnVfFUquqrE/O9oJY7+oLzdCtkiWSXLpLjvl6uog== + dependencies: + "@octokit/request-error" "^5.0.0" + "@octokit/types" "^12.0.0" + bottleneck "^2.15.3" + +"@octokit/plugin-throttling@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-throttling/-/plugin-throttling-8.0.0.tgz#58527f7994f36cf6879640608f229ccc6129627c" + integrity sha512-OkMbHYUidj81q92YRkPzWmwXkEtsI3KOcSkNm763aqUOh9IEplyX05XjKAdZFANAvaYH0Q4JBZwu4h2VnPVXZA== + dependencies: + "@octokit/types" "^12.0.0" + bottleneck "^2.15.3" + "@octokit/request-error@^3.0.0": version "3.0.2" resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-3.0.2.tgz#f74c0f163d19463b87528efe877216c41d6deb0a" @@ -1048,6 +1231,15 @@ deprecation "^2.0.0" once "^1.4.0" +"@octokit/request-error@^5.0.0": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-5.0.1.tgz#277e3ce3b540b41525e07ba24c5ef5e868a72db9" + integrity sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ== + dependencies: + "@octokit/types" "^12.0.0" + deprecation "^2.0.0" + once "^1.4.0" + "@octokit/request@^6.0.0": version "6.2.2" resolved "https://registry.yarnpkg.com/@octokit/request/-/request-6.2.2.tgz#a2ba5ac22bddd5dcb3f539b618faa05115c5a255" @@ -1060,6 +1252,17 @@ node-fetch "^2.6.7" universal-user-agent "^6.0.0" +"@octokit/request@^8.0.0", "@octokit/request@^8.0.1", "@octokit/request@^8.0.2": + version "8.1.4" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-8.1.4.tgz#12dfaebdb2ea375eaabb41d39d45182531ac2857" + integrity sha512-M0aaFfpGPEKrg7XoA/gwgRvc9MSXHRO2Ioki1qrPDbl1e9YhjIwVoHE7HIKmv/m3idzldj//xBujcFNqGX6ENA== + dependencies: + "@octokit/endpoint" "^9.0.0" + "@octokit/request-error" "^5.0.0" + "@octokit/types" "^12.0.0" + is-plain-object "^5.0.0" + universal-user-agent "^6.0.0" + "@octokit/rest@19.0.3": version "19.0.3" resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-19.0.3.tgz#b9a4e8dc8d53e030d611c053153ee6045f080f02" @@ -1070,6 +1273,20 @@ "@octokit/plugin-request-log" "^1.0.4" "@octokit/plugin-rest-endpoint-methods" "^6.0.0" +"@octokit/types@^11.0.0": + version "11.1.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-11.1.0.tgz#9e5db741d582b05718a4d91bac8cc987def235ea" + integrity sha512-Fz0+7GyLm/bHt8fwEqgvRBWwIV1S6wRRyq+V6exRKLVWaKGsuy6H9QFYeBVDV7rK6fO3XwHgQOPxv+cLj2zpXQ== + dependencies: + "@octokit/openapi-types" "^18.0.0" + +"@octokit/types@^12.0.0": + version "12.0.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-12.0.0.tgz#6b34309288b6f5ac9761d2589e3165cde1b95fee" + integrity sha512-EzD434aHTFifGudYAygnFlS1Tl6KhbTynEWELQXIbTY8Msvb5nEqTZIm7sbPEt4mQYLZwu3zPKVdeIrw0g7ovg== + dependencies: + "@octokit/openapi-types" "^19.0.0" + "@octokit/types@^6.41.0": version "6.41.0" resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.41.0.tgz#e58ef78d78596d2fb7df9c6259802464b5f84a04" @@ -1091,6 +1308,26 @@ dependencies: "@octokit/openapi-types" "^16.0.0" +"@octokit/webhooks-methods@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@octokit/webhooks-methods/-/webhooks-methods-4.0.0.tgz#d1697930ba3d8e6b6d0f8a2c996bb440d2e1df1b" + integrity sha512-M8mwmTXp+VeolOS/kfRvsDdW+IO0qJ8kYodM/sAysk093q6ApgmBXwK1ZlUvAwXVrp/YVHp6aArj4auAxUAOFw== + +"@octokit/webhooks-types@7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@octokit/webhooks-types/-/webhooks-types-7.1.0.tgz#d533dea253416e02dd6c2bfab25e533295bd5d3f" + integrity sha512-y92CpG4kFFtBBjni8LHoV12IegJ+KFxLgKRengrVjKmGE5XMeCuGvlfRe75lTRrgXaG6XIWJlFpIDTlkoJsU8w== + +"@octokit/webhooks@^12.0.1": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@octokit/webhooks/-/webhooks-12.0.3.tgz#91f5df322e83b3b7d8bb9af5e692ffea16d6c8bb" + integrity sha512-8iG+/yza7hwz1RrQ7i7uGpK2/tuItZxZq1aTmeg2TNp2xTUB8F8lZF/FcZvyyAxT8tpDMF74TjFGCDACkf1kAQ== + dependencies: + "@octokit/request-error" "^5.0.0" + "@octokit/webhooks-methods" "^4.0.0" + "@octokit/webhooks-types" "7.1.0" + aggregate-error "^3.1.0" + "@parcel/watcher@2.0.4": version "2.0.4" resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.0.4.tgz#f300fef4cc38008ff4b8c29d92588eced3ce014b" @@ -1162,6 +1399,11 @@ dependencies: minimatch "^7.4.2" +"@types/aws-lambda@^8.10.83": + version "8.10.125" + resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.125.tgz#c2ba86f7d98fe1827a7b048e0d31a65a8b5aed8c" + integrity sha512-Vqw/WMlV4O1fJT6capim01v7VLDZkcX1n6Yhb52E7IfnMqYbNfwHfyDV8rRN42NLBtdDvfaqcCqs2K0fr5ljZw== + "@types/babel-types@*", "@types/babel-types@^7.0.0": version "7.0.9" resolved "https://registry.yarnpkg.com/@types/babel-types/-/babel-types-7.0.9.tgz#01d7b86949f455402a94c788883fe4ba574cad41" @@ -1207,6 +1449,11 @@ dependencies: "@types/babel-types" "*" +"@types/btoa-lite@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/btoa-lite/-/btoa-lite-1.0.1.tgz#5aef84ea6cc0d145d1ff9e6ea3d6c7e8d402f477" + integrity sha512-YwCjy5v1THSaj5KrBz0SKwKYtjwT0YpOm8VB4TR6DzyvTa503T+rE0Ku6Q3DUKtm1rzNrEXyqdYHpcLiYN6oXg== + "@types/glob@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" @@ -1254,6 +1501,13 @@ resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.5.tgz#738dd390a6ecc5442f35e7f03fa1431353f7e138" integrity sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA== +"@types/jsonwebtoken@^9.0.0": + version "9.0.4" + resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.4.tgz#8b74bbe87bde81a3469d4b32a80609bec62c23ec" + integrity sha512-8UYapdmR0QlxgvJmyE8lP7guxD0UGVMfknsdtCFZh4ovShdBl3iOI4zdvqBHrB/IS+xUj3PSx73Qkey1fhWz+g== + dependencies: + "@types/node" "*" + "@types/kss@^3.0.2": version "3.0.2" resolved "https://registry.yarnpkg.com/@types/kss/-/kss-3.0.2.tgz#c9f2ff66e02ab1e0451d1f66c29744387c04d550" @@ -1409,7 +1663,7 @@ agentkeepalive@^4.2.1: depd "^1.1.2" humanize-ms "^1.2.1" -aggregate-error@^3.0.0: +aggregate-error@^3.0.0, aggregate-error@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== @@ -1711,6 +1965,11 @@ bluebird@^3.7.2: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== +bottleneck@^2.15.3: + version "2.19.5" + resolved "https://registry.yarnpkg.com/bottleneck/-/bottleneck-2.19.5.tgz#5df0b90f59fd47656ebe63c78a98419205cadd91" + integrity sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw== + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -1757,6 +2016,16 @@ bser@^2.0.0: dependencies: node-int64 "^0.4.0" +btoa-lite@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" + integrity sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA== + +buffer-equal-constant-time@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" + integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== + buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" @@ -2469,6 +2738,13 @@ duplexer@^0.1.1: resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= +ecdsa-sig-formatter@1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" + integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== + dependencies: + safe-buffer "^5.0.1" + ejs@^3.1.7: version "3.1.8" resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b" @@ -4053,6 +4329,22 @@ jsonparse@^1.2.0, jsonparse@^1.3.1: resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= +jsonwebtoken@^9.0.0: + version "9.0.2" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3" + integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ== + dependencies: + jws "^3.2.2" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + semver "^7.5.4" + jstransformer@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/jstransformer/-/jstransformer-1.0.0.tgz#ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3" @@ -4071,6 +4363,23 @@ just-diff@^6.0.0: resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-6.0.2.tgz#03b65908543ac0521caf6d8eb85035f7d27ea285" integrity sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA== +jwa@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" + integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" + +jws@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" + integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== + dependencies: + jwa "^1.4.1" + safe-buffer "^5.0.1" + kind-of@^3.0.2: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -4282,16 +4591,51 @@ locutus@^2.0.11: resolved "https://registry.yarnpkg.com/locutus/-/locutus-2.0.15.tgz#d75b9100713aaaf30be8b38ed6543910498c0db0" integrity sha512-2xWC4RkoAoCVXEb/stzEgG1TNgd+mrkLBj6TuEDNyUoKeQ2XzDTyJUC23sMiqbL6zJmJSP3w59OZo+zc4IBOmA== +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== + +lodash.isboolean@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" + integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== + +lodash.isinteger@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" + integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== + lodash.ismatch@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" integrity sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= +lodash.isnumber@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== + lodash.memoize@4.x: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= +lodash.once@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== + lodash@^4.17.15, lodash@^4.17.21, lodash@^4.17.4: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" @@ -4310,6 +4654,11 @@ longest@^1.0.1: resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc= +lru-cache@^10.0.0: + version "10.0.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.0.1.tgz#0a3be479df549cca0e5d693ac402ff19537a6b7a" + integrity sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g== + lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -4660,7 +5009,7 @@ modify-values@^1.0.0: resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== -ms@2.1.2, ms@^2.0.0: +ms@2.1.2, ms@^2.0.0, ms@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== @@ -5050,6 +5399,22 @@ object-keys@^1.0.12, object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== +octokit@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/octokit/-/octokit-3.1.1.tgz#0f7941a4b287cb53b4e795ee75284438013f897c" + integrity sha512-AKJs5XYs7iAh7bskkYpxhUIpsYZdLqjnlnqrN5s9FFZuJ/a6ATUHivGpUKDpGB/xa+LGDtG9Lu8bOCfPM84vHQ== + dependencies: + "@octokit/app" "^14.0.0" + "@octokit/core" "^5.0.0" + "@octokit/oauth-app" "^6.0.0" + "@octokit/plugin-paginate-graphql" "^4.0.0" + "@octokit/plugin-paginate-rest" "^9.0.0" + "@octokit/plugin-rest-endpoint-methods" "^10.0.0" + "@octokit/plugin-retry" "^6.0.0" + "@octokit/plugin-throttling" "^8.0.0" + "@octokit/request-error" "^5.0.0" + "@octokit/types" "^12.0.0" + once@^1.3.0, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -5891,7 +6256,7 @@ rxjs@^7.5.5: dependencies: tslib "^2.1.0" -safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== @@ -5925,7 +6290,7 @@ semver@^6.0.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.0.0, semver@^7.1.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3: +semver@^7.0.0, semver@^7.1.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -6645,6 +7010,14 @@ unique-string@^2.0.0: dependencies: crypto-random-string "^2.0.0" +universal-github-app-jwt@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/universal-github-app-jwt/-/universal-github-app-jwt-1.1.1.tgz#d57cee49020662a95ca750a057e758a1a7190e6e" + integrity sha512-G33RTLrIBMFmlDV4u4CBF7dh71eWwykck4XgaxaIVeZKOYZRAAxvcGMRFTUclVY6xoUPQvO4Ne5wKGxYm/Yy9w== + dependencies: + "@types/jsonwebtoken" "^9.0.0" + jsonwebtoken "^9.0.0" + universal-user-agent@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" From 971c77e2da8c8a86af56161e5ede6d00c64f9a65 Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Thu, 19 Oct 2023 13:17:54 -0400 Subject: [PATCH 11/29] make script executable --- scripts/submit-preview-comment.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 scripts/submit-preview-comment.sh diff --git a/scripts/submit-preview-comment.sh b/scripts/submit-preview-comment.sh old mode 100644 new mode 100755 From 0f3c99baae272bf76583a9f5c0a6293fb292485b Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Fri, 20 Oct 2023 11:17:18 -0400 Subject: [PATCH 12/29] remove commented code --- .../src/plugins/typescript/visitor.ts | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/packages/compiler/src/plugins/typescript/visitor.ts b/packages/compiler/src/plugins/typescript/visitor.ts index 68e7038d..111f51e7 100644 --- a/packages/compiler/src/plugins/typescript/visitor.ts +++ b/packages/compiler/src/plugins/typescript/visitor.ts @@ -40,7 +40,6 @@ import { Reflection, ReflectionKind, SignatureReflection, - // UnionType, } from "typedoc"; import { ITypescriptPluginOptions } from "./typescriptPlugin"; import { resolveSignature, resolveTypeString } from "./typestring"; @@ -56,11 +55,6 @@ export class Visitor { ...this.visitChildren(project.getReflectionsByKind(ReflectionKind.Enum), this.visitEnum), ...this.visitChildren(project.getReflectionsByKind(ReflectionKind.Function), this.visitMethod), ...this.visitChildren(project.getReflectionsByKind(ReflectionKind.Interface), this.visitInterface), - // ...this.visitChildren( - // // detect if a `const X = { A, B, C }` also has a corresponding `type X = A | B | C` - // project.getReflectionsByKind(ReflectionKind.ObjectLiteral).filter(isConstTypePair), - // this.visitConstTypePair, - // ), ...this.visitChildren(project.getReflectionsByKind(ReflectionKind.TypeAlias), (def) => ({ ...this.makeDocEntry(def, Kind.TypeAlias), type: resolveTypeString(def.type), @@ -110,15 +104,6 @@ export class Visitor { kind: Kind.Constructor, }); - // private visitConstTypePair = (def: DeclarationReflection): ITsEnum => ({ - // ...this.makeDocEntry(def, Kind.Enum), - // // ObjectLiteral has Variable children, but we'll expose them as enum members - // members: this.visitChildren(def.getChildrenByKind(ReflectionKind.Variable), (m) => ({ - // ...this.makeDocEntry(m, Kind.EnumMember), - // defaultValue: resolveTypeString(m.type), - // })), - // }); - private visitEnum = (def: DeclarationReflection): ITsEnum => ({ ...this.makeDocEntry(def, Kind.Enum), members: this.visitChildren(def.getChildrenByKind(ReflectionKind.EnumMember), (m) => ({ @@ -275,10 +260,6 @@ function getIsDeprecated(ref: Reflection) { return deprecatedModifier || deprecatedTagValue; } -// function isConstTypePair(def: DeclarationReflection) { -// return def.kind === ReflectionKind.ObjectLiteral && def.type instanceof UnionType; -// } - /** Returns true if value does not match all patterns. */ function isNotExcluded(patterns: Array, value?: string) { return value === undefined || patterns.every((p) => value.match(p) == null); From 50edfb0ba475bddf4cbfce56ec1d2df8548b10da Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Fri, 20 Oct 2023 11:18:26 -0400 Subject: [PATCH 13/29] revert whitespace changes --- .../submit-comment-with-artifact-links.mjs | 91 +++++++++---------- 1 file changed, 41 insertions(+), 50 deletions(-) diff --git a/scripts/submit-comment-with-artifact-links.mjs b/scripts/submit-comment-with-artifact-links.mjs index 3046a629..e9c5bab6 100644 --- a/scripts/submit-comment-with-artifact-links.mjs +++ b/scripts/submit-comment-with-artifact-links.mjs @@ -17,73 +17,64 @@ import { Octokit } from "octokit"; /** * @type {Array<{path: string; url: string;}>} */ -const { default: artifacts } = await import("./artifacts.json", { - assert: { type: "json" }, -}); +const { default: artifacts } = await import("./artifacts.json", { assert: { type: "json" }}); if (artifacts.items === undefined) { - throw new Error( - "Unable to read artifacts.json, please make sure the CircleCI API call succeeded with the necessary personal access token." - ); + throw new Error( + "Unable to read artifacts.json, please make sure the CircleCI API call succeeded with the necessary personal access token.", + ); } const ARTIFACTS = { - documentation: "packages/docs/dist/index.html", + documentation: "packages/docs/dist/index.html", }; function getArtifactAnchorLink(pkg) { - const artifactInfo = artifacts.items.find((a) => a.path === ARTIFACTS[pkg]); - return `${pkg}`; + const artifactInfo = artifacts.items.find(a => a.path === ARTIFACTS[pkg]); + return `${pkg}`; } if (process.env.GITHUB_API_TOKEN) { - // We can post a comment on the PR if we have the necessary Github.com personal access token with access to this - // repository and PR read/write permissions. - // See https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#creating-a-fine-grained-personal-access-token - const octokit = new Octokit({ auth: process.env.GITHUB_API_TOKEN }); + // We can post a comment on the PR if we have the necessary Github.com personal access token with access to this + // repository and PR read/write permissions. + // See https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#creating-a-fine-grained-personal-access-token + const octokit = new Octokit({ auth: process.env.GITHUB_API_TOKEN }); - const mainDocumentationLink = getArtifactAnchorLink("documentation"); - const currentGitCommitMessage = execSync( - 'git --no-pager log --pretty=format:"%s" -1' - ) - .toString() - .trim() - .replace(/\\"/g, '\\\\"'); - const commentBody = dedent` + const mainDocumentationLink = getArtifactAnchorLink("documentation"); + const currentGitCommitMessage = execSync('git --no-pager log --pretty=format:"%s" -1') + .toString() + .trim() + .replace(/\\"/g, '\\\\"'); + const commentBody = dedent` Build preview link for commit "${currentGitCommitMessage}": ${mainDocumentationLink} This is an automated comment from the deploy-preview CircleCI job. `; - const repoParams = { - owner: "palantir", - repo: "documentalist", - }; + const repoParams = { + owner: "palantir", + repo: "documentalist", + }; - if (process.env.CIRCLE_PULL_REQUEST) { - // attempt to comment on the PR as an "issue comment" (not a review comment) - await octokit.rest.issues.createComment({ - ...repoParams, - issue_number: parseInt( - basename(process.env.CIRCLE_PULL_REQUEST ?? ""), - 10 - ), - body: commentBody, - }); - } else if (process.env.CIRCLE_SHA1) { - // attempt to comment on the commit if there is no associated PR (this is most useful on the develop branch) - await octokit.rest.repos.createCommitComment({ - ...repoParams, - commit_sha: process.env.CIRCLE_SHA1, - body: commentBody, - }); - } + if (process.env.CIRCLE_PULL_REQUEST) { + // attempt to comment on the PR as an "issue comment" (not a review comment) + await octokit.rest.issues.createComment({ + ...repoParams, + issue_number: parseInt(basename(process.env.CIRCLE_PULL_REQUEST ?? ""), 10), + body: commentBody, + }); + } else if (process.env.CIRCLE_SHA1) { + // attempt to comment on the commit if there is no associated PR (this is most useful on the develop branch) + await octokit.rest.repos.createCommitComment({ + ...repoParams, + commit_sha: process.env.CIRCLE_SHA1, + body: commentBody, + }); + } } else { - // If the access token is missing, simply log artifact URLs (typical in builds on repository forks). - console.warn( - "No Github API token available, so we cannot post a preview comment on this build's PR. This is expected on forks which have enabled CircleCI building." - ); - Object.keys(ARTIFACTS).forEach((pkg) => - console.info(`${ARTIFACTS[pkg]}: ${getArtifactAnchorLink(pkg)}`) - ); + // If the access token is missing, simply log artifact URLs (typical in builds on repository forks). + console.warn( + "No Github API token available, so we cannot post a preview comment on this build's PR. This is expected on forks which have enabled CircleCI building.", + ); + Object.keys(ARTIFACTS).forEach(pkg => console.info(`${ARTIFACTS[pkg]}: ${getArtifactAnchorLink(pkg)}`)); } From 4ced1c59c29594eff4d0eb2e06cbc1e513c72805 Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Fri, 20 Oct 2023 12:11:46 -0400 Subject: [PATCH 14/29] adjust some typedoc options --- packages/compiler/src/plugins/typescript/typescriptPlugin.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/compiler/src/plugins/typescript/typescriptPlugin.ts b/packages/compiler/src/plugins/typescript/typescriptPlugin.ts index 6c660e18..2120c273 100644 --- a/packages/compiler/src/plugins/typescript/typescriptPlugin.ts +++ b/packages/compiler/src/plugins/typescript/typescriptPlugin.ts @@ -101,6 +101,7 @@ export class TypescriptPlugin implements IPlugin { verbose = false, } = options; this.typedocOptions = { + commentStyle: "jsdoc", entryPointStrategy: "expand", entryPoints: options.entryPoints ?? ["src/index.ts"], exclude: [ @@ -110,7 +111,7 @@ export class TypescriptPlugin implements IPlugin { excludePrivate: !includePrivateMembers, gitRevision: options.gitBranch, logLevel: verbose ? LogLevel.Verbose : LogLevel.Error, - skipErrorChecking: true, + skipErrorChecking: false, tsconfig: tsconfigPath, }; this.projectInit = this.initializeTypedoc(); From 50d5a7f32b3bd36b115cb87274e0e7f678d53bd2 Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Fri, 20 Oct 2023 12:25:09 -0400 Subject: [PATCH 15/29] fix enum member defaults --- .../src/__tests__/__snapshots__/typescript.test.ts.snap | 8 ++++---- packages/compiler/src/plugins/typescript/visitor.ts | 6 ++++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap b/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap index e2adadda..6c3e6159 100644 --- a/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap +++ b/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap @@ -456,7 +456,7 @@ exports[`TypescriptPlugin enums snapshot 1`] = ` "kind": "enum", "members": [ { - "defaultValue": undefined, + "defaultValue": "danger", "documentation": undefined, "fileName": "src/__tests__/__fixtures__/enums.ts", "flags": { @@ -474,7 +474,7 @@ exports[`TypescriptPlugin enums snapshot 1`] = ` "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/enums.ts#L22", }, { - "defaultValue": undefined, + "defaultValue": "primary", "documentation": undefined, "fileName": "src/__tests__/__fixtures__/enums.ts", "flags": { @@ -492,7 +492,7 @@ exports[`TypescriptPlugin enums snapshot 1`] = ` "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/enums.ts#L19", }, { - "defaultValue": undefined, + "defaultValue": "success", "documentation": undefined, "fileName": "src/__tests__/__fixtures__/enums.ts", "flags": { @@ -510,7 +510,7 @@ exports[`TypescriptPlugin enums snapshot 1`] = ` "sourceUrl": "https://github.com/palantir/documentalist/blob/develop/packages/compiler/src/__tests__/__fixtures__/enums.ts#L20", }, { - "defaultValue": undefined, + "defaultValue": "warning", "documentation": undefined, "fileName": "src/__tests__/__fixtures__/enums.ts", "flags": { diff --git a/packages/compiler/src/plugins/typescript/visitor.ts b/packages/compiler/src/plugins/typescript/visitor.ts index 111f51e7..70bdb612 100644 --- a/packages/compiler/src/plugins/typescript/visitor.ts +++ b/packages/compiler/src/plugins/typescript/visitor.ts @@ -208,6 +208,12 @@ function getCommentTagValue(comment: Comment | undefined, tagName: string) { } function getDefaultValue(ref: ParameterReflection | DeclarationReflection): string | undefined { + // N.B. TypeDoc no longer sets defaultValue for enum members as of v0.23, see https://typedoc.org/guides/changelog/#v0.23.0-(2022-06-26) + // Also, we typically expect enum member values to only have literal types, so we can just use the type value. + if (ref.kind === ReflectionKind.EnumMember && ref.type?.type=== "literal") { + return ref.type?.value?.toString(); + } + return ref.defaultValue ?? getCommentTagValue(ref.comment, "default"); } From cf1e325bce3939e421050cb85381bcb0286054f6 Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Fri, 20 Oct 2023 12:56:14 -0400 Subject: [PATCH 16/29] Add tsconfig-resolver, --out option --- packages/client/src/tsconfig.json | 3 +- packages/compiler/cli.js | 16 ++++++- packages/compiler/package.json | 1 + .../src/__tests__/__fixtures__/tsconfig.json | 7 +-- .../plugins/typescript/typescriptPlugin.ts | 26 +++++++++-- packages/compiler/src/tsconfig.json | 10 +---- packages/docs/package.json | 2 +- packages/docs/src/tsconfig.json | 3 +- tsconfig.base.json | 6 +-- yarn.lock | 45 ++++++++++++++++++- 10 files changed, 92 insertions(+), 27 deletions(-) diff --git a/packages/client/src/tsconfig.json b/packages/client/src/tsconfig.json index 89b06f68..01ddd570 100644 --- a/packages/client/src/tsconfig.json +++ b/packages/client/src/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "../lib/", - "target": "es5" + "outDir": "../lib/" } } diff --git a/packages/compiler/cli.js b/packages/compiler/cli.js index 6ec08ade..db8e048d 100755 --- a/packages/compiler/cli.js +++ b/packages/compiler/cli.js @@ -20,6 +20,7 @@ // Example Usage // documentalist "./src/**/*" +const fs = require("fs"); const yargs = require("yargs"); const { Documentalist, KssPlugin, MarkdownPlugin, NpmPlugin, TypescriptPlugin } = require("./lib/"); @@ -46,6 +47,10 @@ const argv = yargs desc: "use KssPlugin for .(css|less|scss) files", type: "boolean", }) + .option("out", { + desc: "output file path (defaults to std out)", + type: "string", + }) .demandCommand(1, "Requires at least one file") .argv; @@ -66,4 +71,13 @@ if (argv.css) { docs.documentGlobs(...argv._) .then((data) => JSON.stringify(data, null, 2)) - .then(console.log, console.error); + .then( + (output) => { + if (argv.out) { + fs.writeFileSync(argv.out, output, "utf-8"); + } else { + console.log(output); + } + }, + (failedReason) => console.error(failedReason), + ); diff --git a/packages/compiler/package.json b/packages/compiler/package.json index 3cfe2202..4004f557 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -24,6 +24,7 @@ "js-yaml": "^4.1.0", "kss": "^3.0.1", "marked": "^4.0.12", + "tsconfig-resolver": "^3.0.1", "typedoc": "~0.25.2", "yargs": "^17.4.0" }, diff --git a/packages/compiler/src/__tests__/__fixtures__/tsconfig.json b/packages/compiler/src/__tests__/__fixtures__/tsconfig.json index b22f717d..e7ac809c 100644 --- a/packages/compiler/src/__tests__/__fixtures__/tsconfig.json +++ b/packages/compiler/src/__tests__/__fixtures__/tsconfig.json @@ -3,14 +3,11 @@ "experimentalDecorators": true, "lib": [ "dom", - "es5", - "es2015.collection", - "es2015.iterable", - "es2015.promise" + "ES2015" ], "module": "commonjs", "moduleResolution": "node", "skipLibCheck": true, - "target": "es2015" + "target": "ES2015" } } diff --git a/packages/compiler/src/plugins/typescript/typescriptPlugin.ts b/packages/compiler/src/plugins/typescript/typescriptPlugin.ts index 2120c273..b7db4df7 100644 --- a/packages/compiler/src/plugins/typescript/typescriptPlugin.ts +++ b/packages/compiler/src/plugins/typescript/typescriptPlugin.ts @@ -14,7 +14,9 @@ * limitations under the License. */ -import { ICompiler, IFile, IPlugin, ITypescriptPluginData } from "@documentalist/client"; +import { dirname } from "node:path"; +import type { ICompiler, IFile, IPlugin, ITypescriptPluginData } from "@documentalist/client"; +import { tsconfigResolverSync } from "tsconfig-resolver"; import { Application, LogLevel, TSConfigReader, TypeDocOptions, TypeDocReader } from "typedoc"; import { Visitor } from "./visitor"; @@ -94,16 +96,18 @@ export class TypescriptPlugin implements IPlugin { public constructor(private options: ITypescriptPluginOptions = {}) { const { + entryPoints = ["src/index.ts"], includeDeclarations = false, includeNodeModules = false, includePrivateMembers = false, - tsconfigPath, + tsconfigPath = this.getDefaultTsconfigPath(entryPoints[0]), verbose = false, } = options; + this.typedocOptions = { commentStyle: "jsdoc", entryPointStrategy: "expand", - entryPoints: options.entryPoints ?? ["src/index.ts"], + entryPoints, exclude: [ includeNodeModules ? undefined : "**/node_modules/**", includeDeclarations ? undefined : "**/*.d.ts", @@ -148,4 +152,20 @@ export class TypescriptPlugin implements IPlugin { this.app.options.setValue("entryPoints", files); return this.app.convert(); } + + /** + * @throws if no tsconfig.json found or it has invalid syntax + */ + private getDefaultTsconfigPath(firstEntryPoint: string): string | undefined { + console.info(`[Documentalist] Path to tsconfig.json not provided, attempting to resolve from first entry point at '${firstEntryPoint}'`); + const { path, reason } = tsconfigResolverSync({ cwd: dirname(firstEntryPoint) }); + switch (reason) { + case "not-found": + throw new Error(`[Documentalist] Failed to locate tsconfig.json.`); + case "invalid-config": + throw new Error(`[Documentalist] Found invalid tsconfig.json at location: ${path}`); + default: + return path; + } + } } diff --git a/packages/compiler/src/tsconfig.json b/packages/compiler/src/tsconfig.json index dbb956b6..01ddd570 100644 --- a/packages/compiler/src/tsconfig.json +++ b/packages/compiler/src/tsconfig.json @@ -1,14 +1,6 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "lib": [ - "dom", - "es5", - "es2015.collection", - "es2015.iterable", - "es2015.promise" - ], - "outDir": "../lib/", - "target": "es2015" + "outDir": "../lib/" } } diff --git a/packages/docs/package.json b/packages/docs/package.json index b021b6fb..54516f01 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -5,7 +5,7 @@ "private": true, "scripts": { "build": "npm-run-all -p build:json build:ts build:version -s build:pug build:css", - "build:json": "documentalist '../{client,compiler,docs}/src/**/*' > docs.json", + "build:json": "documentalist '../{client,compiler,docs}/src/**/*' --out docs.json", "build:ts": "tsc --project ./src/tsconfig.json", "build:version": "echo v$npm_package_version > theme/version.txt", "build:pug": "pug -O docs.json ./theme/index.pug --pretty -o ./dist", diff --git a/packages/docs/src/tsconfig.json b/packages/docs/src/tsconfig.json index 3023a964..b68ec8a9 100644 --- a/packages/docs/src/tsconfig.json +++ b/packages/docs/src/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "../dist/", - "target": "es5" + "outDir": "../dist/" } } diff --git a/tsconfig.base.json b/tsconfig.base.json index 42194474..9a1e0718 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1,12 +1,12 @@ { "compilerOptions": { + "allowSyntheticDefaultImports": true, "declaration": true, "esModuleInterop": true, "experimentalDecorators": true, "lib": [ "dom", - "es5", - "es2015.iterable" + "ES2015" ], "module": "commonjs", "moduleResolution": "node", @@ -17,7 +17,7 @@ "noUnusedParameters": true, "sourceMap": false, "strictNullChecks": true, - "target": "es5" + "target": "ES2015" }, "exclude": [ "dist", diff --git a/yarn.lock b/yarn.lock index 45b15853..ed01b8c8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1501,6 +1501,11 @@ resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.5.tgz#738dd390a6ecc5442f35e7f03fa1431353f7e138" integrity sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA== +"@types/json5@^0.0.30": + version "0.0.30" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.30.tgz#44cb52f32a809734ca562e685c6473b5754a7818" + integrity sha512-sqm9g7mHlPY/43fcSNrCYfOeX9zkTTK+euO5E6+CVijSMm5tTjkVdwdqRkY3ljjIAf8679vps5jKUoJBCLsMDA== + "@types/jsonwebtoken@^9.0.0": version "9.0.4" resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.4.tgz#8b74bbe87bde81a3469d4b32a80609bec62c23ec" @@ -1548,6 +1553,11 @@ resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.4.tgz#5d9b63132df54d8909fce1c3f8ca260fdd693e17" integrity sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA== +"@types/resolve@^1.17.0": + version "1.20.4" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.20.4.tgz#d2df996a35695c843dbf180e26bc2c7a0f1a3e12" + integrity sha512-BKGK0T1VgB1zD+PwQR4RRf0ais3NyvH1qjLUrHI5SEiccYaJrhLstLuoXFWJ+2Op9whGizSPUMGPJY/Qtb/A2w== + "@types/stack-utils@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" @@ -3629,6 +3639,13 @@ is-ci@2.0.0: dependencies: ci-info "^2.0.0" +is-core-module@^2.13.0: + version "2.13.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db" + integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== + dependencies: + has "^1.0.3" + is-core-module@^2.5.0, is-core-module@^2.8.1, is-core-module@^2.9.0: version "2.10.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" @@ -4296,7 +4313,7 @@ json-stringify-safe@^5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= -json5@^2.2.1, json5@^2.2.2, json5@^2.2.3: +json5@^2.1.3, json5@^2.2.1, json5@^2.2.2, json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== @@ -6196,6 +6213,15 @@ resolve@^1.1.6, resolve@^1.10.0, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3. path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@^1.17.0: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + restore-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" @@ -6803,6 +6829,18 @@ tsconfig-paths@^4.1.2: minimist "^1.2.6" strip-bom "^3.0.0" +tsconfig-resolver@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/tsconfig-resolver/-/tsconfig-resolver-3.0.1.tgz#c9e62e328ecfbeaae4a4f1131a92cdbed12350c4" + integrity sha512-ZHqlstlQF449v8glscGRXzL6l2dZvASPCdXJRWG4gHEZlUVx2Jtmr+a2zeVG4LCsKhDXKRj5R3h0C/98UcVAQg== + dependencies: + "@types/json5" "^0.0.30" + "@types/resolve" "^1.17.0" + json5 "^2.1.3" + resolve "^1.17.0" + strip-bom "^4.0.0" + type-fest "^0.13.1" + tslib@^1.13.0, tslib@^1.7.1, tslib@^1.8.1: version "1.13.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" @@ -6898,6 +6936,11 @@ type-fest@^0.11.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== +type-fest@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" + integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== + type-fest@^0.16.0: version "0.16.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860" From 01fd91e517d585c7863299fdb2b912e7e4a36773 Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Fri, 20 Oct 2023 13:04:44 -0400 Subject: [PATCH 17/29] Add typedoc-plugin-missing-exports --- packages/compiler/package.json | 1 + packages/compiler/src/plugins/typescript/typescriptPlugin.ts | 2 ++ packages/compiler/src/typedoc-plugin-missing-exports.d.ts | 4 ++++ yarn.lock | 5 +++++ 4 files changed, 12 insertions(+) create mode 100644 packages/compiler/src/typedoc-plugin-missing-exports.d.ts diff --git a/packages/compiler/package.json b/packages/compiler/package.json index 4004f557..eda09fd6 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -26,6 +26,7 @@ "marked": "^4.0.12", "tsconfig-resolver": "^3.0.1", "typedoc": "~0.25.2", + "typedoc-plugin-missing-exports": "^2.1.0", "yargs": "^17.4.0" }, "devDependencies": { diff --git a/packages/compiler/src/plugins/typescript/typescriptPlugin.ts b/packages/compiler/src/plugins/typescript/typescriptPlugin.ts index b7db4df7..25c7129f 100644 --- a/packages/compiler/src/plugins/typescript/typescriptPlugin.ts +++ b/packages/compiler/src/plugins/typescript/typescriptPlugin.ts @@ -16,6 +16,7 @@ import { dirname } from "node:path"; import type { ICompiler, IFile, IPlugin, ITypescriptPluginData } from "@documentalist/client"; +import { load as loadMissingExports } from "typedoc-plugin-missing-exports"; import { tsconfigResolverSync } from "tsconfig-resolver"; import { Application, LogLevel, TSConfigReader, TypeDocOptions, TypeDocReader } from "typedoc"; import { Visitor } from "./visitor"; @@ -127,6 +128,7 @@ export class TypescriptPlugin implements IPlugin { new TypeDocReader(), new TSConfigReader(), ]); + loadMissingExports(this.app); return; } diff --git a/packages/compiler/src/typedoc-plugin-missing-exports.d.ts b/packages/compiler/src/typedoc-plugin-missing-exports.d.ts new file mode 100644 index 00000000..5533c6da --- /dev/null +++ b/packages/compiler/src/typedoc-plugin-missing-exports.d.ts @@ -0,0 +1,4 @@ +declare module "typedoc-plugin-missing-exports" { + import { Application } from "typedoc"; + export function load(app: Application): void; +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index ed01b8c8..b0c46753 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6971,6 +6971,11 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= +typedoc-plugin-missing-exports@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/typedoc-plugin-missing-exports/-/typedoc-plugin-missing-exports-2.1.0.tgz#f283a407eb7b3a43dafc598f44bbfc2d36dc1704" + integrity sha512-+1DhqZCEu7Vu5APnrqpPwl31D+hXpt1fV0Le9ycCRL1eLVdatdl6KVt4SEVwPxnEpKwgOn2dNX6I9+0F1aO2aA== + typedoc@~0.25.2: version "0.25.2" resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.25.2.tgz#39f525c28b6eb61da54dda4ec6b1500df620bed8" From eada2ce7f77bf76133674b7df640324a6b4ec2e7 Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Fri, 20 Oct 2023 14:09:25 -0400 Subject: [PATCH 18/29] implement multi-ts-project support --- packages/client/src/typescript.ts | 5 +- .../plugins/typescript/typescriptPlugin.ts | 131 +++++++++++++----- 2 files changed, 100 insertions(+), 36 deletions(-) diff --git a/packages/client/src/typescript.ts b/packages/client/src/typescript.ts index 955adaad..518faaf4 100644 --- a/packages/client/src/typescript.ts +++ b/packages/client/src/typescript.ts @@ -190,6 +190,8 @@ export interface ITsTypeAlias extends ITsDocBase { type: string; } +export type TypeScriptDocEntry = ITsClass | ITsInterface | ITsEnum | ITsMethod | ITsTypeAlias; + /** * The `TypescriptPlugin` exports a `typescript` key that contains a map of member name to * `class` or `interface` definition. @@ -199,7 +201,7 @@ export interface ITsTypeAlias extends ITsDocBase { */ export interface ITypescriptPluginData { typescript: { - [name: string]: ITsClass | ITsInterface | ITsEnum | ITsMethod | ITsTypeAlias; + [name: string]: TypeScriptDocEntry; }; } @@ -207,7 +209,6 @@ function typeguard(kind: Kind) { return (data: any): data is T => data != null && (data as T).kind === kind; } -// wooooo typeguards export const isTsClass = typeguard(Kind.Class); export const isTsConstructor = typeguard(Kind.Constructor); export const isTsEnum = typeguard(Kind.Enum); diff --git a/packages/compiler/src/plugins/typescript/typescriptPlugin.ts b/packages/compiler/src/plugins/typescript/typescriptPlugin.ts index 25c7129f..e10b82a0 100644 --- a/packages/compiler/src/plugins/typescript/typescriptPlugin.ts +++ b/packages/compiler/src/plugins/typescript/typescriptPlugin.ts @@ -14,11 +14,13 @@ * limitations under the License. */ +import { readFileSync } from "node:fs"; import { dirname } from "node:path"; -import type { ICompiler, IFile, IPlugin, ITypescriptPluginData } from "@documentalist/client"; +import type { ICompiler, IFile, IPlugin, ITypescriptPluginData, TypeScriptDocEntry } from "@documentalist/client"; import { load as loadMissingExports } from "typedoc-plugin-missing-exports"; import { tsconfigResolverSync } from "tsconfig-resolver"; import { Application, LogLevel, TSConfigReader, TypeDocOptions, TypeDocReader } from "typedoc"; +import * as ts from "typescript"; import { Visitor } from "./visitor"; export interface ITypescriptPluginOptions { @@ -88,12 +90,18 @@ export interface ITypescriptPluginOptions { } export class TypescriptPlugin implements IPlugin { - private app: Application | undefined; + private hasLoadedMissingExportsPlugin = false; private typedocOptions: Partial; - /** Resolves when the project application has been initialized & bootstrapped succesfully. */ - private projectInit: Promise; + /* + * Maps of tsconfig.json paths to their TS programs and TypeDoc apps, respectively. + * + * These are necesary to support compilation of a list of files which may belong to separate TypeScript projects, + * a situation which occurs frequently in a monorepo. + */ + private tsPrograms: Map = new Map(); + private typedocApps: Map = new Map(); public constructor(private options: ITypescriptPluginOptions = {}) { const { @@ -101,7 +109,6 @@ export class TypescriptPlugin implements IPlugin { includeDeclarations = false, includeNodeModules = false, includePrivateMembers = false, - tsconfigPath = this.getDefaultTsconfigPath(entryPoints[0]), verbose = false, } = options; @@ -117,55 +124,111 @@ export class TypescriptPlugin implements IPlugin { gitRevision: options.gitBranch, logLevel: verbose ? LogLevel.Verbose : LogLevel.Error, skipErrorChecking: false, - tsconfig: tsconfigPath, }; - this.projectInit = this.initializeTypedoc(); } - private async initializeTypedoc() { - // Support reading tsconfig.json + typedoc.json - this.app = await Application.bootstrapWithPlugins(this.typedocOptions, [ + private async initializeTypedocAppAndTsProgram(tsconfig: string, entryPoints: string[]) { + const options = { + ...this.typedocOptions, + entryPoints, + tsconfig, + }; + const app = await Application.bootstrapWithPlugins(options, [ new TypeDocReader(), new TSConfigReader(), ]); - loadMissingExports(this.app); - return; + + if (!this.hasLoadedMissingExportsPlugin) { + // this plugin can only be loaded once, for some reason, even though we have multiple Applications + loadMissingExports(app); + this.hasLoadedMissingExportsPlugin = true; + } + + this.typedocApps.set(tsconfig, app); + + const { config } = ts.readConfigFile(tsconfig, (path) => readFileSync(path, { encoding: "utf-8" })); + const program = ts.createProgram(entryPoints, config); + this.tsPrograms.set(tsconfig, program); + + return app; } public async compile(files: IFile[], compiler: ICompiler): Promise { - const project = await this.getTypedocProject(files.map((f) => f.path)); - const visitor = new Visitor(compiler, this.options); + // List of existing projects which contain some of the files to compile + const existingProjectsToCompile: string[] = []; + + // Map of (tsconfig path -> list of files to compile) + const newProjectsToCreate: Record = {}; + + for (const file of files) { + let hasExistingProject = false; + + // attempt to load an existing project which contains this file + for (const [tsconfigPath, program] of this.tsPrograms.entries()) { + if (program.getRootFileNames().includes(file.path)) { + existingProjectsToCompile.push(tsconfigPath); + hasExistingProject = true; + } + } + + // if we don't have one, keep track of it in the new projects we must create + if (!hasExistingProject) { + const tsconfigPath = this.resolveClosestTsconfig(file); + if (tsconfigPath !== undefined) { + if (newProjectsToCreate[tsconfigPath] !== undefined) { + newProjectsToCreate[tsconfigPath].push(file.path); + } else { + newProjectsToCreate[tsconfigPath] = [file.path]; + } + } + } + } - if (project === undefined) { - return { typescript: {} }; + const output: Record = {}; + + for (const projectPath of existingProjectsToCompile) { + const app = this.typedocApps.get(projectPath); + if (app === undefined) { + throw new Error(`[Documentalist] could not find TypeDoc application for project at ${projectPath}`); + } + + const docs = await this.getDocumentationOutput(compiler, app); + for (const [key, value] of Object.entries(docs)) { + output[key] = value; + } } - const typescript = compiler.objectify(visitor.visitProject(project), (i) => i.name); - return { typescript }; - } + for (const [projectPath, files] of Object.entries(newProjectsToCreate)) { + const app = await this.initializeTypedocAppAndTsProgram(projectPath, files); + const docs = await this.getDocumentationOutput(compiler, app); + for (const [key, value] of Object.entries(docs)) { + output[key] = value; + } + } - private async getTypedocProject(files: string[]) { - await this.projectInit; + return { typescript: output }; + } - if (this.app === undefined) { - return undefined; + private async getDocumentationOutput(compiler: ICompiler, app: Application) { + const visitor = new Visitor(compiler, this.options); + const project = await app.convert(); + if (project === undefined) { + throw new Error(`[Documentalist] unable to generate typescript documentation for project at ${app.options.getValue("tsconfig")}`); } - this.app.options.setValue("entryPoints", files); - return this.app.convert(); + return compiler.objectify(visitor.visitProject(project), (i) => i.name); } - /** - * @throws if no tsconfig.json found or it has invalid syntax - */ - private getDefaultTsconfigPath(firstEntryPoint: string): string | undefined { - console.info(`[Documentalist] Path to tsconfig.json not provided, attempting to resolve from first entry point at '${firstEntryPoint}'`); - const { path, reason } = tsconfigResolverSync({ cwd: dirname(firstEntryPoint) }); + private resolveClosestTsconfig(file: IFile) { + const { path, reason } = tsconfigResolverSync({ cwd: dirname(file.path) }); + switch (reason) { - case "not-found": - throw new Error(`[Documentalist] Failed to locate tsconfig.json.`); case "invalid-config": - throw new Error(`[Documentalist] Found invalid tsconfig.json at location: ${path}`); + console.error(`[Documentalist] invalid tsconfig resolved for ${file.path}, skipping documentation of this file`); + return undefined; + case "not-found": + console.error(`[Documentalist] unable to find any relevant tsconfig for ${file.path}, skipping documentation of this file`); + return undefined; default: return path; } From 2362a8925426328478a976d61fb36fdf53fa49ff Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Fri, 20 Oct 2023 14:13:56 -0400 Subject: [PATCH 19/29] fix lint --- .../plugins/typescript/typescriptPlugin.ts | 23 +++++++++++-------- .../src/plugins/typescript/visitor.ts | 2 +- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/packages/compiler/src/plugins/typescript/typescriptPlugin.ts b/packages/compiler/src/plugins/typescript/typescriptPlugin.ts index e10b82a0..32371c2b 100644 --- a/packages/compiler/src/plugins/typescript/typescriptPlugin.ts +++ b/packages/compiler/src/plugins/typescript/typescriptPlugin.ts @@ -14,12 +14,12 @@ * limitations under the License. */ +import type { ICompiler, IFile, IPlugin, ITypescriptPluginData, TypeScriptDocEntry } from "@documentalist/client"; import { readFileSync } from "node:fs"; import { dirname } from "node:path"; -import type { ICompiler, IFile, IPlugin, ITypescriptPluginData, TypeScriptDocEntry } from "@documentalist/client"; -import { load as loadMissingExports } from "typedoc-plugin-missing-exports"; import { tsconfigResolverSync } from "tsconfig-resolver"; import { Application, LogLevel, TSConfigReader, TypeDocOptions, TypeDocReader } from "typedoc"; +import { load as loadMissingExports } from "typedoc-plugin-missing-exports"; import * as ts from "typescript"; import { Visitor } from "./visitor"; @@ -133,10 +133,7 @@ export class TypescriptPlugin implements IPlugin { entryPoints, tsconfig, }; - const app = await Application.bootstrapWithPlugins(options, [ - new TypeDocReader(), - new TSConfigReader(), - ]); + const app = await Application.bootstrapWithPlugins(options, [new TypeDocReader(), new TSConfigReader()]); if (!this.hasLoadedMissingExportsPlugin) { // this plugin can only be loaded once, for some reason, even though we have multiple Applications @@ -213,7 +210,11 @@ export class TypescriptPlugin implements IPlugin { const visitor = new Visitor(compiler, this.options); const project = await app.convert(); if (project === undefined) { - throw new Error(`[Documentalist] unable to generate typescript documentation for project at ${app.options.getValue("tsconfig")}`); + throw new Error( + `[Documentalist] unable to generate typescript documentation for project at ${app.options.getValue( + "tsconfig", + )}`, + ); } return compiler.objectify(visitor.visitProject(project), (i) => i.name); @@ -224,10 +225,14 @@ export class TypescriptPlugin implements IPlugin { switch (reason) { case "invalid-config": - console.error(`[Documentalist] invalid tsconfig resolved for ${file.path}, skipping documentation of this file`); + console.error( + `[Documentalist] invalid tsconfig resolved for ${file.path}, skipping documentation of this file`, + ); return undefined; case "not-found": - console.error(`[Documentalist] unable to find any relevant tsconfig for ${file.path}, skipping documentation of this file`); + console.error( + `[Documentalist] unable to find any relevant tsconfig for ${file.path}, skipping documentation of this file`, + ); return undefined; default: return path; diff --git a/packages/compiler/src/plugins/typescript/visitor.ts b/packages/compiler/src/plugins/typescript/visitor.ts index 70bdb612..6346313c 100644 --- a/packages/compiler/src/plugins/typescript/visitor.ts +++ b/packages/compiler/src/plugins/typescript/visitor.ts @@ -210,7 +210,7 @@ function getCommentTagValue(comment: Comment | undefined, tagName: string) { function getDefaultValue(ref: ParameterReflection | DeclarationReflection): string | undefined { // N.B. TypeDoc no longer sets defaultValue for enum members as of v0.23, see https://typedoc.org/guides/changelog/#v0.23.0-(2022-06-26) // Also, we typically expect enum member values to only have literal types, so we can just use the type value. - if (ref.kind === ReflectionKind.EnumMember && ref.type?.type=== "literal") { + if (ref.kind === ReflectionKind.EnumMember && ref.type?.type === "literal") { return ref.type?.value?.toString(); } From e0cecc3d64bf8347a611fcb607a0d4493e506150 Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Fri, 20 Oct 2023 14:17:56 -0400 Subject: [PATCH 20/29] remove missing exports plugin --- packages/compiler/package.json | 1 - .../compiler/src/plugins/typescript/typescriptPlugin.ts | 9 --------- yarn.lock | 5 ----- 3 files changed, 15 deletions(-) diff --git a/packages/compiler/package.json b/packages/compiler/package.json index d93f1d51..e56de633 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -26,7 +26,6 @@ "marked": "^4.0.12", "tsconfig-resolver": "^3.0.1", "typedoc": "~0.25.2", - "typedoc-plugin-missing-exports": "^2.1.0", "yargs": "^17.4.0" }, "devDependencies": { diff --git a/packages/compiler/src/plugins/typescript/typescriptPlugin.ts b/packages/compiler/src/plugins/typescript/typescriptPlugin.ts index 32371c2b..2cce3fee 100644 --- a/packages/compiler/src/plugins/typescript/typescriptPlugin.ts +++ b/packages/compiler/src/plugins/typescript/typescriptPlugin.ts @@ -19,7 +19,6 @@ import { readFileSync } from "node:fs"; import { dirname } from "node:path"; import { tsconfigResolverSync } from "tsconfig-resolver"; import { Application, LogLevel, TSConfigReader, TypeDocOptions, TypeDocReader } from "typedoc"; -import { load as loadMissingExports } from "typedoc-plugin-missing-exports"; import * as ts from "typescript"; import { Visitor } from "./visitor"; @@ -90,8 +89,6 @@ export interface ITypescriptPluginOptions { } export class TypescriptPlugin implements IPlugin { - private hasLoadedMissingExportsPlugin = false; - private typedocOptions: Partial; /* @@ -135,12 +132,6 @@ export class TypescriptPlugin implements IPlugin { }; const app = await Application.bootstrapWithPlugins(options, [new TypeDocReader(), new TSConfigReader()]); - if (!this.hasLoadedMissingExportsPlugin) { - // this plugin can only be loaded once, for some reason, even though we have multiple Applications - loadMissingExports(app); - this.hasLoadedMissingExportsPlugin = true; - } - this.typedocApps.set(tsconfig, app); const { config } = ts.readConfigFile(tsconfig, (path) => readFileSync(path, { encoding: "utf-8" })); diff --git a/yarn.lock b/yarn.lock index 3e296f99..4c9edba0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7038,11 +7038,6 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typedoc-plugin-missing-exports@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/typedoc-plugin-missing-exports/-/typedoc-plugin-missing-exports-2.1.0.tgz#f283a407eb7b3a43dafc598f44bbfc2d36dc1704" - integrity sha512-+1DhqZCEu7Vu5APnrqpPwl31D+hXpt1fV0Le9ycCRL1eLVdatdl6KVt4SEVwPxnEpKwgOn2dNX6I9+0F1aO2aA== - typedoc@~0.25.2: version "0.25.2" resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.25.2.tgz#39f525c28b6eb61da54dda4ec6b1500df620bed8" From 93ac80f634250609ae18cfb9d97bf7b552054df2 Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Fri, 20 Oct 2023 14:20:06 -0400 Subject: [PATCH 21/29] fix lint again --- packages/compiler/src/plugins/typescript/typescriptPlugin.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/compiler/src/plugins/typescript/typescriptPlugin.ts b/packages/compiler/src/plugins/typescript/typescriptPlugin.ts index 2cce3fee..81edb8d4 100644 --- a/packages/compiler/src/plugins/typescript/typescriptPlugin.ts +++ b/packages/compiler/src/plugins/typescript/typescriptPlugin.ts @@ -15,8 +15,8 @@ */ import type { ICompiler, IFile, IPlugin, ITypescriptPluginData, TypeScriptDocEntry } from "@documentalist/client"; -import { readFileSync } from "node:fs"; -import { dirname } from "node:path"; +import { readFileSync } from "fs"; +import { dirname } from "path"; import { tsconfigResolverSync } from "tsconfig-resolver"; import { Application, LogLevel, TSConfigReader, TypeDocOptions, TypeDocReader } from "typedoc"; import * as ts from "typescript"; From 4ec2747aa199432be3a634dda86c32acda9f33ce Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Fri, 20 Oct 2023 14:36:04 -0400 Subject: [PATCH 22/29] Handle @deprecated tag better --- .../__snapshots__/typescript.test.ts.snap | 52 +++++++++---------- .../src/plugins/typescript/visitor.ts | 2 +- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap b/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap index 6c3e6159..5458d76a 100644 --- a/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap +++ b/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap @@ -728,7 +728,7 @@ exports[`TypescriptPlugin interfaces snapshot 1`] = ` "extends": undefined, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -755,7 +755,7 @@ exports[`TypescriptPlugin interfaces snapshot 1`] = ` }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": true, "isPrivate": false, @@ -786,7 +786,7 @@ exports[`TypescriptPlugin interfaces snapshot 1`] = ` }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": true, "isPrivate": false, @@ -806,7 +806,7 @@ exports[`TypescriptPlugin interfaces snapshot 1`] = ` "documentation": undefined, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -833,7 +833,7 @@ exports[`TypescriptPlugin interfaces snapshot 1`] = ` }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -858,7 +858,7 @@ exports[`TypescriptPlugin interfaces snapshot 1`] = ` ], "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -880,7 +880,7 @@ exports[`TypescriptPlugin interfaces snapshot 1`] = ` "documentation": undefined, "fileName": undefined, "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -927,7 +927,7 @@ This is equivalent to setting }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": true, "isPrivate": false, @@ -954,7 +954,7 @@ This is equivalent to setting }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": true, "isPrivate": false, @@ -974,7 +974,7 @@ This is equivalent to setting "documentation": undefined, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": true, "isPrivate": false, @@ -1005,7 +1005,7 @@ This is equivalent to setting }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": true, "isPrivate": false, @@ -1040,7 +1040,7 @@ The width of the button is not affected by the value of this prop.", }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { - "isDeprecated": "", + "isDeprecated": true, "isExternal": false, "isOptional": true, "isPrivate": false, @@ -1060,7 +1060,7 @@ The width of the button is not affected by the value of this prop.", "documentation": undefined, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -1091,7 +1091,7 @@ The width of the button is not affected by the value of this prop.", }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { - "isDeprecated": "since v1.2.3", + "isDeprecated": true, "isExternal": false, "isOptional": true, "isPrivate": false, @@ -1118,7 +1118,7 @@ The width of the button is not affected by the value of this prop.", }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -1169,7 +1169,7 @@ Note that this prop has no effect on }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": true, "isPrivate": false, @@ -1203,7 +1203,7 @@ Note that this prop has no effect on "extends": undefined, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -1220,7 +1220,7 @@ Note that this prop has no effect on "documentation": undefined, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -1254,7 +1254,7 @@ callback to extract key from each item.", "documentation": undefined, "fileName": undefined, "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -1273,7 +1273,7 @@ callback to extract key from each item.", "documentation": undefined, "fileName": undefined, "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -1299,7 +1299,7 @@ callback to extract key from each item.", "documentation": undefined, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -1345,7 +1345,7 @@ is.", "documentation": undefined, "fileName": undefined, "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -1364,7 +1364,7 @@ is.", "documentation": undefined, "fileName": undefined, "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": true, "isPrivate": false, @@ -1390,7 +1390,7 @@ is.", "documentation": undefined, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -1426,7 +1426,7 @@ is.", "documentation": undefined, "fileName": undefined, "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -1464,7 +1464,7 @@ is.", }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, diff --git a/packages/compiler/src/plugins/typescript/visitor.ts b/packages/compiler/src/plugins/typescript/visitor.ts index 6346313c..c24fcef0 100644 --- a/packages/compiler/src/plugins/typescript/visitor.ts +++ b/packages/compiler/src/plugins/typescript/visitor.ts @@ -263,7 +263,7 @@ function getFlags(ref: Reflection): ITsFlags | undefined { function getIsDeprecated(ref: Reflection) { const deprecatedTagValue = getCommentTagValue(ref.comment, "deprecated"); const deprecatedModifier = ref.comment?.hasModifier("@deprecated"); - return deprecatedModifier || deprecatedTagValue; + return deprecatedModifier || (deprecatedTagValue !== undefined); } /** Returns true if value does not match all patterns. */ From ac76fb1754a38dd3243c2e86d8e61155e1318352 Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Fri, 20 Oct 2023 15:20:16 -0400 Subject: [PATCH 23/29] Fix interface property signatures --- .../__snapshots__/typescript.test.ts.snap | 27 ++++++++++++++++--- .../src/plugins/typescript/visitor.ts | 26 +++++++++++++----- 2 files changed, 44 insertions(+), 9 deletions(-) diff --git a/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap b/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap index 5458d76a..e59cc544 100644 --- a/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap +++ b/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap @@ -803,7 +803,14 @@ exports[`TypescriptPlugin interfaces snapshot 1`] = ` }, { "defaultValue": undefined, - "documentation": undefined, + "documentation": { + "contents": [ + "

Click event handler.

+", + ], + "contentsRaw": "Click event handler.", + "metadata": {}, + }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { "isDeprecated": false, @@ -971,7 +978,14 @@ This is equivalent to setting }, { "defaultValue": undefined, - "documentation": undefined, + "documentation": { + "contents": [ + "

A ref handler that receives the native HTML element backing this component.

+", + ], + "contentsRaw": "A ref handler that receives the native HTML element backing this component.", + "metadata": {}, + }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { "isDeprecated": false, @@ -1057,7 +1071,14 @@ The width of the button is not affected by the value of this prop.", }, { "defaultValue": undefined, - "documentation": undefined, + "documentation": { + "contents": [ + "

Click event handler.

+", + ], + "contentsRaw": "Click event handler.", + "metadata": {}, + }, "fileName": "src/__tests__/__fixtures__/interfaces.ts", "flags": { "isDeprecated": false, diff --git a/packages/compiler/src/plugins/typescript/visitor.ts b/packages/compiler/src/plugins/typescript/visitor.ts index c24fcef0..34349c37 100644 --- a/packages/compiler/src/plugins/typescript/visitor.ts +++ b/packages/compiler/src/plugins/typescript/visitor.ts @@ -65,14 +65,28 @@ export class Visitor { ); } - private makeDocEntry(def: Reflection, kind: K): ITsDocBase { + private makeDocEntry(ref: Reflection, kind: K): ITsDocBase { + let comment = ref.comment; + + if (comment == undefined && ref.isDeclaration()) { + // special case for interface properties which have function signatures - we need to go one level deeper + // to access the comment + ref.type?.visit({ + reflection: (reflectionType) => { + if (reflectionType.declaration.signatures !== undefined) { + comment = reflectionType.declaration.signatures[0].comment; + } + } + }); + } + return { - documentation: this.renderComment(def.comment), - fileName: getSourceFileName(def), - flags: getFlags(def), + documentation: this.renderComment(comment), + fileName: getSourceFileName(ref), + flags: getFlags(ref), kind, - name: def.name, - sourceUrl: getSourceUrl(def), + name: ref.name, + sourceUrl: getSourceUrl(ref), }; } From 119fc09021964643f6c9905c398c3c02e1428393 Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Fri, 20 Oct 2023 15:23:12 -0400 Subject: [PATCH 24/29] fix lint --- packages/compiler/src/plugins/typescript/visitor.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/compiler/src/plugins/typescript/visitor.ts b/packages/compiler/src/plugins/typescript/visitor.ts index 34349c37..7ca17abf 100644 --- a/packages/compiler/src/plugins/typescript/visitor.ts +++ b/packages/compiler/src/plugins/typescript/visitor.ts @@ -68,7 +68,7 @@ export class Visitor { private makeDocEntry(ref: Reflection, kind: K): ITsDocBase { let comment = ref.comment; - if (comment == undefined && ref.isDeclaration()) { + if (comment === undefined && ref.isDeclaration()) { // special case for interface properties which have function signatures - we need to go one level deeper // to access the comment ref.type?.visit({ @@ -76,7 +76,7 @@ export class Visitor { if (reflectionType.declaration.signatures !== undefined) { comment = reflectionType.declaration.signatures[0].comment; } - } + }, }); } @@ -277,7 +277,7 @@ function getFlags(ref: Reflection): ITsFlags | undefined { function getIsDeprecated(ref: Reflection) { const deprecatedTagValue = getCommentTagValue(ref.comment, "deprecated"); const deprecatedModifier = ref.comment?.hasModifier("@deprecated"); - return deprecatedModifier || (deprecatedTagValue !== undefined); + return deprecatedModifier || deprecatedTagValue !== undefined; } /** Returns true if value does not match all patterns. */ From 1ac43d71537f5fcd27a36893926932a34b5ee831 Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Fri, 20 Oct 2023 15:28:28 -0400 Subject: [PATCH 25/29] update more snapshots --- .../__snapshots__/typescript.test.ts.snap | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap b/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap index e59cc544..dae5f322 100644 --- a/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap +++ b/packages/compiler/src/__tests__/__snapshots__/typescript.test.ts.snap @@ -8,7 +8,7 @@ exports[`TypescriptPlugin classes snapshot 1`] = ` "documentation": undefined, "fileName": "src/__tests__/__fixtures__/classes.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -43,7 +43,7 @@ exports[`TypescriptPlugin classes snapshot 1`] = ` "documentation": undefined, "fileName": "src/__tests__/__fixtures__/classes.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -68,7 +68,7 @@ exports[`TypescriptPlugin classes snapshot 1`] = ` "documentation": undefined, "fileName": undefined, "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -94,7 +94,7 @@ exports[`TypescriptPlugin classes snapshot 1`] = ` "extends": undefined, "fileName": "src/__tests__/__fixtures__/classes.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -111,7 +111,7 @@ exports[`TypescriptPlugin classes snapshot 1`] = ` "documentation": undefined, "fileName": "src/__tests__/__fixtures__/classes.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -149,7 +149,7 @@ exports[`TypescriptPlugin classes snapshot 1`] = ` "documentation": undefined, "fileName": "src/__tests__/__fixtures__/classes.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -188,7 +188,7 @@ exports[`TypescriptPlugin classes snapshot 1`] = ` }, "fileName": undefined, "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -221,7 +221,7 @@ exports[`TypescriptPlugin classes snapshot 1`] = ` "documentation": undefined, "fileName": "src/__tests__/__fixtures__/classes.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -256,7 +256,7 @@ exports[`TypescriptPlugin classes snapshot 1`] = ` "documentation": undefined, "fileName": "src/__tests__/__fixtures__/classes.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -289,7 +289,7 @@ exports[`TypescriptPlugin classes snapshot 1`] = ` ], "fileName": "src/__tests__/__fixtures__/classes.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -306,7 +306,7 @@ exports[`TypescriptPlugin classes snapshot 1`] = ` "documentation": undefined, "fileName": "src/__tests__/__fixtures__/classes.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -344,7 +344,7 @@ exports[`TypescriptPlugin classes snapshot 1`] = ` "documentation": undefined, "fileName": "src/__tests__/__fixtures__/classes.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -383,7 +383,7 @@ exports[`TypescriptPlugin classes snapshot 1`] = ` }, "fileName": undefined, "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -419,7 +419,7 @@ exports[`TypescriptPlugin enums snapshot 1`] = ` "documentation": undefined, "fileName": "src/__tests__/__fixtures__/enums.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -444,7 +444,7 @@ exports[`TypescriptPlugin enums snapshot 1`] = ` }, "fileName": "src/__tests__/__fixtures__/enums.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -460,7 +460,7 @@ exports[`TypescriptPlugin enums snapshot 1`] = ` "documentation": undefined, "fileName": "src/__tests__/__fixtures__/enums.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -478,7 +478,7 @@ exports[`TypescriptPlugin enums snapshot 1`] = ` "documentation": undefined, "fileName": "src/__tests__/__fixtures__/enums.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -496,7 +496,7 @@ exports[`TypescriptPlugin enums snapshot 1`] = ` "documentation": undefined, "fileName": "src/__tests__/__fixtures__/enums.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -514,7 +514,7 @@ exports[`TypescriptPlugin enums snapshot 1`] = ` "documentation": undefined, "fileName": "src/__tests__/__fixtures__/enums.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -540,7 +540,7 @@ exports[`TypescriptPlugin functions snapshot 1`] = ` "documentation": undefined, "fileName": "src/__tests__/__fixtures__/functions.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -579,7 +579,7 @@ exports[`TypescriptPlugin functions snapshot 1`] = ` }, "fileName": undefined, "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -605,7 +605,7 @@ exports[`TypescriptPlugin functions snapshot 1`] = ` }, "fileName": undefined, "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -631,7 +631,7 @@ exports[`TypescriptPlugin functions snapshot 1`] = ` "documentation": undefined, "fileName": "src/__tests__/__fixtures__/functions.ts", "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -670,7 +670,7 @@ exports[`TypescriptPlugin functions snapshot 1`] = ` }, "fileName": undefined, "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, @@ -696,7 +696,7 @@ exports[`TypescriptPlugin functions snapshot 1`] = ` }, "fileName": undefined, "flags": { - "isDeprecated": undefined, + "isDeprecated": false, "isExternal": false, "isOptional": false, "isPrivate": false, From 53f106a027c6f86f2e58d3af5edd709b6439d62b Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Fri, 20 Oct 2023 15:33:09 -0400 Subject: [PATCH 26/29] remove extraneous type definitions --- packages/compiler/src/typedoc-plugin-missing-exports.d.ts | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 packages/compiler/src/typedoc-plugin-missing-exports.d.ts diff --git a/packages/compiler/src/typedoc-plugin-missing-exports.d.ts b/packages/compiler/src/typedoc-plugin-missing-exports.d.ts deleted file mode 100644 index 5533c6da..00000000 --- a/packages/compiler/src/typedoc-plugin-missing-exports.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -declare module "typedoc-plugin-missing-exports" { - import { Application } from "typedoc"; - export function load(app: Application): void; -} \ No newline at end of file From 1bd1cafe9f3d90da5330120b616e0df0a127766c Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Mon, 23 Oct 2023 16:36:19 -0400 Subject: [PATCH 27/29] dedupe lockfile --- yarn.lock | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/yarn.lock b/yarn.lock index 0d6329cf..05ffe8e2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6913,12 +6913,7 @@ tslib@^1.13.0, tslib@^1.7.1, tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== -tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0, tslib@^2.5.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -tslib@~2.5.0: +tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0, tslib@^2.5.0, tslib@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== From 4078481072cc3892cd4473d7415bcd170595f3a4 Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Mon, 23 Oct 2023 16:40:22 -0400 Subject: [PATCH 28/29] address minor review comments --- packages/compiler/package.json | 2 +- .../compiler/src/plugins/typescript/visitor.ts | 9 ++++----- yarn.lock | 17 +++++++++++------ 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/packages/compiler/package.json b/packages/compiler/package.json index e56de633..c20577c1 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -29,7 +29,7 @@ "yargs": "^17.4.0" }, "devDependencies": { - "@types/glob": "^7.2.0", + "@types/glob": "^8.1.0", "@types/jest": "^27.4.1", "@types/js-yaml": "^4.0.5", "@types/marked": "^4.0.8", diff --git a/packages/compiler/src/plugins/typescript/visitor.ts b/packages/compiler/src/plugins/typescript/visitor.ts index 7ca17abf..02b7f7fe 100644 --- a/packages/compiler/src/plugins/typescript/visitor.ts +++ b/packages/compiler/src/plugins/typescript/visitor.ts @@ -102,8 +102,8 @@ export class Visitor { private visitInterface = (def: DeclarationReflection): ITsInterface => ({ ...this.makeDocEntry(def, Kind.Interface), - extends: def.extendedTypes && def.extendedTypes.map(resolveTypeString), - implements: def.implementedTypes && def.implementedTypes.map(resolveTypeString), + extends: def.extendedTypes?.map(resolveTypeString), + implements: def.implementedTypes?.map(resolveTypeString), indexSignature: def.indexSignature && this.visitSignature(def.indexSignature), methods: this.visitChildren(def.getChildrenByKind(ReflectionKind.Method), this.visitMethod, sortStaticFirst), properties: this.visitChildren( @@ -161,7 +161,7 @@ export class Visitor { if (param.getSignature) { type = resolveTypeString(param.getSignature.type); - } else if (param.setSignature && param.setSignature.parameters && param.setSignature.parameters[0]) { + } else if (param.setSignature?.parameters && param.setSignature?.parameters[0] !== undefined) { type = resolveTypeString(param.setSignature.parameters[0].type); } else { throw Error("Accessor did neither define get nor set signature."); @@ -249,8 +249,7 @@ function isSignatureReflection(reflection: Reflection): reflection is SignatureR function getSourceUrl(reflection: Reflection): string | undefined { if (reflection.isDeclaration() || isSignatureReflection(reflection)) { if (reflection.sources !== undefined) { - const source = reflection.sources[0]; - return source && source.url; + return reflection.sources[0]?.url; } } return undefined; diff --git a/yarn.lock b/yarn.lock index 05ffe8e2..c9eddbab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1473,12 +1473,12 @@ resolved "https://registry.yarnpkg.com/@types/btoa-lite/-/btoa-lite-1.0.1.tgz#5aef84ea6cc0d145d1ff9e6ea3d6c7e8d402f477" integrity sha512-YwCjy5v1THSaj5KrBz0SKwKYtjwT0YpOm8VB4TR6DzyvTa503T+rE0Ku6Q3DUKtm1rzNrEXyqdYHpcLiYN6oXg== -"@types/glob@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" - integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== +"@types/glob@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-8.1.0.tgz#b63e70155391b0584dce44e7ea25190bbc38f2fc" + integrity sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w== dependencies: - "@types/minimatch" "*" + "@types/minimatch" "^5.1.2" "@types/node" "*" "@types/graceful-fs@^4.1.3": @@ -1542,11 +1542,16 @@ resolved "https://registry.yarnpkg.com/@types/marked/-/marked-4.0.8.tgz#b316887ab3499d0a8f4c70b7bd8508f92d477955" integrity sha512-HVNzMT5QlWCOdeuBsgXP8EZzKUf0+AXzN+sLmjvaB3ZlLqO+e4u0uXrdw9ub69wBKFs+c6/pA4r9sy6cCDvImw== -"@types/minimatch@*", "@types/minimatch@^3.0.3": +"@types/minimatch@^3.0.3": version "3.0.5" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== +"@types/minimatch@^5.1.2": + version "5.1.2" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" + integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== + "@types/minimist@^1.2.0": version "1.2.2" resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" From 30bfb7d3f2262995f61d92f46ea8c5bf8eeb27cc Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Mon, 23 Oct 2023 16:44:35 -0400 Subject: [PATCH 29/29] don't capitalize TypeScript in public API --- packages/client/src/typescript.ts | 4 ++-- packages/compiler/src/plugins/typescript/typescriptPlugin.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/client/src/typescript.ts b/packages/client/src/typescript.ts index 518faaf4..dc8d0eb2 100644 --- a/packages/client/src/typescript.ts +++ b/packages/client/src/typescript.ts @@ -190,7 +190,7 @@ export interface ITsTypeAlias extends ITsDocBase { type: string; } -export type TypeScriptDocEntry = ITsClass | ITsInterface | ITsEnum | ITsMethod | ITsTypeAlias; +export type TypescriptDocEntry = ITsClass | ITsInterface | ITsEnum | ITsMethod | ITsTypeAlias; /** * The `TypescriptPlugin` exports a `typescript` key that contains a map of member name to @@ -201,7 +201,7 @@ export type TypeScriptDocEntry = ITsClass | ITsInterface | ITsEnum | ITsMethod | */ export interface ITypescriptPluginData { typescript: { - [name: string]: TypeScriptDocEntry; + [name: string]: TypescriptDocEntry; }; } diff --git a/packages/compiler/src/plugins/typescript/typescriptPlugin.ts b/packages/compiler/src/plugins/typescript/typescriptPlugin.ts index 81edb8d4..a4f06568 100644 --- a/packages/compiler/src/plugins/typescript/typescriptPlugin.ts +++ b/packages/compiler/src/plugins/typescript/typescriptPlugin.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import type { ICompiler, IFile, IPlugin, ITypescriptPluginData, TypeScriptDocEntry } from "@documentalist/client"; +import type { ICompiler, IFile, IPlugin, ITypescriptPluginData, TypescriptDocEntry } from "@documentalist/client"; import { readFileSync } from "fs"; import { dirname } from "path"; import { tsconfigResolverSync } from "tsconfig-resolver"; @@ -172,7 +172,7 @@ export class TypescriptPlugin implements IPlugin { } } - const output: Record = {}; + const output: Record = {}; for (const projectPath of existingProjectsToCompile) { const app = this.typedocApps.get(projectPath);