From de05feb7c735296b59042b2e71af9ad86484b489 Mon Sep 17 00:00:00 2001 From: Matthieu Sieben Date: Thu, 7 Dec 2023 17:38:10 +0100 Subject: [PATCH] wip --- babel.config.js | 3 - jest.config.js | 20 +- package.json | 27 +- packages/api/babel.config.js | 3 - packages/api/build.js | 15 - packages/api/jest.config.js | 7 +- packages/api/jest.d.ts | 19 + packages/api/jest.setup.ts | 79 + packages/api/package.json | 13 +- packages/api/tests/profile-moderation.test.ts | 6 +- .../api/tests/util/moderation-behavior.ts | 82 +- packages/api/tsconfig.build.json | 8 +- packages/api/tsconfig.json | 13 +- packages/api/tsconfig.scripts.json | 8 + packages/api/tsconfig.test.json | 14 + packages/aws/build.js | 14 - packages/aws/package.json | 12 +- packages/aws/src/s3.ts | 13 +- packages/aws/tsconfig.build.json | 8 +- packages/aws/tsconfig.json | 8 +- packages/bsky/babel.config.js | 3 - ...igration-create.ts => migration-create.js} | 8 +- packages/bsky/build.js | 19 - packages/bsky/jest.config.js | 6 +- packages/bsky/jest.setup.ts | 3 + packages/bsky/package.json | 17 +- packages/bsky/tests/feed-generation.test.ts | 4 +- packages/bsky/tests/indexing.test.ts | 2 +- packages/bsky/tests/subscription/repo.test.ts | 4 +- packages/bsky/tests/views/block-lists.test.ts | 4 +- packages/bsky/tests/views/blocks.test.ts | 8 +- packages/bsky/tests/views/thread.test.ts | 2 +- packages/bsky/tsconfig.build.json | 8 +- packages/bsky/tsconfig.json | 21 +- packages/bsky/tsconfig.scripts.json | 8 + packages/bsky/tsconfig.test.json | 7 + packages/common-web/babel.config.js | 1 - packages/common-web/build.js | 15 - packages/common-web/jest.config.js | 7 +- packages/common-web/package.json | 14 +- packages/common-web/src/util.ts | 4 +- packages/common-web/tsconfig.build.json | 8 +- packages/common-web/tsconfig.json | 13 +- packages/common-web/tsconfig.scripts.json | 7 + packages/common-web/tsconfig.test.json | 7 + packages/common/babel.config.js | 1 - packages/common/build.js | 14 - packages/common/jest.config.js | 7 +- packages/common/package.json | 18 +- packages/common/src/fs.ts | 11 +- packages/common/src/ipld.ts | 11 +- packages/common/src/streams.ts | 2 +- packages/common/tests/streams.test.ts | 2 +- packages/common/tsconfig.build.json | 8 +- packages/common/tsconfig.json | 14 +- packages/common/tsconfig.scripts.json | 7 + packages/common/tsconfig.test.json | 7 + packages/crypto/build.js | 14 - packages/crypto/jest.config.js | 7 +- packages/crypto/package.json | 14 +- packages/crypto/src/p256/operations.ts | 5 +- packages/crypto/tsconfig.build.json | 8 +- packages/crypto/tsconfig.json | 13 +- packages/crypto/tsconfig.scripts.json | 7 + packages/crypto/tsconfig.test.json | 7 + packages/dev-env/build.js | 27 - packages/dev-env/package.json | 16 +- packages/dev-env/src/feed-gen.ts | 4 +- packages/dev-env/src/mock/index.ts | 2 +- packages/dev-env/src/network-no-appview.ts | 2 +- packages/dev-env/src/pds.ts | 2 +- packages/dev-env/src/seed-client.ts | 12 +- packages/dev-env/src/types.ts | 2 +- packages/identity/babel.config.js | 3 - packages/identity/build.js | 15 - packages/identity/jest.config.js | 7 +- packages/identity/jest.setup.ts | 3 + packages/identity/package.json | 17 +- packages/identity/tsconfig.build.json | 8 +- packages/identity/tsconfig.json | 13 +- packages/identity/tsconfig.scripts.json | 8 + packages/identity/tsconfig.test.json | 7 + packages/lex-cli/babel.config.js | 1 - packages/lex-cli/build.js | 6 - packages/lex-cli/package.json | 11 +- packages/lexicon/build.js | 14 - packages/lexicon/jest.config.js | 7 +- packages/lexicon/package.json | 14 +- packages/lexicon/tsconfig.build.json | 8 +- packages/lexicon/tsconfig.json | 14 +- packages/lexicon/tsconfig.scripts.json | 7 + packages/lexicon/tsconfig.test.json | 7 + packages/pds/babel.config.js | 3 - ...igration-create.ts => migration-create.js} | 8 +- packages/pds/build.js | 27 - packages/pds/jest.config.js | 7 +- packages/pds/jest.setup.ts | 3 + packages/pds/package.json | 17 +- packages/pds/src/mailer/index.ts | 22 +- packages/pds/src/mailer/templates.d.ts | 8 + packages/pds/src/mailer/templates.ts | 7 - packages/pds/src/types.d.ts | 5 - packages/pds/tests/auth.test.ts | 4 +- packages/pds/tests/crud.test.ts | 8 +- packages/pds/tests/proxied/admin.test.ts | 4 +- packages/pds/tsconfig.build.json | 8 +- packages/pds/tsconfig.json | 23 +- packages/pds/tsconfig.scripts.json | 8 + packages/pds/tsconfig.test.json | 7 + packages/repo/babel.config.js | 1 - packages/repo/bench/mst.bench.ts | 9 +- packages/repo/bench/repo.bench.ts | 1 + packages/repo/build.js | 14 - packages/repo/jest.config.js | 7 +- packages/repo/mst-benchmarks | 44 + packages/repo/package.json | 13 +- packages/repo/tests/_util.ts | 5 +- packages/repo/tsconfig.build.json | 8 +- packages/repo/tsconfig.json | 15 +- packages/repo/tsconfig.scripts.json | 7 + packages/repo/tsconfig.test.json | 7 + packages/syntax/babel.config.js | 1 - packages/syntax/build.js | 22 - packages/syntax/jest.config.js | 7 +- packages/syntax/package.json | 15 +- packages/syntax/tsconfig.build.json | 8 +- packages/syntax/tsconfig.json | 14 +- packages/syntax/tsconfig.scripts.json | 7 + packages/syntax/tsconfig.test.json | 7 + packages/xrpc-server/babel.config.js | 1 - packages/xrpc-server/build.js | 14 - packages/xrpc-server/jest.config.js | 6 +- packages/xrpc-server/package.json | 14 +- packages/xrpc-server/src/server.ts | 4 +- packages/xrpc-server/tests/errors.test.ts | 2 +- packages/xrpc-server/tsconfig.build.json | 8 +- packages/xrpc-server/tsconfig.json | 15 +- packages/xrpc-server/tsconfig.scripts.json | 7 + packages/xrpc-server/tsconfig.test.json | 7 + packages/xrpc/babel.config.js | 1 - packages/xrpc/build.js | 14 - packages/xrpc/package.json | 12 +- packages/xrpc/tsconfig.build.json | 8 +- packages/xrpc/tsconfig.json | 13 +- pnpm-lock.yaml | 2266 ++++++----------- services/bsky/Dockerfile | 4 +- services/pds/Dockerfile | 4 +- test-setup.ts | 3 - tsconfig.json | 59 +- tsconfig.scripts.json | 4 + tsconfig/base.json | 35 + tsconfig/scripts.json | 10 + tsconfig/test.json | 7 + update-main-to-dist.js | 9 - 154 files changed, 1499 insertions(+), 2395 deletions(-) delete mode 100644 babel.config.js delete mode 100644 packages/api/babel.config.js delete mode 100644 packages/api/build.js create mode 100644 packages/api/jest.d.ts create mode 100644 packages/api/jest.setup.ts create mode 100644 packages/api/tsconfig.scripts.json create mode 100644 packages/api/tsconfig.test.json delete mode 100644 packages/aws/build.js delete mode 100644 packages/bsky/babel.config.js rename packages/bsky/bin/{migration-create.ts => migration-create.js} (88%) delete mode 100644 packages/bsky/build.js create mode 100644 packages/bsky/jest.setup.ts create mode 100644 packages/bsky/tsconfig.scripts.json create mode 100644 packages/bsky/tsconfig.test.json delete mode 100644 packages/common-web/babel.config.js delete mode 100644 packages/common-web/build.js create mode 100644 packages/common-web/tsconfig.scripts.json create mode 100644 packages/common-web/tsconfig.test.json delete mode 100644 packages/common/babel.config.js delete mode 100644 packages/common/build.js create mode 100644 packages/common/tsconfig.scripts.json create mode 100644 packages/common/tsconfig.test.json delete mode 100644 packages/crypto/build.js create mode 100644 packages/crypto/tsconfig.scripts.json create mode 100644 packages/crypto/tsconfig.test.json delete mode 100644 packages/dev-env/build.js delete mode 100644 packages/identity/babel.config.js delete mode 100644 packages/identity/build.js create mode 100644 packages/identity/jest.setup.ts create mode 100644 packages/identity/tsconfig.scripts.json create mode 100644 packages/identity/tsconfig.test.json delete mode 100644 packages/lex-cli/babel.config.js delete mode 100644 packages/lexicon/build.js create mode 100644 packages/lexicon/tsconfig.scripts.json create mode 100644 packages/lexicon/tsconfig.test.json delete mode 100644 packages/pds/babel.config.js rename packages/pds/bin/{migration-create.ts => migration-create.js} (88%) delete mode 100644 packages/pds/build.js create mode 100644 packages/pds/jest.setup.ts create mode 100644 packages/pds/src/mailer/templates.d.ts delete mode 100644 packages/pds/src/mailer/templates.ts delete mode 100644 packages/pds/src/types.d.ts create mode 100644 packages/pds/tsconfig.scripts.json create mode 100644 packages/pds/tsconfig.test.json delete mode 100644 packages/repo/babel.config.js delete mode 100644 packages/repo/build.js create mode 100644 packages/repo/mst-benchmarks create mode 100644 packages/repo/tsconfig.scripts.json create mode 100644 packages/repo/tsconfig.test.json delete mode 100644 packages/syntax/babel.config.js delete mode 100644 packages/syntax/build.js create mode 100644 packages/syntax/tsconfig.scripts.json create mode 100644 packages/syntax/tsconfig.test.json delete mode 100644 packages/xrpc-server/babel.config.js delete mode 100644 packages/xrpc-server/build.js create mode 100644 packages/xrpc-server/tsconfig.scripts.json create mode 100644 packages/xrpc-server/tsconfig.test.json delete mode 100644 packages/xrpc/babel.config.js delete mode 100644 packages/xrpc/build.js delete mode 100644 test-setup.ts create mode 100644 tsconfig.scripts.json create mode 100644 tsconfig/base.json create mode 100644 tsconfig/scripts.json create mode 100644 tsconfig/test.json delete mode 100644 update-main-to-dist.js diff --git a/babel.config.js b/babel.config.js deleted file mode 100644 index ee58f35df11..00000000000 --- a/babel.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - presets: [['@babel/preset-env']], -} diff --git a/jest.config.js b/jest.config.js index 2366503d1d3..ce212877ef5 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,7 +1,17 @@ -// jest.config.js -const base = require('./jest.config.base.js') - module.exports = { - ...base, - projects: ['/packages/*/jest.config.js'], + projects: [ + // '/packages/*/jest.config.js' + + + '/packages/api/jest.config.js', + '/packages/common/jest.config.js', + '/packages/common-web/jest.config.js', + '/packages/crypto/jest.config.js', + '/packages/identity/jest.config.js', + '/packages/lexicon/jest.config.js', + '/packages/repo/jest.config.js', + '/packages/syntax/jest.config.js', + // '/packages/xrpc/jest.config.js', + '/packages/xrpc-server/jest.config.js', + ], } diff --git a/package.json b/package.json index c7c74e4a615..b30fd8c12f7 100644 --- a/package.json +++ b/package.json @@ -13,20 +13,18 @@ "lint": "eslint . --ext .ts,.tsx", "verify": "prettier --check . && pnpm lint", "format": "prettier --write .", - "build": "pnpm -r --stream build", - "update-main-to-dist": "pnpm -r --stream update-main-to-dist", - "test": "LOG_ENABLED=false NODE_ENV=development ./packages/dev-infra/with-test-redis-and-db.sh pnpm --stream -r test", - "test:withFlags": "LOG_ENABLED=false NODE_ENV=development ./packages/dev-infra/with-test-redis-and-db.sh pnpm --stream -r test --", + "build": "npm-run-all build:tsc build:packages", + "build:tsc": "NODE_ENV=production tsc --build --verbose --force", + "build:packages": "NODE_ENV=production pnpm run --recursive build", + "test": "LOG_ENABLED=false NODE_ENV=development ./packages/dev-infra/with-test-redis-and-db.sh jest", + "test:withFlags": "LOG_ENABLED=false NODE_ENV=development ./packages/dev-infra/with-test-redis-and-db.sh jest --", "changeset": "changeset", "release": "pnpm build && changeset publish", "version-packages": "changeset version && git add ." }, "devDependencies": { - "@babel/core": "^7.18.6", - "@babel/preset-env": "^7.18.6", "@changesets/changelog-github": "^0.4.8", "@changesets/cli": "^2.26.2", - "@npmcli/package-json": "^3.0.0", "@swc/core": "^1.3.42", "@swc/jest": "^0.2.24", "@types/jest": "^28.1.4", @@ -34,25 +32,16 @@ "@typescript-eslint/eslint-plugin": "^5.38.1", "@typescript-eslint/parser": "^5.38.1", "babel-eslint": "^10.1.0", - "dotenv": "^16.0.3", - "esbuild": "^0.14.48", - "esbuild-node-externals": "^1.5.0", - "esbuild-plugin-handlebars": "^1.0.2", "eslint": "^8.24.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-prettier": "^4.2.1", "handlebars-jest": "^1.0.0", - "jest": "^28.1.2", + "jest": "^29.7.0", "node-gyp": "^9.3.1", + "npm-run-all": "^4.1.5", "pino-pretty": "^9.1.0", "prettier": "^2.7.1", "prettier-config-standard": "^5.0.0", - "ts-node": "^10.8.2", - "typescript": "^4.8.4" - }, - "workspaces": { - "packages": [ - "packages/*" - ] + "typescript": "^5.3.2" } } diff --git a/packages/api/babel.config.js b/packages/api/babel.config.js deleted file mode 100644 index ee58f35df11..00000000000 --- a/packages/api/babel.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - presets: [['@babel/preset-env']], -} diff --git a/packages/api/build.js b/packages/api/build.js deleted file mode 100644 index 30fbe7cea56..00000000000 --- a/packages/api/build.js +++ /dev/null @@ -1,15 +0,0 @@ -const { nodeExternalsPlugin } = require('esbuild-node-externals') - -const buildShallow = - process.argv.includes('--shallow') || process.env.ATP_BUILD_SHALLOW === 'true' - -require('esbuild').build({ - logLevel: 'info', - entryPoints: ['src/index.ts'], - bundle: true, - sourcemap: true, - outdir: 'dist', - platform: 'browser', - format: 'cjs', - plugins: buildShallow ? [nodeExternalsPlugin()] : [], -}) diff --git a/packages/api/jest.config.js b/packages/api/jest.config.js index d8abff65a6f..c95ba5dc426 100644 --- a/packages/api/jest.config.js +++ b/packages/api/jest.config.js @@ -1,6 +1,7 @@ -const base = require('../../jest.config.base.js') - +/** @type {import('jest').Config} */ module.exports = { - ...base, displayName: 'API', + transform: { '^.+\\.(t|j)s?$': '@swc/jest' }, + transformIgnorePatterns: [`/node_modules/(?!get-port)`], + setupFiles: ['/jest.setup.ts'], } diff --git a/packages/api/jest.d.ts b/packages/api/jest.d.ts new file mode 100644 index 00000000000..ae42a1ff7a0 --- /dev/null +++ b/packages/api/jest.d.ts @@ -0,0 +1,19 @@ +declare namespace jest { + interface Matchers { + toBeModerationResult( + expected: ModerationBehaviorResult | undefined, + context: string, + stringifiedResult: string, + ignoreCause?: boolean, + ): R + } + + interface Expect { + toBeModerationResult( + expected: ModerationBehaviorResult | undefined, + context: string, + stringifiedResult: string, + ignoreCause?: boolean, + ): void + } +} diff --git a/packages/api/jest.setup.ts b/packages/api/jest.setup.ts new file mode 100644 index 00000000000..eb2647bbb6c --- /dev/null +++ b/packages/api/jest.setup.ts @@ -0,0 +1,79 @@ +import { ModerationBehaviorResult } from './definitions/moderation-behaviors' +import { ModerationUI } from './src' + +expect.extend({ + toBeModerationResult( + actual: ModerationUI, + expected: ModerationBehaviorResult | undefined, + context: string, + stringifiedResult: string, + ignoreCause = false, + ) { + const fail = (msg: string) => ({ + pass: false, + message: () => `${msg}. Full result: ${stringifiedResult}`, + }) + let cause = actual.cause?.type as string + if (actual.cause?.type === 'label') { + cause = `label:${actual.cause.labelDef.id}` + } else if (actual.cause?.type === 'muted') { + if (actual.cause.source.type === 'list') { + cause = 'muted-by-list' + } + } else if (actual.cause?.type === 'blocking') { + if (actual.cause.source.type === 'list') { + cause = 'blocking-by-list' + } + } + if (!expected) { + if (!ignoreCause && actual.cause) { + return fail(`${context} expected to be a no-op, got ${cause}`) + } + if (actual.alert) { + return fail(`${context} expected to be a no-op, got alert=true`) + } + if (actual.blur) { + return fail(`${context} expected to be a no-op, got blur=true`) + } + if (actual.filter) { + return fail(`${context} expected to be a no-op, got filter=true`) + } + if (actual.noOverride) { + return fail(`${context} expected to be a no-op, got noOverride=true`) + } + } else { + if (!ignoreCause && cause !== expected.cause) { + return fail(`${context} expected to be ${expected.cause}, got ${cause}`) + } + if (!!actual.alert !== !!expected.alert) { + return fail( + `${context} expected to be alert=${expected.alert || false}, got ${ + actual.alert || false + }`, + ) + } + if (!!actual.blur !== !!expected.blur) { + return fail( + `${context} expected to be blur=${expected.blur || false}, got ${ + actual.blur || false + }`, + ) + } + if (!!actual.filter !== !!expected.filter) { + return fail( + `${context} expected to be filter=${expected.filter || false}, got ${ + actual.filter || false + }`, + ) + } + if (!!actual.noOverride !== !!expected.noOverride) { + return fail( + `${context} expected to be noOverride=${ + expected.noOverride || false + }, got ${actual.noOverride || false}`, + ) + } + } + return { pass: true, message: () => '' } + }, +}) diff --git a/packages/api/package.json b/packages/api/package.json index 993bd4f5b33..8543a79645b 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -14,17 +14,12 @@ "url": "https://github.com/bluesky-social/atproto", "directory": "packages/api" }, - "main": "src/index.ts", - "publishConfig": { - "main": "dist/index.js", - "types": "dist/index.d.ts" - }, + "type": "commonjs", + "main": "dist/index.js", + "types": "dist/index.d.ts", "scripts": { "codegen": "pnpm docgen && node ./scripts/generate-code.mjs && lex gen-api ./src/client ../../lexicons/com/atproto/*/* ../../lexicons/app/bsky/*/*", "docgen": "node ./scripts/generate-docs.mjs", - "build": "node ./build.js", - "postbuild": "tsc --build tsconfig.build.json", - "update-main-to-dist": "node ../../update-main-to-dist.js packages/api", "test": "jest", "bench": "jest --config jest.bench.config.js", "bench:profile": "node --inspect-brk ../../node_modules/.bin/jest --config jest.bench.config.js" @@ -36,11 +31,11 @@ "@atproto/xrpc": "workspace:^", "multiformats": "^9.9.0", "tlds": "^1.234.0", + "tslib": "^2.6.2", "typed-emitter": "^2.1.0", "zod": "^3.21.4" }, "devDependencies": { - "@atproto/lex-cli": "workspace:^", "@atproto/dev-env": "workspace:^", "common-tags": "^1.8.2" } diff --git a/packages/api/tests/profile-moderation.test.ts b/packages/api/tests/profile-moderation.test.ts index bca63857c30..44170f8155b 100644 --- a/packages/api/tests/profile-moderation.test.ts +++ b/packages/api/tests/profile-moderation.test.ts @@ -26,11 +26,13 @@ describe('Post moderation behaviors', () => { suiteRunner.moderationOpts(scenario), ) expect(res.account).toBeModerationResult( + // @ts-expect-error TODO FIXME scenario.behaviors.account, 'account', JSON.stringify(res, null, 2), - ) - expect(res.profile).toBeModerationResult( + ) + expect(res.profile).toBeModerationResult( + // @ts-expect-error TODO FIXME scenario.behaviors.profile, 'profile content', JSON.stringify(res, null, 2), diff --git a/packages/api/tests/util/moderation-behavior.ts b/packages/api/tests/util/moderation-behavior.ts index cc7a101e11f..34cce5fa592 100644 --- a/packages/api/tests/util/moderation-behavior.ts +++ b/packages/api/tests/util/moderation-behavior.ts @@ -1,88 +1,10 @@ -import { ModerationUI, ModerationOpts, ComAtprotoLabelDefs } from '../../src' import type { - ModerationBehaviors, ModerationBehaviorScenario, - ModerationBehaviorResult, + ModerationBehaviors } from '../../definitions/moderation-behaviors' +import { ComAtprotoLabelDefs, ModerationOpts } from '../../src' import { mock as m } from './index' -expect.extend({ - toBeModerationResult( - actual: ModerationUI, - expected: ModerationBehaviorResult | undefined, - context: string, - stringifiedResult: string, - ignoreCause = false, - ) { - const fail = (msg: string) => ({ - pass: false, - message: () => `${msg}. Full result: ${stringifiedResult}`, - }) - let cause = actual.cause?.type as string - if (actual.cause?.type === 'label') { - cause = `label:${actual.cause.labelDef.id}` - } else if (actual.cause?.type === 'muted') { - if (actual.cause.source.type === 'list') { - cause = 'muted-by-list' - } - } else if (actual.cause?.type === 'blocking') { - if (actual.cause.source.type === 'list') { - cause = 'blocking-by-list' - } - } - if (!expected) { - if (!ignoreCause && actual.cause) { - return fail(`${context} expected to be a no-op, got ${cause}`) - } - if (actual.alert) { - return fail(`${context} expected to be a no-op, got alert=true`) - } - if (actual.blur) { - return fail(`${context} expected to be a no-op, got blur=true`) - } - if (actual.filter) { - return fail(`${context} expected to be a no-op, got filter=true`) - } - if (actual.noOverride) { - return fail(`${context} expected to be a no-op, got noOverride=true`) - } - } else { - if (!ignoreCause && cause !== expected.cause) { - return fail(`${context} expected to be ${expected.cause}, got ${cause}`) - } - if (!!actual.alert !== !!expected.alert) { - return fail( - `${context} expected to be alert=${expected.alert || false}, got ${ - actual.alert || false - }`, - ) - } - if (!!actual.blur !== !!expected.blur) { - return fail( - `${context} expected to be blur=${expected.blur || false}, got ${ - actual.blur || false - }`, - ) - } - if (!!actual.filter !== !!expected.filter) { - return fail( - `${context} expected to be filter=${expected.filter || false}, got ${ - actual.filter || false - }`, - ) - } - if (!!actual.noOverride !== !!expected.noOverride) { - return fail( - `${context} expected to be noOverride=${ - expected.noOverride || false - }, got ${actual.noOverride || false}`, - ) - } - } - return { pass: true, message: () => '' } - }, -}) - export class ModerationBehaviorSuiteRunner { constructor(public suite: ModerationBehaviors) {} diff --git a/packages/api/tsconfig.build.json b/packages/api/tsconfig.build.json index 02a84823b65..01abb2d87a7 100644 --- a/packages/api/tsconfig.build.json +++ b/packages/api/tsconfig.build.json @@ -1,4 +1,8 @@ { - "extends": "./tsconfig.json", - "exclude": ["**/*.spec.ts", "**/*.test.ts"] + "extends": "../../tsconfig/base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist", + }, + "include": ["./src"] } diff --git a/packages/api/tsconfig.json b/packages/api/tsconfig.json index 22ed93bd63f..3a6b5de37bd 100644 --- a/packages/api/tsconfig.json +++ b/packages/api/tsconfig.json @@ -1,13 +1,8 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "rootDir": "./src", - "outDir": "./dist", // Your outDir, - "emitDeclarationOnly": true - }, - "include": ["./src"], + "include": [], "references": [ - { "path": "../xrpc/tsconfig.build.json" }, - { "path": "../lex-cli/tsconfig.build.json" } + { "path": "./tsconfig.build.json" }, + { "path": "./tsconfig.scripts.json" }, + { "path": "./tsconfig.test.json" } ] } diff --git a/packages/api/tsconfig.scripts.json b/packages/api/tsconfig.scripts.json new file mode 100644 index 00000000000..e31ca937eee --- /dev/null +++ b/packages/api/tsconfig.scripts.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig/scripts.json", + "compilerOptions": { + "rootDir": "." + }, + "include": ["./*.js", "./*.ts"], + "exclude": ["node_modules", "./jest.setup.ts"] +} diff --git a/packages/api/tsconfig.test.json b/packages/api/tsconfig.test.json new file mode 100644 index 00000000000..f82d8bab262 --- /dev/null +++ b/packages/api/tsconfig.test.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig/test.json", + "compilerOptions": { + "rootDir": ".", + "types": ["node", "jest", "./jest.d.ts"] + }, + "include": ["./tests", "./jest.setup.ts"], + "exclude": [ + "node_modules", + "./tests/agent.test.ts", + "./tests/bsky-agent.test.ts", + "./tests/error.test.ts", + ] +} diff --git a/packages/aws/build.js b/packages/aws/build.js deleted file mode 100644 index e880ae9930b..00000000000 --- a/packages/aws/build.js +++ /dev/null @@ -1,14 +0,0 @@ -const { nodeExternalsPlugin } = require('esbuild-node-externals') - -const buildShallow = - process.argv.includes('--shallow') || process.env.ATP_BUILD_SHALLOW === 'true' - -require('esbuild').build({ - logLevel: 'info', - entryPoints: ['src/index.ts'], - bundle: true, - sourcemap: true, - outdir: 'dist', - platform: 'node', - plugins: buildShallow ? [nodeExternalsPlugin()] : [], -}) diff --git a/packages/aws/package.json b/packages/aws/package.json index 949cfaa845e..6397a9c02a7 100644 --- a/packages/aws/package.json +++ b/packages/aws/package.json @@ -13,15 +13,10 @@ "url": "https://github.com/bluesky-social/atproto", "directory": "packages/aws" }, - "main": "src/index.ts", - "publishConfig": { - "main": "dist/index.js", - "types": "dist/src/index.d.ts" - }, + "type": "commonjs", + "main": "dist/index.js", + "types": "dist/index.d.ts", "scripts": { - "build": "node ./build.js", - "postbuild": "tsc --build tsconfig.build.json", - "update-main-to-dist": "node ../../update-main-to-dist.js packages/aws" }, "dependencies": { "@atproto/common": "workspace:^", @@ -34,6 +29,7 @@ "@noble/curves": "^1.1.0", "key-encoder": "^2.0.3", "multiformats": "^9.9.0", + "tslib": "^2.6.2", "uint8arrays": "3.0.0" } } diff --git a/packages/aws/src/s3.ts b/packages/aws/src/s3.ts index fc27d7a71f5..110d9ed0e53 100644 --- a/packages/aws/src/s3.ts +++ b/packages/aws/src/s3.ts @@ -1,9 +1,9 @@ +import { Readable } from 'node:stream' import * as aws from '@aws-sdk/client-s3' import { Upload } from '@aws-sdk/lib-storage' import { BlobStore, BlobNotFoundError } from '@atproto/repo' import { randomStr } from '@atproto/crypto' import { CID } from 'multiformats/cid' -import stream from 'stream' export type S3Config = { bucket: string } & Omit< aws.S3ClientConfig, @@ -48,7 +48,7 @@ export class S3BlobStore implements BlobStore { return `quarantine/${this.did}/${cid.toString()}` } - async putTemp(bytes: Uint8Array | stream.Readable): Promise { + async putTemp(bytes: Uint8Array | Readable): Promise { const key = this.genKey() await new Upload({ client: this.client, @@ -74,10 +74,7 @@ export class S3BlobStore implements BlobStore { } } - async putPermanent( - cid: CID, - bytes: Uint8Array | stream.Readable, - ): Promise { + async putPermanent(cid: CID, bytes: Uint8Array | Readable): Promise { await new Upload({ client: this.client, params: { @@ -119,9 +116,9 @@ export class S3BlobStore implements BlobStore { return res.transformToByteArray() } - async getStream(cid: CID): Promise { + async getStream(cid: CID): Promise { const res = await this.getObject(cid) - return res as stream.Readable + return res as Readable } async delete(cid: CID): Promise { diff --git a/packages/aws/tsconfig.build.json b/packages/aws/tsconfig.build.json index 02a84823b65..01abb2d87a7 100644 --- a/packages/aws/tsconfig.build.json +++ b/packages/aws/tsconfig.build.json @@ -1,4 +1,8 @@ { - "extends": "./tsconfig.json", - "exclude": ["**/*.spec.ts", "**/*.test.ts"] + "extends": "../../tsconfig/base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist", + }, + "include": ["./src"] } diff --git a/packages/aws/tsconfig.json b/packages/aws/tsconfig.json index fee83b7f23b..e84b8178b47 100644 --- a/packages/aws/tsconfig.json +++ b/packages/aws/tsconfig.json @@ -1,8 +1,4 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "outDir": "./dist", // Your outDir, - "emitDeclarationOnly": true - }, - "include": ["./src", "__tests__/**/**.ts"] + "include": [], + "references": [{ "path": "./tsconfig.build.json" }] } diff --git a/packages/bsky/babel.config.js b/packages/bsky/babel.config.js deleted file mode 100644 index ee58f35df11..00000000000 --- a/packages/bsky/babel.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - presets: [['@babel/preset-env']], -} diff --git a/packages/bsky/bin/migration-create.ts b/packages/bsky/bin/migration-create.js similarity index 88% rename from packages/bsky/bin/migration-create.ts rename to packages/bsky/bin/migration-create.js index b51c536c4f2..5c92164de18 100644 --- a/packages/bsky/bin/migration-create.ts +++ b/packages/bsky/bin/migration-create.js @@ -1,9 +1,9 @@ -#!/usr/bin/env ts-node +#!/usr/bin/env node -import * as fs from 'fs/promises' -import * as path from 'path' +const fs = require('node:fs/promises') +const path = require('node:path') -export async function main() { +async function main() { const now = new Date() const prefix = now.toISOString().replace(/[^a-z0-9]/gi, '') // Order of migrations matches alphabetical order of their names const name = process.argv[2] diff --git a/packages/bsky/build.js b/packages/bsky/build.js deleted file mode 100644 index 3822d9bc98f..00000000000 --- a/packages/bsky/build.js +++ /dev/null @@ -1,19 +0,0 @@ -const { nodeExternalsPlugin } = require('esbuild-node-externals') - -const buildShallow = - process.argv.includes('--shallow') || process.env.ATP_BUILD_SHALLOW === 'true' - -require('esbuild').build({ - logLevel: 'info', - entryPoints: ['src/index.ts', 'src/db/index.ts'], - bundle: true, - sourcemap: true, - outdir: 'dist', - platform: 'node', - external: [ - // Referenced in pg driver, but optional and we don't use it - 'pg-native', - 'sharp', - ], - plugins: buildShallow ? [nodeExternalsPlugin()] : [], -}) diff --git a/packages/bsky/jest.config.js b/packages/bsky/jest.config.js index 14720ce82eb..4da628892eb 100644 --- a/packages/bsky/jest.config.js +++ b/packages/bsky/jest.config.js @@ -1,6 +1,6 @@ -const base = require('../../jest.config.base.js') - +/** @type {import('jest').Config} */ module.exports = { - ...base, displayName: 'Bsky App View', + transform: { '^.+\\.(t|j)s?$': '@swc/jest' }, + setupFiles: ['/jest.setup.ts'], } diff --git a/packages/bsky/jest.setup.ts b/packages/bsky/jest.setup.ts new file mode 100644 index 00000000000..bfddf8df50e --- /dev/null +++ b/packages/bsky/jest.setup.ts @@ -0,0 +1,3 @@ +import { config } from 'dotenv' + +config({ path: './test.env' }) diff --git a/packages/bsky/package.json b/packages/bsky/package.json index 6e9087114f4..421557750b5 100644 --- a/packages/bsky/package.json +++ b/packages/bsky/package.json @@ -13,22 +13,17 @@ "url": "https://github.com/bluesky-social/atproto", "directory": "packages/bsky" }, - "main": "src/index.ts", - "publishConfig": { - "main": "dist/index.js", - "types": "dist/index.d.ts" - }, + "type": "commonjs", + "main": "dist/index.js", + "types": "dist/index.d.ts", "bin": "dist/bin.js", "scripts": { "codegen": "lex gen-server ./src/lexicon ../../lexicons/com/atproto/*/* ../../lexicons/app/bsky/*/*", - "build": "node ./build.js", - "postbuild": "tsc --build tsconfig.build.json", - "update-main-to-dist": "node ../../update-main-to-dist.js packages/bsky", "start": "node --enable-source-maps dist/bin.js", "test": "../dev-infra/with-test-redis-and-db.sh jest", "test:log": "tail -50 test.log | pino-pretty", "test:updateSnapshot": "jest --updateSnapshot", - "migration:create": "ts-node ./bin/migration-create.ts" + "migration:create": "node ./bin/migration-create.js" }, "dependencies": { "@atproto/api": "workspace:^", @@ -56,6 +51,7 @@ "pino": "^8.15.0", "pino-http": "^8.2.1", "sharp": "^0.32.6", + "tslib": "^2.6.2", "typed-emitter": "^2.1.0", "uint8arrays": "3.0.0" }, @@ -71,6 +67,7 @@ "@types/express-serve-static-core": "^4.17.36", "@types/pg": "^8.6.6", "@types/qs": "^6.9.7", - "axios": "^0.27.2" + "axios": "^0.27.2", + "dotenv": "^16.0.3" } } diff --git a/packages/bsky/tests/feed-generation.test.ts b/packages/bsky/tests/feed-generation.test.ts index aceecec3204..3f4d76d543b 100644 --- a/packages/bsky/tests/feed-generation.test.ts +++ b/packages/bsky/tests/feed-generation.test.ts @@ -7,8 +7,8 @@ import { RecordRef, } from '@atproto/dev-env' import { Handler as SkeletonHandler } from '../src/lexicon/types/app/bsky/feed/getFeedSkeleton' -import { GeneratorView } from '@atproto/api/src/client/types/app/bsky/feed/defs' -import { UnknownFeedError } from '@atproto/api/src/client/types/app/bsky/feed/getFeed' +import { GeneratorView } from '@atproto/api/dist/client/types/app/bsky/feed/defs' +import { UnknownFeedError } from '@atproto/api/dist/client/types/app/bsky/feed/getFeed' import { ids } from '../src/lexicon/lexicons' import { FeedViewPost, diff --git a/packages/bsky/tests/indexing.test.ts b/packages/bsky/tests/indexing.test.ts index f874a084567..70c7c701067 100644 --- a/packages/bsky/tests/indexing.test.ts +++ b/packages/bsky/tests/indexing.test.ts @@ -1,7 +1,7 @@ import { sql } from 'kysely' import { CID } from 'multiformats/cid' import { cidForCbor, TID } from '@atproto/common' -import * as pdsRepo from '@atproto/pds/src/repo/prepare' +import * as pdsRepo from '@atproto/pds/dist/repo/prepare' import { WriteOpAction } from '@atproto/repo' import { AtUri } from '@atproto/syntax' import AtpAgent, { diff --git a/packages/bsky/tests/subscription/repo.test.ts b/packages/bsky/tests/subscription/repo.test.ts index 1c83e4c0cca..268691c2ceb 100644 --- a/packages/bsky/tests/subscription/repo.test.ts +++ b/packages/bsky/tests/subscription/repo.test.ts @@ -1,8 +1,8 @@ import AtpAgent from '@atproto/api' import { TestNetwork, SeedClient } from '@atproto/dev-env' import { CommitData } from '@atproto/repo' -import { PreparedWrite } from '@atproto/pds/src/repo' -import * as sequencer from '@atproto/pds/src/sequencer' +import { PreparedWrite } from '@atproto/pds/dist/repo' +import * as sequencer from '@atproto/pds/dist/sequencer' import { cborDecode, cborEncode } from '@atproto/common' import { DatabaseSchemaType } from '../../src/db/database-schema' import { ids } from '../../src/lexicon/lexicons' diff --git a/packages/bsky/tests/views/block-lists.test.ts b/packages/bsky/tests/views/block-lists.test.ts index 6672d690ce1..6d7a1fdfaa7 100644 --- a/packages/bsky/tests/views/block-lists.test.ts +++ b/packages/bsky/tests/views/block-lists.test.ts @@ -2,8 +2,8 @@ import AtpAgent from '@atproto/api' import { TestNetwork, SeedClient, RecordRef } from '@atproto/dev-env' import { forSnapshot } from '../_util' import basicSeed from '../seeds/basic' -import { BlockedActorError } from '@atproto/api/src/client/types/app/bsky/feed/getAuthorFeed' -import { BlockedByActorError } from '@atproto/api/src/client/types/app/bsky/feed/getAuthorFeed' +import { BlockedActorError } from '@atproto/api/dist/client/types/app/bsky/feed/getAuthorFeed' +import { BlockedByActorError } from '@atproto/api/dist/client/types/app/bsky/feed/getAuthorFeed' describe('pds views with blocking from block lists', () => { let network: TestNetwork diff --git a/packages/bsky/tests/views/blocks.test.ts b/packages/bsky/tests/views/blocks.test.ts index 5d344a823d9..cada0fa55c9 100644 --- a/packages/bsky/tests/views/blocks.test.ts +++ b/packages/bsky/tests/views/blocks.test.ts @@ -1,13 +1,13 @@ import assert from 'assert' import { TestNetwork, RecordRef, SeedClient } from '@atproto/dev-env' import AtpAgent, { AtUri } from '@atproto/api' -import { BlockedActorError } from '@atproto/api/src/client/types/app/bsky/feed/getAuthorFeed' -import { BlockedByActorError } from '@atproto/api/src/client/types/app/bsky/feed/getAuthorFeed' -import { isThreadViewPost } from '@atproto/api/src/client/types/app/bsky/feed/defs' +import { BlockedActorError } from '@atproto/api/dist/client/types/app/bsky/feed/getAuthorFeed' +import { BlockedByActorError } from '@atproto/api/dist/client/types/app/bsky/feed/getAuthorFeed' +import { isThreadViewPost } from '@atproto/api/dist/client/types/app/bsky/feed/defs' import { isViewRecord as isEmbedViewRecord, isViewBlocked as isEmbedViewBlocked, -} from '@atproto/api/src/client/types/app/bsky/embed/record' +} from '@atproto/api/dist/client/types/app/bsky/embed/record' import { forSnapshot } from '../_util' import basicSeed from '../seeds/basic' diff --git a/packages/bsky/tests/views/thread.test.ts b/packages/bsky/tests/views/thread.test.ts index d42378aec6e..780c2cc39b1 100644 --- a/packages/bsky/tests/views/thread.test.ts +++ b/packages/bsky/tests/views/thread.test.ts @@ -3,7 +3,7 @@ import { TestNetwork, SeedClient } from '@atproto/dev-env' import { forSnapshot, stripViewerFromThread } from '../_util' import basicSeed from '../seeds/basic' import assert from 'assert' -import { isThreadViewPost } from '@atproto/api/src/client/types/app/bsky/feed/defs' +import { isThreadViewPost } from '@atproto/api/dist/client/types/app/bsky/feed/defs' describe('pds thread views', () => { let network: TestNetwork diff --git a/packages/bsky/tsconfig.build.json b/packages/bsky/tsconfig.build.json index 02a84823b65..01abb2d87a7 100644 --- a/packages/bsky/tsconfig.build.json +++ b/packages/bsky/tsconfig.build.json @@ -1,4 +1,8 @@ { - "extends": "./tsconfig.json", - "exclude": ["**/*.spec.ts", "**/*.test.ts"] + "extends": "../../tsconfig/base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist", + }, + "include": ["./src"] } diff --git a/packages/bsky/tsconfig.json b/packages/bsky/tsconfig.json index 3f6ca1c27ec..3a6b5de37bd 100644 --- a/packages/bsky/tsconfig.json +++ b/packages/bsky/tsconfig.json @@ -1,21 +1,8 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "rootDir": "./src", - "outDir": "./dist", - "emitDeclarationOnly": true - }, - "module": "nodenext", - "include": ["./src", "__tests__/**/**.ts"], + "include": [], "references": [ - { "path": "../api/tsconfig.build.json" }, - { "path": "../common/tsconfig.build.json" }, - { "path": "../crypto/tsconfig.build.json" }, - { "path": "../identifier/tsconfig.build.json" }, - { "path": "../lexicon/tsconfig.build.json" }, - { "path": "../lex-cli/tsconfig.build.json" }, - { "path": "../repo/tsconfig.build.json" }, - { "path": "../uri/tsconfig.build.json" }, - { "path": "../xrpc-server/tsconfig.build.json" } + { "path": "./tsconfig.build.json" }, + { "path": "./tsconfig.scripts.json" }, + { "path": "./tsconfig.test.json" } ] } diff --git a/packages/bsky/tsconfig.scripts.json b/packages/bsky/tsconfig.scripts.json new file mode 100644 index 00000000000..e31ca937eee --- /dev/null +++ b/packages/bsky/tsconfig.scripts.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig/scripts.json", + "compilerOptions": { + "rootDir": "." + }, + "include": ["./*.js", "./*.ts"], + "exclude": ["node_modules", "./jest.setup.ts"] +} diff --git a/packages/bsky/tsconfig.test.json b/packages/bsky/tsconfig.test.json new file mode 100644 index 00000000000..e5e3f40d926 --- /dev/null +++ b/packages/bsky/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig/test.json", + "compilerOptions": { + "rootDir": "." + }, + "include": ["./tests", "./jest.setup.ts"] +} diff --git a/packages/common-web/babel.config.js b/packages/common-web/babel.config.js deleted file mode 100644 index 0126e9dbaa6..00000000000 --- a/packages/common-web/babel.config.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('../../babel.config.js') diff --git a/packages/common-web/build.js b/packages/common-web/build.js deleted file mode 100644 index 30fbe7cea56..00000000000 --- a/packages/common-web/build.js +++ /dev/null @@ -1,15 +0,0 @@ -const { nodeExternalsPlugin } = require('esbuild-node-externals') - -const buildShallow = - process.argv.includes('--shallow') || process.env.ATP_BUILD_SHALLOW === 'true' - -require('esbuild').build({ - logLevel: 'info', - entryPoints: ['src/index.ts'], - bundle: true, - sourcemap: true, - outdir: 'dist', - platform: 'browser', - format: 'cjs', - plugins: buildShallow ? [nodeExternalsPlugin()] : [], -}) diff --git a/packages/common-web/jest.config.js b/packages/common-web/jest.config.js index 6beabf62b60..2f5806be20d 100644 --- a/packages/common-web/jest.config.js +++ b/packages/common-web/jest.config.js @@ -1,6 +1,7 @@ -const base = require('../../jest.config.base.js') - +/** @type {import('jest').Config} */ module.exports = { - ...base, displayName: 'Common Web', + transform: { + '^.+\\.(t|j)s?$': '@swc/jest', + }, } diff --git a/packages/common-web/package.json b/packages/common-web/package.json index 1df7806ab51..0a3e70d5c0f 100644 --- a/packages/common-web/package.json +++ b/packages/common-web/package.json @@ -12,21 +12,17 @@ "url": "https://github.com/bluesky-social/atproto", "directory": "packages/common-web" }, - "main": "src/index.ts", - "publishConfig": { - "main": "dist/index.js", - "types": "dist/index.d.ts" - }, + "type": "commonjs", + "main": "dist/index.js", + "types": "dist/index.d.ts", "scripts": { - "test": "jest", - "build": "node ./build.js", - "postbuild": "tsc --build tsconfig.build.json", - "update-main-to-dist": "node ../../update-main-to-dist.js packages/common-web" + "test": "jest" }, "dependencies": { "graphemer": "^1.4.0", "multiformats": "^9.9.0", "uint8arrays": "3.0.0", + "tslib": "^2.6.2", "zod": "^3.21.4" } } diff --git a/packages/common-web/src/util.ts b/packages/common-web/src/util.ts index 04fd227af55..13946ed6e94 100644 --- a/packages/common-web/src/util.ts +++ b/packages/common-web/src/util.ts @@ -87,8 +87,8 @@ export const asyncFilter = async ( export const isErrnoException = ( err: unknown, -): err is NodeJS.ErrnoException => { - return !!err && err['code'] +): err is typeof err & { code: string } => { + return typeof err?.['code'] === 'string' } export const errHasMsg = (err: unknown, msg: string): boolean => { diff --git a/packages/common-web/tsconfig.build.json b/packages/common-web/tsconfig.build.json index 02a84823b65..01abb2d87a7 100644 --- a/packages/common-web/tsconfig.build.json +++ b/packages/common-web/tsconfig.build.json @@ -1,4 +1,8 @@ { - "extends": "./tsconfig.json", - "exclude": ["**/*.spec.ts", "**/*.test.ts"] + "extends": "../../tsconfig/base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist", + }, + "include": ["./src"] } diff --git a/packages/common-web/tsconfig.json b/packages/common-web/tsconfig.json index 5c5ec40ce03..3a6b5de37bd 100644 --- a/packages/common-web/tsconfig.json +++ b/packages/common-web/tsconfig.json @@ -1,9 +1,8 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "rootDir": "./src", - "outDir": "./dist", // Your outDir, - "emitDeclarationOnly": true - }, - "include": ["./src", "__tests__/**/**.ts"] + "include": [], + "references": [ + { "path": "./tsconfig.build.json" }, + { "path": "./tsconfig.scripts.json" }, + { "path": "./tsconfig.test.json" } + ] } diff --git a/packages/common-web/tsconfig.scripts.json b/packages/common-web/tsconfig.scripts.json new file mode 100644 index 00000000000..6605443a6be --- /dev/null +++ b/packages/common-web/tsconfig.scripts.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig/scripts.json", + "compilerOptions": { + "rootDir": "." + }, + "include": ["./*.js", "./*.ts"] +} diff --git a/packages/common-web/tsconfig.test.json b/packages/common-web/tsconfig.test.json new file mode 100644 index 00000000000..19317ca8591 --- /dev/null +++ b/packages/common-web/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig/test.json", + "compilerOptions": { + "rootDir": "." + }, + "include": ["./tests"] +} diff --git a/packages/common/babel.config.js b/packages/common/babel.config.js deleted file mode 100644 index 0126e9dbaa6..00000000000 --- a/packages/common/babel.config.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('../../babel.config.js') diff --git a/packages/common/build.js b/packages/common/build.js deleted file mode 100644 index e880ae9930b..00000000000 --- a/packages/common/build.js +++ /dev/null @@ -1,14 +0,0 @@ -const { nodeExternalsPlugin } = require('esbuild-node-externals') - -const buildShallow = - process.argv.includes('--shallow') || process.env.ATP_BUILD_SHALLOW === 'true' - -require('esbuild').build({ - logLevel: 'info', - entryPoints: ['src/index.ts'], - bundle: true, - sourcemap: true, - outdir: 'dist', - platform: 'node', - plugins: buildShallow ? [nodeExternalsPlugin()] : [], -}) diff --git a/packages/common/jest.config.js b/packages/common/jest.config.js index 33f1da33d80..18120463a86 100644 --- a/packages/common/jest.config.js +++ b/packages/common/jest.config.js @@ -1,6 +1,7 @@ -const base = require('../../jest.config.base.js') - +/** @type {import('jest').Config} */ module.exports = { - ...base, displayName: 'Common', + transform: { + '^.+\\.(t|j)s?$': '@swc/jest', + }, } diff --git a/packages/common/package.json b/packages/common/package.json index c9aaa9293e2..ea296c583ac 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -12,16 +12,11 @@ "url": "https://github.com/bluesky-social/atproto", "directory": "packages/common" }, - "main": "src/index.ts", - "publishConfig": { - "main": "dist/index.js", - "types": "dist/index.d.ts" - }, + "type": "commonjs", + "main": "dist/index.js", + "types": "dist/index.d.ts", "scripts": { - "test": "jest", - "build": "node ./build.js", - "postbuild": "tsc --build tsconfig.build.json", - "update-main-to-dist": "node ../../update-main-to-dist.js packages/common" + "test": "jest" }, "dependencies": { "@atproto/common-web": "workspace:^", @@ -30,6 +25,9 @@ "iso-datestring-validator": "^2.2.2", "multiformats": "^9.9.0", "pino": "^8.15.0", - "zod": "3.21.4" + "tslib": "^2.6.2" + }, + "devDependencies": { + "uint8arrays": "3.0.0" } } diff --git a/packages/common/src/fs.ts b/packages/common/src/fs.ts index b8bcf7be310..01e84b66827 100644 --- a/packages/common/src/fs.ts +++ b/packages/common/src/fs.ts @@ -1,10 +1,11 @@ +import { constants } from 'node:fs' +import { access, readFile, rm } from 'node:fs/promises' + import { isErrnoException } from '@atproto/common-web' -import { constants } from 'fs' -import fs from 'fs/promises' export const fileExists = async (location: string): Promise => { try { - await fs.access(location, constants.F_OK) + await access(location, constants.F_OK) return true } catch (err) { if (isErrnoException(err) && err.code === 'ENOENT') { @@ -18,7 +19,7 @@ export const readIfExists = async ( filepath: string, ): Promise => { try { - return await fs.readFile(filepath) + return await readFile(filepath) } catch (err) { if (isErrnoException(err) && err.code === 'ENOENT') { return @@ -32,7 +33,7 @@ export const rmIfExists = async ( recursive = false, ): Promise => { try { - await fs.rm(filepath, { recursive }) + await rm(filepath, { recursive }) } catch (err) { if (isErrnoException(err) && err.code === 'ENOENT') { return diff --git a/packages/common/src/ipld.ts b/packages/common/src/ipld.ts index 6939afe1049..536732992c8 100644 --- a/packages/common/src/ipld.ts +++ b/packages/common/src/ipld.ts @@ -1,12 +1,13 @@ -import crypto from 'crypto' -import { Transform, TransformCallback } from 'stream' +import * as crypto from 'node:crypto' +import { Transform, TransformCallback } from 'node:stream' + import { check, schema } from '@atproto/common-web' -import { CID } from 'multiformats/cid' +import * as cborCodec from '@ipld/dag-cbor' +import * as mf from 'multiformats' import * as Block from 'multiformats/block' +import { CID } from 'multiformats/cid' import * as rawCodec from 'multiformats/codecs/raw' import { sha256 } from 'multiformats/hashes/sha2' -import * as mf from 'multiformats' -import * as cborCodec from '@ipld/dag-cbor' export const cborEncode = cborCodec.encode export const cborDecode = cborCodec.decode diff --git a/packages/common/src/streams.ts b/packages/common/src/streams.ts index 2d18c3e2400..20ff9e2ed85 100644 --- a/packages/common/src/streams.ts +++ b/packages/common/src/streams.ts @@ -4,7 +4,7 @@ import { PassThrough, Transform, TransformCallback, -} from 'stream' +} from 'node:stream' export const forwardStreamErrors = (...streams: Stream[]) => { for (let i = 0; i < streams.length; ++i) { diff --git a/packages/common/tests/streams.test.ts b/packages/common/tests/streams.test.ts index 735b19a8341..dea487060da 100644 --- a/packages/common/tests/streams.test.ts +++ b/packages/common/tests/streams.test.ts @@ -1,5 +1,5 @@ -import * as streams from '../src/streams' import { PassThrough, Readable } from 'node:stream' +import * as streams from '../src/streams' describe('streams', () => { describe('forwardStreamErrors', () => { diff --git a/packages/common/tsconfig.build.json b/packages/common/tsconfig.build.json index 02a84823b65..01abb2d87a7 100644 --- a/packages/common/tsconfig.build.json +++ b/packages/common/tsconfig.build.json @@ -1,4 +1,8 @@ { - "extends": "./tsconfig.json", - "exclude": ["**/*.spec.ts", "**/*.test.ts"] + "extends": "../../tsconfig/base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist", + }, + "include": ["./src"] } diff --git a/packages/common/tsconfig.json b/packages/common/tsconfig.json index 81714d5ec97..3a6b5de37bd 100644 --- a/packages/common/tsconfig.json +++ b/packages/common/tsconfig.json @@ -1,10 +1,8 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "rootDir": "./src", - "outDir": "./dist", // Your outDir, - "emitDeclarationOnly": true - }, - "include": ["./src", "__tests__/**/**.ts"], - "references": [{ "path": "../common-web/tsconfig.build.json" }] + "include": [], + "references": [ + { "path": "./tsconfig.build.json" }, + { "path": "./tsconfig.scripts.json" }, + { "path": "./tsconfig.test.json" } + ] } diff --git a/packages/common/tsconfig.scripts.json b/packages/common/tsconfig.scripts.json new file mode 100644 index 00000000000..6605443a6be --- /dev/null +++ b/packages/common/tsconfig.scripts.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig/scripts.json", + "compilerOptions": { + "rootDir": "." + }, + "include": ["./*.js", "./*.ts"] +} diff --git a/packages/common/tsconfig.test.json b/packages/common/tsconfig.test.json new file mode 100644 index 00000000000..19317ca8591 --- /dev/null +++ b/packages/common/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig/test.json", + "compilerOptions": { + "rootDir": "." + }, + "include": ["./tests"] +} diff --git a/packages/crypto/build.js b/packages/crypto/build.js deleted file mode 100644 index e880ae9930b..00000000000 --- a/packages/crypto/build.js +++ /dev/null @@ -1,14 +0,0 @@ -const { nodeExternalsPlugin } = require('esbuild-node-externals') - -const buildShallow = - process.argv.includes('--shallow') || process.env.ATP_BUILD_SHALLOW === 'true' - -require('esbuild').build({ - logLevel: 'info', - entryPoints: ['src/index.ts'], - bundle: true, - sourcemap: true, - outdir: 'dist', - platform: 'node', - plugins: buildShallow ? [nodeExternalsPlugin()] : [], -}) diff --git a/packages/crypto/jest.config.js b/packages/crypto/jest.config.js index 365131c9293..b9b874b0bc7 100644 --- a/packages/crypto/jest.config.js +++ b/packages/crypto/jest.config.js @@ -1,6 +1,7 @@ -const base = require('../../jest.config.base.js') - +/** @type {import('jest').Config} */ module.exports = { - ...base, displayName: 'Crypto', + transform: { + '^.+\\.(t|j)s?$': '@swc/jest', + }, } diff --git a/packages/crypto/package.json b/packages/crypto/package.json index bb359c5f36f..1822d64a49a 100644 --- a/packages/crypto/package.json +++ b/packages/crypto/package.json @@ -13,20 +13,16 @@ "url": "https://github.com/bluesky-social/atproto", "directory": "packages/crypto" }, - "main": "src/index.ts", - "publishConfig": { - "main": "dist/index.js", - "types": "dist/index.d.ts" - }, + "type": "commonjs", + "main": "dist/index.js", + "types": "dist/index.d.ts", "scripts": { - "test": "jest ", - "build": "node ./build.js", - "postbuild": "tsc --build tsconfig.build.json", - "update-main-to-dist": "node ../../update-main-to-dist.js packages/crypto" + "test": "jest " }, "dependencies": { "@noble/curves": "^1.1.0", "@noble/hashes": "^1.3.1", + "tslib": "^2.6.2", "uint8arrays": "3.0.0" }, "devDependencies": { diff --git a/packages/crypto/src/p256/operations.ts b/packages/crypto/src/p256/operations.ts index e41c494ae55..5ac477a2356 100644 --- a/packages/crypto/src/p256/operations.ts +++ b/packages/crypto/src/p256/operations.ts @@ -1,6 +1,7 @@ import { p256 } from '@noble/curves/p256' import { sha256 } from '@noble/hashes/sha256' -import * as ui8 from 'uint8arrays' +import { equals as ui8equals } from 'uint8arrays' + import { P256_JWT_ALG } from '../const' import { parseDidKey } from '../did' import { VerifyOptions } from '../types' @@ -39,7 +40,7 @@ export const verifySig = async ( export const isCompactFormat = (sig: Uint8Array) => { try { const parsed = p256.Signature.fromCompact(sig) - return ui8.equals(parsed.toCompactRawBytes(), sig) + return ui8equals(parsed.toCompactRawBytes(), sig) } catch { return false } diff --git a/packages/crypto/tsconfig.build.json b/packages/crypto/tsconfig.build.json index 02a84823b65..01abb2d87a7 100644 --- a/packages/crypto/tsconfig.build.json +++ b/packages/crypto/tsconfig.build.json @@ -1,4 +1,8 @@ { - "extends": "./tsconfig.json", - "exclude": ["**/*.spec.ts", "**/*.test.ts"] + "extends": "../../tsconfig/base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist", + }, + "include": ["./src"] } diff --git a/packages/crypto/tsconfig.json b/packages/crypto/tsconfig.json index 5c5ec40ce03..3a6b5de37bd 100644 --- a/packages/crypto/tsconfig.json +++ b/packages/crypto/tsconfig.json @@ -1,9 +1,8 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "rootDir": "./src", - "outDir": "./dist", // Your outDir, - "emitDeclarationOnly": true - }, - "include": ["./src", "__tests__/**/**.ts"] + "include": [], + "references": [ + { "path": "./tsconfig.build.json" }, + { "path": "./tsconfig.scripts.json" }, + { "path": "./tsconfig.test.json" } + ] } diff --git a/packages/crypto/tsconfig.scripts.json b/packages/crypto/tsconfig.scripts.json new file mode 100644 index 00000000000..6605443a6be --- /dev/null +++ b/packages/crypto/tsconfig.scripts.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig/scripts.json", + "compilerOptions": { + "rootDir": "." + }, + "include": ["./*.js", "./*.ts"] +} diff --git a/packages/crypto/tsconfig.test.json b/packages/crypto/tsconfig.test.json new file mode 100644 index 00000000000..19317ca8591 --- /dev/null +++ b/packages/crypto/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig/test.json", + "compilerOptions": { + "rootDir": "." + }, + "include": ["./tests"] +} diff --git a/packages/dev-env/build.js b/packages/dev-env/build.js deleted file mode 100644 index 65ca7679909..00000000000 --- a/packages/dev-env/build.js +++ /dev/null @@ -1,27 +0,0 @@ -const { nodeExternalsPlugin } = require('esbuild-node-externals') -const hbsPlugin = require('esbuild-plugin-handlebars') - -const buildShallow = - process.argv.includes('--shallow') || process.env.ATP_BUILD_SHALLOW === 'true' - -require('esbuild').build({ - logLevel: 'info', - entryPoints: ['src/index.ts', 'src/bin.ts'], - bundle: true, - sourcemap: true, - outdir: 'dist', - platform: 'node', - external: [ - 'better-sqlite3', - // Referenced in pg driver, but optional and we don't use it - 'pg-native', - 'sharp', - ], - plugins: [].concat(buildShallow ? [nodeExternalsPlugin()] : []).concat([ - hbsPlugin({ - filter: /\.(hbs)$/, - additionalHelpers: {}, - precompileOptions: {}, - }), - ]), -}) diff --git a/packages/dev-env/package.json b/packages/dev-env/package.json index 10396a92c8e..474f11430f3 100644 --- a/packages/dev-env/package.json +++ b/packages/dev-env/package.json @@ -12,21 +12,17 @@ "url": "https://github.com/bluesky-social/atproto", "directory": "packages/dev-env" }, - "main": "src/index.ts", - "publishConfig": { - "main": "dist/index.js", - "types": "dist/index.d.ts" - }, + "type": "commonjs", + "main": "dist/index.js", + "types": "dist/index.d.ts", "bin": "dist/bin.js", "scripts": { - "build": "node ./build.js", - "postbuild": "tsc --build tsconfig.build.json", - "update-main-to-dist": "node ../../update-main-to-dist.js packages/dev-env", "start": "../dev-infra/with-test-redis-and-db.sh node dist/bin.js" }, "dependencies": { "@atproto/api": "workspace:^", "@atproto/bsky": "workspace:^", + "@atproto/common": "workspace:^", "@atproto/common-web": "workspace:^", "@atproto/crypto": "workspace:^", "@atproto/identity": "workspace:^", @@ -44,9 +40,7 @@ "get-port": "^6.1.2", "multiformats": "^9.9.0", "sharp": "^0.32.6", + "tslib": "^2.6.2", "uint8arrays": "3.0.0" - }, - "devDependencies": { - "ts-node": "^10.8.1" } } diff --git a/packages/dev-env/src/feed-gen.ts b/packages/dev-env/src/feed-gen.ts index e8e58d742ce..98842b1f3fe 100644 --- a/packages/dev-env/src/feed-gen.ts +++ b/packages/dev-env/src/feed-gen.ts @@ -4,8 +4,8 @@ import express from 'express' import getPort from 'get-port' import * as plc from '@did-plc/lib' import { Secp256k1Keypair } from '@atproto/crypto' -import { Handler as SkeletonHandler } from '@atproto/pds/src/lexicon/types/app/bsky/feed/getFeedSkeleton' -import { createServer } from '@atproto/pds/src/lexicon' +import { Handler as SkeletonHandler } from '@atproto/pds/dist/lexicon/types/app/bsky/feed/getFeedSkeleton' +import { createServer } from '@atproto/pds/dist/lexicon' import { InvalidRequestError } from '@atproto/xrpc-server' export class TestFeedGen { diff --git a/packages/dev-env/src/mock/index.ts b/packages/dev-env/src/mock/index.ts index 10f76b1c259..ef04857b2d5 100644 --- a/packages/dev-env/src/mock/index.ts +++ b/packages/dev-env/src/mock/index.ts @@ -3,7 +3,7 @@ import AtpAgent from '@atproto/api' import { REASONSPAM, REASONOTHER, -} from '@atproto/api/src/client/types/com/atproto/moderation/defs' +} from '@atproto/api/dist/client/types/com/atproto/moderation/defs' import { TestNetwork } from '../index' import { postTexts, replyTexts } from './data' import labeledImgB64 from './img/labeled-img-b64' diff --git a/packages/dev-env/src/network-no-appview.ts b/packages/dev-env/src/network-no-appview.ts index 30b978b5b79..ee37b7e2e90 100644 --- a/packages/dev-env/src/network-no-appview.ts +++ b/packages/dev-env/src/network-no-appview.ts @@ -1,4 +1,4 @@ -import { Handler as SkeletonHandler } from '@atproto/pds/src/lexicon/types/app/bsky/feed/getFeedSkeleton' +import { Handler as SkeletonHandler } from '@atproto/pds/dist/lexicon/types/app/bsky/feed/getFeedSkeleton' import { TestServerParams } from './types' import { TestPlc } from './plc' import { TestPds } from './pds' diff --git a/packages/dev-env/src/pds.ts b/packages/dev-env/src/pds.ts index c52ada4a9e9..f4f6be0ddd7 100644 --- a/packages/dev-env/src/pds.ts +++ b/packages/dev-env/src/pds.ts @@ -4,7 +4,7 @@ import fs from 'node:fs/promises' import getPort from 'get-port' import * as ui8 from 'uint8arrays' import * as pds from '@atproto/pds' -import { createSecretKeyObject } from '@atproto/pds/src/auth-verifier' +import { createSecretKeyObject } from '@atproto/pds/dist/auth-verifier' import { Secp256k1Keypair, randomStr } from '@atproto/crypto' import { AtpAgent } from '@atproto/api' import { PdsConfig } from './types' diff --git a/packages/dev-env/src/seed-client.ts b/packages/dev-env/src/seed-client.ts index 71dfebd53c0..2f0db9c4b93 100644 --- a/packages/dev-env/src/seed-client.ts +++ b/packages/dev-env/src/seed-client.ts @@ -1,12 +1,12 @@ import fs from 'fs/promises' import { CID } from 'multiformats/cid' import AtpAgent from '@atproto/api' -import { Main as Facet } from '@atproto/api/src/client/types/app/bsky/richtext/facet' -import { InputSchema as TakeActionInput } from '@atproto/api/src/client/types/com/atproto/admin/emitModerationEvent' -import { InputSchema as CreateReportInput } from '@atproto/api/src/client/types/com/atproto/moderation/createReport' -import { Record as PostRecord } from '@atproto/api/src/client/types/app/bsky/feed/post' -import { Record as LikeRecord } from '@atproto/api/src/client/types/app/bsky/feed/like' -import { Record as FollowRecord } from '@atproto/api/src/client/types/app/bsky/graph/follow' +import { Main as Facet } from '@atproto/api/dist/client/types/app/bsky/richtext/facet' +import { InputSchema as TakeActionInput } from '@atproto/api/dist/client/types/com/atproto/admin/emitModerationEvent' +import { InputSchema as CreateReportInput } from '@atproto/api/dist/client/types/com/atproto/moderation/createReport' +import { Record as PostRecord } from '@atproto/api/dist/client/types/app/bsky/feed/post' +import { Record as LikeRecord } from '@atproto/api/dist/client/types/app/bsky/feed/like' +import { Record as FollowRecord } from '@atproto/api/dist/client/types/app/bsky/graph/follow' import { AtUri } from '@atproto/syntax' import { BlobRef } from '@atproto/lexicon' import { TestNetworkNoAppView } from './network-no-appview' diff --git a/packages/dev-env/src/types.ts b/packages/dev-env/src/types.ts index 3bbcaf15257..9fe1d2c6330 100644 --- a/packages/dev-env/src/types.ts +++ b/packages/dev-env/src/types.ts @@ -1,6 +1,6 @@ import * as pds from '@atproto/pds' import * as bsky from '@atproto/bsky' -import { ImageInvalidator } from '@atproto/bsky/src/image/invalidator' +import { ImageInvalidator } from '@atproto/bsky/dist/image/invalidator' export type PlcConfig = { port?: number diff --git a/packages/identity/babel.config.js b/packages/identity/babel.config.js deleted file mode 100644 index ee58f35df11..00000000000 --- a/packages/identity/babel.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - presets: [['@babel/preset-env']], -} diff --git a/packages/identity/build.js b/packages/identity/build.js deleted file mode 100644 index 709647b64ff..00000000000 --- a/packages/identity/build.js +++ /dev/null @@ -1,15 +0,0 @@ -const { nodeExternalsPlugin } = require('esbuild-node-externals') - -const buildShallow = - process.argv.includes('--shallow') || process.env.ATP_BUILD_SHALLOW === 'true' - -require('esbuild').build({ - logLevel: 'info', - entryPoints: ['src/index.ts'], - sourcemap: true, - bundle: true, - sourcemap: true, - outdir: 'dist', - platform: 'node', - plugins: buildShallow ? [nodeExternalsPlugin()] : [], -}) diff --git a/packages/identity/jest.config.js b/packages/identity/jest.config.js index 4eb023d6fcc..baf91044784 100644 --- a/packages/identity/jest.config.js +++ b/packages/identity/jest.config.js @@ -1,6 +1,7 @@ -const base = require('../../jest.config.base.js') - +/** @type {import('jest').Config} */ module.exports = { - ...base, displayName: 'Identity', + transform: { '^.+\\.(t|j)s?$': '@swc/jest' }, + setupFiles: ['/jest.setup.ts'], + transformIgnorePatterns: [`/node_modules/(?!get-port)`], } diff --git a/packages/identity/jest.setup.ts b/packages/identity/jest.setup.ts new file mode 100644 index 00000000000..bfddf8df50e --- /dev/null +++ b/packages/identity/jest.setup.ts @@ -0,0 +1,3 @@ +import { config } from 'dotenv' + +config({ path: './test.env' }) diff --git a/packages/identity/package.json b/packages/identity/package.json index 1259ad290a5..9e89036692f 100644 --- a/packages/identity/package.json +++ b/packages/identity/package.json @@ -14,27 +14,24 @@ "url": "https://github.com/bluesky-social/atproto", "directory": "packages/identity" }, - "main": "src/index.ts", - "publishConfig": { - "main": "dist/index.js", - "types": "dist/index.d.ts" - }, + "type": "commonjs", + "main": "dist/index.js", + "types": "dist/index.d.ts", "scripts": { "test": "jest", - "test:log": "cat test.log | pino-pretty", - "build": "node ./build.js", - "postbuild": "tsc --build tsconfig.build.json", - "update-main-to-dist": "node ../../update-main-to-dist.js packages/identity" + "test:log": "cat test.log | pino-pretty" }, "dependencies": { "@atproto/common-web": "workspace:^", "@atproto/crypto": "workspace:^", - "axios": "^0.27.2" + "axios": "^0.27.2", + "tslib": "^2.6.2" }, "devDependencies": { "@did-plc/lib": "^0.0.1", "@did-plc/server": "^0.0.1", "cors": "^2.8.5", + "dotenv": "^16.0.3", "express": "^4.18.2", "get-port": "^6.1.2" } diff --git a/packages/identity/tsconfig.build.json b/packages/identity/tsconfig.build.json index 02a84823b65..01abb2d87a7 100644 --- a/packages/identity/tsconfig.build.json +++ b/packages/identity/tsconfig.build.json @@ -1,4 +1,8 @@ { - "extends": "./tsconfig.json", - "exclude": ["**/*.spec.ts", "**/*.test.ts"] + "extends": "../../tsconfig/base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist", + }, + "include": ["./src"] } diff --git a/packages/identity/tsconfig.json b/packages/identity/tsconfig.json index 9d6fd378666..3a6b5de37bd 100644 --- a/packages/identity/tsconfig.json +++ b/packages/identity/tsconfig.json @@ -1,13 +1,8 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "rootDir": "./src", - "outDir": "./dist", // Your outDir, - "emitDeclarationOnly": true - }, - "include": ["./src", "__tests__/**/**.ts"], + "include": [], "references": [ - { "path": "../common/tsconfig.build.json" }, - { "path": "../crypto/tsconfig.build.json" } + { "path": "./tsconfig.build.json" }, + { "path": "./tsconfig.scripts.json" }, + { "path": "./tsconfig.test.json" } ] } diff --git a/packages/identity/tsconfig.scripts.json b/packages/identity/tsconfig.scripts.json new file mode 100644 index 00000000000..e31ca937eee --- /dev/null +++ b/packages/identity/tsconfig.scripts.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig/scripts.json", + "compilerOptions": { + "rootDir": "." + }, + "include": ["./*.js", "./*.ts"], + "exclude": ["node_modules", "./jest.setup.ts"] +} diff --git a/packages/identity/tsconfig.test.json b/packages/identity/tsconfig.test.json new file mode 100644 index 00000000000..e5e3f40d926 --- /dev/null +++ b/packages/identity/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig/test.json", + "compilerOptions": { + "rootDir": "." + }, + "include": ["./tests", "./jest.setup.ts"] +} diff --git a/packages/lex-cli/babel.config.js b/packages/lex-cli/babel.config.js deleted file mode 100644 index 0126e9dbaa6..00000000000 --- a/packages/lex-cli/babel.config.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('../../babel.config.js') diff --git a/packages/lex-cli/build.js b/packages/lex-cli/build.js index e880ae9930b..4515fc00dbd 100644 --- a/packages/lex-cli/build.js +++ b/packages/lex-cli/build.js @@ -1,8 +1,3 @@ -const { nodeExternalsPlugin } = require('esbuild-node-externals') - -const buildShallow = - process.argv.includes('--shallow') || process.env.ATP_BUILD_SHALLOW === 'true' - require('esbuild').build({ logLevel: 'info', entryPoints: ['src/index.ts'], @@ -10,5 +5,4 @@ require('esbuild').build({ sourcemap: true, outdir: 'dist', platform: 'node', - plugins: buildShallow ? [nodeExternalsPlugin()] : [], }) diff --git a/packages/lex-cli/package.json b/packages/lex-cli/package.json index 19f77cbe0a9..ccc7c2455e7 100644 --- a/packages/lex-cli/package.json +++ b/packages/lex-cli/package.json @@ -13,18 +13,12 @@ "url": "https://github.com/bluesky-social/atproto", "directory": "packages/lex-cli" }, + "type": "commonjs", "bin": { "lex": "dist/index.js" }, - "main": "src/index.ts", - "publishConfig": { - "main": "dist/index.js", - "types": "dist/src/index.d.ts" - }, "scripts": { - "build": "node ./build.js", - "postbuild": "tsc --build tsconfig.build.json", - "update-main-to-dist": "node ../../update-main-to-dist.js packages/lex-cli" + "build": "node ./build.js" }, "dependencies": { "@atproto/lexicon": "workspace:^", @@ -33,6 +27,7 @@ "commander": "^9.4.0", "ts-morph": "^16.0.0", "yesno": "^0.4.0", + "tslib": "^2.6.2", "zod": "^3.21.4" } } diff --git a/packages/lexicon/build.js b/packages/lexicon/build.js deleted file mode 100644 index e880ae9930b..00000000000 --- a/packages/lexicon/build.js +++ /dev/null @@ -1,14 +0,0 @@ -const { nodeExternalsPlugin } = require('esbuild-node-externals') - -const buildShallow = - process.argv.includes('--shallow') || process.env.ATP_BUILD_SHALLOW === 'true' - -require('esbuild').build({ - logLevel: 'info', - entryPoints: ['src/index.ts'], - bundle: true, - sourcemap: true, - outdir: 'dist', - platform: 'node', - plugins: buildShallow ? [nodeExternalsPlugin()] : [], -}) diff --git a/packages/lexicon/jest.config.js b/packages/lexicon/jest.config.js index ecdb2ae4b7c..9633892352c 100644 --- a/packages/lexicon/jest.config.js +++ b/packages/lexicon/jest.config.js @@ -1,6 +1,7 @@ -const base = require('../../jest.config.base.js') - +/** @type {import('jest').Config} */ module.exports = { - ...base, displayName: 'Lexicon', + transform: { + '^.+\\.(t|j)s?$': '@swc/jest', + }, } diff --git a/packages/lexicon/package.json b/packages/lexicon/package.json index 4f0b05d20d8..e618987a1fb 100644 --- a/packages/lexicon/package.json +++ b/packages/lexicon/package.json @@ -13,22 +13,18 @@ "url": "https://github.com/bluesky-social/atproto", "directory": "packages/lexicon" }, - "main": "src/index.ts", - "publishConfig": { - "main": "dist/index.js", - "types": "dist/index.d.ts" - }, + "type": "commonjs", + "main": "dist/index.js", + "types": "dist/index.d.ts", "scripts": { - "test": "jest", - "build": "node ./build.js", - "postbuild": "tsc --build tsconfig.build.json", - "update-main-to-dist": "node ../../update-main-to-dist.js packages/lexicon" + "test": "jest" }, "dependencies": { "@atproto/common-web": "workspace:^", "@atproto/syntax": "workspace:^", "iso-datestring-validator": "^2.2.2", "multiformats": "^9.9.0", + "tslib": "^2.6.2", "zod": "^3.21.4" } } diff --git a/packages/lexicon/tsconfig.build.json b/packages/lexicon/tsconfig.build.json index 02a84823b65..01abb2d87a7 100644 --- a/packages/lexicon/tsconfig.build.json +++ b/packages/lexicon/tsconfig.build.json @@ -1,4 +1,8 @@ { - "extends": "./tsconfig.json", - "exclude": ["**/*.spec.ts", "**/*.test.ts"] + "extends": "../../tsconfig/base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist", + }, + "include": ["./src"] } diff --git a/packages/lexicon/tsconfig.json b/packages/lexicon/tsconfig.json index 5e60cf9920e..3a6b5de37bd 100644 --- a/packages/lexicon/tsconfig.json +++ b/packages/lexicon/tsconfig.json @@ -1,14 +1,8 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "rootDir": "./src", - "outDir": "./dist", // Your outDir, - "emitDeclarationOnly": true - }, - "include": ["./src"], + "include": [], "references": [ - { "path": "../common/tsconfig.build.json" }, - { "path": "../nsid/tsconfig.build.json" }, - { "path": "../uri/tsconfig.build.json" } + { "path": "./tsconfig.build.json" }, + { "path": "./tsconfig.scripts.json" }, + { "path": "./tsconfig.test.json" } ] } diff --git a/packages/lexicon/tsconfig.scripts.json b/packages/lexicon/tsconfig.scripts.json new file mode 100644 index 00000000000..6605443a6be --- /dev/null +++ b/packages/lexicon/tsconfig.scripts.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig/scripts.json", + "compilerOptions": { + "rootDir": "." + }, + "include": ["./*.js", "./*.ts"] +} diff --git a/packages/lexicon/tsconfig.test.json b/packages/lexicon/tsconfig.test.json new file mode 100644 index 00000000000..19317ca8591 --- /dev/null +++ b/packages/lexicon/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig/test.json", + "compilerOptions": { + "rootDir": "." + }, + "include": ["./tests"] +} diff --git a/packages/pds/babel.config.js b/packages/pds/babel.config.js deleted file mode 100644 index ee58f35df11..00000000000 --- a/packages/pds/babel.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - presets: [['@babel/preset-env']], -} diff --git a/packages/pds/bin/migration-create.ts b/packages/pds/bin/migration-create.js similarity index 88% rename from packages/pds/bin/migration-create.ts rename to packages/pds/bin/migration-create.js index b51c536c4f2..5c92164de18 100644 --- a/packages/pds/bin/migration-create.ts +++ b/packages/pds/bin/migration-create.js @@ -1,9 +1,9 @@ -#!/usr/bin/env ts-node +#!/usr/bin/env node -import * as fs from 'fs/promises' -import * as path from 'path' +const fs = require('node:fs/promises') +const path = require('node:path') -export async function main() { +async function main() { const now = new Date() const prefix = now.toISOString().replace(/[^a-z0-9]/gi, '') // Order of migrations matches alphabetical order of their names const name = process.argv[2] diff --git a/packages/pds/build.js b/packages/pds/build.js deleted file mode 100644 index f78cfc153c5..00000000000 --- a/packages/pds/build.js +++ /dev/null @@ -1,27 +0,0 @@ -const { nodeExternalsPlugin } = require('esbuild-node-externals') -const hbsPlugin = require('esbuild-plugin-handlebars') - -const buildShallow = - process.argv.includes('--shallow') || process.env.ATP_BUILD_SHALLOW === 'true' - -require('esbuild').build({ - logLevel: 'info', - entryPoints: ['src/index.ts', 'src/db/index.ts'], - bundle: true, - sourcemap: true, - outdir: 'dist', - platform: 'node', - external: [ - 'better-sqlite3', - // Referenced in pg driver, but optional and we don't use it - 'pg-native', - 'sharp', - ], - plugins: [].concat(buildShallow ? [nodeExternalsPlugin()] : []).concat([ - hbsPlugin({ - filter: /\.(hbs)$/, - additionalHelpers: {}, - precompileOptions: {}, - }), - ]), -}) diff --git a/packages/pds/jest.config.js b/packages/pds/jest.config.js index e98e672e050..5c9b6ff2b50 100644 --- a/packages/pds/jest.config.js +++ b/packages/pds/jest.config.js @@ -1,6 +1,7 @@ -const base = require('../../jest.config.base.js') - +/** @type {import('jest').Config} */ module.exports = { - ...base, displayName: 'PDS', + transform: { '^.+\\.(t|j)s?$': '@swc/jest' }, + setupFiles: ['/jest.setup.ts'], + transformIgnorePatterns: [`/node_modules/(?!get-port)`], } diff --git a/packages/pds/jest.setup.ts b/packages/pds/jest.setup.ts new file mode 100644 index 00000000000..bfddf8df50e --- /dev/null +++ b/packages/pds/jest.setup.ts @@ -0,0 +1,3 @@ +import { config } from 'dotenv' + +config({ path: './test.env' }) diff --git a/packages/pds/package.json b/packages/pds/package.json index d1cb2fee0a0..339e76c6c05 100644 --- a/packages/pds/package.json +++ b/packages/pds/package.json @@ -13,24 +13,21 @@ "url": "https://github.com/bluesky-social/atproto", "directory": "packages/pds" }, - "main": "src/index.ts", - "publishConfig": { - "main": "dist/index.js", - "types": "dist/index.d.ts" - }, + "type": "commonjs", + "main": "dist/index.js", + "types": "dist/index.d.ts", "bin": "dist/bin.js", "scripts": { "codegen": "lex gen-server ./src/lexicon ../../lexicons/com/atproto/*/* ../../lexicons/app/bsky/*/*", - "build": "node ./build.js", - "postbuild": "tsc --build tsconfig.build.json", + "build": "$_ run build:hbs", + "build:hbs": "mkdir -p dist/mailer; handlebars ./src/mailer/templates/*.hbs -f ./dist/mailer/templates.js -c handlebars/runtime", "test": "../dev-infra/with-test-redis-and-db.sh jest", "test:sqlite": "jest", "test:sqlite-only": "jest --testPathIgnorePatterns /tests/proxied/*", "test:log": "tail -50 test.log | pino-pretty", - "update-main-to-dist": "node ../../update-main-to-dist.js packages/pds", "bench": "../dev-infra/with-test-redis-and-db.sh jest --config jest.bench.config.js", "test:updateSnapshot": "jest --updateSnapshot", - "migration:create": "ts-node ./bin/migration-create.ts" + "migration:create": "node ./bin/migration-create.mjs" }, "dependencies": { "@atproto/api": "workspace:^", @@ -68,6 +65,7 @@ "pino": "^8.15.0", "pino-http": "^8.2.1", "sharp": "^0.32.6", + "tslib": "^2.6.2", "typed-emitter": "^2.1.0", "uint8arrays": "3.0.0", "zod": "^3.21.4" @@ -87,6 +85,7 @@ "@types/pg": "^8.6.6", "@types/qs": "^6.9.7", "axios": "^0.27.2", + "dotenv": "^16.0.3", "get-port": "^6.1.2", "ws": "^8.12.0" } diff --git a/packages/pds/src/mailer/index.ts b/packages/pds/src/mailer/index.ts index df539ac03b9..f5465e95caf 100644 --- a/packages/pds/src/mailer/index.ts +++ b/packages/pds/src/mailer/index.ts @@ -5,11 +5,11 @@ import SMTPTransport from 'nodemailer/lib/smtp-transport' import { ServerConfig } from '../config' import { mailerLogger } from '../logger' -import * as templates from './templates' +import { templates } from 'handlebars/runtime' +export type TemplateName = Extract +import './templates.js' export class ServerMailer { - private readonly templates = templates - constructor( public readonly transporter: Transporter, private readonly config: ServerConfig, @@ -26,35 +26,39 @@ export class ServerMailer { params: { identifier: string; token: string }, mailOpts: Mail.Options, ) { - return this.sendTemplate('resetPassword', params, { + return this.sendTemplate('reset-password.hbs', params, { subject: 'Password Reset Requested', ...mailOpts, }) } async sendAccountDelete(params: { token: string }, mailOpts: Mail.Options) { - return this.sendTemplate('deleteAccount', params, { + return this.sendTemplate('delete-account.hbs', params, { subject: 'Account Deletion Requested', ...mailOpts, }) } async sendConfirmEmail(params: { token: string }, mailOpts: Mail.Options) { - return this.sendTemplate('confirmEmail', params, { + return this.sendTemplate('confirm-email.hbs', params, { subject: 'Email Confirmation', ...mailOpts, }) } async sendUpdateEmail(params: { token: string }, mailOpts: Mail.Options) { - return this.sendTemplate('updateEmail', params, { + return this.sendTemplate('update-email.hbs', params, { subject: 'Email Update Requested', ...mailOpts, }) } - private async sendTemplate(templateName, params, mailOpts: Mail.Options) { - const html = this.templates[templateName]({ + private async sendTemplate( + templateName: TemplateName, + params, + mailOpts: Mail.Options, + ) { + const html = templates[templateName]({ ...params, config: ServerMailer.getEmailConfig(this.config), }) diff --git a/packages/pds/src/mailer/templates.d.ts b/packages/pds/src/mailer/templates.d.ts new file mode 100644 index 00000000000..6bd2b6aa9ae --- /dev/null +++ b/packages/pds/src/mailer/templates.d.ts @@ -0,0 +1,8 @@ +declare module "handlebars/runtime" { + interface HandlebarsTemplates { + 'reset-password.hbs': HandlebarsTemplateDelegate; + 'delete-account.hbs': HandlebarsTemplateDelegate; + 'confirm-email.hbs': HandlebarsTemplateDelegate; + 'update-email.hbs': HandlebarsTemplateDelegate; + } +} diff --git a/packages/pds/src/mailer/templates.ts b/packages/pds/src/mailer/templates.ts deleted file mode 100644 index 08c3f3883fb..00000000000 --- a/packages/pds/src/mailer/templates.ts +++ /dev/null @@ -1,7 +0,0 @@ -// eslint-disable-next-line @typescript-eslint/triple-slash-reference -/// - -export { default as resetPassword } from './templates/reset-password.hbs' -export { default as deleteAccount } from './templates/delete-account.hbs' -export { default as confirmEmail } from './templates/confirm-email.hbs' -export { default as updateEmail } from './templates/update-email.hbs' diff --git a/packages/pds/src/types.d.ts b/packages/pds/src/types.d.ts deleted file mode 100644 index e5ad25b72c7..00000000000 --- a/packages/pds/src/types.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -declare module "*.hbs" { - import { TemplateDelegate } from "handlebars"; - const template: TemplateDelegate; - export default template; -} diff --git a/packages/pds/tests/auth.test.ts b/packages/pds/tests/auth.test.ts index d8d29942ccd..5682c4dbdfe 100644 --- a/packages/pds/tests/auth.test.ts +++ b/packages/pds/tests/auth.test.ts @@ -1,8 +1,8 @@ import * as jose from 'jose' import AtpAgent from '@atproto/api' import { TestNetworkNoAppView, SeedClient } from '@atproto/dev-env' -import * as CreateSession from '@atproto/api/src/client/types/com/atproto/server/createSession' -import * as RefreshSession from '@atproto/api/src/client/types/com/atproto/server/refreshSession' +import * as CreateSession from '@atproto/api/dist/client/types/com/atproto/server/createSession' +import * as RefreshSession from '@atproto/api/dist/client/types/com/atproto/server/refreshSession' import { createRefreshToken } from '../src/account-manager/helpers/auth' describe('auth', () => { diff --git a/packages/pds/tests/crud.test.ts b/packages/pds/tests/crud.test.ts index 19470e38394..1b1077a02d5 100644 --- a/packages/pds/tests/crud.test.ts +++ b/packages/pds/tests/crud.test.ts @@ -3,10 +3,10 @@ import { AtUri } from '@atproto/syntax' import AtpAgent from '@atproto/api' import { BlobRef } from '@atproto/lexicon' import { TestNetworkNoAppView } from '@atproto/dev-env' -import * as createRecord from '@atproto/api/src/client/types/com/atproto/repo/createRecord' -import * as putRecord from '@atproto/api/src/client/types/com/atproto/repo/putRecord' -import * as deleteRecord from '@atproto/api/src/client/types/com/atproto/repo/deleteRecord' -import * as applyWrites from '@atproto/api/src/client/types/com/atproto/repo/applyWrites' +import * as createRecord from '@atproto/api/dist/client/types/com/atproto/repo/createRecord' +import * as putRecord from '@atproto/api/dist/client/types/com/atproto/repo/putRecord' +import * as deleteRecord from '@atproto/api/dist/client/types/com/atproto/repo/deleteRecord' +import * as applyWrites from '@atproto/api/dist/client/types/com/atproto/repo/applyWrites' import { cidForCbor, TID, ui8ToArrayBuffer } from '@atproto/common' import { BlobNotFoundError } from '@atproto/repo' import { defaultFetchHandler } from '@atproto/xrpc' diff --git a/packages/pds/tests/proxied/admin.test.ts b/packages/pds/tests/proxied/admin.test.ts index fd8538e802a..3fa9873a695 100644 --- a/packages/pds/tests/proxied/admin.test.ts +++ b/packages/pds/tests/proxied/admin.test.ts @@ -4,9 +4,9 @@ import basicSeed from '../seeds/basic' import { REASONOTHER, REASONSPAM, -} from '@atproto/api/src/client/types/com/atproto/moderation/defs' +} from '@atproto/api/dist/client/types/com/atproto/moderation/defs' import { forSnapshot } from '../_util' -import { NotFoundError } from '@atproto/api/src/client/types/app/bsky/feed/getPostThread' +import { NotFoundError } from '@atproto/api/dist/client/types/app/bsky/feed/getPostThread' describe('proxies admin requests', () => { let network: TestNetwork diff --git a/packages/pds/tsconfig.build.json b/packages/pds/tsconfig.build.json index 02a84823b65..01abb2d87a7 100644 --- a/packages/pds/tsconfig.build.json +++ b/packages/pds/tsconfig.build.json @@ -1,4 +1,8 @@ { - "extends": "./tsconfig.json", - "exclude": ["**/*.spec.ts", "**/*.test.ts"] + "extends": "../../tsconfig/base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist", + }, + "include": ["./src"] } diff --git a/packages/pds/tsconfig.json b/packages/pds/tsconfig.json index daf8ee1a04a..3a6b5de37bd 100644 --- a/packages/pds/tsconfig.json +++ b/packages/pds/tsconfig.json @@ -1,23 +1,8 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "rootDir": "./src", - "outDir": "./dist", // Your outDir, - "emitDeclarationOnly": true - }, - "module": "nodenext", - "include": ["./src", "__tests__/**/**.ts"], + "include": [], "references": [ - { "path": "../api/tsconfig.build.json" }, - { "path": "../aws/tsconfig.build.json" }, - { "path": "../common/tsconfig.build.json" }, - { "path": "../crypto/tsconfig.build.json" }, - { "path": "../identity/tsconfig.build.json" }, - { "path": "../identifier/tsconfig.build.json" }, - { "path": "../lexicon/tsconfig.build.json" }, - { "path": "../lex-cli/tsconfig.build.json" }, - { "path": "../repo/tsconfig.build.json" }, - { "path": "../uri/tsconfig.build.json" }, - { "path": "../xrpc-server/tsconfig.build.json" } + { "path": "./tsconfig.build.json" }, + { "path": "./tsconfig.scripts.json" }, + { "path": "./tsconfig.test.json" } ] } diff --git a/packages/pds/tsconfig.scripts.json b/packages/pds/tsconfig.scripts.json new file mode 100644 index 00000000000..e31ca937eee --- /dev/null +++ b/packages/pds/tsconfig.scripts.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig/scripts.json", + "compilerOptions": { + "rootDir": "." + }, + "include": ["./*.js", "./*.ts"], + "exclude": ["node_modules", "./jest.setup.ts"] +} diff --git a/packages/pds/tsconfig.test.json b/packages/pds/tsconfig.test.json new file mode 100644 index 00000000000..e5e3f40d926 --- /dev/null +++ b/packages/pds/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig/test.json", + "compilerOptions": { + "rootDir": "." + }, + "include": ["./tests", "./jest.setup.ts"] +} diff --git a/packages/repo/babel.config.js b/packages/repo/babel.config.js deleted file mode 100644 index 0126e9dbaa6..00000000000 --- a/packages/repo/babel.config.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('../../babel.config.js') diff --git a/packages/repo/bench/mst.bench.ts b/packages/repo/bench/mst.bench.ts index d0e4704eef3..5d8cbc38356 100644 --- a/packages/repo/bench/mst.bench.ts +++ b/packages/repo/bench/mst.bench.ts @@ -1,5 +1,5 @@ import { CID } from 'multiformats' -import { Fanout, MemoryBlockstore, MST, NodeEntry } from '../src' +import { MemoryBlockstore, MST, NodeEntry } from '../src' import * as util from '../tests/_util' import fs from 'fs' @@ -29,12 +29,13 @@ describe('MST Benchmarks', () => { }) // const fanouts: Fanout[] = [8, 16, 32] - const fanouts: Fanout[] = [16, 32] + const fanouts = [16, 32] it('benchmarks various fanouts', async () => { const benches: BenchmarkData[] = [] + // FIXME: fanout is not actually used here for (const fanout of fanouts) { const blockstore = new MemoryBlockstore() - let mst = await MST.create(blockstore, [], { fanout }) + let mst = await MST.create(blockstore, []) const start = Date.now() @@ -48,7 +49,7 @@ describe('MST Benchmarks', () => { const doneSaving = Date.now() - const reloaded = await MST.load(blockstore, root, { fanout }) + const reloaded = await MST.load(blockstore, root) const widthTracker = new NodeWidths() for await (const entry of reloaded.walk()) { await widthTracker.trackEntry(entry) diff --git a/packages/repo/bench/repo.bench.ts b/packages/repo/bench/repo.bench.ts index a149337b95d..8d216c84001 100644 --- a/packages/repo/bench/repo.bench.ts +++ b/packages/repo/bench/repo.bench.ts @@ -39,6 +39,7 @@ describe('Repo Benchmarks', () => { createdAt: new Date().toISOString(), }, }, + // @ts-ignore: this test is broken keypair, ) } diff --git a/packages/repo/build.js b/packages/repo/build.js deleted file mode 100644 index e880ae9930b..00000000000 --- a/packages/repo/build.js +++ /dev/null @@ -1,14 +0,0 @@ -const { nodeExternalsPlugin } = require('esbuild-node-externals') - -const buildShallow = - process.argv.includes('--shallow') || process.env.ATP_BUILD_SHALLOW === 'true' - -require('esbuild').build({ - logLevel: 'info', - entryPoints: ['src/index.ts'], - bundle: true, - sourcemap: true, - outdir: 'dist', - platform: 'node', - plugins: buildShallow ? [nodeExternalsPlugin()] : [], -}) diff --git a/packages/repo/jest.config.js b/packages/repo/jest.config.js index 57136979d86..f97a3ca3fe0 100644 --- a/packages/repo/jest.config.js +++ b/packages/repo/jest.config.js @@ -1,6 +1,7 @@ -const base = require('../../jest.config.base.js') - +/** @type {import('jest').Config} */ module.exports = { - ...base, displayName: 'Repo', + transform: { + '^.+\\.(t|j)s?$': '@swc/jest', + }, } diff --git a/packages/repo/mst-benchmarks b/packages/repo/mst-benchmarks new file mode 100644 index 00000000000..d78fe2bc9e5 --- /dev/null +++ b/packages/repo/mst-benchmarks @@ -0,0 +1,44 @@ +Fanout: 16 +---------------------- +Time to add 5000 leaves: 0.155s +Time to save tree with 5000 leaves: 0.449s +Time to reconstruct & walk 5000 leaves: 0.245s +Tree depth: 5 +Max Node Width (only counting leaves): 25 +The total blockstore size is: 385289 bytes +Largest proof size: 4520 bytes +Average proof size: 2652 bytes +Nodes with >= 0 leaves: 1332 +Nodes with >= 16 leaves: 18 +Nodes with >= 32 leaves: 0 +Nodes with >= 48 leaves: 0 +Nodes with >= 64 leaves: 0 +Nodes with >= 96 leaves: 0 +Nodes with >= 128 leaves: 0 +Nodes with >= 160 leaves: 0 +Nodes with >= 192 leaves: 0 +Nodes with >= 224 leaves: 0 +Nodes with >= 256 leaves: 0 + +Fanout: 32 +---------------------- +Time to add 5000 leaves: 0.129s +Time to save tree with 5000 leaves: 0.405s +Time to reconstruct & walk 5000 leaves: 0.221s +Tree depth: 5 +Max Node Width (only counting leaves): 25 +The total blockstore size is: 385289 bytes +Largest proof size: 4520 bytes +Average proof size: 2652 bytes +Nodes with >= 0 leaves: 1332 +Nodes with >= 16 leaves: 18 +Nodes with >= 32 leaves: 0 +Nodes with >= 48 leaves: 0 +Nodes with >= 64 leaves: 0 +Nodes with >= 96 leaves: 0 +Nodes with >= 128 leaves: 0 +Nodes with >= 160 leaves: 0 +Nodes with >= 192 leaves: 0 +Nodes with >= 224 leaves: 0 +Nodes with >= 256 leaves: 0 + diff --git a/packages/repo/package.json b/packages/repo/package.json index b6a3b87607e..88bdb8ab8ae 100644 --- a/packages/repo/package.json +++ b/packages/repo/package.json @@ -13,19 +13,15 @@ "url": "https://github.com/bluesky-social/atproto", "directory": "packages/repo" }, - "main": "src/index.ts", - "publishConfig": { - "main": "dist/index.js", - "types": "dist/index.d.ts" - }, + "type": "commonjs", + "main": "dist/index.js", + "types": "dist/index.d.ts", "scripts": { "test": "jest", "test:profile": "node --inspect ../../node_modules/.bin/jest", "bench": "jest --config jest.bench.config.js", "bench:profile": "node --inspect-brk ../../node_modules/.bin/jest --config jest.bench.config.js", - "build": "node ./build.js", - "postbuild": "tsc --build tsconfig.build.json", - "update-main-to-dist": "node ../../update-main-to-dist.js packages/repo" + "build": "node ./build.js" }, "dependencies": { "@atproto/common": "workspace:^", @@ -37,6 +33,7 @@ "@ipld/car": "^3.2.3", "@ipld/dag-cbor": "^7.0.0", "multiformats": "^9.9.0", + "tslib": "^2.6.2", "uint8arrays": "3.0.0", "zod": "^3.21.4" } diff --git a/packages/repo/tests/_util.ts b/packages/repo/tests/_util.ts index 9942cff7568..2e18d82aae7 100644 --- a/packages/repo/tests/_util.ts +++ b/packages/repo/tests/_util.ts @@ -24,7 +24,7 @@ type IdMapping = Record export const randomCid = async (storage?: RepoStorage): Promise => { const block = await dataToCborBlock({ test: randomStr(50) }) if (storage) { - await storage.putBlock(block.cid, block.bytes) + await storage.putBlock(block.cid, block.bytes, 'rev') } return block.cid } @@ -189,7 +189,7 @@ export const pathsForOps = (ops: RecordWriteOp[]): RecordPath[] => export const saveMst = async (storage: RepoStorage, mst: MST): Promise => { const diff = await mst.getUnstoredBlocks() - await storage.putMany(diff.blocks) + await storage.putMany(diff.blocks, 'rev') return diff.root } @@ -221,6 +221,7 @@ export const addBadCommit = async ( prev: repo.cid, newBlocks, removedCids: diff.removedCids, + since: '', }) return await Repo.load(repo.storage, commitCid) } diff --git a/packages/repo/tsconfig.build.json b/packages/repo/tsconfig.build.json index 02a84823b65..01abb2d87a7 100644 --- a/packages/repo/tsconfig.build.json +++ b/packages/repo/tsconfig.build.json @@ -1,4 +1,8 @@ { - "extends": "./tsconfig.json", - "exclude": ["**/*.spec.ts", "**/*.test.ts"] + "extends": "../../tsconfig/base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist", + }, + "include": ["./src"] } diff --git a/packages/repo/tsconfig.json b/packages/repo/tsconfig.json index 07c54d2c4d7..3a6b5de37bd 100644 --- a/packages/repo/tsconfig.json +++ b/packages/repo/tsconfig.json @@ -1,15 +1,8 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "rootDir": "./src", - "outDir": "./dist", // Your outDir, - "emitDeclarationOnly": true - }, - "include": ["./src", "__tests__/**/**.ts"], + "include": [], "references": [ - { "path": "../common/tsconfig.build.json" }, - { "path": "../crypto/tsconfig.build.json" }, - { "path": "../identity/tsconfig.build.json" }, - { "path": "../nsid/tsconfig.build.json" } + { "path": "./tsconfig.build.json" }, + { "path": "./tsconfig.scripts.json" }, + { "path": "./tsconfig.test.json" } ] } diff --git a/packages/repo/tsconfig.scripts.json b/packages/repo/tsconfig.scripts.json new file mode 100644 index 00000000000..6605443a6be --- /dev/null +++ b/packages/repo/tsconfig.scripts.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig/scripts.json", + "compilerOptions": { + "rootDir": "." + }, + "include": ["./*.js", "./*.ts"] +} diff --git a/packages/repo/tsconfig.test.json b/packages/repo/tsconfig.test.json new file mode 100644 index 00000000000..0a1a421900a --- /dev/null +++ b/packages/repo/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig/test.json", + "compilerOptions": { + "rootDir": "." + }, + "include": ["./bench", "./tests"] +} diff --git a/packages/syntax/babel.config.js b/packages/syntax/babel.config.js deleted file mode 100644 index 0126e9dbaa6..00000000000 --- a/packages/syntax/babel.config.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('../../babel.config.js') diff --git a/packages/syntax/build.js b/packages/syntax/build.js deleted file mode 100644 index 5628aa4f4eb..00000000000 --- a/packages/syntax/build.js +++ /dev/null @@ -1,22 +0,0 @@ -const pkgJson = require('@npmcli/package-json') -const { nodeExternalsPlugin } = require('esbuild-node-externals') - -const buildShallow = - process.argv.includes('--shallow') || process.env.ATP_BUILD_SHALLOW === 'true' - -if (process.argv.includes('--update-main-to-dist')) { - return pkgJson - .load(__dirname) - .then((pkg) => pkg.update({ main: 'dist/index.js' })) - .then((pkg) => pkg.save()) -} - -require('esbuild').build({ - logLevel: 'info', - entryPoints: ['src/index.ts'], - bundle: true, - sourcemap: true, - outdir: 'dist', - platform: 'node', - plugins: buildShallow ? [nodeExternalsPlugin()] : [], -}) diff --git a/packages/syntax/jest.config.js b/packages/syntax/jest.config.js index 08a81143eda..bf0c3686bb1 100644 --- a/packages/syntax/jest.config.js +++ b/packages/syntax/jest.config.js @@ -1,6 +1,7 @@ -const base = require('../../jest.config.base.js') - +/** @type {import('jest').Config} */ module.exports = { - ...base, displayName: 'Syntax', + transform: { + '^.+\\.(t|j)s?$': '@swc/jest', + }, } diff --git a/packages/syntax/package.json b/packages/syntax/package.json index d6f0ea11fd6..507a8711a36 100644 --- a/packages/syntax/package.json +++ b/packages/syntax/package.json @@ -15,19 +15,14 @@ "url": "https://github.com/bluesky-social/atproto", "directory": "packages/syntax" }, - "main": "src/index.ts", - "publishConfig": { - "main": "dist/index.js", - "types": "dist/index.d.ts" - }, + "type": "commonjs", + "main": "dist/index.js", + "types": "dist/index.d.ts", "scripts": { - "test": "jest", - "build": "node ./build.js", - "postbuild": "tsc --build tsconfig.build.json", - "update-main-to-dist": "node ../../update-main-to-dist.js packages/syntax" + "test": "jest" }, "dependencies": { - "@atproto/common-web": "workspace:^" + "tslib": "^2.6.2" }, "browser": { "dns/promises": false diff --git a/packages/syntax/tsconfig.build.json b/packages/syntax/tsconfig.build.json index 02a84823b65..01abb2d87a7 100644 --- a/packages/syntax/tsconfig.build.json +++ b/packages/syntax/tsconfig.build.json @@ -1,4 +1,8 @@ { - "extends": "./tsconfig.json", - "exclude": ["**/*.spec.ts", "**/*.test.ts"] + "extends": "../../tsconfig/base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist", + }, + "include": ["./src"] } diff --git a/packages/syntax/tsconfig.json b/packages/syntax/tsconfig.json index db7a7c4ad35..3a6b5de37bd 100644 --- a/packages/syntax/tsconfig.json +++ b/packages/syntax/tsconfig.json @@ -1,10 +1,8 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "rootDir": "./src", - "outDir": "./dist", // Your outDir, - "emitDeclarationOnly": true - }, - "include": ["./src", "__tests__/**/**.ts"], - "references": [{ "path": "../common/tsconfig.build.json" }] + "include": [], + "references": [ + { "path": "./tsconfig.build.json" }, + { "path": "./tsconfig.scripts.json" }, + { "path": "./tsconfig.test.json" } + ] } diff --git a/packages/syntax/tsconfig.scripts.json b/packages/syntax/tsconfig.scripts.json new file mode 100644 index 00000000000..6605443a6be --- /dev/null +++ b/packages/syntax/tsconfig.scripts.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig/scripts.json", + "compilerOptions": { + "rootDir": "." + }, + "include": ["./*.js", "./*.ts"] +} diff --git a/packages/syntax/tsconfig.test.json b/packages/syntax/tsconfig.test.json new file mode 100644 index 00000000000..19317ca8591 --- /dev/null +++ b/packages/syntax/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig/test.json", + "compilerOptions": { + "rootDir": "." + }, + "include": ["./tests"] +} diff --git a/packages/xrpc-server/babel.config.js b/packages/xrpc-server/babel.config.js deleted file mode 100644 index 0126e9dbaa6..00000000000 --- a/packages/xrpc-server/babel.config.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('../../babel.config.js') diff --git a/packages/xrpc-server/build.js b/packages/xrpc-server/build.js deleted file mode 100644 index e880ae9930b..00000000000 --- a/packages/xrpc-server/build.js +++ /dev/null @@ -1,14 +0,0 @@ -const { nodeExternalsPlugin } = require('esbuild-node-externals') - -const buildShallow = - process.argv.includes('--shallow') || process.env.ATP_BUILD_SHALLOW === 'true' - -require('esbuild').build({ - logLevel: 'info', - entryPoints: ['src/index.ts'], - bundle: true, - sourcemap: true, - outdir: 'dist', - platform: 'node', - plugins: buildShallow ? [nodeExternalsPlugin()] : [], -}) diff --git a/packages/xrpc-server/jest.config.js b/packages/xrpc-server/jest.config.js index 81ec7cce52f..70375dd9b60 100644 --- a/packages/xrpc-server/jest.config.js +++ b/packages/xrpc-server/jest.config.js @@ -1,6 +1,6 @@ -const base = require('../../jest.config.base.js') - +/** @type {import('jest').Config} */ module.exports = { - ...base, displayName: 'XRPC Server', + transform: { '^.+\\.(t|j)s?$': '@swc/jest' }, + transformIgnorePatterns: [`/node_modules/(?!get-port)`], } diff --git a/packages/xrpc-server/package.json b/packages/xrpc-server/package.json index b68ecb03ea4..d8c18368baf 100644 --- a/packages/xrpc-server/package.json +++ b/packages/xrpc-server/package.json @@ -13,16 +13,11 @@ "url": "https://github.com/bluesky-social/atproto", "directory": "packages/xrpc-server" }, - "main": "src/index.ts", - "publishConfig": { - "main": "dist/index.js", - "types": "dist/index.d.ts" - }, + "type": "commonjs", + "main": "dist/index.js", + "types": "dist/index.d.ts", "scripts": { - "test": "jest", - "build": "node ./build.js", - "postbuild": "tsc --build tsconfig.build.json", - "update-main-to-dist": "node ../../update-main-to-dist.js packages/xrpc-server" + "test": "jest" }, "dependencies": { "@atproto/common": "workspace:^", @@ -33,6 +28,7 @@ "http-errors": "^2.0.0", "mime-types": "^2.1.35", "rate-limiter-flexible": "^2.4.1", + "tslib": "^2.6.2", "uint8arrays": "3.0.0", "ws": "^8.12.0", "zod": "^3.21.4" diff --git a/packages/xrpc-server/src/server.ts b/packages/xrpc-server/src/server.ts index 9a666488c1c..3d6cd04ac85 100644 --- a/packages/xrpc-server/src/server.ts +++ b/packages/xrpc-server/src/server.ts @@ -51,8 +51,8 @@ export function createServer(lexicons?: LexiconDoc[], options?: Options) { } export class Server { - router = express() - routes = express.Router() + router: express.Express = express() + routes: express.Router = express.Router() subscriptions = new Map() lex = new Lexicons() options: Options diff --git a/packages/xrpc-server/tests/errors.test.ts b/packages/xrpc-server/tests/errors.test.ts index c7781e71907..05da883a771 100644 --- a/packages/xrpc-server/tests/errors.test.ts +++ b/packages/xrpc-server/tests/errors.test.ts @@ -75,7 +75,7 @@ const LEXICONS: LexiconDoc[] = [ }, ] -const MISMATCHED_LEXICONS = [ +const MISMATCHED_LEXICONS: LexiconDoc[] = [ { lexicon: 1, id: 'io.example.query', diff --git a/packages/xrpc-server/tsconfig.build.json b/packages/xrpc-server/tsconfig.build.json index 02a84823b65..01abb2d87a7 100644 --- a/packages/xrpc-server/tsconfig.build.json +++ b/packages/xrpc-server/tsconfig.build.json @@ -1,4 +1,8 @@ { - "extends": "./tsconfig.json", - "exclude": ["**/*.spec.ts", "**/*.test.ts"] + "extends": "../../tsconfig/base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist", + }, + "include": ["./src"] } diff --git a/packages/xrpc-server/tsconfig.json b/packages/xrpc-server/tsconfig.json index 6a9622be37f..3a6b5de37bd 100644 --- a/packages/xrpc-server/tsconfig.json +++ b/packages/xrpc-server/tsconfig.json @@ -1,15 +1,8 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "rootDir": "./src", - "outDir": "./dist", // Your outDir, - "emitDeclarationOnly": true - }, - "include": ["./src", "__tests__/**/**.ts"], + "include": [], "references": [ - { "path": "../common/tsconfig.build.json" }, - { "path": "../crypto/tsconfig.build.json" }, - { "path": "../lexicon/tsconfig.build.json" }, - { "path": "../xrpc/tsconfig.build.json" } + { "path": "./tsconfig.build.json" }, + { "path": "./tsconfig.scripts.json" }, + { "path": "./tsconfig.test.json" } ] } diff --git a/packages/xrpc-server/tsconfig.scripts.json b/packages/xrpc-server/tsconfig.scripts.json new file mode 100644 index 00000000000..6605443a6be --- /dev/null +++ b/packages/xrpc-server/tsconfig.scripts.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig/scripts.json", + "compilerOptions": { + "rootDir": "." + }, + "include": ["./*.js", "./*.ts"] +} diff --git a/packages/xrpc-server/tsconfig.test.json b/packages/xrpc-server/tsconfig.test.json new file mode 100644 index 00000000000..19317ca8591 --- /dev/null +++ b/packages/xrpc-server/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig/test.json", + "compilerOptions": { + "rootDir": "." + }, + "include": ["./tests"] +} diff --git a/packages/xrpc/babel.config.js b/packages/xrpc/babel.config.js deleted file mode 100644 index 0126e9dbaa6..00000000000 --- a/packages/xrpc/babel.config.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('../../babel.config.js') diff --git a/packages/xrpc/build.js b/packages/xrpc/build.js deleted file mode 100644 index e880ae9930b..00000000000 --- a/packages/xrpc/build.js +++ /dev/null @@ -1,14 +0,0 @@ -const { nodeExternalsPlugin } = require('esbuild-node-externals') - -const buildShallow = - process.argv.includes('--shallow') || process.env.ATP_BUILD_SHALLOW === 'true' - -require('esbuild').build({ - logLevel: 'info', - entryPoints: ['src/index.ts'], - bundle: true, - sourcemap: true, - outdir: 'dist', - platform: 'node', - plugins: buildShallow ? [nodeExternalsPlugin()] : [], -}) diff --git a/packages/xrpc/package.json b/packages/xrpc/package.json index e2accc2750d..749dbb20e29 100644 --- a/packages/xrpc/package.json +++ b/packages/xrpc/package.json @@ -13,18 +13,14 @@ "url": "https://github.com/bluesky-social/atproto", "directory": "packages/xrpc" }, - "main": "src/index.ts", - "publishConfig": { - "main": "dist/index.js", - "types": "dist/index.d.ts" - }, + "type": "commonjs", + "main": "dist/index.js", + "types": "dist/index.d.ts", "scripts": { - "build": "node ./build.js", - "postbuild": "tsc --build tsconfig.build.json", - "update-main-to-dist": "node ../../update-main-to-dist.js packages/xrpc" }, "dependencies": { "@atproto/lexicon": "workspace:^", + "tslib": "^2.6.2", "zod": "^3.21.4" } } diff --git a/packages/xrpc/tsconfig.build.json b/packages/xrpc/tsconfig.build.json index 02a84823b65..01abb2d87a7 100644 --- a/packages/xrpc/tsconfig.build.json +++ b/packages/xrpc/tsconfig.build.json @@ -1,4 +1,8 @@ { - "extends": "./tsconfig.json", - "exclude": ["**/*.spec.ts", "**/*.test.ts"] + "extends": "../../tsconfig/base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist", + }, + "include": ["./src"] } diff --git a/packages/xrpc/tsconfig.json b/packages/xrpc/tsconfig.json index 72f1ae0e0f3..e84b8178b47 100644 --- a/packages/xrpc/tsconfig.json +++ b/packages/xrpc/tsconfig.json @@ -1,13 +1,4 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "rootDir": "./src", - "outDir": "./dist", // Your outDir, - "emitDeclarationOnly": true - }, - "include": ["./src", "__tests__/**/**.ts"], - "references": [ - { "path": "../common/tsconfig.build.json" }, - { "path": "../lexicon/tsconfig.build.json" } - ] + "include": [], + "references": [{ "path": "./tsconfig.build.json" }] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2c8be3e70e8..a139b37f8ae 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,21 +8,12 @@ importers: .: devDependencies: - '@babel/core': - specifier: ^7.18.6 - version: 7.18.6 - '@babel/preset-env': - specifier: ^7.18.6 - version: 7.18.6(@babel/core@7.18.6) '@changesets/changelog-github': specifier: ^0.4.8 version: 0.4.8 '@changesets/cli': specifier: ^2.26.2 version: 2.26.2 - '@npmcli/package-json': - specifier: ^3.0.0 - version: 3.0.0 '@swc/core': specifier: ^1.3.42 version: 1.3.42 @@ -37,22 +28,16 @@ importers: version: 18.0.0 '@typescript-eslint/eslint-plugin': specifier: ^5.38.1 - version: 5.38.1(@typescript-eslint/parser@5.38.1)(eslint@8.24.0)(typescript@4.8.4) + version: 5.38.1(@typescript-eslint/parser@5.38.1)(eslint@8.24.0)(typescript@5.3.3) '@typescript-eslint/parser': specifier: ^5.38.1 - version: 5.38.1(eslint@8.24.0)(typescript@4.8.4) + version: 5.38.1(eslint@8.24.0)(typescript@5.3.3) babel-eslint: specifier: ^10.1.0 version: 10.1.0(eslint@8.24.0) - dotenv: - specifier: ^16.0.3 - version: 16.0.3 esbuild: specifier: ^0.14.48 version: 0.14.48 - esbuild-node-externals: - specifier: ^1.5.0 - version: 1.5.0(esbuild@0.14.48) esbuild-plugin-handlebars: specifier: ^1.0.2 version: 1.0.2 @@ -69,11 +54,14 @@ importers: specifier: ^1.0.0 version: 1.0.0 jest: - specifier: ^28.1.2 - version: 28.1.2(@types/node@18.0.0)(ts-node@10.8.2) + specifier: ^29.7.0 + version: 29.7.0(@types/node@18.0.0) node-gyp: specifier: ^9.3.1 version: 9.3.1 + npm-run-all: + specifier: ^4.1.5 + version: 4.1.5 pino-pretty: specifier: ^9.1.0 version: 9.1.0 @@ -83,12 +71,9 @@ importers: prettier-config-standard: specifier: ^5.0.0 version: 5.0.0(prettier@2.7.1) - ts-node: - specifier: ^10.8.2 - version: 10.8.2(@swc/core@1.3.42)(@types/node@18.0.0)(typescript@4.8.4) typescript: - specifier: ^4.8.4 - version: 4.8.4 + specifier: ^5.3.2 + version: 5.3.3 packages/api: dependencies: @@ -110,6 +95,9 @@ importers: tlds: specifier: ^1.234.0 version: 1.234.0 + tslib: + specifier: ^2.6.2 + version: 2.6.2 typed-emitter: specifier: ^2.1.0 version: 2.1.0 @@ -159,6 +147,9 @@ importers: multiformats: specifier: ^9.9.0 version: 9.9.0 + tslib: + specifier: ^2.6.2 + version: 2.6.2 uint8arrays: specifier: 3.0.0 version: 3.0.0 @@ -240,6 +231,9 @@ importers: sharp: specifier: ^0.32.6 version: 0.32.6 + tslib: + specifier: ^2.6.2 + version: 2.6.2 typed-emitter: specifier: ^2.1.0 version: 2.1.0 @@ -280,6 +274,9 @@ importers: axios: specifier: ^0.27.2 version: 0.27.2 + dotenv: + specifier: ^16.0.3 + version: 16.0.3 packages/common: dependencies: @@ -301,9 +298,13 @@ importers: pino: specifier: ^8.15.0 version: 8.15.0 - zod: - specifier: 3.21.4 - version: 3.21.4 + tslib: + specifier: ^2.6.2 + version: 2.6.2 + devDependencies: + uint8arrays: + specifier: 3.0.0 + version: 3.0.0 packages/common-web: dependencies: @@ -313,6 +314,9 @@ importers: multiformats: specifier: ^9.9.0 version: 9.9.0 + tslib: + specifier: ^2.6.2 + version: 2.6.2 uint8arrays: specifier: 3.0.0 version: 3.0.0 @@ -328,6 +332,9 @@ importers: '@noble/hashes': specifier: ^1.3.1 version: 1.3.1 + tslib: + specifier: ^2.6.2 + version: 2.6.2 uint8arrays: specifier: 3.0.0 version: 3.0.0 @@ -395,13 +402,12 @@ importers: sharp: specifier: ^0.32.6 version: 0.32.6 + tslib: + specifier: ^2.6.2 + version: 2.6.2 uint8arrays: specifier: 3.0.0 version: 3.0.0 - devDependencies: - ts-node: - specifier: ^10.8.1 - version: 10.8.2(@swc/core@1.3.42)(@types/node@18.17.8)(typescript@4.9.5) packages/identity: dependencies: @@ -414,6 +420,9 @@ importers: axios: specifier: ^0.27.2 version: 0.27.2 + tslib: + specifier: ^2.6.2 + version: 2.6.2 devDependencies: '@did-plc/lib': specifier: ^0.0.1 @@ -424,6 +433,9 @@ importers: cors: specifier: ^2.8.5 version: 2.8.5 + dotenv: + specifier: ^16.0.3 + version: 16.0.3 express: specifier: ^4.18.2 version: 4.18.2 @@ -448,6 +460,9 @@ importers: ts-morph: specifier: ^16.0.0 version: 16.0.0 + tslib: + specifier: ^2.6.2 + version: 2.6.2 yesno: specifier: ^0.4.0 version: 0.4.0 @@ -469,6 +484,9 @@ importers: multiformats: specifier: ^9.9.0 version: 9.9.0 + tslib: + specifier: ^2.6.2 + version: 2.6.2 zod: specifier: ^3.21.4 version: 3.21.4 @@ -580,6 +598,9 @@ importers: sharp: specifier: ^0.32.6 version: 0.32.6 + tslib: + specifier: ^2.6.2 + version: 2.6.2 typed-emitter: specifier: ^2.1.0 version: 2.1.0 @@ -629,6 +650,9 @@ importers: axios: specifier: ^0.27.2 version: 0.27.2 + dotenv: + specifier: ^16.0.3 + version: 16.0.3 get-port: specifier: ^6.1.2 version: 6.1.2 @@ -665,6 +689,9 @@ importers: multiformats: specifier: ^9.9.0 version: 9.9.0 + tslib: + specifier: ^2.6.2 + version: 2.6.2 uint8arrays: specifier: 3.0.0 version: 3.0.0 @@ -674,15 +701,18 @@ importers: packages/syntax: dependencies: - '@atproto/common-web': - specifier: workspace:^ - version: link:../common-web + tslib: + specifier: ^2.6.2 + version: 2.6.2 packages/xrpc: dependencies: '@atproto/lexicon': specifier: workspace:^ version: link:../lexicon + tslib: + specifier: ^2.6.2 + version: 2.6.2 zod: specifier: ^3.21.4 version: 3.21.4 @@ -713,6 +743,9 @@ importers: rate-limiter-flexible: specifier: ^2.4.1 version: 2.4.1 + tslib: + specifier: ^2.6.2 + version: 2.6.2 uint8arrays: specifier: 3.0.0 version: 3.0.0 @@ -3192,6 +3225,14 @@ packages: chalk: 2.4.2 dev: true + /@babel/code-frame@7.23.5: + resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.23.4 + chalk: 2.4.2 + dev: true + /@babel/compat-data@7.22.9: resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} engines: {node: '>=6.9.0'} @@ -3230,20 +3271,6 @@ packages: jsesc: 2.5.2 dev: true - /@babel/helper-annotate-as-pure@7.22.5: - resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.10 - dev: true - - /@babel/helper-builder-binary-assignment-operator-visitor@7.22.10: - resolution: {integrity: sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.10 - dev: true - /@babel/helper-compilation-targets@7.22.10: resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==} engines: {node: '>=6.9.0'} @@ -3255,52 +3282,6 @@ packages: semver: 6.3.1 dev: true - /@babel/helper-create-class-features-plugin@7.22.10(@babel/core@7.18.6): - resolution: {integrity: sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 - '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.18.6) - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - semver: 6.3.1 - dev: true - - /@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.18.6): - resolution: {integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-annotate-as-pure': 7.22.5 - regexpu-core: 5.3.2 - semver: 6.3.1 - dev: true - - /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.18.6): - resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} - peerDependencies: - '@babel/core': ^7.4.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 - debug: 4.3.4 - lodash.debounce: 4.0.8 - resolve: 1.22.4 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-environment-visitor@7.22.5: resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} engines: {node: '>=6.9.0'} @@ -3321,13 +3302,6 @@ packages: '@babel/types': 7.22.10 dev: true - /@babel/helper-member-expression-to-functions@7.22.5: - resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.10 - dev: true - /@babel/helper-module-imports@7.22.5: resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} engines: {node: '>=6.9.0'} @@ -3349,42 +3323,11 @@ packages: '@babel/helper-validator-identifier': 7.22.5 dev: true - /@babel/helper-optimise-call-expression@7.22.5: - resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.10 - dev: true - /@babel/helper-plugin-utils@7.22.5: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.18.6): - resolution: {integrity: sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-wrap-function': 7.22.10 - dev: true - - /@babel/helper-replace-supers@7.22.9(@babel/core@7.18.6): - resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 - '@babel/helper-optimise-call-expression': 7.22.5 - dev: true - /@babel/helper-simple-access@7.22.5: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} @@ -3392,13 +3335,6 @@ packages: '@babel/types': 7.22.10 dev: true - /@babel/helper-skip-transparent-expression-wrappers@7.22.5: - resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.10 - dev: true - /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} @@ -3411,6 +3347,16 @@ packages: engines: {node: '>=6.9.0'} dev: true + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-validator-identifier@7.22.5: resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} engines: {node: '>=6.9.0'} @@ -3421,15 +3367,6 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-wrap-function@7.22.10: - resolution: {integrity: sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-function-name': 7.22.5 - '@babel/template': 7.22.5 - '@babel/types': 7.22.10 - dev: true - /@babel/helpers@7.22.10: resolution: {integrity: sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==} engines: {node: '>=6.9.0'} @@ -3450,6 +3387,15 @@ packages: js-tokens: 4.0.0 dev: true + /@babel/highlight@7.23.4: + resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + /@babel/parser@7.22.10: resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} engines: {node: '>=6.0.0'} @@ -3458,876 +3404,206 @@ packages: '@babel/types': 7.22.10 dev: true - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 + /@babel/parser@7.23.5: + resolution: {integrity: sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==} + engines: {node: '>=6.0.0'} + hasBin: true dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.22.10(@babel/core@7.18.6) + '@babel/types': 7.23.5 dev: true - /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.18.6): - resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.18.6): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.6 - '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.18.6) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.18.6) dev: true - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.18.6): - resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.18.6): + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.18.6) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-proposal-class-static-block@7.21.0(@babel/core@7.18.6): - resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.18.6): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: - '@babel/core': ^7.12.0 + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.18.6) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.18.6) dev: true - /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.18.6): - resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.18.6): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.18.6) dev: true - /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.18.6): - resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.18.6): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.18.6) dev: true - /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.18.6): - resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} + /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.18.6): + resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.18.6) dev: true - /@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.18.6): - resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.18.6): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.18.6) dev: true - /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.18.6): - resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.18.6): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.18.6) dev: true - /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.18.6): - resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.18.6): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.18.6) dev: true - /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.18.6): - resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.18.6): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.9 '@babel/core': 7.18.6 - '@babel/helper-compilation-targets': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.18.6) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.18.6) dev: true - /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.18.6): - resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.18.6): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.18.6) dev: true - /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.18.6): - resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.18.6): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.18.6) dev: true - /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.18.6): - resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.18.6): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.18.6) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.18.6): - resolution: {integrity: sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==} + /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.18.6): + resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.6 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.18.6) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.18.6) dev: true - /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.18.6): - resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} - engines: {node: '>=4'} - peerDependencies: - '@babel/core': ^7.0.0-0 + /@babel/runtime@7.22.10: + resolution: {integrity: sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==} + engines: {node: '>=6.9.0'} dependencies: - '@babel/core': 7.18.6 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.18.6) - '@babel/helper-plugin-utils': 7.22.5 + regenerator-runtime: 0.14.0 dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.18.6): - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 + /@babel/template@7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} + engines: {node: '>=6.9.0'} dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/code-frame': 7.23.5 + '@babel/parser': 7.23.5 + '@babel/types': 7.23.5 dev: true - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.18.6): - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} - peerDependencies: - '@babel/core': ^7.0.0-0 + /@babel/template@7.22.5: + resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} + engines: {node: '>=6.9.0'} dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/code-frame': 7.22.10 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.18.6): - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 + /@babel/traverse@7.22.10: + resolution: {integrity: sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==} + engines: {node: '>=6.9.0'} dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/code-frame': 7.22.10 + '@babel/generator': 7.22.10 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.18.6): - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + /@babel/types@7.22.10: + resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.22.5 + to-fast-properties: 2.0.0 dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.18.6): - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 + /@babel/types@7.23.5: + resolution: {integrity: sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==} + engines: {node: '>=6.9.0'} dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.18.6): - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.18.6): - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.18.6): - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.18.6): - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.18.6): - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.18.6): - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.18.6): - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.18.6): - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.18.6): - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.18.6): - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.18.6): - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-module-imports': 7.22.5 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.18.6) - dev: true - - /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-block-scoping@7.22.10(@babel/core@7.18.6): - resolution: {integrity: sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-classes@7.22.6(@babel/core@7.18.6): - resolution: {integrity: sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.18.6) - '@babel/helper-split-export-declaration': 7.22.6 - globals: 11.12.0 - dev: true - - /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/template': 7.22.5 - dev: true - - /@babel/plugin-transform-destructuring@7.22.10(@babel/core@7.18.6): - resolution: {integrity: sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.18.6) - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-literals@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.18.6) - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.18.6) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-simple-access': 7.22.5 - dev: true - - /@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.18.6) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 - dev: true - - /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.18.6) - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.18.6) - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.18.6) - dev: true - - /@babel/plugin-transform-optional-chaining@7.22.10(@babel/core@7.18.6): - resolution: {integrity: sha512-MMkQqZAZ+MGj+jGTG3OTuhKeBpNcO+0oCEbrGNEaOmiEn+1MzRyQlYsruGiU8RTK3zV6XwrVJTmwiDOyYK6J9g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.18.6) - dev: true - - /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.18.6): - resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - regenerator-transform: 0.15.2 - dev: true - - /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-spread@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - dev: true - - /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.18.6): - resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.18.6): - resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.18.6) - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/preset-env@7.18.6(@babel/core@7.18.6): - resolution: {integrity: sha512-WrthhuIIYKrEFAwttYzgRNQ5hULGmwTj+D6l7Zdfsv5M7IWV/OZbUfbeL++Qrzx1nVJwWROIFhCHRYQV4xbPNw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.22.9 - '@babel/core': 7.18.6 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.18.6) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.18.6) - '@babel/plugin-proposal-class-static-block': 7.21.0(@babel/core@7.18.6) - '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.18.6) - '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.18.6) - '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.18.6) - '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.18.6) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.18.6) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.18.6) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.18.6) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.18.6) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.18.6) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.18.6) - '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.18.6) - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.18.6) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.18.6) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.18.6) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.18.6) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.18.6) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.18.6) - '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.18.6) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.18.6) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.18.6) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.18.6) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.18.6) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.18.6) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.18.6) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.18.6) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.18.6) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-block-scoping': 7.22.10(@babel/core@7.18.6) - '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.18.6) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-destructuring': 7.22.10(@babel/core@7.18.6) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-modules-systemjs': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.18.6) - '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.18.6) - '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.18.6) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.18.6) - '@babel/preset-modules': 0.1.6(@babel/core@7.18.6) - '@babel/types': 7.22.10 - babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.18.6) - babel-plugin-polyfill-corejs3: 0.5.3(@babel/core@7.18.6) - babel-plugin-polyfill-regenerator: 0.3.1(@babel/core@7.18.6) - core-js-compat: 3.32.1 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/preset-modules@0.1.6(@babel/core@7.18.6): - resolution: {integrity: sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==} - peerDependencies: - '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.18.6) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.18.6) - '@babel/types': 7.22.10 - esutils: 2.0.3 - dev: true - - /@babel/regjsgen@0.8.0: - resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} - dev: true - - /@babel/runtime@7.22.10: - resolution: {integrity: sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.14.0 - dev: true - - /@babel/template@7.22.5: - resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.22.10 - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 - dev: true - - /@babel/traverse@7.22.10: - resolution: {integrity: sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.22.10 - '@babel/generator': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/types@7.22.10: - resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 - to-fast-properties: 2.0.0 - dev: true - - /@bcoe/v8-coverage@0.2.3: - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + /@bcoe/v8-coverage@0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true /@cbor-extract/cbor-extract-darwin-arm64@2.1.1: @@ -4581,13 +3857,6 @@ packages: prettier: 2.7.1 dev: true - /@cspotcode/source-map-support@0.8.1: - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - dev: true - /@datadog/native-appsec@2.0.0: resolution: {integrity: sha512-XHARZ6MVgbnfOUO6/F3ZoZ7poXHJCNYFlgcyS2Xetuk9ITA5bfcooX2B2F7tReVB+RLJ+j8bsm0t55SyF04KDw==} engines: {node: '>=12'} @@ -4800,57 +4069,57 @@ packages: engines: {node: '>=8'} dev: true - /@jest/console@28.1.3: - resolution: {integrity: sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/console@29.7.0: + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 28.1.3 + '@jest/types': 29.6.3 '@types/node': 18.17.8 chalk: 4.1.2 - jest-message-util: 28.1.3 - jest-util: 28.1.3 + jest-message-util: 29.7.0 + jest-util: 29.7.0 slash: 3.0.0 dev: true - /@jest/core@28.1.3(ts-node@10.8.2): - resolution: {integrity: sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/core@29.7.0: + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: node-notifier: optional: true dependencies: - '@jest/console': 28.1.3 - '@jest/reporters': 28.1.3 - '@jest/test-result': 28.1.3 - '@jest/transform': 28.1.3 - '@jest/types': 28.1.3 + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.17.8 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.8.0 exit: 0.1.2 graceful-fs: 4.2.11 - jest-changed-files: 28.1.3 - jest-config: 28.1.3(@types/node@18.17.8)(ts-node@10.8.2) - jest-haste-map: 28.1.3 - jest-message-util: 28.1.3 - jest-regex-util: 28.0.2 - jest-resolve: 28.1.3 - jest-resolve-dependencies: 28.1.3 - jest-runner: 28.1.3 - jest-runtime: 28.1.3 - jest-snapshot: 28.1.3 - jest-util: 28.1.3 - jest-validate: 28.1.3 - jest-watcher: 28.1.3 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@18.17.8) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 micromatch: 4.0.5 - pretty-format: 28.1.3 - rimraf: 3.0.2 + pretty-format: 29.7.0 slash: 3.0.0 strip-ansi: 6.0.1 transitivePeerDependencies: + - babel-plugin-macros - supports-color - ts-node dev: true @@ -4862,59 +4131,60 @@ packages: '@jest/types': 27.5.1 dev: true - /@jest/environment@28.1.3: - resolution: {integrity: sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/environment@29.7.0: + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/fake-timers': 28.1.3 - '@jest/types': 28.1.3 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.17.8 - jest-mock: 28.1.3 + jest-mock: 29.7.0 dev: true - /@jest/expect-utils@28.1.3: - resolution: {integrity: sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/expect-utils@29.7.0: + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - jest-get-type: 28.0.2 + jest-get-type: 29.6.3 dev: true - /@jest/expect@28.1.3: - resolution: {integrity: sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/expect@29.7.0: + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - expect: 28.1.3 - jest-snapshot: 28.1.3 + expect: 29.7.0 + jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color dev: true - /@jest/fake-timers@28.1.3: - resolution: {integrity: sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/fake-timers@29.7.0: + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 28.1.3 - '@sinonjs/fake-timers': 9.1.2 + '@jest/types': 29.6.3 + '@sinonjs/fake-timers': 10.3.0 '@types/node': 18.17.8 - jest-message-util: 28.1.3 - jest-mock: 28.1.3 - jest-util: 28.1.3 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 dev: true - /@jest/globals@28.1.3: - resolution: {integrity: sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/globals@29.7.0: + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 28.1.3 - '@jest/expect': 28.1.3 - '@jest/types': 28.1.3 + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/types': 29.6.3 + jest-mock: 29.7.0 transitivePeerDependencies: - supports-color dev: true - /@jest/reporters@28.1.3: - resolution: {integrity: sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/reporters@29.7.0: + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -4922,10 +4192,10 @@ packages: optional: true dependencies: '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 28.1.3 - '@jest/test-result': 28.1.3 - '@jest/transform': 28.1.3 - '@jest/types': 28.1.3 + '@jest/console': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.19 '@types/node': 18.17.8 chalk: 4.1.2 @@ -4934,17 +4204,16 @@ packages: glob: 7.2.3 graceful-fs: 4.2.11 istanbul-lib-coverage: 3.2.0 - istanbul-lib-instrument: 5.2.1 + istanbul-lib-instrument: 6.0.1 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.6 - jest-message-util: 28.1.3 - jest-util: 28.1.3 - jest-worker: 28.1.3 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + jest-worker: 29.7.0 slash: 3.0.0 string-length: 4.0.2 strip-ansi: 6.0.1 - terminal-link: 2.1.1 v8-to-istanbul: 9.1.0 transitivePeerDependencies: - supports-color @@ -4957,50 +4226,57 @@ packages: '@sinclair/typebox': 0.24.51 dev: true - /@jest/source-map@28.1.2: - resolution: {integrity: sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + + /@jest/source-map@29.6.3: + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jridgewell/trace-mapping': 0.3.19 callsites: 3.1.0 graceful-fs: 4.2.11 dev: true - /@jest/test-result@28.1.3: - resolution: {integrity: sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/test-result@29.7.0: + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/console': 28.1.3 - '@jest/types': 28.1.3 + '@jest/console': 29.7.0 + '@jest/types': 29.6.3 '@types/istanbul-lib-coverage': 2.0.4 collect-v8-coverage: 1.0.2 dev: true - /@jest/test-sequencer@28.1.3: - resolution: {integrity: sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/test-sequencer@29.7.0: + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/test-result': 28.1.3 + '@jest/test-result': 29.7.0 graceful-fs: 4.2.11 - jest-haste-map: 28.1.3 + jest-haste-map: 29.7.0 slash: 3.0.0 dev: true - /@jest/transform@28.1.3: - resolution: {integrity: sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/transform@29.7.0: + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.18.6 - '@jest/types': 28.1.3 + '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.19 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 - convert-source-map: 1.9.0 + convert-source-map: 2.0.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.11 - jest-haste-map: 28.1.3 - jest-regex-util: 28.0.2 - jest-util: 28.1.3 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 micromatch: 4.0.5 pirates: 4.0.6 slash: 3.0.0 @@ -5020,11 +4296,11 @@ packages: chalk: 4.1.2 dev: true - /@jest/types@28.1.3: - resolution: {integrity: sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/types@29.6.3: + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 28.1.3 + '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 '@types/node': 18.17.8 @@ -5062,13 +4338,6 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true - /@jridgewell/trace-mapping@0.3.9: - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - /@manypkg/find-root@1.1.0: resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} dependencies: @@ -5138,13 +4407,6 @@ packages: rimraf: 3.0.2 dev: true - /@npmcli/package-json@3.0.0: - resolution: {integrity: sha512-NnuPuM97xfiCpbTEJYtEuKz6CFbpUHtaT0+5via5pQeI25omvQDFbp1GcGJ/c4zvL/WX0qbde6YiLgfZbWFgvg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - json-parse-even-better-errors: 3.0.0 - dev: true - /@opentelemetry/api@1.7.0: resolution: {integrity: sha512-AdY5wvN0P2vXBi3b29hxZgSFvdhdxPB9+f0B6s//P9Q8nibRWeA3cHm8UmLpio9ABigkVHJ5NMPk+Mz8VCCyrw==} engines: {node: '>=8.0.0'} @@ -5244,16 +4506,20 @@ packages: resolution: {integrity: sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==} dev: true - /@sinonjs/commons@1.8.6: - resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@sinonjs/commons@3.0.0: + resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} dependencies: type-detect: 4.0.8 dev: true - /@sinonjs/fake-timers@9.1.2: - resolution: {integrity: sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==} + /@sinonjs/fake-timers@10.3.0: + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} dependencies: - '@sinonjs/commons': 1.8.6 + '@sinonjs/commons': 3.0.0 dev: true /@smithy/abort-controller@1.1.0: @@ -5406,27 +4672,11 @@ packages: path-browserify: 1.0.1 dev: false - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} - dev: true - - /@tsconfig/node12@1.0.11: - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - dev: true - - /@tsconfig/node14@1.0.3: - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - dev: true - - /@tsconfig/node16@1.0.4: - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - dev: true - /@types/babel__core@7.20.1: resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} dependencies: - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 + '@babel/parser': 7.23.5 + '@babel/types': 7.23.5 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 '@types/babel__traverse': 7.20.1 @@ -5435,20 +4685,20 @@ packages: /@types/babel__generator@7.6.4: resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.5 dev: true /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 + '@babel/parser': 7.23.5 + '@babel/types': 7.23.5 dev: true /@types/babel__traverse@7.20.1: resolution: {integrity: sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.5 dev: true /@types/bn.js@5.1.1: @@ -5584,10 +4834,6 @@ packages: pg-types: 2.2.0 dev: true - /@types/prettier@2.7.3: - resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} - dev: true - /@types/qs@6.9.7: resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} dev: true @@ -5645,7 +4891,7 @@ packages: '@types/yargs-parser': 21.0.0 dev: true - /@typescript-eslint/eslint-plugin@5.38.1(@typescript-eslint/parser@5.38.1)(eslint@8.24.0)(typescript@4.8.4): + /@typescript-eslint/eslint-plugin@5.38.1(@typescript-eslint/parser@5.38.1)(eslint@8.24.0)(typescript@5.3.3): resolution: {integrity: sha512-ky7EFzPhqz3XlhS7vPOoMDaQnQMn+9o5ICR9CPr/6bw8HrFkzhMSxuA3gRfiJVvs7geYrSeawGJjZoZQKCOglQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5656,22 +4902,22 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.38.1(eslint@8.24.0)(typescript@4.8.4) + '@typescript-eslint/parser': 5.38.1(eslint@8.24.0)(typescript@5.3.3) '@typescript-eslint/scope-manager': 5.38.1 - '@typescript-eslint/type-utils': 5.38.1(eslint@8.24.0)(typescript@4.8.4) - '@typescript-eslint/utils': 5.38.1(eslint@8.24.0)(typescript@4.8.4) + '@typescript-eslint/type-utils': 5.38.1(eslint@8.24.0)(typescript@5.3.3) + '@typescript-eslint/utils': 5.38.1(eslint@8.24.0)(typescript@5.3.3) debug: 4.3.4 eslint: 8.24.0 ignore: 5.2.4 regexpp: 3.2.0 semver: 7.5.4 - tsutils: 3.21.0(typescript@4.8.4) - typescript: 4.8.4 + tsutils: 3.21.0(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.38.1(eslint@8.24.0)(typescript@4.8.4): + /@typescript-eslint/parser@5.38.1(eslint@8.24.0)(typescript@5.3.3): resolution: {integrity: sha512-LDqxZBVFFQnQRz9rUZJhLmox+Ep5kdUmLatLQnCRR6523YV+XhRjfYzStQ4MheFA8kMAfUlclHSbu+RKdRwQKw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5683,10 +4929,10 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.38.1 '@typescript-eslint/types': 5.38.1 - '@typescript-eslint/typescript-estree': 5.38.1(typescript@4.8.4) + '@typescript-eslint/typescript-estree': 5.38.1(typescript@5.3.3) debug: 4.3.4 eslint: 8.24.0 - typescript: 4.8.4 + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true @@ -5699,7 +4945,7 @@ packages: '@typescript-eslint/visitor-keys': 5.38.1 dev: true - /@typescript-eslint/type-utils@5.38.1(eslint@8.24.0)(typescript@4.8.4): + /@typescript-eslint/type-utils@5.38.1(eslint@8.24.0)(typescript@5.3.3): resolution: {integrity: sha512-UU3j43TM66gYtzo15ivK2ZFoDFKKP0k03MItzLdq0zV92CeGCXRfXlfQX5ILdd4/DSpHkSjIgLLLh1NtkOJOAw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5709,12 +4955,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.38.1(typescript@4.8.4) - '@typescript-eslint/utils': 5.38.1(eslint@8.24.0)(typescript@4.8.4) + '@typescript-eslint/typescript-estree': 5.38.1(typescript@5.3.3) + '@typescript-eslint/utils': 5.38.1(eslint@8.24.0)(typescript@5.3.3) debug: 4.3.4 eslint: 8.24.0 - tsutils: 3.21.0(typescript@4.8.4) - typescript: 4.8.4 + tsutils: 3.21.0(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true @@ -5724,7 +4970,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree@5.38.1(typescript@4.8.4): + /@typescript-eslint/typescript-estree@5.38.1(typescript@5.3.3): resolution: {integrity: sha512-99b5e/Enoe8fKMLdSuwrfH/C0EIbpUWmeEKHmQlGZb8msY33qn1KlkFww0z26o5Omx7EVjzVDCWEfrfCDHfE7g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5739,13 +4985,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 - tsutils: 3.21.0(typescript@4.8.4) - typescript: 4.8.4 + tsutils: 3.21.0(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.38.1(eslint@8.24.0)(typescript@4.8.4): + /@typescript-eslint/utils@5.38.1(eslint@8.24.0)(typescript@5.3.3): resolution: {integrity: sha512-oIuUiVxPBsndrN81oP8tXnFa/+EcZ03qLqPDfSZ5xIJVm7A9V0rlkQwwBOAGtrdN70ZKDlKv+l1BeT4eSFxwXA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5754,7 +5000,7 @@ packages: '@types/json-schema': 7.0.12 '@typescript-eslint/scope-manager': 5.38.1 '@typescript-eslint/types': 5.38.1 - '@typescript-eslint/typescript-estree': 5.38.1(typescript@4.8.4) + '@typescript-eslint/typescript-estree': 5.38.1(typescript@5.3.3) eslint: 8.24.0 eslint-scope: 5.1.1 eslint-utils: 3.0.0(eslint@8.24.0) @@ -5804,11 +5050,6 @@ packages: acorn: 8.10.0 dev: true - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} - engines: {node: '>=0.4.0'} - dev: true - /acorn@8.10.0: resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} engines: {node: '>=0.4.0'} @@ -5921,10 +5162,6 @@ packages: readable-stream: 3.6.2 dev: true - /arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true - /argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: @@ -6036,17 +5273,17 @@ packages: - supports-color dev: true - /babel-jest@28.1.3(@babel/core@7.18.6): - resolution: {integrity: sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /babel-jest@29.7.0(@babel/core@7.18.6): + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: '@babel/core': 7.18.6 - '@jest/transform': 28.1.3 + '@jest/transform': 29.7.0 '@types/babel__core': 7.20.1 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 28.1.3(@babel/core@7.18.6) + babel-preset-jest: 29.6.3(@babel/core@7.18.6) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -6067,52 +5304,16 @@ packages: - supports-color dev: true - /babel-plugin-jest-hoist@28.1.3: - resolution: {integrity: sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.10 + '@babel/template': 7.22.15 + '@babel/types': 7.23.5 '@types/babel__core': 7.20.1 '@types/babel__traverse': 7.20.1 dev: true - /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.18.6): - resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.22.9 - '@babel/core': 7.18.6 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.18.6) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: true - - /babel-plugin-polyfill-corejs3@0.5.3(@babel/core@7.18.6): - resolution: {integrity: sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.18.6) - core-js-compat: 3.32.1 - transitivePeerDependencies: - - supports-color - dev: true - - /babel-plugin-polyfill-regenerator@0.3.1(@babel/core@7.18.6): - resolution: {integrity: sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.18.6) - transitivePeerDependencies: - - supports-color - dev: true - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.18.6): resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: @@ -6133,14 +5334,14 @@ packages: '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.18.6) dev: true - /babel-preset-jest@28.1.3(@babel/core@7.18.6): - resolution: {integrity: sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /babel-preset-jest@29.6.3(@babel/core@7.18.6): + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.18.6 - babel-plugin-jest-hoist: 28.1.3 + babel-plugin-jest-hoist: 29.6.3 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.18.6) dev: true @@ -6569,6 +5770,10 @@ packages: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} dev: true + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + /cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} @@ -6576,12 +5781,6 @@ packages: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} - /core-js-compat@3.32.1: - resolution: {integrity: sha512-GSvKDv4wE0bPnQtjklV101juQ85g6H3rm5PDP20mqlS5j0kXF3pP97YvAu5hl+uFHqMictp3b2VxOHljWMAtuA==} - dependencies: - browserslist: 4.21.10 - dev: true - /cors@2.8.5: resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} engines: {node: '>= 0.10'} @@ -6589,14 +5788,40 @@ packages: object-assign: 4.1.1 vary: 1.1.2 - /create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + /create-jest@29.7.0(@types/node@18.0.0): + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@18.0.0) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node dev: true /cross-spawn@5.1.0: resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} dependencies: - lru-cache: 4.1.5 + lru-cache: 4.1.5 + shebang-command: 1.2.0 + which: 1.3.1 + dev: true + + /cross-spawn@6.0.5: + resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} + engines: {node: '>=4.8'} + dependencies: + nice-try: 1.0.5 + path-key: 2.0.1 + semver: 5.7.2 shebang-command: 1.2.0 which: 1.3.1 dev: true @@ -6763,8 +5988,13 @@ packages: dependencies: mimic-response: 3.1.0 - /dedent@0.7.0: - resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + /dedent@1.5.1: + resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true dev: true /deep-extend@0.6.0: @@ -6839,9 +6069,9 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dev: true - /diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true /dir-glob@3.0.1: @@ -6911,8 +6141,8 @@ packages: minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - /emittery@0.10.2: - resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} + /emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} dev: true @@ -7167,16 +6397,6 @@ packages: dev: true optional: true - /esbuild-node-externals@1.5.0(esbuild@0.14.48): - resolution: {integrity: sha512-9394Ne2t2Z243BWeNBRkXEYVMOVbQuzp7XSkASZTOQs0GSXDuno5aH5OmzEXc6GMuln5zJjpkZpgwUPW0uRKgw==} - peerDependencies: - esbuild: 0.12 - 0.15 - dependencies: - esbuild: 0.14.48 - find-up: 5.0.0 - tslib: 2.3.1 - dev: true - /esbuild-openbsd-64@0.14.48: resolution: {integrity: sha512-+IHf4JcbnnBl4T52egorXMatil/za0awqzg2Vy6FBgPcBpisDWT2sVz/tNdrK9kAqj+GZG/jZdrOkj7wsrNTKA==} engines: {node: '>=12'} @@ -7481,15 +6701,15 @@ packages: resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} engines: {node: '>=6'} - /expect@28.1.3: - resolution: {integrity: sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/expect-utils': 28.1.3 - jest-get-type: 28.0.2 - jest-matcher-utils: 28.1.3 - jest-message-util: 28.1.3 - jest-util: 28.1.3 + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 dev: true /express-async-errors@3.1.1(express@4.18.2): @@ -8413,7 +7633,7 @@ packages: engines: {node: '>=8'} dependencies: '@babel/core': 7.18.6 - '@babel/parser': 7.22.10 + '@babel/parser': 7.23.5 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.1 @@ -8421,6 +7641,19 @@ packages: - supports-color dev: true + /istanbul-lib-instrument@6.0.1: + resolution: {integrity: sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==} + engines: {node: '>=10'} + dependencies: + '@babel/core': 7.18.6 + '@babel/parser': 7.23.5 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: true + /istanbul-lib-report@3.0.1: resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} engines: {node: '>=10'} @@ -8449,44 +7682,47 @@ packages: istanbul-lib-report: 3.0.1 dev: true - /jest-changed-files@28.1.3: - resolution: {integrity: sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: execa: 5.1.1 + jest-util: 29.7.0 p-limit: 3.1.0 dev: true - /jest-circus@28.1.3: - resolution: {integrity: sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-circus@29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 28.1.3 - '@jest/expect': 28.1.3 - '@jest/test-result': 28.1.3 - '@jest/types': 28.1.3 + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.17.8 chalk: 4.1.2 co: 4.6.0 - dedent: 0.7.0 + dedent: 1.5.1 is-generator-fn: 2.1.0 - jest-each: 28.1.3 - jest-matcher-utils: 28.1.3 - jest-message-util: 28.1.3 - jest-runtime: 28.1.3 - jest-snapshot: 28.1.3 - jest-util: 28.1.3 + jest-each: 29.7.0 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 p-limit: 3.1.0 - pretty-format: 28.1.3 + pretty-format: 29.7.0 + pure-rand: 6.0.4 slash: 3.0.0 stack-utils: 2.0.6 transitivePeerDependencies: + - babel-plugin-macros - supports-color dev: true - /jest-cli@28.1.3(@types/node@18.0.0)(ts-node@10.8.2): - resolution: {integrity: sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-cli@29.7.0(@types/node@18.0.0): + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -8494,27 +7730,27 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 28.1.3(ts-node@10.8.2) - '@jest/test-result': 28.1.3 - '@jest/types': 28.1.3 + '@jest/core': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 chalk: 4.1.2 + create-jest: 29.7.0(@types/node@18.0.0) exit: 0.1.2 - graceful-fs: 4.2.11 import-local: 3.1.0 - jest-config: 28.1.3(@types/node@18.0.0)(ts-node@10.8.2) - jest-util: 28.1.3 - jest-validate: 28.1.3 - prompts: 2.4.2 + jest-config: 29.7.0(@types/node@18.0.0) + jest-util: 29.7.0 + jest-validate: 29.7.0 yargs: 17.7.2 transitivePeerDependencies: - '@types/node' + - babel-plugin-macros - supports-color - ts-node dev: true - /jest-config@28.1.3(@types/node@18.0.0)(ts-node@10.8.2): - resolution: {integrity: sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-config@29.7.0(@types/node@18.0.0): + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@types/node': '*' ts-node: '>=9.0.0' @@ -8525,36 +7761,36 @@ packages: optional: true dependencies: '@babel/core': 7.18.6 - '@jest/test-sequencer': 28.1.3 - '@jest/types': 28.1.3 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.0.0 - babel-jest: 28.1.3(@babel/core@7.18.6) + babel-jest: 29.7.0(@babel/core@7.18.6) chalk: 4.1.2 ci-info: 3.8.0 deepmerge: 4.3.1 glob: 7.2.3 graceful-fs: 4.2.11 - jest-circus: 28.1.3 - jest-environment-node: 28.1.3 - jest-get-type: 28.0.2 - jest-regex-util: 28.0.2 - jest-resolve: 28.1.3 - jest-runner: 28.1.3 - jest-util: 28.1.3 - jest-validate: 28.1.3 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 micromatch: 4.0.5 parse-json: 5.2.0 - pretty-format: 28.1.3 + pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.8.2(@swc/core@1.3.42)(@types/node@18.0.0)(typescript@4.8.4) transitivePeerDependencies: + - babel-plugin-macros - supports-color dev: true - /jest-config@28.1.3(@types/node@18.17.8)(ts-node@10.8.2): - resolution: {integrity: sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-config@29.7.0(@types/node@18.17.8): + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@types/node': '*' ts-node: '>=9.0.0' @@ -8565,30 +7801,30 @@ packages: optional: true dependencies: '@babel/core': 7.18.6 - '@jest/test-sequencer': 28.1.3 - '@jest/types': 28.1.3 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.17.8 - babel-jest: 28.1.3(@babel/core@7.18.6) + babel-jest: 29.7.0(@babel/core@7.18.6) chalk: 4.1.2 ci-info: 3.8.0 deepmerge: 4.3.1 glob: 7.2.3 graceful-fs: 4.2.11 - jest-circus: 28.1.3 - jest-environment-node: 28.1.3 - jest-get-type: 28.0.2 - jest-regex-util: 28.0.2 - jest-resolve: 28.1.3 - jest-runner: 28.1.3 - jest-util: 28.1.3 - jest-validate: 28.1.3 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 micromatch: 4.0.5 parse-json: 5.2.0 - pretty-format: 28.1.3 + pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.8.2(@swc/core@1.3.42)(@types/node@18.0.0)(typescript@4.8.4) transitivePeerDependencies: + - babel-plugin-macros - supports-color dev: true @@ -8602,11 +7838,14 @@ packages: pretty-format: 28.1.3 dev: true - /jest-docblock@28.1.1: - resolution: {integrity: sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - detect-newline: 3.1.0 + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 dev: true /jest-docblock@29.7.0: @@ -8614,29 +7853,28 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: detect-newline: 3.1.0 - dev: false - /jest-each@28.1.3: - resolution: {integrity: sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 28.1.3 + '@jest/types': 29.6.3 chalk: 4.1.2 - jest-get-type: 28.0.2 - jest-util: 28.1.3 - pretty-format: 28.1.3 + jest-get-type: 29.6.3 + jest-util: 29.7.0 + pretty-format: 29.7.0 dev: true - /jest-environment-node@28.1.3: - resolution: {integrity: sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 28.1.3 - '@jest/fake-timers': 28.1.3 - '@jest/types': 28.1.3 + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.17.8 - jest-mock: 28.1.3 - jest-util: 28.1.3 + jest-mock: 29.7.0 + jest-util: 29.7.0 dev: true /jest-get-type@28.0.2: @@ -8644,31 +7882,36 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dev: true - /jest-haste-map@28.1.3: - resolution: {integrity: sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 28.1.3 + '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.6 '@types/node': 18.17.8 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 - jest-regex-util: 28.0.2 - jest-util: 28.1.3 - jest-worker: 28.1.3 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 micromatch: 4.0.5 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 dev: true - /jest-leak-detector@28.1.3: - resolution: {integrity: sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - jest-get-type: 28.0.2 - pretty-format: 28.1.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 dev: true /jest-matcher-utils@28.1.3: @@ -8681,30 +7924,41 @@ packages: pretty-format: 28.1.3 dev: true - /jest-message-util@28.1.3: - resolution: {integrity: sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/code-frame': 7.22.10 - '@jest/types': 28.1.3 + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + dev: true + + /jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/code-frame': 7.23.5 + '@jest/types': 29.6.3 '@types/stack-utils': 2.0.1 chalk: 4.1.2 graceful-fs: 4.2.11 micromatch: 4.0.5 - pretty-format: 28.1.3 + pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 dev: true - /jest-mock@28.1.3: - resolution: {integrity: sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 28.1.3 + '@jest/types': 29.6.3 '@types/node': 18.17.8 + jest-util: 29.7.0 dev: true - /jest-pnp-resolver@1.2.3(jest-resolve@28.1.3): + /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} engines: {node: '>=6'} peerDependencies: @@ -8713,134 +7967,131 @@ packages: jest-resolve: optional: true dependencies: - jest-resolve: 28.1.3 + jest-resolve: 29.7.0 dev: true - /jest-regex-util@28.0.2: - resolution: {integrity: sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-resolve-dependencies@28.1.3: - resolution: {integrity: sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - jest-regex-util: 28.0.2 - jest-snapshot: 28.1.3 + jest-regex-util: 29.6.3 + jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color dev: true - /jest-resolve@28.1.3: - resolution: {integrity: sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 graceful-fs: 4.2.11 - jest-haste-map: 28.1.3 - jest-pnp-resolver: 1.2.3(jest-resolve@28.1.3) - jest-util: 28.1.3 - jest-validate: 28.1.3 + jest-haste-map: 29.7.0 + jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) + jest-util: 29.7.0 + jest-validate: 29.7.0 resolve: 1.22.4 - resolve.exports: 1.1.1 + resolve.exports: 2.0.2 slash: 3.0.0 dev: true - /jest-runner@28.1.3: - resolution: {integrity: sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/console': 28.1.3 - '@jest/environment': 28.1.3 - '@jest/test-result': 28.1.3 - '@jest/transform': 28.1.3 - '@jest/types': 28.1.3 + '@jest/console': 29.7.0 + '@jest/environment': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.17.8 chalk: 4.1.2 - emittery: 0.10.2 + emittery: 0.13.1 graceful-fs: 4.2.11 - jest-docblock: 28.1.1 - jest-environment-node: 28.1.3 - jest-haste-map: 28.1.3 - jest-leak-detector: 28.1.3 - jest-message-util: 28.1.3 - jest-resolve: 28.1.3 - jest-runtime: 28.1.3 - jest-util: 28.1.3 - jest-watcher: 28.1.3 - jest-worker: 28.1.3 + jest-docblock: 29.7.0 + jest-environment-node: 29.7.0 + jest-haste-map: 29.7.0 + jest-leak-detector: 29.7.0 + jest-message-util: 29.7.0 + jest-resolve: 29.7.0 + jest-runtime: 29.7.0 + jest-util: 29.7.0 + jest-watcher: 29.7.0 + jest-worker: 29.7.0 p-limit: 3.1.0 source-map-support: 0.5.13 transitivePeerDependencies: - supports-color dev: true - /jest-runtime@28.1.3: - resolution: {integrity: sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 28.1.3 - '@jest/fake-timers': 28.1.3 - '@jest/globals': 28.1.3 - '@jest/source-map': 28.1.2 - '@jest/test-result': 28.1.3 - '@jest/transform': 28.1.3 - '@jest/types': 28.1.3 + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/globals': 29.7.0 + '@jest/source-map': 29.6.3 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.17.8 chalk: 4.1.2 cjs-module-lexer: 1.2.3 collect-v8-coverage: 1.0.2 - execa: 5.1.1 glob: 7.2.3 graceful-fs: 4.2.11 - jest-haste-map: 28.1.3 - jest-message-util: 28.1.3 - jest-mock: 28.1.3 - jest-regex-util: 28.0.2 - jest-resolve: 28.1.3 - jest-snapshot: 28.1.3 - jest-util: 28.1.3 + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 slash: 3.0.0 strip-bom: 4.0.0 transitivePeerDependencies: - supports-color dev: true - /jest-snapshot@28.1.3: - resolution: {integrity: sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.18.6 '@babel/generator': 7.22.10 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.18.6) - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 - '@jest/expect-utils': 28.1.3 - '@jest/transform': 28.1.3 - '@jest/types': 28.1.3 - '@types/babel__traverse': 7.20.1 - '@types/prettier': 2.7.3 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.18.6) + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.18.6) + '@babel/types': 7.23.5 + '@jest/expect-utils': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.18.6) chalk: 4.1.2 - expect: 28.1.3 + expect: 29.7.0 graceful-fs: 4.2.11 - jest-diff: 28.1.3 - jest-get-type: 28.0.2 - jest-haste-map: 28.1.3 - jest-matcher-utils: 28.1.3 - jest-message-util: 28.1.3 - jest-util: 28.1.3 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 natural-compare: 1.4.0 - pretty-format: 28.1.3 + pretty-format: 29.7.0 semver: 7.5.4 transitivePeerDependencies: - supports-color dev: true - /jest-util@28.1.3: - resolution: {integrity: sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 28.1.3 + '@jest/types': 29.6.3 '@types/node': 18.17.8 chalk: 4.1.2 ci-info: 3.8.0 @@ -8848,44 +8099,45 @@ packages: picomatch: 2.3.1 dev: true - /jest-validate@28.1.3: - resolution: {integrity: sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 28.1.3 + '@jest/types': 29.6.3 camelcase: 6.3.0 chalk: 4.1.2 - jest-get-type: 28.0.2 + jest-get-type: 29.6.3 leven: 3.1.0 - pretty-format: 28.1.3 + pretty-format: 29.7.0 dev: true - /jest-watcher@28.1.3: - resolution: {integrity: sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/test-result': 28.1.3 - '@jest/types': 28.1.3 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.17.8 ansi-escapes: 4.3.2 chalk: 4.1.2 - emittery: 0.10.2 - jest-util: 28.1.3 + emittery: 0.13.1 + jest-util: 29.7.0 string-length: 4.0.2 dev: true - /jest-worker@28.1.3: - resolution: {integrity: sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@types/node': 18.17.8 + jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest@28.1.2(@types/node@18.0.0)(ts-node@10.8.2): - resolution: {integrity: sha512-Tuf05DwLeCh2cfWCQbcz9UxldoDyiR1E9Igaei5khjonKncYdc6LDfynKCEWozK0oLE3GD+xKAo2u8x/0s6GOg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest@29.7.0(@types/node@18.0.0): + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -8893,12 +8145,13 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 28.1.3(ts-node@10.8.2) - '@jest/types': 28.1.3 + '@jest/core': 29.7.0 + '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 28.1.3(@types/node@18.0.0)(ts-node@10.8.2) + jest-cli: 29.7.0(@types/node@18.0.0) transitivePeerDependencies: - '@types/node' + - babel-plugin-macros - supports-color - ts-node dev: true @@ -8939,24 +8192,18 @@ packages: argparse: 2.0.1 dev: true - /jsesc@0.5.0: - resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} - hasBin: true - dev: true - /jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} hasBin: true dev: true - /json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + /json-parse-better-errors@1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} dev: true - /json-parse-even-better-errors@3.0.0: - resolution: {integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true /json-schema-traverse@0.4.1: @@ -9043,6 +8290,16 @@ packages: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true + /load-json-file@4.0.0: + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} + dependencies: + graceful-fs: 4.2.11 + parse-json: 4.0.0 + pify: 3.0.0 + strip-bom: 3.0.0 + dev: true + /load-yaml-file@0.2.0: resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} engines: {node: '>=6'} @@ -9067,10 +8324,6 @@ packages: p-locate: 5.0.0 dev: true - /lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - dev: true - /lodash.defaults@4.2.0: resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} @@ -9135,10 +8388,6 @@ packages: semver: 7.5.4 dev: true - /make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true - /make-fetch-happen@10.2.1: resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -9184,6 +8433,11 @@ packages: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} + /memorystream@0.3.1: + resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} + engines: {node: '>= 0.10.0'} + dev: true + /meow@6.1.1: resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} engines: {node: '>=8'} @@ -9394,6 +8648,10 @@ packages: /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + /nice-try@1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + dev: true + /node-abi@3.47.0: resolution: {integrity: sha512-2s6B2CWZM//kPgwnuI0KrYwNjfdByE25zvAaEpq9IH4zcNsarH8Ihu/UuX6XMPEogDAxkuUFeZn60pXNHAqn3A==} engines: {node: '>=10'} @@ -9508,6 +8766,22 @@ packages: engines: {node: '>=0.10.0'} dev: true + /npm-run-all@4.1.5: + resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} + engines: {node: '>= 4'} + hasBin: true + dependencies: + ansi-styles: 3.2.1 + chalk: 2.4.2 + cross-spawn: 6.0.5 + memorystream: 0.3.1 + minimatch: 3.1.2 + pidtree: 0.3.1 + read-pkg: 3.0.0 + shell-quote: 1.8.1 + string.prototype.padend: 3.1.5 + dev: true + /npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -9698,6 +8972,14 @@ packages: callsites: 3.1.0 dev: true + /parse-json@4.0.0: + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} + dependencies: + error-ex: 1.3.2 + json-parse-better-errors: 1.0.2 + dev: true + /parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} @@ -9726,6 +9008,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /path-key@2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + dev: true + /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -9737,6 +9024,13 @@ packages: /path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + /path-type@3.0.0: + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} + engines: {node: '>=4'} + dependencies: + pify: 3.0.0 + dev: true + /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -9803,6 +9097,17 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + /pidtree@0.3.1: + resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} + engines: {node: '>=0.10'} + hasBin: true + dev: true + + /pify@3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} + dev: true + /pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} @@ -9974,6 +9279,15 @@ packages: react-is: 18.2.0 dev: true + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + /process-warning@2.2.0: resolution: {integrity: sha512-/1WZ8+VQjR6avWOgHeEPd7SDQmFQ1B5mC1eRXsCm5TarlNmx/wCsa5GEaxGm05BORRtyG/Ex/3xq3TuRvq57qg==} @@ -10053,6 +9367,10 @@ packages: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} + /pure-rand@6.0.4: + resolution: {integrity: sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==} + dev: true + /qs@6.11.0: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} engines: {node: '>=0.6'} @@ -10113,6 +9431,15 @@ packages: type-fest: 0.8.1 dev: true + /read-pkg@3.0.0: + resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} + engines: {node: '>=4'} + dependencies: + load-json-file: 4.0.0 + normalize-package-data: 2.5.0 + path-type: 3.0.0 + dev: true + /read-pkg@5.2.0: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} engines: {node: '>=8'} @@ -10179,27 +9506,10 @@ packages: dependencies: redis-errors: 1.2.0 - /regenerate-unicode-properties@10.1.0: - resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} - engines: {node: '>=4'} - dependencies: - regenerate: 1.4.2 - dev: true - - /regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - dev: true - /regenerator-runtime@0.14.0: resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} dev: true - /regenerator-transform@0.15.2: - resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} - dependencies: - '@babel/runtime': 7.22.10 - dev: true - /regexp.prototype.flags@1.5.0: resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} engines: {node: '>= 0.4'} @@ -10214,25 +9524,6 @@ packages: engines: {node: '>=8'} dev: true - /regexpu-core@5.3.2: - resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} - engines: {node: '>=4'} - dependencies: - '@babel/regjsgen': 0.8.0 - regenerate: 1.4.2 - regenerate-unicode-properties: 10.1.0 - regjsparser: 0.9.1 - unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.1.0 - dev: true - - /regjsparser@0.9.1: - resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} - hasBin: true - dependencies: - jsesc: 0.5.0 - dev: true - /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -10274,8 +9565,8 @@ packages: engines: {node: '>=8'} dev: true - /resolve.exports@1.1.1: - resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==} + /resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} engines: {node: '>=10'} dev: true @@ -10485,6 +9776,10 @@ packages: engines: {node: '>=8'} dev: true + /shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + dev: true + /shimmer@1.2.1: resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} dev: false @@ -10683,6 +9978,15 @@ packages: strip-ansi: 6.0.1 dev: true + /string.prototype.padend@3.1.5: + resolution: {integrity: sha512-DOB27b/2UTTD+4myKUFh+/fXWcu/UDyASIXfg+7VzoCNNGOfWvoyU/x5pvVHr++ztyt/oSYI1BcWBBG/hmlNjA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + dev: true + /string.prototype.trim@1.2.7: resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} engines: {node: '>= 0.4'} @@ -10783,14 +10087,6 @@ packages: has-flag: 4.0.0 dev: true - /supports-hyperlinks@2.3.0: - resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - supports-color: 7.2.0 - dev: true - /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -10846,14 +10142,6 @@ packages: engines: {node: '>=8'} dev: true - /terminal-link@2.1.1: - resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} - engines: {node: '>=8'} - dependencies: - ansi-escapes: 4.3.2 - supports-hyperlinks: 2.3.0 - dev: true - /test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} @@ -10930,89 +10218,21 @@ packages: code-block-writer: 11.0.3 dev: false - /ts-node@10.8.2(@swc/core@1.3.42)(@types/node@18.0.0)(typescript@4.8.4): - resolution: {integrity: sha512-LYdGnoGddf1D6v8REPtIH+5iq/gTDuZqv2/UJUU7tKjuEU8xVZorBM+buCGNjj+pGEud+sOoM4CX3/YzINpENA==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@swc/core': 1.3.42 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 18.0.0 - acorn: 8.10.0 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 4.8.4 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - dev: true - - /ts-node@10.8.2(@swc/core@1.3.42)(@types/node@18.17.8)(typescript@4.9.5): - resolution: {integrity: sha512-LYdGnoGddf1D6v8REPtIH+5iq/gTDuZqv2/UJUU7tKjuEU8xVZorBM+buCGNjj+pGEud+sOoM4CX3/YzINpENA==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@swc/core': 1.3.42 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 18.17.8 - acorn: 8.10.0 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 4.9.5 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - dev: true - /tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - /tslib@2.3.1: - resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} - dev: true - /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} requiresBuild: true - /tsutils@3.21.0(typescript@4.8.4): + /tsutils@3.21.0(typescript@5.3.3): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.8.4 + typescript: 5.3.3 dev: true /tty-table@4.2.1: @@ -11125,15 +10345,9 @@ packages: optionalDependencies: rxjs: 7.8.1 - /typescript@4.8.4: - resolution: {integrity: sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} + /typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + engines: {node: '>=14.17'} hasBin: true dev: true @@ -11158,29 +10372,6 @@ packages: which-boxed-primitive: 1.0.2 dev: true - /unicode-canonical-property-names-ecmascript@2.0.0: - resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} - engines: {node: '>=4'} - dev: true - - /unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} - dependencies: - unicode-canonical-property-names-ecmascript: 2.0.0 - unicode-property-aliases-ecmascript: 2.1.0 - dev: true - - /unicode-match-property-value-ecmascript@2.1.0: - resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} - engines: {node: '>=4'} - dev: true - - /unicode-property-aliases-ecmascript@2.1.0: - resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} - engines: {node: '>=4'} - dev: true - /unique-filename@2.0.1: resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -11232,10 +10423,6 @@ packages: hasBin: true dev: false - /v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - dev: true - /v8-to-istanbul@9.1.0: resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} engines: {node: '>=10.12.0'} @@ -11452,11 +10639,6 @@ packages: resolution: {integrity: sha512-tdBxmHvbXPBKYIg81bMCB7bVeDmHkRzk5rVJyYYXurwKkHq/MCd8rz4HSJUP7hW0H2NlXiq8IFiWvYKEHhlotA==} dev: false - /yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - dev: true - /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} diff --git a/services/bsky/Dockerfile b/services/bsky/Dockerfile index 9da764ecc3d..0ddd64125a5 100644 --- a/services/bsky/Dockerfile +++ b/services/bsky/Dockerfile @@ -23,9 +23,7 @@ COPY ./services/bsky ./services/bsky # install all deps RUN pnpm install --frozen-lockfile > /dev/null # build all packages with external node_modules -RUN ATP_BUILD_SHALLOW=true pnpm build > /dev/null -# update main with publishConfig -RUN pnpm update-main-to-dist > /dev/null +RUN pnpm build > /dev/null # clean up RUN rm -rf node_modules # install only prod deps, hoisted to root node_modules dir diff --git a/services/pds/Dockerfile b/services/pds/Dockerfile index c108df56ddd..fe197bb15e0 100644 --- a/services/pds/Dockerfile +++ b/services/pds/Dockerfile @@ -24,9 +24,7 @@ COPY ./services/pds ./services/pds # install all deps RUN pnpm install --frozen-lockfile > /dev/null # build all packages with external node_modules -RUN ATP_BUILD_SHALLOW=true pnpm build > /dev/null -# update main with publishConfig -RUN pnpm update-main-to-dist > /dev/null +RUN pnpm build > /dev/null # clean up RUN rm -rf node_modules # install only prod deps, hoisted to root node_modules dir diff --git a/test-setup.ts b/test-setup.ts deleted file mode 100644 index 7936c55bb27..00000000000 --- a/test-setup.ts +++ /dev/null @@ -1,3 +0,0 @@ -import dotenv from 'dotenv' - -dotenv.config({ path: './test.env' }) diff --git a/tsconfig.json b/tsconfig.json index e9a88ea1164..f7e2bd2dac9 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,44 +1,23 @@ { - "compilerOptions": { - "declaration": true, - "noImplicitAny": false, - "removeComments": true, - "noLib": false, - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "target": "es2020", - "sourceMap": true, - "module": "commonjs", - "jsx": "preserve", - "strict": true, - "strictPropertyInitialization": false, - "moduleResolution": "node", - "resolveJsonModule": true, - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "lib": ["dom", "dom.iterable", "esnext", "webworker"], - "skipLibCheck": true, - "forceConsistentCasingInFileNames": true, - "isolatedModules": true - }, - "exclude": ["node_modules", "**/*/dist"], + "include": [], "references": [ - { "path": "./packages/pds/tsconfig.build.json" }, - { "path": "./packages/bsky/tsconfig.build.json" }, - { "path": "./packages/api/tsconfig.build.json" }, - { "path": "./packages/aws/tsconfig.build.json" }, - { "path": "./packages/common/tsconfig.build.json" }, - { "path": "./packages/common-web/tsconfig.build.json" }, - { "path": "./packages/crypto/tsconfig.build.json" }, - { "path": "./packages/dev-env" }, - { "path": "./packages/identity/tsconfig.build.json" }, - { "path": "./packages/identifier/tsconfig.build.json" }, - { "path": "./packages/syntax/tsconfig.build.json" }, - { "path": "./packages/lexicon/tsconfig.build.json" }, - { "path": "./packages/lex-cli/tsconfig.build.json" }, - { "path": "./packages/nsid/tsconfig.build.json" }, - { "path": "./packages/uri/tsconfig.build.json" }, - { "path": "./packages/xrpc/tsconfig.build.json" }, - { "path": "./packages/xrpc-server/tsconfig.build.json" } + { "path": "./tsconfig.scripts.json" }, + + { "path": "./packages/api" }, + { "path": "./packages/aws" }, + { "path": "./packages/bsky" }, + { "path": "./packages/common" }, + { "path": "./packages/common-web" }, + { "path": "./packages/crypto" }, + // { "path": "./packages/dev-env" }, + // { "path": "./packages/dev-infra" }, + { "path": "./packages/identity" }, + // { "path": "./packages/lex-cli" }, + { "path": "./packages/lexicon" }, + // { "path": "./packages/pds" }, + { "path": "./packages/repo" }, + { "path": "./packages/syntax" }, + { "path": "./packages/xrpc" }, + { "path": "./packages/xrpc-server" } ] } diff --git a/tsconfig.scripts.json b/tsconfig.scripts.json new file mode 100644 index 00000000000..46eba3fb5e2 --- /dev/null +++ b/tsconfig.scripts.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig/scripts.json", + "include": ["./*.js", "./*.ts"] +} diff --git a/tsconfig/base.json b/tsconfig/base.json new file mode 100644 index 00000000000..034c6148b78 --- /dev/null +++ b/tsconfig/base.json @@ -0,0 +1,35 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "compilerOptions": { + "strict": true, + "strictPropertyInitialization": false, + "noImplicitAny": false, + "forceConsistentCasingInFileNames": true, + + "isolatedModules": true, + + "checkJs": true, + + "jsx": "preserve", + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "skipLibCheck": true, + + "resolveJsonModule": true, + "target": "ES2020", + "module": "CommonJS", + "moduleResolution": "Node", + + "composite": true, + "lib": ["ES2022", "DOM", "DOM.Iterable"], + "types": ["node"], + + "importHelpers": true, + "sourceMap": true, + "declarationMap": true + }, + "typeAcquisition": { + "enable": false + }, + "exclude": ["node_modules", "dist"] +} diff --git a/tsconfig/scripts.json b/tsconfig/scripts.json new file mode 100644 index 00000000000..d7d33e61d9a --- /dev/null +++ b/tsconfig/scripts.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": ["./base.json"], + "compilerOptions": { + "noEmit": true, + "composite": false, + "declaration": false, + "declarationMap": false + } +} diff --git a/tsconfig/test.json b/tsconfig/test.json new file mode 100644 index 00000000000..f31c4aad769 --- /dev/null +++ b/tsconfig/test.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": ["./scripts.json"], + "compilerOptions": { + "types": ["node", "jest"], + } +} diff --git a/update-main-to-dist.js b/update-main-to-dist.js deleted file mode 100644 index fe625caa4d6..00000000000 --- a/update-main-to-dist.js +++ /dev/null @@ -1,9 +0,0 @@ -const path = require('path') -const pkgJson = require('@npmcli/package-json') - -const [dir] = process.argv.slice(2) - -pkgJson - .load(path.resolve(__dirname, dir)) - .then((pkg) => pkg.update({ main: pkg.content.publishConfig.main })) - .then((pkg) => pkg.save())