diff --git a/.all-contributorsrc b/.all-contributorsrc index daf60f8..beff3f6 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -50,6 +50,36 @@ "profile": "https://survivejs.com/", "contributions": [ "infra", + "test", + "code", + "doc" + ] + }, + { + "login": "zhzz", + "name": "Egor Pogadaev", + "avatar_url": "https://avatars.githubusercontent.com/u/4607770?v=4", + "profile": "https://github.com/zhzz", + "contributions": [ + "test", + "code" + ] + }, + { + "login": "sairus2k", + "name": "Anton Savoskin", + "avatar_url": "https://avatars.githubusercontent.com/u/1106887?v=4", + "profile": "https://github.com/sairus2k", + "contributions": [ + "code" + ] + }, + { + "login": "TrevorBurnham", + "name": "Trevor Burnham", + "avatar_url": "https://avatars.githubusercontent.com/u/224895?v=4", + "profile": "http://trevorburnham.com/", + "contributions": [ "test", "code" ] diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 2e8f99e..e855897 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -1,51 +1,25 @@ -name: Node CI +name: Publish -on: - push: - branches: - - master - pull_request: - branches: - - master +on: [push] jobs: - build: - runs-on: ubuntu-latest - - strategy: - matrix: - node-version: [12.x, 14.x] - - steps: - - uses: actions/checkout@v1 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - name: npm install, build, and lint - run: | - yarn - yarn build - yarn lint - yarn test - release: runs-on: ubuntu-latest if: "!contains(github.event.head_commit.message, 'ci skip') && !contains(github.event.head_commit.message, 'skip ci')" steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Prepare repository run: git fetch --unshallow --tags - - name: Use Node.js 12.x + - name: Use Node.js 16.x uses: actions/setup-node@v1 with: - node-version: 12.x + node-version: 16.x - name: Create Release env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} run: | yarn install --frozen-lockfile diff --git a/CHANGELOG.md b/CHANGELOG.md index 469f587..fab2726 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,69 @@ +# v1.0.5 (Sun Feb 05 2023) + +#### 🐛 Bug Fix + +- Use component expression name as identifier [#58](https://github.com/hipstersmoothie/react-docgen-typescript-plugin/pull/58) ([@TrevorBurnham](https://github.com/TrevorBurnham)) + +#### Authors: 1 + +- Trevor Burnham ([@TrevorBurnham](https://github.com/TrevorBurnham)) + +--- + +# v1.0.4 (Fri Feb 03 2023) + +#### 🐛 Bug Fix + +- fix: Add missing getModuleEvaluationSideEffectsState [#46](https://github.com/hipstersmoothie/react-docgen-typescript-plugin/pull/46) ([@bebraw](https://github.com/bebraw) [@hipstersmoothie](https://github.com/hipstersmoothie)) + +#### Authors: 2 + +- Andrew Lisowski ([@hipstersmoothie](https://github.com/hipstersmoothie)) +- Juho Vepsäläinen ([@bebraw](https://github.com/bebraw)) + +--- + +# v1.0.3 (Fri Feb 03 2023) + +#### 🐛 Bug Fix + +- fix - Fix webpack 4 hmr after refresh + fix rebuild performance + fix webpack 5 serialization [#45](https://github.com/hipstersmoothie/react-docgen-typescript-plugin/pull/45) ([@bebraw](https://github.com/bebraw) [@hipstersmoothie](https://github.com/hipstersmoothie)) + +#### Authors: 2 + +- Andrew Lisowski ([@hipstersmoothie](https://github.com/hipstersmoothie)) +- Juho Vepsäläinen ([@bebraw](https://github.com/bebraw)) + +--- + +# v1.0.2 (Mon Oct 17 2022) + +:tada: This release contains work from a new contributor! :tada: + +Thank you, Anton Savoskin ([@sairus2k](https://github.com/sairus2k)), for all your work! + +#### 🐛 Bug Fix + +- Update typescript and fix deprecation warnings [#70](https://github.com/hipstersmoothie/react-docgen-typescript-plugin/pull/70) (a.savoskin@kvarta.ru) + +#### Authors: 1 + +- Anton Savoskin ([@sairus2k](https://github.com/sairus2k)) + +--- + +# v1.0.1 (Mon Mar 21 2022) + +#### 🐛 Bug Fix + +- fix: respect falsy custom options [#49](https://github.com/hipstersmoothie/react-docgen-typescript-plugin/pull/49) ([@zhzz](https://github.com/zhzz)) + +#### Authors: 1 + +- Egor Pogadaev ([@zhzz](https://github.com/zhzz)) + +--- + # v1.0.0 (Sat Jun 05 2021) #### 💥 Breaking Change diff --git a/README.md b/README.md index 34a14b9..bc550be 100644 --- a/README.md +++ b/README.md @@ -81,7 +81,10 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Andrew Lisowski

💻 🎨 📖 🤔 🚧 🚇 ⚠️
Michael Shilman

💻
Kyle Herock

💻 -
Juho Vepsäläinen

🚇 ⚠️ 💻 +
Juho Vepsäläinen

🚇 ⚠️ 💻 📖 +
Egor Pogadaev

⚠️ 💻 +
Anton Savoskin

💻 +
Trevor Burnham

