2025-08-05 12:35:40 +07:00

32 lines
1.1 KiB
TypeScript

import { promisify } from 'util'
import { exec as execCallback } from 'child_process'
import fs from 'fs-extra'
import { consola } from 'consola'
const exec = promisify(execCallback)
export const updatePackages = async () => {
consola.start('Removing packages related to i18n...')
// Detect package manager
const packageManager = fs.existsSync('yarn.lock') ? 'yarn' : fs.existsSync('pnpm-lock.yaml') ? 'pnpm' : 'npm'
// Remove packages
let command =
packageManager === 'yarn'
? `${packageManager} remove @formatjs/intl-localematcher @types/negotiator negotiator`
: `${packageManager} uninstall @formatjs/intl-localematcher @types/negotiator negotiator`
await exec(command)
consola.success('Removed packages related to i18n successfully\n')
// Add new package
command =
packageManager === 'npm'
? `${packageManager} install --save-dev eslint-plugin-unused-imports`
: `${packageManager} add -D eslint-plugin-unused-imports`
await exec(command)
consola.success('eslint-plugin-unused-imports installed successfully\n')
}