UNPKG

deno-npm-sync

Version:

A CLI tool to synchronize dependencies between Deno and NPM projects.

3 lines (2 loc) 1.21 kB
#!/usr/bin/env node "use strict";var o=require("node:path"),e=require("node:process"),n=require("commander"),r=require("./main.cjs");n.program.name("deno-npm-sync").description("Sync npm and JSR package versions from package.json to deno.json imports").version("0.0.0").option("-d, --deno <path>","Path to deno.json file","./deno.json").option("-p, --package <path>","Path to package.json file","./package.json").option("-s, --silent","Suppress console output",!1).option("-v, --version-precision <mode>","Version precision mode: 'auto' (preserve format), 'major' (x), 'minor' (x.y), or 'full' (x.y.z)","auto").action(async n=>{try{["auto","major","minor","full"].includes(n.versionPrecision)||(console.error("❌ Error: --version-precision must be one of: 'auto', 'major', 'minor', 'full'"),e.exit(1));const s=o.resolve(e.cwd(),n.deno),i=o.resolve(e.cwd(),n.package),a=await r.syncDenoNpmDependencies({denoJsonPath:s,packageJsonPath:i,silent:n.silent,versionPrecision:n.versionPrecision});!n.silent&&a.hasUpdates&&console.log(`\n✨ Successfully synchronized ${a.updates.length} package(s)`),e.exit(0)}catch(o){console.error("❌ Error:",o instanceof Error?o.message:String(o)),e.exit(1)}}),n.program.parse();