nlr-skeleton
Version:
NarraLeaf-React Skeleton
29 lines (28 loc) • 9.93 kB
JavaScript
;var $=Object.create;var B=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var V=Object.getOwnPropertyNames;var K=Object.getPrototypeOf,W=Object.prototype.hasOwnProperty;var H=(r,e,o,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of V(e))!W.call(r,n)&&n!==o&&B(r,n,{get:()=>e[n],enumerable:!(t=U(e,n))||t.enumerable});return r};var T=(r,e,o)=>(o=r!=null?$(K(r)):{},H(e||!r||!r.__esModule?B(o,"default",{value:r,enumerable:!0}):o,r));var Y=require("child_process"),p=require("fs"),g=require("path");var S=(r=0)=>e=>`\x1B[${e+r}m`,I=(r=0)=>e=>`\x1B[${38+r};5;${e}m`,M=(r=0)=>(e,o,t)=>`\x1B[${38+r};2;${e};${o};${t}m`,s={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},fe=Object.keys(s.modifier),q=Object.keys(s.color),z=Object.keys(s.bgColor),ge=[...q,...z];function J(){let r=new Map;for(let[e,o]of Object.entries(s)){for(let[t,n]of Object.entries(o))s[t]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},o[t]=s[t],r.set(n[0],n[1]);Object.defineProperty(s,e,{value:o,enumerable:!1})}return Object.defineProperty(s,"codes",{value:r,enumerable:!1}),s.color.close="\x1B[39m",s.bgColor.close="\x1B[49m",s.color.ansi=S(),s.color.ansi256=I(),s.color.ansi16m=M(),s.bgColor.ansi=S(10),s.bgColor.ansi256=I(10),s.bgColor.ansi16m=M(10),Object.defineProperties(s,{rgbToAnsi256:{value(e,o,t){return e===o&&o===t?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(o/255*5)+Math.round(t/255*5)},enumerable:!1},hexToRgb:{value(e){let o=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!o)return[0,0,0];let[t]=o;t.length===3&&(t=[...t].map(l=>l+l).join(""));let n=Number.parseInt(t,16);return[n>>16&255,n>>8&255,n&255]},enumerable:!1},hexToAnsi256:{value:e=>s.rgbToAnsi256(...s.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let o,t,n;if(e>=232)o=((e-232)*10+8)/255,t=o,n=o;else{e-=16;let N=e%36;o=Math.floor(e/36)/5,t=Math.floor(N/6)/5,n=N%6/5}let l=Math.max(o,t,n)*2;if(l===0)return 30;let c=30+(Math.round(n)<<2|Math.round(t)<<1|Math.round(o));return l===2&&(c+=60),c},enumerable:!1},rgbToAnsi:{value:(e,o,t)=>s.ansi256ToAnsi(s.rgbToAnsi256(e,o,t)),enumerable:!1},hexToAnsi:{value:e=>s.ansi256ToAnsi(s.hexToAnsi256(e)),enumerable:!1}}),s}var Q=J(),f=Q;var C=T(require("node:process"),1),_=T(require("node:os"),1),A=T(require("node:tty"),1);function u(r,e=globalThis.Deno?globalThis.Deno.args:C.default.argv){let o=r.startsWith("-")?"":r.length===1?"-":"--",t=e.indexOf(o+r),n=e.indexOf("--");return t!==-1&&(n===-1||t<n)}var{env:i}=C.default,y;u("no-color")||u("no-colors")||u("color=false")||u("color=never")?y=0:(u("color")||u("colors")||u("color=true")||u("color=always"))&&(y=1);function X(){if("FORCE_COLOR"in i)return i.FORCE_COLOR==="true"?1:i.FORCE_COLOR==="false"?0:i.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(i.FORCE_COLOR,10),3)}function Z(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function ee(r,{streamIsTTY:e,sniffFlags:o=!0}={}){let t=X();t!==void 0&&(y=t);let n=o?y:t;if(n===0)return 0;if(o){if(u("color=16m")||u("color=full")||u("color=truecolor"))return 3;if(u("color=256"))return 2}if("TF_BUILD"in i&&"AGENT_NAME"in i)return 1;if(r&&!e&&n===void 0)return 0;let l=n||0;if(i.TERM==="dumb")return l;if(C.default.platform==="win32"){let c=_.default.release().split(".");return Number(c[0])>=10&&Number(c[2])>=10586?Number(c[2])>=14931?3:2:1}if("CI"in i)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(c=>c in i)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(c=>c in i)||i.CI_NAME==="codeship"?1:l;if("TEAMCITY_VERSION"in i)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(i.TEAMCITY_VERSION)?1:0;if(i.COLORTERM==="truecolor"||i.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in i){let c=Number.parseInt((i.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(i.TERM_PROGRAM){case"iTerm.app":return c>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(i.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(i.TERM)||"COLORTERM"in i?1:l}function F(r,e={}){let o=ee(r,{streamIsTTY:r&&r.isTTY,...e});return Z(o)}var re={stdout:F({isTTY:A.default.isatty(1)}),stderr:F({isTTY:A.default.isatty(2)})},w=re;function P(r,e,o){let t=r.indexOf(e);if(t===-1)return r;let n=e.length,l=0,c="";do c+=r.slice(l,t)+e+o,l=t+n,t=r.indexOf(e,l);while(t!==-1);return c+=r.slice(l),c}function j(r,e,o,t){let n=0,l="";do{let c=r[t-1]==="\r";l+=r.slice(n,c?t-1:t)+e+(c?`\r
`:`
`)+o,n=t+1,t=r.indexOf(`
`,n)}while(t!==-1);return l+=r.slice(n),l}var{stdout:k,stderr:L}=w,E=Symbol("GENERATOR"),b=Symbol("STYLER"),d=Symbol("IS_EMPTY"),G=["ansi","ansi","ansi256","ansi16m"],h=Object.create(null),oe=(r,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let o=k?k.level:0;r.level=e.level===void 0?o:e.level};var te=r=>{let e=(...o)=>o.join(" ");return oe(e,r),Object.setPrototypeOf(e,O.prototype),e};function O(r){return te(r)}Object.setPrototypeOf(O.prototype,Function.prototype);for(let[r,e]of Object.entries(f))h[r]={get(){let o=R(this,x(e.open,e.close,this[b]),this[d]);return Object.defineProperty(this,r,{value:o}),o}};h.visible={get(){let r=R(this,this[b],!0);return Object.defineProperty(this,"visible",{value:r}),r}};var v=(r,e,o,...t)=>r==="rgb"?e==="ansi16m"?f[o].ansi16m(...t):e==="ansi256"?f[o].ansi256(f.rgbToAnsi256(...t)):f[o].ansi(f.rgbToAnsi(...t)):r==="hex"?v("rgb",e,o,...f.hexToRgb(...t)):f[o][r](...t),ne=["rgb","hex","ansi256"];for(let r of ne){h[r]={get(){let{level:o}=this;return function(...t){let n=x(v(r,G[o],"color",...t),f.color.close,this[b]);return R(this,n,this[d])}}};let e="bg"+r[0].toUpperCase()+r.slice(1);h[e]={get(){let{level:o}=this;return function(...t){let n=x(v(r,G[o],"bgColor",...t),f.bgColor.close,this[b]);return R(this,n,this[d])}}}}var le=Object.defineProperties(()=>{},{...h,level:{enumerable:!0,get(){return this[E].level},set(r){this[E].level=r}}}),x=(r,e,o)=>{let t,n;return o===void 0?(t=r,n=e):(t=o.openAll+r,n=e+o.closeAll),{open:r,close:e,openAll:t,closeAll:n,parent:o}},R=(r,e,o)=>{let t=(...n)=>se(t,n.length===1?""+n[0]:n.join(" "));return Object.setPrototypeOf(t,le),t[E]=r,t[b]=e,t[d]=o,t},se=(r,e)=>{if(r.level<=0||!e)return r[d]?"":e;let o=r[b];if(o===void 0)return e;let{openAll:t,closeAll:n}=o;if(e.includes("\x1B"))for(;o!==void 0;)e=P(e,o.close,o.open),o=o.parent;let l=e.indexOf(`
`);return l!==-1&&(e=j(e,n,t,l)),t+e+n};Object.defineProperties(O.prototype,h);var ie=O(),Te=O({level:L?L.level:0});var a=ie;var m=T(require("process"));var ce=(0,g.join)(__dirname,"..","skeleton");function D(r,e){(0,p.mkdirSync)(e,{recursive:!0});let o=(0,p.readdirSync)(r,{withFileTypes:!0});for(let t of o){let n=(0,g.join)(r,t.name),l=(0,g.join)(e,t.name);t.name==="gitignore"&&(l=(0,g.join)(e,".gitignore")),t.isDirectory()?D(n,l):(0,p.copyFileSync)(n,l)}}function ae(){let r=m.default.argv[2];r||(console.error(a.red("Please provide a target path")),console.log(a.yellow("Usage: npx nlr-skeleton <PATH>")),m.default.exit(1));let e=(0,g.resolve)(m.default.cwd(),r);try{console.log(a.blue("\u{1F680} Creating new NarraLeaf-React project...")),D(ce,e),console.log(a.green("\u2705 Skeleton files copied successfully")),m.default.chdir(e),console.log(a.blue("\u{1F4E6} Installing dependencies...")),(0,Y.execSync)("npm install",{stdio:"inherit"}),console.log(a.green(`
\u2728 Project created successfully!`)),console.log(a.yellow(`
Next steps:`)),console.log(a.white(" "+a.blue("cd")+" "+r)),console.log(a.white(" "+a.blue("npm")+" run dev"))}catch(o){console.error(a.red("\u274C Error:"),o),m.default.exit(1)}}ae();
/*!
* ___ ___ ___ ___ ___ ___ ___ ___ ___
* /\__\ /\ \ /\ \ /\ \ /\ \ /\__\ /\ \ /\ \ /\ \
* /::| | /::\ \ /::\ \ /::\ \ /::\ \ /:/ / /::\ \ /::\ \ /::\ \
* /:|:| | /:/\:\ \ /:/\:\ \ /:/\:\ \ /:/\:\ \ /:/ / /:/\:\ \ /:/\:\ \ /:/\:\ \
* /:/|:| |__ /::\~\:\ \ /::\~\:\ \ /::\~\:\ \ /::\~\:\ \ /:/ / /::\~\:\ \ /::\~\:\ \ /::\~\:\ \
* /:/ |:| /\__\ /:/\:\ \:\__\ /:/\:\ \:\__\ /:/\:\ \:\__\ /:/\:\ \:\__\ /:/__/ /:/\:\ \:\__\ /:/\:\ \:\__\ /:/\:\ \:\__\
* \/__|:|/:/ / \/__\:\/:/ / \/_|::\/:/ / \/_|::\/:/ / \/__\:\/:/ / \:\ \ \:\~\:\ \/__/ \/__\:\/:/ / \/__\:\ \/__/
* |:/:/ / \::/ / |:|::/ / |:|::/ / \::/ / \:\ \ \:\ \:\__\ \::/ / \:\__\
* |::/ / /:/ / |:|\/__/ |:|\/__/ /:/ / \:\ \ \:\ \/__/ /:/ / \/__/
* /:/ / /:/ / |:| | |:| | /:/ / \:\__\ \:\__\ /:/ /
* \/__/ \/__/ \|__| \|__| \/__/ \/__/ \/__/ \/__/
*
* © 2025 NarraLeaf
* NarraLeaf-React Skeleton
* A suggested project structure for NarraLeaf-React App
*
* @author: Nomen (helloyork) https://github.com/helloyork
* @license: MIT
*/