%global npm_name react-intl Name: nodejs-react-intl Version: 2.9.0 Release: 4%{?dist} Summary: Internationalize React apps License: BSD-3-Clause Group: Development/Libraries URL: https://github.com/yahoo/react-intl Source0: https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz Source1: https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-2.2.9.tgz Source2: https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-2.2.0.tgz Source3: https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz Source4: https://registry.npmjs.org/intl-relativeformat/-/intl-relativeformat-2.2.0.tgz Source5: https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz Source6: https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz Source7: https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz Source8: https://registry.npmjs.org/react-intl/-/react-intl-2.9.0.tgz Source9: https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz Source10: nodejs-react-intl-%{version}-package-lock.json BuildRequires: npm >= 7 BuildRequires: nodejs-packaging # The prep section runs node directly, so this is needed unconditionally. It # also works around https://issues.redhat.com/browse/RHEL-137712 on RHEL 10 # before 10.3, where the nodejs major version macro does not resolve without # node in the buildroot. BuildRequires: /usr/bin/node BuildArch: noarch ExclusiveArch: %{nodejs_arches} noarch Provides: npm(%{npm_name}) = %{version} Provides: bundled(npm(hoist-non-react-statics)) = 3.3.2 Provides: bundled(npm(intl-format-cache)) = 2.2.9 Provides: bundled(npm(intl-messageformat)) = 2.2.0 Provides: bundled(npm(intl-messageformat-parser)) = 1.4.0 Provides: bundled(npm(intl-relativeformat)) = 2.2.0 Provides: bundled(npm(invariant)) = 2.2.4 Provides: bundled(npm(js-tokens)) = 4.0.0 Provides: bundled(npm(loose-envify)) = 1.4.0 Provides: bundled(npm(react-intl)) = 2.9.0 Provides: bundled(npm(react-is)) = 16.13.1 AutoReq: no AutoProv: no %define npm_cache_dir npm_cache_%{name}-%{version}-%{release} %description %{summary} %prep mkdir -p %{npm_cache_dir} # npm ci installs the tree recorded in the lockfile: every entry carries a # resolved URL and an integrity hash, and npm serves the tarballs from the # cache primed here by content hash. No registry access is needed. for src in %{sources}; do case "$src" in *.tgz) npm cache add --cache %{npm_cache_dir} "$src" ;; *-package-lock.json) cp "$src" package-lock.json ;; esac done # Derive package.json from the lockfile so the two cannot disagree. node -e ' const fs = require("fs"); const lock = JSON.parse(fs.readFileSync("package-lock.json")); fs.writeFileSync("package.json", JSON.stringify({ name: lock.name, version: lock.version, dependencies: lock.packages[""].dependencies }, null, 2) + "\n"); ' %build npm ci --legacy-peer-deps --offline --cache %{_builddir}/%{npm_cache_dir} --omit optional %install mkdir -p %{buildroot}%{nodejs_sitelib}/%{npm_name} cp -pfr node_modules/%{npm_name}/node_modules %{buildroot}%{nodejs_sitelib}/%{npm_name} # npm creates a scope directory for every scope named in the lockfile, including # scopes whose packages were all omitted, which leaves empty dirs behind. # -delete implies -depth, so nested empties go bottom-up in a single pass. find %{buildroot}%{nodejs_sitelib}/%{npm_name} -type d -empty -delete cp -pfr node_modules/%{npm_name}/dist %{buildroot}%{nodejs_sitelib}/%{npm_name} cp -pfr node_modules/%{npm_name}/lib %{buildroot}%{nodejs_sitelib}/%{npm_name} cp -pfr node_modules/%{npm_name}/locale-data %{buildroot}%{nodejs_sitelib}/%{npm_name} cp -pfr node_modules/%{npm_name}/package.json %{buildroot}%{nodejs_sitelib}/%{npm_name} cp -pfr node_modules/%{npm_name}/src %{buildroot}%{nodejs_sitelib}/%{npm_name} %clean rm -rf %{buildroot} %{npm_cache_dir} %files %{nodejs_sitelib}/%{npm_name} %license node_modules/%{npm_name}/LICENSE.md %doc node_modules/%{npm_name}/CONTRIBUTING.md %doc node_modules/%{npm_name}/README.md %changelog * Thu Jul 30 2026 Zach Huntington-Meath 2.9.0-4 - Update to 2.9.0 * Wed Dec 24 2025 Ewoud Kohl van Wijngaarden 2.9.0-3 - Rebuild vendor cache for NodeJS 22 * Thu Feb 01 2024 Eric D. Helms - 2.9.0-2 - Use --legacy-peer-deps during npm install * Fri Aug 11 2023 Foreman Packaging Automation 2.9.0-1 - Update to 2.9.0 * Tue Mar 17 2020 Zach Huntington-Meath - 2.8.0-4 - Bump packages to build for el8 * Tue Oct 22 2019 Eric D. Helms - 2.8.0-3 - Build for SCL * Fri Oct 04 2019 Eric D. Helms - 2.8.0-2 - Update specs to handle SCL * Mon Feb 11 2019 Ohad Levy 2.8.0-1 - Update to 2.8.0 * Wed Jan 09 2019 Ewoud Kohl van Wijngaarden 2.7.2-1 - Add nodejs-react-intl generated by npm2rpm using the single strategy