From 9580d29aa0a181e3ded9c79de185ff1778c6daf0 Mon Sep 17 00:00:00 2001 From: Kevin Ingersoll Date: Fri, 17 Jan 2025 11:33:13 +0000 Subject: [PATCH] feat(config): import mud config with tsx (#3290) --- .changeset/calm-dodos-care.md | 5 + packages/config/package.json | 4 +- .../config/src/deprecated/node/loadConfig.ts | 40 ++- pnpm-lock.yaml | 252 ++---------------- 4 files changed, 40 insertions(+), 261 deletions(-) create mode 100644 .changeset/calm-dodos-care.md diff --git a/.changeset/calm-dodos-care.md b/.changeset/calm-dodos-care.md new file mode 100644 index 0000000000..2f51bc3f7c --- /dev/null +++ b/.changeset/calm-dodos-care.md @@ -0,0 +1,5 @@ +--- +"@latticexyz/config": patch +--- + +Replaced esbuild with tsx to load MUD config in an effort to resolve issues with loading multiple MUD configs in parallel. diff --git a/packages/config/package.json b/packages/config/package.json index 1fca6a1dab..6d8ab8b353 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -43,8 +43,8 @@ "@ark/util": "0.2.2", "@latticexyz/common": "workspace:*", "@latticexyz/schema-type": "workspace:*", - "esbuild": "^0.17.15", - "find-up": "^6.3.0" + "find-up": "^6.3.0", + "tsx": "^4.19.1" }, "devDependencies": { "tsup": "^6.7.0", diff --git a/packages/config/src/deprecated/node/loadConfig.ts b/packages/config/src/deprecated/node/loadConfig.ts index 10d3119920..c9db55e5c4 100644 --- a/packages/config/src/deprecated/node/loadConfig.ts +++ b/packages/config/src/deprecated/node/loadConfig.ts @@ -1,41 +1,31 @@ import { findUp } from "find-up"; import path from "path"; -import esbuild from "esbuild"; -import { rmSync } from "fs"; import { pathToFileURL } from "url"; import os from "os"; - -// TODO: explore using https://www.npmjs.com/package/ts-import instead +import fs from "fs/promises"; +import { tsImport } from "tsx/esm/api"; +import { require as tsRequire } from "tsx/cjs/api"; // In order of preference files are checked /** @deprecated */ const configFiles = ["mud.config.js", "mud.config.mjs", "mud.config.ts", "mud.config.mts"]; -/** @deprecated */ -const TEMP_CONFIG = "mud.config.temp.mjs"; /** @deprecated */ export async function loadConfig(configPath?: string): Promise { configPath = await resolveConfigPath(configPath); - try { - await esbuild.build({ - entryPoints: [configPath], - format: "esm", - outfile: TEMP_CONFIG, - // https://esbuild.github.io/getting-started/#bundling-for-node - platform: "node", - // bundle local imports (otherwise it may error, js can't import ts) - bundle: true, - // avoid bundling external imports (it's unnecessary and esbuild can't handle all node features) - packages: "external", - }); - configPath = await resolveConfigPath(TEMP_CONFIG, true); - // Node.js caches dynamic imports, so without appending a cache breaking - // param like `?update={Date.now()}` this import always returns the same config - // if called multiple times in a single process, like the `dev-contracts` cli - return (await import(configPath + `?update=${Date.now()}`)).default; - } finally { - rmSync(TEMP_CONFIG, { force: true }); + // load nearest package.json to figure out if we need to import with ESM or CJS + const packageJsonPath = await findUp("package.json", { cwd: path.dirname(configPath) }); + if (!packageJsonPath) throw new Error(`Could not find package.json for config at "${configPath}".`); + const packageJson = JSON.parse(await fs.readFile(packageJsonPath, "utf8")); + // use require if cjs + if (!packageJson.type || packageJson.type === "commonjs") { + // tsRequire has an internal cache, so we need to append data to reload the config + // this helps with things like the mud dev runner that reevalutes the config on changes + return tsRequire(`${configPath}?update=${Date.now()}`, import.meta.url).default; } + // otherwise default to esm + // this is not cached, so we don't need to append anything to the config path + return (await tsImport(configPath, import.meta.url)).default; } /** @deprecated */ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 406accef36..577b36ce56 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -339,12 +339,12 @@ importers: '@latticexyz/schema-type': specifier: workspace:* version: link:../schema-type - esbuild: - specifier: ^0.17.15 - version: 0.17.15 find-up: specifier: ^6.3.0 version: 6.3.0 + tsx: + specifier: ^4.19.1 + version: 4.19.2 devDependencies: tsup: specifier: ^6.7.0 @@ -1421,7 +1421,7 @@ importers: version: 6.7.0(postcss@8.5.1)(typescript@5.4.2) vite: specifier: ^6.0.7 - version: 6.0.7(@types/node@18.19.50)(jiti@1.21.6)(terser@5.34.1)(tsx@4.19.0)(yaml@2.5.1) + version: 6.0.7(@types/node@18.19.50)(jiti@1.21.6)(terser@5.34.1)(tsx@4.19.2)(yaml@2.5.1) packages/world: dependencies: @@ -2806,12 +2806,6 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.17.15': - resolution: {integrity: sha512-0kOB6Y7Br3KDVgHeg8PRcvfLkq+AccreK///B4Z6fNZGr/tNHX0z2VywCc7PTeWp+bPvjA5WMvNXltHw5QjAIA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.17.17': resolution: {integrity: sha512-jaJ5IlmaDLFPNttv0ofcwy/cfeY4bh/n705Tgh+eLObbGtQBK3EPAu+CzL95JVE4nFAliyrnEu0d32Q5foavqg==} engines: {node: '>=12'} @@ -2842,12 +2836,6 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm@0.17.15': - resolution: {integrity: sha512-sRSOVlLawAktpMvDyJIkdLI/c/kdRTOqo8t6ImVxg8yT7LQDUYV5Rp2FKeEosLr6ZCja9UjYAzyRSxGteSJPYg==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.17.17': resolution: {integrity: sha512-E6VAZwN7diCa3labs0GYvhEPL2M94WLF8A+czO8hfjREXxba8Ng7nM5VxV+9ihNXIY1iQO1XxUU4P7hbqbICxg==} engines: {node: '>=12'} @@ -2878,12 +2866,6 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-x64@0.17.15': - resolution: {integrity: sha512-MzDqnNajQZ63YkaUWVl9uuhcWyEyh69HGpMIrf+acR4otMkfLJ4sUCxqwbCyPGicE9dVlrysI3lMcDBjGiBBcQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.17.17': resolution: {integrity: sha512-446zpfJ3nioMC7ASvJB1pszHVskkw4u/9Eu8s5yvvsSDTzYh4p4ZIRj0DznSl3FBF0Z/mZfrKXTtt0QCoFmoHA==} engines: {node: '>=12'} @@ -2914,12 +2896,6 @@ packages: cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.17.15': - resolution: {integrity: sha512-7siLjBc88Z4+6qkMDxPT2juf2e8SJxmsbNVKFY2ifWCDT72v5YJz9arlvBw5oB4W/e61H1+HDB/jnu8nNg0rLA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.17.17': resolution: {integrity: sha512-m/gwyiBwH3jqfUabtq3GH31otL/0sE0l34XKpSIqR7NjQ/XHQ3lpmQHLHbG8AHTGCw8Ao059GvV08MS0bhFIJQ==} engines: {node: '>=12'} @@ -2950,12 +2926,6 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.17.15': - resolution: {integrity: sha512-NbImBas2rXwYI52BOKTW342Tm3LTeVlaOQ4QPZ7XuWNKiO226DisFk/RyPk3T0CKZkKMuU69yOvlapJEmax7cg==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.17.17': resolution: {integrity: sha512-4utIrsX9IykrqYaXR8ob9Ha2hAY2qLc6ohJ8c0CN1DR8yWeMrTgYFjgdeQ9LIoTOfLetXjuCu5TRPHT9yKYJVg==} engines: {node: '>=12'} @@ -2986,12 +2956,6 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.17.15': - resolution: {integrity: sha512-Xk9xMDjBVG6CfgoqlVczHAdJnCs0/oeFOspFap5NkYAmRCT2qTn1vJWA2f419iMtsHSLm+O8B6SLV/HlY5cYKg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.17.17': resolution: {integrity: sha512-4PxjQII/9ppOrpEwzQ1b0pXCsFLqy77i0GaHodrmzH9zq2/NEhHMAMJkJ635Ns4fyJPFOlHMz4AsklIyRqFZWA==} engines: {node: '>=12'} @@ -3022,12 +2986,6 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.17.15': - resolution: {integrity: sha512-3TWAnnEOdclvb2pnfsTWtdwthPfOz7qAfcwDLcfZyGJwm1SRZIMOeB5FODVhnM93mFSPsHB9b/PmxNNbSnd0RQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.17.17': resolution: {integrity: sha512-lQRS+4sW5S3P1sv0z2Ym807qMDfkmdhUYX30GRBURtLTrJOPDpoU0kI6pVz1hz3U0+YQ0tXGS9YWveQjUewAJw==} engines: {node: '>=12'} @@ -3058,12 +3016,6 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.17.15': - resolution: {integrity: sha512-T0MVnYw9KT6b83/SqyznTs/3Jg2ODWrZfNccg11XjDehIved2oQfrX/wVuev9N936BpMRaTR9I1J0tdGgUgpJA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.17.17': resolution: {integrity: sha512-2+pwLx0whKY1/Vqt8lyzStyda1v0qjJ5INWIe+d8+1onqQxHLLi3yr5bAa4gvbzhZqBztifYEu8hh1La5+7sUw==} engines: {node: '>=12'} @@ -3094,12 +3046,6 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.17.15': - resolution: {integrity: sha512-MLTgiXWEMAMr8nmS9Gigx43zPRmEfeBfGCwxFQEMgJ5MC53QKajaclW6XDPjwJvhbebv+RzK05TQjvH3/aM4Xw==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.17.17': resolution: {integrity: sha512-biDs7bjGdOdcmIk6xU426VgdRUpGg39Yz6sT9Xp23aq+IEHDb/u5cbmu/pAANpDB4rZpY/2USPhCA+w9t3roQg==} engines: {node: '>=12'} @@ -3130,12 +3076,6 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.17.15': - resolution: {integrity: sha512-wp02sHs015T23zsQtU4Cj57WiteiuASHlD7rXjKUyAGYzlOKDAjqK6bk5dMi2QEl/KVOcsjwL36kD+WW7vJt8Q==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.17.17': resolution: {integrity: sha512-IBTTv8X60dYo6P2t23sSUYym8fGfMAiuv7PzJ+0LcdAndZRzvke+wTVxJeCq4WgjppkOpndL04gMZIFvwoU34Q==} engines: {node: '>=12'} @@ -3166,12 +3106,6 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.17.15': - resolution: {integrity: sha512-k7FsUJjGGSxwnBmMh8d7IbObWu+sF/qbwc+xKZkBe/lTAF16RqxRCnNHA7QTd3oS2AfGBAnHlXL67shV5bBThQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.17.17': resolution: {integrity: sha512-WVMBtcDpATjaGfWfp6u9dANIqmU9r37SY8wgAivuKmgKHE+bWSuv0qXEFt/p3qXQYxJIGXQQv6hHcm7iWhWjiw==} engines: {node: '>=12'} @@ -3202,12 +3136,6 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.17.15': - resolution: {integrity: sha512-ZLWk6czDdog+Q9kE/Jfbilu24vEe/iW/Sj2d8EVsmiixQ1rM2RKH2n36qfxK4e8tVcaXkvuV3mU5zTZviE+NVQ==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.17.17': resolution: {integrity: sha512-2kYCGh8589ZYnY031FgMLy0kmE4VoGdvfJkxLdxP4HJvWNXpyLhjOvxVsYjYZ6awqY4bgLR9tpdYyStgZZhi2A==} engines: {node: '>=12'} @@ -3238,12 +3166,6 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.17.15': - resolution: {integrity: sha512-mY6dPkIRAiFHRsGfOYZC8Q9rmr8vOBZBme0/j15zFUKM99d4ILY4WpOC7i/LqoY+RE7KaMaSfvY8CqjJtuO4xg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.17.17': resolution: {integrity: sha512-KIdG5jdAEeAKogfyMTcszRxy3OPbZhq0PPsW4iKKcdlbk3YE4miKznxV2YOSmiK/hfOZ+lqHri3v8eecT2ATwQ==} engines: {node: '>=12'} @@ -3274,12 +3196,6 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.17.15': - resolution: {integrity: sha512-EcyUtxffdDtWjjwIH8sKzpDRLcVtqANooMNASO59y+xmqqRYBBM7xVLQhqF7nksIbm2yHABptoioS9RAbVMWVA==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.17.17': resolution: {integrity: sha512-Cj6uWLBR5LWhcD/2Lkfg2NrkVsNb2sFM5aVEfumKB2vYetkA/9Uyc1jVoxLZ0a38sUhFk4JOVKH0aVdPbjZQeA==} engines: {node: '>=12'} @@ -3310,12 +3226,6 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.17.15': - resolution: {integrity: sha512-BuS6Jx/ezxFuHxgsfvz7T4g4YlVrmCmg7UAwboeyNNg0OzNzKsIZXpr3Sb/ZREDXWgt48RO4UQRDBxJN3B9Rbg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.17.17': resolution: {integrity: sha512-lK+SffWIr0XsFf7E0srBjhpkdFVJf3HEgXCwzkm69kNbRar8MhezFpkIwpk0qo2IOQL4JE4mJPJI8AbRPLbuOQ==} engines: {node: '>=12'} @@ -3346,12 +3256,6 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.17.15': - resolution: {integrity: sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.17.17': resolution: {integrity: sha512-XcSGTQcWFQS2jx3lZtQi7cQmDYLrpLRyz1Ns1DzZCtn898cWfm5Icx/DEWNcTU+T+tyPV89RQtDnI7qL2PObPg==} engines: {node: '>=12'} @@ -3388,12 +3292,6 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.17.15': - resolution: {integrity: sha512-R6fKjtUysYGym6uXf6qyNephVUQAGtf3n2RCsOST/neIwPqRWcnc3ogcielOd6pT+J0RDR1RGcy0ZY7d3uHVLA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.17.17': resolution: {integrity: sha512-RNLCDmLP5kCWAJR+ItLM3cHxzXRTe4N00TQyQiimq+lyqVqZWGPAvcyfUBM0isE79eEZhIuGN09rAz8EL5KdLA==} engines: {node: '>=12'} @@ -3436,12 +3334,6 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.17.15': - resolution: {integrity: sha512-mVD4PGc26b8PI60QaPUltYKeSX0wxuy0AltC+WCTFwvKCq2+OgLP4+fFd+hZXzO2xW1HPKcytZBdjqL6FQFa7w==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.17.17': resolution: {integrity: sha512-PAXswI5+cQq3Pann7FNdcpSUrhrql3wKjj3gVkmuz6OHhqqYxKvi6GgRBoaHjaG22HV/ZZEgF9TlS+9ftHVigA==} engines: {node: '>=12'} @@ -3472,12 +3364,6 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.17.15': - resolution: {integrity: sha512-U6tYPovOkw3459t2CBwGcFYfFRjivcJJc1WC8Q3funIwX8x4fP+R6xL/QuTPNGOblbq/EUDxj9GU+dWKX0oWlQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.17.17': resolution: {integrity: sha512-V63egsWKnx/4V0FMYkr9NXWrKTB5qFftKGKuZKFIrAkO/7EWLFnbBZNM1CvJ6Sis+XBdPws2YQSHF1Gqf1oj/Q==} engines: {node: '>=12'} @@ -3508,12 +3394,6 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.17.15': - resolution: {integrity: sha512-W+Z5F++wgKAleDABemiyXVnzXgvRFs+GVKThSI+mGgleLWluv0D7Diz4oQpgdpNzh4i2nNDzQtWbjJiqutRp6Q==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.17.17': resolution: {integrity: sha512-YtUXLdVnd6YBSYlZODjWzH+KzbaubV0YVd6UxSfoFfa5PtNJNaW+1i+Hcmjpg2nEe0YXUCNF5bkKy1NnBv1y7Q==} engines: {node: '>=12'} @@ -3544,12 +3424,6 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.17.15': - resolution: {integrity: sha512-Muz/+uGgheShKGqSVS1KsHtCyEzcdOn/W/Xbh6H91Etm+wiIfwZaBn1W58MeGtfI8WA961YMHFYTthBdQs4t+w==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.17.17': resolution: {integrity: sha512-yczSLRbDdReCO74Yfc5tKG0izzm+lPMYyO1fFTcn0QNwnKmc3K+HdxZWLGKg4pZVte7XVgcFku7TIZNbWEJdeQ==} engines: {node: '>=12'} @@ -3580,12 +3454,6 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.17.15': - resolution: {integrity: sha512-DjDa9ywLUUmjhV2Y9wUTIF+1XsmuFGvZoCmOWkli1XcNAh5t25cc7fgsCx4Zi/Uurep3TTLyDiKATgGEg61pkA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.17.17': resolution: {integrity: sha512-FNZw7H3aqhF9OyRQbDDnzUApDXfC1N6fgBhkqEO2jvYCJ+DxMTfZVqg3AX0R1khg1wHTBRD5SdcibSJ+XF6bFg==} engines: {node: '>=12'} @@ -7685,11 +7553,6 @@ packages: es6-weak-map@2.0.3: resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} - esbuild@0.17.15: - resolution: {integrity: sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw==} - engines: {node: '>=12'} - hasBin: true - esbuild@0.17.17: resolution: {integrity: sha512-/jUywtAymR8jR4qsa2RujlAF7Krpt5VWi72Q2yuLD4e/hvtNcFQ0I1j8m/bxq238pf3/0KO5yuXNpuLx8BE1KA==} engines: {node: '>=12'} @@ -11732,6 +11595,11 @@ packages: engines: {node: '>=18.0.0'} hasBin: true + tsx@4.19.2: + resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==} + engines: {node: '>=18.0.0'} + hasBin: true + tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} @@ -15019,9 +14887,6 @@ snapshots: '@esbuild/aix-ppc64@0.24.2': optional: true - '@esbuild/android-arm64@0.17.15': - optional: true - '@esbuild/android-arm64@0.17.17': optional: true @@ -15037,9 +14902,6 @@ snapshots: '@esbuild/android-arm64@0.24.2': optional: true - '@esbuild/android-arm@0.17.15': - optional: true - '@esbuild/android-arm@0.17.17': optional: true @@ -15055,9 +14917,6 @@ snapshots: '@esbuild/android-arm@0.24.2': optional: true - '@esbuild/android-x64@0.17.15': - optional: true - '@esbuild/android-x64@0.17.17': optional: true @@ -15073,9 +14932,6 @@ snapshots: '@esbuild/android-x64@0.24.2': optional: true - '@esbuild/darwin-arm64@0.17.15': - optional: true - '@esbuild/darwin-arm64@0.17.17': optional: true @@ -15091,9 +14947,6 @@ snapshots: '@esbuild/darwin-arm64@0.24.2': optional: true - '@esbuild/darwin-x64@0.17.15': - optional: true - '@esbuild/darwin-x64@0.17.17': optional: true @@ -15109,9 +14962,6 @@ snapshots: '@esbuild/darwin-x64@0.24.2': optional: true - '@esbuild/freebsd-arm64@0.17.15': - optional: true - '@esbuild/freebsd-arm64@0.17.17': optional: true @@ -15127,9 +14977,6 @@ snapshots: '@esbuild/freebsd-arm64@0.24.2': optional: true - '@esbuild/freebsd-x64@0.17.15': - optional: true - '@esbuild/freebsd-x64@0.17.17': optional: true @@ -15145,9 +14992,6 @@ snapshots: '@esbuild/freebsd-x64@0.24.2': optional: true - '@esbuild/linux-arm64@0.17.15': - optional: true - '@esbuild/linux-arm64@0.17.17': optional: true @@ -15163,9 +15007,6 @@ snapshots: '@esbuild/linux-arm64@0.24.2': optional: true - '@esbuild/linux-arm@0.17.15': - optional: true - '@esbuild/linux-arm@0.17.17': optional: true @@ -15181,9 +15022,6 @@ snapshots: '@esbuild/linux-arm@0.24.2': optional: true - '@esbuild/linux-ia32@0.17.15': - optional: true - '@esbuild/linux-ia32@0.17.17': optional: true @@ -15199,9 +15037,6 @@ snapshots: '@esbuild/linux-ia32@0.24.2': optional: true - '@esbuild/linux-loong64@0.17.15': - optional: true - '@esbuild/linux-loong64@0.17.17': optional: true @@ -15217,9 +15052,6 @@ snapshots: '@esbuild/linux-loong64@0.24.2': optional: true - '@esbuild/linux-mips64el@0.17.15': - optional: true - '@esbuild/linux-mips64el@0.17.17': optional: true @@ -15235,9 +15067,6 @@ snapshots: '@esbuild/linux-mips64el@0.24.2': optional: true - '@esbuild/linux-ppc64@0.17.15': - optional: true - '@esbuild/linux-ppc64@0.17.17': optional: true @@ -15253,9 +15082,6 @@ snapshots: '@esbuild/linux-ppc64@0.24.2': optional: true - '@esbuild/linux-riscv64@0.17.15': - optional: true - '@esbuild/linux-riscv64@0.17.17': optional: true @@ -15271,9 +15097,6 @@ snapshots: '@esbuild/linux-riscv64@0.24.2': optional: true - '@esbuild/linux-s390x@0.17.15': - optional: true - '@esbuild/linux-s390x@0.17.17': optional: true @@ -15289,9 +15112,6 @@ snapshots: '@esbuild/linux-s390x@0.24.2': optional: true - '@esbuild/linux-x64@0.17.15': - optional: true - '@esbuild/linux-x64@0.17.17': optional: true @@ -15310,9 +15130,6 @@ snapshots: '@esbuild/netbsd-arm64@0.24.2': optional: true - '@esbuild/netbsd-x64@0.17.15': - optional: true - '@esbuild/netbsd-x64@0.17.17': optional: true @@ -15334,9 +15151,6 @@ snapshots: '@esbuild/openbsd-arm64@0.24.2': optional: true - '@esbuild/openbsd-x64@0.17.15': - optional: true - '@esbuild/openbsd-x64@0.17.17': optional: true @@ -15352,9 +15166,6 @@ snapshots: '@esbuild/openbsd-x64@0.24.2': optional: true - '@esbuild/sunos-x64@0.17.15': - optional: true - '@esbuild/sunos-x64@0.17.17': optional: true @@ -15370,9 +15181,6 @@ snapshots: '@esbuild/sunos-x64@0.24.2': optional: true - '@esbuild/win32-arm64@0.17.15': - optional: true - '@esbuild/win32-arm64@0.17.17': optional: true @@ -15388,9 +15196,6 @@ snapshots: '@esbuild/win32-arm64@0.24.2': optional: true - '@esbuild/win32-ia32@0.17.15': - optional: true - '@esbuild/win32-ia32@0.17.17': optional: true @@ -15406,9 +15211,6 @@ snapshots: '@esbuild/win32-ia32@0.24.2': optional: true - '@esbuild/win32-x64@0.17.15': - optional: true - '@esbuild/win32-x64@0.17.17': optional: true @@ -20777,31 +20579,6 @@ snapshots: es6-iterator: 2.0.3 es6-symbol: 3.1.3 - esbuild@0.17.15: - optionalDependencies: - '@esbuild/android-arm': 0.17.15 - '@esbuild/android-arm64': 0.17.15 - '@esbuild/android-x64': 0.17.15 - '@esbuild/darwin-arm64': 0.17.15 - '@esbuild/darwin-x64': 0.17.15 - '@esbuild/freebsd-arm64': 0.17.15 - '@esbuild/freebsd-x64': 0.17.15 - '@esbuild/linux-arm': 0.17.15 - '@esbuild/linux-arm64': 0.17.15 - '@esbuild/linux-ia32': 0.17.15 - '@esbuild/linux-loong64': 0.17.15 - '@esbuild/linux-mips64el': 0.17.15 - '@esbuild/linux-ppc64': 0.17.15 - '@esbuild/linux-riscv64': 0.17.15 - '@esbuild/linux-s390x': 0.17.15 - '@esbuild/linux-x64': 0.17.15 - '@esbuild/netbsd-x64': 0.17.15 - '@esbuild/openbsd-x64': 0.17.15 - '@esbuild/sunos-x64': 0.17.15 - '@esbuild/win32-arm64': 0.17.15 - '@esbuild/win32-ia32': 0.17.15 - '@esbuild/win32-x64': 0.17.15 - esbuild@0.17.17: optionalDependencies: '@esbuild/android-arm': 0.17.17 @@ -25900,6 +25677,13 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + tsx@4.19.2: + dependencies: + esbuild: 0.23.1 + get-tsconfig: 4.7.5 + optionalDependencies: + fsevents: 2.3.3 + tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1 @@ -26295,7 +26079,7 @@ snapshots: fsevents: 2.3.3 terser: 5.34.1 - vite@6.0.7(@types/node@18.19.50)(jiti@1.21.6)(terser@5.34.1)(tsx@4.19.0)(yaml@2.5.1): + vite@6.0.7(@types/node@18.19.50)(jiti@1.21.6)(terser@5.34.1)(tsx@4.19.2)(yaml@2.5.1): dependencies: esbuild: 0.24.2 postcss: 8.5.1 @@ -26305,7 +26089,7 @@ snapshots: fsevents: 2.3.3 jiti: 1.21.6 terser: 5.34.1 - tsx: 4.19.0 + tsx: 4.19.2 yaml: 2.5.1 vitest@0.34.6(jsdom@22.1.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(terser@5.34.1):