diff --git a/comps/comps-foreman-el9.xml b/comps/comps-foreman-el9.xml
index 06c12e5ced..6cd4e73970 100644
--- a/comps/comps-foreman-el9.xml
+++ b/comps/comps-foreman-el9.xml
@@ -47,6 +47,7 @@
nodejs-argv-parse
nodejs-axios
nodejs-babel-core
+ nodejs-base64-js
nodejs-babel-loader
nodejs-babel-plugin-transform-class-properties
nodejs-babel-preset-env
@@ -78,6 +79,7 @@
nodejs-harmony-reflect
nodejs-history
nodejs-humanize-duration
+ nodejs-ieee754
nodejs-intl
nodejs-ipaddr.js
nodejs-jed
diff --git a/package_manifest.yaml b/package_manifest.yaml
index 725fac16fa..571837a30a 100644
--- a/package_manifest.yaml
+++ b/package_manifest.yaml
@@ -390,6 +390,7 @@ foreman_nodejs_packages:
nodejs-babel-preset-react:
strategy: bundle
nodejs-babel-runtime: {}
+ nodejs-base64-js: {}
nodejs-bootstrap-sass: {}
nodejs-buffer: {}
nodejs-c3: {}
@@ -417,6 +418,7 @@ foreman_nodejs_packages:
nodejs-harmony-reflect: {}
nodejs-history: {}
nodejs-humanize-duration: {}
+ nodejs-ieee754: {}
nodejs-intl: {}
nodejs-ipaddr.js: {}
nodejs-jed: {}
diff --git a/packages/foreman/nodejs-buffer/base64-js-1.5.1.tgz b/packages/foreman/nodejs-base64-js/base64-js-1.5.1.tgz
similarity index 100%
rename from packages/foreman/nodejs-buffer/base64-js-1.5.1.tgz
rename to packages/foreman/nodejs-base64-js/base64-js-1.5.1.tgz
diff --git a/packages/foreman/nodejs-base64-js/nodejs-base64-js.spec b/packages/foreman/nodejs-base64-js/nodejs-base64-js.spec
new file mode 100644
index 0000000000..68c0ff07b3
--- /dev/null
+++ b/packages/foreman/nodejs-base64-js/nodejs-base64-js.spec
@@ -0,0 +1,46 @@
+%{?scl:%scl_package nodejs-%{npm_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global npm_name base64-js
+
+Name: %{?scl_prefix}nodejs-base64-js
+Version: 1.5.1
+Release: 1%{?dist}
+Summary: Base64 encoding/decoding in pure JS
+License: MIT
+Group: Development/Libraries
+URL: https://github.com/beatgammit/base64-js
+Source0: https://registry.npmjs.org/base64-js/-/base64-js-%{version}.tgz
+%if 0%{?!scl:1}
+BuildRequires: nodejs-packaging
+%endif
+BuildArch: noarch
+ExclusiveArch: %{nodejs_arches} noarch
+Provides: %{?scl_prefix}npm(%{npm_name}) = %{version}
+
+%description
+%{summary}
+
+%prep
+%setup -q -n package
+
+%install
+mkdir -p %{buildroot}%{nodejs_sitelib}/%{npm_name}
+cp -pfr base64js.min.js %{buildroot}%{nodejs_sitelib}/%{npm_name}
+cp -pfr index.d.ts %{buildroot}%{nodejs_sitelib}/%{npm_name}
+cp -pfr index.js %{buildroot}%{nodejs_sitelib}/%{npm_name}
+cp -pfr package.json %{buildroot}%{nodejs_sitelib}/%{npm_name}
+
+%nodejs_symlink_deps
+
+%check
+%{nodejs_symlink_deps} --check
+
+%files
+%{nodejs_sitelib}/%{npm_name}
+%license LICENSE
+%doc README.md
+
+%changelog
+* Fri Dec 19 2025 Ewoud Kohl van Wijngaarden 1.5.1-1
+- Add nodejs-base64-js generated by npm2rpm using the single strategy
diff --git a/packages/foreman/nodejs-buffer/nodejs-buffer-5.7.1-registry.npmjs.org.tgz b/packages/foreman/nodejs-buffer/nodejs-buffer-5.7.1-registry.npmjs.org.tgz
deleted file mode 100644
index afd4c5373f..0000000000
Binary files a/packages/foreman/nodejs-buffer/nodejs-buffer-5.7.1-registry.npmjs.org.tgz and /dev/null differ
diff --git a/packages/foreman/nodejs-buffer/nodejs-buffer.spec b/packages/foreman/nodejs-buffer/nodejs-buffer.spec
index 49d31852ba..10eed17d5f 100644
--- a/packages/foreman/nodejs-buffer/nodejs-buffer.spec
+++ b/packages/foreman/nodejs-buffer/nodejs-buffer.spec
@@ -5,73 +5,52 @@
Name: %{?scl_prefix}nodejs-buffer
Version: 5.7.1
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Node
License: MIT
Group: Development/Libraries
URL: https://github.com/feross/buffer
-Source0: https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz
-Source1: https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz
-Source2: https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz
-Source3: nodejs-buffer-%{version}-registry.npmjs.org.tgz
-BuildRequires: %{?scl_prefix_nodejs}npm
-%if 0%{!?scl:1}
+Source0: https://registry.npmjs.org/buffer/-/buffer-%{version}.tgz
+%if 0%{?!scl:1}
BuildRequires: nodejs-packaging
%endif
+Requires: npm(base64-js) >= 1.3.1
+Requires: npm(base64-js) < 2.0.0
+Requires: npm(ieee754) >= 1.1.13
+Requires: npm(ieee754) < 2.0.0
BuildArch: noarch
ExclusiveArch: %{nodejs_arches} noarch
-
Provides: %{?scl_prefix}npm(%{npm_name}) = %{version}
-Provides: bundled(npm(base64-js)) = 1.5.1
-Provides: bundled(npm(buffer)) = 5.7.1
-Provides: bundled(npm(ieee754)) = 1.2.1
-AutoReq: no
-AutoProv: no
-
-%if 0%{?scl:1}
-%define npm_cache_dir npm_cache
-%else
-%define npm_cache_dir /tmp/npm_cache_%{name}-%{version}-%{release}
-%endif
%description
%{summary}
%prep
-mkdir -p %{npm_cache_dir}
-%{?scl:scl enable %{?scl_nodejs} - << \end_of_scl}
-for tgz in %{sources}; do
- echo $tgz | grep -q registry.npmjs.org || npm cache add --cache %{npm_cache_dir} $tgz
-done
-%{?scl:end_of_scl}
-
-%setup -T -q -a 3 -D -n %{npm_cache_dir}
-
-%build
-%{?scl:scl enable %{?scl_nodejs} - << \end_of_scl}
-npm install --legacy-peer-deps --cache-min Infinity --cache %{?scl:../}%{npm_cache_dir} --no-shrinkwrap --no-optional --global-style true %{npm_name}@%{version}
-%{?scl:end_of_scl}
+%setup -q -n package
%install
mkdir -p %{buildroot}%{nodejs_sitelib}/%{npm_name}
-cp -pfr node_modules/%{npm_name}/node_modules %{buildroot}%{nodejs_sitelib}/%{npm_name}
-cp -pfr node_modules/%{npm_name}/index.d.ts %{buildroot}%{nodejs_sitelib}/%{npm_name}
-cp -pfr node_modules/%{npm_name}/index.js %{buildroot}%{nodejs_sitelib}/%{npm_name}
-cp -pfr node_modules/%{npm_name}/package.json %{buildroot}%{nodejs_sitelib}/%{npm_name}
+cp -pfr index.d.ts %{buildroot}%{nodejs_sitelib}/%{npm_name}
+cp -pfr index.js %{buildroot}%{nodejs_sitelib}/%{npm_name}
+cp -pfr package.json %{buildroot}%{nodejs_sitelib}/%{npm_name}
+
+%nodejs_symlink_deps
-%clean
-rm -rf %{buildroot} %{npm_cache_dir}
+%check
+%{nodejs_symlink_deps} --check
%files
%{nodejs_sitelib}/%{npm_name}
-%license node_modules/%{npm_name}/LICENSE
-%doc node_modules/%{npm_name}/AUTHORS.md
-%doc node_modules/%{npm_name}/README.md
+%license LICENSE
+%doc AUTHORS.md
+%doc README.md
%changelog
+* Fri Dec 19 2025 Ewoud Kohl van Wijngaarden 5.7.1-3
+- Rewrite to use single style packaging
+
* Thu Feb 01 2024 Eric D. Helms - 5.7.1-2
- Use --legacy-peer-deps during npm install
* Mon Jan 29 2024 Evgeni Golov 5.7.1-1
- Add nodejs-buffer generated by npm2rpm using the bundle strategy
-
diff --git a/packages/foreman/nodejs-buffer/ieee754-1.2.1.tgz b/packages/foreman/nodejs-ieee754/ieee754-1.2.1.tgz
similarity index 100%
rename from packages/foreman/nodejs-buffer/ieee754-1.2.1.tgz
rename to packages/foreman/nodejs-ieee754/ieee754-1.2.1.tgz
diff --git a/packages/foreman/nodejs-ieee754/nodejs-ieee754.spec b/packages/foreman/nodejs-ieee754/nodejs-ieee754.spec
new file mode 100644
index 0000000000..676c699c77
--- /dev/null
+++ b/packages/foreman/nodejs-ieee754/nodejs-ieee754.spec
@@ -0,0 +1,45 @@
+%{?scl:%scl_package nodejs-%{npm_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global npm_name ieee754
+
+Name: %{?scl_prefix}nodejs-ieee754
+Version: 1.2.1
+Release: 1%{?dist}
+Summary: Read/write IEEE754 floating point numbers from/to a Buffer or array-like object
+License: BSD-3-Clause
+Group: Development/Libraries
+URL: https://github.com/feross/ieee754#readme
+Source0: https://registry.npmjs.org/ieee754/-/ieee754-%{version}.tgz
+%if 0%{?!scl:1}
+BuildRequires: nodejs-packaging
+%endif
+BuildArch: noarch
+ExclusiveArch: %{nodejs_arches} noarch
+Provides: %{?scl_prefix}npm(%{npm_name}) = %{version}
+
+%description
+%{summary}
+
+%prep
+%setup -q -n package
+
+%install
+mkdir -p %{buildroot}%{nodejs_sitelib}/%{npm_name}
+cp -pfr index.d.ts %{buildroot}%{nodejs_sitelib}/%{npm_name}
+cp -pfr index.js %{buildroot}%{nodejs_sitelib}/%{npm_name}
+cp -pfr package.json %{buildroot}%{nodejs_sitelib}/%{npm_name}
+
+%nodejs_symlink_deps
+
+%check
+%{nodejs_symlink_deps} --check
+
+%files
+%{nodejs_sitelib}/%{npm_name}
+%license LICENSE
+%doc README.md
+
+%changelog
+* Fri Dec 19 2025 Ewoud Kohl van Wijngaarden 1.2.1-1
+- Add nodejs-ieee754 generated by npm2rpm using the single strategy