#!/usr/bin/env node /** * Set package.json pear.link for a workspace Pear app. * Usage: node scripts/set-pear-package-link.mjs */ import { readFileSync, writeFileSync } from 'node:fs' import path from 'node:path' const pkgDir = path.resolve(process.argv[2] ?? '') const link = (process.argv[3] ?? '').trim() if (!pkgDir || !link) { console.error('usage: set-pear-package-link.mjs ') process.exit(1) } if (!/^pear:\/\/[a-z0-9]+$/i.test(link)) { console.error(`Invalid link: ${link}`) process.exit(1) } const pkgJsonPath = path.join(pkgDir, 'package.json') const pkgJson = JSON.parse(readFileSync(pkgJsonPath, 'utf8')) pkgJson.pear = pkgJson.pear ?? {} pkgJson.pear.link = link writeFileSync(pkgJsonPath, `${JSON.stringify(pkgJson, null, 2)}\n`, 'utf8') console.log(`Updated ${pkgJsonPath} → ${link}`)