cdk-common 2.1.55 → 2.1.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,7 +8,7 @@ This package contains type definitions for node (https://nodejs.org/).
8
8
  Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.
9
9
 
10
10
  ### Additional Details
11
- * Last updated: Tue, 19 May 2026 17:48:56 GMT
11
+ * Last updated: Wed, 10 Jun 2026 22:15:09 GMT
12
12
  * Dependencies: [undici-types](https://npmjs.com/package/undici-types)
13
13
 
14
14
  # Credits
@@ -20,6 +20,7 @@ declare module "node:http2" {
20
20
  ":method"?: string | undefined;
21
21
  ":authority"?: string | undefined;
22
22
  ":scheme"?: string | undefined;
23
+ ":protocol"?: string | undefined;
23
24
  }
24
25
  // Http2Stream
25
26
  interface StreamState {
@@ -582,6 +583,7 @@ declare module "node:http2" {
582
583
  maxConcurrentStreams?: number | undefined;
583
584
  maxHeaderListSize?: number | undefined;
584
585
  enableConnectProtocol?: boolean | undefined;
586
+ customSettings?: { [key: number]: number };
585
587
  }
586
588
  interface ClientSessionRequestOptions {
587
589
  endStream?: boolean | undefined;
@@ -1240,6 +1242,8 @@ declare module "node:http2" {
1240
1242
  Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,
1241
1243
  Http2Response extends typeof Http2ServerResponse<InstanceType<Http2Request>> = typeof Http2ServerResponse,
1242
1244
  > extends SessionOptions {
1245
+ maxSessionRejectedStreams?: number | undefined;
1246
+ maxSessionInvalidFrames?: number | undefined;
1243
1247
  streamResetBurst?: number | undefined;
1244
1248
  streamResetRate?: number | undefined;
1245
1249
  /** @deprecated Use `http1Options.IncomingMessage` instead. */
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/node",
3
- "version": "25.9.1",
3
+ "version": "25.9.3",
4
4
  "description": "TypeScript definitions for node",
5
5
  "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
6
6
  "license": "MIT",
@@ -150,6 +150,6 @@
150
150
  "undici-types": ">=7.24.0 <7.24.7"
151
151
  },
152
152
  "peerDependencies": {},
153
- "typesPublisherContentHash": "2546f5f588e15fc9aa202a3005dab2859d006fd48a8448107741e5ce184e9098",
153
+ "typesPublisherContentHash": "b651099f0be23911446e6a283ee816760ef628511df23064b85b949a9ca68cf5",
154
154
  "typeScriptVersion": "5.3"
155
155
  }
@@ -8,7 +8,7 @@ This package contains type definitions for node (https://nodejs.org/).
8
8
  Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.
9
9
 
10
10
  ### Additional Details
11
- * Last updated: Tue, 19 May 2026 17:48:56 GMT
11
+ * Last updated: Wed, 10 Jun 2026 22:15:09 GMT
12
12
  * Dependencies: [undici-types](https://npmjs.com/package/undici-types)
13
13
 
14
14
  # Credits
@@ -20,6 +20,7 @@ declare module "node:http2" {
20
20
  ":method"?: string | undefined;
21
21
  ":authority"?: string | undefined;
22
22
  ":scheme"?: string | undefined;
23
+ ":protocol"?: string | undefined;
23
24
  }
24
25
  // Http2Stream
25
26
  interface StreamState {
@@ -582,6 +583,7 @@ declare module "node:http2" {
582
583
  maxConcurrentStreams?: number | undefined;
583
584
  maxHeaderListSize?: number | undefined;
584
585
  enableConnectProtocol?: boolean | undefined;
586
+ customSettings?: { [key: number]: number };
585
587
  }
586
588
  interface ClientSessionRequestOptions {
587
589
  endStream?: boolean | undefined;
@@ -1240,6 +1242,8 @@ declare module "node:http2" {
1240
1242
  Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,
1241
1243
  Http2Response extends typeof Http2ServerResponse<InstanceType<Http2Request>> = typeof Http2ServerResponse,
1242
1244
  > extends SessionOptions {
1245
+ maxSessionRejectedStreams?: number | undefined;
1246
+ maxSessionInvalidFrames?: number | undefined;
1243
1247
  streamResetBurst?: number | undefined;
1244
1248
  streamResetRate?: number | undefined;
1245
1249
  /** @deprecated Use `http1Options.IncomingMessage` instead. */
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/node",
3
- "version": "25.9.1",
3
+ "version": "25.9.3",
4
4
  "description": "TypeScript definitions for node",
5
5
  "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
6
6
  "license": "MIT",
@@ -150,6 +150,6 @@
150
150
  "undici-types": ">=7.24.0 <7.24.7"
151
151
  },
152
152
  "peerDependencies": {},
153
- "typesPublisherContentHash": "2546f5f588e15fc9aa202a3005dab2859d006fd48a8448107741e5ce184e9098",
153
+ "typesPublisherContentHash": "b651099f0be23911446e6a283ee816760ef628511df23064b85b949a9ca68cf5",
154
154
  "typeScriptVersion": "5.3"
155
155
  }
@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [v4.0.5](https://github.com/form-data/form-data/compare/v4.0.4...v4.0.5) - 2025-11-17
9
+
10
+ ### Commits
11
+
12
+ - [Tests] Switch to newer v8 prediction library; enable node 24 testing [`16e0076`](https://github.com/form-data/form-data/commit/16e00765342106876f98a1c9703314006c9e937a)
13
+ - [Dev Deps] update `@ljharb/eslint-config`, `eslint` [`5822467`](https://github.com/form-data/form-data/commit/5822467f0ec21f6ad613c1c90856375e498793c7)
14
+ - [Fix] set Symbol.toStringTag in the proper place [`76d0dee`](https://github.com/form-data/form-data/commit/76d0dee43933b5e167f7f09e5d9cbbd1cf911aa7)
15
+
8
16
  ## [v4.0.4](https://github.com/form-data/form-data/compare/v4.0.3...v4.0.4) - 2025-07-16
9
17
 
10
18
  ### Commits
@@ -158,7 +166,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
158
166
 
159
167
  - feat: add setBoundary method [`55d90ce`](https://github.com/form-data/form-data/commit/55d90ce4a4c22b0ea0647991d85cb946dfb7395b)
160
168
 
161
- ## [v3.0.0](https://github.com/form-data/form-data/compare/v2.5.5...v3.0.0) - 2019-11-05
169
+ ## [v3.0.0](https://github.com/form-data/form-data/compare/v2.5.6...v3.0.0) - 2019-11-05
162
170
 
163
171
  ### Merged
164
172
 
@@ -182,6 +190,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
182
190
  - Pass options to constructor if not used with new [`4bde68e`](https://github.com/form-data/form-data/commit/4bde68e12de1ba90fefad2e7e643f6375b902763)
183
191
  - Make userHeaders optional [`2b4e478`](https://github.com/form-data/form-data/commit/2b4e4787031490942f2d1ee55c56b85a250875a7)
184
192
 
193
+ ## [v2.5.6](https://github.com/form-data/form-data/compare/v2.5.5...v2.5.6) - 2026-06-12
194
+
195
+ ### Commits
196
+
197
+ - [Fix] escape CR, LF, and `"` in field names and filenames [`b620316`](https://github.com/form-data/form-data/commit/b62031603c2d7c329b2a369b49466790f0ba6314)
198
+ - [Dev Deps] update `@ljharb/eslint-config`, `auto-changelog`, `eslint`, `tape` [`12be578`](https://github.com/form-data/form-data/commit/12be578e936fd77eee75e2e656955f5343c4b80f)
199
+ - [Dev Deps] update `js-randomness-predictor` [`46cfd23`](https://github.com/form-data/form-data/commit/46cfd23bd40be14cfa0391e1c5357c4d74098f23)
200
+ - [Tests] use `safe-buffer` so the header-injection test runs on node &lt; 4 [`633044a`](https://github.com/form-data/form-data/commit/633044a57a7b19f41cec2271ffd24afa2f6280af)
201
+ - [Deps] update `hasown` [`e3b96ee`](https://github.com/form-data/form-data/commit/e3b96eef1661bca8ea4297de057b78bf2734e900)
202
+
185
203
  ## [v2.5.5](https://github.com/form-data/form-data/compare/v2.5.4...v2.5.5) - 2025-07-18
186
204
 
187
205
  ### Commits
@@ -6,11 +6,11 @@ The API of this library is inspired by the [XMLHttpRequest-2 FormData Interface]
6
6
 
7
7
  [xhr2-fd]: http://dev.w3.org/2006/webapi/XMLHttpRequest-2/Overview.html#the-formdata-interface
8
8
 
9
- [![Linux Build](https://img.shields.io/travis/form-data/form-data/v2.5.5.svg?label=linux:4.x-12.x)](https://travis-ci.org/form-data/form-data)
10
- [![MacOS Build](https://img.shields.io/travis/form-data/form-data/v2.5.5.svg?label=macos:4.x-12.x)](https://travis-ci.org/form-data/form-data)
11
- [![Windows Build](https://img.shields.io/travis/form-data/form-data/v2.5.5.svg?label=windows:4.x-12.x)](https://travis-ci.org/form-data/form-data)
9
+ [![Linux Build](https://img.shields.io/travis/form-data/form-data/v2.5.6.svg?label=linux:4.x-12.x)](https://travis-ci.org/form-data/form-data)
10
+ [![MacOS Build](https://img.shields.io/travis/form-data/form-data/v2.5.6.svg?label=macos:4.x-12.x)](https://travis-ci.org/form-data/form-data)
11
+ [![Windows Build](https://img.shields.io/travis/form-data/form-data/v2.5.6.svg?label=windows:4.x-12.x)](https://travis-ci.org/form-data/form-data)
12
12
 
13
- [![Coverage Status](https://img.shields.io/coveralls/form-data/form-data/v2.5.5.svg?label=code+coverage)](https://coveralls.io/github/form-data/form-data?branch=master)
13
+ [![Coverage Status](https://img.shields.io/coveralls/form-data/form-data/v2.5.6.svg?label=code+coverage)](https://coveralls.io/github/form-data/form-data?branch=master)
14
14
  [![Dependency Status](https://img.shields.io/david/form-data/form-data.svg)](https://david-dm.org/form-data/form-data)
15
15
 
16
16
  ## Install
@@ -15,6 +15,11 @@ var setToStringTag = require('es-set-tostringtag');
15
15
  var populate = require('./populate.js');
16
16
  var Buffer = require('safe-buffer').Buffer;
17
17
 
18
+ // escape CR/LF/`"` so a name/filename can't inject headers or smuggle parts; matches the WHATWG HTML multipart/form-data encoding
19
+ function escapeHeaderParam(str) {
20
+ return String(str).replace(/\r/g, '%0D').replace(/\n/g, '%0A').replace(/"/g, '%22');
21
+ }
22
+
18
23
  /**
19
24
  * Create readable "multipart/form-data" streams.
20
25
  * Can be used to submit forms
@@ -190,7 +195,7 @@ FormData.prototype._multiPartHeader = function (field, value, options) {
190
195
  var contents = '';
191
196
  var headers = {
192
197
  // add custom disposition as third element or keep it two elements if not
193
- 'Content-Disposition': ['form-data', 'name="' + field + '"'].concat(contentDisposition || []),
198
+ 'Content-Disposition': ['form-data', 'name="' + escapeHeaderParam(field) + '"'].concat(contentDisposition || []),
194
199
  // if no content type. allow it to be empty array
195
200
  'Content-Type': [].concat(contentType || []),
196
201
  };
@@ -245,7 +250,7 @@ FormData.prototype._getContentDisposition = function (value, options) {
245
250
  }
246
251
 
247
252
  if (filename) {
248
- contentDisposition = 'filename="' + filename + '"';
253
+ contentDisposition = 'filename="' + escapeHeaderParam(filename) + '"';
249
254
  }
250
255
 
251
256
  return contentDisposition;
@@ -2,7 +2,7 @@
2
2
  "author": "Felix Geisendörfer <felix@debuggable.com> (http://debuggable.com/)",
3
3
  "name": "form-data",
4
4
  "description": "A library to create readable \"multipart/form-data\" streams. Can be used to submit forms and file uploads to other web applications.",
5
- "version": "2.5.5",
5
+ "version": "2.5.6",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "git://github.com/form-data/form-data.git"
@@ -42,25 +42,25 @@
42
42
  "asynckit": "^0.4.0",
43
43
  "combined-stream": "^1.0.8",
44
44
  "es-set-tostringtag": "^2.1.0",
45
- "hasown": "^2.0.2",
45
+ "hasown": "^2.0.4",
46
46
  "mime-types": "^2.1.35",
47
47
  "safe-buffer": "^5.2.1"
48
48
  },
49
49
  "devDependencies": {
50
- "@ljharb/eslint-config": "^21.2.0",
51
- "auto-changelog": "^2.5.0",
50
+ "@ljharb/eslint-config": "^22.2.3",
51
+ "auto-changelog": "^2.6.0",
52
52
  "browserify": "^13.3.0",
53
53
  "browserify-istanbul": "^2.0.0",
54
54
  "coveralls": "^3.1.1",
55
55
  "cross-spawn": "^4.0.2",
56
56
  "encoding": "^0.1.13",
57
- "eslint": "=8.8.0",
57
+ "eslint": "^8.57.1",
58
58
  "fake": "^0.2.2",
59
59
  "far": "^0.0.7",
60
60
  "formidable": "^1.2.6",
61
61
  "in-publish": "^2.0.1",
62
62
  "istanbul": "^0.4.5",
63
- "js-randomness-predictor": "^1.5.5",
63
+ "js-randomness-predictor": "^3.6.0",
64
64
  "obake": "^0.1.2",
65
65
  "phantomjs-prebuilt": "^2.1.16",
66
66
  "pkgfiles": "^2.3.2",
@@ -69,7 +69,7 @@
69
69
  "request": "~2.87.0",
70
70
  "rimraf": "^2.7.1",
71
71
  "semver": "^6.3.1",
72
- "tape": "^5.9.0"
72
+ "tape": "^5.10.1"
73
73
  },
74
74
  "license": "MIT",
75
75
  "auto-changelog": {
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [v2.0.4](https://github.com/inspect-js/hasOwn/compare/v2.0.3...v2.0.4) - 2026-05-28
9
+
10
+ ### Commits
11
+
12
+ - [types] drop the dead key-narrowing overload [`fdab00e`](https://github.com/inspect-js/hasOwn/commit/fdab00e2703e65411424e19bf86a7e72a8f10da9)
13
+ - [Dev Deps] update `@ljharb/eslint-config`, `auto-changelog`, `eslint` [`91f6247`](https://github.com/inspect-js/hasOwn/commit/91f624768dd0f7db0d019b89d4d86bd66e20ec30)
14
+
8
15
  ## [v2.0.3](https://github.com/inspect-js/hasOwn/compare/v2.0.2...v2.0.3) - 2026-04-17
9
16
 
10
17
  ### Commits
@@ -1,4 +1,3 @@
1
- declare function hasOwn<O, K extends PropertyKey>(o: O, p: K): p is K & keyof O;
2
1
  declare function hasOwn<O, K extends PropertyKey, V = unknown>(o: O, p: K): o is O & Record<K, V>;
3
2
 
4
3
  export = hasOwn;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hasown",
3
- "version": "2.0.3",
3
+ "version": "2.0.4",
4
4
  "description": "A robust, ES3 compatible, \"has own property\" predicate.",
5
5
  "main": "index.js",
6
6
  "exports": {
@@ -52,13 +52,12 @@
52
52
  },
53
53
  "devDependencies": {
54
54
  "@arethetypeswrong/cli": "^0.18.2",
55
- "@ljharb/eslint-config": "^22.2.2",
55
+ "@ljharb/eslint-config": "^22.2.3",
56
56
  "@ljharb/tsconfig": "^0.3.2",
57
57
  "@types/function-bind": "^1.1.10",
58
58
  "@types/tape": "^5.8.1",
59
- "auto-changelog": "^2.5.0",
60
- "encoding": "^0.1.13",
61
- "eslint": "^10.2.0",
59
+ "auto-changelog": "^2.5.1",
60
+ "eslint": "^10.4.0",
62
61
  "evalmd": "^0.0.19",
63
62
  "in-publish": "^2.0.1",
64
63
  "jiti": "^0.0.0",
@@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [v1.1.1](https://github.com/ljharb/side-channel/compare/v1.1.0...v1.1.1) - 2026-06-08
9
+
10
+ ### Commits
11
+
12
+ - [Fix] `assert`: do not observably access object keys when throwing [`fc17361`](https://github.com/ljharb/side-channel/commit/fc173615136e6a6c3194656e6088afbc0bd6f9b8)
13
+ - [actions] update workflows [`35b18c0`](https://github.com/ljharb/side-channel/commit/35b18c0bced5769d59226cd44a7e4003ad0aee81)
14
+ - [Dev Deps] update `@arethetypeswrong/cli`, `@ljharb/eslint-config`, `@ljharb/tsconfig`, `@types/tape`, `auto-changelog`, `eslint`, `npmignore` [`b456a01`](https://github.com/ljharb/side-channel/commit/b456a01396cfdd028e5d39ea84885fe9178a72cf)
15
+ - [Deps] update `object-inspect`, `side-channel-list` [`accf1a1`](https://github.com/ljharb/side-channel/commit/accf1a1a2767a22b1f5eeb5769a1db4c35a78090)
16
+ - [readme] replace runkit CI badge with shields.io check-runs badge [`7e0c956`](https://github.com/ljharb/side-channel/commit/7e0c956411cc29267197a49a155a3d9bd01bacac)
17
+
8
18
  ## [v1.1.0](https://github.com/ljharb/side-channel/compare/v1.0.6...v1.1.0) - 2024-12-11
9
19
 
10
20
  ### Commits
@@ -57,5 +57,5 @@ Clone the repo, `npm install`, and run `npm test`
57
57
  [downloads-url]: https://npm-stat.com/charts.html?package=side-channel
58
58
  [codecov-image]: https://codecov.io/gh/ljharb/side-channel/branch/main/graphs/badge.svg
59
59
  [codecov-url]: https://app.codecov.io/gh/ljharb/side-channel/
60
- [actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/side-channel
60
+ [actions-image]: https://img.shields.io/github/check-runs/ljharb/side-channel/main
61
61
  [actions-url]: https://github.com/ljharb/side-channel/actions
@@ -18,7 +18,10 @@ module.exports = function getSideChannel() {
18
18
  var channel = {
19
19
  assert: function (key) {
20
20
  if (!channel.has(key)) {
21
- throw new $TypeError('Side channel does not contain ' + inspect(key));
21
+ var keyDesc = key && Object(key) === key
22
+ ? 'the given object key'
23
+ : inspect(key);
24
+ throw new $TypeError('Side channel does not contain ' + keyDesc);
22
25
  }
23
26
  },
24
27
  'delete': function (key) {
@@ -38,6 +41,6 @@ module.exports = function getSideChannel() {
38
41
  $channelData.set(key, value);
39
42
  }
40
43
  };
41
- // @ts-expect-error TODO: figure out why this is erroring
44
+
42
45
  return channel;
43
46
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "side-channel",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "Store information about any JS value in a side channel. Uses WeakMap if available.",
5
5
  "main": "index.js",
6
6
  "exports": {
@@ -44,23 +44,23 @@
44
44
  "homepage": "https://github.com/ljharb/side-channel#readme",
45
45
  "dependencies": {
46
46
  "es-errors": "^1.3.0",
47
- "object-inspect": "^1.13.3",
48
- "side-channel-list": "^1.0.0",
47
+ "object-inspect": "^1.13.4",
48
+ "side-channel-list": "^1.0.1",
49
49
  "side-channel-map": "^1.0.1",
50
50
  "side-channel-weakmap": "^1.0.2"
51
51
  },
52
52
  "devDependencies": {
53
- "@arethetypeswrong/cli": "^0.17.1",
54
- "@ljharb/eslint-config": "^21.1.1",
55
- "@ljharb/tsconfig": "^0.2.2",
53
+ "@arethetypeswrong/cli": "^0.18.3",
54
+ "@ljharb/eslint-config": "^22.2.3",
55
+ "@ljharb/tsconfig": "^0.3.2",
56
56
  "@types/object-inspect": "^1.13.0",
57
- "@types/tape": "^5.6.5",
58
- "auto-changelog": "^2.5.0",
57
+ "@types/tape": "^5.8.1",
58
+ "auto-changelog": "^2.6.0",
59
59
  "eclint": "^2.8.1",
60
60
  "encoding": "^0.1.13",
61
- "eslint": "=8.8.0",
61
+ "eslint": "^8.57.1",
62
62
  "in-publish": "^2.0.1",
63
- "npmignore": "^0.3.1",
63
+ "npmignore": "^0.3.5",
64
64
  "nyc": "^10.3.2",
65
65
  "safe-publish-latest": "^2.0.0",
66
66
  "tape": "^5.9.0",
@@ -28,6 +28,22 @@ test('getSideChannel', function (t) {
28
28
  channel.set(o, 'data');
29
29
  st.doesNotThrow(function () { channel.assert(o); }, 'existent value noops');
30
30
 
31
+ var accessed = false;
32
+ var trap = {};
33
+ Object.defineProperty(trap, 'foo', {
34
+ enumerable: true,
35
+ get: function () {
36
+ accessed = true;
37
+ return 1;
38
+ }
39
+ });
40
+ st['throws'](
41
+ function () { channel.assert(trap); },
42
+ TypeError,
43
+ 'missing object key throws'
44
+ );
45
+ st.equal(accessed, false, 'a missing object key is not observably accessed');
46
+
31
47
  st.end();
32
48
  });
33
49
 
package/package.json CHANGED
@@ -50,11 +50,11 @@
50
50
  "jest": "^27",
51
51
  "jest-junit": "^17",
52
52
  "jsii": "5.9.x",
53
- "jsii-diff": "^1.132.0",
53
+ "jsii-diff": "^1.135.0",
54
54
  "jsii-docgen": "^10.5.0",
55
- "jsii-pacmak": "^1.132.0",
55
+ "jsii-pacmak": "^1.135.0",
56
56
  "jsii-rosetta": "5.9.x",
57
- "projen": "0.99.66",
57
+ "projen": "0.99.74",
58
58
  "ts-jest": "^27",
59
59
  "typescript": "^5"
60
60
  },
@@ -88,7 +88,7 @@
88
88
  "access": "public",
89
89
  "provenance": true
90
90
  },
91
- "version": "2.1.55",
91
+ "version": "2.1.56",
92
92
  "jest": {
93
93
  "coverageProvider": "v8",
94
94
  "testMatch": [