%global npm_name vite Name: nodejs-%{npm_name} Version: 7.1.12 Release: 1%{?dist} Summary: Next Generation NodeJS Frontend Tooling License: MIT AND ISC URL: https://vite.dev/ Source0: https://registry.npmjs.org/%{npm_name}/-/%{npm_name}-%{version}.tgz Source1: %{npm_name}-%{version}-nm-prod.tgz Source2: %{npm_name}-%{version}-nm-dev.tgz Source3: %{npm_name}-%{version}-bundled-licenses.txt BuildArch: noarch ExclusiveArch: %{nodejs_arches} noarch Requires: nodejs Requires: npm(rollup) Requires: npm(esbuild) Requires: golang-github-evanw-esbuild BuildRequires: nodejs, /usr/bin/node, /usr/bin/npm BuildRequires: npm(rollup) BuildRequires: npm(esbuild) BuildRequires: golang-github-evanw-esbuild BuildRequires: nodejs-devel %description %{summary}. %prep %setup -q -n package cp %{SOURCE3} . # Setup bundled runtime(prod) node modules tar xfz %{SOURCE1} # Remove modules provided by rpm packages rm -rf node_modules_prod/rollup ln -sf %{nodejs_sitelib}/rollup node_modules_prod rm -rf node_modules_prod/@esbuild node_modules_prod/esbuild node_modules_prod/.bin/esbuild ln -sf %{nodejs_sitelib}/{@esbuild,esbuild} node_modules_prod mkdir -p node_modules pushd node_modules ln -s ../node_modules_prod/* . ln -s ../node_modules_prod/.bin . popd %build #nothing to do %install mkdir -p %{buildroot}%{nodejs_sitelib}/%{npm_name} cp -pr package.json bin dist misc client.d.ts types \ %{buildroot}%{nodejs_sitelib}/%{npm_name} # Copy over bundled nodejs modules cp -pr node_modules node_modules_prod \ %{buildroot}%{nodejs_sitelib}/%{npm_name} mkdir -p %{buildroot}%{nodejs_sitelib}/vite/bin install -p -D -m0755 bin/vite.js %{buildroot}%{nodejs_sitelib}/vite/bin/vite.js install -p -D -m0755 bin/openChrome.js %{buildroot}%{nodejs_sitelib}/vite/bin/openChrome.js mkdir -p %{buildroot}%{_bindir} ln -sr %{nodejs_sitelib}/vite/bin/vite.js %{buildroot}%{_bindir}/vite %check %{__nodejs} -e 'require("./")' # Setup bundled dev node_modules for testing # Note: this cannot be in %%prep or the dev node_modules # can get pulled into the regular rpm #tar xfz %{SOURCE2} #pushd node_modules #ln -s ../node_modules_dev/* . #popd #pushd node_modules/.bin #ln -s ../../node_modules_dev/.bin/* . #popd # Run tests #./node_modules/.bin/tap test/*.js %files %doc README.md %license LICENSE.md %{npm_name}-%{version}-bundled-licenses.txt %{nodejs_sitelib}/vite %{_bindir}/vite %changelog