UNPKG

@eljs/create-preset-structure

Version:
49 lines (41 loc) 1.05 kB
import { chalk, getWorkspaces, logger, type PackageJson, readJson, sleep, } from '@eljs/utils' import path from 'node:path' import { $, argv } from 'zx' $.verbose = true main() .then(() => process.exit(0)) .catch(error => { console.error(`add owner error: ${error.message}`) process.exit(1) }) async function main(): Promise<void> { const owners = argv._ if (!owners.length) { logger.printErrorAndExit('Please entry owner name.') } const rootPath = path.resolve(__dirname, '../') const workspaces = await getWorkspaces(rootPath) for (const owner of owners) { for (const workspace of workspaces) { const { name: pkgName } = await readJson<PackageJson>( path.resolve(workspace, 'package.json'), ) try { await $`pnpm owner add ${owner} ${pkgName}` logger.ready( `User ${chalk.cyan(owner)} now has the permission of ${pkgName}.`, ) } catch (err) { await sleep(200) await $`npm cache clean --force` } } } }