From dd0869499d2d32c7fca3669bb8a703fd4a988243 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 24 Aug 2026 14:18:44 +0000 Subject: [PATCH 1/2] fix(@stdlib/string/base/atob): guard against `ReferenceError` when `atob` global is absent The job `Node.js v12` and `Node.js v14` of workflow `linux_test` failed on develop with `ReferenceError: atob is not defined`. Root cause: `lib/global.js` unconditionally referenced the bare global identifier `atob`, which Node.js only defines starting in v16, so merely requiring the module threw at evaluation time on older versions. This module is required eagerly by `lib/main.js`, itself required eagerly by the package's test files, crashing the test suite before the existing `hasAtobSupport()` skip logic ever ran. This commit guards the reference with `typeof atob === 'function'`, matching the existing pattern in `@stdlib/assert/has-atob-support`, so requiring the module no longer throws on environments lacking a native `atob` global. Ref: https://github.com/stdlib-js/stdlib/actions/runs/32710852762 --- lib/node_modules/@stdlib/string/base/atob/lib/global.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/string/base/atob/lib/global.js b/lib/node_modules/@stdlib/string/base/atob/lib/global.js index 2d8f761f1dc2..491962d727f2 100644 --- a/lib/node_modules/@stdlib/string/base/atob/lib/global.js +++ b/lib/node_modules/@stdlib/string/base/atob/lib/global.js @@ -18,6 +18,11 @@ 'use strict'; +// MAIN // + +var main = ( typeof atob === 'function' ) ? atob : null; + + // EXPORTS // -module.exports = atob; +module.exports = main; From 1f665a13b703fd009632cd30267ed40b93e5ba48 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 24 Aug 2026 14:23:32 +0000 Subject: [PATCH 2/2] fix(@stdlib/string/base/atob): suppress unsupported-node-builtin lint error CI's `Lint Changed Files` check failed on the prior commit: `n/no-unsupported-features/node-builtins` flags any reference to the `atob` identifier as unsupported given this package's `engines.node` range (`>=0.10.0`), including inside `typeof atob`. The established repo convention for this exact situation is an inline `eslint-disable-line n/no-unsupported-features/node-builtins` comment (see `@stdlib/process/geteuid/lib/native.js`); this commit adds it. Ref: https://github.com/stdlib-js/stdlib/actions/runs/32738069504 --- lib/node_modules/@stdlib/string/base/atob/lib/global.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/string/base/atob/lib/global.js b/lib/node_modules/@stdlib/string/base/atob/lib/global.js index 491962d727f2..410b2879eccc 100644 --- a/lib/node_modules/@stdlib/string/base/atob/lib/global.js +++ b/lib/node_modules/@stdlib/string/base/atob/lib/global.js @@ -20,7 +20,7 @@ // MAIN // -var main = ( typeof atob === 'function' ) ? atob : null; +var main = ( typeof atob === 'function' ) ? atob : null; // eslint-disable-line n/no-unsupported-features/node-builtins // EXPORTS //