UNPKG

clixion

Version:

A flexible framework for building CLI applications

2 lines (1 loc) 3.39 kB
"use strict";var E=Object.create;var a=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var J=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty;var z=(t,e)=>{for(var r in e)a(t,r,{get:e[r],enumerable:!0})},m=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _(e))!S.call(t,i)&&i!==r&&a(t,i,{get:()=>e[i],enumerable:!(n=R(e,i))||n.enumerable});return t};var c=(t,e,r)=>(r=t!=null?E(J(t)):{},m(e||!t||!t.__esModule?a(r,"default",{value:t,enumerable:!0}):r,t)),b=t=>m(a({},"__esModule",{value:!0}),t);var U={};z(U,{__dirname:()=>l,__filename:()=>x,clearDir:()=>M,getModuleFilename:()=>k,getPackageJson:()=>y,getPackageJsonPath:()=>g,getPackageManager:()=>v,isCI:()=>$,isHome:()=>f,isTest:()=>D,notEmptyDir:()=>O,pmRunCommand:()=>w,replacePackageJsonRunCommand:()=>A,resolveAbsoluteDir:()=>F,resolveRelativeDir:()=>I,sanitizePackageName:()=>N,setPackageJson:()=>C,updatePackageName:()=>G});module.exports=b(U);var s=c(require("fs"),1),u=c(require("os"),1),o=c(require("path"),1),p=require("url"),d=c(require("which-pm-runs"),1),V={},x=k(),l=o.default.dirname(x);function k(){let r=new Error().stack?.match(/^Error\s+at[^\r\n]+\s+at *(?:[^\r\n(]+\((.+?)(?::\d+:\d+)?\)|(.+?)(?::\d+:\d+)?) *([\r\n]|$)/),n=r?.[1]||r?.[2];return n?.startsWith("file://")?(0,p.fileURLToPath)(n):n||(0,p.fileURLToPath)(V.url)}function $(){return!!(process.env.CI||process.env.GITHUB_ACTIONS)}function D(){return!1}function f(t){return t.startsWith(process.env.HOME??"~/")}function F(t){return f(t)?(0,o.resolve)(u.default.homedir(),t):(0,o.resolve)(process.cwd(),t)}function I(t){return f(t)?(0,o.relative)(u.default.homedir(),t):(0,o.relative)(process.cwd(),t)}function O(t){return s.default.existsSync(t)&&s.default.readdirSync(t).length>0}var M=async t=>{let e=await s.default.promises.readdir(t);return await Promise.all(e.map(r=>s.default.promises.rm((0,o.join)(t,r),{recursive:!0})))};function P(t){if(!s.default.existsSync(t))throw new Error(`File ${t} not found`);return s.default.readFileSync(t,{encoding:"utf8"}).toString()}function h(t,e){return s.default.writeFileSync(t,e,{encoding:"utf8"})}function T(t,e,r){let n=P(t);n=n.replace(e,r),h(t,n)}function v(){return(0,d.default)()?.name||"npm"}function w(){let t=v();return t==="npm"||t==="bun"?`${t} run`:t}function g(t=l){return(0,o.join)(t,"package.json")}function j(t,e,r){T(g(t),e,r)}function A(t){j(t,/npm run/g,w())}var B=/^(?:(?:@[a-z0-9-*~][a-z0-9-*._~]*\/)?[a-z0-9-~][a-z0-9-._~]*)$/;function N(t){return t=t.trim().replace(/\\/g,"/").split("/").filter(Boolean).map(e=>e.toLowerCase().replace(/[^a-z0-9-_]/g,"-").replace(/^-+|-+$/g,"")).join("-"),t=t.normalize("NFD").replace(/[\u0300-\u036f]/g,""),t=t.replace(/[^a-zA-Z0-9\-._~/@]/g,"-"),t=t.replace(/^[-.]+|[-.]+$/g,""),t=t.replace(/[-.]{2,}/g,"-"),t=t.toLowerCase(),t}function H(t){return B.test(t)}function L(t){if(t=N(t),!H(t))throw new Error(`Invalid package name: ${t}`);return t}function y(t){let e=g(t);return JSON.parse(P(e))}function C(t,e){h(g(t),JSON.stringify(e,null,2))}function G(t,e=l){let r=L(t),n=y(e);n.name=r,C(e,n)}0&&(module.exports={__dirname,__filename,clearDir,getModuleFilename,getPackageJson,getPackageJsonPath,getPackageManager,isCI,isHome,isTest,notEmptyDir,pmRunCommand,replacePackageJsonRunCommand,resolveAbsoluteDir,resolveRelativeDir,sanitizePackageName,setPackageJson,updatePackageName});