From 0c873c12d1fb508ffc78effec05ebe109699205b Mon Sep 17 00:00:00 2001 From: Artem Zakharchenko Date: Mon, 27 May 2024 17:53:19 +0200 Subject: [PATCH 1/7] chore: add granular exports, esm-only --- package.json | 20 ++++++------- src/index.ts | 2 -- src/{fromOpenApi => open-api}/fromOpenApi.ts | 0 .../schema/evolve.ts | 0 .../schema/types/array.ts | 0 .../schema/types/boolean.ts | 0 .../schema/types/integer.ts | 0 .../schema/types/number.ts | 0 .../schema/types/object.ts | 0 .../schema/types/string.ts | 0 .../utils/getServers.ts | 0 .../utils/normalizeSwaggerUrl.ts | 0 .../utils/openApiUtils.ts | 0 src/{fromOpenApi => open-api}/utils/repeat.ts | 0 .../utils/toBinary.ts | 0 .../utils/toString.ts | 0 src/{fromOpenApi => open-api}/utils/url.ts | 0 src/{fromTraffic => traffic}/fromTraffic.ts | 0 .../utils}/base64strings.test.ts | 7 ++--- .../utils/decodeBase64String.ts | 1 - .../utils/encodeBase64String.ts | 0 .../utils/fromByteArray.ts | 0 .../utils/harUtils.test.ts | 0 .../utils/harUtils.ts | 0 tsup.config.ts | 30 +++++-------------- 25 files changed, 19 insertions(+), 41 deletions(-) delete mode 100644 src/index.ts rename src/{fromOpenApi => open-api}/fromOpenApi.ts (100%) rename src/{fromOpenApi => open-api}/schema/evolve.ts (100%) rename src/{fromOpenApi => open-api}/schema/types/array.ts (100%) rename src/{fromOpenApi => open-api}/schema/types/boolean.ts (100%) rename src/{fromOpenApi => open-api}/schema/types/integer.ts (100%) rename src/{fromOpenApi => open-api}/schema/types/number.ts (100%) rename src/{fromOpenApi => open-api}/schema/types/object.ts (100%) rename src/{fromOpenApi => open-api}/schema/types/string.ts (100%) rename src/{fromOpenApi => open-api}/utils/getServers.ts (100%) rename src/{fromOpenApi => open-api}/utils/normalizeSwaggerUrl.ts (100%) rename src/{fromOpenApi => open-api}/utils/openApiUtils.ts (100%) rename src/{fromOpenApi => open-api}/utils/repeat.ts (100%) rename src/{fromOpenApi => open-api}/utils/toBinary.ts (100%) rename src/{fromOpenApi => open-api}/utils/toString.ts (100%) rename src/{fromOpenApi => open-api}/utils/url.ts (100%) rename src/{fromTraffic => traffic}/fromTraffic.ts (100%) rename src/{fromTraffic/utils/__tests__ => traffic/utils}/base64strings.test.ts (77%) rename src/{fromTraffic => traffic}/utils/decodeBase64String.ts (99%) rename src/{fromTraffic => traffic}/utils/encodeBase64String.ts (100%) rename src/{fromTraffic => traffic}/utils/fromByteArray.ts (100%) rename src/{fromTraffic => traffic}/utils/harUtils.test.ts (100%) rename src/{fromTraffic => traffic}/utils/harUtils.ts (100%) diff --git a/package.json b/package.json index b16b89c..4e53d78 100644 --- a/package.json +++ b/package.json @@ -6,15 +6,15 @@ "module": "./lib/esm/index.mjs", "types": "./lib/cjs/index.d.ts", "exports": { - ".": { - "require": "./lib/cjs/index.cjs", - "import": "./lib/esm/index.mjs", - "default": "./lib/cjs/index.js" - } + "./open-api": { + "default": "./lib/open-api/fromOpenApi.mjs" + }, + "./traffic": { + "default": "./lib/traffic/fromTraffic.mjs" + }, + "./package.json": "./package.json" }, - "files": [ - "lib" - ], + "files": ["lib"], "repository": "git@github.com:mswjs/source.git", "author": "Artem Zakharchenko ", "scripts": { @@ -27,9 +27,7 @@ "prepublishOnly": "pnpm test && pnpm build" }, "lint-staged": { - "*.ts": [ - "prettier --write" - ] + "*.ts": ["prettier --write"] }, "simple-git-hooks": { "pre-commit": "pnpm lint-staged", diff --git a/src/index.ts b/src/index.ts deleted file mode 100644 index 32c947f..0000000 --- a/src/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { fromTraffic } from './fromTraffic/fromTraffic.js' -export { fromOpenApi } from './fromOpenApi/fromOpenApi.js' diff --git a/src/fromOpenApi/fromOpenApi.ts b/src/open-api/fromOpenApi.ts similarity index 100% rename from src/fromOpenApi/fromOpenApi.ts rename to src/open-api/fromOpenApi.ts diff --git a/src/fromOpenApi/schema/evolve.ts b/src/open-api/schema/evolve.ts similarity index 100% rename from src/fromOpenApi/schema/evolve.ts rename to src/open-api/schema/evolve.ts diff --git a/src/fromOpenApi/schema/types/array.ts b/src/open-api/schema/types/array.ts similarity index 100% rename from src/fromOpenApi/schema/types/array.ts rename to src/open-api/schema/types/array.ts diff --git a/src/fromOpenApi/schema/types/boolean.ts b/src/open-api/schema/types/boolean.ts similarity index 100% rename from src/fromOpenApi/schema/types/boolean.ts rename to src/open-api/schema/types/boolean.ts diff --git a/src/fromOpenApi/schema/types/integer.ts b/src/open-api/schema/types/integer.ts similarity index 100% rename from src/fromOpenApi/schema/types/integer.ts rename to src/open-api/schema/types/integer.ts diff --git a/src/fromOpenApi/schema/types/number.ts b/src/open-api/schema/types/number.ts similarity index 100% rename from src/fromOpenApi/schema/types/number.ts rename to src/open-api/schema/types/number.ts diff --git a/src/fromOpenApi/schema/types/object.ts b/src/open-api/schema/types/object.ts similarity index 100% rename from src/fromOpenApi/schema/types/object.ts rename to src/open-api/schema/types/object.ts diff --git a/src/fromOpenApi/schema/types/string.ts b/src/open-api/schema/types/string.ts similarity index 100% rename from src/fromOpenApi/schema/types/string.ts rename to src/open-api/schema/types/string.ts diff --git a/src/fromOpenApi/utils/getServers.ts b/src/open-api/utils/getServers.ts similarity index 100% rename from src/fromOpenApi/utils/getServers.ts rename to src/open-api/utils/getServers.ts diff --git a/src/fromOpenApi/utils/normalizeSwaggerUrl.ts b/src/open-api/utils/normalizeSwaggerUrl.ts similarity index 100% rename from src/fromOpenApi/utils/normalizeSwaggerUrl.ts rename to src/open-api/utils/normalizeSwaggerUrl.ts diff --git a/src/fromOpenApi/utils/openApiUtils.ts b/src/open-api/utils/openApiUtils.ts similarity index 100% rename from src/fromOpenApi/utils/openApiUtils.ts rename to src/open-api/utils/openApiUtils.ts diff --git a/src/fromOpenApi/utils/repeat.ts b/src/open-api/utils/repeat.ts similarity index 100% rename from src/fromOpenApi/utils/repeat.ts rename to src/open-api/utils/repeat.ts diff --git a/src/fromOpenApi/utils/toBinary.ts b/src/open-api/utils/toBinary.ts similarity index 100% rename from src/fromOpenApi/utils/toBinary.ts rename to src/open-api/utils/toBinary.ts diff --git a/src/fromOpenApi/utils/toString.ts b/src/open-api/utils/toString.ts similarity index 100% rename from src/fromOpenApi/utils/toString.ts rename to src/open-api/utils/toString.ts diff --git a/src/fromOpenApi/utils/url.ts b/src/open-api/utils/url.ts similarity index 100% rename from src/fromOpenApi/utils/url.ts rename to src/open-api/utils/url.ts diff --git a/src/fromTraffic/fromTraffic.ts b/src/traffic/fromTraffic.ts similarity index 100% rename from src/fromTraffic/fromTraffic.ts rename to src/traffic/fromTraffic.ts diff --git a/src/fromTraffic/utils/__tests__/base64strings.test.ts b/src/traffic/utils/base64strings.test.ts similarity index 77% rename from src/fromTraffic/utils/__tests__/base64strings.test.ts rename to src/traffic/utils/base64strings.test.ts index 7bdab4d..08b5001 100644 --- a/src/fromTraffic/utils/__tests__/base64strings.test.ts +++ b/src/traffic/utils/base64strings.test.ts @@ -1,6 +1,6 @@ -import { encodeBase64String } from '../encodeBase64String' -import { decodeBase64String } from '../decodeBase64String' -import { fromByteArray } from '../fromByteArray' +import { encodeBase64String } from './encodeBase64String' +import { decodeBase64String } from './decodeBase64String' +import { fromByteArray } from './fromByteArray' describe('base64strings', () => { test('should be able to decode base64 string', () => { @@ -17,5 +17,4 @@ describe('base64strings', () => { const asString = fromByteArray(encodedString) expect(asString).toEqual(base64String) }) - }) diff --git a/src/fromTraffic/utils/decodeBase64String.ts b/src/traffic/utils/decodeBase64String.ts similarity index 99% rename from src/fromTraffic/utils/decodeBase64String.ts rename to src/traffic/utils/decodeBase64String.ts index 58ea4ff..d61c651 100644 --- a/src/fromTraffic/utils/decodeBase64String.ts +++ b/src/traffic/utils/decodeBase64String.ts @@ -3,5 +3,4 @@ export function decodeBase64String(data: string): Uint8Array { const encoder = new TextEncoder() const bytes = encoder.encode(binaryString) return bytes - } diff --git a/src/fromTraffic/utils/encodeBase64String.ts b/src/traffic/utils/encodeBase64String.ts similarity index 100% rename from src/fromTraffic/utils/encodeBase64String.ts rename to src/traffic/utils/encodeBase64String.ts diff --git a/src/fromTraffic/utils/fromByteArray.ts b/src/traffic/utils/fromByteArray.ts similarity index 100% rename from src/fromTraffic/utils/fromByteArray.ts rename to src/traffic/utils/fromByteArray.ts diff --git a/src/fromTraffic/utils/harUtils.test.ts b/src/traffic/utils/harUtils.test.ts similarity index 100% rename from src/fromTraffic/utils/harUtils.test.ts rename to src/traffic/utils/harUtils.test.ts diff --git a/src/fromTraffic/utils/harUtils.ts b/src/traffic/utils/harUtils.ts similarity index 100% rename from src/fromTraffic/utils/harUtils.ts rename to src/traffic/utils/harUtils.ts diff --git a/tsup.config.ts b/tsup.config.ts index b3a70ef..a63d719 100644 --- a/tsup.config.ts +++ b/tsup.config.ts @@ -1,28 +1,12 @@ -import { defineConfig, Options } from 'tsup' +import { defineConfig } from 'tsup' -const commonOptions = { - clean: true, - sourcemap: true, - tsconfig: './tsconfig.build.json', - // dts: true, -} satisfies Options - -const esm = defineConfig({ - entry: ['src/**/*.ts'], +export default defineConfig({ + entry: ['!**/*.test.ts', 'src/open-api/**/*.ts', 'src/traffic/**/*.ts'], format: 'esm', - outDir: './lib/esm', + outDir: './lib', bundle: false, splitting: true, - ...commonOptions, -}) - -const cjs = defineConfig({ - entry: ['src/index.ts'], - format: 'cjs', - outDir: './lib/cjs', - bundle: true, - splitting: false, - ...commonOptions, + clean: true, + sourcemap: true, + tsconfig: './tsconfig.build.json', }) - -export default [esm, cjs] From 6dbbf1be4edf90fbc55d2ea43029051748364529 Mon Sep 17 00:00:00 2001 From: Artem Zakharchenko Date: Mon, 27 May 2024 17:54:13 +0200 Subject: [PATCH 2/7] chore: remove "main" and "module" --- package.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/package.json b/package.json index 4e53d78..0685ecf 100644 --- a/package.json +++ b/package.json @@ -2,9 +2,6 @@ "name": "@mswjs/source", "version": "0.0.0", "description": "Generate MSW request handlers from OpenAPI documents, HAR archives, and other sources.", - "main": "./lib/cjs/index.js", - "module": "./lib/esm/index.mjs", - "types": "./lib/cjs/index.d.ts", "exports": { "./open-api": { "default": "./lib/open-api/fromOpenApi.mjs" From 5065dfaefc8083d215adf4d948876d9ec97e48fa Mon Sep 17 00:00:00 2001 From: Artem Zakharchenko Date: Thu, 30 May 2024 11:54:48 +0200 Subject: [PATCH 3/7] chore: use kebab-case consistently --- .../{fromOpenApi.ts => from-open-api.ts} | 6 ++-- src/open-api/schema/types/string.ts | 2 +- .../open-api/utils/get-servers.test.ts | 4 +-- .../utils/{getServers.ts => get-servers.ts} | 0 .../utils/normalize-swagger-url.test.ts | 2 +- ...SwaggerUrl.ts => normalize-swagger-url.ts} | 0 .../{openApiUtils.ts => open-api-utils.ts} | 2 +- .../utils/{toBinary.ts => to-binary.ts} | 0 .../utils/{toString.ts => to-string.ts} | 0 src/open-api/utils/url.test.ts | 29 +++++++++++++++++++ .../{fromTraffic.ts => from-traffic.ts} | 2 +- ...trings.test.ts => base-64-strings.test.ts} | 6 ++-- ...ase64String.ts => decode-base64-string.ts} | 0 ...ase64String.ts => encode-base64-string.ts} | 0 .../{fromByteArray.ts => from-byte-array.ts} | 0 .../{harUtils.test.ts => har-utils.test.ts} | 2 +- .../utils/{harUtils.ts => har-utils.ts} | 2 +- test/oas/evolve-json-schema.test.ts | 2 +- test/oas/oas-json-schema.test.ts | 8 ++--- test/oas/oas-response-headers.test.ts | 6 ++-- test/oas/oas-response.test.ts | 4 +-- test/oas/oas-servers.test.ts | 6 ++-- test/oas/petstore.test.ts | 4 +-- test/oas/utils/url.test.ts | 12 -------- ...OpenApiSpec.ts => create-open-api-spec.ts} | 0 .../support/{inspectHandler.ts => inspect.ts} | 9 ++++-- .../{withHandlers.ts => with-handlers.ts} | 0 test/traffic/fromTraffic.test.ts | 8 ++--- test/traffic/response-body.test.ts | 6 ++-- test/traffic/response-cookies.test.ts | 6 ++-- test/traffic/response-order.test.ts | 6 ++-- test/traffic/response-stream.test.ts | 6 ++-- test/traffic/response-timing.test.ts | 6 ++-- ...Scenario.ts => create-traffic-scenario.ts} | 2 +- ...ttpArchive.ts => generate-http-archive.ts} | 0 test/traffic/utils/index.ts | 2 +- tsup.config.ts | 2 +- 37 files changed, 86 insertions(+), 66 deletions(-) rename src/open-api/{fromOpenApi.ts => from-open-api.ts} (94%) rename test/oas/utils/getServers.test.ts => src/open-api/utils/get-servers.test.ts (82%) rename src/open-api/utils/{getServers.ts => get-servers.ts} (100%) rename test/oas/utils/normalizeSwaggerUrl.test.ts => src/open-api/utils/normalize-swagger-url.test.ts (86%) rename src/open-api/utils/{normalizeSwaggerUrl.ts => normalize-swagger-url.ts} (100%) rename src/open-api/utils/{openApiUtils.ts => open-api-utils.ts} (99%) rename src/open-api/utils/{toBinary.ts => to-binary.ts} (100%) rename src/open-api/utils/{toString.ts => to-string.ts} (100%) create mode 100644 src/open-api/utils/url.test.ts rename src/traffic/{fromTraffic.ts => from-traffic.ts} (97%) rename src/traffic/utils/{base64strings.test.ts => base-64-strings.test.ts} (76%) rename src/traffic/utils/{decodeBase64String.ts => decode-base64-string.ts} (100%) rename src/traffic/utils/{encodeBase64String.ts => encode-base64-string.ts} (100%) rename src/traffic/utils/{fromByteArray.ts => from-byte-array.ts} (100%) rename src/traffic/utils/{harUtils.test.ts => har-utils.test.ts} (96%) rename src/traffic/utils/{harUtils.ts => har-utils.ts} (94%) delete mode 100644 test/oas/utils/url.test.ts rename test/support/{createOpenApiSpec.ts => create-open-api-spec.ts} (100%) rename test/support/{inspectHandler.ts => inspect.ts} (88%) rename test/support/{withHandlers.ts => with-handlers.ts} (100%) rename test/traffic/utils/{createTrafficScenario.ts => create-traffic-scenario.ts} (97%) rename test/traffic/utils/{generateHttpArchive.ts => generate-http-archive.ts} (100%) diff --git a/src/open-api/fromOpenApi.ts b/src/open-api/from-open-api.ts similarity index 94% rename from src/open-api/fromOpenApi.ts rename to src/open-api/from-open-api.ts index d4485f6..d54e506 100644 --- a/src/open-api/fromOpenApi.ts +++ b/src/open-api/from-open-api.ts @@ -1,10 +1,10 @@ import { RequestHandler, HttpHandler, http } from 'msw' import type { OpenAPIV3, OpenAPIV2, OpenAPI } from 'openapi-types' import SwaggerParser from '@apidevtools/swagger-parser' -import { normalizeSwaggerUrl } from './utils/normalizeSwaggerUrl.js' -import { getServers } from './utils/getServers.js' +import { normalizeSwaggerUrl } from './utils/normalize-swagger-url.js' +import { getServers } from './utils/get-servers.js' import { isAbsoluteUrl, joinPaths } from './utils/url.js' -import { createResponseResolver } from './utils/openApiUtils.js' +import { createResponseResolver } from './utils/open-api-utils.js' type SupportedHttpMethods = keyof typeof http const supportedHttpMethods = Object.keys( diff --git a/src/open-api/schema/types/string.ts b/src/open-api/schema/types/string.ts index 9d04bbc..441bf55 100644 --- a/src/open-api/schema/types/string.ts +++ b/src/open-api/schema/types/string.ts @@ -1,7 +1,7 @@ import { datatype, internet, finance } from 'faker' import { OpenAPIV3 } from 'openapi-types' import { randexp } from 'randexp' -import { toBinary } from '../../utils/toBinary.js' +import { toBinary } from '../../utils/to-binary.js' export function evolveString(schema: OpenAPIV3.SchemaObject): string { if (schema.pattern) { diff --git a/test/oas/utils/getServers.test.ts b/src/open-api/utils/get-servers.test.ts similarity index 82% rename from test/oas/utils/getServers.test.ts rename to src/open-api/utils/get-servers.test.ts index 4689614..8cff804 100644 --- a/test/oas/utils/getServers.test.ts +++ b/src/open-api/utils/get-servers.test.ts @@ -1,8 +1,8 @@ /** * @vitest-environment jsdom */ -import { getServers } from '../../../src/fromOpenApi/utils/getServers' -import { createOpenApiSpec } from '../../support/createOpenApiSpec' +import { createOpenApiSpec } from '../../../test/support/create-open-api-spec.js' +import { getServers } from './get-servers.js' it('returns the "basePath" if present', () => { const servers = getServers( diff --git a/src/open-api/utils/getServers.ts b/src/open-api/utils/get-servers.ts similarity index 100% rename from src/open-api/utils/getServers.ts rename to src/open-api/utils/get-servers.ts diff --git a/test/oas/utils/normalizeSwaggerUrl.test.ts b/src/open-api/utils/normalize-swagger-url.test.ts similarity index 86% rename from test/oas/utils/normalizeSwaggerUrl.test.ts rename to src/open-api/utils/normalize-swagger-url.test.ts index f12ff1a..80b6910 100644 --- a/test/oas/utils/normalizeSwaggerUrl.test.ts +++ b/src/open-api/utils/normalize-swagger-url.test.ts @@ -1,4 +1,4 @@ -import { normalizeSwaggerUrl } from '../../../src/fromOpenApi/utils/normalizeSwaggerUrl' +import { normalizeSwaggerUrl } from './normalize-swagger-url.js' it('replaces swagger path parameters with colons', () => { expect(normalizeSwaggerUrl('/user/{userId}')).toEqual('/user/:userId') diff --git a/src/open-api/utils/normalizeSwaggerUrl.ts b/src/open-api/utils/normalize-swagger-url.ts similarity index 100% rename from src/open-api/utils/normalizeSwaggerUrl.ts rename to src/open-api/utils/normalize-swagger-url.ts diff --git a/src/open-api/utils/openApiUtils.ts b/src/open-api/utils/open-api-utils.ts similarity index 99% rename from src/open-api/utils/openApiUtils.ts rename to src/open-api/utils/open-api-utils.ts index ca5e955..02848d4 100644 --- a/src/open-api/utils/openApiUtils.ts +++ b/src/open-api/utils/open-api-utils.ts @@ -2,7 +2,7 @@ import { STATUS_CODES } from 'node:http' import type { ResponseResolver } from 'msw' import { OpenAPIV3 } from 'openapi-types' import { evolveJsonSchema } from '../schema/evolve' -import { toString } from './toString' +import { toString } from './to-string.js' export function createResponseResolver( operation: OpenAPIV3.OperationObject, diff --git a/src/open-api/utils/toBinary.ts b/src/open-api/utils/to-binary.ts similarity index 100% rename from src/open-api/utils/toBinary.ts rename to src/open-api/utils/to-binary.ts diff --git a/src/open-api/utils/toString.ts b/src/open-api/utils/to-string.ts similarity index 100% rename from src/open-api/utils/toString.ts rename to src/open-api/utils/to-string.ts diff --git a/src/open-api/utils/url.test.ts b/src/open-api/utils/url.test.ts new file mode 100644 index 0000000..6b7e66a --- /dev/null +++ b/src/open-api/utils/url.test.ts @@ -0,0 +1,29 @@ +import { isAbsoluteUrl, joinPaths } from './url.js' + +describe(isAbsoluteUrl, () => { + it('returns true given an absolute url', () => { + expect(isAbsoluteUrl('http://example.com')).toBe(true) + expect(isAbsoluteUrl('https://example.com')).toBe(true) + expect(isAbsoluteUrl('ftp://example.com')).toBe(true) + expect(isAbsoluteUrl('file://example.com')).toBe(true) + }) + + it('returns false given a relative url', () => { + expect(isAbsoluteUrl('/path')).toBe(false) + expect(isAbsoluteUrl('path')).toBe(false) + expect(isAbsoluteUrl('path/')).toBe(false) + expect(isAbsoluteUrl('path?query=1')).toBe(false) + expect(isAbsoluteUrl('path#hash')).toBe(false) + }) +}) + +describe(joinPaths, () => { + it('replaces multiple slashes in a given relative url', () => { + expect(joinPaths('/path', '/base')).toEqual('/base/path') + expect(joinPaths('//path', '//base/')).toEqual('/base/path') + }) + + it('prepends leading slashes where necessary', () => { + expect(joinPaths('path', 'base')).toEqual('/base/path') + }) +}) diff --git a/src/traffic/fromTraffic.ts b/src/traffic/from-traffic.ts similarity index 97% rename from src/traffic/fromTraffic.ts rename to src/traffic/from-traffic.ts index c1c40f0..389c568 100644 --- a/src/traffic/fromTraffic.ts +++ b/src/traffic/from-traffic.ts @@ -1,7 +1,7 @@ import { invariant } from 'outvariant' import type Har from 'har-format' import { RequestHandler, HttpHandler, cleanUrl, delay } from 'msw' -import { toResponse } from './utils/harUtils' +import { toResponse } from './utils/har-utils.js' export type MapEntryFunction = (entry: Har.Entry) => Har.Entry | undefined diff --git a/src/traffic/utils/base64strings.test.ts b/src/traffic/utils/base-64-strings.test.ts similarity index 76% rename from src/traffic/utils/base64strings.test.ts rename to src/traffic/utils/base-64-strings.test.ts index 08b5001..c2c5c83 100644 --- a/src/traffic/utils/base64strings.test.ts +++ b/src/traffic/utils/base-64-strings.test.ts @@ -1,6 +1,6 @@ -import { encodeBase64String } from './encodeBase64String' -import { decodeBase64String } from './decodeBase64String' -import { fromByteArray } from './fromByteArray' +import { encodeBase64String } from './encode-base64-string.js' +import { decodeBase64String } from './decode-base64-string.js' +import { fromByteArray } from './from-byte-array.js' describe('base64strings', () => { test('should be able to decode base64 string', () => { diff --git a/src/traffic/utils/decodeBase64String.ts b/src/traffic/utils/decode-base64-string.ts similarity index 100% rename from src/traffic/utils/decodeBase64String.ts rename to src/traffic/utils/decode-base64-string.ts diff --git a/src/traffic/utils/encodeBase64String.ts b/src/traffic/utils/encode-base64-string.ts similarity index 100% rename from src/traffic/utils/encodeBase64String.ts rename to src/traffic/utils/encode-base64-string.ts diff --git a/src/traffic/utils/fromByteArray.ts b/src/traffic/utils/from-byte-array.ts similarity index 100% rename from src/traffic/utils/fromByteArray.ts rename to src/traffic/utils/from-byte-array.ts diff --git a/src/traffic/utils/harUtils.test.ts b/src/traffic/utils/har-utils.test.ts similarity index 96% rename from src/traffic/utils/harUtils.test.ts rename to src/traffic/utils/har-utils.test.ts index e539269..42d7075 100644 --- a/src/traffic/utils/harUtils.test.ts +++ b/src/traffic/utils/har-utils.test.ts @@ -1,4 +1,4 @@ -import { toHeaders, toResponse, toResponseBody } from './harUtils' +import { toHeaders, toResponse, toResponseBody } from './har-utils' describe(toHeaders, () => { it('supports a single har headers', () => { diff --git a/src/traffic/utils/harUtils.ts b/src/traffic/utils/har-utils.ts similarity index 94% rename from src/traffic/utils/harUtils.ts rename to src/traffic/utils/har-utils.ts index 8a1011d..2583fc5 100644 --- a/src/traffic/utils/harUtils.ts +++ b/src/traffic/utils/har-utils.ts @@ -1,5 +1,5 @@ import type Har from 'har-format' -import { decodeBase64String } from './decodeBase64String' +import { decodeBase64String } from './decode-base64-string.js' export function toHeaders(harHeaders: Array): Headers { return new Headers( diff --git a/test/oas/evolve-json-schema.test.ts b/test/oas/evolve-json-schema.test.ts index 69ad2e4..d1578a0 100644 --- a/test/oas/evolve-json-schema.test.ts +++ b/test/oas/evolve-json-schema.test.ts @@ -1,4 +1,4 @@ -import { evolveJsonSchema } from '../../src/fromOpenApi/schema/evolve' +import { evolveJsonSchema } from '../../src/open-api/schema/evolve.js' describe('string', () => { it('supports a plain string value', () => { diff --git a/test/oas/oas-json-schema.test.ts b/test/oas/oas-json-schema.test.ts index 0f3127c..e8d3fc4 100644 --- a/test/oas/oas-json-schema.test.ts +++ b/test/oas/oas-json-schema.test.ts @@ -1,7 +1,7 @@ -import { fromOpenApi } from '../../src/fromOpenApi/fromOpenApi' -import { withHandlers } from '../support/withHandlers' -import { createOpenApiSpec } from '../support/createOpenApiSpec' -import { InspectedHandler, inspectHandlers } from '../support/inspectHandler' +import { fromOpenApi } from '../../src/open-api/from-open-api.js' +import { withHandlers } from '../support/with-handlers.js' +import { createOpenApiSpec } from '../support/create-open-api-spec.js' +import { InspectedHandler, inspectHandlers } from '../support/inspect.js' const ID_REGEXP = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/ diff --git a/test/oas/oas-response-headers.test.ts b/test/oas/oas-response-headers.test.ts index 58a7903..1b18008 100644 --- a/test/oas/oas-response-headers.test.ts +++ b/test/oas/oas-response-headers.test.ts @@ -1,6 +1,6 @@ -import { fromOpenApi } from '../../src/fromOpenApi/fromOpenApi' -import { createOpenApiSpec } from '../../test/support/createOpenApiSpec' -import { InspectedHandler, inspectHandlers } from '../support/inspectHandler' +import { fromOpenApi } from '../../src/open-api/from-open-api.js' +import { createOpenApiSpec } from '../../test/support/create-open-api-spec.js' +import { InspectedHandler, inspectHandlers } from '../support/inspect.js' it('supports response headers', async () => { const handlers = await fromOpenApi( diff --git a/test/oas/oas-response.test.ts b/test/oas/oas-response.test.ts index 9157524..d2b290d 100644 --- a/test/oas/oas-response.test.ts +++ b/test/oas/oas-response.test.ts @@ -1,5 +1,5 @@ -import { fromOpenApi } from '../../src/fromOpenApi/fromOpenApi' -import { InspectedHandler, inspectHandlers } from '../support/inspectHandler' +import { fromOpenApi } from '../../src/open-api/from-open-api.js' +import { InspectedHandler, inspectHandlers } from '../support/inspect.js' it('supports explicit response example', async () => { const document = require('./fixtures/response-example.json') diff --git a/test/oas/oas-servers.test.ts b/test/oas/oas-servers.test.ts index 0290b87..1140765 100644 --- a/test/oas/oas-servers.test.ts +++ b/test/oas/oas-servers.test.ts @@ -1,6 +1,6 @@ -import { fromOpenApi } from '../../src/fromOpenApi/fromOpenApi' -import { createOpenApiSpec } from '../support/createOpenApiSpec' -import { InspectedHandler, inspectHandlers } from '../support/inspectHandler' +import { fromOpenApi } from '../../src/open-api/from-open-api.js' +import { createOpenApiSpec } from '../support/create-open-api-spec.js' +import { InspectedHandler, inspectHandlers } from '../support/inspect.js' it('supports absolute server url', async () => { const handlers = await fromOpenApi( diff --git a/test/oas/petstore.test.ts b/test/oas/petstore.test.ts index acbf037..63b1762 100644 --- a/test/oas/petstore.test.ts +++ b/test/oas/petstore.test.ts @@ -1,6 +1,6 @@ import { RequestHandler } from 'msw' -import { fromOpenApi } from '../../src/fromOpenApi/fromOpenApi' -import { withHandlers } from '../../test/support/withHandlers' +import { fromOpenApi } from '../../src/open-api/from-open-api.js' +import { withHandlers } from '../../test/support/with-handlers.js' const petstoreSpecification = require('./fixtures/petstore.json') diff --git a/test/oas/utils/url.test.ts b/test/oas/utils/url.test.ts deleted file mode 100644 index c8e4df8..0000000 --- a/test/oas/utils/url.test.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { joinPaths } from '../../../src/fromOpenApi/utils/url' - -describe(joinPaths, () => { - it('replaces multiple slashes in a given relative url', () => { - expect(joinPaths('/path', '/base')).toEqual('/base/path') - expect(joinPaths('//path', '//base/')).toEqual('/base/path') - }) - - it('prepends leading slashes where necessary', () => { - expect(joinPaths('path', 'base')).toEqual('/base/path') - }) -}) diff --git a/test/support/createOpenApiSpec.ts b/test/support/create-open-api-spec.ts similarity index 100% rename from test/support/createOpenApiSpec.ts rename to test/support/create-open-api-spec.ts diff --git a/test/support/inspectHandler.ts b/test/support/inspect.ts similarity index 88% rename from test/support/inspectHandler.ts rename to test/support/inspect.ts index 7df80f2..d4308f1 100644 --- a/test/support/inspectHandler.ts +++ b/test/support/inspect.ts @@ -25,7 +25,7 @@ export interface SerializedResponse { } function isAbsoluteUrl(url: string) { - return (url.indexOf('://') > 0 || url.indexOf('//') === 0) + return url.indexOf('://') > 0 || url.indexOf('//') === 0 } async function inspectHandler( @@ -36,8 +36,11 @@ async function inspectHandler( if (handler instanceof HttpHandler) { const pathOfHandler = handler.info.path as string - const locationOrigin = typeof location !== 'undefined' ? location.origin : 'http://localhost' - const fullQualifiedUrl = isAbsoluteUrl(pathOfHandler) ? pathOfHandler : `${locationOrigin}${pathOfHandler}` + const locationOrigin = + typeof location !== 'undefined' ? location.origin : 'http://localhost' + const fullQualifiedUrl = isAbsoluteUrl(pathOfHandler) + ? pathOfHandler + : `${locationOrigin}${pathOfHandler}` const result = await handler.run({ request: new Request(fullQualifiedUrl, { diff --git a/test/support/withHandlers.ts b/test/support/with-handlers.ts similarity index 100% rename from test/support/withHandlers.ts rename to test/support/with-handlers.ts diff --git a/test/traffic/fromTraffic.test.ts b/test/traffic/fromTraffic.test.ts index 4268fba..6137c55 100644 --- a/test/traffic/fromTraffic.test.ts +++ b/test/traffic/fromTraffic.test.ts @@ -2,10 +2,10 @@ * @vitest-environment node */ import Har from 'har-format' -import { fromTraffic } from '../../src/fromTraffic/fromTraffic' -import { readArchive } from './utils' -import { toResponse } from '../../src/fromTraffic/utils/harUtils' -import { inspectHandlers } from '../support/inspectHandler' +import { fromTraffic } from '../../src/traffic/from-traffic.js' +import { toResponse } from '../../src/traffic/utils/har-utils.js' +import { inspectHandlers } from '../support/inspect.js' +import { readArchive } from './utils/index.js' describe('fromTraffic', () => { it('throws an exception given no HAR object', () => { diff --git a/test/traffic/response-body.test.ts b/test/traffic/response-body.test.ts index c6870d7..deaad9b 100644 --- a/test/traffic/response-body.test.ts +++ b/test/traffic/response-body.test.ts @@ -1,8 +1,8 @@ import * as fs from 'fs' import * as path from 'path' -import { fromTraffic } from '../../src/fromTraffic/fromTraffic' -import { readArchive, normalizeLocalhost, _toHeaders } from './utils' -import { InspectedHandler, inspectHandlers } from '../support/inspectHandler' +import { fromTraffic } from '../../src/traffic/from-traffic.js' +import { readArchive, normalizeLocalhost, _toHeaders } from './utils/index.js' +import { InspectedHandler, inspectHandlers } from '../support/inspect.js' it('creates a request handler from a recorded text response', async () => { const har = readArchive('test/traffic/fixtures/archives/response-text.har') diff --git a/test/traffic/response-cookies.test.ts b/test/traffic/response-cookies.test.ts index 9d3ffab..5be94a9 100644 --- a/test/traffic/response-cookies.test.ts +++ b/test/traffic/response-cookies.test.ts @@ -1,6 +1,6 @@ -import { fromTraffic } from '../../src/fromTraffic/fromTraffic' -import { readArchive, normalizeLocalhost, _toHeaders } from './utils' -import { InspectedHandler, inspectHandlers } from '../support/inspectHandler' +import { fromTraffic } from '../../src/traffic/from-traffic.js' +import { readArchive, normalizeLocalhost, _toHeaders } from './utils/index.js' +import { InspectedHandler, inspectHandlers } from '../support/inspect.js' it('preserves the "Set-Cookie" response header', async () => { const har = readArchive('test/traffic/fixtures/archives/response-cookies.har') diff --git a/test/traffic/response-order.test.ts b/test/traffic/response-order.test.ts index 35d793c..5b8c0b9 100644 --- a/test/traffic/response-order.test.ts +++ b/test/traffic/response-order.test.ts @@ -1,6 +1,6 @@ -import { fromTraffic } from '../../src/fromTraffic/fromTraffic' -import { InspectedHandler, inspectHandlers } from '../support/inspectHandler' -import { _toHeaders, normalizeLocalhost, readArchive } from './utils' +import { fromTraffic } from '../../src/traffic/from-traffic.js' +import { InspectedHandler, inspectHandlers } from '../support/inspect.js' +import { _toHeaders, normalizeLocalhost, readArchive } from './utils/index.js' it('respects the response sequence when repeatedly requesting the same endpoint', async () => { const har = readArchive('test/traffic/fixtures/archives/request-order.har') diff --git a/test/traffic/response-stream.test.ts b/test/traffic/response-stream.test.ts index 462a8b7..16bf145 100644 --- a/test/traffic/response-stream.test.ts +++ b/test/traffic/response-stream.test.ts @@ -1,6 +1,6 @@ -import { fromTraffic } from '../../src/fromTraffic/fromTraffic' -import { InspectedHandler, inspectHandlers } from '../support/inspectHandler' -import { normalizeLocalhost, readArchive, _toHeaders } from './utils' +import { fromTraffic } from '../../src/traffic/from-traffic.js' +import { InspectedHandler, inspectHandlers } from '../support/inspect.js' +import { normalizeLocalhost, readArchive, _toHeaders } from './utils/index.js' it('mocks a recorded response stream', async () => { const har = readArchive('test/traffic/fixtures/archives/response-stream.har') diff --git a/test/traffic/response-timing.test.ts b/test/traffic/response-timing.test.ts index d3aafc7..23ca55a 100644 --- a/test/traffic/response-timing.test.ts +++ b/test/traffic/response-timing.test.ts @@ -1,6 +1,6 @@ -import { fromTraffic } from '../../src/fromTraffic/fromTraffic' -import { withHandlers } from '../../test/support/withHandlers' -import { normalizeLocalhost, readArchive } from './utils' +import { fromTraffic } from '../../src/traffic/from-traffic.js' +import { withHandlers } from '../../test/support/with-handlers.js' +import { normalizeLocalhost, readArchive } from './utils/index.js' const responseTiming = readArchive( 'test/traffic/fixtures/archives/response-timing.har', diff --git a/test/traffic/utils/createTrafficScenario.ts b/test/traffic/utils/create-traffic-scenario.ts similarity index 97% rename from test/traffic/utils/createTrafficScenario.ts rename to test/traffic/utils/create-traffic-scenario.ts index d4e50d8..c56608f 100644 --- a/test/traffic/utils/createTrafficScenario.ts +++ b/test/traffic/utils/create-traffic-scenario.ts @@ -1,5 +1,5 @@ import { HttpServer, HttpServerMiddleware } from '@open-draft/test-server/http' -import { generateHttpArchive, TrafficDefinition } from './generateHttpArchive' +import { generateHttpArchive, TrafficDefinition } from './generate-http-archive' export async function createTrafficScenario( middleware: HttpServerMiddleware, diff --git a/test/traffic/utils/generateHttpArchive.ts b/test/traffic/utils/generate-http-archive.ts similarity index 100% rename from test/traffic/utils/generateHttpArchive.ts rename to test/traffic/utils/generate-http-archive.ts diff --git a/test/traffic/utils/index.ts b/test/traffic/utils/index.ts index 6068f3d..230d5f6 100644 --- a/test/traffic/utils/index.ts +++ b/test/traffic/utils/index.ts @@ -1,6 +1,6 @@ import * as fs from 'fs' import * as Har from 'har-format' -import { MapEntryFunction } from '../../../src/fromTraffic/fromTraffic' +import { MapEntryFunction } from '../../../src/traffic/from-traffic.js' export function readArchive(archivePath: string): Har.Har { return JSON.parse(fs.readFileSync(archivePath, 'utf8')) diff --git a/tsup.config.ts b/tsup.config.ts index a63d719..87c6179 100644 --- a/tsup.config.ts +++ b/tsup.config.ts @@ -1,7 +1,7 @@ import { defineConfig } from 'tsup' export default defineConfig({ - entry: ['!**/*.test.ts', 'src/open-api/**/*.ts', 'src/traffic/**/*.ts'], + entry: ['src/open-api/**/*.ts', 'src/traffic/**/*.ts', '!**/*.test.ts'], format: 'esm', outDir: './lib', bundle: false, From b334cfc5ced85984514b146038e924a25fc22360 Mon Sep 17 00:00:00 2001 From: Artem Zakharchenko Date: Thu, 30 May 2024 11:57:44 +0200 Subject: [PATCH 4/7] chore: simplify base64-utils --- src/traffic/utils/base-64-strings.test.ts | 20 -------------------- src/traffic/utils/base64-utils.test.ts | 13 +++++++++++++ src/traffic/utils/base64-utils.ts | 9 +++++++++ src/traffic/utils/decode-base64-string.ts | 6 ------ src/traffic/utils/encode-base64-string.ts | 6 ------ src/traffic/utils/from-byte-array.ts | 4 ---- src/traffic/utils/har-utils.ts | 2 +- 7 files changed, 23 insertions(+), 37 deletions(-) delete mode 100644 src/traffic/utils/base-64-strings.test.ts create mode 100644 src/traffic/utils/base64-utils.test.ts create mode 100644 src/traffic/utils/base64-utils.ts delete mode 100644 src/traffic/utils/decode-base64-string.ts delete mode 100644 src/traffic/utils/encode-base64-string.ts delete mode 100644 src/traffic/utils/from-byte-array.ts diff --git a/src/traffic/utils/base-64-strings.test.ts b/src/traffic/utils/base-64-strings.test.ts deleted file mode 100644 index c2c5c83..0000000 --- a/src/traffic/utils/base-64-strings.test.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { encodeBase64String } from './encode-base64-string.js' -import { decodeBase64String } from './decode-base64-string.js' -import { fromByteArray } from './from-byte-array.js' - -describe('base64strings', () => { - test('should be able to decode base64 string', () => { - const base64String = 'aGVsbG8gd29ybGQ=' - const decodedString = decodeBase64String(base64String) - const asString = fromByteArray(decodedString) - expect(asString).toEqual('hello world') - }) - - test('should be able to encode string to base64', () => { - const input = 'hello world' - const base64String = 'aGVsbG8gd29ybGQ=' - const encodedString = encodeBase64String(input) - const asString = fromByteArray(encodedString) - expect(asString).toEqual(base64String) - }) -}) diff --git a/src/traffic/utils/base64-utils.test.ts b/src/traffic/utils/base64-utils.test.ts new file mode 100644 index 0000000..3868744 --- /dev/null +++ b/src/traffic/utils/base64-utils.test.ts @@ -0,0 +1,13 @@ +import { encodeBase64String, decodeBase64String } from './base64-utils.js' + +it('encodes a base64 string', () => { + expect(encodeBase64String('hello world')).toEqualBytes( + new TextEncoder().encode('aGVsbG8gd29ybGQ='), + ) +}) + +it('decodes a bas64 string', () => { + expect(decodeBase64String('aGVsbG8gd29ybGQ=')).toEqualBytes( + new TextEncoder().encode('hello world'), + ) +}) diff --git a/src/traffic/utils/base64-utils.ts b/src/traffic/utils/base64-utils.ts new file mode 100644 index 0000000..bc7eb37 --- /dev/null +++ b/src/traffic/utils/base64-utils.ts @@ -0,0 +1,9 @@ +const encoder = new TextEncoder() + +export function encodeBase64String(data: string): Uint8Array { + return encoder.encode(btoa(data)) +} + +export function decodeBase64String(data: string): Uint8Array { + return encoder.encode(atob(data)) +} diff --git a/src/traffic/utils/decode-base64-string.ts b/src/traffic/utils/decode-base64-string.ts deleted file mode 100644 index d61c651..0000000 --- a/src/traffic/utils/decode-base64-string.ts +++ /dev/null @@ -1,6 +0,0 @@ -export function decodeBase64String(data: string): Uint8Array { - const binaryString = atob(data) - const encoder = new TextEncoder() - const bytes = encoder.encode(binaryString) - return bytes -} diff --git a/src/traffic/utils/encode-base64-string.ts b/src/traffic/utils/encode-base64-string.ts deleted file mode 100644 index 3a4519f..0000000 --- a/src/traffic/utils/encode-base64-string.ts +++ /dev/null @@ -1,6 +0,0 @@ -export function encodeBase64String(data: string): Uint8Array { - const binaryString = btoa(data) - const encoder = new TextEncoder() - const bytes = encoder.encode(binaryString) - return bytes -} diff --git a/src/traffic/utils/from-byte-array.ts b/src/traffic/utils/from-byte-array.ts deleted file mode 100644 index 10307e4..0000000 --- a/src/traffic/utils/from-byte-array.ts +++ /dev/null @@ -1,4 +0,0 @@ -export function fromByteArray(bytes: Uint8Array) { - const decoder = new TextDecoder().decode(bytes) - return decoder.toString() -} diff --git a/src/traffic/utils/har-utils.ts b/src/traffic/utils/har-utils.ts index 2583fc5..06f72a4 100644 --- a/src/traffic/utils/har-utils.ts +++ b/src/traffic/utils/har-utils.ts @@ -1,5 +1,5 @@ import type Har from 'har-format' -import { decodeBase64String } from './decode-base64-string.js' +import { decodeBase64String } from './base64-utils.js' export function toHeaders(harHeaders: Array): Headers { return new Headers( From 81141fabf25c8e4c55b2a620608d4201f7b733eb Mon Sep 17 00:00:00 2001 From: Artem Zakharchenko Date: Thu, 30 May 2024 11:59:04 +0200 Subject: [PATCH 5/7] chore: set "type" to "module" in package.json --- commitlint.config.js | 2 +- package.json | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/commitlint.config.js b/commitlint.config.js index 651b7e5..80abfb1 100644 --- a/commitlint.config.js +++ b/commitlint.config.js @@ -1,4 +1,4 @@ -module.exports = { +export default { extends: ['@commitlint/config-conventional'], rules: { 'body-max-line-length': [0, 'always', Infinity], diff --git a/package.json b/package.json index 0685ecf..fc440d2 100644 --- a/package.json +++ b/package.json @@ -1,4 +1,5 @@ { + "type": "module", "name": "@mswjs/source", "version": "0.0.0", "description": "Generate MSW request handlers from OpenAPI documents, HAR archives, and other sources.", @@ -11,7 +12,9 @@ }, "./package.json": "./package.json" }, - "files": ["lib"], + "files": [ + "lib" + ], "repository": "git@github.com:mswjs/source.git", "author": "Artem Zakharchenko ", "scripts": { @@ -24,7 +27,9 @@ "prepublishOnly": "pnpm test && pnpm build" }, "lint-staged": { - "*.ts": ["prettier --write"] + "*.ts": [ + "prettier --write" + ] }, "simple-git-hooks": { "pre-commit": "pnpm lint-staged", From 6263b92fe23bdd9272da5aa7b285cc91cdc87537 Mon Sep 17 00:00:00 2001 From: Artem Zakharchenko Date: Thu, 30 May 2024 12:31:03 +0200 Subject: [PATCH 6/7] chore: emit type definitions (drop tsup) --- package.json | 9 +- pnpm-lock.yaml | 589 --------------------------- src/open-api/utils/open-api-utils.ts | 2 +- src/traffic/from-traffic.ts | 5 +- tsconfig.base.json | 5 +- tsconfig.build.json | 8 +- tsconfig.json | 5 +- tsup.config.ts | 12 - 8 files changed, 22 insertions(+), 613 deletions(-) delete mode 100644 tsup.config.ts diff --git a/package.json b/package.json index fc440d2..a952f07 100644 --- a/package.json +++ b/package.json @@ -5,10 +5,12 @@ "description": "Generate MSW request handlers from OpenAPI documents, HAR archives, and other sources.", "exports": { "./open-api": { - "default": "./lib/open-api/fromOpenApi.mjs" + "types": "./lib/open-api/from-open-api.d.ts", + "default": "./lib/open-api/from-open-api.js" }, "./traffic": { - "default": "./lib/traffic/fromTraffic.mjs" + "types": "./lib/traffic/from-traffic.d.ts", + "default": "./lib/traffic/from-traffic.js" }, "./package.json": "./package.json" }, @@ -22,7 +24,7 @@ "har:fixture": "ts-node ./test/traffic/fixtures/requests/command.ts", "prepare": "pnpm simple-git-hooks init", "prebuild": "pnpm lint", - "build": "tsup", + "build": "tsc -p ./tsconfig.build.json", "test": "vitest", "prepublishOnly": "pnpm test && pnpm build" }, @@ -58,7 +60,6 @@ "simple-git-hooks": "^2.8.1", "ts-node": "^10.9.1", "tslib": "^2.3.1", - "tsup": "^8.0.2", "typescript": "^5.4.5", "vitest": "^1.6.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c38be41..a74ecd2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -73,9 +73,6 @@ devDependencies: tslib: specifier: ^2.3.1 version: 2.6.2 - tsup: - specifier: ^8.0.2 - version: 8.0.2(ts-node@10.9.2)(typescript@5.4.5) typescript: specifier: ^5.4.5 version: 5.4.5 @@ -327,15 +324,6 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@esbuild/aix-ppc64@0.19.12: - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: true - optional: true - /@esbuild/aix-ppc64@0.20.2: resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} engines: {node: '>=12'} @@ -345,15 +333,6 @@ packages: dev: true optional: true - /@esbuild/android-arm64@0.19.12: - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.20.2: resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} engines: {node: '>=12'} @@ -363,15 +342,6 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.19.12: - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.20.2: resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} engines: {node: '>=12'} @@ -381,15 +351,6 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.19.12: - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.20.2: resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} engines: {node: '>=12'} @@ -399,15 +360,6 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.19.12: - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.20.2: resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} engines: {node: '>=12'} @@ -417,15 +369,6 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.19.12: - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.20.2: resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} engines: {node: '>=12'} @@ -435,15 +378,6 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.19.12: - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.20.2: resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} engines: {node: '>=12'} @@ -453,15 +387,6 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.19.12: - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.20.2: resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} engines: {node: '>=12'} @@ -471,15 +396,6 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.19.12: - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.20.2: resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} engines: {node: '>=12'} @@ -489,15 +405,6 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.19.12: - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.20.2: resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} engines: {node: '>=12'} @@ -507,15 +414,6 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.19.12: - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.20.2: resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} engines: {node: '>=12'} @@ -525,15 +423,6 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.19.12: - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.20.2: resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} engines: {node: '>=12'} @@ -543,15 +432,6 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.19.12: - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.20.2: resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} engines: {node: '>=12'} @@ -561,15 +441,6 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.19.12: - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.20.2: resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} engines: {node: '>=12'} @@ -579,15 +450,6 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.19.12: - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.20.2: resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} engines: {node: '>=12'} @@ -597,15 +459,6 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.19.12: - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.20.2: resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} engines: {node: '>=12'} @@ -615,15 +468,6 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.19.12: - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.20.2: resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} engines: {node: '>=12'} @@ -633,15 +477,6 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.19.12: - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.20.2: resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} engines: {node: '>=12'} @@ -651,15 +486,6 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.19.12: - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.20.2: resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} engines: {node: '>=12'} @@ -669,15 +495,6 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.19.12: - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.20.2: resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} engines: {node: '>=12'} @@ -687,15 +504,6 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.19.12: - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.20.2: resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} engines: {node: '>=12'} @@ -705,15 +513,6 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.19.12: - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.20.2: resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} engines: {node: '>=12'} @@ -723,15 +522,6 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.19.12: - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.20.2: resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} engines: {node: '>=12'} @@ -797,36 +587,15 @@ packages: '@sinclair/typebox': 0.27.8 dev: true - /@jridgewell/gen-mapping@0.3.5: - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.25 - dev: true - /@jridgewell/resolve-uri@3.1.2: resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} dev: true - /@jridgewell/set-array@1.2.1: - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - dev: true - /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} dev: true - /@jridgewell/trace-mapping@0.3.25: - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: @@ -855,27 +624,6 @@ packages: strict-event-emitter: 0.5.1 dev: true - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: true - - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - dev: true - - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.17.1 - dev: true - /@open-draft/deferred-promise@2.2.0: resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} dev: true @@ -1360,18 +1108,6 @@ packages: engines: {node: '>=12'} dev: true - /any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - dev: true - - /anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: true - /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: true @@ -1394,11 +1130,6 @@ packages: resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} dev: true - /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true - /arrify@1.0.1: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} engines: {node: '>=0.10.0'} @@ -1426,11 +1157,6 @@ packages: engines: {node: ^4.5.0 || >= 5.9} dev: true - /binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - dev: true - /body-parser@1.20.2: resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -1464,16 +1190,6 @@ packages: fill-range: 7.0.1 dev: true - /bundle-require@4.1.0(esbuild@0.19.12): - resolution: {integrity: sha512-FeArRFM+ziGkRViKRnSTbHZc35dgmR9yNog05Kn0+ItI59pOAISGvnnIwW1WgFZQW59IxD9QpJnUPkdIPfZuXg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - peerDependencies: - esbuild: '>=0.17' - dependencies: - esbuild: 0.19.12 - load-tsconfig: 0.2.5 - dev: true - /bytes@3.0.0: resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} engines: {node: '>= 0.8'} @@ -1559,21 +1275,6 @@ packages: get-func-name: 2.0.2 dev: true - /chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /clean-stack@2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} @@ -1645,11 +1346,6 @@ packages: delayed-stream: 1.0.0 dev: true - /commander@4.1.1: - resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} - engines: {node: '>= 6'} - dev: true - /commander@6.2.1: resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} engines: {node: '>= 6'} @@ -1913,13 +1609,6 @@ packages: engines: {node: '>=0.3.1'} dev: true - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 - dev: true - /domexception@4.0.0: resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} engines: {node: '>=12'} @@ -2023,37 +1712,6 @@ packages: engines: {node: '>= 0.4'} dev: true - /esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - dev: true - /esbuild@0.20.2: resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} engines: {node: '>=12'} @@ -2207,23 +1865,6 @@ packages: /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - /fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - dev: true - - /fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - dependencies: - reusify: 1.0.4 - dev: true - /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} @@ -2371,13 +2012,6 @@ packages: through2: 4.0.2 dev: true - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - dev: true - /glob@10.3.12: resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} engines: {node: '>=16 || 14 >=14.17'} @@ -2397,18 +2031,6 @@ packages: ini: 1.3.8 dev: true - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.2 - ignore: 5.3.1 - merge2: 1.4.1 - slash: 3.0.0 - dev: true - /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: @@ -2545,11 +2167,6 @@ packages: safer-buffer: 2.1.2 dev: true - /ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} - dev: true - /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -2580,36 +2197,17 @@ packages: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - dependencies: - binary-extensions: 2.3.0 - dev: true - /is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: hasown: 2.0.2 dev: true - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - dev: true - /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} dev: true - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - /is-node-process@1.2.0: resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} dev: true @@ -2678,11 +2276,6 @@ packages: '@pkgjs/parseargs': 0.11.0 dev: true - /joycon@3.1.1: - resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} - engines: {node: '>=10'} - dev: true - /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true @@ -2769,11 +2362,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /lilconfig@3.1.1: - resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} - engines: {node: '>=14'} - dev: true - /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true @@ -2821,11 +2409,6 @@ packages: wrap-ansi: 7.0.0 dev: true - /load-tsconfig@0.2.5: - resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - /local-pkg@0.5.0: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} @@ -2876,10 +2459,6 @@ packages: resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} dev: true - /lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - dev: true - /lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} dev: true @@ -2982,11 +2561,6 @@ packages: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: true - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - dev: true - /methods@1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} @@ -3115,14 +2689,6 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true - /mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - dependencies: - any-promise: 1.3.0 - object-assign: 4.1.1 - thenify-all: 1.6.0 - dev: true - /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -3356,11 +2922,6 @@ packages: engines: {node: '>=8.6'} dev: true - /pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} - dev: true - /pkg-types@1.1.0: resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==} dependencies: @@ -3391,23 +2952,6 @@ packages: semver-compare: 1.0.0 dev: true - /postcss-load-config@4.0.2(ts-node@10.9.2): - resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} - engines: {node: '>= 14'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - dependencies: - lilconfig: 3.1.1 - ts-node: 10.9.2(@types/node@18.19.33)(typescript@5.4.5) - yaml: 2.4.2 - dev: true - /postcss@8.4.38: resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} @@ -3466,10 +3010,6 @@ packages: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} dev: true - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true - /quick-lru@4.0.1: resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} engines: {node: '>=8'} @@ -3530,13 +3070,6 @@ packages: util-deprecate: 1.0.2 dev: true - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.1 - dev: true - /redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} @@ -3597,11 +3130,6 @@ packages: engines: {node: '>=4'} dev: false - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true - /rfdc@1.3.1: resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} dev: true @@ -3644,12 +3172,6 @@ packages: resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} dev: true - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - dependencies: - queue-microtask: 1.2.3 - dev: true - /rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: @@ -3788,11 +3310,6 @@ packages: requiresBuild: true dev: true - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true - /slice-ansi@3.0.0: resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} engines: {node: '>=8'} @@ -3854,13 +3371,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /source-map@0.8.0-beta.0: - resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} - engines: {node: '>= 8'} - dependencies: - whatwg-url: 7.1.0 - dev: true - /spdx-correct@3.2.0: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: @@ -3985,20 +3495,6 @@ packages: js-tokens: 9.0.0 dev: true - /sucrase@3.35.0: - resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - commander: 4.1.1 - glob: 10.3.12 - lines-and-columns: 1.2.4 - mz: 2.7.0 - pirates: 4.0.6 - ts-interface-checker: 0.1.13 - dev: true - /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -4027,19 +3523,6 @@ packages: engines: {node: '>=0.10'} dev: true - /thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} - dependencies: - thenify: 3.3.1 - dev: true - - /thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - dependencies: - any-promise: 1.3.0 - dev: true - /through2@4.0.2: resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} dependencies: @@ -4086,12 +3569,6 @@ packages: url-parse: 1.5.10 dev: true - /tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - dependencies: - punycode: 2.3.1 - dev: true - /tr46@4.1.1: resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} engines: {node: '>=14'} @@ -4099,20 +3576,11 @@ packages: punycode: 2.3.1 dev: true - /tree-kill@1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} - hasBin: true - dev: true - /trim-newlines@3.0.1: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} engines: {node: '>=8'} dev: true - /ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - dev: true - /ts-node@10.9.2(@types/node@18.19.33)(typescript@5.4.5): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true @@ -4179,45 +3647,6 @@ packages: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: true - /tsup@8.0.2(ts-node@10.9.2)(typescript@5.4.5): - resolution: {integrity: sha512-NY8xtQXdH7hDUAZwcQdY/Vzlw9johQsaqf7iwZ6g1DOUlFYQ5/AtVAjTvihhEyeRlGo4dLRVHtrRaL35M1daqQ==} - engines: {node: '>=18'} - hasBin: true - peerDependencies: - '@microsoft/api-extractor': ^7.36.0 - '@swc/core': ^1 - postcss: ^8.4.12 - typescript: '>=4.5.0' - peerDependenciesMeta: - '@microsoft/api-extractor': - optional: true - '@swc/core': - optional: true - postcss: - optional: true - typescript: - optional: true - dependencies: - bundle-require: 4.1.0(esbuild@0.19.12) - cac: 6.7.14 - chokidar: 3.6.0 - debug: 4.3.4 - esbuild: 0.19.12 - execa: 5.1.1 - globby: 11.1.0 - joycon: 3.1.1 - postcss-load-config: 4.0.2(ts-node@10.9.2) - resolve-from: 5.0.0 - rollup: 4.17.2 - source-map: 0.8.0-beta.0 - sucrase: 3.35.0 - tree-kill: 1.2.2 - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - - ts-node - dev: true - /type-detect@4.0.8: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} @@ -4443,10 +3872,6 @@ packages: xml-name-validator: 4.0.0 dev: true - /webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - dev: true - /webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} @@ -4472,14 +3897,6 @@ packages: webidl-conversions: 7.0.0 dev: true - /whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - dev: true - /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -4577,12 +3994,6 @@ packages: engines: {node: '>= 6'} dev: true - /yaml@2.4.2: - resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==} - engines: {node: '>= 14'} - hasBin: true - dev: true - /yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} diff --git a/src/open-api/utils/open-api-utils.ts b/src/open-api/utils/open-api-utils.ts index 02848d4..e970bed 100644 --- a/src/open-api/utils/open-api-utils.ts +++ b/src/open-api/utils/open-api-utils.ts @@ -152,7 +152,7 @@ export function toHeaders( export function toBody( request: Request, responseObject: OpenAPIV3.ResponseObject, -): BodyInit { +): RequestInit['body'] { const { content } = responseObject if (!content) { return null diff --git a/src/traffic/from-traffic.ts b/src/traffic/from-traffic.ts index 389c568..fedb13b 100644 --- a/src/traffic/from-traffic.ts +++ b/src/traffic/from-traffic.ts @@ -34,8 +34,11 @@ export function fromTraffic( // Loop over the HAR entries from right to left. for (let i = archive.log.entries.length - 1; i >= 0; i--) { const rawEntry = archive.log.entries[i] - const entry = mapEntry ? mapEntry(rawEntry) : rawEntry + if (!rawEntry) { + continue + } + const entry = mapEntry ? mapEntry(rawEntry) : rawEntry if (!entry) { continue } diff --git a/tsconfig.base.json b/tsconfig.base.json index 2bcc4a1..5a691d9 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -2,11 +2,12 @@ "compilerOptions": { "strict": true, "skipLibCheck": true, - "esModuleInterop": true, + "noUncheckedIndexedAccess": true, + "noImplicitOverride": true, "downlevelIteration": true, "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, "noImplicitAny": true, - "lib": ["DOM.Iterable"] + "lib": ["es2022"] } } diff --git a/tsconfig.build.json b/tsconfig.build.json index 45c47b9..4cdeb55 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -2,12 +2,14 @@ "extends": "./tsconfig.base.json", "compilerOptions": { "composite": true, - "module": "preserve", - "target": "es2015", + "module": "es2020", + "target": "es2022", "moduleResolution": "bundler", + "rootDir": "./src", "outDir": "./lib", + "sourceMap": true, "declaration": true }, - "include": ["src"], + "include": ["src/**/*.ts"], "exclude": ["node_modules", "**/*.test.ts"] } diff --git a/tsconfig.json b/tsconfig.json index cc10eae..0522a72 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,5 +8,8 @@ } ], "include": ["**/*.ts"], - "exclude": ["node_modules"] + "exclude": ["node_modules"], + "compilerOptions": { + "module": "nodenext" + } } diff --git a/tsup.config.ts b/tsup.config.ts deleted file mode 100644 index 87c6179..0000000 --- a/tsup.config.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { defineConfig } from 'tsup' - -export default defineConfig({ - entry: ['src/open-api/**/*.ts', 'src/traffic/**/*.ts', '!**/*.test.ts'], - format: 'esm', - outDir: './lib', - bundle: false, - splitting: true, - clean: true, - sourcemap: true, - tsconfig: './tsconfig.build.json', -}) From 76837ef3abadaf067a56f8d49af1603733a6cfff Mon Sep 17 00:00:00 2001 From: Artem Zakharchenko Date: Thu, 30 May 2024 12:31:35 +0200 Subject: [PATCH 7/7] chore: move from "prepublishOnly" to "prepack" --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a952f07..01f8290 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "prebuild": "pnpm lint", "build": "tsc -p ./tsconfig.build.json", "test": "vitest", - "prepublishOnly": "pnpm test && pnpm build" + "prepack": "pnpm test && pnpm build" }, "lint-staged": { "*.ts": [