UNPKG

flowbite-react

Version:

Official React components built for Flowbite and Tailwind CSS

41 lines (38 loc) 1.81 kB
import { resolveCommand } from 'package-manager-detector/commands'; import { detect } from 'package-manager-detector/detect'; import { execCommand } from '../utils/exec-command.js'; import { getModulePackageJson } from '../utils/get-module-package-json.js'; import { getPackageJson } from '../utils/get-package-json.js'; async function installPackage() { const packageName = "flowbite-react"; try { let pm = await detect(); if (!pm) { console.error("Could not detect package manager"); } pm ?? (pm = { agent: "npm", name: "npm" }); const packageJson = await getPackageJson(); const currentPackage = await getModulePackageJson(packageName); if (currentPackage && (packageJson?.dependencies?.[packageName] || packageJson?.devDependencies?.[packageName])) { if (currentPackage.version.localeCompare("0.11", void 0, { numeric: true }) < 0) { console.log( "The current version of flowbite-react is below 0.11.x, which is the version with the new engine and CLI." ); const { command: command2 = "", args: args2 } = resolveCommand(pm.agent, "add", [`${packageName}@latest`]) ?? {}; console.log(`Updating ${packageName} to latest version using ${pm.name}...`); await execCommand(withWindowsSupport(command2), args2); } return; } const { command = "", args } = resolveCommand(pm.agent, "add", [packageName]) ?? {}; console.log(`Installing ${packageName} using ${pm.name}...`); await execCommand(withWindowsSupport(command), args); } catch (error) { console.error(`Failed to install ${packageName}:`, error); } } function withWindowsSupport(command) { return process.platform === "win32" ? `${command}.cmd` : command; } export { installPackage }; //# sourceMappingURL=install.js.map