create-abi
Version:
Interactive CLI for create Abi.js projects.
5 lines (4 loc) • 4.67 kB
JavaScript
;var z=Object.create;var p=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var W=Object.getOwnPropertyNames;var $=Object.getPrototypeOf,L=Object.prototype.hasOwnProperty;var M=(n,t)=>{for(var r in t)p(n,r,{get:t[r],enumerable:!0})},k=(n,t,r,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of W(t))!L.call(n,o)&&o!==r&&p(n,o,{get:()=>t[o],enumerable:!(e=I(t,o))||e.enumerable});return n};var g=(n,t,r)=>(r=n!=null?z($(n)):{},k(t||!n||!n.__esModule?p(r,"default",{value:n,enumerable:!0}):r,n)),V=n=>k(p({},"__esModule",{value:!0}),n);var en={};M(en,{__dirname:()=>m,__filename:()=>w,clearDir:()=>q,deepMerge:()=>y,deepMergeJson:()=>P,deepMergeJsonFile:()=>J,getJson:()=>j,getJsonPath:()=>f,getModuleFilename:()=>R,isCI:()=>H,isHome:()=>d,isTest:()=>F,mergeDotIgnoreContents:()=>b,mergeDotIgnoreFiles:()=>A,mergeDotIgnoreLines:()=>D,notEmptyDir:()=>Z,putJson:()=>T,replaceJsonRunCommand:()=>X,resolveAbsoluteDir:()=>G,resolveRelativeDir:()=>U,safeCopy:()=>C,safeCopyDir:()=>N,safeCopyFile:()=>E,sanitizePackageName:()=>_,setJson:()=>O,updatePackageName:()=>rn});module.exports=V(en);var i=g(require("fs"),1),l=g(require("os"),1),s=g(require("path"),1),u=require("url"),c=require("fs-extra/esm"),v=g(require("panam/pm"),1),on={},w=R(),m=s.default.dirname(w);function C(n,t){(0,i.statSync)(n).isDirectory()?N(n,t):E(n,t)}function N(n,t){let r=(0,i.readdirSync)(n);(0,c.ensureDirSync)(t);for(let e of r)C((0,s.join)(n,e),(0,s.join)(t,e))}function E(n,t){let r=(0,s.basename)(n);(0,c.pathExistsSync)(t)?r.endsWith(".json")?J(t,n,!0):r.startsWith(".")&&r.endsWith("ignore")&&A(t,n,!0):(0,c.copySync)(n,t)}function J(n,t,r=!1){let e=P(a(n),a(t));return r&&T(n,e),e}function P(n,t){return y(JSON.parse(n),JSON.parse(t))}function y(n,t){for(let r of Object.keys(t)){let e=n[r],o=t[r];S(e)&&S(o)?n[r]=y(e,o):Array.isArray(e)&&Array.isArray(o)?n[r]=Array.from(new Set([...e,...o])):n[r]=o}return n}function S(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function A(n,t,r=!1){let e=b(a(n),a(t));return r&&x(n,e),e}function b(n,t){return D(n.split(`
`),t.split(`
`)).join(`
`)}function D(n,t){let r=Array.from(new Set([...n.map(e=>e.trim()),...t.map(e=>e.trim())])).filter(e=>e!=="");return B(r)}function B(n){let t=[],r=!1;return n.forEach((e,o)=>{let h=e.startsWith("#");h&&!r&&o!==0&&t.push(""),t.push(e),r=h}),t}function R(){let r=new Error().stack?.match(/^Error\s+at[^\r\n]+\s+at *(?:[^\r\n(]+\((.+?)(?::\d+:\d+)?\)|(.+?)(?::\d+:\d+)?) *([\r\n]|$)/),e=r?.[1]||r?.[2];return e?.startsWith("file://")?(0,u.fileURLToPath)(e):e||(0,u.fileURLToPath)(on.url)}function H(){return!!(process.env.CI||process.env.GITHUB_ACTIONS)}function F(){return!1}function d(n){return n.startsWith(process.env.HOME??"~/")}function G(n){return d(n)?(0,s.resolve)(l.default.homedir(),n):(0,s.resolve)(process.cwd(),n)}function U(n){return d(n)?(0,s.relative)(l.default.homedir(),n):(0,s.relative)(process.cwd(),n)}function Z(n){return i.default.existsSync(n)&&i.default.readdirSync(n).length>0}var q=async n=>{let t=await i.default.promises.readdir(n);return await Promise.all(t.map(r=>i.default.promises.rm((0,s.join)(n,r),{recursive:!0})))};function a(n){if(!i.default.existsSync(n))throw new Error(`File ${n} not found`);return i.default.readFileSync(n,{encoding:"utf8"}).toString()}function x(n,t){return i.default.writeFileSync(n,t,{encoding:"utf8"})}function K(n,t,r){let e=a(n);e=e.replace(t,r),x(n,e)}function f(n,t=m){return(0,s.join)(t,`${n}.json`)}function Q(n,t,r,e){K(f(n,t),r,e)}function X(n,t){Q(n,t,/npm run/g,v.default.runCommand())}var Y=/^(?:(?:@[a-z0-9-*~][a-z0-9-*._~]*\/)?[a-z0-9-~][a-z0-9-._~]*)$/;function _(n){return n=n.trim().replace(/\\/g,"/").split("/").filter(Boolean).map(t=>t.toLowerCase().replace(/[^a-z0-9-_]/g,"-").replace(/^-+|-+$/g,"")).join("-"),n=n.normalize("NFD").replace(/[\u0300-\u036f]/g,""),n=n.replace(/[^a-zA-Z0-9\-._~/@]/g,"-"),n=n.replace(/^[-.]+|[-.]+$/g,""),n=n.replace(/[-.]{2,}/g,"-"),n=n.toLowerCase(),n}function nn(n){return Y.test(n)}function tn(n){if(n=_(n),!nn(n))throw new Error(`Invalid package name: ${n}`);return n}function j(n,t){let r=f(n,t);return JSON.parse(a(r))}function O(n,t,r){T(f(n,t),r)}function T(n,t){x(n,JSON.stringify(t,null,2))}function rn(n,t="package",r=m){let e=tn(n),o=j(t,r);o.name=e,O(t,r,o)}0&&(module.exports={__dirname,__filename,clearDir,deepMerge,deepMergeJson,deepMergeJsonFile,getJson,getJsonPath,getModuleFilename,isCI,isHome,isTest,mergeDotIgnoreContents,mergeDotIgnoreFiles,mergeDotIgnoreLines,notEmptyDir,putJson,replaceJsonRunCommand,resolveAbsoluteDir,resolveRelativeDir,safeCopy,safeCopyDir,safeCopyFile,sanitizePackageName,setJson,updatePackageName});