From fa605d5922b91effc3af4f4c6b4e48abb877f5a6 Mon Sep 17 00:00:00 2001 From: Marika Marszalkowski Date: Thu, 7 Jan 2021 14:32:38 +0100 Subject: [PATCH] chore: Fix docs for latest version of typedoc (#889) * chore: Fix docs for latest version of typedoc * adjust search.js instead of search.json Co-authored-by: Junjie Tang --- CONTRIBUTING.md | 18 +++---- README.md | 8 +-- package.json | 4 +- packages/analytics/src/index.ts | 6 +++ packages/core/src/index.ts | 6 +++ .../src/odata-common/filter/filterable.ts | 2 +- packages/core/src/odata-common/index.ts | 1 + .../core/src/odata-common/selectable/link.ts | 2 +- .../src/odata-v2/uri-conversion/get-filter.ts | 2 +- .../odata-v2/uri-conversion/get-orderby.ts | 2 +- .../uri-conversion/get-resource-path.ts | 2 +- .../odata-v2/uri-conversion/get-selection.ts | 2 +- .../get-by-key-request-builder.ts | 4 +- packages/core/tsconfig.json | 1 + packages/generator/src/index.ts | 6 +++ packages/generator/tsconfig.json | 3 +- packages/openapi-generator/README.md | 2 +- packages/openapi-generator/src/index.ts | 6 ++- packages/openapi-generator/tsconfig.json | 5 +- packages/test-util/src/index.ts | 6 +++ packages/util/src/index.ts | 6 +++ scripts/after-bump.js | 26 +++++++--- scripts/generate-docs.js | 6 +-- tsconfig.typedoc.json | 50 +++++++++++++++++++ typedoc.json | 33 ------------ yarn.lock | 13 ++--- 26 files changed, 143 insertions(+), 79 deletions(-) create mode 100644 tsconfig.typedoc.json delete mode 100644 typedoc.json diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5f020b71d6..7c38c74a74 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,7 +7,7 @@ All dependencies that are used in more than one of the packages are hoisted into ## Testing In order to run all tests, execute: -```sh-session +```bash $ yarn test ``` @@ -16,12 +16,12 @@ This will run unit tests for all our packages as well as integration tests and t ### Unit Tests Unit tests shall test specific modules of a package, units that are tested for behavior. You can run all unit tests by executing: -```sh-session +```bash $ yarn test:unit ``` To run unit tests for a specific package add the workspace name to the command. For the core package this would be: -```sh-session +```bash $ yarn @sap-cloud-sdk/core run test ``` @@ -29,7 +29,7 @@ $ yarn @sap-cloud-sdk/core run test Integration tests shall test how modules behave in combination. The integration tests are located in [`test-packages/integration-tests`](./test-packages/integration-tests). To run the integration tests, execute: -```sh-session +```bash $ yarn test:integration ``` @@ -38,7 +38,7 @@ As this project is written in TypeScript, it shall be consumable by other TypeSc The type tests are located at [`test-packages/type-tests`](./test-packages/type-tests). To run the integration tests, execute: -```sh-session +```bash $ yarn test:type ``` @@ -51,7 +51,7 @@ First, we generate type script sources, that are generated into the test-utils o Second, we generate a transpiled version of a non-modified OData client based on the specifications, that is located at [`test-packages/test-services`](./test-packages/test-services). This is used in the integration tests and type tests. If you need to extend the existing services, run the following to regenerate the OData clients. -```sh-session +```bash $ yarn generate:test-services ``` @@ -59,19 +59,19 @@ $ yarn generate:test-services The E2E are the most realistic tests included in this repo and run on each pull request. There are also nightly tests executed on the internal jenkins - see the internal repo for more details on these. -These are also called E2E tests but are not meant here. +These are also called E2E tests but are not meant here. The E2E tests are based on a locally running server providing an OData interface using [CAP](https://cap.cloud.sap/docs/) and a Rest interface using OpenApi. This server is used by the E2E tests located at [test-packages/e2e-tests](./test-packages/e2e-tests). **Attention** The imports in the E2E tests use the root packages e.g. `@sap-cloud-sdk/core` to mimic the way a customer would use it. -So if you made code changes in one of the packages you need to run `yarn compile` to make the changes take effect. +So if you made code changes in one of the packages you need to run `yarn compile` to make the changes take effect. For manual E2E to a real remote system we have also some tests agains the [TripPin service](https://www.odata.org/blog/trippin-new-odata-v4-sample-service/) which is the standard OData V4 sample service. Since the remote service is not really stable we commented out the tests under [test-packages/e2e-tests/test/TripPin](./test-packages/e2e-tests/test/TripPin) but for manual testing they can be useful. ## Linting To fix all linting issues, run: -```sh-session +```bash $ yarn lint:fix ``` diff --git a/README.md b/README.md index be7043cc72..9ad44f8a88 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ To use the SDK in your project, we recommend using our [commandline interface](# The core is the heart of the SAP Cloud SDK and contains the functionality that is essential to every project powered by the SDK. Any OData client built by the SAP Cloud SDK, be it the VDM or clients built by the generator are using the core. We recommend to install this in addition to your clients. To install the SAP Cloud SDK core in your project, run: -```sh-session +```bash $ npm install @sap-cloud-sdk/core ``` @@ -38,7 +38,7 @@ $ npm install @sap-cloud-sdk/core The SAP Cloud SDK generator is a command line interface (CLI) that allows you to create clients for your own OData services or other SAP systems besides SAP S/4HANA based on their service specifications. To install the SAP Cloud SDK generator in your project, run: -```sh-session +```bash $ npm install @sap-cloud-sdk/generator ``` @@ -46,7 +46,7 @@ $ npm install @sap-cloud-sdk/generator The test-util package makes writing tests for your SAP Cloud Platform application more convenient. To install the SAP Cloud SDK test-util as development dependencies in your project, run: -```sh-session +```bash $ npm install -D @sap-cloud-sdk/test-util ``` @@ -64,7 +64,7 @@ In addition to the Open Source parts of this project, we also publish the SAP Cl To install an OData client for an SAP S/4HANA service run: -```sh-session +```bash $ npm install @sap/cloud-sdk-vdm--service ``` In the example above, `service name` is the name of the service you want to use, e. g. for the business partner service, run: `npm install @sap/cloud-sdk-vdm-business-partner-service`. diff --git a/package.json b/package.json index 4fd56a0d1f..d65202c581 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,6 @@ { "name": "sap-cloud-sdk", + "version": "1.34.0", "private": true, "sideEffects": false, "description": "SAP Cloud SDK for JavaScript", @@ -82,8 +83,7 @@ "prettier": "^2.0.2", "ts-jest": "^26.4.1", "ts-node": "^9.0.0", - "typedoc": "^0.20.0", - "typedoc-plugin-lerna-packages": "0.3.0", + "typedoc": "^0.20.13", "typescript": "~4.1.2" }, "dependencies": {}, diff --git a/packages/analytics/src/index.ts b/packages/analytics/src/index.ts index 13cc0c78b5..23d1b37177 100644 --- a/packages/analytics/src/index.ts +++ b/packages/analytics/src/index.ts @@ -1,3 +1,9 @@ +/** + * [[include:analytics/README.md]] + * @packageDocumentation + * @module @sap-cloud-sdk/analytics + */ + export * from './analytics-data'; export * from './usage-analytics'; export * from './config'; diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index d265358788..ea1e26a974 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,3 +1,9 @@ +/** + * [[include:core/README.md]] + * @packageDocumentation + * @module @sap-cloud-sdk/core + */ + export * from './connectivity'; export * from './header-util'; export * from './http-client'; diff --git a/packages/core/src/odata-common/filter/filterable.ts b/packages/core/src/odata-common/filter/filterable.ts index 85d9636832..547afad747 100644 --- a/packages/core/src/odata-common/filter/filterable.ts +++ b/packages/core/src/odata-common/filter/filterable.ts @@ -27,7 +27,7 @@ export type Filterable = * .filter(and(filterExp1, filterExp2)); * ``` * - * Note that the [[GetAllRequestBuilderV2.filter]] and [[GetAllRequestBuilderV4.filter]] method take a rest parameter and thereby an array of filter expressions that are then combined conjunctively. As a consequence following is equivalent to the example above: + * Note that the [[GetAllRequestBuilder.filter | GetAllRequestBuilderV2.filter]] and [[GetAllRequestBuilderV4.filter]] method take a rest parameter and thereby an array of filter expressions that are then combined conjunctively. As a consequence following is equivalent to the example above: * ```ts * Entity.requestBuilder() * .getAll() diff --git a/packages/core/src/odata-common/index.ts b/packages/core/src/odata-common/index.ts index ed99939e7f..bab6119253 100644 --- a/packages/core/src/odata-common/index.ts +++ b/packages/core/src/odata-common/index.ts @@ -12,6 +12,7 @@ export * from './time'; export * from './uri-conversion'; export * from './expandable'; export * from './entity-deserializer'; +export * from './entity-serializer'; export * from './payload-value-converter'; export * from './name-converter'; export * from './properties-util'; diff --git a/packages/core/src/odata-common/selectable/link.ts b/packages/core/src/odata-common/selectable/link.ts index 03a4da7d16..afc5330dc9 100644 --- a/packages/core/src/odata-common/selectable/link.ts +++ b/packages/core/src/odata-common/selectable/link.ts @@ -73,7 +73,7 @@ export class Link ) {} /** - * Creates a selection on a linked entity. Has the same behavior as [[GetAllRequestBuilderV2.select]] and [[GetByKeyRequestBuilderV4.select]] but for linked entities. + * Creates a selection on a linked entity. Has the same behavior as [[GetAllRequestBuilder.select | GetAllRequestBuilderV2.select]] and [[GetByKeyRequestBuilderV4.select]] but for linked entities. * * See also, [[Selectable]] * diff --git a/packages/core/src/odata-v2/uri-conversion/get-filter.ts b/packages/core/src/odata-v2/uri-conversion/get-filter.ts index 68da3d43d0..bc4812e673 100644 --- a/packages/core/src/odata-v2/uri-conversion/get-filter.ts +++ b/packages/core/src/odata-v2/uri-conversion/get-filter.ts @@ -3,7 +3,7 @@ import { Constructable, Filterable } from '../../odata-common'; import { oDataUri } from './odata-uri'; /** - * @deprecated Since v1.21.0. Use [[oDataUri.getFilter]] instead. + * @deprecated Since v1.21.0. Use [[ODataUri.getFilter]] instead. * Get an object containing the given filter as query parameter, or an empty object if none was given. * * @typeparam EntityT - Type of the entity to filter on diff --git a/packages/core/src/odata-v2/uri-conversion/get-orderby.ts b/packages/core/src/odata-v2/uri-conversion/get-orderby.ts index 58d31ed9c2..9286e8d995 100644 --- a/packages/core/src/odata-v2/uri-conversion/get-orderby.ts +++ b/packages/core/src/odata-v2/uri-conversion/get-orderby.ts @@ -2,7 +2,7 @@ import { getOrderBy, Orderable } from '../../odata-common'; import { Entity } from '../entity'; /** - * @deprecated Since v1.21.0. Use [[oDataUri.getOrderBy]] instead. + * @deprecated Since v1.21.0. Use [[ODataUri.getOrderBy]] instead. * Get an object containing the given order bys as query parameter, or an empty object if none was given. * * @typeparam EntityT - Type of the entity to order diff --git a/packages/core/src/odata-v2/uri-conversion/get-resource-path.ts b/packages/core/src/odata-v2/uri-conversion/get-resource-path.ts index 6c680abc79..d7f7a71aee 100644 --- a/packages/core/src/odata-v2/uri-conversion/get-resource-path.ts +++ b/packages/core/src/odata-v2/uri-conversion/get-resource-path.ts @@ -6,7 +6,7 @@ import { import { oDataUri } from './odata-uri'; /** - * @deprecated Since v1.21.0. Use [[oDataUri.getResourcePathForKeys]] instead. + * @deprecated Since v1.21.0. Use [[ODataUri.getResourcePathForKeys]] instead. * Get the resource path of an entity specified by key-value pairs. * * @typeparam EntityT - Type of the entity to get the resource path for diff --git a/packages/core/src/odata-v2/uri-conversion/get-selection.ts b/packages/core/src/odata-v2/uri-conversion/get-selection.ts index f1bc2bcc8d..9ed27fcb98 100644 --- a/packages/core/src/odata-v2/uri-conversion/get-selection.ts +++ b/packages/core/src/odata-v2/uri-conversion/get-selection.ts @@ -4,7 +4,7 @@ import { getSelect } from './get-select'; import { getExpand } from './get-expand'; /** - * @deprecated Since v1.21.0. Use [[oDataUri.getSelect]] and [[oDataUri.getExpand]] instead. + * @deprecated Since v1.21.0. Use [[ODataUri.getSelect]] and [[ODataUri.getExpand]] instead. * * Get an object containing the given Selectables as query parameter, or an empty object if none were given. * This retrieves where in addition to the selection (`select`) there is also an expansion (`expand`) needed. diff --git a/packages/core/src/odata-v4/request-builder/get-by-key-request-builder.ts b/packages/core/src/odata-v4/request-builder/get-by-key-request-builder.ts index 2ca1fd5424..254696295d 100644 --- a/packages/core/src/odata-v4/request-builder/get-by-key-request-builder.ts +++ b/packages/core/src/odata-v4/request-builder/get-by-key-request-builder.ts @@ -12,8 +12,8 @@ import { oDataUri } from '../uri-conversion'; import { responseDataAccessor } from './response-data-accessor'; /** * Create an OData request to get a single entity based on its key properties. - * The properties available in the response can be restricted by creating a [[GetByKeyRequestBuilder.select selection]], where no selection is equal to selecting all fields of the entity. - * Navigational properties need to expanded explicitly by [[GetAllRequestBuilder.expand]]. + * The properties available in the response can be restricted by creating a [[GetByKeyRequestBuilderV4.select selection]], where no selection is equal to selecting all fields of the entity. + * Navigational properties need to expanded explicitly by [[GetAllRequestBuilderV4.expand]]. * where no selection is equal to selecting all fields. * * @typeparam EntityT - Type of the entity to be requested diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 92dbc68844..7259f23d95 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -15,6 +15,7 @@ "**/*.spec.ts", "node_modules/**/*" ], + "files": [], "references": [ {"path": "../util"}, {"path": "../analytics"} diff --git a/packages/generator/src/index.ts b/packages/generator/src/index.ts index 456f2975d4..7af0c3de7f 100644 --- a/packages/generator/src/index.ts +++ b/packages/generator/src/index.ts @@ -1,2 +1,8 @@ +/** + * [[include:generator/README.md]] + * @packageDocumentation + * @module @sap-cloud-sdk/generator + */ + export * from './generator'; export * from './generator-options'; diff --git a/packages/generator/tsconfig.json b/packages/generator/tsconfig.json index fa64dbdd29..16c0ad9dfc 100644 --- a/packages/generator/tsconfig.json +++ b/packages/generator/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "rootDir": "./src", "outDir": "./dist", - "tsBuildInfoFile": "./dist/.tsbuildinfo" + "tsBuildInfoFile": "./dist/.tsbuildinfo", + "composite": true }, "include": [ "src/**/*.ts" diff --git a/packages/openapi-generator/README.md b/packages/openapi-generator/README.md index b23c814a58..b58964a8e4 100644 --- a/packages/openapi-generator/README.md +++ b/packages/openapi-generator/README.md @@ -8,7 +8,7 @@ This generator is based on the [OpenAPI Tools generator](https://openapi-generat The official OpenAPI generator is Java based, therefore you need to have a Java runtime installed to use the SAP Cloud SDK OpenAPI generator. # Installation -```sh-session +```bash $ npm install @sap-cloud-sdk/openapi-generator ``` # Usage (CLI) diff --git a/packages/openapi-generator/src/index.ts b/packages/openapi-generator/src/index.ts index 0cae266b4c..cadfe15a17 100644 --- a/packages/openapi-generator/src/index.ts +++ b/packages/openapi-generator/src/index.ts @@ -1,3 +1,7 @@ -/* Copyright (c) 2020 SAP SE or an SAP affiliate company. All rights reserved. */ +/** + * [[include:openapi-generator/README.md]] + * @packageDocumentation + * @module @sap-cloud-sdk/openapi-generator + */ export { generate } from './generator'; diff --git a/packages/openapi-generator/tsconfig.json b/packages/openapi-generator/tsconfig.json index 6a7f11fc72..5cf76daa5b 100644 --- a/packages/openapi-generator/tsconfig.json +++ b/packages/openapi-generator/tsconfig.json @@ -3,10 +3,11 @@ "compilerOptions": { "rootDir": "./src", "outDir": "./dist", - "target": "es2017" + "tsBuildInfoFile": "./dist/.tsbuildinfo", + "composite": true }, "include": [ - "src/**/*.ts", "test/emptyApiDefinition.ts" + "src/**/*.ts" ], "exclude": [ "dist/**/*", diff --git a/packages/test-util/src/index.ts b/packages/test-util/src/index.ts index c780b619ff..932715e876 100644 --- a/packages/test-util/src/index.ts +++ b/packages/test-util/src/index.ts @@ -1,2 +1,8 @@ +/** + * [[include:test-util/README.md]] + * @packageDocumentation + * @module @sap-cloud-sdk/test-util + */ + export * from './test-destination-provider'; export * from './test-destination-mocker'; diff --git a/packages/util/src/index.ts b/packages/util/src/index.ts index 0601ce4520..9f6a9208e2 100644 --- a/packages/util/src/index.ts +++ b/packages/util/src/index.ts @@ -1,3 +1,9 @@ +/** + * [[include:util/README.md]] + * @packageDocumentation + * @module @sap-cloud-sdk/util + */ + export * from './array'; export * from './code-block'; export * from './constants'; diff --git a/scripts/after-bump.js b/scripts/after-bump.js index 992206ce14..fc1a8e34f9 100644 --- a/scripts/after-bump.js +++ b/scripts/after-bump.js @@ -1,6 +1,15 @@ const path = require('path'); const { transformFile, version, jsonStringify, apiDocsDir } = require('./util'); +function updateRootPackageJson() { + transformFile(path.resolve('package.json'), packageJson => + jsonStringify({ + ...JSON.parse(packageJson), + version: `${version}` + }) + ); +} + function updateDocumentationMd() { transformFile(path.resolve('DOCUMENTATION.md'), documentation => documentation @@ -13,12 +22,16 @@ function updateDocumentationMd() { } function updateTypeDocConfig() { - transformFile('typedoc.json', config => - jsonStringify({ - ...JSON.parse(config), - out: `${path.relative(path.resolve(), apiDocsDir)}/${version}` - }) - ); + transformFile('tsconfig.typedoc.json', config => { + const parsedConfig = JSON.parse(config); + return jsonStringify({ + ...parsedConfig, + typedocOptions: { + ...parsedConfig.typedocOptions, + out: `${path.relative(path.resolve(), apiDocsDir)}/${version}` + } + }); + }); } function updateDocsVersions() { @@ -81,6 +94,7 @@ function updateChangelog() { } function afterBump() { + updateRootPackageJson(); updateDocumentationMd(); updateTypeDocConfig(); updateDocsVersions(); diff --git a/scripts/generate-docs.js b/scripts/generate-docs.js index 0075588af4..a4bf409ea7 100644 --- a/scripts/generate-docs.js +++ b/scripts/generate-docs.js @@ -24,7 +24,7 @@ const readDir = inputDir => )(inputDir); const isHtmlFile = fileName => path.extname(fileName) === '.html'; -const isSearchJson = fileName => path.basename(fileName) === 'search.json'; +const isSearchJs = fileName => path.basename(fileName) === 'search.js'; const pipe = (...fns) => start => fns.reduce((state, fn) => fn(state), start); /** @@ -50,7 +50,7 @@ function adjustForGitHubPages() { } function adjustSearchJs(paths) { - const filtered = paths.filter(isSearchJson); + const filtered = paths.filter(isSearchJs); if (filtered.length !== 1) { throw Error(`Expected one 'search.json', but found: ${filtered.length}.`); } @@ -139,7 +139,7 @@ function validateLogs(generationLogs) { } function generateDocs() { - const generationLogs = execSync('npx typedoc .', { + const generationLogs = execSync('typedoc --tsconfig tsconfig.typedoc.json', { cwd: path.resolve(), encoding: 'utf8' }); diff --git a/tsconfig.typedoc.json b/tsconfig.typedoc.json new file mode 100644 index 0000000000..23e4954b41 --- /dev/null +++ b/tsconfig.typedoc.json @@ -0,0 +1,50 @@ +{ + "extends": "./tsconfig.json", + "include": [ + "./packages/util/**/*", + "./packages/analytics/**/*", + "./packages/core/**/*", + "./packages/generator/**/*", + "./packages/openapi-generator/**/*", + "./packages/test-util/**/*" + ], + "references": [ + { + "path": "./packages/util" + }, + { + "path": "./packages/analytics" + }, + { + "path": "./packages/core" + }, + { + "path": "./packages/generator" + }, + { + "path": "./packages/openapi-generator" + }, + { + "path": "./packages/test-util" + } + ], + "typedocOptions": { + "out": "docs/api/1.34.0", + "entryPoints": [ + "packages/util/src/index.ts", + "packages/analytics/src/index.ts", + "packages/core/src/index.ts", + "packages/generator/src/index.ts", + "packages/openapi-generator/src/index.ts", + "packages/test-util/src/index.ts" + ], + "name": "SAP Cloud SDK for JavaScript / TypeScript", + "readme": "DOCUMENTATION.md", + "theme": "default", + "includeVersion": true, + "hideGenerator": true, + "listInvalidSymbolLinks": true, + "excludePrivate": true, + "includes": "packages" + } +} diff --git a/typedoc.json b/typedoc.json deleted file mode 100644 index cee10d577d..0000000000 --- a/typedoc.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "mode": "modules", - "out": "docs/api/1.34.0", - "exclude": [ - "**/index.ts", - "scripts/*.ts", - "*.ts", - "**/*.d.ts", - "**/*.spec.ts", - "**/node_modules/**/*", - "**/dist/**/*", - "**/test/**/*", - "test-packages/**/*", - "knowledge-base/**/*" - ], - "name": "SAP Cloud SDK for JavaScript / TypeScript", - "readme": "DOCUMENTATION.md", - "theme": "default", - "includeVersion": true, - "ignoreCompilerErrors": true, - "hideGenerator": true, - "excludePrivate": true, - "excludeNotExported": true, - "target": "ES5", - "moduleResolution": "node", - "module": "commonjs", - "listInvalidSymbolLinks": true, - "lernaExclude": [ - "@sap-cloud-sdk/integration-tests", - "@sap-cloud-sdk/test-services", - "@sap-cloud-sdk/type-tests" - ] -} diff --git a/yarn.lock b/yarn.lock index 0c80cd0df8..5f96ed587f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11279,15 +11279,10 @@ typedoc-default-themes@0.12.0: resolved "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.12.0.tgz#42451948e55a148c1350eb2aa68829be5c2b06b3" integrity sha512-0hHBxwmfxE0rkIslOiO39fJyYwaScQEhUIxcpqx3uS1BL3zhFW5oQfUaPx2cv2XLL/GXhYFxhdFLoVmNptbxEQ== -typedoc-plugin-lerna-packages@0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/typedoc-plugin-lerna-packages/-/typedoc-plugin-lerna-packages-0.3.0.tgz#c0b13fa6cf5b9a495e4f7cb7d8fa8844d8967412" - integrity sha512-Ek6yaJczfSIxfUkHNx7yL+JoJ86KifHecrmbFxtkSlYxGwDrQTqlTQncChslJO2EmQyOn9PUQVyBDnYyrOBB2w== - -typedoc@^0.20.0: - version "0.20.12" - resolved "https://registry.npmjs.org/typedoc/-/typedoc-0.20.12.tgz#5276f744d936914ba233463355d785193ed42e24" - integrity sha512-Cdg6tLicmhomai+GkVOLy1spmiZ8iAC4lrkU6oylK3KHNex9TrJjl++B2iCQ7eC5uiiv3MBfv4t6WzQ/M6jLTg== +typedoc@^0.20.13: + version "0.20.13" + resolved "https://registry.npmjs.org/typedoc/-/typedoc-0.20.13.tgz#9d56df76d0b421a71a33336dc64b1a466dc8f2fd" + integrity sha512-SJVFn6NJd5bWJHMPgEkDUrKIEfMbja6ftIJv/tgd0xQZp5cWxGTdEnmRr56+egIQZkAJFB39eDvmNV4Lqqy4Gw== dependencies: colors "^1.4.0" fs-extra "^9.0.1"