@funish/basis
Version:
A unified development toolkit with CLI for package management, versioning, publishing, linting, and git hooks management for JavaScript/TypeScript projects.
2 lines (1 loc) • 1.49 kB
JavaScript
"use strict";const citty=require("citty"),consola=require("consola"),publish$1=require("../shared/basis.Bz4YLlJG.cjs");require("node:child_process"),require("nypm"),require("pkg-types"),require("semver"),require("../shared/basis.D3fInv-P.cjs"),require("node:fs/promises"),require("c12"),require("../config.cjs");const publish=citty.defineCommand({meta:{name:"publish",description:"Publish package to npm registry"},args:{tag:{type:"string",description:"Specific npm tag to publish to",alias:"t"},stable:{type:"boolean",description:"Publish as stable release (latest tag)",alias:"s"},latest:{type:"boolean",description:"Publish to latest tag",alias:"l"},dryRun:{type:"boolean",description:"Perform a dry run without actually publishing",alias:"d"},access:{type:"string",description:"Package access level (public/private)",alias:"a"},registry:{type:"string",description:"NPM registry URL",alias:"r"},skipBuild:{type:"boolean",description:"Skip build step"},skipTests:{type:"boolean",description:"Skip test step"}},async run({args:e}){try{const i=process.cwd(),t={tag:e.tag,stable:e.stable,latest:e.latest,dryRun:e.dryRun,access:e.access,registry:e.registry,skipBuild:e.skipBuild,skipTests:e.skipTests},s=await publish$1.publishPackage(i,t);s.dryRun?consola.consola.success("Dry run completed successfully"):consola.consola.success(`Published ${s.packageName}@${s.version} to ${s.publishTag}`)}catch(i){consola.consola.error("Failed to publish:",i),process.exit(1)}}});exports.default=publish;