@decaf-ts/cli 0.4.5 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/cli.cjs +1 -1
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/lib/CliWrapper.cjs +113 -68
- package/lib/CliWrapper.d.ts +5 -1
- package/lib/CliWrapper.js.map +1 -1
- package/lib/banners.cjs +200 -0
- package/lib/banners.js.map +1 -1
- package/lib/esm/CliWrapper.d.ts +5 -1
- package/lib/esm/CliWrapper.js +113 -68
- package/lib/esm/CliWrapper.js.map +1 -1
- package/lib/esm/banners.js +200 -0
- package/lib/esm/banners.js.map +1 -1
- package/lib/esm/version.d.ts +1 -1
- package/lib/esm/version.js +1 -1
- package/lib/version.cjs +1 -1
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
package/dist/cli.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var _,t;_=this,t=function(_,t,n,e,o,a){"use strict";function r(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}var s=r(n),i=r(e);class l{static async loadFromFile(_){try{return l.normalizeImport(import(_))}catch(t){throw Error(`Failed to load from ${_}: ${t instanceof Error?t.message:t}`)}}static async normalizeImport(_){return _.then(_=>_.default||_)}static initialize(_,t){const n=l.packageName(t);_.name("decaf").description(`Runs ${n} related commands`).version(l.packageVersion(t))}static getPackage(_){try{return JSON.parse(s.default.readFileSync(i.default.join(_,"package.json"),"utf8"))}catch(t){throw Error(`Unable to read version from ${_}: ${t}`)}}static packageVersion(_){return l.getPackage(_).version}static packageName(_){const t=l.getPackage(_).name.split("/");return t[t.length-1]}}const m=["\n ____ _____ ____ _ _____ _____ ____ \n| _ \\| ____/ ___| / \\ | ___| |_ _/ ___| \n| | | | _|| | / _ \\ | |_ | | \\___ \\ \n| |_| | |__| |___ / ___ \\| _| | | ___) |\n|____/|_____\\____/_/ \\_\\_| |_| |____/ \n","\n ____ __ ______\n / __ \\___ _________ _/ __/_ __/____\n / / / / _ \\/ ___/ __ `/ /_ / / / ___/\n / /_/ / __/ /__/ /_/ / __/ / / (__ ) \n/_____/\\___/\\___/\\__,_/_/ /_/ /____/ \n","\n\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\n\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2588\u2588\u2554\u2550\u2550\u255d\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d\n\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\n\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255d \u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255d \u2588\u2588\u2551 \u255a\u2550\u2550\u2550\u2550\u2588\u2588\u2551\n\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255d\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u255a\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551\n\u255a\u2550\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u255d\u255a\u2550\u255d \u255a\u2550\u255d\u255a\u2550\u255d \u255a\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u2550\u255d\n","\n ___ __ ______\n / _ \\___ _______ _/ _/ /_ __/\n / // / -_) __/ _ `/ _/ / / \n/____/\\__/\\__/\\_,_/_/ /_/ \n","\n _ _ _ _ _ _ _ \n / \\ / \\ / \\ / \\ / \\ / \\ / \\ \n( D | e | c | a | f ) ( T | S )\n \\_/ \\_/ \\_/ \\_/ \\_/ \\_/ \\_/ \n","\n+--+--+--+--+--+ +--+--+\n|D |e |c |a |f | |T |S |\n+--+--+--+--+--+ +--+--+\n","\n.______ _______ ______ ___ _______ .___________. _______\n| _ \\ | ____| / | / \\ | ____| | | / |\n| | | | | |__ | ,----' / ^ \\ | |__ `---| |----` | (----`\n| | | | | __| | | / /_\\ \\ | __| | | \\ \\ \n| `--' | | |____ | `----./ _____ \\ | | | | .----) | \n|_______/ |_______| \\______/__/ \\__\\ |__| |__| |_______/ \n","\n _/_/_/ _/_/_/ _/_/_/_/_/ _/_/_/ \n _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ _/ \n _/ _/ _/_/_/_/ _/ _/ _/ _/ _/_/_/ _/ _/_/ \n _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ \n_/_/_/ _/_/_/ _/_/_/ _/_/_/ _/ _/ _/_/_/ \n","\n______ __ _____ _____ \n| _ \\ / _| |_ _/ ___|\n| | | |___ ___ __ _ ___| |_ | | \\ `--. \n| | | / _ \\/ __/ _` |/ _ \\ _| | | `--. \\\n| |/ / __/ (_| (_| | __/ | | | /\\__/ /\n|___/ \\___|\\___\\__,_|\\___|_| \\_/ \\____/ \n","\n ___ ___ ___ ___ ___ ___ ___ \n /\\ \\ /\\ \\ /\\ \\ /\\ \\ /\\ \\ /\\ \\ /\\ \\ \n /::\\ \\ /::\\ \\ /::\\ \\ /::\\ \\ /::\\ \\ \\:\\ \\ /::\\ \\ \n /:/\\:\\ \\ /:/\\:\\ \\ /:/\\:\\ \\ /:/\\:\\ \\ /:/\\:\\ \\ \\:\\ \\ /:/\\ \\ \\ \n /:/ \\:\\__\\ /::\\~\\:\\ \\ /:/ \\:\\ \\ /::\\~\\:\\ \\ /::\\~\\:\\ \\ /::\\ \\ _\\:\\~\\ \\ \\ \n /:/__/ \\:|__| /:/\\:\\ \\:\\__\\ /:/__/ \\:\\__\\ /:/\\:\\ \\:\\__\\ /:/\\:\\ \\:\\__\\ /:/\\:\\__\\ /\\ \\:\\ \\ \\__\\\n \\:\\ \\ /:/ / \\:\\~\\:\\ \\/__/ \\:\\ \\ \\/__/ \\/__\\:\\/:/ / \\:\\~\\:\\ \\/__/ /:/ \\/__/ \\:\\ \\:\\ \\/__/\n \\:\\ /:/ / \\:\\ \\:\\__\\ \\:\\ \\ \\::/ / \\:\\ \\:\\__\\ /:/ / \\:\\ \\:\\__\\ \n \\:\\/:/ / \\:\\ \\/__/ \\:\\ \\ /:/ / \\:\\ \\/__/ \\/__/ \\:\\/:/ / \n \\::/__/ \\:\\__\\ \\:\\__\\ /:/ / \\:\\__\\ \\::/ / \n ~~ \\/__/ \\/__/ \\/__/ \\/__/ \\/__/ \n"],c={sunset:["\x1b[38;5;215m","\x1b[38;5;209m","\x1b[38;5;205m","\x1b[38;5;210m","\x1b[38;5;217m","\x1b[38;5;216m","\x1b[38;5;224m","\x1b[38;5;230m"],ocean:["\x1b[38;5;27m","\x1b[38;5;33m","\x1b[38;5;39m","\x1b[38;5;45m","\x1b[38;5;51m","\x1b[38;5;87m","\x1b[38;5;123m","\x1b[38;5;159m"],forest:["\x1b[38;5;22m","\x1b[38;5;28m","\x1b[38;5;34m","\x1b[38;5;40m","\x1b[38;5;46m","\x1b[38;5;82m","\x1b[38;5;118m","\x1b[38;5;154m"],fire:["\x1b[38;5;196m","\x1b[38;5;202m","\x1b[38;5;208m","\x1b[38;5;214m","\x1b[38;5;220m","\x1b[38;5;226m","\x1b[38;5;228m","\x1b[38;5;230m"],neon:["\x1b[38;5;198m","\x1b[38;5;207m","\x1b[38;5;219m","\x1b[38;5;123m","\x1b[38;5;51m","\x1b[38;5;46m","\x1b[38;5;226m","\x1b[38;5;201m"],monochrome:["\x1b[38;5;232m","\x1b[38;5;236m","\x1b[38;5;240m","\x1b[38;5;244m","\x1b[38;5;248m","\x1b[38;5;252m","\x1b[38;5;255m","\x1b[38;5;250m"],pastel:["\x1b[38;5;217m","\x1b[38;5;223m","\x1b[38;5;229m","\x1b[38;5;157m","\x1b[38;5;159m","\x1b[38;5;189m","\x1b[38;5;183m","\x1b[38;5;225m"],cyberpunk:["\x1b[38;5;201m","\x1b[38;5;198m","\x1b[38;5;165m","\x1b[38;5;93m","\x1b[38;5;51m","\x1b[38;5;45m","\x1b[38;5;21m","\x1b[38;5;226m"],earth:["\x1b[38;5;94m","\x1b[38;5;130m","\x1b[38;5;136m","\x1b[38;5;100m","\x1b[38;5;58m","\x1b[38;5;22m","\x1b[38;5;137m","\x1b[38;5;180m"],rainbow:["\x1b[38;5;196m","\x1b[38;5;208m","\x1b[38;5;226m","\x1b[38;5;46m","\x1b[38;5;21m","\x1b[38;5;57m","\x1b[38;5;129m","\x1b[38;5;201m"]};function d(_,t){_=_.for(d);const n=i.default.join(t,"workdocs","assets","slogans.json");try{if(!s.default.existsSync(n))return;const _=s.default.readFileSync(n);return JSON.parse(_.toString())}catch(t){return void _.error("Failed to read slogans from "+n,t)}}const h={banner:!0,cliModuleRoot:process.env.CLI_MODULE_TOOT&&process.env.CLI_MODULE_TOOT.length>0?i.default.resolve(process.env.CLI_MODULE_TOOT):process.cwd()},u=o.LoggedEnvironment.accumulate(h);class f extends o.LoggedClass{static{this.env=u}constructor(_=u.cliModuleRoot,t=4){super(),this.basePath=_,this.crawlLevels=t,this.modules={},this.moduleSlogans={},this.globalSlogans=[],this.rootPath=i.default.resolve(__dirname,"..")}get command(){return this._command||(this._command=new t.Command,l.initialize(this._command,this.rootPath)),this._command}async load(_){const n=this.log.for(this.load);let e;try{let n=await l.loadFromFile(_);if(e=n.name,n instanceof Function&&(n=n()),n instanceof Promise&&(n=await n),!(n instanceof t.Command))throw Error("You should export the instantiated Commands class as default.");this.modules[e]=n}catch(t){throw Error(`failed to load module under ${_}: ${t instanceof Error?t.message:t}`)}try{const t=d(n,i.default.dirname(_)),o=this.extractSloganStrings(t);o.length&&(this.moduleSlogans[e]=o)}catch(_){}return e}async boot(){const _=this.log.for(this.boot),t=i.default.resolve(this.rootPath,this.basePath),n=this.crawl(t,this.crawlLevels);for(const _ of n){if(_.includes("@decaf-ts/cli"))continue;let t;try{t=await this.load(_)}catch(_){continue}if(!this.command.commands.find(_=>_._name===t))try{this.command.addCommand(this.modules[t])}catch(_){}}_.debug("loaded modules:\n"+Object.keys(this.modules).map(_=>"- "+_).join("\n"))}crawl(_,t=2){return t>0?s.default.readdirSync(_).reduce((n,e)=>(e=i.default.join(_,e),s.default.statSync(e).isDirectory()?n.push(...this.crawl(e,t-1)):e.match(RegExp("cli-module\\.[cm]js$","gm"))&&n.push(e),n),[]):[]}getSlogan(_){this.ensureGlobalSlogans();const t=_&&this.moduleSlogans[_]||[],n=this.otherSlogans(_),e=t.length>0,o=n.length>0;if(!e&&!o)return"Decaf: strongly brewed TypeScript.";if(e&&o){const _=.5>Math.random()?t:n;return _[Math.floor(Math.random()*_.length)]}return e?t[Math.floor(Math.random()*t.length)]:n[Math.floor(Math.random()*n.length)]}otherSlogans(_){const t=Object.entries(this.moduleSlogans).filter(([t])=>t!==_).flatMap(([,_])=>_);return 0===this.globalSlogans.length&&0===t.length?[]:[...this.globalSlogans,...t]}ensureGlobalSlogans(){if(this.globalSlogans.length>0)return;const _=this.log.for(this.ensureGlobalSlogans),t=[];this.collectSlogansFromPath(_,this.rootPath,t);const n=this.findNearestNodeModules();if(n){const e=i.default.join(n,"@decaf-ts");try{if(s.default.existsSync(e)&&s.default.statSync(e).isDirectory()){const n=s.default.readdirSync(e);for(const o of n){const n=i.default.join(e,o);this.collectSlogansFromPath(_,n,t)}}}catch{}}this.globalSlogans=t}collectSlogansFromPath(_,t,n){try{const e=d(_,t);if(!e)return;for(const _ of e)_&&"string"==typeof _.Slogan&&_.Slogan.trim()&&n.push(_.Slogan.trim())}catch{}}extractSloganStrings(_){return _&&_.length?_.map(_=>_&&_.Slogan?_.Slogan.trim():"").filter(_=>_.length>0):[]}findNearestNodeModules(){let _=__dirname;for(;_&&_!==i.default.parse(_).root;){const t=i.default.join(_,"node_modules");try{if(s.default.existsSync(t)&&s.default.statSync(t).isDirectory())return t}catch{}const n=i.default.dirname(_);if(n===_)break;_=n}}printBanner(_){let t;try{const n=this.getPriorityModule(_);t=this.getSlogan(n)}catch{t="Decaf: strongly brewed TypeScript."}const n=m[Math.floor(Math.random()*m.length)],e=Object.keys(c),o=c[e[Math.floor(Math.random()*e.length)]],a=n.split("\n").filter(_=>_.length>0),r=a.reduce((_,t)=>Math.max(_,t.length),0);r>0?a.push(t.padStart(r)):a.push(t);const s=this.animateBanner(a,o);return this.bannerAnimation=s,s}getPriorityModule(_){if(!_||2>=_.length)return;const t=_.slice(2);for(const _ of t){if(!_||_.startsWith("-"))continue;const t=_.trim();if(t)return this.modules[t],t}}stopBannerAnimation(){this.bannerAnimation&&(this.bannerAnimation(),this.bannerAnimation=void 0)}animateBanner(_,t){if(!_.length)return()=>{};this.stopBannerAnimation();let n,e=0,o=!1;const r=()=>{const n=e%t.length,o=_.map((_,e)=>{const o=t[(e+n)%t.length]||"";return a.style(_||"").raw(o).text});e>0&&process.stdout.write(`\x1b[${_.length}F`);for(const _ of o)process.stdout.write("\x1b[2K"),process.stdout.write(_+"\n");e++},s=()=>{o||(o=!0,n&&clearInterval(n))};return r(),n=setInterval(()=>{34>e?r():s()},150),s}async run(_=process.argv){await this.boot();const t=u.banner?this.printBanner(_):void 0;try{return await this.command.parseAsync(_)}finally{t&&t(),this.bannerAnimation=void 0}}static accumulateEnvironment(_){this.env=this.env.accumulate(_)}static getEnv(){return this.env}}_.CliWrapper=f,_.DecafCLieEnvironment=u,_.DefaultCliEnvironment=h},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("commander"),require("fs"),require("path"),require("@decaf-ts/logging"),require("styled-string-builder"),require("@decaf-ts/utils")):"function"==typeof define&&define.amd?define(["exports","commander","fs","path","@decaf-ts/logging","styled-string-builder","@decaf-ts/utils"],t):t((_="undefined"!=typeof globalThis?globalThis:_||self).cli={},_.commander,_.fs,_.path,_.decafTsLogging,_.styledStringBuilder);
|
|
1
|
+
var _,n;_=this,n=function(_,n,e,t,o){"use strict";function a(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}var r=a(e),s=a(t);class c{static async loadFromFile(_){try{return c.normalizeImport(import(_))}catch(n){throw Error(`Failed to load from ${_}: ${n instanceof Error?n.message:n}`)}}static async normalizeImport(_){return _.then(_=>_.default||_)}static initialize(_,n){const e=c.packageName(n);_.name("decaf").description(`Runs ${e} related commands`).version(c.packageVersion(n))}static getPackage(_){try{return JSON.parse(r.default.readFileSync(s.default.join(_,"package.json"),"utf8"))}catch(n){throw Error(`Unable to read version from ${_}: ${n}`)}}static packageVersion(_){return c.getPackage(_).version}static packageName(_){const n=c.getPackage(_).name.split("/");return n[n.length-1]}}const m=["\n ____ _____ ____ _ _____ _____ ____ \n| _ \\| ____/ ___| / \\ | ___| |_ _/ ___| \n| | | | _|| | / _ \\ | |_ | | \\___ \\ \n| |_| | |__| |___ / ___ \\| _| | | ___) |\n|____/|_____\\____/_/ \\_\\_| |_| |____/ \n","\n ____ __ ______\n / __ \\___ _________ _/ __/_ __/____\n / / / / _ \\/ ___/ __ `/ /_ / / / ___/\n / /_/ / __/ /__/ /_/ / __/ / / (__ ) \n/_____/\\___/\\___/\\__,_/_/ /_/ /____/ \n","\n\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\n\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2588\u2588\u2554\u2550\u2550\u255d\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d\n\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\n\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255d \u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255d \u2588\u2588\u2551 \u255a\u2550\u2550\u2550\u2550\u2588\u2588\u2551\n\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255d\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u255a\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551\n\u255a\u2550\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u255d\u255a\u2550\u255d \u255a\u2550\u255d\u255a\u2550\u255d \u255a\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u2550\u255d\n","\n ___ __ ______\n / _ \\___ _______ _/ _/ /_ __/\n / // / -_) __/ _ `/ _/ / / \n/____/\\__/\\__/\\_,_/_/ /_/ \n","\n _ _ _ _ _ _ _ \n / \\ / \\ / \\ / \\ / \\ / \\ / \\ \n( D | e | c | a | f ) ( T | S )\n \\_/ \\_/ \\_/ \\_/ \\_/ \\_/ \\_/ \n","\n+--+--+--+--+--+ +--+--+\n|D |e |c |a |f | |T |S |\n+--+--+--+--+--+ +--+--+\n","\n.______ _______ ______ ___ _______ .___________. _______\n| _ \\ | ____| / | / \\ | ____| | | / |\n| | | | | |__ | ,----' / ^ \\ | |__ `---| |----` | (----`\n| | | | | __| | | / /_\\ \\ | __| | | \\ \\ \n| `--' | | |____ | `----./ _____ \\ | | | | .----) | \n|_______/ |_______| \\______/__/ \\__\\ |__| |__| |_______/ \n","\n _/_/_/ _/_/_/ _/_/_/_/_/ _/_/_/ \n _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ _/ \n _/ _/ _/_/_/_/ _/ _/ _/ _/ _/_/_/ _/ _/_/ \n _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ \n_/_/_/ _/_/_/ _/_/_/ _/_/_/ _/ _/ _/_/_/ \n","\n______ __ _____ _____ \n| _ \\ / _| |_ _/ ___|\n| | | |___ ___ __ _ ___| |_ | | \\ `--. \n| | | / _ \\/ __/ _` |/ _ \\ _| | | `--. \\\n| |/ / __/ (_| (_| | __/ | | | /\\__/ /\n|___/ \\___|\\___\\__,_|\\___|_| \\_/ \\____/ \n","\n ___ ___ ___ ___ ___ ___ ___ \n /\\ \\ /\\ \\ /\\ \\ /\\ \\ /\\ \\ /\\ \\ /\\ \\ \n /::\\ \\ /::\\ \\ /::\\ \\ /::\\ \\ /::\\ \\ \\:\\ \\ /::\\ \\ \n /:/\\:\\ \\ /:/\\:\\ \\ /:/\\:\\ \\ /:/\\:\\ \\ /:/\\:\\ \\ \\:\\ \\ /:/\\ \\ \\ \n /:/ \\:\\__\\ /::\\~\\:\\ \\ /:/ \\:\\ \\ /::\\~\\:\\ \\ /::\\~\\:\\ \\ /::\\ \\ _\\:\\~\\ \\ \\ \n /:/__/ \\:|__| /:/\\:\\ \\:\\__\\ /:/__/ \\:\\__\\ /:/\\:\\ \\:\\__\\ /:/\\:\\ \\:\\__\\ /:/\\:\\__\\ /\\ \\:\\ \\ \\__\\\n \\:\\ \\ /:/ / \\:\\~\\:\\ \\/__/ \\:\\ \\ \\/__/ \\/__\\:\\/:/ / \\:\\~\\:\\ \\/__/ /:/ \\/__/ \\:\\ \\:\\ \\/__/\n \\:\\ /:/ / \\:\\ \\:\\__\\ \\:\\ \\ \\::/ / \\:\\ \\:\\__\\ /:/ / \\:\\ \\:\\__\\ \n \\:\\/:/ / \\:\\ \\/__/ \\:\\ \\ /:/ / \\:\\ \\/__/ \\/__/ \\:\\/:/ / \n \\::/__/ \\:\\__\\ \\:\\__\\ /:/ / \\:\\__\\ \\::/ / \n ~~ \\/__/ \\/__/ \\/__/ \\/__/ \\/__/ \n","\n######## ######## ###### ### ######## ######## ###### \n## ## ## ## ## ## ## ## ## ## ## \n## ## ## ## ## ## ## ## ## \n## ## ###### ## ## ## ###### ####### ## ###### \n## ## ## ## ######### ## ## ## \n## ## ## ## ## ## ## ## ## ## ## \n######## ######## ###### ## ## ## ## ###### \n ","\n _____ __ _______ _____ \n | __ / _| |__ __/ ____| \n | | | | ___ ___ __ _| |_ ______| | | (___ \n | | | |/ _ / __/ _` | _|______| | ___ \n | |__| | __/ (_| (_| | | | | ____) | \n |_____/ ___|_____,_|_| |_| |_____/ \n \n \n ","\n \n,------. ,---. ,--------. ,---. \n| .-. ,---. ,---. ,--,--./ .-',-----.'--. .--'' .-' \n| | :| .-. :| .--'' ,-. || `-,'-----' | | `. `-. \n| '--' / --. `--. '-' || .-' | | .-' | \n`-------' `----' `---' `--`--'`--' `--' `-----' \n \n ","\n \n \nDDDDDDDDDDDDD ffffffffffffffff TTTTTTTTTTTTTTTTTTTTTTT SSSSSSSSSSSSSSS \nD::::::::::::DDD f::::::::::::::::f T:::::::::::::::::::::T SS:::::::::::::::S \nD:::::::::::::::DD f::::::::::::::::::f T:::::::::::::::::::::TS:::::SSSSSS::::::S \nDDD:::::DDDDD:::::D f::::::fffffff:::::f T:::::TT:::::::TT:::::TS:::::S SSSSSSS \n D:::::D D:::::D eeeeeeeeeeee cccccccccccccccc aaaaaaaaaaaaa f:::::f ffffff TTTTTT T:::::T TTTTTTS:::::S \n D:::::D D:::::D ee::::::::::::ee cc:::::::::::::::c a::::::::::::a f:::::f T:::::T S:::::S \n D:::::D D:::::D e::::::eeeee:::::ee c:::::::::::::::::c aaaaaaaaa:::::a f:::::::ffffff T:::::T S::::SSSS \n D:::::D D:::::De::::::e e:::::ec:::::::cccccc:::::c a::::a f::::::::::::f --------------- T:::::T SS::::::SSSSS \n D:::::D D:::::De:::::::eeeee::::::ec::::::c ccccccc aaaaaaa:::::a f::::::::::::f -:::::::::::::- T:::::T SSS::::::::SS \n D:::::D D:::::De:::::::::::::::::e c:::::c aa::::::::::::a f:::::::ffffff --------------- T:::::T SSSSSS::::S \n D:::::D D:::::De::::::eeeeeeeeeee c:::::c a::::aaaa::::::a f:::::f T:::::T S:::::S \n D:::::D D:::::D e:::::::e c::::::c ccccccca::::a a:::::a f:::::f T:::::T S:::::S \nDDD:::::DDDDD:::::D e::::::::e c:::::::cccccc:::::ca::::a a:::::a f:::::::f TT:::::::TT SSSSSSS S:::::S \nD:::::::::::::::DD e::::::::eeeeeeee c:::::::::::::::::ca:::::aaaa::::::a f:::::::f T:::::::::T S::::::SSSSSS:::::S \nD::::::::::::DDD ee:::::::::::::e cc:::::::::::::::c a::::::::::aa:::af:::::::f T:::::::::T S:::::::::::::::SS \nDDDDDDDDDDDDD eeeeeeeeeeeeee cccccccccccccccc aaaaaaaaaa aaaafffffffff TTTTTTTTTTT SSSSSSSSSSSSSSS \n \n \n ","\n___ ____ ____ ____ ____ ___ ____ \n| |___ | |__| |___ __ | [__ \n|__/ |___ |___ | | | | ___] \n \n ","\noooooooooo. .o88o. ooooooooooooo \n`888' `Y8b 888 `\" 8' 888 `8 .oooooo..o \n 888 888 .ooooo. .ooooo. .oooo. o888oo 888 d8P' `Y8 \n 888 888 d88' `88b d88' `\"Y8 `P )88b 888 888 Y88bo. \n 888 888 888ooo888 888 .oP\"888 888 8888888 888 `\"Y8888o. \n 888 d88' 888 .o 888 .o8 d8( 888 888 888 `\"Y88b \no888bood8P' `Y8bod8P' `Y8bod8P' `Y888\"\"8o o888o o888o oo .d8P \n ","\n__/\\\\\\\\\\\\________________________________________________________/\\\\________________/\\\\\\\\\\\\\\_____/\\\\\\\\\\___ \n _/\\////////\\____________________________________________________/\\///________________///////\\/////____/\\/////////\\_ \n _/\\______//\\__________________________________________________/\\__________________________/\\________//\\______///__ \n _/\\_______/\\_____/\\\\\\\\______/\\\\\\\\__/\\\\\\\\______/\\\\\\\\____/\\\\\\\\\\_______/\\_________////\\_________ \n _/\\_______/\\___/\\/////\\___/\\//////__////////\\____////\\//____///////////________/\\____________////\\______ \n _/\\_______/\\__/\\\\\\\\\\___/\\___________/\\\\\\\\\\______/\\__________________________/\\_______________////\\___ \n _/\\_______/\\__//\\///////___//\\_________/\\/////\\______/\\__________________________/\\________/\\______//\\__ \n _/\\\\\\\\\\\\/____//\\\\\\\\\\__///\\\\\\\\_//\\\\\\\\/\\_____/\\__________________________/\\_______///\\\\\\\\\\/___ \n _////////////_______//////////_____////////___//////////______///___________________________///__________///////////_____ \n ","\n.########..########..######.....###....########.........########..######. \n.##.....##.##.......##....##...##.##...##..................##....##....## \n.##.....##.##.......##........##...##..##..................##....##...... \n.##.....##.######...##.......##.....##.######...#######....##.....######. \n.##.....##.##.......##.......#########.##..................##..........## \n.##.....##.##.......##....##.##.....##.##..................##....##....## \n.########..########..######..##.....##.##..................##.....######. \n ","\n\u257a\u2533\u2513\u250f\u2501\u2578\u250f\u2501\u2578\u250f\u2501\u2513\u250f\u2501\u2578 \u257a\u2533\u2578\u250f\u2501\u2513 \n \u2503\u2503\u2523\u2578 \u2503 \u2523\u2501\u252b\u2523\u2578 \u257a\u2501\u2578 \u2503 \u2517\u2501\u2513 \n\u257a\u253b\u251b\u2517\u2501\u2578\u2517\u2501\u2578\u2579 \u2579\u2579 \u2579 \u2517\u2501\u251b \n "],i={sunset:["\x1b[38;5;215m","\x1b[38;5;209m","\x1b[38;5;205m","\x1b[38;5;210m","\x1b[38;5;217m","\x1b[38;5;216m","\x1b[38;5;224m","\x1b[38;5;230m"],ocean:["\x1b[38;5;27m","\x1b[38;5;33m","\x1b[38;5;39m","\x1b[38;5;45m","\x1b[38;5;51m","\x1b[38;5;87m","\x1b[38;5;123m","\x1b[38;5;159m"],forest:["\x1b[38;5;22m","\x1b[38;5;28m","\x1b[38;5;34m","\x1b[38;5;40m","\x1b[38;5;46m","\x1b[38;5;82m","\x1b[38;5;118m","\x1b[38;5;154m"],fire:["\x1b[38;5;196m","\x1b[38;5;202m","\x1b[38;5;208m","\x1b[38;5;214m","\x1b[38;5;220m","\x1b[38;5;226m","\x1b[38;5;228m","\x1b[38;5;230m"],neon:["\x1b[38;5;198m","\x1b[38;5;207m","\x1b[38;5;219m","\x1b[38;5;123m","\x1b[38;5;51m","\x1b[38;5;46m","\x1b[38;5;226m","\x1b[38;5;201m"],monochrome:["\x1b[38;5;232m","\x1b[38;5;236m","\x1b[38;5;240m","\x1b[38;5;244m","\x1b[38;5;248m","\x1b[38;5;252m","\x1b[38;5;255m","\x1b[38;5;250m"],pastel:["\x1b[38;5;217m","\x1b[38;5;223m","\x1b[38;5;229m","\x1b[38;5;157m","\x1b[38;5;159m","\x1b[38;5;189m","\x1b[38;5;183m","\x1b[38;5;225m"],cyberpunk:["\x1b[38;5;201m","\x1b[38;5;198m","\x1b[38;5;165m","\x1b[38;5;93m","\x1b[38;5;51m","\x1b[38;5;45m","\x1b[38;5;21m","\x1b[38;5;226m"],earth:["\x1b[38;5;94m","\x1b[38;5;130m","\x1b[38;5;136m","\x1b[38;5;100m","\x1b[38;5;58m","\x1b[38;5;22m","\x1b[38;5;137m","\x1b[38;5;180m"],rainbow:["\x1b[38;5;196m","\x1b[38;5;208m","\x1b[38;5;226m","\x1b[38;5;46m","\x1b[38;5;21m","\x1b[38;5;57m","\x1b[38;5;129m","\x1b[38;5;201m"],aurora:["\x1b[38;5;57m","\x1b[38;5;93m","\x1b[38;5;111m","\x1b[38;5;147m","\x1b[38;5;183m","\x1b[38;5;189m","\x1b[38;5;195m","\x1b[38;5;201m"],dusk:["\x1b[38;5;17m","\x1b[38;5;18m","\x1b[38;5;19m","\x1b[38;5;20m","\x1b[38;5;53m","\x1b[38;5;54m","\x1b[38;5;55m","\x1b[38;5;57m"],electric:["\x1b[38;5;45m","\x1b[38;5;51m","\x1b[38;5;63m","\x1b[38;5;75m","\x1b[38;5;81m","\x1b[38;5;87m","\x1b[38;5;93m","\x1b[38;5;99m"],mint:["\x1b[38;5;85m","\x1b[38;5;118m","\x1b[38;5;121m","\x1b[38;5;125m","\x1b[38;5;149m","\x1b[38;5;153m","\x1b[38;5;187m","\x1b[38;5;190m"],carnival:["\x1b[38;5;201m","\x1b[38;5;205m","\x1b[38;5;209m","\x1b[38;5;213m","\x1b[38;5;217m","\x1b[38;5;221m","\x1b[38;5;225m","\x1b[38;5;229m"],saffron:["\x1b[38;5;208m","\x1b[38;5;214m","\x1b[38;5;220m","\x1b[38;5;226m","\x1b[38;5;190m","\x1b[38;5;184m","\x1b[38;5;178m","\x1b[38;5;172m"],neonGlitch:["\x1b[38;5;205m","\x1b[38;5;209m","\x1b[38;5;213m","\x1b[38;5;219m","\x1b[38;5;225m","\x1b[38;5;231m","\x1b[38;5;237m","\x1b[38;5;243m"],berry:["\x1b[38;5;161m","\x1b[38;5;165m","\x1b[38;5;169m","\x1b[38;5;173m","\x1b[38;5;177m","\x1b[38;5;181m","\x1b[38;5;185m","\x1b[38;5;189m"],cosmic:["\x1b[38;5;18m","\x1b[38;5;21m","\x1b[38;5;57m","\x1b[38;5;93m","\x1b[38;5;129m","\x1b[38;5;165m","\x1b[38;5;201m","\x1b[38;5;207m"],sunbeam:["\x1b[38;5;226m","\x1b[38;5;220m","\x1b[38;5;214m","\x1b[38;5;208m","\x1b[38;5;202m","\x1b[38;5;196m","\x1b[38;5;190m","\x1b[38;5;184m"]};function l(_,n){_=_.for(l);const e=s.default.join(n,"workdocs","assets","slogans.json");try{if(!r.default.existsSync(e))return;const _=r.default.readFileSync(e);return JSON.parse(_.toString())}catch(n){return void _.error("Failed to read slogans from "+e,n)}}const f={banner:!0,cliModuleRoot:process.env.CLI_MODULE_TOOT&&process.env.CLI_MODULE_TOOT.length>0?s.default.resolve(process.env.CLI_MODULE_TOOT):process.cwd()},h=o.LoggedEnvironment.accumulate(f);class d extends o.LoggedClass{static{this.env=h}constructor(_=h.cliModuleRoot,n=4){super(),this.basePath=_,this.crawlLevels=n,this.modules={},this.moduleSlogans={},this.globalSlogans=[],this.rootPath=s.default.resolve(__dirname,"..")}get command(){return this._command||(this._command=new n.Command,c.initialize(this._command,this.rootPath)),this._command}async load(_){const n=this.log.for(this.load);let e;try{let n=await c.loadFromFile(_);if(e=n.name,n instanceof Function&&(n=n()),n instanceof Promise&&(n=await n),!this.isCommandInstance(n))throw Error("You should export the instantiated Commands class as default.");this.modules[e]=n}catch(n){throw Error(`failed to load module under ${_}: ${n instanceof Error?n.message:n}`)}try{const t=l(n,this.findModuleRoot(s.default.dirname(_))),o=this.extractSloganStrings(t);o.length&&(this.moduleSlogans[e]=o)}catch(_){}return e}async boot(){const _=this.log.for(this.boot),n=s.default.resolve(this.rootPath,this.basePath),e=this.crawl(n,this.crawlLevels);for(const _ of e){if(_.includes("@decaf-ts/cli"))continue;let n;try{n=await this.load(_)}catch(_){continue}if(!this.command.commands.find(_=>_._name===n))try{this.command.addCommand(this.modules[n])}catch(_){}}_.debug("loaded modules:\n"+Object.keys(this.modules).map(_=>"- "+_).join("\n"))}crawl(_,n=2){return n>0?r.default.readdirSync(_).reduce((e,t)=>(t=s.default.join(_,t),r.default.statSync(t).isDirectory()?e.push(...this.crawl(t,n-1)):t.match(RegExp("cli-module\\.[cm]js$","gm"))&&e.push(t),e),[]):[]}findModuleRoot(_){let n=_;const e=s.default.parse(_).root;for(;;){if(r.default.existsSync(s.default.join(n,"package.json")))return n;if(n===e)break;const _=s.default.dirname(n);if(_===n)break;n=_}return _}getSlogan(_){this.ensureGlobalSlogans();const n=_&&this.moduleSlogans[_]||[],e=this.otherSlogans(_);if(!n.length&&!e.length)return"Decaf: strongly brewed TypeScript.";if(!n.length)return e[Math.floor(Math.random()*e.length)];if(!e.length)return n[Math.floor(Math.random()*n.length)];const t=this.buildBalancedSloganPool(n,e);return t[Math.floor(Math.random()*t.length)]}otherSlogans(_){const n=Object.entries(this.moduleSlogans).filter(([n])=>n!==_).flatMap(([,_])=>_);return 0===this.globalSlogans.length&&0===n.length?[]:[...this.globalSlogans,...n]}buildBalancedSloganPool(_,n){const e=Math.max(_.length,n.length),t=this.repeatToLength(_,e),o=this.repeatToLength(n,e),a=[];for(let _=0;e>_;_++)a.push(t[_]),a.push(o[_]);return a}repeatToLength(_,n){return _.length&&n>0?Array.from({length:n},(n,e)=>_[e%_.length]):[]}ensureGlobalSlogans(){if(this.globalSlogans.length>0)return;const _=this.log.for(this.ensureGlobalSlogans),n=[],e=[this.rootPath],t=s.default.resolve(this.rootPath,this.basePath);t!==this.rootPath&&e.push(t);for(const t of e)this.collectSlogansFromPath(_,t,n),this.collectSlogansFromScope(_,t,n);this.globalSlogans=n}collectSlogansFromPath(_,n,e){try{const t=l(_,n);if(!t)return;for(const _ of t)_&&"string"==typeof _.Slogan&&_.Slogan.trim()&&e.push(_.Slogan.trim())}catch{}}collectSlogansFromScope(_,n,e){const t=s.default.join(n,"node_modules","@decaf-ts");try{if(!r.default.existsSync(t)||!r.default.statSync(t).isDirectory())return;const n=r.default.readdirSync(t);for(const o of n){const n=s.default.join(t,o);try{if(!r.default.existsSync(n)||!r.default.statSync(n).isDirectory())continue;this.collectSlogansFromPath(_,n,e)}catch{}}}catch{}}extractSloganStrings(_){return _&&_.length?_.map(_=>_&&_.Slogan?_.Slogan.trim():"").filter(_=>_.length>0):[]}isCommandInstance(_){if(_ instanceof n.Command)return!0;if(!_||"object"!=typeof _)return!1;const e=_;return"function"==typeof e.parseAsync&&"function"==typeof e.addCommand&&"function"==typeof e.name}printBanner(_){let n;try{const e=this.getPriorityModule(_);n=this.getSlogan(e)}catch{n="Decaf: strongly brewed TypeScript."}const e=m[Math.floor(Math.random()*m.length)],t=Object.keys(i),o=i[t[Math.floor(Math.random()*t.length)]],a=e.split("\n").filter(_=>_.length>0),r=a.reduce((_,n)=>Math.max(_,n.length),0),s=Math.max(0,n.length),c=Math.max(92,r,s),l=a.map(_=>_.padEnd(c));l.push(n.padStart(c));const f="\n".repeat(Math.max(0,l.length));process.stdout.write(f);const h=this.animateBanner(l,o);return this.bannerAnimation=h,h}getPriorityModule(_){if(!_||2>=_.length)return;const n=_.slice(2);for(const _ of n){if(!_||_.startsWith("-"))continue;const n=_.trim();if(n)return this.modules[n],n}}stopBannerAnimation(){this.bannerAnimation&&(this.bannerAnimation(),this.bannerAnimation=void 0)}animateBanner(_,n){if(!_.length)return()=>{};this.stopBannerAnimation();let e,t=0,o=!1;const a=Math.max(1,n.length),r=_.map((_,n)=>n%a),s=`\x1b[${_.length}A`,c=()=>{o||(o=!0,e&&(clearInterval(e),e=void 0))},m=()=>{const e=t%a,o=_.map((_,t)=>{const o=(r[t]+e)%a;return`${n[o]||""}${_}\x1b[0m`});process.stdout.write(s);for(const _ of o)process.stdout.write("\x1b[2K"),process.stdout.write(_+"\n");t++};return m(),e=setInterval(()=>{34>t?m():c()},150),c}async run(_=process.argv){await this.boot();const n=h.banner?this.printBanner(_):void 0;try{return await this.command.parseAsync(_)}finally{n&&n(),this.bannerAnimation=void 0}}static accumulateEnvironment(_){this.env=this.env.accumulate(_)}static getEnv(){return this.env}}_.CliWrapper=d,_.DecafCLieEnvironment=h,_.DefaultCliEnvironment=f},"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("commander"),require("fs"),require("path"),require("@decaf-ts/logging"),require("@decaf-ts/utils")):"function"==typeof define&&define.amd?define(["exports","commander","fs","path","@decaf-ts/logging","@decaf-ts/utils"],n):n((_="undefined"!=typeof globalThis?globalThis:_||self).cli={},_.commander,_.fs,_.path,_.decafTsLogging);
|
|
2
2
|
//# sourceMappingURL=cli.cjs.map
|
package/dist/cli.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.cjs","sources":["../src/utils.ts","../src/banners.ts","../src/slogans.ts","../src/environment.ts","../src/CliWrapper.ts"],"sourcesContent":[null,null,null,null,null],"names":["CLIUtils","loadFromFile","path","normalizeImport","import","e","Error","message","importPromise","then","m","default","initialize","command","basePath","name","packageName","description","version","packageVersion","getPackage","JSON","parse","fs","readFileSync","join","split","length","banners","colorPalettes","sunset","ocean","forest","fire","neon","monochrome","pastel","cyberpunk","earth","rainbow","readSlogans","log","for","slogansPath","existsSync","content","toString","error","DefaultCliEnvironment","banner","cliModuleRoot","process","env","CLI_MODULE_TOOT","resolve","cwd","DecafCLieEnvironment","LoggedEnvironment","accumulate","CliWrapper","LoggedClass","this","constructor","crawlLevels","super","modules","moduleSlogans","globalSlogans","rootPath","__dirname","_command","Command","load","filePath","module","Function","Promise","records","dirname","strings","extractSloganStrings","boot","crawl","includes","commands","find","c","addCommand","debug","Object","keys","map","k","levels","readdirSync","reduce","accum","file","statSync","isDirectory","push","match","RegExp","getSlogan","priorityModule","ensureGlobalSlogans","priority","others","otherSlogans","hasPriority","hasOthers","pool","Math","random","floor","entries","filter","flatMap","slogans","gathered","collectSlogansFromPath","nodeModulesDir","findNearestNodeModules","scopeDir","pkgs","pkg","depPath","accumulator","entry","Slogan","trim","value","current","root","candidate","parent","printBanner","args","getPriorityModule","bannerTemplate","paletteKeys","palette","line","maxLength","max","padStart","stop","animateBanner","bannerAnimation","candidates","slice","item","startsWith","trimmed","stopBannerAnimation","undefined","lines","timer","framesRendered","stopped","renderFrame","offset","colored","index","color","style","raw","text","stdout","write","clearInterval","setInterval","run","argv","stopAnimation","parseAsync","accumulateEnvironment","obj","getEnv"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.cjs","sources":["../src/utils.ts","../src/banners.ts","../src/slogans.ts","../src/environment.ts","../src/CliWrapper.ts"],"sourcesContent":[null,null,null,null,null],"names":["CLIUtils","loadFromFile","path","normalizeImport","import","e","Error","message","importPromise","then","m","default","initialize","command","basePath","name","packageName","description","version","packageVersion","getPackage","JSON","parse","fs","readFileSync","join","split","length","banners","colorPalettes","sunset","ocean","forest","fire","neon","monochrome","pastel","cyberpunk","earth","rainbow","aurora","dusk","electric","mint","carnival","saffron","neonGlitch","berry","cosmic","sunbeam","readSlogans","log","for","slogansPath","existsSync","content","toString","error","DefaultCliEnvironment","banner","cliModuleRoot","process","env","CLI_MODULE_TOOT","resolve","cwd","DecafCLieEnvironment","LoggedEnvironment","accumulate","CliWrapper","LoggedClass","this","constructor","crawlLevels","super","modules","moduleSlogans","globalSlogans","rootPath","__dirname","_command","Command","load","filePath","module","Function","Promise","isCommandInstance","records","findModuleRoot","dirname","strings","extractSloganStrings","boot","crawl","includes","commands","find","c","addCommand","debug","Object","keys","map","k","levels","readdirSync","reduce","accum","file","statSync","isDirectory","push","match","RegExp","initialDir","current","root","parent","getSlogan","priorityModule","ensureGlobalSlogans","priority","others","otherSlogans","Math","floor","random","pool","buildBalancedSloganPool","entries","filter","flatMap","slogans","primary","secondary","targetLength","max","primaryBucket","repeatToLength","secondaryBucket","result","i","values","Array","from","_","index","gathered","basePaths","hostPath","candidate","collectSlogansFromPath","collectSlogansFromScope","accumulator","entry","Slogan","trim","scopeDir","pkgs","pkg","value","parseAsync","printBanner","args","getPriorityModule","bannerTemplate","paletteKeys","palette","rawLines","line","maxLineWidth","messageWidth","targetWidth","padEnd","padStart","reservedLines","repeat","stdout","write","stop","animateBanner","bannerAnimation","candidates","slice","item","startsWith","trimmed","stopBannerAnimation","undefined","lines","timer","framesRendered","stopped","paletteLength","colorOffsets","moveUp","clearInterval","renderFrame","offset","colored","colorIndex","setInterval","run","argv","stopAnimation","accumulateEnvironment","obj","getEnv"],"mappings":"kJAmBaA,EAQX,yBAAaC,CAAaC,GACxB,IACE,OAAOF,EAASG,gBAAgBC,OAAOF,GACxC,CAAC,MAAOG,GACP,MAAUC,MACR,uBAAuBJ,MAASG,aAAaC,MAAQD,EAAEE,QAAUF,IAEpE,CACF,CAWD,4BAAaF,CAAmBK,GAE9B,OAAOA,EAAcC,KAClBC,GAAiBA,EAAqBC,SAAWD,EAErD,CAUD,iBAAOE,CAAWC,EAAkBC,GAClC,MAAMC,EAAOf,EAASgB,YAAYF,GAClCD,EACGE,KAAK,SACLE,YAAY,QAAQF,sBACpBG,QAAQlB,EAASmB,eAAeL,GACpC,CAUO,iBAAOM,CAAWN,GACxB,IACE,OAAOO,KAAKC,MACVC,EAAE,QAACC,aAAatB,EAAAA,QAAKuB,KAAKX,EAAU,gBAAiB,QAExD,CAAC,MAAOT,GACP,MAAUC,MAAM,+BAA+BQ,MAAaT,IAC7D,CACF,CASD,qBAAOc,CAAeL,GACpB,OAAOd,EAASoB,WAAWN,GAAmB,OAC/C,CASD,kBAAOE,CAAYF,GACjB,MAAMC,EAAQf,EAASoB,WAAWN,GAAgB,KAAaY,MAAM,KACrE,OAAOX,EAAKA,EAAKY,OAAS,EAC3B,ECxGI,MAAMC,EAAU,CAErB,8PAQA,yNAQA,muDASA,iJAOA,uJAOA,sFAMA,yfASA,gZAQA,qSASA,qwCAcA,iwCAWA,+6CAYA,gvCAWA,2oJAwBA,8tBAQA,0zBAWA,0jEAaA,iwCAWA,wzBAOWC,EAA0C,CACrDC,OAAQ,CACN,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,kBAEFC,MAAO,CACL,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,iBACA,kBAEFC,OAAQ,CACN,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,iBACA,kBAEFC,KAAM,CACJ,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,kBAEFC,KAAM,CACJ,iBACA,iBACA,iBACA,iBACA,gBACA,gBACA,iBACA,kBAEFC,WAAY,CACV,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,kBAEFC,OAAQ,CACN,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,kBAEFC,UAAW,CACT,iBACA,iBACA,iBACA,gBACA,gBACA,gBACA,gBACA,kBAEFC,MAAO,CACL,gBACA,iBACA,iBACA,iBACA,gBACA,gBACA,iBACA,kBAEFC,QAAS,CACP,iBACA,iBACA,iBACA,gBACA,gBACA,gBACA,iBACA,kBAEFC,OAAQ,CACN,gBACA,gBACA,iBACA,iBACA,iBACA,iBACA,iBACA,kBAEFC,KAAM,CACJ,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,iBAEFC,SAAU,CACR,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,iBAEFC,KAAM,CACJ,gBACA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,kBAEFC,SAAU,CACR,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,kBAEFC,QAAS,CACP,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,kBAEFC,WAAY,CACV,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,kBAEFC,MAAO,CACL,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,kBAEFC,OAAQ,CACN,gBACA,gBACA,gBACA,gBACA,iBACA,iBACA,iBACA,kBAEFC,QAAS,CACP,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,mBC/XY,SAAAC,EACdC,EACArC,GAEAqC,EAAMA,EAAIC,IAAIF,GACd,MAAMG,EAAcnD,EAAAA,QAAKuB,KAAKX,EAAU,WAAY,SAAU,gBAE9D,IACE,IAAKS,EAAE,QAAC+B,WAAWD,GACjB,OAGF,MAAME,EAAUhC,EAAAA,QAAGC,aAAa6B,GAChC,OAAOhC,KAAKC,MAAMiC,EAAQC,WAC3B,CAAC,MAAOC,GAEP,YADAN,EAAIM,MAAM,+BAA+BJ,EAAeI,EAEzD,CACH,CCzBA,MAKaC,EAA6C,CACxDC,QAAQ,EACRC,cANAC,QAAQC,IAAIC,iBAAmBF,QAAQC,IAAIC,gBAAgBpC,OAAS,EAChEzB,EAAAA,QAAK8D,QAAQH,QAAQC,IAAIC,iBACzBF,Q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"}
|
package/dist/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Command as _}from"commander";import t from"fs";import n from"path";import{LoggedEnvironment as o,LoggedClass as e}from"@decaf-ts/logging";import{style as r}from"styled-string-builder";import"@decaf-ts/utils";class s{static async loadFromFile(_){try{return s.normalizeImport(import(_))}catch(t){throw Error(`Failed to load from ${_}: ${t instanceof Error?t.message:t}`)}}static async normalizeImport(_){return _.then(_=>_.default||_)}static initialize(_,t){const n=s.packageName(t);_.name("decaf").description(`Runs ${n} related commands`).version(s.packageVersion(t))}static getPackage(_){try{return JSON.parse(t.readFileSync(n.join(_,"package.json"),"utf8"))}catch(t){throw Error(`Unable to read version from ${_}: ${t}`)}}static packageVersion(_){return s.getPackage(_).version}static packageName(_){const t=s.getPackage(_).name.split("/");return t[t.length-1]}}const a=["\n ____ _____ ____ _ _____ _____ ____ \n| _ \\| ____/ ___| / \\ | ___| |_ _/ ___| \n| | | | _|| | / _ \\ | |_ | | \\___ \\ \n| |_| | |__| |___ / ___ \\| _| | | ___) |\n|____/|_____\\____/_/ \\_\\_| |_| |____/ \n","\n ____ __ ______\n / __ \\___ _________ _/ __/_ __/____\n / / / / _ \\/ ___/ __ `/ /_ / / / ___/\n / /_/ / __/ /__/ /_/ / __/ / / (__ ) \n/_____/\\___/\\___/\\__,_/_/ /_/ /____/ \n","\n\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\n\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2588\u2588\u2554\u2550\u2550\u255d\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d\n\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\n\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255d \u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255d \u2588\u2588\u2551 \u255a\u2550\u2550\u2550\u2550\u2588\u2588\u2551\n\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255d\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u255a\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551\n\u255a\u2550\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u255d\u255a\u2550\u255d \u255a\u2550\u255d\u255a\u2550\u255d \u255a\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u2550\u255d\n","\n ___ __ ______\n / _ \\___ _______ _/ _/ /_ __/\n / // / -_) __/ _ `/ _/ / / \n/____/\\__/\\__/\\_,_/_/ /_/ \n","\n _ _ _ _ _ _ _ \n / \\ / \\ / \\ / \\ / \\ / \\ / \\ \n( D | e | c | a | f ) ( T | S )\n \\_/ \\_/ \\_/ \\_/ \\_/ \\_/ \\_/ \n","\n+--+--+--+--+--+ +--+--+\n|D |e |c |a |f | |T |S |\n+--+--+--+--+--+ +--+--+\n","\n.______ _______ ______ ___ _______ .___________. _______\n| _ \\ | ____| / | / \\ | ____| | | / |\n| | | | | |__ | ,----' / ^ \\ | |__ `---| |----` | (----`\n| | | | | __| | | / /_\\ \\ | __| | | \\ \\ \n| `--' | | |____ | `----./ _____ \\ | | | | .----) | \n|_______/ |_______| \\______/__/ \\__\\ |__| |__| |_______/ \n","\n _/_/_/ _/_/_/ _/_/_/_/_/ _/_/_/ \n _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ _/ \n _/ _/ _/_/_/_/ _/ _/ _/ _/ _/_/_/ _/ _/_/ \n _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ \n_/_/_/ _/_/_/ _/_/_/ _/_/_/ _/ _/ _/_/_/ \n","\n______ __ _____ _____ \n| _ \\ / _| |_ _/ ___|\n| | | |___ ___ __ _ ___| |_ | | \\ `--. \n| | | / _ \\/ __/ _` |/ _ \\ _| | | `--. \\\n| |/ / __/ (_| (_| | __/ | | | /\\__/ /\n|___/ \\___|\\___\\__,_|\\___|_| \\_/ \\____/ \n","\n ___ ___ ___ ___ ___ ___ ___ \n /\\ \\ /\\ \\ /\\ \\ /\\ \\ /\\ \\ /\\ \\ /\\ \\ \n /::\\ \\ /::\\ \\ /::\\ \\ /::\\ \\ /::\\ \\ \\:\\ \\ /::\\ \\ \n /:/\\:\\ \\ /:/\\:\\ \\ /:/\\:\\ \\ /:/\\:\\ \\ /:/\\:\\ \\ \\:\\ \\ /:/\\ \\ \\ \n /:/ \\:\\__\\ /::\\~\\:\\ \\ /:/ \\:\\ \\ /::\\~\\:\\ \\ /::\\~\\:\\ \\ /::\\ \\ _\\:\\~\\ \\ \\ \n /:/__/ \\:|__| /:/\\:\\ \\:\\__\\ /:/__/ \\:\\__\\ /:/\\:\\ \\:\\__\\ /:/\\:\\ \\:\\__\\ /:/\\:\\__\\ /\\ \\:\\ \\ \\__\\\n \\:\\ \\ /:/ / \\:\\~\\:\\ \\/__/ \\:\\ \\ \\/__/ \\/__\\:\\/:/ / \\:\\~\\:\\ \\/__/ /:/ \\/__/ \\:\\ \\:\\ \\/__/\n \\:\\ /:/ / \\:\\ \\:\\__\\ \\:\\ \\ \\::/ / \\:\\ \\:\\__\\ /:/ / \\:\\ \\:\\__\\ \n \\:\\/:/ / \\:\\ \\/__/ \\:\\ \\ /:/ / \\:\\ \\/__/ \\/__/ \\:\\/:/ / \n \\::/__/ \\:\\__\\ \\:\\__\\ /:/ / \\:\\__\\ \\::/ / \n ~~ \\/__/ \\/__/ \\/__/ \\/__/ \\/__/ \n"],i={sunset:["\x1b[38;5;215m","\x1b[38;5;209m","\x1b[38;5;205m","\x1b[38;5;210m","\x1b[38;5;217m","\x1b[38;5;216m","\x1b[38;5;224m","\x1b[38;5;230m"],ocean:["\x1b[38;5;27m","\x1b[38;5;33m","\x1b[38;5;39m","\x1b[38;5;45m","\x1b[38;5;51m","\x1b[38;5;87m","\x1b[38;5;123m","\x1b[38;5;159m"],forest:["\x1b[38;5;22m","\x1b[38;5;28m","\x1b[38;5;34m","\x1b[38;5;40m","\x1b[38;5;46m","\x1b[38;5;82m","\x1b[38;5;118m","\x1b[38;5;154m"],fire:["\x1b[38;5;196m","\x1b[38;5;202m","\x1b[38;5;208m","\x1b[38;5;214m","\x1b[38;5;220m","\x1b[38;5;226m","\x1b[38;5;228m","\x1b[38;5;230m"],neon:["\x1b[38;5;198m","\x1b[38;5;207m","\x1b[38;5;219m","\x1b[38;5;123m","\x1b[38;5;51m","\x1b[38;5;46m","\x1b[38;5;226m","\x1b[38;5;201m"],monochrome:["\x1b[38;5;232m","\x1b[38;5;236m","\x1b[38;5;240m","\x1b[38;5;244m","\x1b[38;5;248m","\x1b[38;5;252m","\x1b[38;5;255m","\x1b[38;5;250m"],pastel:["\x1b[38;5;217m","\x1b[38;5;223m","\x1b[38;5;229m","\x1b[38;5;157m","\x1b[38;5;159m","\x1b[38;5;189m","\x1b[38;5;183m","\x1b[38;5;225m"],cyberpunk:["\x1b[38;5;201m","\x1b[38;5;198m","\x1b[38;5;165m","\x1b[38;5;93m","\x1b[38;5;51m","\x1b[38;5;45m","\x1b[38;5;21m","\x1b[38;5;226m"],earth:["\x1b[38;5;94m","\x1b[38;5;130m","\x1b[38;5;136m","\x1b[38;5;100m","\x1b[38;5;58m","\x1b[38;5;22m","\x1b[38;5;137m","\x1b[38;5;180m"],rainbow:["\x1b[38;5;196m","\x1b[38;5;208m","\x1b[38;5;226m","\x1b[38;5;46m","\x1b[38;5;21m","\x1b[38;5;57m","\x1b[38;5;129m","\x1b[38;5;201m"]};function m(_,o){_=_.for(m);const e=n.join(o,"workdocs","assets","slogans.json");try{if(!t.existsSync(e))return;const _=t.readFileSync(e);return JSON.parse(_.toString())}catch(t){return void _.error("Failed to read slogans from "+e,t)}}const c={banner:!0,cliModuleRoot:process.env.CLI_MODULE_TOOT&&process.env.CLI_MODULE_TOOT.length>0?n.resolve(process.env.CLI_MODULE_TOOT):process.cwd()},l=o.accumulate(c);class h extends e{static{this.env=l}constructor(_=l.cliModuleRoot,t=4){super(),this.basePath=_,this.crawlLevels=t,this.modules={},this.moduleSlogans={},this.globalSlogans=[],this.rootPath=n.resolve(__dirname,"..")}get command(){return this._command||(this._command=new _,s.initialize(this._command,this.rootPath)),this._command}async load(t){const o=this.log.for(this.load);let e;try{let n=await s.loadFromFile(t);if(e=n.name,n instanceof Function&&(n=n()),n instanceof Promise&&(n=await n),!(n instanceof _))throw Error("You should export the instantiated Commands class as default.");this.modules[e]=n}catch(_){throw Error(`failed to load module under ${t}: ${_ instanceof Error?_.message:_}`)}try{const _=m(o,n.dirname(t)),r=this.extractSloganStrings(_);r.length&&(this.moduleSlogans[e]=r)}catch(_){}return e}async boot(){const _=this.log.for(this.boot),t=n.resolve(this.rootPath,this.basePath),o=this.crawl(t,this.crawlLevels);for(const _ of o){if(_.includes("@decaf-ts/cli"))continue;let t;try{t=await this.load(_)}catch(_){continue}if(!this.command.commands.find(_=>_._name===t))try{this.command.addCommand(this.modules[t])}catch(_){}}_.debug("loaded modules:\n"+Object.keys(this.modules).map(_=>"- "+_).join("\n"))}crawl(_,o=2){return o>0?t.readdirSync(_).reduce((e,r)=>(r=n.join(_,r),t.statSync(r).isDirectory()?e.push(...this.crawl(r,o-1)):r.match(RegExp("cli-module\\.[cm]js$","gm"))&&e.push(r),e),[]):[]}getSlogan(_){this.ensureGlobalSlogans();const t=_&&this.moduleSlogans[_]||[],n=this.otherSlogans(_),o=t.length>0,e=n.length>0;if(!o&&!e)return"Decaf: strongly brewed TypeScript.";if(o&&e){const _=.5>Math.random()?t:n;return _[Math.floor(Math.random()*_.length)]}return o?t[Math.floor(Math.random()*t.length)]:n[Math.floor(Math.random()*n.length)]}otherSlogans(_){const t=Object.entries(this.moduleSlogans).filter(([t])=>t!==_).flatMap(([,_])=>_);return 0===this.globalSlogans.length&&0===t.length?[]:[...this.globalSlogans,...t]}ensureGlobalSlogans(){if(this.globalSlogans.length>0)return;const _=this.log.for(this.ensureGlobalSlogans),o=[];this.collectSlogansFromPath(_,this.rootPath,o);const e=this.findNearestNodeModules();if(e){const r=n.join(e,"@decaf-ts");try{if(t.existsSync(r)&&t.statSync(r).isDirectory()){const e=t.readdirSync(r);for(const t of e){const e=n.join(r,t);this.collectSlogansFromPath(_,e,o)}}}catch{}}this.globalSlogans=o}collectSlogansFromPath(_,t,n){try{const o=m(_,t);if(!o)return;for(const _ of o)_&&"string"==typeof _.Slogan&&_.Slogan.trim()&&n.push(_.Slogan.trim())}catch{}}extractSloganStrings(_){return _&&_.length?_.map(_=>_&&_.Slogan?_.Slogan.trim():"").filter(_=>_.length>0):[]}findNearestNodeModules(){let _=__dirname;for(;_&&_!==n.parse(_).root;){const o=n.join(_,"node_modules");try{if(t.existsSync(o)&&t.statSync(o).isDirectory())return o}catch{}const e=n.dirname(_);if(e===_)break;_=e}}printBanner(_){let t;try{const n=this.getPriorityModule(_);t=this.getSlogan(n)}catch{t="Decaf: strongly brewed TypeScript."}const n=a[Math.floor(Math.random()*a.length)],o=Object.keys(i),e=i[o[Math.floor(Math.random()*o.length)]],r=n.split("\n").filter(_=>_.length>0),s=r.reduce((_,t)=>Math.max(_,t.length),0);s>0?r.push(t.padStart(s)):r.push(t);const m=this.animateBanner(r,e);return this.bannerAnimation=m,m}getPriorityModule(_){if(!_||2>=_.length)return;const t=_.slice(2);for(const _ of t){if(!_||_.startsWith("-"))continue;const t=_.trim();if(t)return this.modules[t],t}}stopBannerAnimation(){this.bannerAnimation&&(this.bannerAnimation(),this.bannerAnimation=void 0)}animateBanner(_,t){if(!_.length)return()=>{};this.stopBannerAnimation();let n,o=0,e=!1;const s=()=>{const n=o%t.length,e=_.map((_,o)=>{const e=t[(o+n)%t.length]||"";return r(_||"").raw(e).text});o>0&&process.stdout.write(`\x1b[${_.length}F`);for(const _ of e)process.stdout.write("\x1b[2K"),process.stdout.write(_+"\n");o++},a=()=>{e||(e=!0,n&&clearInterval(n))};return s(),n=setInterval(()=>{34>o?s():a()},150),a}async run(_=process.argv){await this.boot();const t=l.banner?this.printBanner(_):void 0;try{return await this.command.parseAsync(_)}finally{t&&t(),this.bannerAnimation=void 0}}static accumulateEnvironment(_){this.env=this.env.accumulate(_)}static getEnv(){return this.env}}export{h as CliWrapper,l as DecafCLieEnvironment,c as DefaultCliEnvironment};
|
|
1
|
+
import{Command as _}from"commander";import n from"fs";import t from"path";import{LoggedEnvironment as e,LoggedClass as o}from"@decaf-ts/logging";import"@decaf-ts/utils";class a{static async loadFromFile(_){try{return a.normalizeImport(import(_))}catch(n){throw Error(`Failed to load from ${_}: ${n instanceof Error?n.message:n}`)}}static async normalizeImport(_){return _.then(_=>_.default||_)}static initialize(_,n){const t=a.packageName(n);_.name("decaf").description(`Runs ${t} related commands`).version(a.packageVersion(n))}static getPackage(_){try{return JSON.parse(n.readFileSync(t.join(_,"package.json"),"utf8"))}catch(n){throw Error(`Unable to read version from ${_}: ${n}`)}}static packageVersion(_){return a.getPackage(_).version}static packageName(_){const n=a.getPackage(_).name.split("/");return n[n.length-1]}}const r=["\n ____ _____ ____ _ _____ _____ ____ \n| _ \\| ____/ ___| / \\ | ___| |_ _/ ___| \n| | | | _|| | / _ \\ | |_ | | \\___ \\ \n| |_| | |__| |___ / ___ \\| _| | | ___) |\n|____/|_____\\____/_/ \\_\\_| |_| |____/ \n","\n ____ __ ______\n / __ \\___ _________ _/ __/_ __/____\n / / / / _ \\/ ___/ __ `/ /_ / / / ___/\n / /_/ / __/ /__/ /_/ / __/ / / (__ ) \n/_____/\\___/\\___/\\__,_/_/ /_/ /____/ \n","\n\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\n\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2588\u2588\u2554\u2550\u2550\u255d\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d\n\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\n\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255d \u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255d \u2588\u2588\u2551 \u255a\u2550\u2550\u2550\u2550\u2588\u2588\u2551\n\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255d\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u255a\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551\n\u255a\u2550\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u255d\u255a\u2550\u255d \u255a\u2550\u255d\u255a\u2550\u255d \u255a\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u2550\u255d\n","\n ___ __ ______\n / _ \\___ _______ _/ _/ /_ __/\n / // / -_) __/ _ `/ _/ / / \n/____/\\__/\\__/\\_,_/_/ /_/ \n","\n _ _ _ _ _ _ _ \n / \\ / \\ / \\ / \\ / \\ / \\ / \\ \n( D | e | c | a | f ) ( T | S )\n \\_/ \\_/ \\_/ \\_/ \\_/ \\_/ \\_/ \n","\n+--+--+--+--+--+ +--+--+\n|D |e |c |a |f | |T |S |\n+--+--+--+--+--+ +--+--+\n","\n.______ _______ ______ ___ _______ .___________. _______\n| _ \\ | ____| / | / \\ | ____| | | / |\n| | | | | |__ | ,----' / ^ \\ | |__ `---| |----` | (----`\n| | | | | __| | | / /_\\ \\ | __| | | \\ \\ \n| `--' | | |____ | `----./ _____ \\ | | | | .----) | \n|_______/ |_______| \\______/__/ \\__\\ |__| |__| |_______/ \n","\n _/_/_/ _/_/_/ _/_/_/_/_/ _/_/_/ \n _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ _/ \n _/ _/ _/_/_/_/ _/ _/ _/ _/ _/_/_/ _/ _/_/ \n _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ \n_/_/_/ _/_/_/ _/_/_/ _/_/_/ _/ _/ _/_/_/ \n","\n______ __ _____ _____ \n| _ \\ / _| |_ _/ ___|\n| | | |___ ___ __ _ ___| |_ | | \\ `--. \n| | | / _ \\/ __/ _` |/ _ \\ _| | | `--. \\\n| |/ / __/ (_| (_| | __/ | | | /\\__/ /\n|___/ \\___|\\___\\__,_|\\___|_| \\_/ \\____/ \n","\n ___ ___ ___ ___ ___ ___ ___ \n /\\ \\ /\\ \\ /\\ \\ /\\ \\ /\\ \\ /\\ \\ /\\ \\ \n /::\\ \\ /::\\ \\ /::\\ \\ /::\\ \\ /::\\ \\ \\:\\ \\ /::\\ \\ \n /:/\\:\\ \\ /:/\\:\\ \\ /:/\\:\\ \\ /:/\\:\\ \\ /:/\\:\\ \\ \\:\\ \\ /:/\\ \\ \\ \n /:/ \\:\\__\\ /::\\~\\:\\ \\ /:/ \\:\\ \\ /::\\~\\:\\ \\ /::\\~\\:\\ \\ /::\\ \\ _\\:\\~\\ \\ \\ \n /:/__/ \\:|__| /:/\\:\\ \\:\\__\\ /:/__/ \\:\\__\\ /:/\\:\\ \\:\\__\\ /:/\\:\\ \\:\\__\\ /:/\\:\\__\\ /\\ \\:\\ \\ \\__\\\n \\:\\ \\ /:/ / \\:\\~\\:\\ \\/__/ \\:\\ \\ \\/__/ \\/__\\:\\/:/ / \\:\\~\\:\\ \\/__/ /:/ \\/__/ \\:\\ \\:\\ \\/__/\n \\:\\ /:/ / \\:\\ \\:\\__\\ \\:\\ \\ \\::/ / \\:\\ \\:\\__\\ /:/ / \\:\\ \\:\\__\\ \n \\:\\/:/ / \\:\\ \\/__/ \\:\\ \\ /:/ / \\:\\ \\/__/ \\/__/ \\:\\/:/ / \n \\::/__/ \\:\\__\\ \\:\\__\\ /:/ / \\:\\__\\ \\::/ / \n ~~ \\/__/ \\/__/ \\/__/ \\/__/ \\/__/ \n","\n######## ######## ###### ### ######## ######## ###### \n## ## ## ## ## ## ## ## ## ## ## \n## ## ## ## ## ## ## ## ## \n## ## ###### ## ## ## ###### ####### ## ###### \n## ## ## ## ######### ## ## ## \n## ## ## ## ## ## ## ## ## ## ## \n######## ######## ###### ## ## ## ## ###### \n ","\n _____ __ _______ _____ \n | __ / _| |__ __/ ____| \n | | | | ___ ___ __ _| |_ ______| | | (___ \n | | | |/ _ / __/ _` | _|______| | ___ \n | |__| | __/ (_| (_| | | | | ____) | \n |_____/ ___|_____,_|_| |_| |_____/ \n \n \n ","\n \n,------. ,---. ,--------. ,---. \n| .-. ,---. ,---. ,--,--./ .-',-----.'--. .--'' .-' \n| | :| .-. :| .--'' ,-. || `-,'-----' | | `. `-. \n| '--' / --. `--. '-' || .-' | | .-' | \n`-------' `----' `---' `--`--'`--' `--' `-----' \n \n ","\n \n \nDDDDDDDDDDDDD ffffffffffffffff TTTTTTTTTTTTTTTTTTTTTTT SSSSSSSSSSSSSSS \nD::::::::::::DDD f::::::::::::::::f T:::::::::::::::::::::T SS:::::::::::::::S \nD:::::::::::::::DD f::::::::::::::::::f T:::::::::::::::::::::TS:::::SSSSSS::::::S \nDDD:::::DDDDD:::::D f::::::fffffff:::::f T:::::TT:::::::TT:::::TS:::::S SSSSSSS \n D:::::D D:::::D eeeeeeeeeeee cccccccccccccccc aaaaaaaaaaaaa f:::::f ffffff TTTTTT T:::::T TTTTTTS:::::S \n D:::::D D:::::D ee::::::::::::ee cc:::::::::::::::c a::::::::::::a f:::::f T:::::T S:::::S \n D:::::D D:::::D e::::::eeeee:::::ee c:::::::::::::::::c aaaaaaaaa:::::a f:::::::ffffff T:::::T S::::SSSS \n D:::::D D:::::De::::::e e:::::ec:::::::cccccc:::::c a::::a f::::::::::::f --------------- T:::::T SS::::::SSSSS \n D:::::D D:::::De:::::::eeeee::::::ec::::::c ccccccc aaaaaaa:::::a f::::::::::::f -:::::::::::::- T:::::T SSS::::::::SS \n D:::::D D:::::De:::::::::::::::::e c:::::c aa::::::::::::a f:::::::ffffff --------------- T:::::T SSSSSS::::S \n D:::::D D:::::De::::::eeeeeeeeeee c:::::c a::::aaaa::::::a f:::::f T:::::T S:::::S \n D:::::D D:::::D e:::::::e c::::::c ccccccca::::a a:::::a f:::::f T:::::T S:::::S \nDDD:::::DDDDD:::::D e::::::::e c:::::::cccccc:::::ca::::a a:::::a f:::::::f TT:::::::TT SSSSSSS S:::::S \nD:::::::::::::::DD e::::::::eeeeeeee c:::::::::::::::::ca:::::aaaa::::::a f:::::::f T:::::::::T S::::::SSSSSS:::::S \nD::::::::::::DDD ee:::::::::::::e cc:::::::::::::::c a::::::::::aa:::af:::::::f T:::::::::T S:::::::::::::::SS \nDDDDDDDDDDDDD eeeeeeeeeeeeee cccccccccccccccc aaaaaaaaaa aaaafffffffff TTTTTTTTTTT SSSSSSSSSSSSSSS \n \n \n ","\n___ ____ ____ ____ ____ ___ ____ \n| |___ | |__| |___ __ | [__ \n|__/ |___ |___ | | | | ___] \n \n ","\noooooooooo. .o88o. ooooooooooooo \n`888' `Y8b 888 `\" 8' 888 `8 .oooooo..o \n 888 888 .ooooo. .ooooo. .oooo. o888oo 888 d8P' `Y8 \n 888 888 d88' `88b d88' `\"Y8 `P )88b 888 888 Y88bo. \n 888 888 888ooo888 888 .oP\"888 888 8888888 888 `\"Y8888o. \n 888 d88' 888 .o 888 .o8 d8( 888 888 888 `\"Y88b \no888bood8P' `Y8bod8P' `Y8bod8P' `Y888\"\"8o o888o o888o oo .d8P \n ","\n__/\\\\\\\\\\\\________________________________________________________/\\\\________________/\\\\\\\\\\\\\\_____/\\\\\\\\\\___ \n _/\\////////\\____________________________________________________/\\///________________///////\\/////____/\\/////////\\_ \n _/\\______//\\__________________________________________________/\\__________________________/\\________//\\______///__ \n _/\\_______/\\_____/\\\\\\\\______/\\\\\\\\__/\\\\\\\\______/\\\\\\\\____/\\\\\\\\\\_______/\\_________////\\_________ \n _/\\_______/\\___/\\/////\\___/\\//////__////////\\____////\\//____///////////________/\\____________////\\______ \n _/\\_______/\\__/\\\\\\\\\\___/\\___________/\\\\\\\\\\______/\\__________________________/\\_______________////\\___ \n _/\\_______/\\__//\\///////___//\\_________/\\/////\\______/\\__________________________/\\________/\\______//\\__ \n _/\\\\\\\\\\\\/____//\\\\\\\\\\__///\\\\\\\\_//\\\\\\\\/\\_____/\\__________________________/\\_______///\\\\\\\\\\/___ \n _////////////_______//////////_____////////___//////////______///___________________________///__________///////////_____ \n ","\n.########..########..######.....###....########.........########..######. \n.##.....##.##.......##....##...##.##...##..................##....##....## \n.##.....##.##.......##........##...##..##..................##....##...... \n.##.....##.######...##.......##.....##.######...#######....##.....######. \n.##.....##.##.......##.......#########.##..................##..........## \n.##.....##.##.......##....##.##.....##.##..................##....##....## \n.########..########..######..##.....##.##..................##.....######. \n ","\n\u257a\u2533\u2513\u250f\u2501\u2578\u250f\u2501\u2578\u250f\u2501\u2513\u250f\u2501\u2578 \u257a\u2533\u2578\u250f\u2501\u2513 \n \u2503\u2503\u2523\u2578 \u2503 \u2523\u2501\u252b\u2523\u2578 \u257a\u2501\u2578 \u2503 \u2517\u2501\u2513 \n\u257a\u253b\u251b\u2517\u2501\u2578\u2517\u2501\u2578\u2579 \u2579\u2579 \u2579 \u2517\u2501\u251b \n "],m={sunset:["\x1b[38;5;215m","\x1b[38;5;209m","\x1b[38;5;205m","\x1b[38;5;210m","\x1b[38;5;217m","\x1b[38;5;216m","\x1b[38;5;224m","\x1b[38;5;230m"],ocean:["\x1b[38;5;27m","\x1b[38;5;33m","\x1b[38;5;39m","\x1b[38;5;45m","\x1b[38;5;51m","\x1b[38;5;87m","\x1b[38;5;123m","\x1b[38;5;159m"],forest:["\x1b[38;5;22m","\x1b[38;5;28m","\x1b[38;5;34m","\x1b[38;5;40m","\x1b[38;5;46m","\x1b[38;5;82m","\x1b[38;5;118m","\x1b[38;5;154m"],fire:["\x1b[38;5;196m","\x1b[38;5;202m","\x1b[38;5;208m","\x1b[38;5;214m","\x1b[38;5;220m","\x1b[38;5;226m","\x1b[38;5;228m","\x1b[38;5;230m"],neon:["\x1b[38;5;198m","\x1b[38;5;207m","\x1b[38;5;219m","\x1b[38;5;123m","\x1b[38;5;51m","\x1b[38;5;46m","\x1b[38;5;226m","\x1b[38;5;201m"],monochrome:["\x1b[38;5;232m","\x1b[38;5;236m","\x1b[38;5;240m","\x1b[38;5;244m","\x1b[38;5;248m","\x1b[38;5;252m","\x1b[38;5;255m","\x1b[38;5;250m"],pastel:["\x1b[38;5;217m","\x1b[38;5;223m","\x1b[38;5;229m","\x1b[38;5;157m","\x1b[38;5;159m","\x1b[38;5;189m","\x1b[38;5;183m","\x1b[38;5;225m"],cyberpunk:["\x1b[38;5;201m","\x1b[38;5;198m","\x1b[38;5;165m","\x1b[38;5;93m","\x1b[38;5;51m","\x1b[38;5;45m","\x1b[38;5;21m","\x1b[38;5;226m"],earth:["\x1b[38;5;94m","\x1b[38;5;130m","\x1b[38;5;136m","\x1b[38;5;100m","\x1b[38;5;58m","\x1b[38;5;22m","\x1b[38;5;137m","\x1b[38;5;180m"],rainbow:["\x1b[38;5;196m","\x1b[38;5;208m","\x1b[38;5;226m","\x1b[38;5;46m","\x1b[38;5;21m","\x1b[38;5;57m","\x1b[38;5;129m","\x1b[38;5;201m"],aurora:["\x1b[38;5;57m","\x1b[38;5;93m","\x1b[38;5;111m","\x1b[38;5;147m","\x1b[38;5;183m","\x1b[38;5;189m","\x1b[38;5;195m","\x1b[38;5;201m"],dusk:["\x1b[38;5;17m","\x1b[38;5;18m","\x1b[38;5;19m","\x1b[38;5;20m","\x1b[38;5;53m","\x1b[38;5;54m","\x1b[38;5;55m","\x1b[38;5;57m"],electric:["\x1b[38;5;45m","\x1b[38;5;51m","\x1b[38;5;63m","\x1b[38;5;75m","\x1b[38;5;81m","\x1b[38;5;87m","\x1b[38;5;93m","\x1b[38;5;99m"],mint:["\x1b[38;5;85m","\x1b[38;5;118m","\x1b[38;5;121m","\x1b[38;5;125m","\x1b[38;5;149m","\x1b[38;5;153m","\x1b[38;5;187m","\x1b[38;5;190m"],carnival:["\x1b[38;5;201m","\x1b[38;5;205m","\x1b[38;5;209m","\x1b[38;5;213m","\x1b[38;5;217m","\x1b[38;5;221m","\x1b[38;5;225m","\x1b[38;5;229m"],saffron:["\x1b[38;5;208m","\x1b[38;5;214m","\x1b[38;5;220m","\x1b[38;5;226m","\x1b[38;5;190m","\x1b[38;5;184m","\x1b[38;5;178m","\x1b[38;5;172m"],neonGlitch:["\x1b[38;5;205m","\x1b[38;5;209m","\x1b[38;5;213m","\x1b[38;5;219m","\x1b[38;5;225m","\x1b[38;5;231m","\x1b[38;5;237m","\x1b[38;5;243m"],berry:["\x1b[38;5;161m","\x1b[38;5;165m","\x1b[38;5;169m","\x1b[38;5;173m","\x1b[38;5;177m","\x1b[38;5;181m","\x1b[38;5;185m","\x1b[38;5;189m"],cosmic:["\x1b[38;5;18m","\x1b[38;5;21m","\x1b[38;5;57m","\x1b[38;5;93m","\x1b[38;5;129m","\x1b[38;5;165m","\x1b[38;5;201m","\x1b[38;5;207m"],sunbeam:["\x1b[38;5;226m","\x1b[38;5;220m","\x1b[38;5;214m","\x1b[38;5;208m","\x1b[38;5;202m","\x1b[38;5;196m","\x1b[38;5;190m","\x1b[38;5;184m"]};function s(_,e){_=_.for(s);const o=t.join(e,"workdocs","assets","slogans.json");try{if(!n.existsSync(o))return;const _=n.readFileSync(o);return JSON.parse(_.toString())}catch(n){return void _.error("Failed to read slogans from "+o,n)}}const c={banner:!0,cliModuleRoot:process.env.CLI_MODULE_TOOT&&process.env.CLI_MODULE_TOOT.length>0?t.resolve(process.env.CLI_MODULE_TOOT):process.cwd()},i=e.accumulate(c);class l extends o{static{this.env=i}constructor(_=i.cliModuleRoot,n=4){super(),this.basePath=_,this.crawlLevels=n,this.modules={},this.moduleSlogans={},this.globalSlogans=[],this.rootPath=t.resolve(__dirname,"..")}get command(){return this._command||(this._command=new _,a.initialize(this._command,this.rootPath)),this._command}async load(_){const n=this.log.for(this.load);let e;try{let n=await a.loadFromFile(_);if(e=n.name,n instanceof Function&&(n=n()),n instanceof Promise&&(n=await n),!this.isCommandInstance(n))throw Error("You should export the instantiated Commands class as default.");this.modules[e]=n}catch(n){throw Error(`failed to load module under ${_}: ${n instanceof Error?n.message:n}`)}try{const o=s(n,this.findModuleRoot(t.dirname(_))),a=this.extractSloganStrings(o);a.length&&(this.moduleSlogans[e]=a)}catch(_){}return e}async boot(){const _=this.log.for(this.boot),n=t.resolve(this.rootPath,this.basePath),e=this.crawl(n,this.crawlLevels);for(const _ of e){if(_.includes("@decaf-ts/cli"))continue;let n;try{n=await this.load(_)}catch(_){continue}if(!this.command.commands.find(_=>_._name===n))try{this.command.addCommand(this.modules[n])}catch(_){}}_.debug("loaded modules:\n"+Object.keys(this.modules).map(_=>"- "+_).join("\n"))}crawl(_,e=2){return e>0?n.readdirSync(_).reduce((o,a)=>(a=t.join(_,a),n.statSync(a).isDirectory()?o.push(...this.crawl(a,e-1)):a.match(RegExp("cli-module\\.[cm]js$","gm"))&&o.push(a),o),[]):[]}findModuleRoot(_){let e=_;const o=t.parse(_).root;for(;;){if(n.existsSync(t.join(e,"package.json")))return e;if(e===o)break;const _=t.dirname(e);if(_===e)break;e=_}return _}getSlogan(_){this.ensureGlobalSlogans();const n=_&&this.moduleSlogans[_]||[],t=this.otherSlogans(_);if(!n.length&&!t.length)return"Decaf: strongly brewed TypeScript.";if(!n.length)return t[Math.floor(Math.random()*t.length)];if(!t.length)return n[Math.floor(Math.random()*n.length)];const e=this.buildBalancedSloganPool(n,t);return e[Math.floor(Math.random()*e.length)]}otherSlogans(_){const n=Object.entries(this.moduleSlogans).filter(([n])=>n!==_).flatMap(([,_])=>_);return 0===this.globalSlogans.length&&0===n.length?[]:[...this.globalSlogans,...n]}buildBalancedSloganPool(_,n){const t=Math.max(_.length,n.length),e=this.repeatToLength(_,t),o=this.repeatToLength(n,t),a=[];for(let _=0;t>_;_++)a.push(e[_]),a.push(o[_]);return a}repeatToLength(_,n){return _.length&&n>0?Array.from({length:n},(n,t)=>_[t%_.length]):[]}ensureGlobalSlogans(){if(this.globalSlogans.length>0)return;const _=this.log.for(this.ensureGlobalSlogans),n=[],e=[this.rootPath],o=t.resolve(this.rootPath,this.basePath);o!==this.rootPath&&e.push(o);for(const t of e)this.collectSlogansFromPath(_,t,n),this.collectSlogansFromScope(_,t,n);this.globalSlogans=n}collectSlogansFromPath(_,n,t){try{const e=s(_,n);if(!e)return;for(const _ of e)_&&"string"==typeof _.Slogan&&_.Slogan.trim()&&t.push(_.Slogan.trim())}catch{}}collectSlogansFromScope(_,e,o){const a=t.join(e,"node_modules","@decaf-ts");try{if(!n.existsSync(a)||!n.statSync(a).isDirectory())return;const e=n.readdirSync(a);for(const r of e){const e=t.join(a,r);try{if(!n.existsSync(e)||!n.statSync(e).isDirectory())continue;this.collectSlogansFromPath(_,e,o)}catch{}}}catch{}}extractSloganStrings(_){return _&&_.length?_.map(_=>_&&_.Slogan?_.Slogan.trim():"").filter(_=>_.length>0):[]}isCommandInstance(n){if(n instanceof _)return!0;if(!n||"object"!=typeof n)return!1;const t=n;return"function"==typeof t.parseAsync&&"function"==typeof t.addCommand&&"function"==typeof t.name}printBanner(_){let n;try{const t=this.getPriorityModule(_);n=this.getSlogan(t)}catch{n="Decaf: strongly brewed TypeScript."}const t=r[Math.floor(Math.random()*r.length)],e=Object.keys(m),o=m[e[Math.floor(Math.random()*e.length)]],a=t.split("\n").filter(_=>_.length>0),s=a.reduce((_,n)=>Math.max(_,n.length),0),c=Math.max(0,n.length),i=Math.max(92,s,c),l=a.map(_=>_.padEnd(i));l.push(n.padStart(i));const f="\n".repeat(Math.max(0,l.length));process.stdout.write(f);const h=this.animateBanner(l,o);return this.bannerAnimation=h,h}getPriorityModule(_){if(!_||2>=_.length)return;const n=_.slice(2);for(const _ of n){if(!_||_.startsWith("-"))continue;const n=_.trim();if(n)return this.modules[n],n}}stopBannerAnimation(){this.bannerAnimation&&(this.bannerAnimation(),this.bannerAnimation=void 0)}animateBanner(_,n){if(!_.length)return()=>{};this.stopBannerAnimation();let t,e=0,o=!1;const a=Math.max(1,n.length),r=_.map((_,n)=>n%a),m=`\x1b[${_.length}A`,s=()=>{o||(o=!0,t&&(clearInterval(t),t=void 0))},c=()=>{const t=e%a,o=_.map((_,e)=>{const o=(r[e]+t)%a;return`${n[o]||""}${_}\x1b[0m`});process.stdout.write(m);for(const _ of o)process.stdout.write("\x1b[2K"),process.stdout.write(_+"\n");e++};return c(),t=setInterval(()=>{34>e?c():s()},150),s}async run(_=process.argv){await this.boot();const n=i.banner?this.printBanner(_):void 0;try{return await this.command.parseAsync(_)}finally{n&&n(),this.bannerAnimation=void 0}}static accumulateEnvironment(_){this.env=this.env.accumulate(_)}static getEnv(){return this.env}}export{l as CliWrapper,i as DecafCLieEnvironment,c as DefaultCliEnvironment};
|
|
2
2
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sources":["../src/utils.ts","../src/banners.ts","../src/slogans.ts","../src/environment.ts","../src/CliWrapper.ts"],"sourcesContent":[null,null,null,null,null],"names":["CLIUtils","loadFromFile","path","normalizeImport","import","e","Error","message","importPromise","then","m","default","initialize","command","basePath","name","packageName","description","version","packageVersion","getPackage","JSON","parse","fs","readFileSync","join","split","length","banners","colorPalettes","sunset","ocean","forest","fire","neon","monochrome","pastel","cyberpunk","earth","rainbow","readSlogans","log","for","slogansPath","existsSync","content","toString","error","DefaultCliEnvironment","banner","cliModuleRoot","process","env","CLI_MODULE_TOOT","resolve","cwd","DecafCLieEnvironment","LoggedEnvironment","accumulate","CliWrapper","LoggedClass","this","constructor","crawlLevels","super","modules","moduleSlogans","globalSlogans","rootPath","__dirname","_command","Command","load","filePath","module","Function","Promise","records","dirname","strings","extractSloganStrings","boot","crawl","includes","commands","find","c","addCommand","debug","Object","keys","map","k","levels","readdirSync","reduce","accum","file","statSync","isDirectory","push","match","RegExp","getSlogan","priorityModule","ensureGlobalSlogans","priority","others","otherSlogans","hasPriority","hasOthers","pool","Math","random","floor","entries","filter","flatMap","slogans","gathered","collectSlogansFromPath","nodeModulesDir","findNearestNodeModules","scopeDir","pkgs","pkg","depPath","accumulator","entry","Slogan","trim","value","current","root","candidate","parent","printBanner","args","getPriorityModule","bannerTemplate","paletteKeys","palette","line","maxLength","max","padStart","stop","animateBanner","bannerAnimation","candidates","slice","item","startsWith","trimmed","stopBannerAnimation","undefined","lines","timer","framesRendered","stopped","renderFrame","offset","colored","index","color","style","raw","text","stdout","write","clearInterval","setInterval","run","argv","stopAnimation","parseAsync","accumulateEnvironment","obj","getEnv"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sources":["../src/utils.ts","../src/banners.ts","../src/slogans.ts","../src/environment.ts","../src/CliWrapper.ts"],"sourcesContent":[null,null,null,null,null],"names":["CLIUtils","loadFromFile","path","normalizeImport","import","e","Error","message","importPromise","then","m","default","initialize","command","basePath","name","packageName","description","version","packageVersion","getPackage","JSON","parse","fs","readFileSync","join","split","length","banners","colorPalettes","sunset","ocean","forest","fire","neon","monochrome","pastel","cyberpunk","earth","rainbow","aurora","dusk","electric","mint","carnival","saffron","neonGlitch","berry","cosmic","sunbeam","readSlogans","log","for","slogansPath","existsSync","content","toString","error","DefaultCliEnvironment","banner","cliModuleRoot","process","env","CLI_MODULE_TOOT","resolve","cwd","DecafCLieEnvironment","LoggedEnvironment","accumulate","CliWrapper","LoggedClass","this","constructor","crawlLevels","super","modules","moduleSlogans","globalSlogans","rootPath","__dirname","_command","Command","load","filePath","module","Function","Promise","isCommandInstance","records","findModuleRoot","dirname","strings","extractSloganStrings","boot","crawl","includes","commands","find","c","addCommand","debug","Object","keys","map","k","levels","readdirSync","reduce","accum","file","statSync","isDirectory","push","match","RegExp","initialDir","current","root","parent","getSlogan","priorityModule","ensureGlobalSlogans","priority","others","otherSlogans","Math","floor","random","pool","buildBalancedSloganPool","entries","filter","flatMap","slogans","primary","secondary","targetLength","max","primaryBucket","repeatToLength","secondaryBucket","result","i","values","Array","from","_","index","gathered","basePaths","hostPath","candidate","collectSlogansFromPath","collectSlogansFromScope","accumulator","entry","Slogan","trim","scopeDir","pkgs","pkg","value","parseAsync","printBanner","args","getPriorityModule","bannerTemplate","paletteKeys","palette","rawLines","line","maxLineWidth","messageWidth","targetWidth","padEnd","padStart","reservedLines","repeat","stdout","write","stop","animateBanner","bannerAnimation","candidates","slice","item","startsWith","trimmed","stopBannerAnimation","undefined","lines","timer","framesRendered","stopped","paletteLength","colorOffsets","moveUp","clearInterval","renderFrame","offset","colored","colorIndex","setInterval","run","argv","stopAnimation","accumulateEnvironment","obj","getEnv"],"mappings":"+KAmBaA,EAQX,yBAAaC,CAAaC,GACxB,IACE,OAAOF,EAASG,gBAAgBC,OAAOF,GACxC,CAAC,MAAOG,GACP,MAAUC,MACR,uBAAuBJ,MAASG,aAAaC,MAAQD,EAAEE,QAAUF,IAEpE,CACF,CAWD,4BAAaF,CAAmBK,GAE9B,OAAOA,EAAcC,KAClBC,GAAiBA,EAAqBC,SAAWD,EAErD,CAUD,iBAAOE,CAAWC,EAAkBC,GAClC,MAAMC,EAAOf,EAASgB,YAAYF,GAClCD,EACGE,KAAK,SACLE,YAAY,QAAQF,sBACpBG,QAAQlB,EAASmB,eAAeL,GACpC,CAUO,iBAAOM,CAAWN,GACxB,IACE,OAAOO,KAAKC,MACVC,EAAGC,aAAatB,EAAKuB,KAAKX,EAAU,gBAAiB,QAExD,CAAC,MAAOT,GACP,MAAUC,MAAM,+BAA+BQ,MAAaT,IAC7D,CACF,CASD,qBAAOc,CAAeL,GACpB,OAAOd,EAASoB,WAAWN,GAAmB,OAC/C,CASD,kBAAOE,CAAYF,GACjB,MAAMC,EAAQf,EAASoB,WAAWN,GAAgB,KAAaY,MAAM,KACrE,OAAOX,EAAKA,EAAKY,OAAS,EAC3B,ECxGI,MAAMC,EAAU,CAErB,8PAQA,yNAQA,muDASA,iJAOA,uJAOA,sFAMA,yfASA,gZAQA,qSASA,qwCAcA,iwCAWA,+6CAYA,gvCAWA,2oJAwBA,8tBAQA,0zBAWA,0jEAaA,iwCAWA,wzBAOWC,EAA0C,CACrDC,OAAQ,CACN,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,kBAEFC,MAAO,CACL,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,iBACA,kBAEFC,OAAQ,CACN,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,iBACA,kBAEFC,KAAM,CACJ,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,kBAEFC,KAAM,CACJ,iBACA,iBACA,iBACA,iBACA,gBACA,gBACA,iBACA,kBAEFC,WAAY,CACV,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,kBAEFC,OAAQ,CACN,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,kBAEFC,UAAW,CACT,iBACA,iBACA,iBACA,gBACA,gBACA,gBACA,gBACA,kBAEFC,MAAO,CACL,gBACA,iBACA,iBACA,iBACA,gBACA,gBACA,iBACA,kBAEFC,QAAS,CACP,iBACA,iBACA,iBACA,gBACA,gBACA,gBACA,iBACA,kBAEFC,OAAQ,CACN,gBACA,gBACA,iBACA,iBACA,iBACA,iBACA,iBACA,kBAEFC,KAAM,CACJ,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,iBAEFC,SAAU,CACR,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,iBAEFC,KAAM,CACJ,gBACA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,kBAEFC,SAAU,CACR,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,kBAEFC,QAAS,CACP,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,kBAEFC,WAAY,CACV,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,kBAEFC,MAAO,CACL,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,kBAEFC,OAAQ,CACN,gBACA,gBACA,gBACA,gBACA,iBACA,iBACA,iBACA,kBAEFC,QAAS,CACP,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,mBC/XY,SAAAC,EACdC,EACArC,GAEAqC,EAAMA,EAAIC,IAAIF,GACd,MAAMG,EAAcnD,EAAKuB,KAAKX,EAAU,WAAY,SAAU,gBAE9D,IACE,IAAKS,EAAG+B,WAAWD,GACjB,OAGF,MAAME,EAAUhC,EAAGC,aAAa6B,GAChC,OAAOhC,KAAKC,MAAMiC,EAAQC,WAC3B,CAAC,MAAOC,GAEP,YADAN,EAAIM,MAAM,+BAA+BJ,EAAeI,EAEzD,CACH,CCzBA,MAKaC,EAA6C,CACxDC,QAAQ,EACRC,cANAC,QAAQC,IAAIC,iBAAmBF,QAAQC,IAAIC,gBAAgBpC,OAAS,EAChEzB,EAAK8D,QAAQH,QAAQC,IAAIC,iBACzBF,QAAQI,OAODC,EAAuBC,EAAkBC,WACpDV,GC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"}
|