diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7e68a5b8bd72..d4eac5b0350b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -19,6 +19,7 @@
- `[*]` [**BREAKING**] Drop support for Node v10 and v15 and target first LTS `16.13.0` ([#12220](https://github.com/facebook/jest/pull/12220))
- `[*]` [**BREAKING**] Drop support for `typescript@3.8`, minimum version is now `4.2` ([#11142](https://github.com/facebook/jest/pull/11142))
+- `[*]` Bundle all `.d.ts` files into a single `index.d.ts` per module ([#11142](https://github.com/facebook/jest/pull/11142))
- `[expect]` [**BREAKING**] Remove support for importing `build/utils` ([#12323](https://github.com/facebook/jest/pull/12323))
- `[@jest/core]` Use `index.ts` instead of `jest.ts` as main export ([#12329](https://github.com/facebook/jest/pull/12329))
- `[jest]` Use `index.ts` instead of `jest.ts` as main export ([#12329](https://github.com/facebook/jest/pull/12329))
diff --git a/package.json b/package.json
index e38781a2e746..6430a8f14e2c 100644
--- a/package.json
+++ b/package.json
@@ -12,6 +12,7 @@
"@crowdin/cli": "^3.5.2",
"@jest/globals": "workspace:*",
"@jest/test-utils": "workspace:*",
+ "@microsoft/api-extractor": "^7.19.4",
"@tsconfig/node12": "^1.0.9",
"@tsd/typescript": "~4.5.5",
"@types/babel__core": "^7.0.0",
@@ -64,6 +65,7 @@
"mock-fs": "^4.4.1",
"netlify-plugin-cache": "^1.0.3",
"node-notifier": "^10.0.0",
+ "pkg-dir": "^5.0.0",
"prettier": "^2.1.1",
"progress": "^2.0.0",
"promise": "^8.0.2",
@@ -84,9 +86,10 @@
},
"scripts": {
"build-clean": "rimraf './packages/*/build' './packages/*/dist' './packages/*/tsconfig.tsbuildinfo'",
- "build": "yarn build:js && yarn build:ts",
+ "build": "yarn build:js && yarn build:ts && yarn bundle:ts",
"build:js": "node ./scripts/build.js",
"build:ts": "node ./scripts/buildTs.js",
+ "bundle:ts": "node ./scripts/bundleTs.js",
"check-copyright-headers": "node ./scripts/checkCopyrightHeaders.js",
"clean-all": "yarn clean-e2e && yarn build-clean && rimraf './packages/*/node_modules' && rimraf './node_modules'",
"clean-e2e": "node ./scripts/cleanE2e.js",
diff --git a/packages/jest-util/src/index.ts b/packages/jest-util/src/index.ts
index bbfcbbe85ca0..da313207feb8 100644
--- a/packages/jest-util/src/index.ts
+++ b/packages/jest-util/src/index.ts
@@ -5,6 +5,10 @@
* LICENSE file in the root directory of this source tree.
*/
+// need to do this for api-extractor: https://github.com/microsoft/rushstack/issues/2780
+import * as preRunMessage from './preRunMessage';
+import * as specialChars from './specialChars';
+
export {default as clearLine} from './clearLine';
export {default as createDirectory} from './createDirectory';
export {default as ErrorWithStack} from './ErrorWithStack';
@@ -15,11 +19,11 @@ export {default as isPromise} from './isPromise';
export {default as setGlobal} from './setGlobal';
export {default as deepCyclicCopy} from './deepCyclicCopy';
export {default as convertDescriptorToString} from './convertDescriptorToString';
-export * as specialChars from './specialChars';
+export {specialChars};
export {default as replacePathSepForGlob} from './replacePathSepForGlob';
export {default as testPathPatternToRegExp} from './testPathPatternToRegExp';
export {default as globsToMatcher} from './globsToMatcher';
-export * as preRunMessage from './preRunMessage';
+export {preRunMessage};
export {default as pluralize} from './pluralize';
export {default as formatTime} from './formatTime';
export {default as tryRealpath} from './tryRealpath';
diff --git a/scripts/buildTs.js b/scripts/buildTs.js
index 035623289b76..5faf8bd38bd0 100644
--- a/scripts/buildTs.js
+++ b/scripts/buildTs.js
@@ -11,7 +11,6 @@ const assert = require('assert');
const fs = require('fs');
const os = require('os');
const path = require('path');
-const util = require('util');
const chalk = require('chalk');
const execa = require('execa');
const globby = require('globby');
@@ -19,8 +18,6 @@ const stripJsonComments = require('strip-json-comments');
const throat = require('throat');
const {getPackages} = require('./buildUtils');
-const readFilePromise = util.promisify(fs.readFile);
-
(async () => {
const packages = getPackages();
@@ -124,6 +121,9 @@ const readFilePromise = util.promisify(fs.readFile);
// we want to limit the number of processes we spawn
const cpus = Math.max(1, os.cpus().length - 1);
+ const typesReferenceDirective = '/// `;
+
try {
await Promise.all(
packagesWithTs.map(
@@ -134,12 +134,12 @@ const readFilePromise = util.promisify(fs.readFile);
const files = await Promise.all(
globbed.map(file =>
- Promise.all([file, readFilePromise(file, 'utf8')]),
+ Promise.all([file, fs.promises.readFile(file, 'utf8')]),
),
);
const filesWithTypeReferences = files
- .filter(([, content]) => content.includes('/// content.includes(typesReferenceDirective))
.filter(hit => hit.length > 0);
const filesWithReferences = filesWithTypeReferences
@@ -147,8 +147,9 @@ const readFilePromise = util.promisify(fs.readFile);
name,
content
.split('\n')
- .filter(line => line !== '/// ')
- .filter(line => line.includes('/// line.trim())
+ .filter(line => line.includes(typesReferenceDirective))
+ .filter(line => line !== typesNodeReferenceDirective)
.join('\n'),
])
.filter(([, content]) => content.length > 0)
diff --git a/scripts/bundleTs.js b/scripts/bundleTs.js
new file mode 100644
index 000000000000..bdf20f05cc56
--- /dev/null
+++ b/scripts/bundleTs.js
@@ -0,0 +1,201 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+'use strict';
+
+const fs = require('fs');
+const path = require('path');
+const {
+ CompilerState,
+ Extractor,
+ ExtractorConfig,
+} = require('@microsoft/api-extractor');
+const chalk = require('chalk');
+const {sync: pkgDir} = require('pkg-dir');
+const prettier = require('prettier');
+const rimraf = require('rimraf');
+const {getPackages} = require('./buildUtils');
+
+const prettierConfig = prettier.resolveConfig.sync(
+ __filename.replace(/\.js$/, '.d.ts'),
+);
+
+const typescriptCompilerFolder = pkgDir(require.resolve('typescript'));
+
+const copyrightSnippet = `
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+`.trim();
+
+(async () => {
+ const packages = getPackages();
+
+ const packagesWithTs = packages.filter(p =>
+ fs.existsSync(path.resolve(p.packageDir, 'tsconfig.json')),
+ );
+
+ const typesNodeReferenceDirective = '/// ';
+
+ console.log(chalk.inverse(' Extracting TypeScript definition files '));
+
+ const sharedExtractorConfig = {
+ $schema:
+ 'https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json',
+
+ apiReport: {
+ enabled: false,
+ },
+
+ /**
+ * A list of NPM package names whose exports should be treated as part of this package.
+ */
+ bundledPackages: [],
+
+ compiler: {
+ skipLibCheck: true,
+ },
+
+ docModel: {
+ enabled: false,
+ },
+
+ dtsRollup: {
+ enabled: true,
+ untrimmedFilePath: '/dist/index.d.ts',
+ },
+
+ messages: {
+ compilerMessageReporting: {
+ default: {
+ logLevel: 'warning',
+ },
+ },
+
+ extractorMessageReporting: {
+ 'ae-forgotten-export': {
+ logLevel: 'none',
+ },
+ 'ae-missing-release-tag': {
+ logLevel: 'none',
+ },
+ default: {
+ logLevel: 'warning',
+ },
+ },
+
+ tsdocMessageReporting: {
+ default: {
+ logLevel: 'none',
+ },
+ },
+ },
+
+ tsdocMetadata: {
+ enabled: false,
+ },
+ };
+
+ await fs.promises.writeFile(
+ path.resolve(__dirname, '../api-extractor.json'),
+ JSON.stringify(sharedExtractorConfig, null, 2),
+ );
+
+ let compilerState;
+
+ await Promise.all(
+ packagesWithTs.map(async ({packageDir, pkg}) => {
+ const configFile = path.resolve(packageDir, 'api-extractor.json');
+
+ await fs.promises.writeFile(
+ configFile,
+ JSON.stringify(
+ {
+ extends: '../../api-extractor.json',
+ mainEntryPointFilePath: path.resolve(packageDir, pkg.types),
+ projectFolder: packageDir,
+ },
+ null,
+ 2,
+ ),
+ );
+ const extractorConfig = ExtractorConfig.loadFileAndPrepare(configFile);
+
+ if (!compilerState) {
+ compilerState = CompilerState.create(extractorConfig, {
+ additionalEntryPoints: packagesWithTs.map(({pkg, packageDir}) =>
+ path.resolve(packageDir, pkg.types),
+ ),
+ typescriptCompilerFolder,
+ });
+ }
+
+ const extractorResult = Extractor.invoke(extractorConfig, {
+ compilerState,
+ localBuild: true,
+ showVerboseMessages: true,
+ typescriptCompilerFolder,
+ });
+
+ if (!extractorResult.succeeded || extractorResult.warningCount > 0) {
+ console.error(
+ chalk.inverse.red(' Unable to extract TypeScript definition files '),
+ );
+ throw new Error(
+ `API Extractor completed with ${extractorResult.errorCount} errors and ${extractorResult.warningCount} warnings`,
+ );
+ }
+
+ const filepath = extractorResult.extractorConfig.untrimmedFilePath;
+
+ let definitionFile = await fs.promises.readFile(filepath, 'utf8');
+
+ rimraf.sync(path.resolve(packageDir, 'build/**/*.d.ts'));
+ rimraf.sync(path.resolve(packageDir, 'dist/'));
+ // this is invalid now, so remove it to not confuse `tsc`
+ rimraf.sync(path.resolve(packageDir, 'tsconfig.tsbuildinfo'));
+
+ definitionFile = definitionFile.replace(/\r\n/g, '\n');
+
+ const hasNodeTypesReference = definitionFile.includes(
+ typesNodeReferenceDirective,
+ );
+
+ if (hasNodeTypesReference) {
+ definitionFile = [
+ typesNodeReferenceDirective,
+ ...definitionFile.split(typesNodeReferenceDirective),
+ ].join('\n');
+ }
+
+ definitionFile = [
+ copyrightSnippet,
+ ...definitionFile.split(copyrightSnippet),
+ ].join('\n');
+
+ const formattedContent = prettier.format(definitionFile, {
+ ...prettierConfig,
+ filepath,
+ });
+
+ await fs.promises.writeFile(
+ filepath.replace('/dist/', '/build/'),
+ formattedContent,
+ );
+ }),
+ );
+
+ console.log(
+ chalk.inverse.green(' Successfully extracted TypeScript definition files '),
+ );
+})().catch(error => {
+ console.error('Got error', error.stack);
+ process.exitCode = 1;
+});
diff --git a/yarn.lock b/yarn.lock
index ae8000d76583..5cfa83389fe0 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2608,6 +2608,7 @@ __metadata:
"@crowdin/cli": ^3.5.2
"@jest/globals": "workspace:*"
"@jest/test-utils": "workspace:*"
+ "@microsoft/api-extractor": ^7.19.4
"@tsconfig/node12": ^1.0.9
"@tsd/typescript": ~4.5.5
"@types/babel__core": ^7.0.0
@@ -2660,6 +2661,7 @@ __metadata:
mock-fs: ^4.4.1
netlify-plugin-cache: ^1.0.3
node-notifier: ^10.0.0
+ pkg-dir: ^5.0.0
prettier: ^2.1.1
progress: ^2.0.0
promise: ^8.0.2
@@ -3715,6 +3717,58 @@ __metadata:
languageName: node
linkType: hard
+"@microsoft/api-extractor-model@npm:7.15.3":
+ version: 7.15.3
+ resolution: "@microsoft/api-extractor-model@npm:7.15.3"
+ dependencies:
+ "@microsoft/tsdoc": 0.13.2
+ "@microsoft/tsdoc-config": ~0.15.2
+ "@rushstack/node-core-library": 3.45.0
+ checksum: dfa706b1b2acac93c68afe0c7e119e45a95ab40e75b0d70fdb687ce263e22fd1a491a4f4ee1151d0ef059dfb35daef909b27f3608c67f542666623af6e953127
+ languageName: node
+ linkType: hard
+
+"@microsoft/api-extractor@npm:^7.19.4":
+ version: 7.19.4
+ resolution: "@microsoft/api-extractor@npm:7.19.4"
+ dependencies:
+ "@microsoft/api-extractor-model": 7.15.3
+ "@microsoft/tsdoc": 0.13.2
+ "@microsoft/tsdoc-config": ~0.15.2
+ "@rushstack/node-core-library": 3.45.0
+ "@rushstack/rig-package": 0.3.7
+ "@rushstack/ts-command-line": 4.10.6
+ colors: ~1.2.1
+ lodash: ~4.17.15
+ resolve: ~1.17.0
+ semver: ~7.3.0
+ source-map: ~0.6.1
+ typescript: ~4.5.2
+ bin:
+ api-extractor: bin/api-extractor
+ checksum: 15d1749e02053a7d70b43b87067b31055995bbe80acc888016612b8d61b6788e9f2619774982f7271c9c5271b512d1340fea609e4b001ab9e2347411d3c63fa2
+ languageName: node
+ linkType: hard
+
+"@microsoft/tsdoc-config@npm:~0.15.2":
+ version: 0.15.2
+ resolution: "@microsoft/tsdoc-config@npm:0.15.2"
+ dependencies:
+ "@microsoft/tsdoc": 0.13.2
+ ajv: ~6.12.6
+ jju: ~1.4.0
+ resolve: ~1.19.0
+ checksum: 85eb7808d4e4541199437f39e6aed235aaece0a6d0fd05c0b923067d494d20baca483fc6871880d09630f6d4e62b8bb99af0fde503eb2b2ded1b7ae5f74dfaf3
+ languageName: node
+ linkType: hard
+
+"@microsoft/tsdoc@npm:0.13.2":
+ version: 0.13.2
+ resolution: "@microsoft/tsdoc@npm:0.13.2"
+ checksum: 70948c5647495ef99752ff500e0f612c1fcf3476ea663ace19937e4d2f86fd78f0ad92ea5876d67e06b421f347d571b3d9e49c444935dc267768d5afd15581f8
+ languageName: node
+ linkType: hard
+
"@nodelib/fs.scandir@npm:2.1.5":
version: 2.1.5
resolution: "@nodelib/fs.scandir@npm:2.1.5"
@@ -4208,6 +4262,45 @@ __metadata:
languageName: node
linkType: hard
+"@rushstack/node-core-library@npm:3.45.0":
+ version: 3.45.0
+ resolution: "@rushstack/node-core-library@npm:3.45.0"
+ dependencies:
+ "@types/node": 12.20.24
+ colors: ~1.2.1
+ fs-extra: ~7.0.1
+ import-lazy: ~4.0.0
+ jju: ~1.4.0
+ resolve: ~1.17.0
+ semver: ~7.3.0
+ timsort: ~0.3.0
+ z-schema: ~5.0.2
+ checksum: 1dc9dd7a042b33d891d4174369f8a63e70c76a2a502ef0a2d49993639d9722ff34eb149da7f06cd16ad069aa0d6045df8df9be27ab38fdad0fbc0349787d08b3
+ languageName: node
+ linkType: hard
+
+"@rushstack/rig-package@npm:0.3.7":
+ version: 0.3.7
+ resolution: "@rushstack/rig-package@npm:0.3.7"
+ dependencies:
+ resolve: ~1.17.0
+ strip-json-comments: ~3.1.1
+ checksum: 3dceb4dbed159a9c54f97d91a38a4f0ec3219d9e33c3f3cad903a56bc20385849749b460168687334611d3af7bf210da05d794af97c665dfbf5b95aba56dd3cc
+ languageName: node
+ linkType: hard
+
+"@rushstack/ts-command-line@npm:4.10.6":
+ version: 4.10.6
+ resolution: "@rushstack/ts-command-line@npm:4.10.6"
+ dependencies:
+ "@types/argparse": 1.0.38
+ argparse: ~1.0.9
+ colors: ~1.2.1
+ string-argv: ~0.3.1
+ checksum: a618104fa5076fa1d67163638d6741784dc298fc4768a126c9d0cc17801baca903ed712b42cd3f530ca25402d219bdfa1c880ed0e82d3b0a419c1cbd02589d9b
+ languageName: node
+ linkType: hard
+
"@sideway/address@npm:^4.1.3":
version: 4.1.3
resolution: "@sideway/address@npm:4.1.3"
@@ -4504,6 +4597,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/argparse@npm:1.0.38":
+ version: 1.0.38
+ resolution: "@types/argparse@npm:1.0.38"
+ checksum: 26ed7e3f1e3595efdb883a852f5205f971b798e4c28b7e30a32c5298eee596e8b45834ce831f014d250b9730819ab05acff5b31229666d3af4ba465b4697d0eb
+ languageName: node
+ linkType: hard
+
"@types/aria-query@npm:^4.2.0":
version: 4.2.2
resolution: "@types/aria-query@npm:4.2.2"
@@ -4842,7 +4942,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/jsdom@*":
+"@types/jsdom@npm:*":
version: 16.2.14
resolution: "@types/jsdom@npm:16.2.14"
dependencies:
@@ -4958,6 +5058,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/node@npm:12.20.24":
+ version: 12.20.24
+ resolution: "@types/node@npm:12.20.24"
+ checksum: e7a13460e2f5b0b5a32c0f3af7daf1a05201552a66d542d3cc3b1ea8b52d4730250f9eb1961d755e31cfe5d03c78340911a6242657a0a9a17d6f7e341fc9f366
+ languageName: node
+ linkType: hard
+
"@types/node@npm:^14.0.27":
version: 14.18.10
resolution: "@types/node@npm:14.18.10"
@@ -5773,7 +5880,7 @@ __metadata:
languageName: node
linkType: hard
-"ajv@npm:^6.10.0, ajv@npm:^6.12.2, ajv@npm:^6.12.3, ajv@npm:^6.12.4, ajv@npm:^6.12.5":
+"ajv@npm:^6.10.0, ajv@npm:^6.12.2, ajv@npm:^6.12.3, ajv@npm:^6.12.4, ajv@npm:^6.12.5, ajv@npm:~6.12.6":
version: 6.12.6
resolution: "ajv@npm:6.12.6"
dependencies:
@@ -6035,7 +6142,7 @@ __metadata:
languageName: node
linkType: hard
-"argparse@npm:^1.0.7":
+"argparse@npm:^1.0.7, argparse@npm:~1.0.9":
version: 1.0.10
resolution: "argparse@npm:1.0.10"
dependencies:
@@ -7579,6 +7686,13 @@ __metadata:
languageName: node
linkType: hard
+"colors@npm:~1.2.1":
+ version: 1.2.5
+ resolution: "colors@npm:1.2.5"
+ checksum: b6e23de735f68b72d5cdf6fd854ca43d1b66d82dcf54bda0b788083b910164a040f2c4edf23c670d36a7a2d8f1b7d6e62e3292703e4642691e6ccaa1c62d8f74
+ languageName: node
+ linkType: hard
+
"columnify@npm:^1.5.4":
version: 1.5.4
resolution: "columnify@npm:1.5.4"
@@ -7619,7 +7733,7 @@ __metadata:
languageName: node
linkType: hard
-"commander@npm:^2.19.0, commander@npm:^2.20.0":
+"commander@npm:^2.19.0, commander@npm:^2.20.0, commander@npm:^2.7.1":
version: 2.20.3
resolution: "commander@npm:2.20.3"
checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e
@@ -10566,6 +10680,17 @@ __metadata:
languageName: node
linkType: hard
+"fs-extra@npm:~7.0.1":
+ version: 7.0.1
+ resolution: "fs-extra@npm:7.0.1"
+ dependencies:
+ graceful-fs: ^4.1.2
+ jsonfile: ^4.0.0
+ universalify: ^0.1.0
+ checksum: 141b9dccb23b66a66cefdd81f4cda959ff89282b1d721b98cea19ba08db3dcbe6f862f28841f3cf24bb299e0b7e6c42303908f65093cb7e201708e86ea5a8dcf
+ languageName: node
+ linkType: hard
+
"fs-minipass@npm:^1.2.7":
version: 1.2.7
resolution: "fs-minipass@npm:1.2.7"
@@ -11753,6 +11878,13 @@ __metadata:
languageName: node
linkType: hard
+"import-lazy@npm:~4.0.0":
+ version: 4.0.0
+ resolution: "import-lazy@npm:4.0.0"
+ checksum: 22f5e51702134aef78890156738454f620e5fe7044b204ebc057c614888a1dd6fdf2ede0fdcca44d5c173fd64f65c985f19a51775b06967ef58cc3d26898df07
+ languageName: node
+ linkType: hard
+
"import-local@npm:^3.0.2":
version: 3.0.3
resolution: "import-local@npm:3.0.3"
@@ -12034,7 +12166,7 @@ __metadata:
languageName: node
linkType: hard
-"is-core-module@npm:^2.5.0, is-core-module@npm:^2.8.0, is-core-module@npm:^2.8.1":
+"is-core-module@npm:^2.1.0, is-core-module@npm:^2.5.0, is-core-module@npm:^2.8.0, is-core-module@npm:^2.8.1":
version: 2.8.1
resolution: "is-core-module@npm:2.8.1"
dependencies:
@@ -13352,6 +13484,13 @@ __metadata:
languageName: node
linkType: hard
+"jju@npm:~1.4.0":
+ version: 1.4.0
+ resolution: "jju@npm:1.4.0"
+ checksum: 3790481bd2b7827dd6336e6e3dc2dcc6d425679ba7ebde7b679f61dceb4457ea0cda330972494de608571f4973c6dfb5f70fab6f3c5037dbab19ac449a60424f
+ languageName: node
+ linkType: hard
+
"joi@npm:^17.2.1, joi@npm:^17.4.0, joi@npm:^17.4.2":
version: 17.5.0
resolution: "joi@npm:17.5.0"
@@ -14014,6 +14153,13 @@ __metadata:
languageName: node
linkType: hard
+"lodash.get@npm:^4.4.2":
+ version: 4.4.2
+ resolution: "lodash.get@npm:4.4.2"
+ checksum: e403047ddb03181c9d0e92df9556570e2b67e0f0a930fcbbbd779370972368f5568e914f913e93f3b08f6d492abc71e14d4e9b7a18916c31fa04bd2306efe545
+ languageName: node
+ linkType: hard
+
"lodash.isequal@npm:^4.5.0":
version: 4.5.0
resolution: "lodash.isequal@npm:4.5.0"
@@ -14131,7 +14277,7 @@ __metadata:
languageName: node
linkType: hard
-"lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.7.0":
+"lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.7.0, lodash@npm:~4.17.15":
version: 4.17.21
resolution: "lodash@npm:4.17.21"
checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7
@@ -16494,7 +16640,7 @@ __metadata:
languageName: node
linkType: hard
-"path-parse@npm:^1.0.7":
+"path-parse@npm:^1.0.6, path-parse@npm:^1.0.7":
version: 1.0.7
resolution: "path-parse@npm:1.0.7"
checksum: 49abf3d81115642938a8700ec580da6e830dde670be21893c62f4e10bd7dd4c3742ddc603fe24f898cba7eb0c6bc1777f8d9ac14185d34540c6d4d80cd9cae8a
@@ -16630,6 +16776,15 @@ __metadata:
languageName: node
linkType: hard
+"pkg-dir@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "pkg-dir@npm:5.0.0"
+ dependencies:
+ find-up: ^5.0.0
+ checksum: b167bb8dac7bbf22b1d5e30ec223e6b064b84b63010c9d49384619a36734caf95ed23ad23d4f9bd975e8e8082b60a83395f43a89bb192df53a7c25a38ecb57d9
+ languageName: node
+ linkType: hard
+
"pkg-up@npm:^3.1.0":
version: 3.1.0
resolution: "pkg-up@npm:3.1.0"
@@ -18725,6 +18880,25 @@ __metadata:
languageName: node
linkType: hard
+"resolve@npm:~1.17.0":
+ version: 1.17.0
+ resolution: "resolve@npm:1.17.0"
+ dependencies:
+ path-parse: ^1.0.6
+ checksum: 9ceaf83b3429f2d7ff5d0281b8d8f18a1f05b6ca86efea7633e76b8f76547f33800799dfdd24434942dec4fbd9e651ed3aef577d9a6b5ec87ad89c1060e24759
+ languageName: node
+ linkType: hard
+
+"resolve@npm:~1.19.0":
+ version: 1.19.0
+ resolution: "resolve@npm:1.19.0"
+ dependencies:
+ is-core-module: ^2.1.0
+ path-parse: ^1.0.6
+ checksum: a05b356e47b85ad3613d9e2a39a824f3c27f4fcad9c9ff6c7cc71a2e314c5904a90ab37481ad0069d03cab9eaaac6eb68aca1bc3355fdb05f1045cd50e2aacea
+ languageName: node
+ linkType: hard
+
"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.15.0#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.3.2#~builtin":
version: 1.22.0
resolution: "resolve@patch:resolve@npm%3A1.22.0#~builtin::version=1.22.0&hash=07638b"
@@ -18738,6 +18912,25 @@ __metadata:
languageName: node
linkType: hard
+"resolve@patch:resolve@~1.17.0#~builtin":
+ version: 1.17.0
+ resolution: "resolve@patch:resolve@npm%3A1.17.0#~builtin::version=1.17.0&hash=07638b"
+ dependencies:
+ path-parse: ^1.0.6
+ checksum: 6fd799f282ddf078c4bc20ce863e3af01fa8cb218f0658d9162c57161a2dbafe092b13015b9a4c58d0e1e801cf7aa7a4f13115fea9db98c3f9a0c43e429bad6f
+ languageName: node
+ linkType: hard
+
+"resolve@patch:resolve@~1.19.0#~builtin":
+ version: 1.19.0
+ resolution: "resolve@patch:resolve@npm%3A1.19.0#~builtin::version=1.19.0&hash=07638b"
+ dependencies:
+ is-core-module: ^2.1.0
+ path-parse: ^1.0.6
+ checksum: 2443b94d347e6946c87c85faf13071f605e609e0b54784829b0ed2b917d050bfc1cbaf4ecc6453f224cfa7d0c5dcd97cbb273454cd210bee68e4af15c1a5abc9
+ languageName: node
+ linkType: hard
+
"responselike@npm:^1.0.2":
version: 1.0.2
resolution: "responselike@npm:1.0.2"
@@ -19138,7 +19331,7 @@ __metadata:
languageName: node
linkType: hard
-"semver@npm:^7.1.1, semver@npm:^7.1.3, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5":
+"semver@npm:^7.1.1, semver@npm:^7.1.3, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:~7.3.0":
version: 7.3.5
resolution: "semver@npm:7.3.5"
dependencies:
@@ -19901,6 +20094,13 @@ __metadata:
languageName: node
linkType: hard
+"string-argv@npm:~0.3.1":
+ version: 0.3.1
+ resolution: "string-argv@npm:0.3.1"
+ checksum: efbd0289b599bee808ce80820dfe49c9635610715429c6b7cc50750f0437e3c2f697c81e5c390208c13b5d5d12d904a1546172a88579f6ee5cbaaaa4dc9ec5cf
+ languageName: node
+ linkType: hard
+
"string-length@npm:^4.0.1":
version: 4.0.2
resolution: "string-length@npm:4.0.2"
@@ -20096,7 +20296,7 @@ __metadata:
languageName: node
linkType: hard
-"strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1":
+"strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1, strip-json-comments@npm:~3.1.1":
version: 3.1.1
resolution: "strip-json-comments@npm:3.1.1"
checksum: 492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443
@@ -20508,7 +20708,7 @@ __metadata:
languageName: node
linkType: hard
-"timsort@npm:^0.3.0":
+"timsort@npm:^0.3.0, timsort@npm:~0.3.0":
version: 0.3.0
resolution: "timsort@npm:0.3.0"
checksum: 1a66cb897dacabd7dd7c91b7e2301498ca9e224de2edb9e42d19f5b17c4b6dc62a8d4cbc64f28be82aaf1541cb5a78ab49aa818f42a2989ebe049a64af731e2a
@@ -20893,7 +21093,7 @@ __metadata:
languageName: node
linkType: hard
-"typescript@*, typescript@npm:^4.0.2, typescript@npm:^4.0.3":
+"typescript@*, typescript@npm:^4.0.2, typescript@npm:^4.0.3, typescript@npm:~4.5.2":
version: 4.5.5
resolution: "typescript@npm:4.5.5"
bin:
@@ -20903,7 +21103,7 @@ __metadata:
languageName: node
linkType: hard
-"typescript@patch:typescript@*#~builtin, typescript@patch:typescript@^4.0.2#~builtin, typescript@patch:typescript@^4.0.3#~builtin":
+"typescript@patch:typescript@*#~builtin, typescript@patch:typescript@^4.0.2#~builtin, typescript@patch:typescript@^4.0.3#~builtin, typescript@patch:typescript@~4.5.2#~builtin":
version: 4.5.5
resolution: "typescript@patch:typescript@npm%3A4.5.5#~builtin::version=4.5.5&hash=493e53"
bin:
@@ -21520,6 +21720,13 @@ __metadata:
languageName: node
linkType: hard
+"validator@npm:^13.7.0":
+ version: 13.7.0
+ resolution: "validator@npm:13.7.0"
+ checksum: 2b83283de1222ca549a7ef57f46e8d49c6669213348db78b7045bce36a3b5843ff1e9f709ebf74574e06223461ee1f264f8cc9a26a0060a79a27de079d8286ef
+ languageName: node
+ linkType: hard
+
"value-equal@npm:^1.0.1":
version: 1.0.1
resolution: "value-equal@npm:1.0.1"
@@ -22572,6 +22779,23 @@ __metadata:
languageName: node
linkType: hard
+"z-schema@npm:~5.0.2":
+ version: 5.0.2
+ resolution: "z-schema@npm:5.0.2"
+ dependencies:
+ commander: ^2.7.1
+ lodash.get: ^4.4.2
+ lodash.isequal: ^4.5.0
+ validator: ^13.7.0
+ dependenciesMeta:
+ commander:
+ optional: true
+ bin:
+ z-schema: bin/z-schema
+ checksum: 084b2f16043ac0a892914ee29cc0b4fafd9338133eec0345cd6ced25e814f647fa67be1090ad5f606759c2c1f2f8c28127960ba187f437f1caf6fb8cd45d7336
+ languageName: node
+ linkType: hard
+
"zone.js@npm:~0.11.3":
version: 0.11.4
resolution: "zone.js@npm:0.11.4"