From 79ba9b59704fba2bab4b58023dfaf165f2033700 Mon Sep 17 00:00:00 2001 From: Luiz Felipe Weber Date: Thu, 23 Jan 2025 10:17:48 -0300 Subject: [PATCH] feat(linter): added support to run in Node.JS legacy versions (#8648) With a few adjustments It is possible to run _oxlint_ in projects which use legacy **Node.js** versions, such as **8.x.x**. Basically this is possible by removing spread operator in 'binpath' environment assemble and changing a catch command to inform an error variable. Without this modification, we got always this error: ``` node_modules/oxlint/bin/oxlint:23 } catch { ^ SyntaxError: Unexpected token { at createScript (vm.js:74:10) at Object.runInThisContext (vm.js:116:10) at Module._compile (module.js:533:28) at Object.Module._extensions..js (module.js:580:10) at Module.load (module.js:503:32) at tryModuleLoad (module.js:466:12) at Function.Module._load (module.js:458:3) at Function.Module.runMain (module.js:605:10) at startup (bootstrap_node.js:158:16) at bootstrap_node.js:575:3 ``` --- npm/oxlint/bin/oxlint | 13 ++++++------- npm/oxlint/package.json | 2 +- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/npm/oxlint/bin/oxlint b/npm/oxlint/bin/oxlint index 80d1a716e..40a5c2401 100755 --- a/npm/oxlint/bin/oxlint +++ b/npm/oxlint/bin/oxlint @@ -20,7 +20,7 @@ const isMuslFromFilesystem = () => { const { readFileSync } = require("fs"); try { return readFileSync("/usr/bin/ldd", "utf-8").includes("musl"); - } catch { + } catch(_error) { return null; } }; @@ -91,9 +91,9 @@ const PLATFORMS = { }; let binPath = ( - PLATFORMS && - PLATFORMS[platform] && - PLATFORMS[platform][arch] && + PLATFORMS && + PLATFORMS[platform] && + PLATFORMS[platform][arch] && PLATFORMS[platform][arch][isMusl() ? "musl" : "gnu"] ) || null; @@ -104,12 +104,11 @@ if (binPath) { { shell: false, stdio: "inherit", - env: { - ...env, + env: Object.assign({}, env, { JS_RUNTIME_VERSION: version, JS_RUNTIME_NAME: release.name, NODE_PACKAGE_MANAGER: detectPackageManager(), - }, + }), } ); diff --git a/npm/oxlint/package.json b/npm/oxlint/package.json index f5fab415a..c22329c3a 100644 --- a/npm/oxlint/package.json +++ b/npm/oxlint/package.json @@ -20,7 +20,7 @@ "url": "https://github.com/sponsors/Boshen" }, "engines": { - "node": ">=14.*" + "node": ">=8.*" }, "files": [ "bin/oxlint",