From 38ce162f299f33d4c01445ed8a48b4af32912f56 Mon Sep 17 00:00:00 2001 From: stordahl Date: Sun, 6 Sep 2026 12:12:04 +0000 Subject: [PATCH] chore: remove apache-arrow pnpm patch pnpm patches are not applied when the installer is run with non-pnpm package managers (npm/yarn), leaving the workaround silently inactive. The underlying issue is fixed properly in the server code now, so the patch is no longer needed. --- package.json | 5 -- patches/apache-arrow.patch | 83 ----------------------- pnpm-lock.yaml | 130 ++++++++++++++++++------------------- 3 files changed, 65 insertions(+), 153 deletions(-) delete mode 100644 patches/apache-arrow.patch diff --git a/package.json b/package.json index 7e6d9969..5412f106 100644 --- a/package.json +++ b/package.json @@ -23,10 +23,5 @@ "engines": { "node": ">=20", "pnpm": ">=9" - }, - "pnpm": { - "patchedDependencies": { - "apache-arrow": "patches/apache-arrow.patch" - } } } diff --git a/patches/apache-arrow.patch b/patches/apache-arrow.patch deleted file mode 100644 index 11dfdc58..00000000 --- a/patches/apache-arrow.patch +++ /dev/null @@ -1,83 +0,0 @@ -diff --git a/builder/valid.js b/builder/valid.js -index b35a5f5e1f399c483e5852481970245893a8d1d8..32ca18ae283b6a18d20a12ece6bb9e51beba5553 100644 ---- a/builder/valid.js -+++ b/builder/valid.js -@@ -18,54 +18,43 @@ - Object.defineProperty(exports, "__esModule", { value: true }); - exports.createIsValidFunction = void 0; - const pretty_js_1 = require("../util/pretty.js"); -+ - /** -- * Dynamically compile the null values into an `isValid()` function whose -- * implementation is a switch statement. Microbenchmarks in v8 indicate -- * this approach is 25% faster than using an ES6 Map. -+ * Dynamically compile the null values into an `isValid()` function. -+ * This implementation uses a Set for O(1) lookup while maintaining performance. - * - * @example -- * console.log(createIsValidFunction([null, 'N/A', NaN])); -- * `function (x) { -- * if (x !== x) return false; -- * switch (x) { -- * case null: -- * case "N/A": -- * return false; -- * } -- * return true; -- * }` -+ * const isValid = createIsValidFunction([null, 'N/A', NaN]); -+ * isValid(null); // false -+ * isValid('N/A'); // false -+ * isValid(NaN); // false -+ * isValid('valid'); // true - * - * @ignore - * @param nullValues - */ - function createIsValidFunction(nullValues) { - if (!nullValues || nullValues.length <= 0) { -- // @ts-ignore - return function isValid(value) { return true; }; - } -- let fnBody = ''; -+ -+ // Separate NaN from other null values since NaN !== NaN -+ const hasNaN = nullValues.some((x) => x !== x); - const noNaNs = nullValues.filter((x) => x === x); -- if (noNaNs.length > 0) { -- fnBody = ` -- switch (x) {${noNaNs.map((x) => ` -- case ${valueToCase(x)}:`).join('')} -- return false; -- }`; -- } -- // NaN doesn't equal anything including itself, so it doesn't work as a -- // switch case. Instead we must explicitly check for NaN before the switch. -- if (nullValues.length !== noNaNs.length) { -- fnBody = `if (x !== x) return false;\n${fnBody}`; -- } -- return new Function(`x`, `${fnBody}\nreturn true;`); -+ -+ // Use a Set for O(1) lookup of non-NaN null values -+ const nullSet = new Set(noNaNs); -+ -+ return function isValid(x) { -+ // Check for NaN first (NaN !== NaN, so we check if x !== x) -+ if (hasNaN && x !== x) return false; -+ -+ // Check if value is in the null values set -+ return !nullSet.has(x); -+ }; - } -+ - exports.createIsValidFunction = createIsValidFunction; --/** @ignore */ --function valueToCase(x) { -- if (typeof x !== 'bigint') { -- return (0, pretty_js_1.valueToString)(x); -- } -- return `${(0, pretty_js_1.valueToString)(x)}n`; --} -+ - - //# sourceMappingURL=valid.js.map diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ea8c6dec..d97337f2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,11 +4,6 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -patchedDependencies: - apache-arrow: - hash: rdn3zdh7oegn7ci5d7wumjppre - path: patches/apache-arrow.patch - importers: .: @@ -25,7 +20,7 @@ importers: version: 3.4.2 turbo: specifier: latest - version: 2.6.1 + version: 2.10.12 packages/cli: dependencies: @@ -155,7 +150,7 @@ importers: version: 9.0.10 apache-arrow: specifier: ^21.1.0 - version: 21.1.0(patch_hash=rdn3zdh7oegn7ci5d7wumjppre) + version: 21.1.0 bcryptjs: specifier: ^3.0.2 version: 3.0.2 @@ -1627,6 +1622,36 @@ packages: '@types/react-dom': optional: true + '@turbo/darwin-64@2.10.12': + resolution: {integrity: sha512-9nKgKoF6ZOUsM+or0OtNf+TTJSfGvDNP7ZFv/ZGWVwOSCkumyctQiTeHwB4UNljHTnC41AqylgbunLDHoccNrA==} + cpu: [x64] + os: [darwin] + + '@turbo/darwin-arm64@2.10.12': + resolution: {integrity: sha512-H4Elb1jqTZVeIC9bbcNwjSzemZ6RegoTOVHeuV5Osirt2Z8UguTyisMEkvZjPVZgMeN9J4ERZBFad40tFnkb7w==} + cpu: [arm64] + os: [darwin] + + '@turbo/linux-64@2.10.12': + resolution: {integrity: sha512-lr7KIotukvjZwEXiFSYAeOH3BWzjFVBbSzTbv0fuGFsNukYyH0+g1hB5ecqnJkgkYU+KHEMG1edOhnjiKON1wQ==} + cpu: [x64] + os: [android, linux] + + '@turbo/linux-arm64@2.10.12': + resolution: {integrity: sha512-f0pZDTtvzB5SuNwuXBaKbZHUCMCukgc8nMlHEuvLmj91Fzec+MEbr3cAvGNor5htEDqZnO6Lxt9N/GPI/77oGA==} + cpu: [arm64] + os: [android, linux] + + '@turbo/windows-64@2.10.12': + resolution: {integrity: sha512-SDOueJRjS/QcykWf2KCRtTLmIl5YMKsLbXkXQGhDwcTXvKXZiS5ih5lBl/gkwZIpYFjqA/rAlfMzlAFcVHNe0g==} + cpu: [x64] + os: [win32] + + '@turbo/windows-arm64@2.10.12': + resolution: {integrity: sha512-0i0mVUa4kKk+/B3RwEwPMf9CB+T7ul56hn5FFHNA4VUNTOoLBEd6aNf3FaKfCatDNZ6cicCEf6if9QUTVyzzcA==} + cpu: [arm64] + os: [win32] + '@types/argparse@1.0.38': resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} @@ -2623,6 +2648,7 @@ packages: eslint@9.21.0: resolution: {integrity: sha512-KjeihdFqTPhOMXTt7StsDxriV4n66ueuF/jfPNC3j/lduHwr/ijDwJMsF+wyMJethgiKi5wniIE243vi07d3pg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true peerDependencies: jiti: '*' @@ -2833,6 +2859,7 @@ packages: glob@10.4.5: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true globals@13.24.0: @@ -3857,6 +3884,7 @@ packages: recharts@2.13.3: resolution: {integrity: sha512-YDZ9dOfK9t3ycwxgKbrnDlRC4BHdjlY73fet3a0C1+qGMjXVZe6+VXmpOIIhzkje5MMEL8AN4hLIe4AMskBzlA==} engines: {node: '>=14'} + deprecated: 1.x and 2.x branches are no longer active. Bump to Recharts v3 to receive latest features and bugfixes. See https://github.com/recharts/recharts/wiki/3.0-migration-guide peerDependencies: react: ^16.0.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 @@ -4253,6 +4281,7 @@ packages: tsconfck@3.1.4: resolution: {integrity: sha512-kdqWFGVJqe+KGYvlSO9NIaWn9jT1Ny4oKVzAJsKii5eoE9snzTJzL4+MMVOMn+fikWGFmKEylcXL710V/kIPJQ==} engines: {node: ^18 || >=20} + deprecated: unmaintained hasBin: true peerDependencies: typescript: ^5.0.0 @@ -4290,38 +4319,8 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - turbo-darwin-64@2.6.1: - resolution: {integrity: sha512-Dm0HwhyZF4J0uLqkhUyCVJvKM9Rw7M03v3J9A7drHDQW0qAbIGBrUijQ8g4Q9Cciw/BXRRd8Uzkc3oue+qn+ZQ==} - cpu: [x64] - os: [darwin] - - turbo-darwin-arm64@2.6.1: - resolution: {integrity: sha512-U0PIPTPyxdLsrC3jN7jaJUwgzX5sVUBsKLO7+6AL+OASaa1NbT1pPdiZoTkblBAALLP76FM0LlnsVQOnmjYhyw==} - cpu: [arm64] - os: [darwin] - - turbo-linux-64@2.6.1: - resolution: {integrity: sha512-eM1uLWgzv89bxlK29qwQEr9xYWBhmO/EGiH22UGfq+uXr+QW1OvNKKMogSN65Ry8lElMH4LZh0aX2DEc7eC0Mw==} - cpu: [x64] - os: [linux] - - turbo-linux-arm64@2.6.1: - resolution: {integrity: sha512-MFFh7AxAQAycXKuZDrbeutfWM5Ep0CEZ9u7zs4Hn2FvOViTCzIfEhmuJou3/a5+q5VX1zTxQrKGy+4Lf5cdpsA==} - cpu: [arm64] - os: [linux] - - turbo-windows-64@2.6.1: - resolution: {integrity: sha512-buq7/VAN7KOjMYi4tSZT5m+jpqyhbRU2EUTTvp6V0Ii8dAkY2tAAjQN1q5q2ByflYWKecbQNTqxmVploE0LVwQ==} - cpu: [x64] - os: [win32] - - turbo-windows-arm64@2.6.1: - resolution: {integrity: sha512-7w+AD5vJp3R+FB0YOj1YJcNcOOvBior7bcHTodqp90S3x3bLgpr7tE6xOea1e8JkP7GK6ciKVUpQvV7psiwU5Q==} - cpu: [arm64] - os: [win32] - - turbo@2.6.1: - resolution: {integrity: sha512-qBwXXuDT3rA53kbNafGbT5r++BrhRgx3sAo0cHoDAeG9g1ItTmUMgltz3Hy7Hazy1ODqNpR+C7QwqL6DYB52yA==} + turbo@2.10.12: + resolution: {integrity: sha512-AswgMPnpOoaVZHrrSBejETzEbuIA69OVGwfkHwfrY0A23VjWXBANzgq9+OymWOHAIArB7D1+1z498WY8fGg1Jw==} hasBin: true type-check@0.4.0: @@ -4586,6 +4585,7 @@ packages: whatwg-encoding@3.1.1: resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} engines: {node: '>=18'} + deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation whatwg-mimetype@4.0.0: resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} @@ -5892,6 +5892,24 @@ snapshots: '@types/react': 18.3.18 '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@turbo/darwin-64@2.10.12': + optional: true + + '@turbo/darwin-arm64@2.10.12': + optional: true + + '@turbo/linux-64@2.10.12': + optional: true + + '@turbo/linux-arm64@2.10.12': + optional: true + + '@turbo/windows-64@2.10.12': + optional: true + + '@turbo/windows-arm64@2.10.12': + optional: true + '@types/argparse@1.0.38': {} '@types/aria-query@5.0.4': {} @@ -6278,7 +6296,7 @@ snapshots: normalize-path: 3.0.0 picomatch: 2.3.1 - apache-arrow@21.1.0(patch_hash=rdn3zdh7oegn7ci5d7wumjppre): + apache-arrow@21.1.0: dependencies: '@swc/helpers': 0.5.17 '@types/command-line-args': 5.2.3 @@ -8848,32 +8866,14 @@ snapshots: fsevents: 2.3.3 optional: true - turbo-darwin-64@2.6.1: - optional: true - - turbo-darwin-arm64@2.6.1: - optional: true - - turbo-linux-64@2.6.1: - optional: true - - turbo-linux-arm64@2.6.1: - optional: true - - turbo-windows-64@2.6.1: - optional: true - - turbo-windows-arm64@2.6.1: - optional: true - - turbo@2.6.1: + turbo@2.10.12: optionalDependencies: - turbo-darwin-64: 2.6.1 - turbo-darwin-arm64: 2.6.1 - turbo-linux-64: 2.6.1 - turbo-linux-arm64: 2.6.1 - turbo-windows-64: 2.6.1 - turbo-windows-arm64: 2.6.1 + '@turbo/darwin-64': 2.10.12 + '@turbo/darwin-arm64': 2.10.12 + '@turbo/linux-64': 2.10.12 + '@turbo/linux-arm64': 2.10.12 + '@turbo/windows-64': 2.10.12 + '@turbo/windows-arm64': 2.10.12 type-check@0.4.0: dependencies: