diff --git a/package.json b/package.json index 0bc603c7d..d70f72e61 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "@types/node": "^20.14.5", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", + "esbuild": "^0.24.0", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.2.1", @@ -35,7 +36,7 @@ "ts-jest": "^29.1.5", "ts-node": "^10.9.2", "tsc-alias": "^1.8.8", - "typescript": "^5.3.3" + "typescript": "^5.6.3" }, "lint-staged": { "./packages/**/*.{js,jsx,ts,tsx}": [ diff --git a/packages/api-kit/package.json b/packages/api-kit/package.json index 8ec5b808b..6504e7c4d 100644 --- a/packages/api-kit/package.json +++ b/packages/api-kit/package.json @@ -2,8 +2,14 @@ "name": "@safe-global/api-kit", "version": "2.5.4", "description": "SDK that facilitates the interaction with the Safe Transaction Service API", - "main": "dist/src/index.js", - "typings": "dist/src/index.d.ts", + "types": "dist/src/index.d.ts", + "main": "dist/cjs/index.cjs", + "module": "dist/esm/index.mjs", + "exports": { + "types": "./dist/src/index.d.ts", + "require": "./dist/cjs/index.cjs", + "import": "./dist/esm/index.mjs" + }, "keywords": [ "Ethereum", "Wallet", @@ -23,7 +29,10 @@ "format:check": "prettier --check \"*/**/*.{js,json,md,ts}\"", "format": "prettier --write \"*/**/*.{js,json,md,ts}\"", "unbuild": "rimraf dist .nyc_output cache", - "build": "yarn unbuild && tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json" + "build": "yarn unbuild && yarn build:esm && yarn build:cjs && yarn build:types", + "build:esm": "esbuild ./src/index --format=esm --bundle --packages=external --outdir=dist/esm --out-extension:.js=.mjs", + "build:cjs": "esbuild ./src/index --format=cjs --bundle --packages=external --outdir=dist/cjs --out-extension:.js=.cjs", + "build:types": "NODE_OPTIONS=--max-old-space-size=8192 tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json" }, "repository": { "type": "git", diff --git a/packages/api-kit/tests/e2e/addSafeOperation.test.ts b/packages/api-kit/tests/e2e/addSafeOperation.test.ts index 09cb2f33d..e32c6dee0 100644 --- a/packages/api-kit/tests/e2e/addSafeOperation.test.ts +++ b/packages/api-kit/tests/e2e/addSafeOperation.test.ts @@ -6,14 +6,14 @@ import Safe from '@safe-global/protocol-kit' import SafeApiKit from '@safe-global/api-kit/index' import { getAddSafeOperationProps } from '@safe-global/api-kit/utils/safeOperation' import { BundlerClient, Safe4337Pack } from '@safe-global/relay-kit' -import { generateTransferCallData } from '@safe-global/relay-kit/packs/safe-4337/testing-utils/helpers' +// @ts-expect-error crazy hack to get test working +import * as utils from '@safe-global/relay-kit/dist/cjs/src/packs/safe-4337/utils' import { + generateTransferCallData, ENTRYPOINT_ABI, ENTRYPOINT_ADDRESS_V06, RPC_4337_CALLS -} from '@safe-global/relay-kit/packs/safe-4337/constants' -// Needs to be imported from dist folder in order to mock the getEip4337BundlerProvider function -import * as safe4337Utils from '@safe-global/relay-kit/dist/src/packs/safe-4337/utils' +} from '@safe-global/relay-kit/test-utils' import { getKits } from '../utils/setupKits' chai.use(chaiAsPromised) @@ -41,7 +41,7 @@ describe('addSafeOperation', () => { const requestStub = sinon.stub() // Setup mocks for the bundler client before(async () => { - sinon.stub(safe4337Utils, 'getEip4337BundlerProvider').returns({ + sinon.stub(utils, 'getEip4337BundlerProvider').returns({ request: requestStub, readContract: sinon .stub() diff --git a/packages/api-kit/tests/e2e/confirmSafeOperation.test.ts b/packages/api-kit/tests/e2e/confirmSafeOperation.test.ts index 075febbe5..57c750d26 100644 --- a/packages/api-kit/tests/e2e/confirmSafeOperation.test.ts +++ b/packages/api-kit/tests/e2e/confirmSafeOperation.test.ts @@ -3,17 +3,17 @@ import chaiAsPromised from 'chai-as-promised' import sinon from 'sinon' import sinonChai from 'sinon-chai' import { BundlerClient, Safe4337InitOptions, Safe4337Pack } from '@safe-global/relay-kit' -import { generateTransferCallData } from '@safe-global/relay-kit/packs/safe-4337/testing-utils/helpers' +import { + generateTransferCallData, + ENTRYPOINT_ADDRESS_V06, + RPC_4337_CALLS +} from '@safe-global/relay-kit/test-utils' +// @ts-expect-error crazy hack to get test working +import * as utils from '@safe-global/relay-kit/dist/cjs/src/packs/safe-4337/utils' import SafeApiKit from '@safe-global/api-kit/index' import { getAddSafeOperationProps } from '@safe-global/api-kit/utils/safeOperation' import { SafeOperation } from '@safe-global/types-kit' -// Needs to be imported from dist folder in order to mock the getEip4337BundlerProvider function -import * as safe4337Utils from '@safe-global/relay-kit/dist/src/packs/safe-4337/utils' import { getApiKit, getEip1193Provider } from '../utils/setupKits' -import { - ENTRYPOINT_ADDRESS_V06, - RPC_4337_CALLS -} from '@safe-global/relay-kit/packs/safe-4337/constants' chai.use(chaiAsPromised) chai.use(sinonChai) @@ -73,7 +73,7 @@ describe('confirmSafeOperation', () => { const requestStub = sinon.stub() before(async () => { - sinon.stub(safe4337Utils, 'getEip4337BundlerProvider').returns({ + sinon.stub(utils, 'getEip4337BundlerProvider').returns({ request: requestStub } as unknown as BundlerClient) diff --git a/packages/api-kit/tsconfig.build.json b/packages/api-kit/tsconfig.build.json index c05e497c4..00513d17b 100644 --- a/packages/api-kit/tsconfig.build.json +++ b/packages/api-kit/tsconfig.build.json @@ -1,8 +1,11 @@ { - "extends": "../../tsconfig.settings.json", + "extends": "./tsconfig.json", "compilerOptions": { - "composite": true, - "outDir": "dist" + "declaration": true, + "emitDeclarationOnly": true, + "declarationMap": true, + "outDir": "dist/src" }, - "include": ["src/**/*"] + "include": ["src/**/*"], + "exclude": ["dist", "test"] } diff --git a/packages/api-kit/tsconfig.json b/packages/api-kit/tsconfig.json index 18bfaf51a..fe5e15882 100644 --- a/packages/api-kit/tsconfig.json +++ b/packages/api-kit/tsconfig.json @@ -1,8 +1,11 @@ { "extends": "../../tsconfig.settings.json", "compilerOptions": { - "composite": true, - "outDir": "dist" + "baseUrl": "./", + "paths": { + "@safe-global/api-kit/*": ["./src/*"] + } }, - "include": ["src/**/*", "tests/**/*"] + "include": ["src/**/*", "tests/**/*"], + "exclude": ["dist"] } diff --git a/packages/protocol-kit/package.json b/packages/protocol-kit/package.json index 7c26a1ea3..449380399 100644 --- a/packages/protocol-kit/package.json +++ b/packages/protocol-kit/package.json @@ -2,8 +2,21 @@ "name": "@safe-global/protocol-kit", "version": "5.0.4", "description": "SDK that facilitates the interaction with Safe Smart Accounts", - "main": "dist/src/index.js", "types": "dist/src/index.d.ts", + "main": "dist/cjs/src/index.cjs", + "module": "dist/esm/src/index.mjs", + "exports": { + ".": { + "types": "./dist/src/index.d.ts", + "require": "./dist/cjs/src/index.cjs", + "import": "./dist/esm/src/index.mjs" + }, + "./test-utils": { + "types": "./dist/test-utils/index.d.ts", + "require": "./dist/cjs/test-utils/index.cjs", + "import": "./dist/esm/test-utils/index.mjs" + } + }, "keywords": [ "Ethereum", "Wallet", @@ -35,7 +48,10 @@ "format:check": "prettier --check \"*/**/*.{js,json,md,ts}\"", "format": "prettier --write \"*/**/*.{js,json,md,ts}\"", "unbuild": "rimraf dist artifacts deployments cache .nyc_output *.tsbuildinfo", - "build": "yarn unbuild && yarn check-safe-deployments && NODE_OPTIONS=--max-old-space-size=8192 tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json" + "build": "yarn unbuild && yarn check-safe-deployments && yarn build:esm && yarn build:cjs && yarn build:types", + "build:esm": "esbuild ./src/index ./test-utils/index --format=esm --bundle --packages=external --outdir=dist/esm --out-extension:.js=.mjs", + "build:cjs": "esbuild ./src/index ./test-utils/index --format=cjs --bundle --packages=external --outdir=dist/cjs --out-extension:.js=.cjs", + "build:types": "NODE_OPTIONS=--max-old-space-size=8192 tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json" }, "repository": { "type": "git", diff --git a/packages/protocol-kit/test-utils/index.ts b/packages/protocol-kit/test-utils/index.ts new file mode 100644 index 000000000..cc35fc2ca --- /dev/null +++ b/packages/protocol-kit/test-utils/index.ts @@ -0,0 +1,2 @@ +export * from './passkeys' +export * from './webauthnShim' diff --git a/packages/protocol-kit/tests/e2e/utils/passkeys.ts b/packages/protocol-kit/test-utils/passkeys.ts similarity index 96% rename from packages/protocol-kit/tests/e2e/utils/passkeys.ts rename to packages/protocol-kit/test-utils/passkeys.ts index 2053af959..6db62ad92 100644 --- a/packages/protocol-kit/tests/e2e/utils/passkeys.ts +++ b/packages/protocol-kit/test-utils/passkeys.ts @@ -1,7 +1,7 @@ -import { PasskeyArgType, PasskeyClient, extractPasskeyCoordinates } from '@safe-global/protocol-kit' +import { PasskeyArgType, PasskeyClient, extractPasskeyCoordinates } from '../src' +import { asHex } from '../src/utils/types' import { WebAuthnCredentials } from './webauthnShim' import { WalletClient, keccak256, toBytes, Transport, Chain, Account } from 'viem' -import { asHex } from '@safe-global/protocol-kit/utils/types' let singleInstance: WebAuthnCredentials diff --git a/packages/protocol-kit/tests/e2e/utils/webauthnShim.ts b/packages/protocol-kit/test-utils/webauthnShim.ts similarity index 100% rename from packages/protocol-kit/tests/e2e/utils/webauthnShim.ts rename to packages/protocol-kit/test-utils/webauthnShim.ts diff --git a/packages/protocol-kit/tests/e2e/passkey.test.ts b/packages/protocol-kit/tests/e2e/passkey.test.ts index a8ba67645..7be0e1762 100644 --- a/packages/protocol-kit/tests/e2e/passkey.test.ts +++ b/packages/protocol-kit/tests/e2e/passkey.test.ts @@ -23,7 +23,11 @@ import { } from '@safe-global/protocol-kit/contracts/safeDeploymentContracts' import { getEip1193Provider } from './utils/setupProvider' import { waitSafeTxReceipt } from './utils/transactions' -import { createMockPasskey, getWebAuthnCredentials, deployPasskeysContract } from './utils/passkeys' +import { + createMockPasskey, + getWebAuthnCredentials, + deployPasskeysContract +} from '@safe-global/protocol-kit/test-utils' chai.use(chaiAsPromised) chai.use(sinonChai) diff --git a/packages/protocol-kit/tests/e2e/safeProvider.test.ts b/packages/protocol-kit/tests/e2e/safeProvider.test.ts index 089b01ac4..60bd7e67a 100644 --- a/packages/protocol-kit/tests/e2e/safeProvider.test.ts +++ b/packages/protocol-kit/tests/e2e/safeProvider.test.ts @@ -5,7 +5,7 @@ import { getEip1193Provider } from './utils/setupProvider' import { SafeProvider } from '@safe-global/protocol-kit/index' import sinon from 'sinon' import sinonChai from 'sinon-chai' -import { createMockPasskey, getWebAuthnCredentials } from './utils/passkeys' +import { createMockPasskey, getWebAuthnCredentials } from '@safe-global/protocol-kit/test-utils' import { publicActions, walletActions } from 'viem' chai.use(chaiAsPromised) diff --git a/packages/protocol-kit/tsconfig.build.json b/packages/protocol-kit/tsconfig.build.json index c05e497c4..1a132aac0 100644 --- a/packages/protocol-kit/tsconfig.build.json +++ b/packages/protocol-kit/tsconfig.build.json @@ -1,8 +1,11 @@ { - "extends": "../../tsconfig.settings.json", + "extends": "./tsconfig.json", "compilerOptions": { - "composite": true, + "declaration": true, + "emitDeclarationOnly": true, + "declarationMap": true, "outDir": "dist" }, - "include": ["src/**/*"] + "include": ["src/**/*", "test-utils/**/*"], + "exclude": ["dist", "test"] } diff --git a/packages/protocol-kit/tsconfig.json b/packages/protocol-kit/tsconfig.json index 5f6bc90a7..c24b6ffe7 100644 --- a/packages/protocol-kit/tsconfig.json +++ b/packages/protocol-kit/tsconfig.json @@ -1,8 +1,11 @@ { "extends": "../../tsconfig.settings.json", "compilerOptions": { - "composite": true, - "outDir": "dist" + "baseUrl": "./", + "paths": { + "@safe-global/protocol-kit/*": ["./src/*"] + } }, - "include": ["src/**/*", "tests/**/*", "hardhat/**/*", "hardhat.config.ts"] + "include": ["src/**/*", "tests/**/*", "hardhat/**/*", "hardhat.config.ts"], + "exclude": ["dist"] } diff --git a/packages/relay-kit/jest.config.js b/packages/relay-kit/jest.config.js index fdc6f4885..0934a355c 100644 --- a/packages/relay-kit/jest.config.js +++ b/packages/relay-kit/jest.config.js @@ -6,7 +6,7 @@ const config = { }, moduleNameMapper: { '^@safe-global/protocol-kit/tests/(.*)$': '/../protocol-kit/tests/$1', - '^@safe-global/protocol-kit/(.*)$': '/../protocol-kit/src/$1', + '^@safe-global/relay-kit/test-utils$': '/test-utils', '^@safe-global/relay-kit/(.*)$': '/src/$1' }, testTimeout: 20000 diff --git a/packages/relay-kit/package.json b/packages/relay-kit/package.json index 5e5be690d..60c092931 100644 --- a/packages/relay-kit/package.json +++ b/packages/relay-kit/package.json @@ -2,8 +2,26 @@ "name": "@safe-global/relay-kit", "version": "3.2.4", "description": "SDK for Safe Smart Accounts with support for ERC-4337 and Relay", - "main": "dist/src/index.js", - "typings": "dist/src/index.d.ts", + "types": "dist/src/index.d.ts", + "main": "dist/cjs/src/index.js", + "module": "dist/esm/src/index.js", + "exports": { + ".": { + "types": "./dist/src/index.d.ts", + "require": "./dist/cjs/src/index.js", + "import": "./dist/esm/src/index.js" + }, + "./test-utils": { + "types": "./dist/test-utils/index.d.ts", + "require": "./dist/cjs/test-utils/index.js", + "import": "./dist/esm/test-utils/index.js" + }, + "./dist/cjs/src/packs/safe-4337/utils": { + "types": "./dist/src/packs/safe-4337/utils.d.ts", + "require": "./dist/cjs/src/packs/safe-4337/utils.js", + "import": "./dist/esm/src/packs/safe-4337/utils.js" + } + }, "keywords": [ "Ethereum", "Wallet", @@ -19,7 +37,10 @@ "format:check": "prettier --check \"*/**/*.{js,json,md,ts}\"", "format": "prettier --write \"*/**/*.{js,json,md,ts}\"", "unbuild": "rimraf dist .nyc_output cache", - "build": "yarn unbuild && tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json" + "build": "yarn unbuild && yarn build:esm && yarn build:cjs && yarn build:types", + "build:esm": "tsc -p tsconfig.build.json --module esnext --outDir dist/esm && tsc-alias -p tsconfig.build.json --outDir dist/esm", + "build:cjs": "tsc -p tsconfig.build.json --outDir dist/cjs && tsc-alias -p tsconfig.build.json --outDir dist/cjs", + "build:types": "NODE_OPTIONS=--max-old-space-size=8192 tsc -p tsconfig.build.json --declaration --declarationMap --emitDeclarationOnly && tsc-alias -p tsconfig.build.json" }, "repository": { "type": "git", diff --git a/packages/relay-kit/src/packs/safe-4337/Safe4337Pack.test.ts b/packages/relay-kit/src/packs/safe-4337/Safe4337Pack.test.ts index 117d32fe8..273151250 100644 --- a/packages/relay-kit/src/packs/safe-4337/Safe4337Pack.test.ts +++ b/packages/relay-kit/src/packs/safe-4337/Safe4337Pack.test.ts @@ -2,8 +2,7 @@ import crypto from 'crypto' import dotenv from 'dotenv' import * as viem from 'viem' import Safe, * as protocolKit from '@safe-global/protocol-kit' -import { WebAuthnCredentials } from '@safe-global/protocol-kit/tests/e2e/utils/webauthnShim' -import { createMockPasskey } from '@safe-global/protocol-kit/tests/e2e/utils/passkeys' +import { WebAuthnCredentials, createMockPasskey } from '@safe-global/protocol-kit/test-utils' import { getAddModulesLibDeployment, getSafe4337ModuleDeployment @@ -12,9 +11,12 @@ import { MetaTransactionData, OperationType } from '@safe-global/types-kit' import { Safe4337Pack } from './Safe4337Pack' import EthSafeOperation from './SafeOperation' import * as constants from './constants' -import * as fixtures from './testing-utils/fixtures' -import { createSafe4337Pack, generateTransferCallData } from './testing-utils/helpers' import * as utils from './utils' +import { + fixtures, + createSafe4337Pack, + generateTransferCallData +} from '@safe-global/relay-kit/test-utils' dotenv.config() diff --git a/packages/relay-kit/src/packs/safe-4337/SafeOperation.test.ts b/packages/relay-kit/src/packs/safe-4337/SafeOperation.test.ts index 9ea2645dd..6dd6753ce 100644 --- a/packages/relay-kit/src/packs/safe-4337/SafeOperation.test.ts +++ b/packages/relay-kit/src/packs/safe-4337/SafeOperation.test.ts @@ -1,7 +1,7 @@ import { Hex, encodePacked } from 'viem' import { EthSafeSignature } from '@safe-global/protocol-kit' import EthSafeOperation from './SafeOperation' -import * as fixtures from './testing-utils/fixtures' +import { fixtures } from '@safe-global/relay-kit/test-utils' describe('SafeOperation', () => { it('should create a SafeOperation from an UserOperation', () => { diff --git a/packages/relay-kit/src/packs/safe-4337/estimators/PimlicoFeeEstimator.test.ts b/packages/relay-kit/src/packs/safe-4337/estimators/PimlicoFeeEstimator.test.ts index c6f263ef7..0d5e3d9d0 100644 --- a/packages/relay-kit/src/packs/safe-4337/estimators/PimlicoFeeEstimator.test.ts +++ b/packages/relay-kit/src/packs/safe-4337/estimators/PimlicoFeeEstimator.test.ts @@ -1,5 +1,5 @@ import { PimlicoFeeEstimator } from './PimlicoFeeEstimator' -import * as fixtures from '../testing-utils/fixtures' +import { fixtures } from '@safe-global/relay-kit/test-utils' import * as constants from '../constants' jest.mock('../utils', () => ({ diff --git a/packages/relay-kit/src/packs/safe-4337/testing-utils/fixtures.ts b/packages/relay-kit/test-utils/fixtures.ts similarity index 99% rename from packages/relay-kit/src/packs/safe-4337/testing-utils/fixtures.ts rename to packages/relay-kit/test-utils/fixtures.ts index 706238353..f937a0036 100644 --- a/packages/relay-kit/src/packs/safe-4337/testing-utils/fixtures.ts +++ b/packages/relay-kit/test-utils/fixtures.ts @@ -1,4 +1,4 @@ -import { ENTRYPOINT_ADDRESS_V06, ENTRYPOINT_ADDRESS_V07 } from '../constants' +import { ENTRYPOINT_ADDRESS_V06, ENTRYPOINT_ADDRESS_V07 } from '../src/packs/safe-4337/constants' export const OWNER_1 = '0xFfAC5578BE8AC1B2B9D13b34cAf4A074B96B8A1b' export const OWNER_2 = '0x3059EfD1BCe33be41eeEfd5fb6D520d7fEd54E43' diff --git a/packages/relay-kit/src/packs/safe-4337/testing-utils/helpers.ts b/packages/relay-kit/test-utils/helpers.ts similarity index 87% rename from packages/relay-kit/src/packs/safe-4337/testing-utils/helpers.ts rename to packages/relay-kit/test-utils/helpers.ts index 15f7d29f6..539ca1003 100644 --- a/packages/relay-kit/src/packs/safe-4337/testing-utils/helpers.ts +++ b/packages/relay-kit/test-utils/helpers.ts @@ -1,6 +1,6 @@ import { encodeFunctionData, parseAbi } from 'viem' -import { Safe4337InitOptions } from '../types' -import { Safe4337Pack } from '../Safe4337Pack' +import { Safe4337InitOptions } from '../src/packs/safe-4337/types' +import { Safe4337Pack } from '../src/packs/safe-4337/Safe4337Pack' import * as fixtures from './fixtures' export const generateTransferCallData = (to: string, value: bigint) => { diff --git a/packages/relay-kit/test-utils/index.ts b/packages/relay-kit/test-utils/index.ts new file mode 100644 index 000000000..d9baaeb65 --- /dev/null +++ b/packages/relay-kit/test-utils/index.ts @@ -0,0 +1,7 @@ +export * as fixtures from './fixtures' +export * from './helpers' +export { + ENTRYPOINT_ABI, + ENTRYPOINT_ADDRESS_V06, + RPC_4337_CALLS +} from '../src/packs/safe-4337/constants' diff --git a/packages/relay-kit/tsconfig.build.json b/packages/relay-kit/tsconfig.build.json index cc22498f1..a49ad22fa 100644 --- a/packages/relay-kit/tsconfig.build.json +++ b/packages/relay-kit/tsconfig.build.json @@ -1,9 +1,8 @@ { - "extends": "../../tsconfig.settings.json", + "extends": "./tsconfig.json", "compilerOptions": { - "composite": true, "outDir": "dist" }, - "include": ["src/**/*"], - "exclude": ["src/**/*.test.ts", "src/**/*.test-d.ts"] + "include": ["src/**/*", "test-utils/**/*"], + "exclude": ["dist", "src/**/*.test.ts", "src/**/*.test-d.ts"] } diff --git a/packages/relay-kit/tsconfig.json b/packages/relay-kit/tsconfig.json index c05e497c4..de8a38bd8 100644 --- a/packages/relay-kit/tsconfig.json +++ b/packages/relay-kit/tsconfig.json @@ -1,8 +1,11 @@ { "extends": "../../tsconfig.settings.json", "compilerOptions": { - "composite": true, - "outDir": "dist" + "baseUrl": "./", + "paths": { + "@safe-global/relay-kit/*": ["./src/*"] + } }, - "include": ["src/**/*"] + "include": ["src/**/*"], + "exclude": ["dist"] } diff --git a/packages/sdk-starter-kit/package.json b/packages/sdk-starter-kit/package.json index e9443b1b5..9eed96f5c 100644 --- a/packages/sdk-starter-kit/package.json +++ b/packages/sdk-starter-kit/package.json @@ -2,8 +2,14 @@ "name": "@safe-global/sdk-starter-kit", "version": "1.0.4", "description": "SDK that provides the basic tools to interact with the Safe Smart Account.", - "main": "dist/src/index.js", - "typings": "dist/src/index.d.ts", + "types": "dist/src/index.d.ts", + "main": "dist/cjs/index.cjs", + "module": "dist/esm/index.mjs", + "exports": { + "types": "./dist/src/index.d.ts", + "require": "./dist/cjs/index.cjs", + "import": "./dist/esm/index.mjs" + }, "keywords": [ "Ethereum", "Wallet", @@ -14,7 +20,10 @@ ], "scripts": { "unbuild": "rimraf dist", - "build": "yarn unbuild && tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json", + "build": "yarn unbuild && yarn build:esm && yarn build:cjs && yarn build:types", + "build:esm": "esbuild ./src/index --format=esm --bundle --packages=external --outdir=dist/esm --out-extension:.js=.mjs", + "build:cjs": "esbuild ./src/index --format=cjs --bundle --packages=external --outdir=dist/cjs --out-extension:.js=.cjs", + "build:types": "NODE_OPTIONS=--max-old-space-size=8192 tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json", "format:check": "prettier --check \"*/**/*.{js,json,md,ts}\"", "format": "prettier --write \"*/**/*.{js,json,md,ts}\"", "test": "jest src --coverage" diff --git a/packages/sdk-starter-kit/tsconfig.build.json b/packages/sdk-starter-kit/tsconfig.build.json index cc22498f1..fb93df610 100644 --- a/packages/sdk-starter-kit/tsconfig.build.json +++ b/packages/sdk-starter-kit/tsconfig.build.json @@ -1,9 +1,11 @@ { - "extends": "../../tsconfig.settings.json", + "extends": "./tsconfig.json", "compilerOptions": { - "composite": true, - "outDir": "dist" + "declaration": true, + "emitDeclarationOnly": true, + "declarationMap": true, + "outDir": "dist/src" }, "include": ["src/**/*"], - "exclude": ["src/**/*.test.ts", "src/**/*.test-d.ts"] + "exclude": ["dist", "src/**/*.test.ts", "src/**/*.test-d.ts"] } diff --git a/packages/sdk-starter-kit/tsconfig.json b/packages/sdk-starter-kit/tsconfig.json index c05e497c4..84ac71795 100644 --- a/packages/sdk-starter-kit/tsconfig.json +++ b/packages/sdk-starter-kit/tsconfig.json @@ -1,8 +1,11 @@ { "extends": "../../tsconfig.settings.json", "compilerOptions": { - "composite": true, - "outDir": "dist" + "baseUrl": "./", + "paths": { + "@safe-global/sdk-starter-kit/*": ["./src/*"] + } }, - "include": ["src/**/*"] + "include": ["src/**/*"], + "exclude": ["dist"] } diff --git a/packages/testing-kit/bin/testing-kit.js b/packages/testing-kit/bin/testing-kit.js index bbc371e4c..33cb85ff4 100755 --- a/packages/testing-kit/bin/testing-kit.js +++ b/packages/testing-kit/bin/testing-kit.js @@ -37,6 +37,8 @@ if (!fs.existsSync(hardhatConfigPath)) { } try { + process.env.TS_NODE_PROJECT = `${projectRoot}/tsconfig.json` + if (command === 'test' && directory) { execSync(`yarn ${command} ${path.join(projectRoot, directory)}`, { stdio: 'inherit' }) } else { diff --git a/packages/testing-kit/package.json b/packages/testing-kit/package.json index 0541fb4c8..3c6cc42b1 100644 --- a/packages/testing-kit/package.json +++ b/packages/testing-kit/package.json @@ -2,8 +2,14 @@ "name": "@safe-global/testing-kit", "version": "0.1.1", "description": "Helper package providing testing utilities", - "main": "dist/src/index.js", - "types": "dist/src/index.d.ts", + "types": "dist/src/src/index.d.ts", + "main": "dist/cjs/index.cjs", + "module": "dist/esm/index.mjs", + "exports": { + "types": "./dist/src/src/index.d.ts", + "require": "./dist/cjs/index.cjs", + "import": "./dist/esm/index.mjs" + }, "keywords": [ "Ethereum", "Wallet", @@ -16,7 +22,10 @@ "format:check": "prettier --check \"*/**/*.{js,json,md,ts}\"", "format": "prettier --write \"*/**/*.{js,json,md,ts}\"", "unbuild": "rimraf dist artifacts deployments cache .nyc_output *.tsbuildinfo", - "build": "yarn unbuild && hardhat compile && tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json", + "build": "yarn unbuild && hardhat compile && yarn build:esm && yarn build:cjs && yarn build:types", + "build:esm": "esbuild ./src/index --format=esm --bundle --packages=external --outdir=dist/esm --out-extension:.js=.mjs", + "build:cjs": "esbuild ./src/index --format=cjs --bundle --packages=external --outdir=dist/cjs --out-extension:.js=.cjs", + "build:types": "NODE_OPTIONS=--max-old-space-size=8192 tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json", "deploy": "hardhat deploy", "compile": "hardhat compile", "test": "hardhat test" diff --git a/packages/testing-kit/tsconfig.build.json b/packages/testing-kit/tsconfig.build.json index 21c0f1779..5283975a2 100644 --- a/packages/testing-kit/tsconfig.build.json +++ b/packages/testing-kit/tsconfig.build.json @@ -1,9 +1,12 @@ { - "extends": "../../tsconfig.settings.json", + "extends": "./tsconfig.json", "compilerOptions": { - "composite": true, - "outDir": "dist" + "declaration": true, + "emitDeclarationOnly": true, + "declarationMap": true, + "outDir": "dist/src" }, "include": ["src/**/*"], + "exclude": ["dist"], "files": ["./hardhat.config.ts"] } diff --git a/packages/testing-kit/tsconfig.json b/packages/testing-kit/tsconfig.json index c05e497c4..11e9d0a15 100644 --- a/packages/testing-kit/tsconfig.json +++ b/packages/testing-kit/tsconfig.json @@ -1,8 +1,5 @@ { "extends": "../../tsconfig.settings.json", - "compilerOptions": { - "composite": true, - "outDir": "dist" - }, - "include": ["src/**/*"] + "include": ["src/**/*"], + "exclude": ["dist"] } diff --git a/packages/types-kit/package.json b/packages/types-kit/package.json index 6ad1e7c6e..3fd7f8024 100644 --- a/packages/types-kit/package.json +++ b/packages/types-kit/package.json @@ -2,8 +2,14 @@ "name": "@safe-global/types-kit", "version": "1.0.0", "description": "Types for use with the Safe Core SDK packages", - "main": "dist/src/index.js", "types": "dist/src/index.d.ts", + "main": "dist/cjs/index.cjs", + "module": "dist/esm/index.mjs", + "exports": { + "types": "./dist/src/index.d.ts", + "require": "./dist/cjs/index.cjs", + "import": "./dist/esm/index.mjs" + }, "keywords": [ "Ethereum", "Wallet", @@ -15,7 +21,10 @@ "format:check": "prettier --check \"*/**/*.{js,json,md,ts}\"", "format": "prettier --write \"*/**/*.{js,json,md,ts}\"", "unbuild": "rimraf dist *.tsbuildinfo", - "build": "yarn unbuild && tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json" + "build": "yarn unbuild && yarn build:esm && yarn build:cjs && yarn build:types", + "build:esm": "esbuild ./src/index --format=esm --bundle --packages=external --outdir=dist/esm --out-extension:.js=.mjs", + "build:cjs": "esbuild ./src/index --format=cjs --bundle --packages=external --outdir=dist/cjs --out-extension:.js=.cjs", + "build:types": "NODE_OPTIONS=--max-old-space-size=8192 tsc -p tsconfig.build.json" }, "repository": { "type": "git", diff --git a/packages/types-kit/tsconfig.build.json b/packages/types-kit/tsconfig.build.json index c05e497c4..c4f78f857 100644 --- a/packages/types-kit/tsconfig.build.json +++ b/packages/types-kit/tsconfig.build.json @@ -1,8 +1,11 @@ { - "extends": "../../tsconfig.settings.json", + "extends": "./tsconfig.json", "compilerOptions": { - "composite": true, - "outDir": "dist" + "declaration": true, + "emitDeclarationOnly": true, + "declarationMap": true, + "outDir": "dist/src" }, - "include": ["src/**/*"] + "include": ["src/**/*"], + "exclude": ["dist"] } diff --git a/packages/types-kit/tsconfig.json b/packages/types-kit/tsconfig.json index c05e497c4..27ee7ecc9 100644 --- a/packages/types-kit/tsconfig.json +++ b/packages/types-kit/tsconfig.json @@ -1,8 +1,11 @@ { "extends": "../../tsconfig.settings.json", "compilerOptions": { - "composite": true, - "outDir": "dist" + "baseUrl": "./", + "paths": { + "@safe-global/types-kit/*": ["./src/*"] + } }, - "include": ["src/**/*"] + "include": ["src/**/*"], + "exclude": ["dist"] } diff --git a/tsconfig.settings.json b/tsconfig.settings.json index df950e2b4..2af7ffd03 100644 --- a/tsconfig.settings.json +++ b/tsconfig.settings.json @@ -3,7 +3,6 @@ "target": "ES2020" /* Specify ECMAScript target version: 'ES5' (default), 'ES2019', 'ES2020', 'ES2021', 'ES2022', 'ES2023' or 'ESNEXT'. */, "module": "CommonJS" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, "allowJs": false /* Allow javascript files to be compiled. */, - "declaration": true /* Generates corresponding '.d.ts' file. */, "sourceMap": true /* Generates corresponding '.map' file. */, "strict": true /* Enable all strict type-checking options. */, "noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */, @@ -19,15 +18,7 @@ "skipLibCheck": true /* Skip type checking of declaration files. */, "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */, "resolveJsonModule": true, - "baseUrl": "./", - "paths": { - "@safe-global/api-kit/*": ["./packages/api-kit/src/*"], - "@safe-global/protocol-kit/*": ["./packages/protocol-kit/src/*"], - "@safe-global/protocol-kit/hardhat/*": ["./packages/protocol-kit/hardhat/*"], - "@safe-global/relay-kit/*": ["./packages/relay-kit/src/*"], - "@safe-global/types-kit/*": ["./packages/types-kit/src/*"], - "@safe-global/sdk-starter-kit/*": ["./packages/sdk-starter-kit/src/*"] - } + "baseUrl": "./" }, "exclude": ["**/dist", "**/node_modules"] } diff --git a/yarn.lock b/yarn.lock index 904bf6e2a..e20cc8dc4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -327,6 +327,126 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" +"@esbuild/aix-ppc64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz#b57697945b50e99007b4c2521507dc613d4a648c" + integrity sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw== + +"@esbuild/android-arm64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz#1add7e0af67acefd556e407f8497e81fddad79c0" + integrity sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w== + +"@esbuild/android-arm@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.24.0.tgz#ab7263045fa8e090833a8e3c393b60d59a789810" + integrity sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew== + +"@esbuild/android-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.24.0.tgz#e8f8b196cfdfdd5aeaebbdb0110983460440e705" + integrity sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ== + +"@esbuild/darwin-arm64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz#2d0d9414f2acbffd2d86e98253914fca603a53dd" + integrity sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw== + +"@esbuild/darwin-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz#33087aab31a1eb64c89daf3d2cf8ce1775656107" + integrity sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA== + +"@esbuild/freebsd-arm64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz#bb76e5ea9e97fa3c753472f19421075d3a33e8a7" + integrity sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA== + +"@esbuild/freebsd-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz#e0e2ce9249fdf6ee29e5dc3d420c7007fa579b93" + integrity sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ== + +"@esbuild/linux-arm64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz#d1b2aa58085f73ecf45533c07c82d81235388e75" + integrity sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g== + +"@esbuild/linux-arm@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz#8e4915df8ea3e12b690a057e77a47b1d5935ef6d" + integrity sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw== + +"@esbuild/linux-ia32@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz#8200b1110666c39ab316572324b7af63d82013fb" + integrity sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA== + +"@esbuild/linux-loong64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz#6ff0c99cf647504df321d0640f0d32e557da745c" + integrity sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g== + +"@esbuild/linux-mips64el@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz#3f720ccd4d59bfeb4c2ce276a46b77ad380fa1f3" + integrity sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA== + +"@esbuild/linux-ppc64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz#9d6b188b15c25afd2e213474bf5f31e42e3aa09e" + integrity sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ== + +"@esbuild/linux-riscv64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz#f989fdc9752dfda286c9cd87c46248e4dfecbc25" + integrity sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw== + +"@esbuild/linux-s390x@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz#29ebf87e4132ea659c1489fce63cd8509d1c7319" + integrity sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g== + +"@esbuild/linux-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz#4af48c5c0479569b1f359ffbce22d15f261c0cef" + integrity sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA== + +"@esbuild/netbsd-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz#1ae73d23cc044a0ebd4f198334416fb26c31366c" + integrity sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg== + +"@esbuild/openbsd-arm64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz#5d904a4f5158c89859fd902c427f96d6a9e632e2" + integrity sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg== + +"@esbuild/openbsd-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz#4c8aa88c49187c601bae2971e71c6dc5e0ad1cdf" + integrity sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q== + +"@esbuild/sunos-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz#8ddc35a0ea38575fa44eda30a5ee01ae2fa54dd4" + integrity sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA== + +"@esbuild/win32-arm64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz#6e79c8543f282c4539db684a207ae0e174a9007b" + integrity sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA== + +"@esbuild/win32-ia32@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz#057af345da256b7192d18b676a02e95d0fa39103" + integrity sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw== + +"@esbuild/win32-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz#168ab1c7e1c318b922637fad8f339d48b01e1244" + integrity sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA== + "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" @@ -3707,6 +3827,36 @@ es6-error@^4.0.1: resolved "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz" integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== +esbuild@^0.24.0: + version "0.24.0" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.24.0.tgz#f2d470596885fcb2e91c21eb3da3b3c89c0b55e7" + integrity sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ== + optionalDependencies: + "@esbuild/aix-ppc64" "0.24.0" + "@esbuild/android-arm" "0.24.0" + "@esbuild/android-arm64" "0.24.0" + "@esbuild/android-x64" "0.24.0" + "@esbuild/darwin-arm64" "0.24.0" + "@esbuild/darwin-x64" "0.24.0" + "@esbuild/freebsd-arm64" "0.24.0" + "@esbuild/freebsd-x64" "0.24.0" + "@esbuild/linux-arm" "0.24.0" + "@esbuild/linux-arm64" "0.24.0" + "@esbuild/linux-ia32" "0.24.0" + "@esbuild/linux-loong64" "0.24.0" + "@esbuild/linux-mips64el" "0.24.0" + "@esbuild/linux-ppc64" "0.24.0" + "@esbuild/linux-riscv64" "0.24.0" + "@esbuild/linux-s390x" "0.24.0" + "@esbuild/linux-x64" "0.24.0" + "@esbuild/netbsd-x64" "0.24.0" + "@esbuild/openbsd-arm64" "0.24.0" + "@esbuild/openbsd-x64" "0.24.0" + "@esbuild/sunos-x64" "0.24.0" + "@esbuild/win32-arm64" "0.24.0" + "@esbuild/win32-ia32" "0.24.0" + "@esbuild/win32-x64" "0.24.0" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" @@ -8303,10 +8453,10 @@ typedarray@^0.0.6: resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -"typescript@>=3 < 6", typescript@^5.3.3: - version "5.3.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" - integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== +"typescript@>=3 < 6", typescript@^5.6.3: + version "5.6.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.3.tgz#5f3449e31c9d94febb17de03cc081dd56d81db5b" + integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw== uglify-js@^3.1.4: version "3.17.4"