this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix build issues with `@opentelemetry` (#302)

authored by

Victor Berchet and committed by
GitHub
67acb2f9 deaf845f

+329 -42
+7
.changeset/selfish-pumpkins-sin.md
··· 1 + --- 2 + "@opennextjs/cloudflare": patch 3 + --- 4 + 5 + fix build issues with `@opentelemetry` 6 + 7 + By using the pre-compiled library provided by Next.
+6 -8
packages/cloudflare/src/cli/build/bundle-server.ts
··· 11 11 import { patchOptionalDependencies } from "./patches/ast/optional-deps.js"; 12 12 import { patchVercelOgLibrary } from "./patches/ast/patch-vercel-og-library.js"; 13 13 import * as patches from "./patches/index.js"; 14 + import fixRequire from "./patches/plugins/require.js"; 14 15 import inlineRequirePagePlugin from "./patches/plugins/require-page.js"; 15 16 import setWranglerExternal from "./patches/plugins/wrangler-external.js"; 16 17 import { normalizePath, patchCodeWithValidations } from "./utils/index.js"; ··· 49 50 50 51 console.log(`\x1b[35m⚙️ Bundling the OpenNext server...\n\x1b[0m`); 51 52 52 - patches.patchWranglerDeps(buildOpts); 53 53 await patches.updateWebpackChunksFile(buildOpts); 54 54 patchVercelOgLibrary(buildOpts); 55 55 ··· 70 70 createFixRequiresESBuildPlugin(buildOpts), 71 71 inlineRequirePagePlugin(buildOpts), 72 72 setWranglerExternal(), 73 + fixRequire(), 73 74 ], 74 75 external: ["./middleware/handler.mjs", ...optionalDependencies], 75 76 alias: { ··· 102 103 "process.env.NODE_ENV": '"production"', 103 104 "process.env.NEXT_MINIMAL": "true", 104 105 }, 105 - // We need to set platform to node so that esbuild doesn't complain about the node imports 106 106 platform: "node", 107 107 banner: { 108 108 js: ` ··· 168 168 /** 169 169 * This function applies patches required for the code to run on workers. 170 170 */ 171 - async function updateWorkerBundledCode(workerOutputFile: string, buildOpts: BuildOptions): Promise<void> { 171 + export async function updateWorkerBundledCode( 172 + workerOutputFile: string, 173 + buildOpts: BuildOptions 174 + ): Promise<void> { 172 175 const code = await readFile(workerOutputFile, "utf8"); 173 176 174 177 const patchedCode = await patchCodeWithValidations(code, [ ··· 190 193 code 191 194 // TODO: implement for cf (possibly in @opennextjs/aws) 192 195 .replace("patchAsyncStorage();", "//patchAsyncStorage();"), 193 - ], 194 - [ 195 - '`eval("require")` calls', 196 - (code) => code.replaceAll('eval("require")', "require"), 197 - { isOptional: true }, 198 196 ], 199 197 [ 200 198 "`require.resolve` call",
+54
packages/cloudflare/src/cli/build/patches/plugins/require.ts
··· 1 + import fs from "node:fs/promises"; 2 + 3 + import type { PluginBuild } from "esbuild"; 4 + 5 + export default function fixRequire() { 6 + return { 7 + name: "fix-require", 8 + 9 + setup: async (build: PluginBuild) => { 10 + build.onLoad({ filter: /.*/ }, async ({ path }) => { 11 + let contents = await fs.readFile(path, "utf-8"); 12 + 13 + // `eval(...)` is not supported by workerd. 14 + contents = contents.replaceAll(`eval("require")`, "require"); 15 + 16 + // `@opentelemetry` has a few issues. 17 + // 18 + // Next.js has the following code in `next/dist/server/lib/trace/tracer.js`: 19 + // 20 + // try { 21 + // api = require('@opentelemetry/api'); 22 + // } catch (err) { 23 + // api = require('next/dist/compiled/@opentelemetry/api'); 24 + // } 25 + // 26 + // The intent is to allow users to install their own version of `@opentelemetry/api`. 27 + // 28 + // The problem is that even when users do not explicitely install `@opentelemetry/api`, 29 + // `require('@opentelemetry/api')` resolves to the package which is a dependency 30 + // of Next. 31 + // 32 + // The second problem is that when Next traces files, it would not copy the `api/build/esm` 33 + // folder (used by the `module` conditions in package.json) it would only copy `api/build/src`. 34 + // This could be solved by updating the next config: 35 + // 36 + // const nextConfig: NextConfig = { 37 + // // ... 38 + // outputFileTracingIncludes: { 39 + // "*": ["./node_modules/@opentelemetry/api/build/**/*"], 40 + // }, 41 + // }; 42 + // 43 + // We can consider doing that when we want to enable users to install their own version 44 + // of `@opentelemetry/api`. For now we simply use the pre-compiled version. 45 + contents = contents.replace( 46 + /require\(.@opentelemetry\/api.\)/g, 47 + `require("next/dist/compiled/@opentelemetry/api")` 48 + ); 49 + 50 + return { contents }; 51 + }); 52 + }, 53 + }; 54 + }
-1
packages/cloudflare/src/cli/build/patches/to-investigate/index.ts
··· 4 4 export * from "./patch-find-dir.js"; 5 5 export * from "./patch-load-instrumentation-module.js"; 6 6 export * from "./patch-read-file.js"; 7 - export * from "./wrangler-deps.js";
-29
packages/cloudflare/src/cli/build/patches/to-investigate/wrangler-deps.ts
··· 1 - import { readFileSync, writeFileSync } from "node:fs"; 2 - import { join } from "node:path"; 3 - 4 - import { type BuildOptions, getPackagePath } from "@opennextjs/aws/build/helper.js"; 5 - 6 - export function patchWranglerDeps(buildOpts: BuildOptions) { 7 - console.log("# patchWranglerDeps"); 8 - 9 - const { outputDir } = buildOpts; 10 - 11 - const nextDistDir = join( 12 - outputDir, 13 - "server-functions/default", 14 - getPackagePath(buildOpts), 15 - "node_modules/next/dist" 16 - ); 17 - 18 - // we shim @opentelemetry/api to the throwing shim so that it will throw right away, this is so that we throw inside the 19 - // try block here: https://github.com/vercel/next.js/blob/9e8266a7/packages/next/src/server/lib/trace/tracer.ts#L27-L31 20 - // causing the code to require the 'next/dist/compiled/@opentelemetry/api' module instead (which properly works) 21 - const tracerFile = join(nextDistDir, "server/lib/trace/tracer.js"); 22 - 23 - const patchedTracer = readFileSync(tracerFile, "utf-8").replaceAll( 24 - /\w+\s*=\s*require\([^/]*opentelemetry.*\)/g, 25 - `throw new Error("@opentelemetry/api")` 26 - ); 27 - 28 - writeFileSync(tracerFile, patchedTracer); 29 - }
+261 -3
pnpm-lock.yaml
··· 34 34 specifier: ^18 35 35 version: 18.3.0 36 36 esbuild: 37 - specifier: ^0.23.0 38 - version: 0.23.1 37 + specifier: ^0.24.2 38 + version: 0.24.2 39 39 eslint: 40 40 specifier: ^9.11.1 41 41 version: 9.11.1 ··· 582 582 version: 22.2.0 583 583 esbuild: 584 584 specifier: 'catalog:' 585 - version: 0.23.1 585 + version: 0.24.2 586 586 eslint: 587 587 specifier: 'catalog:' 588 588 version: 9.11.1(jiti@1.21.6) ··· 1257 1257 cpu: [ppc64] 1258 1258 os: [aix] 1259 1259 1260 + '@esbuild/aix-ppc64@0.24.2': 1261 + resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} 1262 + engines: {node: '>=18'} 1263 + cpu: [ppc64] 1264 + os: [aix] 1265 + 1260 1266 '@esbuild/android-arm64@0.17.19': 1261 1267 resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} 1262 1268 engines: {node: '>=12'} ··· 1281 1287 cpu: [arm64] 1282 1288 os: [android] 1283 1289 1290 + '@esbuild/android-arm64@0.24.2': 1291 + resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} 1292 + engines: {node: '>=18'} 1293 + cpu: [arm64] 1294 + os: [android] 1295 + 1284 1296 '@esbuild/android-arm@0.17.19': 1285 1297 resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} 1286 1298 engines: {node: '>=12'} ··· 1305 1317 cpu: [arm] 1306 1318 os: [android] 1307 1319 1320 + '@esbuild/android-arm@0.24.2': 1321 + resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} 1322 + engines: {node: '>=18'} 1323 + cpu: [arm] 1324 + os: [android] 1325 + 1308 1326 '@esbuild/android-x64@0.17.19': 1309 1327 resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} 1310 1328 engines: {node: '>=12'} ··· 1329 1347 cpu: [x64] 1330 1348 os: [android] 1331 1349 1350 + '@esbuild/android-x64@0.24.2': 1351 + resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} 1352 + engines: {node: '>=18'} 1353 + cpu: [x64] 1354 + os: [android] 1355 + 1332 1356 '@esbuild/darwin-arm64@0.17.19': 1333 1357 resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} 1334 1358 engines: {node: '>=12'} ··· 1353 1377 cpu: [arm64] 1354 1378 os: [darwin] 1355 1379 1380 + '@esbuild/darwin-arm64@0.24.2': 1381 + resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} 1382 + engines: {node: '>=18'} 1383 + cpu: [arm64] 1384 + os: [darwin] 1385 + 1356 1386 '@esbuild/darwin-x64@0.17.19': 1357 1387 resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} 1358 1388 engines: {node: '>=12'} ··· 1373 1403 1374 1404 '@esbuild/darwin-x64@0.23.1': 1375 1405 resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} 1406 + engines: {node: '>=18'} 1407 + cpu: [x64] 1408 + os: [darwin] 1409 + 1410 + '@esbuild/darwin-x64@0.24.2': 1411 + resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} 1376 1412 engines: {node: '>=18'} 1377 1413 cpu: [x64] 1378 1414 os: [darwin] ··· 1401 1437 cpu: [arm64] 1402 1438 os: [freebsd] 1403 1439 1440 + '@esbuild/freebsd-arm64@0.24.2': 1441 + resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} 1442 + engines: {node: '>=18'} 1443 + cpu: [arm64] 1444 + os: [freebsd] 1445 + 1404 1446 '@esbuild/freebsd-x64@0.17.19': 1405 1447 resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} 1406 1448 engines: {node: '>=12'} ··· 1425 1467 cpu: [x64] 1426 1468 os: [freebsd] 1427 1469 1470 + '@esbuild/freebsd-x64@0.24.2': 1471 + resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} 1472 + engines: {node: '>=18'} 1473 + cpu: [x64] 1474 + os: [freebsd] 1475 + 1428 1476 '@esbuild/linux-arm64@0.17.19': 1429 1477 resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} 1430 1478 engines: {node: '>=12'} ··· 1449 1497 cpu: [arm64] 1450 1498 os: [linux] 1451 1499 1500 + '@esbuild/linux-arm64@0.24.2': 1501 + resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} 1502 + engines: {node: '>=18'} 1503 + cpu: [arm64] 1504 + os: [linux] 1505 + 1452 1506 '@esbuild/linux-arm@0.17.19': 1453 1507 resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} 1454 1508 engines: {node: '>=12'} ··· 1469 1523 1470 1524 '@esbuild/linux-arm@0.23.1': 1471 1525 resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} 1526 + engines: {node: '>=18'} 1527 + cpu: [arm] 1528 + os: [linux] 1529 + 1530 + '@esbuild/linux-arm@0.24.2': 1531 + resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} 1472 1532 engines: {node: '>=18'} 1473 1533 cpu: [arm] 1474 1534 os: [linux] ··· 1497 1557 cpu: [ia32] 1498 1558 os: [linux] 1499 1559 1560 + '@esbuild/linux-ia32@0.24.2': 1561 + resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} 1562 + engines: {node: '>=18'} 1563 + cpu: [ia32] 1564 + os: [linux] 1565 + 1500 1566 '@esbuild/linux-loong64@0.17.19': 1501 1567 resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} 1502 1568 engines: {node: '>=12'} ··· 1521 1587 cpu: [loong64] 1522 1588 os: [linux] 1523 1589 1590 + '@esbuild/linux-loong64@0.24.2': 1591 + resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} 1592 + engines: {node: '>=18'} 1593 + cpu: [loong64] 1594 + os: [linux] 1595 + 1524 1596 '@esbuild/linux-mips64el@0.17.19': 1525 1597 resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} 1526 1598 engines: {node: '>=12'} ··· 1545 1617 cpu: [mips64el] 1546 1618 os: [linux] 1547 1619 1620 + '@esbuild/linux-mips64el@0.24.2': 1621 + resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} 1622 + engines: {node: '>=18'} 1623 + cpu: [mips64el] 1624 + os: [linux] 1625 + 1548 1626 '@esbuild/linux-ppc64@0.17.19': 1549 1627 resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} 1550 1628 engines: {node: '>=12'} ··· 1565 1643 1566 1644 '@esbuild/linux-ppc64@0.23.1': 1567 1645 resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} 1646 + engines: {node: '>=18'} 1647 + cpu: [ppc64] 1648 + os: [linux] 1649 + 1650 + '@esbuild/linux-ppc64@0.24.2': 1651 + resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} 1568 1652 engines: {node: '>=18'} 1569 1653 cpu: [ppc64] 1570 1654 os: [linux] ··· 1593 1677 cpu: [riscv64] 1594 1678 os: [linux] 1595 1679 1680 + '@esbuild/linux-riscv64@0.24.2': 1681 + resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} 1682 + engines: {node: '>=18'} 1683 + cpu: [riscv64] 1684 + os: [linux] 1685 + 1596 1686 '@esbuild/linux-s390x@0.17.19': 1597 1687 resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} 1598 1688 engines: {node: '>=12'} ··· 1617 1707 cpu: [s390x] 1618 1708 os: [linux] 1619 1709 1710 + '@esbuild/linux-s390x@0.24.2': 1711 + resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} 1712 + engines: {node: '>=18'} 1713 + cpu: [s390x] 1714 + os: [linux] 1715 + 1620 1716 '@esbuild/linux-x64@0.17.19': 1621 1717 resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} 1622 1718 engines: {node: '>=12'} ··· 1641 1737 cpu: [x64] 1642 1738 os: [linux] 1643 1739 1740 + '@esbuild/linux-x64@0.24.2': 1741 + resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} 1742 + engines: {node: '>=18'} 1743 + cpu: [x64] 1744 + os: [linux] 1745 + 1746 + '@esbuild/netbsd-arm64@0.24.2': 1747 + resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} 1748 + engines: {node: '>=18'} 1749 + cpu: [arm64] 1750 + os: [netbsd] 1751 + 1644 1752 '@esbuild/netbsd-x64@0.17.19': 1645 1753 resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} 1646 1754 engines: {node: '>=12'} ··· 1665 1773 cpu: [x64] 1666 1774 os: [netbsd] 1667 1775 1776 + '@esbuild/netbsd-x64@0.24.2': 1777 + resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} 1778 + engines: {node: '>=18'} 1779 + cpu: [x64] 1780 + os: [netbsd] 1781 + 1668 1782 '@esbuild/openbsd-arm64@0.23.1': 1669 1783 resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} 1784 + engines: {node: '>=18'} 1785 + cpu: [arm64] 1786 + os: [openbsd] 1787 + 1788 + '@esbuild/openbsd-arm64@0.24.2': 1789 + resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} 1670 1790 engines: {node: '>=18'} 1671 1791 cpu: [arm64] 1672 1792 os: [openbsd] ··· 1691 1811 1692 1812 '@esbuild/openbsd-x64@0.23.1': 1693 1813 resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} 1814 + engines: {node: '>=18'} 1815 + cpu: [x64] 1816 + os: [openbsd] 1817 + 1818 + '@esbuild/openbsd-x64@0.24.2': 1819 + resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} 1694 1820 engines: {node: '>=18'} 1695 1821 cpu: [x64] 1696 1822 os: [openbsd] ··· 1719 1845 cpu: [x64] 1720 1846 os: [sunos] 1721 1847 1848 + '@esbuild/sunos-x64@0.24.2': 1849 + resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} 1850 + engines: {node: '>=18'} 1851 + cpu: [x64] 1852 + os: [sunos] 1853 + 1722 1854 '@esbuild/win32-arm64@0.17.19': 1723 1855 resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} 1724 1856 engines: {node: '>=12'} ··· 1739 1871 1740 1872 '@esbuild/win32-arm64@0.23.1': 1741 1873 resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} 1874 + engines: {node: '>=18'} 1875 + cpu: [arm64] 1876 + os: [win32] 1877 + 1878 + '@esbuild/win32-arm64@0.24.2': 1879 + resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} 1742 1880 engines: {node: '>=18'} 1743 1881 cpu: [arm64] 1744 1882 os: [win32] ··· 1767 1905 cpu: [ia32] 1768 1906 os: [win32] 1769 1907 1908 + '@esbuild/win32-ia32@0.24.2': 1909 + resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} 1910 + engines: {node: '>=18'} 1911 + cpu: [ia32] 1912 + os: [win32] 1913 + 1770 1914 '@esbuild/win32-x64@0.17.19': 1771 1915 resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} 1772 1916 engines: {node: '>=12'} ··· 1787 1931 1788 1932 '@esbuild/win32-x64@0.23.1': 1789 1933 resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} 1934 + engines: {node: '>=18'} 1935 + cpu: [x64] 1936 + os: [win32] 1937 + 1938 + '@esbuild/win32-x64@0.24.2': 1939 + resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} 1790 1940 engines: {node: '>=18'} 1791 1941 cpu: [x64] 1792 1942 os: [win32] ··· 3773 3923 3774 3924 esbuild@0.23.1: 3775 3925 resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} 3926 + engines: {node: '>=18'} 3927 + hasBin: true 3928 + 3929 + esbuild@0.24.2: 3930 + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} 3776 3931 engines: {node: '>=18'} 3777 3932 hasBin: true 3778 3933 ··· 7894 8049 '@esbuild/aix-ppc64@0.23.1': 7895 8050 optional: true 7896 8051 8052 + '@esbuild/aix-ppc64@0.24.2': 8053 + optional: true 8054 + 7897 8055 '@esbuild/android-arm64@0.17.19': 7898 8056 optional: true 7899 8057 ··· 7906 8064 '@esbuild/android-arm64@0.23.1': 7907 8065 optional: true 7908 8066 8067 + '@esbuild/android-arm64@0.24.2': 8068 + optional: true 8069 + 7909 8070 '@esbuild/android-arm@0.17.19': 7910 8071 optional: true 7911 8072 ··· 7918 8079 '@esbuild/android-arm@0.23.1': 7919 8080 optional: true 7920 8081 8082 + '@esbuild/android-arm@0.24.2': 8083 + optional: true 8084 + 7921 8085 '@esbuild/android-x64@0.17.19': 7922 8086 optional: true 7923 8087 ··· 7930 8094 '@esbuild/android-x64@0.23.1': 7931 8095 optional: true 7932 8096 8097 + '@esbuild/android-x64@0.24.2': 8098 + optional: true 8099 + 7933 8100 '@esbuild/darwin-arm64@0.17.19': 7934 8101 optional: true 7935 8102 ··· 7940 8107 optional: true 7941 8108 7942 8109 '@esbuild/darwin-arm64@0.23.1': 8110 + optional: true 8111 + 8112 + '@esbuild/darwin-arm64@0.24.2': 7943 8113 optional: true 7944 8114 7945 8115 '@esbuild/darwin-x64@0.17.19': ··· 7954 8124 '@esbuild/darwin-x64@0.23.1': 7955 8125 optional: true 7956 8126 8127 + '@esbuild/darwin-x64@0.24.2': 8128 + optional: true 8129 + 7957 8130 '@esbuild/freebsd-arm64@0.17.19': 7958 8131 optional: true 7959 8132 ··· 7966 8139 '@esbuild/freebsd-arm64@0.23.1': 7967 8140 optional: true 7968 8141 8142 + '@esbuild/freebsd-arm64@0.24.2': 8143 + optional: true 8144 + 7969 8145 '@esbuild/freebsd-x64@0.17.19': 7970 8146 optional: true 7971 8147 ··· 7976 8152 optional: true 7977 8153 7978 8154 '@esbuild/freebsd-x64@0.23.1': 8155 + optional: true 8156 + 8157 + '@esbuild/freebsd-x64@0.24.2': 7979 8158 optional: true 7980 8159 7981 8160 '@esbuild/linux-arm64@0.17.19': ··· 7990 8169 '@esbuild/linux-arm64@0.23.1': 7991 8170 optional: true 7992 8171 8172 + '@esbuild/linux-arm64@0.24.2': 8173 + optional: true 8174 + 7993 8175 '@esbuild/linux-arm@0.17.19': 7994 8176 optional: true 7995 8177 ··· 8002 8184 '@esbuild/linux-arm@0.23.1': 8003 8185 optional: true 8004 8186 8187 + '@esbuild/linux-arm@0.24.2': 8188 + optional: true 8189 + 8005 8190 '@esbuild/linux-ia32@0.17.19': 8006 8191 optional: true 8007 8192 ··· 8012 8197 optional: true 8013 8198 8014 8199 '@esbuild/linux-ia32@0.23.1': 8200 + optional: true 8201 + 8202 + '@esbuild/linux-ia32@0.24.2': 8015 8203 optional: true 8016 8204 8017 8205 '@esbuild/linux-loong64@0.17.19': ··· 8026 8214 '@esbuild/linux-loong64@0.23.1': 8027 8215 optional: true 8028 8216 8217 + '@esbuild/linux-loong64@0.24.2': 8218 + optional: true 8219 + 8029 8220 '@esbuild/linux-mips64el@0.17.19': 8030 8221 optional: true 8031 8222 ··· 8038 8229 '@esbuild/linux-mips64el@0.23.1': 8039 8230 optional: true 8040 8231 8232 + '@esbuild/linux-mips64el@0.24.2': 8233 + optional: true 8234 + 8041 8235 '@esbuild/linux-ppc64@0.17.19': 8042 8236 optional: true 8043 8237 ··· 8048 8242 optional: true 8049 8243 8050 8244 '@esbuild/linux-ppc64@0.23.1': 8245 + optional: true 8246 + 8247 + '@esbuild/linux-ppc64@0.24.2': 8051 8248 optional: true 8052 8249 8053 8250 '@esbuild/linux-riscv64@0.17.19': ··· 8062 8259 '@esbuild/linux-riscv64@0.23.1': 8063 8260 optional: true 8064 8261 8262 + '@esbuild/linux-riscv64@0.24.2': 8263 + optional: true 8264 + 8065 8265 '@esbuild/linux-s390x@0.17.19': 8066 8266 optional: true 8067 8267 ··· 8074 8274 '@esbuild/linux-s390x@0.23.1': 8075 8275 optional: true 8076 8276 8277 + '@esbuild/linux-s390x@0.24.2': 8278 + optional: true 8279 + 8077 8280 '@esbuild/linux-x64@0.17.19': 8078 8281 optional: true 8079 8282 ··· 8086 8289 '@esbuild/linux-x64@0.23.1': 8087 8290 optional: true 8088 8291 8292 + '@esbuild/linux-x64@0.24.2': 8293 + optional: true 8294 + 8295 + '@esbuild/netbsd-arm64@0.24.2': 8296 + optional: true 8297 + 8089 8298 '@esbuild/netbsd-x64@0.17.19': 8090 8299 optional: true 8091 8300 ··· 8098 8307 '@esbuild/netbsd-x64@0.23.1': 8099 8308 optional: true 8100 8309 8310 + '@esbuild/netbsd-x64@0.24.2': 8311 + optional: true 8312 + 8101 8313 '@esbuild/openbsd-arm64@0.23.1': 8314 + optional: true 8315 + 8316 + '@esbuild/openbsd-arm64@0.24.2': 8102 8317 optional: true 8103 8318 8104 8319 '@esbuild/openbsd-x64@0.17.19': ··· 8113 8328 '@esbuild/openbsd-x64@0.23.1': 8114 8329 optional: true 8115 8330 8331 + '@esbuild/openbsd-x64@0.24.2': 8332 + optional: true 8333 + 8116 8334 '@esbuild/sunos-x64@0.17.19': 8117 8335 optional: true 8118 8336 ··· 8123 8341 optional: true 8124 8342 8125 8343 '@esbuild/sunos-x64@0.23.1': 8344 + optional: true 8345 + 8346 + '@esbuild/sunos-x64@0.24.2': 8126 8347 optional: true 8127 8348 8128 8349 '@esbuild/win32-arm64@0.17.19': ··· 8137 8358 '@esbuild/win32-arm64@0.23.1': 8138 8359 optional: true 8139 8360 8361 + '@esbuild/win32-arm64@0.24.2': 8362 + optional: true 8363 + 8140 8364 '@esbuild/win32-ia32@0.17.19': 8141 8365 optional: true 8142 8366 ··· 8149 8373 '@esbuild/win32-ia32@0.23.1': 8150 8374 optional: true 8151 8375 8376 + '@esbuild/win32-ia32@0.24.2': 8377 + optional: true 8378 + 8152 8379 '@esbuild/win32-x64@0.17.19': 8153 8380 optional: true 8154 8381 ··· 8159 8386 optional: true 8160 8387 8161 8388 '@esbuild/win32-x64@0.23.1': 8389 + optional: true 8390 + 8391 + '@esbuild/win32-x64@0.24.2': 8162 8392 optional: true 8163 8393 8164 8394 '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)': ··· 10640 10870 '@esbuild/win32-arm64': 0.23.1 10641 10871 '@esbuild/win32-ia32': 0.23.1 10642 10872 '@esbuild/win32-x64': 0.23.1 10873 + 10874 + esbuild@0.24.2: 10875 + optionalDependencies: 10876 + '@esbuild/aix-ppc64': 0.24.2 10877 + '@esbuild/android-arm': 0.24.2 10878 + '@esbuild/android-arm64': 0.24.2 10879 + '@esbuild/android-x64': 0.24.2 10880 + '@esbuild/darwin-arm64': 0.24.2 10881 + '@esbuild/darwin-x64': 0.24.2 10882 + '@esbuild/freebsd-arm64': 0.24.2 10883 + '@esbuild/freebsd-x64': 0.24.2 10884 + '@esbuild/linux-arm': 0.24.2 10885 + '@esbuild/linux-arm64': 0.24.2 10886 + '@esbuild/linux-ia32': 0.24.2 10887 + '@esbuild/linux-loong64': 0.24.2 10888 + '@esbuild/linux-mips64el': 0.24.2 10889 + '@esbuild/linux-ppc64': 0.24.2 10890 + '@esbuild/linux-riscv64': 0.24.2 10891 + '@esbuild/linux-s390x': 0.24.2 10892 + '@esbuild/linux-x64': 0.24.2 10893 + '@esbuild/netbsd-arm64': 0.24.2 10894 + '@esbuild/netbsd-x64': 0.24.2 10895 + '@esbuild/openbsd-arm64': 0.24.2 10896 + '@esbuild/openbsd-x64': 0.24.2 10897 + '@esbuild/sunos-x64': 0.24.2 10898 + '@esbuild/win32-arm64': 0.24.2 10899 + '@esbuild/win32-ia32': 0.24.2 10900 + '@esbuild/win32-x64': 0.24.2 10643 10901 10644 10902 escalade@3.2.0: {} 10645 10903
+1 -1
pnpm-workspace.yaml
··· 14 14 "@types/node": ^22.2.0 15 15 "@types/react-dom": ^18 16 16 "@types/react": ^18 17 - esbuild: ^0.23.0 17 + esbuild: ^0.24.2 18 18 eslint-plugin-import: ^2.31.0 19 19 eslint-plugin-simple-import-sort: ^12.1.1 20 20 eslint-plugin-unicorn: ^55.0.0