⚠️ 💻 diff --git a/package.json b/package.json index 72c48bd..4cd1483 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "react-docgen-typescript-plugin", - "version": "1.0.0", + "name": "@storybook/react-docgen-typescript-plugin", + "version": "1.0.5", "description": "A webpack plugin to inject react typescript docgen information.", "license": "MIT", "repository": "hipstersmoothie/react-docgen-typescript-plugin", @@ -38,9 +38,8 @@ "find-cache-dir": "^3.3.1", "flat-cache": "^3.0.4", "micromatch": "^4.0.2", - "react-docgen-typescript": "^1.22.0", - "tslib": "^2.0.0", - "webpack-sources": "^2.2.0" + "react-docgen-typescript": "^2.2.2", + "tslib": "^2.0.0" }, "devDependencies": { "@types/debug": "^4.1.5", @@ -50,11 +49,9 @@ "@types/micromatch": "^4.0.1", "@types/node": "^14.0.12", "@types/react": "^17.0.0", - "@types/webpack-sources": "^2.1.0", "@typescript-eslint/eslint-plugin": "^4.9.0", "@typescript-eslint/parser": "^4.9.0", - "auto": "^10.2.3", - "auto-config-hipstersmoothie": "^4.0.0", + "auto": "^10.43.0", "eslint": "^7.14.0", "eslint-config-airbnb-base": "^14.2.1", "eslint-config-prettier": "6.11.0", @@ -71,13 +68,13 @@ "react": "^17.0.1", "ts-jest": "^26.5.6", "ts-loader": "^9.1.2", - "typescript": "3.8.3", + "typescript": "4.8.3", "webpack": "^5.36.2", "webpack-cli": "^4.7.0", "yarn-add-no-save": "^1.0.3" }, "peerDependencies": { - "typescript": ">= 3.x", + "typescript": ">= 4.x", "webpack": ">= 4" }, "lint-staged": { @@ -85,8 +82,5 @@ "prettier --write", "git add" ] - }, - "auto": { - "extends": "hipstersmoothie" } } diff --git a/src/__tests__/__fixtures__/DefaultExportComponent.tsx b/src/__tests__/__fixtures__/DefaultExportComponent.tsx new file mode 100644 index 0000000..71b7578 --- /dev/null +++ b/src/__tests__/__fixtures__/DefaultExportComponent.tsx @@ -0,0 +1,35 @@ +import * as React from "react"; + +interface DefaultPropValueComponentProps { + /** + * Button color. + * + * @default blue + **/ + color: "blue" | "green"; + + /** + * Button counter. + */ + counter: number; + + /** + * Button disabled. + */ + disabled: boolean; +} + +/** + * Component with a prop with a default value. + */ +export default function DefaultExportComponent(props: React.PropsWithChildren + {props.counter} + {props.children} + ); +} + +DefaultExportComponent.defaultProps = { + counter: 123, + disabled: false, +}; diff --git a/src/__tests__/__fixtures__/DefaultExportComponentFC.tsx b/src/__tests__/__fixtures__/DefaultExportComponentFC.tsx new file mode 100644 index 0000000..711f180 --- /dev/null +++ b/src/__tests__/__fixtures__/DefaultExportComponentFC.tsx @@ -0,0 +1,34 @@ +import * as React from "react"; + +interface DefaultExportComponentFCProps { + /** + * Button color. + * + * @default blue + **/ + color: "blue" | "green"; + + /** + * Button counter. + */ + counter: number; + + /** + * Button disabled. + */ + disabled: boolean; +} + +/** + * Component with a prop with a default value. + */ +const DefaultExportComponentFC: React.FC = ( + props +) => ( + +); + +export default DefaultExportComponentFC; diff --git a/src/__tests__/__fixtures__/DefaultExportComponentFC2.tsx b/src/__tests__/__fixtures__/DefaultExportComponentFC2.tsx new file mode 100644 index 0000000..0210d6c --- /dev/null +++ b/src/__tests__/__fixtures__/DefaultExportComponentFC2.tsx @@ -0,0 +1,34 @@ +import * as React from "react"; + +interface DefaultExportComponentFC2Props { + /** + * Button color. + * + * @default blue + **/ + color: "blue" | "green"; + + /** + * Button counter. + */ + counter: number; + + /** + * Button disabled. + */ + disabled: boolean; +} + +/** + * Component with a prop with a default value. + */ +const DefaultExportComponentFC2 = ( + props: React.PropsWithChildren +) => ( + +); + +export default DefaultExportComponentFC2; diff --git a/src/__tests__/__fixtures__/DefaultExportComponentFC3.tsx b/src/__tests__/__fixtures__/DefaultExportComponentFC3.tsx new file mode 100644 index 0000000..66b2cf0 --- /dev/null +++ b/src/__tests__/__fixtures__/DefaultExportComponentFC3.tsx @@ -0,0 +1,34 @@ +import * as React from "react"; + +interface DefaultExportComponentFC3Props { + /** + * Button color. + * + * @default blue + **/ + color: "blue" | "green"; + + /** + * Button counter. + */ + counter: number; + + /** + * Button disabled. + */ + disabled: boolean; +} + +/** + * Component with a prop with a default value. + */ +export const DefaultExportComponentFC3: React.FC = ( + props +) => ( + +); + +export default DefaultExportComponentFC3; diff --git a/src/__tests__/__fixtures__/DefaultExportForwardRef.tsx b/src/__tests__/__fixtures__/DefaultExportForwardRef.tsx new file mode 100644 index 0000000..aec9a16 --- /dev/null +++ b/src/__tests__/__fixtures__/DefaultExportForwardRef.tsx @@ -0,0 +1,34 @@ +import * as React from "react"; + +interface DefaultExportForwardRefProps { + /** + * Button color. + * + * @default blue + **/ + color: "blue" | "green"; + + /** + * Button counter. + */ + counter: number; + + /** + * Button disabled. + */ + disabled: boolean; +} + +/** + * Component with a prop with a default value. + */ +const DefaultExportForwardRef = React.forwardRef( + (props: React.PropsWithChildren, ref) => ( + + ) +); + +export default DefaultExportForwardRef; diff --git a/src/__tests__/__fixtures__/DisplayName.tsx b/src/__tests__/__fixtures__/DisplayName.tsx new file mode 100644 index 0000000..965b489 --- /dev/null +++ b/src/__tests__/__fixtures__/DisplayName.tsx @@ -0,0 +1,11 @@ +import * as React from "react"; + +interface ButtonComponentProps { + text: string; +} + +export const Button = (props: ButtonComponentProps) => ( + +); + +Button.displayName = "MyButtonDisplayName"; diff --git a/src/__tests__/__fixtures__/MarketBad.tsx b/src/__tests__/__fixtures__/MarketBad.tsx new file mode 100644 index 0000000..f2d6a91 --- /dev/null +++ b/src/__tests__/__fixtures__/MarketBad.tsx @@ -0,0 +1,13 @@ +import React from 'react'; + +type Props = { + title: string; + market: string; + isFutures?: boolean; +}; + +const MarketBad = (props: Props) => { + return null; +}; + +export { MarketBad }; \ No newline at end of file diff --git a/src/__tests__/__snapshots__/generateDocgenCodeBlock.test.ts.snap b/src/__tests__/__snapshots__/generateDocgenCodeBlock.test.ts.snap index 316ff3d..d6cb57f 100644 --- a/src/__tests__/__snapshots__/generateDocgenCodeBlock.test.ts.snap +++ b/src/__tests__/__snapshots__/generateDocgenCodeBlock.test.ts.snap @@ -28,6 +28,232 @@ try { catch (__react_docgen_typescript_loader_error) { }" `; +exports[`component fixture DefaultExportComponent.tsx has code block generated 1`] = ` +"import * as React from \\"react\\"; + +interface DefaultPropValueComponentProps { + /** + * Button color. + * + * @default blue + **/ + color: \\"blue\\" | \\"green\\"; + + /** + * Button counter. + */ + counter: number; + + /** + * Button disabled. + */ + disabled: boolean; +} + +/** + * Component with a prop with a default value. + */ +export default function DefaultExportComponent(props: React.PropsWithChildren + {props.counter} + {props.children} + ); +} + +DefaultExportComponent.defaultProps = { + counter: 123, + disabled: false, +}; + +try { + // @ts-ignore + DefaultExportComponent.displayName = \\"DefaultExportComponent\\"; + // @ts-ignore + DefaultExportComponent.__docgenInfo = { \\"description\\": \\"Component with a prop with a default value.\\", \\"displayName\\": \\"DefaultExportComponent\\", \\"props\\": { \\"color\\": { \\"defaultValue\\": { value: \\"blue\\" }, \\"description\\": \\"Button color.\\", \\"name\\": \\"color\\", \\"required\\": true, \\"type\\": { \\"name\\": \\"\\\\\\"blue\\\\\\" | \\\\\\"green\\\\\\"\\" } }, \\"counter\\": { \\"defaultValue\\": { value: 123 }, \\"description\\": \\"Button counter.\\", \\"name\\": \\"counter\\", \\"required\\": false, \\"type\\": { \\"name\\": \\"number\\" } }, \\"disabled\\": { \\"defaultValue\\": { value: false }, \\"description\\": \\"Button disabled.\\", \\"name\\": \\"disabled\\", \\"required\\": false, \\"type\\": { \\"name\\": \\"boolean\\" } } } }; +} +catch (__react_docgen_typescript_loader_error) { }" +`; + +exports[`component fixture DefaultExportComponentFC.tsx has code block generated 1`] = ` +"import * as React from \\"react\\"; + +interface DefaultExportComponentFCProps { + /** + * Button color. + * + * @default blue + **/ + color: \\"blue\\" | \\"green\\"; + + /** + * Button counter. + */ + counter: number; + + /** + * Button disabled. + */ + disabled: boolean; +} + +/** + * Component with a prop with a default value. + */ +const DefaultExportComponentFC: React.FC = ( + props +) => ( + +); + +export default DefaultExportComponentFC; + +try { + // @ts-ignore + DefaultExportComponentFC.displayName = \\"DefaultExportComponentFC\\"; + // @ts-ignore + DefaultExportComponentFC.__docgenInfo = { \\"description\\": \\"Component with a prop with a default value.\\", \\"displayName\\": \\"DefaultExportComponentFC\\", \\"props\\": { \\"color\\": { \\"defaultValue\\": { value: \\"blue\\" }, \\"description\\": \\"Button color.\\", \\"name\\": \\"color\\", \\"required\\": true, \\"type\\": { \\"name\\": \\"\\\\\\"blue\\\\\\" | \\\\\\"green\\\\\\"\\" } }, \\"counter\\": { \\"defaultValue\\": null, \\"description\\": \\"Button counter.\\", \\"name\\": \\"counter\\", \\"required\\": true, \\"type\\": { \\"name\\": \\"number\\" } }, \\"disabled\\": { \\"defaultValue\\": null, \\"description\\": \\"Button disabled.\\", \\"name\\": \\"disabled\\", \\"required\\": true, \\"type\\": { \\"name\\": \\"boolean\\" } } } }; +} +catch (__react_docgen_typescript_loader_error) { }" +`; + +exports[`component fixture DefaultExportComponentFC2.tsx has code block generated 1`] = ` +"import * as React from \\"react\\"; + +interface DefaultExportComponentFC2Props { + /** + * Button color. + * + * @default blue + **/ + color: \\"blue\\" | \\"green\\"; + + /** + * Button counter. + */ + counter: number; + + /** + * Button disabled. + */ + disabled: boolean; +} + +/** + * Component with a prop with a default value. + */ +const DefaultExportComponentFC2 = ( + props: React.PropsWithChildren +) => ( + +); + +export default DefaultExportComponentFC2; + +try { + // @ts-ignore + DefaultExportComponentFC2.displayName = \\"DefaultExportComponentFC2\\"; + // @ts-ignore + DefaultExportComponentFC2.__docgenInfo = { \\"description\\": \\"Component with a prop with a default value.\\", \\"displayName\\": \\"DefaultExportComponentFC2\\", \\"props\\": { \\"color\\": { \\"defaultValue\\": { value: \\"blue\\" }, \\"description\\": \\"Button color.\\", \\"name\\": \\"color\\", \\"required\\": true, \\"type\\": { \\"name\\": \\"\\\\\\"blue\\\\\\" | \\\\\\"green\\\\\\"\\" } }, \\"counter\\": { \\"defaultValue\\": null, \\"description\\": \\"Button counter.\\", \\"name\\": \\"counter\\", \\"required\\": true, \\"type\\": { \\"name\\": \\"number\\" } }, \\"disabled\\": { \\"defaultValue\\": null, \\"description\\": \\"Button disabled.\\", \\"name\\": \\"disabled\\", \\"required\\": true, \\"type\\": { \\"name\\": \\"boolean\\" } } } }; +} +catch (__react_docgen_typescript_loader_error) { }" +`; + +exports[`component fixture DefaultExportComponentFC3.tsx has code block generated 1`] = ` +"import * as React from \\"react\\"; + +interface DefaultExportComponentFC3Props { + /** + * Button color. + * + * @default blue + **/ + color: \\"blue\\" | \\"green\\"; + + /** + * Button counter. + */ + counter: number; + + /** + * Button disabled. + */ + disabled: boolean; +} + +/** + * Component with a prop with a default value. + */ +export const DefaultExportComponentFC3: React.FC = ( + props +) => ( + +); + +export default DefaultExportComponentFC3; + +try { + // @ts-ignore + DefaultExportComponentFC3.displayName = \\"DefaultExportComponentFC3\\"; + // @ts-ignore + DefaultExportComponentFC3.__docgenInfo = { \\"description\\": \\"Component with a prop with a default value.\\", \\"displayName\\": \\"DefaultExportComponentFC3\\", \\"props\\": { \\"color\\": { \\"defaultValue\\": { value: \\"blue\\" }, \\"description\\": \\"Button color.\\", \\"name\\": \\"color\\", \\"required\\": true, \\"type\\": { \\"name\\": \\"\\\\\\"blue\\\\\\" | \\\\\\"green\\\\\\"\\" } }, \\"counter\\": { \\"defaultValue\\": null, \\"description\\": \\"Button counter.\\", \\"name\\": \\"counter\\", \\"required\\": true, \\"type\\": { \\"name\\": \\"number\\" } }, \\"disabled\\": { \\"defaultValue\\": null, \\"description\\": \\"Button disabled.\\", \\"name\\": \\"disabled\\", \\"required\\": true, \\"type\\": { \\"name\\": \\"boolean\\" } } } }; +} +catch (__react_docgen_typescript_loader_error) { }" +`; + +exports[`component fixture DefaultExportForwardRef.tsx has code block generated 1`] = ` +"import * as React from \\"react\\"; + +interface DefaultExportForwardRefProps { + /** + * Button color. + * + * @default blue + **/ + color: \\"blue\\" | \\"green\\"; + + /** + * Button counter. + */ + counter: number; + + /** + * Button disabled. + */ + disabled: boolean; +} + +/** + * Component with a prop with a default value. + */ +const DefaultExportForwardRef = React.forwardRef( + (props: React.PropsWithChildren, ref) => ( + + ) +); + +export default DefaultExportForwardRef; + +try { + // @ts-ignore + DefaultExportForwardRef.displayName = \\"DefaultExportForwardRef\\"; + // @ts-ignore + DefaultExportForwardRef.__docgenInfo = { \\"description\\": \\"Component with a prop with a default value.\\", \\"displayName\\": \\"DefaultExportForwardRef\\", \\"props\\": { \\"color\\": { \\"defaultValue\\": { value: \\"blue\\" }, \\"description\\": \\"Button color.\\", \\"name\\": \\"color\\", \\"required\\": true, \\"type\\": { \\"name\\": \\"\\\\\\"blue\\\\\\" | \\\\\\"green\\\\\\"\\" } }, \\"counter\\": { \\"defaultValue\\": null, \\"description\\": \\"Button counter.\\", \\"name\\": \\"counter\\", \\"required\\": true, \\"type\\": { \\"name\\": \\"number\\" } }, \\"disabled\\": { \\"defaultValue\\": null, \\"description\\": \\"Button disabled.\\", \\"name\\": \\"disabled\\", \\"required\\": true, \\"type\\": { \\"name\\": \\"boolean\\" } }, \\"ref\\": { \\"defaultValue\\": null, \\"description\\": \\"\\", \\"name\\": \\"ref\\", \\"required\\": false, \\"type\\": { \\"name\\": \\"Ref\\" } }, \\"key\\": { \\"defaultValue\\": null, \\"description\\": \\"\\", \\"name\\": \\"key\\", \\"required\\": false, \\"type\\": { \\"name\\": \\"Key\\" } } } }; +} +catch (__react_docgen_typescript_loader_error) { }" +`; + exports[`component fixture DefaultPropValue.tsx has code block generated 1`] = ` "import * as React from \\"react\\"; @@ -76,6 +302,28 @@ try { catch (__react_docgen_typescript_loader_error) { }" `; +exports[`component fixture DisplayName.tsx has code block generated 1`] = ` +"import * as React from \\"react\\"; + +interface ButtonComponentProps { + text: string; +} + +export const Button = (props: ButtonComponentProps) => ( + +); + +Button.displayName = \\"MyButtonDisplayName\\"; + +try { + // @ts-ignore + Button.displayName = \\"MyButtonDisplayName\\"; + // @ts-ignore + Button.__docgenInfo = { \\"description\\": \\"\\", \\"displayName\\": \\"MyButtonDisplayName\\", \\"props\\": { \\"text\\": { \\"defaultValue\\": null, \\"description\\": \\"\\", \\"name\\": \\"text\\", \\"required\\": true, \\"type\\": { \\"name\\": \\"string\\" } } } }; +} +catch (__react_docgen_typescript_loader_error) { }" +`; + exports[`component fixture HyphenatedPropName.tsx has code block generated 1`] = ` "import * as React from \\"react\\"; @@ -104,6 +352,29 @@ try { catch (__react_docgen_typescript_loader_error) { }" `; +exports[`component fixture MarketBad.tsx has code block generated 1`] = ` +"import React from 'react'; + +type Props = { + title: string; + market: string; + isFutures?: boolean; +}; + +const MarketBad = (props: Props) => { + return null; +}; + +export { MarketBad }; +try { + // @ts-ignore + MarketBad.displayName = \\"MarketBad\\"; + // @ts-ignore + MarketBad.__docgenInfo = { \\"description\\": \\"\\", \\"displayName\\": \\"MarketBad\\", \\"props\\": { \\"title\\": { \\"defaultValue\\": null, \\"description\\": \\"\\", \\"name\\": \\"title\\", \\"required\\": true, \\"type\\": { \\"name\\": \\"string\\" } }, \\"market\\": { \\"defaultValue\\": null, \\"description\\": \\"\\", \\"name\\": \\"market\\", \\"required\\": true, \\"type\\": { \\"name\\": \\"string\\" } }, \\"isFutures\\": { \\"defaultValue\\": null, \\"description\\": \\"\\", \\"name\\": \\"isFutures\\", \\"required\\": false, \\"type\\": { \\"name\\": \\"boolean\\" } } } }; +} +catch (__react_docgen_typescript_loader_error) { }" +`; + exports[`component fixture MultiProps.tsx has code block generated 1`] = ` "import * as React from \\"react\\"; diff --git a/src/__tests__/generateDocgenCodeBlock.test.ts b/src/__tests__/generateDocgenCodeBlock.test.ts index 0f62f53..3bbbb1a 100644 --- a/src/__tests__/generateDocgenCodeBlock.test.ts +++ b/src/__tests__/generateDocgenCodeBlock.test.ts @@ -6,7 +6,9 @@ import { GeneratorOptions, } from "../generateDocgenCodeBlock"; -function getGeneratorOptions(parserOptions: ParserOptions = {}) { +const defaultParserOptions = { shouldIncludeExpression: true }; + +function getGeneratorOptions(parserOptions: ParserOptions) { return (filename: string) => { const filePath = path.resolve(__dirname, "__fixtures__", filename); @@ -24,7 +26,7 @@ function getGeneratorOptions(parserOptions: ParserOptions = {}) { function loadFixtureTests(): GeneratorOptions[] { return fs .readdirSync(path.resolve(__dirname, "__fixtures__")) - .map(getGeneratorOptions()); + .map(getGeneratorOptions(defaultParserOptions)); } const fixtureTests: GeneratorOptions[] = loadFixtureTests(); @@ -52,9 +54,10 @@ it("adds component to docgen collection", () => { it("generates value info for enums", () => { expect( generateDocgenCodeBlock( - getGeneratorOptions({ shouldExtractLiteralValuesFromEnum: true })( - "DefaultPropValue.tsx" - ) + getGeneratorOptions({ + ...defaultParserOptions, + shouldExtractLiteralValuesFromEnum: true, + })("DefaultPropValue.tsx") ) ).toMatchSnapshot(); }); diff --git a/src/dependency.ts b/src/dependency.ts index 6d9d67a..20f9fb5 100644 --- a/src/dependency.ts +++ b/src/dependency.ts @@ -9,6 +9,9 @@ import makeSerializable from "webpack/lib/util/makeSerializable.js"; // @ts-ignore: What's the right way to refer to this one? import NullDependency from "webpack/lib/dependencies/NullDependency.js"; +// This won't be needed when only webpack 5+ can be supported. Patching for now. +type Context = { write: (a: string) => void; read: () => string }; + class DocGenDependency extends NullDependency { public codeBlock: string; @@ -18,9 +21,27 @@ class DocGenDependency extends NullDependency { this.codeBlock = codeBlock; } + get type(): string { + return "docgen"; + } + + getModuleEvaluationSideEffectsState(): boolean { + return false; + } + updateHash: webpack.dependencies.NullDependency["updateHash"] = (hash) => { hash.update(this.codeBlock); }; + + serialize(context: Context): void { + const { write } = context; + write(this.codeBlock); + } + + deserialize(context: Context): void { + const { read } = context; + this.codeBlock = read(); + } } makeSerializable( @@ -46,7 +67,8 @@ class DocGenTemplate extends NullDependency.Template }; } -// @ts-ignore TODO: How to type this correctly? +// eslint-disable-next-line +// @ts-expect-error TODO: How to type this correctly? DocGenDependency.Template = DocGenTemplate; // Default imports are tricky with CommonJS diff --git a/src/generateDocgenCodeBlock.ts b/src/generateDocgenCodeBlock.ts index e425ba5..c36756e 100644 --- a/src/generateDocgenCodeBlock.ts +++ b/src/generateDocgenCodeBlock.ts @@ -1,6 +1,7 @@ import path from "path"; import ts from "typescript"; import { ComponentDoc, PropItem } from "react-docgen-typescript"; +import { getIdentifier } from "./getIdentifier"; export interface GeneratorOptions { filename: string; @@ -44,14 +45,14 @@ function insertTsIgnoreBeforeStatement(statement: ts.Statement): ts.Statement { */ function setDisplayName(d: ComponentDoc): ts.Statement { return insertTsIgnoreBeforeStatement( - ts.createExpressionStatement( - ts.createBinary( - ts.createPropertyAccess( - ts.createIdentifier(d.displayName), - ts.createIdentifier("displayName") + ts.factory.createExpressionStatement( + ts.factory.createBinaryExpression( + ts.factory.createPropertyAccessExpression( + ts.factory.createIdentifier(getIdentifier(d)), + ts.factory.createIdentifier("displayName") ), ts.SyntaxKind.EqualsToken, - ts.createLiteral(d.displayName) + ts.factory.createStringLiteral(d.displayName) ) ) ); @@ -93,8 +94,8 @@ function createPropDefinition( const setDefaultValue = ( defaultValue: { value: string | number | boolean } | null ) => - ts.createPropertyAssignment( - ts.createLiteral("defaultValue"), + ts.factory.createPropertyAssignment( + ts.factory.createStringLiteral("defaultValue"), // Use a more extensive check on defaultValue. Sometimes the parser // returns an empty object. defaultValue !== null && @@ -104,20 +105,28 @@ function createPropDefinition( (typeof defaultValue.value === "string" || typeof defaultValue.value === "number" || typeof defaultValue.value === "boolean") - ? ts.createObjectLiteral([ - ts.createPropertyAssignment( - ts.createIdentifier("value"), - ts.createLiteral(defaultValue.value) + ? ts.factory.createObjectLiteralExpression([ + ts.factory.createPropertyAssignment( + ts.factory.createIdentifier("value"), + // eslint-disable-next-line no-nested-ternary + typeof defaultValue.value === "string" + ? ts.factory.createStringLiteral(defaultValue.value) + : // eslint-disable-next-line no-nested-ternary + typeof defaultValue.value === "number" + ? ts.factory.createNumericLiteral(defaultValue.value) + : defaultValue.value + ? ts.factory.createTrue() + : ts.factory.createFalse() ), ]) - : ts.createNull() + : ts.factory.createNull() ); /** Set a property with a string value */ const setStringLiteralField = (fieldName: string, fieldValue: string) => - ts.createPropertyAssignment( - ts.createLiteral(fieldName), - ts.createLiteral(fieldValue) + ts.factory.createPropertyAssignment( + ts.factory.createStringLiteral(fieldName), + ts.factory.createStringLiteral(fieldValue) ); /** @@ -144,9 +153,9 @@ function createPropDefinition( * @param required Whether prop is required or not. */ const setRequired = (required: boolean) => - ts.createPropertyAssignment( - ts.createLiteral("required"), - required ? ts.createTrue() : ts.createFalse() + ts.factory.createPropertyAssignment( + ts.factory.createStringLiteral("required"), + required ? ts.factory.createTrue() : ts.factory.createFalse() ); /** @@ -161,11 +170,11 @@ function createPropDefinition( const setValue = (typeValue?: any[]) => Array.isArray(typeValue) && typeValue.every((value) => typeof value.value === "string") - ? ts.createPropertyAssignment( - ts.createLiteral("value"), - ts.createArrayLiteral( + ? ts.factory.createPropertyAssignment( + ts.factory.createStringLiteral("value"), + ts.factory.createArrayLiteralExpression( typeValue.map((value) => - ts.createObjectLiteral([ + ts.factory.createObjectLiteralExpression([ setStringLiteralField("value", value.value), ]) ) @@ -188,15 +197,15 @@ function createPropDefinition( objectFields.push(valueField); } - return ts.createPropertyAssignment( - ts.createLiteral(options.typePropName), - ts.createObjectLiteral(objectFields) + return ts.factory.createPropertyAssignment( + ts.factory.createStringLiteral(options.typePropName), + ts.factory.createObjectLiteralExpression(objectFields) ); }; - return ts.createPropertyAssignment( - ts.createLiteral(propName), - ts.createObjectLiteral([ + return ts.factory.createPropertyAssignment( + ts.factory.createStringLiteral(propName), + ts.factory.createObjectLiteralExpression([ setDefaultValue(prop.defaultValue), setDescription(prop.description), setName(prop.name), @@ -229,35 +238,41 @@ function insertDocgenIntoGlobalCollection( relativeFilename: string ): ts.Statement { return insertTsIgnoreBeforeStatement( - ts.createIf( - ts.createBinary( - ts.createTypeOf(ts.createIdentifier(docgenCollectionName)), + ts.factory.createIfStatement( + ts.factory.createBinaryExpression( + ts.factory.createTypeOfExpression( + ts.factory.createIdentifier(docgenCollectionName) + ), ts.SyntaxKind.ExclamationEqualsEqualsToken, - ts.createLiteral("undefined") + ts.factory.createStringLiteral("undefined") ), insertTsIgnoreBeforeStatement( - ts.createStatement( - ts.createBinary( - ts.createElementAccess( - ts.createIdentifier(docgenCollectionName), - ts.createLiteral(`${relativeFilename}#${d.displayName}`) + ts.factory.createExpressionStatement( + ts.factory.createBinaryExpression( + ts.factory.createElementAccessExpression( + ts.factory.createIdentifier(docgenCollectionName), + ts.factory.createStringLiteral( + `${relativeFilename}#${d.displayName}` + ) ), ts.SyntaxKind.EqualsToken, - ts.createObjectLiteral([ - ts.createPropertyAssignment( - ts.createIdentifier("docgenInfo"), - ts.createPropertyAccess( - ts.createIdentifier(d.displayName), - ts.createIdentifier("__docgenInfo") + ts.factory.createObjectLiteralExpression([ + ts.factory.createPropertyAssignment( + ts.factory.createIdentifier("docgenInfo"), + ts.factory.createPropertyAccessExpression( + ts.factory.createIdentifier(d.displayName), + ts.factory.createIdentifier("__docgenInfo") ) ), - ts.createPropertyAssignment( - ts.createIdentifier("name"), - ts.createLiteral(d.displayName) + ts.factory.createPropertyAssignment( + ts.factory.createIdentifier("name"), + ts.factory.createStringLiteral(d.displayName) ), - ts.createPropertyAssignment( - ts.createIdentifier("path"), - ts.createLiteral(`${relativeFilename}#${d.displayName}`) + ts.factory.createPropertyAssignment( + ts.factory.createIdentifier("path"), + ts.factory.createStringLiteral( + `${relativeFilename}#${d.displayName}` + ) ), ]) ) @@ -287,29 +302,29 @@ function setComponentDocGen( options: GeneratorOptions ): ts.Statement { return insertTsIgnoreBeforeStatement( - ts.createStatement( - ts.createBinary( + ts.factory.createExpressionStatement( + ts.factory.createBinaryExpression( // SimpleComponent.__docgenInfo - ts.createPropertyAccess( - ts.createIdentifier(d.displayName), - ts.createIdentifier("__docgenInfo") + ts.factory.createPropertyAccessExpression( + ts.factory.createIdentifier(getIdentifier(d)), + ts.factory.createIdentifier("__docgenInfo") ), ts.SyntaxKind.EqualsToken, - ts.createObjectLiteral([ + ts.factory.createObjectLiteralExpression([ // SimpleComponent.__docgenInfo.description - ts.createPropertyAssignment( - ts.createLiteral("description"), - ts.createLiteral(d.description) + ts.factory.createPropertyAssignment( + ts.factory.createStringLiteral("description"), + ts.factory.createStringLiteral(d.description) ), // SimpleComponent.__docgenInfo.displayName - ts.createPropertyAssignment( - ts.createLiteral("displayName"), - ts.createLiteral(d.displayName) + ts.factory.createPropertyAssignment( + ts.factory.createStringLiteral("displayName"), + ts.factory.createStringLiteral(d.displayName) ), // SimpleComponent.__docgenInfo.props - ts.createPropertyAssignment( - ts.createLiteral("props"), - ts.createObjectLiteral( + ts.factory.createPropertyAssignment( + ts.factory.createStringLiteral("props"), + ts.factory.createObjectLiteralExpression( Object.entries(d.props).map(([propName, prop]) => createPropDefinition(propName, prop, options) ) @@ -333,13 +348,13 @@ export function generateDocgenCodeBlock(options: GeneratorOptions): string { .replace(/\\/g, "/"); const wrapInTryStatement = (statements: ts.Statement[]): ts.TryStatement => - ts.createTry( - ts.createBlock(statements, true), - ts.createCatchClause( - ts.createVariableDeclaration( - ts.createIdentifier("__react_docgen_typescript_loader_error") + ts.factory.createTryStatement( + ts.factory.createBlock(statements, true), + ts.factory.createCatchClause( + ts.factory.createVariableDeclaration( + ts.factory.createIdentifier("__react_docgen_typescript_loader_error") ), - ts.createBlock([]) + ts.factory.createBlock([]) ), undefined ); diff --git a/src/getIdentifier.ts b/src/getIdentifier.ts new file mode 100644 index 0000000..a12dda2 --- /dev/null +++ b/src/getIdentifier.ts @@ -0,0 +1,30 @@ +/* eslint-disable import/prefer-default-export */ +import { ComponentDoc } from "react-docgen-typescript"; + +// From: https://github.com/styleguidist/react-docgen-typescript/blob/287e7012843cb26fed8f4bd8ee24e462c25a1414/src/parser.ts#L308-L317 +const defaultComponentTypes = [ + "__function", + "StatelessComponent", + "Stateless", + "StyledComponentClass", + "StyledComponent", + "FunctionComponent", + "ForwardRefExoticComponent", + "MemoExoticComponent", +]; + +export function getIdentifier(d: ComponentDoc): string { + const name = d.expression?.getName(); + + // In those cases, react-docgen-typescript can not find a runtime name because a default export is used. + // We fall back to the displayName, although this doesn't work for every case. + // + // It works in cases where the file name matches the variable name used for the default export: + // + // src/component/MyComponent.tsx + // const MyComponent: React.FC = (props) => <>; + // export default MyComponent; + return ["default", ...defaultComponentTypes].includes(name as string) || !name + ? d.displayName + : name; +} diff --git a/src/plugin.ts b/src/plugin.ts index bc64052..39cbed2 100644 --- a/src/plugin.ts +++ b/src/plugin.ts @@ -91,7 +91,6 @@ function processModule( if (cached) { // eslint-disable-next-line // @ts-ignore - // eslint-disable-next-line debugInclude(`Got cached docgen for "${webpackModule.request}"`); // eslint-disable-next-line // @ts-ignore @@ -149,6 +148,18 @@ export default class DocgenPlugin implements webpack.WebpackPluginInstance { } apply(compiler: webpack.Compiler): void { + // Property compiler.version is set only starting from webpack 5 + const webpackVersion = compiler.webpack?.version || ""; + const isWebpack5 = parseInt(webpackVersion.split(".")[0], 10) >= 5; + + if (isWebpack5) { + this.applyWebpack5(compiler); + } else { + this.applyWebpack4(compiler); + } + } + + applyWebpack5(compiler: webpack.Compiler): void { const pluginName = "DocGenPlugin"; const { docgenOptions, @@ -162,29 +173,24 @@ export default class DocgenPlugin implements webpack.WebpackPluginInstance { const { exclude = [], include = ["**/**.tsx"] } = this.options; const isExcluded = matchGlob(exclude); const isIncluded = matchGlob(include); - // Property compiler.version is set only starting from webpack 5 - const webpackVersion = compiler.webpack?.version || ""; - const isWebpack5 = parseInt(webpackVersion.split(".")[0], 10) >= 5; compiler.hooks.compilation.tap( pluginName, (compilation: webpack.Compilation) => { - if (isWebpack5) { - // Since this file is needed only for webpack 5, load it only then - // to simplify the implementation of the file. - // - // eslint-disable-next-line - const { DocGenDependency } = require("./dependency"); + // Since this file is needed only for webpack 5, load it only then + // to simplify the implementation of the file. + // + // eslint-disable-next-line + const { DocGenDependency } = require("./dependency"); - compilation.dependencyTemplates.set( - // eslint-disable-next-line - // @ts-ignore: Webpack 4 type - DocGenDependency, - // eslint-disable-next-line - // @ts-ignore: Webpack 4 type - new DocGenDependency.Template() - ); - } + compilation.dependencyTemplates.set( + // eslint-disable-next-line + // @ts-ignore: Webpack 4 type + DocGenDependency, + // eslint-disable-next-line + // @ts-ignore: Webpack 4 type + new DocGenDependency.Template() + ); compilation.hooks.seal.tap(pluginName, () => { const modulesToProcess: [string, webpack.Module][] = []; @@ -197,6 +203,30 @@ export default class DocgenPlugin implements webpack.WebpackPluginInstance { const nameForCondition = module.nameForCondition() || ""; + // Ignore modules that haven't been built yet for webpack 5 + if (!compilation.builtModules.has(module)) { + debugExclude(`Ignoring un-built module: ${nameForCondition}`); + return; + } + + // Ignore external modules + // eslint-disable-next-line + // @ts-ignore: Webpack 4 type + if (module.external) { + debugExclude(`Ignoring external module: ${nameForCondition}`); + return; + } + + // Ignore raw requests + // eslint-disable-next-line + // @ts-ignore: Webpack 4 type + if (!module.rawRequest) { + debugExclude( + `Ignoring module without "rawRequest": ${nameForCondition}` + ); + return; + } + if (isExcluded(nameForCondition)) { debugExclude( `Module not matched in "exclude": ${nameForCondition}` @@ -223,38 +253,122 @@ export default class DocgenPlugin implements webpack.WebpackPluginInstance { // 3. Process and parse each module and add the type information // as a dependency modulesToProcess.forEach(([name, module]) => { - if (isWebpack5) { - // Since this file is needed only for webpack 5, load it only then - // to simplify the implementation of the file. - // + // Since this file is needed only for webpack 5, load it only then + // to simplify the implementation of the file. + // + // eslint-disable-next-line + const { DocGenDependency } = require("./dependency"); + + module.addDependency( // eslint-disable-next-line - const { DocGenDependency } = require("./dependency"); - - module.addDependency( - // eslint-disable-next-line - // @ts-ignore: Webpack 4 type - new DocGenDependency( - generateDocgenCodeBlock({ - filename: name, - source: name, - componentDocs: docGenParser.parseWithProgramProvider( - name, - () => tsProgram - ), - ...generateOptions, - }).substring(name.length) - ) - ); - } else { - // Assume webpack 4 or earlier - processModule(docGenParser, module, tsProgram, generateOptions); - } + // @ts-ignore: Webpack 4 type + new DocGenDependency( + generateDocgenCodeBlock({ + filename: name, + source: name, + componentDocs: docGenParser.parseWithProgramProvider( + name, + () => tsProgram + ), + ...generateOptions, + }).substring(name.length) + ) + ); }); }); } ); } + applyWebpack4(compiler: webpack.Compiler): void { + const { docgenOptions, compilerOptions } = this.getOptions(); + const parser = docGen.withCompilerOptions(compilerOptions, docgenOptions); + const { exclude = [], include = ["**/**.tsx"] } = this.options; + const isExcluded = matchGlob(exclude); + const isIncluded = matchGlob(include); + + compiler.hooks.make.tap(this.name, (compilation) => { + compilation.hooks.seal.tap(this.name, () => { + const modulesToProcess: webpack.Module[] = []; + + compilation.modules.forEach((module: webpack.Module) => { + // eslint-disable-next-line + // @ts-ignore: Webpack 4 type + if (!module.built) { + // eslint-disable-next-line + // @ts-ignore: Webpack 4 type + debugExclude(`Ignoring un-built module: ${module.userRequest}`); + return; + } + + // eslint-disable-next-line + // @ts-ignore: Webpack 4 type + if (module.external) { + // eslint-disable-next-line + // @ts-ignore: Webpack 4 type + debugExclude(`Ignoring external module: ${module.userRequest}`); + return; + } + + // eslint-disable-next-line + // @ts-ignore: Webpack 4 type + if (!module.rawRequest) { + debugExclude( + // eslint-disable-next-line + // @ts-ignore: Webpack 4 type + `Ignoring module without "rawRequest": ${module.userRequest}` + ); + return; + } + + // eslint-disable-next-line + // @ts-ignore: Webpack 4 type + if (isExcluded(module.userRequest)) { + debugExclude( + // eslint-disable-next-line + // @ts-ignore: Webpack 4 type + `Module not matched in "exclude": ${module.userRequest}` + ); + return; + } + + // eslint-disable-next-line + // @ts-ignore: Webpack 4 type + if (!isIncluded(module.userRequest)) { + debugExclude( + // eslint-disable-next-line + // @ts-ignore: Webpack 4 type + `Module not matched in "include": ${module.userRequest}` + ); + return; + } + + // eslint-disable-next-line + // @ts-ignore: Webpack 4 type + debugInclude(module.userRequest); + modulesToProcess.push(module); + }); + + const tsProgram = ts.createProgram( + // eslint-disable-next-line + // @ts-ignore: Webpack 4 type + modulesToProcess.map((v) => v.userRequest), + compilerOptions + ); + + modulesToProcess.forEach((m) => + processModule(parser, m, tsProgram, { + docgenCollectionName: "STORYBOOK_REACT_CLASSES", + setDisplayName: true, + typePropName: "type", + }) + ); + + cache.save(); + }); + }); + } + getOptions(): { docgenOptions: docGen.ParserOptions; generateOptions: { @@ -291,7 +405,10 @@ export default class DocgenPlugin implements webpack.WebpackPluginInstance { } return { - docgenOptions, + docgenOptions: { + shouldIncludeExpression: true, + ...docgenOptions, + }, generateOptions: { docgenCollectionName: docgenCollectionName === undefined diff --git a/yarn.lock b/yarn.lock index a269182..05525c9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,45 +2,29 @@ # yarn lockfile v1 -"@auto-it/all-contributors@^10.2.3": - version "10.2.3" - resolved "https://registry.yarnpkg.com/@auto-it/all-contributors/-/all-contributors-10.2.3.tgz#8f537185e30a96392e865650e04016e090465da5" - integrity sha512-OiqenfUAX7Kc5dXfeY/Mtryve/P3IofZcxcWsaZbjkFH1D/x1PisqDNUmQXbMdoFCbu8B6jaNUfPCOm1hXJ5PA== - dependencies: - "@auto-it/bot-list" "10.2.3" - "@auto-it/core" "10.2.3" - "@octokit/rest" "^18.0.0" - all-contributors-cli "6.17.4" - anymatch "^3.1.1" - await-to-js "^2.1.1" - endent "^2.0.1" - env-ci "^5.0.1" - fp-ts "^2.5.3" - fromentries "^1.2.0" - io-ts "^2.1.2" - tslib "2.0.3" - -"@auto-it/bot-list@10.2.3": - version "10.2.3" - resolved "https://registry.yarnpkg.com/@auto-it/bot-list/-/bot-list-10.2.3.tgz#f7200b4f1be0b4bd1cb48e570eb96d4af4e52862" - integrity sha512-pnMpNNkLYwu6j/JlXTkQEwMWPCgD+BFabFKc+heE3EUVyaADhE8dZ3CeKW3dh0Xfv7wUV5qe2uS64gZ8wn+HQA== - -"@auto-it/core@10.2.3": - version "10.2.3" - resolved "https://registry.yarnpkg.com/@auto-it/core/-/core-10.2.3.tgz#029424269ad76abb7a4ce2e6fd51d93271b7e708" - integrity sha512-ov7h5u8rQp2Qztgp/ltT7P1ZLShl3/NCZtz210QIOJGdc5cOlW9WVqH0VtJ6Gd+lJvUNp8BruELomqw5ocTP+A== - dependencies: - "@auto-it/bot-list" "10.2.3" - "@octokit/plugin-enterprise-compatibility" "^1.2.2" - "@octokit/plugin-retry" "^3.0.1" - "@octokit/plugin-throttling" "^3.2.0" - "@octokit/rest" "^18.0.0" - await-to-js "^2.1.1" +"@auto-it/bot-list@10.43.0": + version "10.43.0" + resolved "https://registry.yarnpkg.com/@auto-it/bot-list/-/bot-list-10.43.0.tgz#1a054a5ba0de3d68657a2f453de2ceffb3ea0ccc" + integrity sha512-rQshCAEjtRhF8oFL9VNxBm6nWibd+YVSnMfxPhg6v4Mbs0xBIoF3Nzu7aTEjOkSl9+YIaRWnVV70bALAFgI0MQ== + +"@auto-it/core@10.43.0": + version "10.43.0" + resolved "https://registry.yarnpkg.com/@auto-it/core/-/core-10.43.0.tgz#05bb8f9544273ab4b3ce4b6cff12115ec644031c" + integrity sha512-aAhEodT0y2gS1ueKl2iCMc5VDK9jZMnuspGDaR8SBKcsP7o8R6hxKtxGc2cAAoNOPewcBpe72Yy8768FLoUhAQ== + dependencies: + "@auto-it/bot-list" "10.43.0" + "@endemolshinegroup/cosmiconfig-typescript-loader" "^3.0.2" + "@octokit/core" "^3.5.1" + "@octokit/plugin-enterprise-compatibility" "1.3.0" + "@octokit/plugin-retry" "^3.0.9" + "@octokit/plugin-throttling" "^3.6.2" + "@octokit/rest" "^18.12.0" + await-to-js "^3.0.0" chalk "^4.0.0" cosmiconfig "7.0.0" deepmerge "^4.0.0" dotenv "^8.0.0" - endent "^2.0.1" + endent "^2.1.0" enquirer "^2.3.4" env-ci "^5.0.1" fast-glob "^3.1.1" @@ -53,72 +37,72 @@ io-ts "^2.1.2" lodash.chunk "^4.2.0" log-symbols "^4.0.0" - node-fetch "2.6.1" + node-fetch "2.6.7" parse-author "^2.0.0" parse-github-url "1.0.2" pretty-ms "^7.0.0" + requireg "^0.2.2" semver "^7.0.0" signale "^1.4.0" - tapable "^2.0.0-beta.2" + tapable "^2.2.0" terminal-link "^2.1.1" tinycolor2 "^1.4.1" - tslib "2.0.3" - type-fest "^0.16.0" + ts-node "^10.9.1" + tslib "2.1.0" + type-fest "^0.21.1" typescript-memoize "^1.0.0-alpha.3" url-join "^4.0.0" -"@auto-it/first-time-contributor@^10.2.3": - version "10.2.3" - resolved "https://registry.yarnpkg.com/@auto-it/first-time-contributor/-/first-time-contributor-10.2.3.tgz#a06c81f25c3667f5e6884b9da44f653b6815c023" - integrity sha512-axok2mar6VmYIgjvAeTglAT42mkZxbifVseDwVBMtBLMVqLyh06g4NxlmlQjFDP3UwEOMNW3k0OlcJd0iGvnrw== +"@auto-it/npm@10.43.0": + version "10.43.0" + resolved "https://registry.yarnpkg.com/@auto-it/npm/-/npm-10.43.0.tgz#049a6402937c94623d3d2832f669d108fc4e3db4" + integrity sha512-XR3HA8HwUHFaZHQjFeUBDtymjIKEv4m2W1/uaix6MSgPs3Np/hmV7e6R/TGdA8XXFU1oSlkQEuu0CI9/rK4qKA== dependencies: - "@auto-it/bot-list" "10.2.3" - "@auto-it/core" "10.2.3" - array.prototype.flatmap "^1.2.2" - endent "^2.0.1" - tslib "2.0.3" - url-join "^4.0.0" - -"@auto-it/npm@10.2.3", "@auto-it/npm@^10.2.3": - version "10.2.3" - resolved "https://registry.yarnpkg.com/@auto-it/npm/-/npm-10.2.3.tgz#264d7bc0a34601b50f48dff57c636eae32608d7d" - integrity sha512-Jx/HMak2+ebxsvIkIeVqIT1BCtIceRTr6SEbdm7N0Lz37gbi2VkOoFL6lGaj3QIzaO3DdpnD9Yof/UPitNZ+DA== - dependencies: - "@auto-it/core" "10.2.3" - await-to-js "^2.1.1" + "@auto-it/core" "10.43.0" + "@auto-it/package-json-utils" "10.43.0" + await-to-js "^3.0.0" + endent "^2.1.0" env-ci "^5.0.1" fp-ts "^2.5.3" get-monorepo-packages "^1.1.0" io-ts "^2.1.2" - parse-author "^2.0.0" - parse-github-url "1.0.2" registry-url "^5.1.0" semver "^7.0.0" - tslib "2.0.3" + tslib "2.1.0" typescript-memoize "^1.0.0-alpha.3" url-join "^4.0.0" user-home "^2.0.0" -"@auto-it/pr-body-labels@^10.2.3": - version "10.2.3" - resolved "https://registry.yarnpkg.com/@auto-it/pr-body-labels/-/pr-body-labels-10.2.3.tgz#3167d5021c58794fb6c486e55d95b551578c710a" - integrity sha512-x3NFi7B5XeeOtuP4/kTJZKoKQ8+UMNzqaD/JerTKsry9m8NXfAf2sAQkasKvWjQ6JNLF+4WaM8sBCuidG/b1rA== +"@auto-it/package-json-utils@10.43.0": + version "10.43.0" + resolved "https://registry.yarnpkg.com/@auto-it/package-json-utils/-/package-json-utils-10.43.0.tgz#dc8e0b2290d52109f35c0d152142ee54f00272b9" + integrity sha512-93NwxSNnocpsiJiXZOX/DE1R9j+NOXCXzRAgnXpeRFdOBviMi8AxCQBoyW66IYjLAEnwKwFXN8Xk76zejkPlgw== dependencies: - "@auto-it/core" "10.2.3" + parse-author "^2.0.0" + parse-github-url "1.0.2" + +"@auto-it/released@10.43.0": + version "10.43.0" + resolved "https://registry.yarnpkg.com/@auto-it/released/-/released-10.43.0.tgz#3192a11126da283cbec741bba61faa6e1861ea4b" + integrity sha512-pwUG0uUX1Zeoinj7BB2/af7aRLU3mgbBqpHyCip5VJyYjRnGvoZKRpYbSl+zY7MnT9LVbKy9zPWezjyM5j0Ong== + dependencies: + "@auto-it/bot-list" "10.43.0" + "@auto-it/core" "10.43.0" + deepmerge "^4.0.0" fp-ts "^2.5.3" io-ts "^2.1.2" - tslib "2.0.3" + tslib "2.1.0" -"@auto-it/released@10.2.3", "@auto-it/released@^10.2.3": - version "10.2.3" - resolved "https://registry.yarnpkg.com/@auto-it/released/-/released-10.2.3.tgz#a3d3c6dc8ddce2f87584f2e7e57690573c329398" - integrity sha512-u85qavqsGsHasIB22DbLwkOosn0dE4bhSpN5l77FoxFZAZhU1YeWpFDXwJyLde9HsT8MvSq10JySRu7unKnbVw== +"@auto-it/version-file@10.43.0": + version "10.43.0" + resolved "https://registry.yarnpkg.com/@auto-it/version-file/-/version-file-10.43.0.tgz#adac9f9d9df9e507c892a56fec439afa506d1db1" + integrity sha512-PikUfE89C8yzb9EKylMBWyizQ+0PfXTkDahyu5kqefokxETnEKcV/6qDS5GvAVCchprN1ibvNwEq7tkeBRtSfA== dependencies: - "@auto-it/core" "10.2.3" - deepmerge "^4.0.0" + "@auto-it/core" "10.43.0" fp-ts "^2.5.3" io-ts "^2.1.2" - tslib "2.0.3" + semver "^7.0.0" + tslib "1.10.0" "@babel/code-frame@^7.0.0": version "7.10.1" @@ -380,7 +364,7 @@ core-js-pure "^3.0.0" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.7.6": +"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== @@ -433,11 +417,28 @@ exec-sh "^0.3.2" minimist "^1.2.0" +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + "@discoveryjs/json-ext@^0.5.0": version "0.5.2" resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz#8f03a22a04de437254e8ce8cc84ba39689288752" integrity sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg== +"@endemolshinegroup/cosmiconfig-typescript-loader@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz#eea4635828dde372838b0909693ebd9aafeec22d" + integrity sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA== + dependencies: + lodash.get "^4" + make-error "^1" + ts-node "^9" + tslib "^2" + "@eslint/eslintrc@^0.2.1": version "0.2.1" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.2.1.tgz#f72069c330461a06684d119384435e12a5d76e3c" @@ -641,6 +642,24 @@ "@types/yargs" "^15.0.0" chalk "^4.0.0" +"@jridgewell/resolve-uri@^3.0.3": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@nodelib/fs.scandir@2.1.3": version "2.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" @@ -662,23 +681,24 @@ "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" -"@octokit/auth-token@^2.4.0": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.1.tgz#375d79eebd03750e6a9b0299e80b8167c7c85655" - integrity sha512-NB81O5h39KfHYGtgfWr2booRxp2bWOJoqbWwbyUg2hw6h35ArWYlAST5B3XwAkbdcx13yt84hFXyFP5X0QToWA== - dependencies: - "@octokit/types" "^4.0.1" - -"@octokit/core@^3.0.0": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.2.1.tgz#9e04df3f4e7f825ac0559327490ce34299140af5" - integrity sha512-XfFSDDwv6tclUenS0EmB6iA7u+4aOHBT1Lz4PtQNQQg3hBbNaR/+Uv5URU+egeIuuGAiMRiDyY92G4GBOWOqDA== - dependencies: - "@octokit/auth-token" "^2.4.0" - "@octokit/graphql" "^4.3.1" - "@octokit/request" "^5.4.0" - "@octokit/types" "^5.0.0" - before-after-hook "^2.1.0" +"@octokit/auth-token@^2.4.4": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36" + integrity sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g== + dependencies: + "@octokit/types" "^6.0.3" + +"@octokit/core@^3.5.1": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.6.0.tgz#3376cb9f3008d9b3d110370d90e0a1fcd5fe6085" + integrity sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q== + dependencies: + "@octokit/auth-token" "^2.4.4" + "@octokit/graphql" "^4.5.8" + "@octokit/request" "^5.6.3" + "@octokit/request-error" "^2.0.5" + "@octokit/types" "^6.0.3" + before-after-hook "^2.2.0" universal-user-agent "^6.0.0" "@octokit/endpoint@^6.0.1": @@ -690,91 +710,94 @@ is-plain-object "^3.0.0" universal-user-agent "^5.0.0" -"@octokit/graphql@^4.3.1": - version "4.5.0" - resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.5.0.tgz#e111f841bc15722b1e9887f447fccab700cacdad" - integrity sha512-StJWfn0M1QfhL3NKBz31e1TdDNZrHLLS57J2hin92SIfzlOVBuUaRkp31AGkGOAFOAVtyEX6ZiZcsjcJDjeb5g== +"@octokit/graphql@^4.5.8": + version "4.8.0" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.8.0.tgz#664d9b11c0e12112cbf78e10f49a05959aa22cc3" + integrity sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg== dependencies: - "@octokit/request" "^5.3.0" - "@octokit/types" "^4.0.1" - universal-user-agent "^5.0.0" + "@octokit/request" "^5.6.0" + "@octokit/types" "^6.0.3" + universal-user-agent "^6.0.0" -"@octokit/plugin-enterprise-compatibility@^1.2.2": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@octokit/plugin-enterprise-compatibility/-/plugin-enterprise-compatibility-1.2.4.tgz#617ab902b571cf3fd01e99f33850590fbc297638" - integrity sha512-NN9U8bR0xWK5VeimTuk7kzQkPGFdICF0+7Oj5MYwbpr6IKu63Sp/aSNzhV7Q7bNasHC8mCHTyftAufrrzazJGQ== +"@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" + integrity sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ== + +"@octokit/plugin-enterprise-compatibility@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-enterprise-compatibility/-/plugin-enterprise-compatibility-1.3.0.tgz#034f035cc1789b0f0d616e71e41f50f73804e89e" + integrity sha512-h34sMGdEOER/OKrZJ55v26ntdHb9OPfR1fwOx6Q4qYyyhWA104o11h9tFxnS/l41gED6WEI41Vu2G2zHDVC5lQ== dependencies: - "@octokit/request-error" "^2.0.0" - "@octokit/types" "^4.0.1" + "@octokit/request-error" "^2.1.0" + "@octokit/types" "^6.0.3" -"@octokit/plugin-paginate-rest@^2.2.0": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.2.1.tgz#b95ec46c841d51e5e625f383c579d132ab216d05" - integrity sha512-/tHpIF2XpN40AyhIq295YRjb4g7Q5eKob0qM3thYJ0Z+CgmNsWKM/fWse/SUR8+LdprP1O4ZzSKQE+71TCwK+w== +"@octokit/plugin-paginate-rest@^2.16.8": + version "2.21.3" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz#7f12532797775640dbb8224da577da7dc210c87e" + integrity sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw== dependencies: - "@octokit/types" "^4.0.1" + "@octokit/types" "^6.40.0" -"@octokit/plugin-request-log@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz#eef87a431300f6148c39a7f75f8cfeb218b2547e" - integrity sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw== +"@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@4.2.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.2.1.tgz#8224833a45c3394836dc6e86f1e6c49269a2c350" - integrity sha512-QyFr4Bv807Pt1DXZOC5a7L5aFdrwz71UHTYoHVajYV5hsqffWm8FUl9+O7nxRu5PDMtB/IKrhFqTmdBTK5cx+A== +"@octokit/plugin-rest-endpoint-methods@^5.12.0": + version "5.16.2" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz#7ee8bf586df97dd6868cf68f641354e908c25342" + integrity sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw== dependencies: - "@octokit/types" "^5.5.0" + "@octokit/types" "^6.39.0" deprecation "^2.3.1" -"@octokit/plugin-retry@^3.0.1": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@octokit/plugin-retry/-/plugin-retry-3.0.2.tgz#1055728d1d0e25287ef3cc30bf3321c942bf44a4" - integrity sha512-k7xl2WLfLP7WirRXRHtCq5xGAIXBZHV9X3HVUJhPwe8/N8vVzxPcnnnBL5NpEep/+GQqFRdYxrkgz68VY3z2wA== +"@octokit/plugin-retry@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@octokit/plugin-retry/-/plugin-retry-3.0.9.tgz#ae625cca1e42b0253049102acd71c1d5134788fe" + integrity sha512-r+fArdP5+TG6l1Rv/C9hVoty6tldw6cE2pRHNGmFPdyfrc696R6JjrQ3d7HdVqGwuzfyrcaLAKD7K8TX8aehUQ== dependencies: - "@octokit/types" "^4.0.1" + "@octokit/types" "^6.0.3" bottleneck "^2.15.3" -"@octokit/plugin-throttling@^3.2.0": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@octokit/plugin-throttling/-/plugin-throttling-3.2.1.tgz#5ed5eaa13444c52e845f52d02974f489e3fda408" - integrity sha512-CGr3IagYZLLV3pFgpTQUthQSS5K3BkHLlG8yXK+Op3UKBkYrTf+Y9pCebrDxt60d+VTQ1oxXCx+LVLYY3IhBZQ== +"@octokit/plugin-throttling@^3.6.2": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-throttling/-/plugin-throttling-3.7.0.tgz#a35cd05de22b2ef13fde45390d983ff8365b9a9e" + integrity sha512-qrKT1Yl/KuwGSC6/oHpLBot3ooC9rq0/ryDYBCpkRtoj+R8T47xTMDT6Tk2CxWopFota/8Pi/2SqArqwC0JPow== dependencies: - "@octokit/types" "^4.0.1" + "@octokit/types" "^6.0.1" bottleneck "^2.15.3" -"@octokit/request-error@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.1.tgz#49bd71e811daffd5bdd06ef514ca47b5039682d1" - integrity sha512-5lqBDJ9/TOehK82VvomQ6zFiZjPeSom8fLkFVLuYL3sKiIb5RB8iN/lenLkY7oBmyQcGP7FBMGiIZTO8jufaRQ== +"@octokit/request-error@^2.0.5", "@octokit/request-error@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677" + integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg== dependencies: - "@octokit/types" "^4.0.1" + "@octokit/types" "^6.0.3" deprecation "^2.0.0" once "^1.4.0" -"@octokit/request@^5.3.0", "@octokit/request@^5.4.0": - version "5.4.4" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.4.tgz#dc57e85e86284fa016d0c1a2701a70a10cec4ff2" - integrity sha512-vqv1lz41c6VTxUvF9nM+a6U+vvP3vGk7drDpr0DVQg4zyqlOiKVrY17DLD6de5okj+YLHKcoqaUZTBtlNZ1BtQ== +"@octokit/request@^5.6.0", "@octokit/request@^5.6.3": + version "5.6.3" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.3.tgz#19a022515a5bba965ac06c9d1334514eb50c48b0" + integrity sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A== dependencies: "@octokit/endpoint" "^6.0.1" - "@octokit/request-error" "^2.0.0" - "@octokit/types" "^4.0.1" - deprecation "^2.0.0" - is-plain-object "^3.0.0" - node-fetch "^2.3.0" - once "^1.4.0" - universal-user-agent "^5.0.0" + "@octokit/request-error" "^2.1.0" + "@octokit/types" "^6.16.1" + is-plain-object "^5.0.0" + node-fetch "^2.6.7" + universal-user-agent "^6.0.0" -"@octokit/rest@^18.0.0": - version "18.0.9" - resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.0.9.tgz#964d707d914eb34b1787895fdcacff96de47844d" - integrity sha512-CC5+cIx974Ygx9lQNfUn7/oXDQ9kqGiKUC6j1A9bAVZZ7aoTF8K6yxu0pQhQrLBwSl92J6Z3iVDhGhGFgISCZg== +"@octokit/rest@^18.12.0": + version "18.12.0" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.12.0.tgz#f06bc4952fc87130308d810ca9d00e79f6988881" + integrity sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q== dependencies: - "@octokit/core" "^3.0.0" - "@octokit/plugin-paginate-rest" "^2.2.0" - "@octokit/plugin-request-log" "^1.0.0" - "@octokit/plugin-rest-endpoint-methods" "4.2.1" + "@octokit/core" "^3.5.1" + "@octokit/plugin-paginate-rest" "^2.16.8" + "@octokit/plugin-request-log" "^1.0.4" + "@octokit/plugin-rest-endpoint-methods" "^5.12.0" "@octokit/types@^4.0.1": version "4.1.9" @@ -783,12 +806,12 @@ dependencies: "@types/node" ">= 8" -"@octokit/types@^5.0.0", "@octokit/types@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-5.5.0.tgz#e5f06e8db21246ca102aa28444cdb13ae17a139b" - integrity sha512-UZ1pErDue6bZNjYOotCNveTXArOMZQFG6hKJfOnGnulVCMcVVi7YIIuuR4WfBhjo7zgpmzn/BkPDnUXtNx+PcQ== +"@octokit/types@^6.0.1", "@octokit/types@^6.0.3", "@octokit/types@^6.16.1", "@octokit/types@^6.39.0", "@octokit/types@^6.40.0": + version "6.41.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.41.0.tgz#e58ef78d78596d2fb7df9c6259802464b5f84a04" + integrity sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg== dependencies: - "@types/node" ">= 8" + "@octokit/openapi-types" "^12.11.0" "@sinonjs/commons@^1.7.0": version "1.8.1" @@ -804,6 +827,26 @@ dependencies: "@sinonjs/commons" "^1.7.0" +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" + integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== + "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": version "7.1.12" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.12.tgz#4d8e9e51eb265552a7e4f1ff2219ab6133bdfb2d" @@ -982,25 +1025,11 @@ "@types/prop-types" "*" csstype "^3.0.2" -"@types/source-list-map@*": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" - integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== - "@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" integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== -"@types/webpack-sources@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-2.1.0.tgz#8882b0bd62d1e0ce62f183d0d01b72e6e82e8c10" - integrity sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg== - dependencies: - "@types/node" "*" - "@types/source-list-map" "*" - source-map "^0.7.3" - "@types/yargs-parser@*": version "15.0.0" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" @@ -1254,6 +1283,11 @@ acorn-walk@^7.1.1: 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" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + acorn@^7.1.1, acorn@^7.4.0: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" @@ -1264,6 +1298,11 @@ acorn@^8.2.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.2.4.tgz#caba24b08185c3b56e3168e97d15ed17f4d31fd0" integrity sha512-Ibt84YwBDDA890eDiDCEqcbwvHlBvzzDkU2cGBBDDI1QWT12jTiXIOn2CIw5KK4i6N5Z2HUxwYjzriDyqaqqZg== +acorn@^8.4.1: + version "8.8.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== + agent-base@6: version "6.0.0" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.0.tgz#5d0101f19bbfaed39980b22ae866de153b93f09a" @@ -1296,22 +1335,6 @@ ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -all-contributors-cli@6.17.4: - version "6.17.4" - resolved "https://registry.yarnpkg.com/all-contributors-cli/-/all-contributors-cli-6.17.4.tgz#5d942479c8a1704b6ef772fd087c533dc90c326d" - integrity sha512-fv55BHQu1cna2/pJJdv/ULp1C7vfUMxnW8ZRm16RE0brTR3RmuEa4NPY180vHwFjGF5vBZdZsjX/+XxAyapazA== - dependencies: - "@babel/runtime" "^7.7.6" - async "^3.0.1" - chalk "^4.0.0" - didyoumean "^1.2.1" - inquirer "^7.0.4" - json-fixer "^1.5.1" - lodash "^4.11.2" - node-fetch "^2.6.0" - pify "^5.0.0" - yargs "^15.0.1" - ansi-colors@^3.2.1: version "3.2.4" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" @@ -1369,7 +1392,7 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -anymatch@^3.0.3, anymatch@^3.1.1: +anymatch@^3.0.3: version "3.1.1" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== @@ -1377,6 +1400,11 @@ anymatch@^3.0.3, anymatch@^3.1.1: normalize-path "^3.0.0" picomatch "^2.0.4" +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -1457,15 +1485,6 @@ array.prototype.flat@^1.2.3: define-properties "^1.1.3" es-abstract "^1.18.0-next.1" -array.prototype.flatmap@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz#1c13f84a178566042dd63de4414440db9222e443" - integrity sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - asn1@~0.2.3: version "0.2.4" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" @@ -1493,11 +1512,6 @@ astral-regex@^1.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== -async@^3.0.1: - version "3.2.0" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720" - integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw== - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -1513,38 +1527,28 @@ author-regex@^1.0.0: resolved "https://registry.yarnpkg.com/author-regex/-/author-regex-1.0.0.tgz#d08885be6b9bbf9439fe087c76287245f0a81450" integrity sha1-0IiFvmubv5Q5/gh8dihyRfCoFFA= -auto-config-hipstersmoothie@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/auto-config-hipstersmoothie/-/auto-config-hipstersmoothie-4.0.0.tgz#0acdcc7c5eb1ef59832668baed1bce7c3f72f259" - integrity sha512-uQrV4H/08LELeLiF720xt1teQAnm9x925d/TxqnuMbcCKjZfyvxYA+WLe4hic89q60ovlJqRDLrB7TEj3lpnyg== - dependencies: - "@auto-it/all-contributors" "^10.2.3" - "@auto-it/first-time-contributor" "^10.2.3" - "@auto-it/npm" "^10.2.3" - "@auto-it/pr-body-labels" "^10.2.3" - "@auto-it/released" "^10.2.3" - -auto@^10.2.3: - version "10.2.3" - resolved "https://registry.yarnpkg.com/auto/-/auto-10.2.3.tgz#8dbc8a0461d0bcc6b78fde3d972e6a29179676e9" - integrity sha512-gTD+RZN5hBvZ1afTwXDBrcjJrCBSuHLbVGw8V/1QUFc5lCkghRcntilIxi2KEUPkRO3hSNCbShswW6WQHUFb2w== - dependencies: - "@auto-it/core" "10.2.3" - "@auto-it/npm" "10.2.3" - "@auto-it/released" "10.2.3" - await-to-js "^2.1.1" +auto@^10.43.0: + version "10.43.0" + resolved "https://registry.yarnpkg.com/auto/-/auto-10.43.0.tgz#11127815fd6f02003cf4e4675279f8a1666824d8" + integrity sha512-dZTGoIhzJa6vP4QBtBc4xPjscs2NyoMTeIht4rBPk0hz6NySev3Wrp1UReCwrl/gYx4cuSyjNfYaG0gJtnfEqQ== + dependencies: + "@auto-it/core" "10.43.0" + "@auto-it/npm" "10.43.0" + "@auto-it/released" "10.43.0" + "@auto-it/version-file" "10.43.0" + await-to-js "^3.0.0" chalk "^4.0.0" command-line-application "^0.10.1" - endent "^2.0.1" + endent "^2.1.0" module-alias "^2.2.2" signale "^1.4.0" terminal-link "^2.1.1" - tslib "2.0.3" + tslib "2.1.0" -await-to-js@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/await-to-js/-/await-to-js-2.1.1.tgz#c2093cd5a386f2bb945d79b292817bbc3f41b31b" - integrity sha512-CHBC6gQGCIzjZ09tJ+XmpQoZOn4GdWePB4qUweCaKNJ0D3f115YdhmYVTZ4rMVpiJ3cFzZcTYK1VMYEICV4YXw== +await-to-js@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/await-to-js/-/await-to-js-3.0.0.tgz#70929994185616f4675a91af6167eb61cc92868f" + integrity sha512-zJAaP9zxTcvTHRlejau3ZOY4V7SRpiByf3/dxx2uyKxxor19tpmpV2QRsTKikckwhaPmr2dVpxxMr7jOCYVp5g== aws-sign2@~0.7.0: version "0.7.0" @@ -1652,10 +1656,10 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -before-after-hook@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635" - integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A== +before-after-hook@^2.2.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c" + integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== bottleneck@^2.15.3: version "2.19.5" @@ -1805,11 +1809,6 @@ char-regex@^1.0.2: resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - chrome-trace-event@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" @@ -1835,18 +1834,6 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-width@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" - integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== - cliui@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" @@ -2036,6 +2023,11 @@ cosmiconfig@7.0.0: path-type "^4.0.0" yaml "^1.10.0" +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + cross-spawn@^6.0.0: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -2199,16 +2191,16 @@ detect-newline@^3.0.0: resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== -didyoumean@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.1.tgz#e92edfdada6537d484d73c0172fd1eba0c4976ff" - integrity sha1-6S7f2tplN9SE1zwBcv0eugxJdv8= - diff-sequences@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + dir-glob@^2.0.0: version "2.2.2" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" @@ -2299,6 +2291,15 @@ endent@^2.0.1: fast-json-parse "^1.0.3" objectorarray "^1.0.4" +endent@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/endent/-/endent-2.1.0.tgz#5aaba698fb569e5e18e69e1ff7a28ff35373cd88" + integrity sha512-r8VyPX7XL8U01Xgnb1CjZ3XV+z90cXIJ9JPE/R9SEC9vpw2P6CfsRPJmp20DppC5N7ZAMCmjYkJIa744Iyg96w== + dependencies: + dedent "^0.7.0" + fast-json-parse "^1.0.3" + objectorarray "^1.0.5" + enhanced-resolve@^5.0.0, enhanced-resolve@^5.8.0: version "5.8.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.0.tgz#d9deae58f9d3773b6a111a5a46831da5be5c9ac0" @@ -2348,7 +2349,7 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: +es-abstract@^1.17.0, es-abstract@^1.17.5: version "1.17.5" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg== @@ -2772,15 +2773,6 @@ extend@~3.0.2: resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - extglob@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" @@ -2868,13 +2860,6 @@ figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" -figures@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - file-entry-cache@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" @@ -3274,7 +3259,7 @@ human-signals@^2.1.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -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== @@ -3357,25 +3342,6 @@ ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== -inquirer@^7.0.4: - version "7.3.3" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" - integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== - dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.19" - mute-stream "0.0.8" - run-async "^2.4.0" - rxjs "^6.6.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - interpret@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" @@ -3558,6 +3524,11 @@ is-plain-object@^3.0.0: dependencies: isobject "^4.0.0" +is-plain-object@^5.0.0: + version "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.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" @@ -4127,15 +4098,6 @@ jsesc@^2.5.1: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== -json-fixer@^1.5.1: - version "1.6.5" - resolved "https://registry.yarnpkg.com/json-fixer/-/json-fixer-1.6.5.tgz#fcdb4db5d98c94f7666b3d8cdd10e25cdfbad309" - integrity sha512-ewOhCI/b7Wx0DtO7ZhDp4SW5sjvp5dBWoeGnjta7mXPrvopvcE6TYGIqo+XREhzr/hKz7Bf3e2C0TSuoGFxAYA== - dependencies: - "@babel/runtime" "^7.11.2" - chalk "^4.1.0" - pegjs "^0.10.0" - json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" @@ -4310,6 +4272,11 @@ lodash.chunk@^4.2.0: resolved "https://registry.yarnpkg.com/lodash.chunk/-/lodash.chunk-4.2.0.tgz#66e5ce1f76ed27b4303d8c6512e8d1216e8106bc" integrity sha1-ZuXOH3btJ7QwPYxlEujRIW6BBrw= +lodash.get@^4: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== + lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" @@ -4320,16 +4287,16 @@ lodash@4.x: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -lodash@^4.11.2, lodash@^4.17.19: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== - lodash@^4.17.14, lodash@^4.17.15: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== +lodash@^4.17.19: + version "4.17.20" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== + log-symbols@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" @@ -4363,7 +4330,7 @@ make-dir@^3.0.0, make-dir@^3.0.2: dependencies: semver "^6.0.0" -make-error@1.x: +make-error@1.x, make-error@^1, make-error@^1.1.1: version "1.3.6" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== @@ -4528,11 +4495,6 @@ ms@2.1.2, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -4560,20 +4522,29 @@ neo-async@^2.6.2: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== +nested-error-stacks@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.0.1.tgz#d2cc9fc5235ddb371fc44d506234339c8e4b0a4b" + integrity sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A== + nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== -node-fetch@2.6.1, node-fetch@^2.6.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" - integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== +node-fetch@2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" -node-fetch@^2.3.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" - integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== +node-fetch@^2.6.7: + version "2.6.9" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" + integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== + dependencies: + whatwg-url "^5.0.0" node-int64@^0.4.0: version "0.4.0" @@ -4736,6 +4707,11 @@ objectorarray@^1.0.4: resolved "https://registry.yarnpkg.com/objectorarray/-/objectorarray-1.0.4.tgz#d69b2f0ff7dc2701903d308bb85882f4ddb49483" integrity sha512-91k8bjcldstRz1bG6zJo8lWD7c6QXcB4nTDUqiEvIL1xAsLoZlOOZZG+nd6YPz+V7zY1580J4Xxh1vZtyv4i/w== +objectorarray@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/objectorarray/-/objectorarray-1.0.5.tgz#2c05248bbefabd8f43ad13b41085951aac5e68a5" + integrity sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg== + once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -4794,11 +4770,6 @@ os-name@^3.1.0: macos-release "^2.2.0" windows-release "^3.1.0" -os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - p-each-series@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" @@ -4938,6 +4909,11 @@ path-key@^3.0.0, path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== +path-parse@^1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + path-parse@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" @@ -4962,11 +4938,6 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pegjs@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/pegjs/-/pegjs-0.10.0.tgz#cf8bafae6eddff4b5a7efb185269eaaf4610ddbd" - integrity sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0= - performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -4992,11 +4963,6 @@ pify@^3.0.0: resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= -pify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" - integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== - pirates@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" @@ -5123,7 +5089,7 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" -rc@^1.2.8: +rc@^1.2.8, rc@~1.2.7: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -5133,10 +5099,10 @@ rc@^1.2.8: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-docgen-typescript@^1.22.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/react-docgen-typescript/-/react-docgen-typescript-1.22.0.tgz#00232c8e8e47f4437cac133b879b3e9437284bee" - integrity sha512-MPLbF8vzRwAG3GcjdL+OHQlhgtWsLTXs+7uJiHfEeT3Ur7IsZaNYqRTLQ9sj2nB6M6jylcPCeCmH7qbszJmecg== +react-docgen-typescript@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/react-docgen-typescript/-/react-docgen-typescript-2.2.2.tgz#4611055e569edc071204aadb20e1c93e1ab1659c" + integrity sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg== react-is@^17.0.1: version "17.0.1" @@ -5314,6 +5280,15 @@ require-main-filename@^2.0.0: resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== +requireg@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/requireg/-/requireg-0.2.2.tgz#437e77a5316a54c9bcdbbf5d1f755fe093089830" + integrity sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg== + dependencies: + nested-error-stacks "~2.0.1" + rc "~1.2.7" + resolve "~1.7.1" + resolve-cwd@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" @@ -5359,13 +5334,12 @@ resolve@^1.9.0: is-core-module "^2.2.0" path-parse "^1.0.6" -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== +resolve@~1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3" + integrity sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw== dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" + path-parse "^1.0.5" ret@~0.1.10: version "0.1.15" @@ -5396,23 +5370,11 @@ rsvp@^4.8.4: resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== -run-async@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" - integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== - run-parallel@^1.1.9: version "1.1.9" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== -rxjs@^6.6.0: - version "6.6.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" - integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== - dependencies: - tslib "^1.9.0" - safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" @@ -5637,6 +5599,14 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" +source-map-support@^0.5.17: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + source-map-support@^0.5.6, source-map-support@~0.5.19: version "0.5.19" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" @@ -5917,11 +5887,6 @@ table@^5.2.3: slice-ansi "^2.1.0" string-width "^3.0.0" -tapable@^2.0.0-beta.2: - version "2.0.0-beta.11" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.0.0-beta.11.tgz#5a6bd5e0353fad4da9e94942206bb596639e8cf7" - integrity sha512-cAhRzCvMdyJsxmdrSXG8/SUlJG4WJUxD/csuYAybUFjKVt74Y6pTyZ/I1ZK+enmCkWZN0JWxh14G69temaGSiA== - tapable@^2.1.1, tapable@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.0.tgz#5c373d281d9c672848213d0e037d1c4165ab426b" @@ -5975,23 +5940,11 @@ throat@^5.0.0: resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== -through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - tinycolor2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.1.tgz#f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8" integrity sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g= -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - tmpl@1.0.x: version "1.0.4" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" @@ -6058,6 +6011,11 @@ tr46@^2.0.2: dependencies: punycode "^2.1.1" +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + ts-jest@^26.5.6: version "26.5.6" resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.5.6.tgz#c32e0746425274e1dfe333f43cd3c800e014ec35" @@ -6084,6 +6042,37 @@ ts-loader@^9.1.2: micromatch "^4.0.0" semver "^7.3.4" +ts-node@^10.9.1: + version "10.9.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +ts-node@^9: + version "9.1.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" + integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== + dependencies: + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.17" + yn "3.1.1" + tsconfig-paths@^3.9.0: version "3.9.0" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" @@ -6099,16 +6088,21 @@ tslib@1.10.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== -tslib@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" - integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ== +tslib@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" + integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== -tslib@^1.11.1, tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.11.1, tslib@^1.8.1: version "1.13.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== +tslib@^2: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" + integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== + tslib@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.0.tgz#18d13fc2dce04051e20f074cc8387fd8089ce4f3" @@ -6157,10 +6151,10 @@ 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.16.0: - version "0.16.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860" - integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== +type-fest@^0.21.1: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== type-fest@^0.6.0: version "0.6.0" @@ -6186,10 +6180,10 @@ typescript-memoize@^1.0.0-alpha.3: dependencies: core-js "2.4.1" -typescript@3.8.3: - version "3.8.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061" - integrity sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w== +typescript@4.8.3: + version "4.8.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88" + integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== typical@^4.0.0: version "4.0.0" @@ -6275,6 +6269,11 @@ uuid@^8.3.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.1.tgz#2ba2e6ca000da60fce5a196954ab241131e05a31" integrity sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg== +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-compile-cache@^2.0.3: version "2.1.1" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" @@ -6340,6 +6339,11 @@ watchpack@^2.0.0: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + webidl-conversions@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" @@ -6377,7 +6381,7 @@ webpack-merge@^5.7.3: clone-deep "^4.0.1" wildcard "^2.0.0" -webpack-sources@^2.1.1, webpack-sources@^2.2.0: +webpack-sources@^2.1.1: version "2.2.0" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.2.0.tgz#058926f39e3d443193b6c31547229806ffd02bac" integrity sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w== @@ -6426,6 +6430,14 @@ whatwg-mimetype@^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" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + whatwg-url@^8.0.0: version "8.4.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.4.0.tgz#50fb9615b05469591d2b2bd6dfaed2942ed72837" @@ -6553,7 +6565,7 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs@^15.0.1, yargs@^15.4.1: +yargs@^15.4.1: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== @@ -6577,6 +6589,11 @@ yarn-add-no-save@^1.0.3: dependencies: which "^2.0.2" +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"