@decaf-ts/cli 0.4.9 → 0.4.12
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 +160 -17
- package/lib/CliWrapper.d.ts +7 -0
- package/lib/CliWrapper.js.map +1 -1
- package/lib/build-module/cli-module.cjs +36 -0
- package/lib/build-module/cli-module.d.ts +2 -0
- package/lib/build-module/cli-module.js.map +1 -0
- package/lib/esm/CliWrapper.d.ts +7 -0
- package/lib/esm/CliWrapper.js +161 -18
- package/lib/esm/CliWrapper.js.map +1 -1
- package/lib/esm/build-module/cli-module.d.ts +2 -0
- package/lib/esm/build-module/cli-module.js +33 -0
- package/lib/esm/build-module/cli-module.js.map +1 -0
- package/lib/esm/logging.js +0 -2
- package/lib/esm/logging.js.map +1 -1
- package/lib/esm/release-module/cli-module.d.ts +2 -0
- package/lib/esm/release-module/cli-module.js +73 -0
- package/lib/esm/release-module/cli-module.js.map +1 -0
- package/lib/esm/utils/command-forwarder.d.ts +10 -0
- package/lib/esm/utils/command-forwarder.js +37 -0
- package/lib/esm/utils/command-forwarder.js.map +1 -0
- package/lib/esm/utils-module/cli-module.js +2 -1
- package/lib/esm/utils-module/cli-module.js.map +1 -1
- package/lib/esm/version.d.ts +1 -1
- package/lib/esm/version.js +1 -1
- package/lib/logging.cjs +0 -2
- package/lib/logging.js.map +1 -1
- package/lib/release-module/cli-module.cjs +76 -0
- package/lib/release-module/cli-module.d.ts +2 -0
- package/lib/release-module/cli-module.js.map +1 -0
- package/lib/utils/command-forwarder.cjs +42 -0
- package/lib/utils/command-forwarder.d.ts +10 -0
- package/lib/utils/command-forwarder.js.map +1 -0
- package/lib/utils-module/cli-module.cjs +2 -1
- package/lib/utils-module/cli-module.js.map +1 -1
- package/lib/version.cjs +1 -1
- package/lib/version.d.ts +1 -1
- package/package.json +2 -1
- package/lib/demo/cli-module.cjs +0 -16
- package/lib/demo/cli-module.d.ts +0 -2
- package/lib/demo/cli-module.js.map +0 -1
- package/lib/esm/demo/cli-module.d.ts +0 -2
- package/lib/esm/demo/cli-module.js +0 -13
- package/lib/esm/demo/cli-module.js.map +0 -1
package/README.md
CHANGED
package/dist/cli.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var _,n;_=this,n=function(_,n,e,t,o){"use strict";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 e=a.packageName(n);_.name("decaf").description(`Runs ${e} related commands`).version(a.packageVersion(n))}static getPackage(_){try{return JSON.parse(e.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 "],s={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 c(_,n){_=_.for(c);const o=t.join(n,"workdocs","assets","slogans.json");try{if(!e.existsSync(o))return;const _=e.readFileSync(o);return JSON.parse(_.toString())}catch(n){return void _.error("Failed to read slogans from "+o,n)}}const m={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=o.LoggedEnvironment.accumulate(m);class l extends o.LoggedClass{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 n.Command,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=c(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(_,n=2){return n>0?e.readdirSync(_).reduce((o,a)=>(a=t.join(_,a),e.statSync(a).isDirectory()?o.push(...this.crawl(a,n-1)):a.match(RegExp("cli-module\\.[cm]js$","gm"))&&o.push(a),o),[]):[]}findModuleRoot(_){let n=_;const o=t.parse(_).root;for(;;){if(e.existsSync(t.join(n,"package.json")))return n;if(n===o)break;const _=t.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],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,e){try{const t=c(_,n);if(!t)return;for(const _ of t)_&&"string"==typeof _.Slogan&&_.Slogan.trim()&&e.push(_.Slogan.trim())}catch{}}collectSlogansFromScope(_,n,o){const a=t.join(n,"node_modules","@decaf-ts");try{if(!e.existsSync(a)||!e.statSync(a).isDirectory())return;const n=e.readdirSync(a);for(const r of n){const n=t.join(a,r);try{if(!e.existsSync(n)||!e.statSync(n).isDirectory())continue;this.collectSlogansFromPath(_,n,o)}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=r[Math.floor(Math.random()*r.length)],t=Object.keys(s),o=s[t[Math.floor(Math.random()*t.length)]],a=e.split("\n").filter(_=>_.length>0),c=a.reduce((_,n)=>Math.max(_,n.length),0),m=Math.max(0,n.length),i=Math.max(92,c,m),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 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=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}}_.CliWrapper=l,_.DecafCLieEnvironment=i,_.DefaultCliEnvironment=m},"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);
|
|
1
|
+
var _,e;_=this,e=function(_,e,n,t,o,a,r){"use strict";class s{static async loadFromFile(_){try{return s.normalizeImport(import(_))}catch(e){throw Error(`Failed to load from ${_}: ${e instanceof Error?e.message:e}`)}}static async normalizeImport(_){return _.then(_=>_.default||_)}static initialize(_,e){const n=s.packageName(e);_.name("decaf").description(`Runs ${n} related commands`).version(s.packageVersion(e))}static getPackage(_){try{return JSON.parse(n.readFileSync(t.join(_,"package.json"),"utf8"))}catch(e){throw Error(`Unable to read version from ${_}: ${e}`)}}static packageVersion(_){return s.getPackage(_).version}static packageName(_){const e=s.getPackage(_).name.split("/");return e[e.length-1]}}const i=["\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 "],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"],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 m(_,e){_=_.for(m);const o=t.join(e,"workdocs","assets","slogans.json");try{if(!n.existsSync(o))return;const _=n.readFileSync(o);return JSON.parse(_.toString())}catch(e){return void _.error("Failed to read slogans from "+o,e)}}const l={banner:!0,cliModuleRoot:process.env.CLI_MODULE_TOOT&&process.env.CLI_MODULE_TOOT.length>0?t.resolve(process.env.CLI_MODULE_TOOT):process.cwd()},d=o.LoggedEnvironment.accumulate(l);function f(_){const e=[_];let n=_.parent;for(;n;)e.push(n),n=n.parent;return e.reverse().reduce((_,e)=>_.for(e.name),o.Logging.get())}function h(_,e){const n=_.opts();return e.reduce((_,e)=>{const t=n[e.name];return"boolean"===e.type?(!0===t||e.allowFalse&&!1===t)&&(_[e.name]=t):"string"===e.type&&"string"==typeof t&&t.length>0&&(_[e.name]=t),_},{})}async function u(_,e,n){const t=f(n),o=Object.assign({},a.DefaultCommandValues,e),r=_.run;if("function"!=typeof r)throw Error("Provided utils command does not expose a run method");t.debug(`Executing ${_.constructor.name} command via decaf CLI bridge`),!0!==o.version&&await r.call(_,o)}const g=[{name:"version",flag:"--version",type:"boolean"},{name:"dev",flag:"--dev",type:"boolean"},{name:"prod",flag:"--prod",type:"boolean"},{name:"buildMode",flag:"--buildMode",type:"string"},{name:"includes",flag:"--includes",type:"string"},{name:"externals",flag:"--externals",type:"string"},{name:"docs",flag:"--docs",type:"boolean"},{name:"commands",flag:"--commands",type:"boolean"},{name:"entry",flag:"--entry",type:"string"}],p=[{name:"verbose",flag:"--verbose",type:"boolean"},{name:"version",flag:"--version",type:"boolean"},{name:"logLevel",flag:"--logLevel",type:"string"},{name:"logStyle",flag:"--logStyle",type:"boolean",allowFalse:!0},{name:"timestamp",flag:"--timestamp",type:"boolean",allowFalse:!0},{name:"banner",flag:"--banner",type:"boolean",allowFalse:!0}],S=[...p,{name:"meta",flag:"--meta",type:"string"},{name:"branch",flag:"--branch",type:"string"},{name:"current",flag:"--current",type:"string"},{name:"package",flag:"--package",type:"string"},{name:"token",flag:"--token",type:"string"},{name:"submoduleFile",flag:"--submoduleFile",type:"string"},{name:"submodulePath",flag:"--submodulePath",type:"string"},{name:"targetBase",flag:"--targetBase",type:"string"}],y=[...p,{name:"meta",flag:"--meta",type:"string"},{name:"branch",flag:"--branch",type:"string"},{name:"current",flag:"--current",type:"string"},{name:"workflow",flag:"--workflow",type:"string"},{name:"repo",flag:"--repo",type:"string"},{name:"token",flag:"--token",type:"string"},{name:"ref",flag:"--ref",type:"string"},{name:"targetBase",flag:"--targetBase",type:"string"}],b=(new e.Command).name("libraries").description("outputs the installed decaf-ts libraries and their versions").option("--format [String]","additional output formats (json, raw)").action(async _=>{const e=JSON.parse(n.readFileSync(t.join(process.cwd(),"package.json"),"utf-8")),o=e.version,a=f(b);a.debug(`running with options: ${JSON.stringify(_)} for ${e.name} version ${o}`);const{format:s}=_,i=r.Metadata.libraries();switch(s){case"json":break;case"raw":Object.entries(i).forEach(([_,e])=>{});break;default:Object.entries(i).forEach(([_,e])=>a.info(`${_}: ${e}`))}}),D=(new e.Command).name("environment-export").description("outputs currently enforced environment along with it's description").option("--format [String]","additional output formats (json, raw)").action(async _=>{const e=JSON.parse(n.readFileSync(t.join(process.cwd(),"package.json"),"utf-8")),a=e.version,r=f(D);r.debug(`running with options: ${JSON.stringify(_)} for ${e.name} version ${a}`);const{format:s}=_,i=v.getEnv(),c=(_,e,n="")=>{Object.entries(e).forEach(([e,t])=>{const a=o.toENVFormat(e),r=n?`${n}__${a}`:a;t&&"object"==typeof t&&!Array.isArray(t)?c(_,t,r):_.push(`${r}=${t}`)})};switch(s){case"json":break;case"raw":c([],i);break;default:{const _=[];c(_,i),_.forEach(_=>r.info(_))}}}),T=[function(){return(new e.Command).command("build").description("Run decaf build scripts").option("--version","Show build-scripts version").option("--dev","Run the development build pipeline").option("--prod","Run the production build pipeline").option("--build-mode <mode>","Select build mode (build|bundle|all)").option("--includes <list>","Comma separated bundle includes list").option("--externals <list>","Comma separated externals list").option("--docs","Generate documentation").option("--commands","Include CLI commands bundle").option("--entry <path>","Override entry file path").action(async function(){const _=h(this,g);await u(new a.BuildScripts,_,this)})},function(){const _=(new e.Command).command("release").description("Automate release chain propagation and workflow dispatches");return _.command("chain").alias("run").description("Run release chain locally").option("-V, --verbose","Enable verbose logging").option("--version","Show release-chain version").option("--branch <name>","Branch to update downstream repositories").option("--current <owner/repo>","Current repository slug to resume after in the chain").option("--package <name>","Override detected package name for dependency updates").option("--token <token>","GitHub token for cloning and pushing").option("--submodule-file <file>","Override submodule file name (default .gitsubmodule)").option("--submodule-path <path>","Use a local submodule file instead of downloading").option("--target-base <branch>","Base branch to open downstream pull requests against").action(async function(){const _=h(this,S);await u(new a.ReleaseChainCommand,_,this)}),_.command("dispatch").description("Dispatch the GitHub Actions release-chain workflow with explicit inputs").option("-V, --verbose","Enable verbose logging").option("--version","Show release-chain version").option("--branch <name>","Branch to evaluate in downstream repositories").option("--current <owner/repo>","Repository slug that triggered the release chain").option("--workflow <file>","Workflow file name (default release-chain.yaml)").option("--repo <owner/repo>","Target repository slug where the workflow lives").option("--token <token>","GitHub token for dispatching workflows").option("--ref <ref>","Git ref to dispatch the workflow on").option("--target-base <branch>","Base branch to open downstream pull requests against").action(async function(){const _=h(this,y);await u(new a.ReleaseChainDispatchCommand,_,this)}),_},()=>{const _=(new e.Command).command("utils").description("utilitarian cli commands for the decaf-ts framework");return _.addCommand(b),_.addCommand(D),_}],w={key:"pId",render(_){if(!1!==_.config.logLevel)return process.pid.toString()},style:(_,e)=>e.applyTheme(_,"context")};try{o.Logging.register(w)}catch{try{o.logParameterRegistry.register(w)}catch{}}o.Logging.setConfig({format:d.format.includes("{pId}")?d.format:"{pId}|"+d.format});class v extends o.LoggedClass{static{this.env=d}constructor(_=d.cliModuleRoot,e=4){super(),this.basePath=_,this.crawlLevels=e,this.modules={},this.includedModuleNames=new Set,this.moduleSlogans={},this.globalSlogans=[],this.rootPath=t.resolve(__dirname,"..")}get command(){return this._command||(this._command=new e.Command,s.initialize(this._command,this.rootPath)),this._command}async load(_){const e=this.log.for(this.load);let n;try{let o=await s.loadFromFile(_);if(n=o.name,o instanceof Function&&(o=o()),o instanceof Promise&&(o=await o),!this.isCommandInstance(o))throw Error("You should export the instantiated Commands class as default.");const a=this.findModuleRoot(t.dirname(_));if("@decaf-ts/cli"===this.getPackageNameFromRoot(a)&&this.includedModuleNames.has(n))return void e.verbose(`skipping included module ${n} at ${_} (already loaded)`);this.registerModule(n,o,a,e)}catch(e){throw Error(`failed to load module under ${_}: ${e instanceof Error?e.message:e}`)}return n}registerModule(_,e,n,t){this.modules[_]=e;try{const e=m(t,n),o=this.extractSloganStrings(e);o.length&&(this.moduleSlogans[_]=o)}catch(_){}}async boot(){const _=this.log.for(this.boot);this.loadIncludedModules();const e=this.getHostPath(),n=new Set;await this.loadModulesFromPath(e,n,_);const t=this.getScopePackageRoots();for(const e of t)await this.loadModulesFromPath(e,n,_);_.debug("loaded modules:\n"+Object.keys(this.modules).map(_=>"- "+_).join("\n"))}loadIncludedModules(){const _=this.log.for(this.loadIncludedModules);for(const e of T)try{const n=e.name;if(!n||this.includedModuleNames.has(n))continue;const t=e();if(!this.isCommandInstance(t))continue;this.includedModuleNames.add(n),this.registerModule(n,t,this.rootPath,_),this.command.commands.some(_=>_.name()===n)||this.command.addCommand(t)}catch(_){}}async loadModulesFromPath(_,e,o){if(!n.existsSync(_))return;try{if(!n.statSync(_).isDirectory())return}catch{return}const a=this.crawl(_,this.crawlLevels);for(const _ of a){const n=t.resolve(_);if(e.has(n))continue;let a;e.add(n);try{a=await this.load(n)}catch(_){continue}if(a)if(this.command.commands.some(_=>_.name()===a))o.verbose(`Command ${a} already registered; skipping duplicate`);else try{this.command.addCommand(this.modules[a])}catch(_){}}}getScopePackageRoots(){const _=new Set,e=[this.rootPath],o=this.getHostPath();o!==this.rootPath&&e.push(o);for(const o of e){const e=t.join(o,"node_modules","@decaf-ts");try{if(!n.existsSync(e)||!n.statSync(e).isDirectory())continue;const o=n.readdirSync(e,{withFileTypes:!0});for(const n of o)n.isDirectory()&&_.add(t.join(e,n.name))}catch{}}return Array.from(_)}getHostPath(){return t.resolve(this.rootPath,this.basePath)}getPackageNameFromRoot(_){try{const e=t.join(_,"package.json");if(!n.existsSync(e))return;const o=JSON.parse(n.readFileSync(e,"utf8"));return"string"==typeof o.name?o.name:void 0}catch{return}}crawl(_,e=2){return 0>e?[]:n.readdirSync(_).reduce((o,a)=>(a=t.join(_,a),n.statSync(a).isDirectory()?e>0&&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 e=_&&this.moduleSlogans[_]||[],n=this.otherSlogans(_);if(!e.length&&!n.length)return"Decaf: strongly brewed TypeScript.";if(!e.length)return n[Math.floor(Math.random()*n.length)];if(!n.length)return e[Math.floor(Math.random()*e.length)];const t=this.buildBalancedSloganPool(e,n);return t[Math.floor(Math.random()*t.length)]}otherSlogans(_){const e=Object.entries(this.moduleSlogans).filter(([e])=>e!==_).flatMap(([,_])=>_);return 0===this.globalSlogans.length&&0===e.length?[]:[...this.globalSlogans,...e]}buildBalancedSloganPool(_,e){const n=Math.max(_.length,e.length),t=this.repeatToLength(_,n),o=this.repeatToLength(e,n),a=[];for(let _=0;n>_;_++)a.push(t[_]),a.push(o[_]);return a}repeatToLength(_,e){return _.length&&e>0?Array.from({length:e},(e,n)=>_[n%_.length]):[]}ensureGlobalSlogans(){if(this.globalSlogans.length>0)return;const _=this.log.for(this.ensureGlobalSlogans),e=[],n=[this.rootPath],o=t.resolve(this.rootPath,this.basePath);o!==this.rootPath&&n.push(o);for(const t of n)this.collectSlogansFromPath(_,t,e),this.collectSlogansFromScope(_,t,e);this.globalSlogans=e}collectSlogansFromPath(_,e,n){try{const t=m(_,e);if(!t)return;for(const _ of t)_&&"string"==typeof _.Slogan&&_.Slogan.trim()&&n.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(_){if(_ instanceof e.Command)return!0;if(!_||"object"!=typeof _)return!1;const n=_;return"function"==typeof n.parseAsync&&"function"==typeof n.addCommand&&"function"==typeof n.name}printBanner(_){let e;try{const n=this.getPriorityModule(_);e=this.getSlogan(n)}catch{e="Decaf: strongly brewed TypeScript."}const n=i[Math.floor(Math.random()*i.length)],t=Object.keys(c),o=c[t[Math.floor(Math.random()*t.length)]],a=n.split("\n").filter(_=>_.length>0),r=a.reduce((_,e)=>Math.max(_,e.length),0),s=Math.max(0,e.length),m=Math.max(92,r,s),l=a.map(_=>_.padEnd(m));l.push(e.padStart(m));const d="\n".repeat(Math.max(0,l.length));process.stdout.write(d);const f=this.animateBanner(l,o);return this.bannerAnimation=f,f}getPriorityModule(_){if(!_||2>=_.length)return;const e=_.slice(2);for(const _ of e){if(!_||_.startsWith("-"))continue;const e=_.trim();if(e)return this.modules[e],e}}stopBannerAnimation(){this.bannerAnimation&&(this.bannerAnimation(),this.bannerAnimation=void 0)}animateBanner(_,e){if(!_.length)return()=>{};this.stopBannerAnimation();let n,t=0,o=!1;const a=Math.max(1,e.length),r=_.map((_,e)=>e%a),s=`\x1b[${_.length}A`,i=()=>{o||(o=!0,n&&(clearInterval(n),n=void 0))},c=()=>{const n=t%a,o=_.map((_,t)=>{const o=(r[t]+n)%a;return`${e[o]||""}${_}\x1b[0m`});process.stdout.write(s);for(const _ of o)process.stdout.write("\x1b[2K"),process.stdout.write(_+"\n");t++};return c(),n=setInterval(()=>{34>t?c():i()},150),i}async run(_=process.argv){await this.boot();const e=d.banner?this.printBanner(_):void 0;try{return await this.command.parseAsync(_)}finally{e&&e(),this.bannerAnimation=void 0}}static accumulateEnvironment(_){this.env=this.env.accumulate(_)}static getEnv(){return this.env}}_.CliWrapper=v,_.DecafCLieEnvironment=d,_.DefaultCliEnvironment=l},"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("commander"),require("fs"),require("path"),require("@decaf-ts/logging"),require("@decaf-ts/utils"),require("@decaf-ts/decoration")):"function"==typeof define&&define.amd?define(["exports","commander","fs","path","@decaf-ts/logging","@decaf-ts/utils","@decaf-ts/decoration"],e):e((_="undefined"!=typeof globalThis?globalThis:_||self).cli={},_.commander,_.fs,_.path,_.decafTsLogging,_.decafTsUtils,_.decafTsDecoration);
|
|
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","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":"wDAmBaA,EAQX,yBAAaC,CAAaC,GACxB,IACE,OAAOF,EAASG,gBAAgBC,OAAOF,GACzC,CAAE,MAAOG,GACP,MAAUC,MACR,uBAAuBJ,MAASG,aAAaC,MAAQD,EAAEE,QAAUF,IAErE,CACF,CAWA,4BAAaF,CAAmBK,GAE9B,OAAOA,EAAcC,KAClBC,GAAiBA,EAAqBC,SAAWD,EAEtD,CAUA,iBAAOE,CAAWC,EAAkBC,GAClC,MAAMC,EAAOf,EAASgB,YAAYF,GAClCD,EACGE,KAAK,SACLE,YAAY,QAAQF,sBACpBG,QAAQlB,EAASmB,eAAeL,GACrC,CAUQ,iBAAOM,CAAWN,GACxB,IACE,OAAOO,KAAKC,MACVC,EAAGC,aAAatB,EAAKuB,KAAKX,EAAU,gBAAiB,QAEzD,CAAE,MAAOT,GACP,MAAUC,MAAM,+BAA+BQ,MAAaT,IAC9D,CACF,CASA,qBAAOc,CAAeL,GACpB,OAAOd,EAASoB,WAAWN,GAAmB,OAChD,CASA,kBAAOE,CAAYF,GACjB,MAAMC,EAAQf,EAASoB,WAAWN,GAAgB,KAAaY,MAAM,KACrE,OAAOX,EAAKA,EAAKY,OAAS,EAC5B,ECxGK,MAAMC,EAAU,CAErB,8PAQA,yNAQA,muDASA,iJAOA,uJAOA,sFAMA,yfASA,gZAQA,qSASA,qwCAcA,iwCAWA,+6CAYA,gvCAWA,2oJAwBA,8tBAQA,0zBAWA,wiEAaA,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/XE,SAAUC,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,WAC5B,CAAE,MAAOC,GAEP,YADAN,EAAIM,MAAM,+BAA+BJ,EAAeI,EAE1D,CACF,CCzBA,MAKaC,EAA6C,CACxDC,QAAQ,EACRC,cANAC,QAAQC,IAAIC,iBAAmBF,QAAQC,IAAIC,gBAAgBpC,OAAS,EAChEzB,EAAK8D,QAAQH,QAAQC,IAAIC,iBACzBF,QAAQI,OAODC,EAAuBC,EAAAA,kBAAkBC,WA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"}
|
|
1
|
+
{"version":3,"file":"cli.cjs","sources":["../src/utils.ts","../src/banners.ts","../src/slogans.ts","../src/environment.ts","../src/logging.ts","../src/utils/command-forwarder.ts","../src/build-module/cli-module.ts","../src/release-module/cli-module.ts","../src/utils-module/cli-module.ts","../src/CliWrapper.ts"],"sourcesContent":[null,null,null,null,null,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","getCmdLogger","cmd","inheritance","parent","push","reverse","reduce","accum","el","Logging","get","buildValueMap","specs","opts","acc","spec","value","type","allowFalse","async","runUtilsCommand","utilsCommand","values","invoker","payload","Object","assign","DefaultCommandValues","runMethod","debug","constructor","call","BUILD_OPTION_SPECS","flag","RELEASE_LOGGING_SPECS","RELEASE_CHAIN_SPECS","RELEASE_DISPATCH_SPECS","libraries","Command","option","action","options","pkg","stringify","format","libs","Metadata","entries","forEach","key","info","environmentExport","CliWrapper","getEnv","flatten","obj","prefix","envKey","toENVFormat","fullKey","Array","isArray","str","s","INCLUDED_MODULE_FACTORIES","this","BuildScripts","release","alias","ReleaseChainCommand","ReleaseChainDispatchCommand","utilsCmd","addCommand","pIdDescriptor","render","config","logLevel","pid","style","rendered","applyTheme","register","logParameterRegistry","setConfig","includes","LoggedClass","crawlLevels","super","modules","includedModuleNames","Set","moduleSlogans","globalSlogans","rootPath","__dirname","_command","load","filePath","module","Function","Promise","isCommandInstance","moduleRoot","findModuleRoot","dirname","getPackageNameFromRoot","has","verbose","registerModule","records","strings","extractSloganStrings","boot","loadIncludedModules","getHostPath","seen","loadModulesFromPath","scopePaths","getScopePackageRoots","scopePath","keys","map","k","factory","moduleName","add","commands","some","statSync","isDirectory","crawl","resolved","scopeRoots","candidates","hostPath","candidate","scopeDir","readdirSync","withFileTypes","entry","from","root","pkgPath","undefined","levels","file","match","RegExp","initialDir","current","getSlogan","priorityModule","ensureGlobalSlogans","priority","others","otherSlogans","Math","floor","random","pool","buildBalancedSloganPool","filter","flatMap","slogans","primary","secondary","targetLength","max","primaryBucket","repeatToLength","secondaryBucket","result","i","_","index","gathered","basePaths","collectSlogansFromPath","collectSlogansFromScope","accumulator","Slogan","trim","pkgs","parseAsync","printBanner","args","getPriorityModule","bannerTemplate","paletteKeys","palette","rawLines","line","maxLineWidth","messageWidth","targetWidth","padEnd","padStart","reservedLines","repeat","stdout","write","stop","animateBanner","bannerAnimation","slice","item","startsWith","trimmed","stopBannerAnimation","lines","timer","framesRendered","stopped","paletteLength","colorOffsets","moveUp","clearInterval","renderFrame","offset","colored","colorIndex","setInterval","run","argv","stopAnimation","accumulateEnvironment"],"mappings":"4DAmBaA,EAQX,yBAAaC,CAAaC,GACxB,IACE,OAAOF,EAASG,gBAAgBC,OAAOF,GACzC,CAAE,MAAOG,GACP,MAAUC,MACR,uBAAuBJ,MAASG,aAAaC,MAAQD,EAAEE,QAAUF,IAErE,CACF,CAWA,4BAAaF,CAAmBK,GAE9B,OAAOA,EAAcC,KAClBC,GAAiBA,EAAqBC,SAAWD,EAEtD,CAUA,iBAAOE,CAAWC,EAAkBC,GAClC,MAAMC,EAAOf,EAASgB,YAAYF,GAClCD,EACGE,KAAK,SACLE,YAAY,QAAQF,sBACpBG,QAAQlB,EAASmB,eAAeL,GACrC,CAUQ,iBAAOM,CAAWN,GACxB,IACE,OAAOO,KAAKC,MACVC,EAAGC,aAAatB,EAAKuB,KAAKX,EAAU,gBAAiB,QAEzD,CAAE,MAAOT,GACP,MAAUC,MAAM,+BAA+BQ,MAAaT,IAC9D,CACF,CASA,qBAAOc,CAAeL,GACpB,OAAOd,EAASoB,WAAWN,GAAmB,OAChD,CASA,kBAAOE,CAAYF,GACjB,MAAMC,EAAQf,EAASoB,WAAWN,GAAgB,KAAaY,MAAM,KACrE,OAAOX,EAAKA,EAAKY,OAAS,EAC5B,ECxGK,MAAMC,EAAU,CAErB,8PAQA,yNAQA,muDASA,iJAOA,uJAOA,sFAMA,yfASA,gZAQA,qSASA,qwCAcA,iwCAWA,+6CAYA,gvCAWA,2oJAwBA,8tBAQA,0zBAWA,wiEAaA,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/XE,SAAUC,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,WAC5B,CAAE,MAAOC,GAEP,YADAN,EAAIM,MAAM,+BAA+BJ,EAAeI,EAE1D,CACF,CCzBA,MAKaC,EAA6C,CACxDC,QAAQ,EACRC,cANAC,QAAQC,IAAIC,iBAAmBF,QAAQC,IAAIC,gBAAgBpC,OAAS,EAChEzB,EAAK8D,QAAQH,QAAQC,IAAIC,iBACzBF,QAAQI,OAODC,EAAuBC,EAAAA,kBAAkBC,WA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"}
|
package/dist/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
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};
|
|
1
|
+
import{Command as _}from"commander";import e from"fs";import n from"path";import{LoggedEnvironment as t,Logging as o,toENVFormat as a,LoggedClass as r,logParameterRegistry as s}from"@decaf-ts/logging";import{DefaultCommandValues as i,VERSION as c,BuildScripts as m,ReleaseChainCommand as l,ReleaseChainDispatchCommand as d}from"@decaf-ts/utils";import{Metadata as f}from"@decaf-ts/decoration";class h{static async loadFromFile(_){try{return h.normalizeImport(import(_))}catch(e){throw Error(`Failed to load from ${_}: ${e instanceof Error?e.message:e}`)}}static async normalizeImport(_){return _.then(_=>_.default||_)}static initialize(_,e){const n=h.packageName(e);_.name("decaf").description(`Runs ${n} related commands`).version(h.packageVersion(e))}static getPackage(_){try{return JSON.parse(e.readFileSync(n.join(_,"package.json"),"utf8"))}catch(e){throw Error(`Unable to read version from ${_}: ${e}`)}}static packageVersion(_){return h.getPackage(_).version}static packageName(_){const e=h.getPackage(_).name.split("/");return e[e.length-1]}}const u=["\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 "],g={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 p(_,t){_=_.for(p);const o=n.join(t,"workdocs","assets","slogans.json");try{if(!e.existsSync(o))return;const _=e.readFileSync(o);return JSON.parse(_.toString())}catch(e){return void _.error("Failed to read slogans from "+o,e)}}const S={banner:!0,cliModuleRoot:process.env.CLI_MODULE_TOOT&&process.env.CLI_MODULE_TOOT.length>0?n.resolve(process.env.CLI_MODULE_TOOT):process.cwd()},y=t.accumulate(S);function b(_){const e=[_];let n=_.parent;for(;n;)e.push(n),n=n.parent;return e.reverse().reduce((_,e)=>_.for(e.name),o.get())}function D(_,e){const n=_.opts();return e.reduce((_,e)=>{const t=n[e.name];return"boolean"===e.type?(!0===t||e.allowFalse&&!1===t)&&(_[e.name]=t):"string"===e.type&&"string"==typeof t&&t.length>0&&(_[e.name]=t),_},{})}async function T(_,e,n){const t=b(n),o=Object.assign({},i,e),a=_.run;if("function"!=typeof a)throw Error("Provided utils command does not expose a run method");t.debug(`Executing ${_.constructor.name} command via decaf CLI bridge`),!0!==o.version&&await a.call(_,o)}const w=[{name:"version",flag:"--version",type:"boolean"},{name:"dev",flag:"--dev",type:"boolean"},{name:"prod",flag:"--prod",type:"boolean"},{name:"buildMode",flag:"--buildMode",type:"string"},{name:"includes",flag:"--includes",type:"string"},{name:"externals",flag:"--externals",type:"string"},{name:"docs",flag:"--docs",type:"boolean"},{name:"commands",flag:"--commands",type:"boolean"},{name:"entry",flag:"--entry",type:"string"}],v=[{name:"verbose",flag:"--verbose",type:"boolean"},{name:"version",flag:"--version",type:"boolean"},{name:"logLevel",flag:"--logLevel",type:"string"},{name:"logStyle",flag:"--logStyle",type:"boolean",allowFalse:!0},{name:"timestamp",flag:"--timestamp",type:"boolean",allowFalse:!0},{name:"banner",flag:"--banner",type:"boolean",allowFalse:!0}],k=[...v,{name:"meta",flag:"--meta",type:"string"},{name:"branch",flag:"--branch",type:"string"},{name:"current",flag:"--current",type:"string"},{name:"package",flag:"--package",type:"string"},{name:"token",flag:"--token",type:"string"},{name:"submoduleFile",flag:"--submoduleFile",type:"string"},{name:"submodulePath",flag:"--submodulePath",type:"string"},{name:"targetBase",flag:"--targetBase",type:"string"}],P=[...v,{name:"meta",flag:"--meta",type:"string"},{name:"branch",flag:"--branch",type:"string"},{name:"current",flag:"--current",type:"string"},{name:"workflow",flag:"--workflow",type:"string"},{name:"repo",flag:"--repo",type:"string"},{name:"token",flag:"--token",type:"string"},{name:"ref",flag:"--ref",type:"string"},{name:"targetBase",flag:"--targetBase",type:"string"}],M=(new _).name("libraries").description("outputs the installed decaf-ts libraries and their versions").option("--format [String]","additional output formats (json, raw)").action(async _=>{const t=JSON.parse(e.readFileSync(n.join(process.cwd(),"package.json"),"utf-8")),o=t.version,a=b(M);a.debug(`running with options: ${JSON.stringify(_)} for ${t.name} version ${o}`);const{format:r}=_,s=f.libraries();switch(r){case"json":break;case"raw":Object.entries(s).forEach(([_,e])=>{});break;default:Object.entries(s).forEach(([_,e])=>a.info(`${_}: ${e}`))}}),j=(new _).name("environment-export").description("outputs currently enforced environment along with it's description").option("--format [String]","additional output formats (json, raw)").action(async _=>{const t=JSON.parse(e.readFileSync(n.join(process.cwd(),"package.json"),"utf-8")),o=t.version,r=b(j);r.debug(`running with options: ${JSON.stringify(_)} for ${t.name} version ${o}`);const{format:s}=_,i=$.getEnv(),c=(_,e,n="")=>{Object.entries(e).forEach(([e,t])=>{const o=a(e),r=n?`${n}__${o}`:o;t&&"object"==typeof t&&!Array.isArray(t)?c(_,t,r):_.push(`${r}=${t}`)})};switch(s){case"json":break;case"raw":c([],i);break;default:{const _=[];c(_,i),_.forEach(_=>r.info(_))}}}),F=[function(){return(new _).command("build").description("Run decaf build scripts").option("--version","Show build-scripts version").option("--dev","Run the development build pipeline").option("--prod","Run the production build pipeline").option("--build-mode <mode>","Select build mode (build|bundle|all)").option("--includes <list>","Comma separated bundle includes list").option("--externals <list>","Comma separated externals list").option("--docs","Generate documentation").option("--commands","Include CLI commands bundle").option("--entry <path>","Override entry file path").action(async function(){const _=D(this,w);await T(new m,_,this)})},function(){const e=(new _).command("release").description("Automate release chain propagation and workflow dispatches");return e.command("chain").alias("run").description("Run release chain locally").option("-V, --verbose","Enable verbose logging").option("--version","Show release-chain version").option("--branch <name>","Branch to update downstream repositories").option("--current <owner/repo>","Current repository slug to resume after in the chain").option("--package <name>","Override detected package name for dependency updates").option("--token <token>","GitHub token for cloning and pushing").option("--submodule-file <file>","Override submodule file name (default .gitsubmodule)").option("--submodule-path <path>","Use a local submodule file instead of downloading").option("--target-base <branch>","Base branch to open downstream pull requests against").action(async function(){const _=D(this,k);await T(new l,_,this)}),e.command("dispatch").description("Dispatch the GitHub Actions release-chain workflow with explicit inputs").option("-V, --verbose","Enable verbose logging").option("--version","Show release-chain version").option("--branch <name>","Branch to evaluate in downstream repositories").option("--current <owner/repo>","Repository slug that triggered the release chain").option("--workflow <file>","Workflow file name (default release-chain.yaml)").option("--repo <owner/repo>","Target repository slug where the workflow lives").option("--token <token>","GitHub token for dispatching workflows").option("--ref <ref>","Git ref to dispatch the workflow on").option("--target-base <branch>","Base branch to open downstream pull requests against").action(async function(){const _=D(this,P);await T(new d,_,this)}),e},()=>{const e=(new _).command("utils").description("utilitarian cli commands for the decaf-ts framework");return e.addCommand(M),e.addCommand(j),e}],x={key:"pId",render(_){if(!1!==_.config.logLevel)return process.pid.toString()},style:(_,e)=>e.applyTheme(_,"context")};try{o.register(x)}catch{try{s.register(x)}catch{}}o.setConfig({format:y.format.includes("{pId}")?y.format:"{pId}|"+y.format});class $ extends r{static{this.env=y}constructor(_=y.cliModuleRoot,e=4){super(),this.basePath=_,this.crawlLevels=e,this.modules={},this.includedModuleNames=new Set,this.moduleSlogans={},this.globalSlogans=[],this.rootPath=n.resolve(__dirname,"..")}get command(){return this._command||(this._command=new _,h.initialize(this._command,this.rootPath)),this._command}async load(_){const e=this.log.for(this.load);let t;try{let o=await h.loadFromFile(_);if(t=o.name,o instanceof Function&&(o=o()),o instanceof Promise&&(o=await o),!this.isCommandInstance(o))throw Error("You should export the instantiated Commands class as default.");const a=this.findModuleRoot(n.dirname(_));if("@decaf-ts/cli"===this.getPackageNameFromRoot(a)&&this.includedModuleNames.has(t))return void e.verbose(`skipping included module ${t} at ${_} (already loaded)`);this.registerModule(t,o,a,e)}catch(e){throw Error(`failed to load module under ${_}: ${e instanceof Error?e.message:e}`)}return t}registerModule(_,e,n,t){this.modules[_]=e;try{const e=p(t,n),o=this.extractSloganStrings(e);o.length&&(this.moduleSlogans[_]=o)}catch(_){}}async boot(){const _=this.log.for(this.boot);this.loadIncludedModules();const e=this.getHostPath(),n=new Set;await this.loadModulesFromPath(e,n,_);const t=this.getScopePackageRoots();for(const e of t)await this.loadModulesFromPath(e,n,_);_.debug("loaded modules:\n"+Object.keys(this.modules).map(_=>"- "+_).join("\n"))}loadIncludedModules(){const _=this.log.for(this.loadIncludedModules);for(const e of F)try{const n=e.name;if(!n||this.includedModuleNames.has(n))continue;const t=e();if(!this.isCommandInstance(t))continue;this.includedModuleNames.add(n),this.registerModule(n,t,this.rootPath,_),this.command.commands.some(_=>_.name()===n)||this.command.addCommand(t)}catch(_){}}async loadModulesFromPath(_,t,o){if(!e.existsSync(_))return;try{if(!e.statSync(_).isDirectory())return}catch{return}const a=this.crawl(_,this.crawlLevels);for(const _ of a){const e=n.resolve(_);if(t.has(e))continue;let a;t.add(e);try{a=await this.load(e)}catch(_){continue}if(a)if(this.command.commands.some(_=>_.name()===a))o.verbose(`Command ${a} already registered; skipping duplicate`);else try{this.command.addCommand(this.modules[a])}catch(_){}}}getScopePackageRoots(){const _=new Set,t=[this.rootPath],o=this.getHostPath();o!==this.rootPath&&t.push(o);for(const o of t){const t=n.join(o,"node_modules","@decaf-ts");try{if(!e.existsSync(t)||!e.statSync(t).isDirectory())continue;const o=e.readdirSync(t,{withFileTypes:!0});for(const e of o)e.isDirectory()&&_.add(n.join(t,e.name))}catch{}}return Array.from(_)}getHostPath(){return n.resolve(this.rootPath,this.basePath)}getPackageNameFromRoot(_){try{const t=n.join(_,"package.json");if(!e.existsSync(t))return;const o=JSON.parse(e.readFileSync(t,"utf8"));return"string"==typeof o.name?o.name:void 0}catch{return}}crawl(_,t=2){return 0>t?[]:e.readdirSync(_).reduce((o,a)=>(a=n.join(_,a),e.statSync(a).isDirectory()?t>0&&o.push(...this.crawl(a,t-1)):a.match(RegExp("cli-module\\.[cm]js$","gm"))&&o.push(a),o),[])}findModuleRoot(_){let t=_;const o=n.parse(_).root;for(;;){if(e.existsSync(n.join(t,"package.json")))return t;if(t===o)break;const _=n.dirname(t);if(_===t)break;t=_}return _}getSlogan(_){this.ensureGlobalSlogans();const e=_&&this.moduleSlogans[_]||[],n=this.otherSlogans(_);if(!e.length&&!n.length)return"Decaf: strongly brewed TypeScript.";if(!e.length)return n[Math.floor(Math.random()*n.length)];if(!n.length)return e[Math.floor(Math.random()*e.length)];const t=this.buildBalancedSloganPool(e,n);return t[Math.floor(Math.random()*t.length)]}otherSlogans(_){const e=Object.entries(this.moduleSlogans).filter(([e])=>e!==_).flatMap(([,_])=>_);return 0===this.globalSlogans.length&&0===e.length?[]:[...this.globalSlogans,...e]}buildBalancedSloganPool(_,e){const n=Math.max(_.length,e.length),t=this.repeatToLength(_,n),o=this.repeatToLength(e,n),a=[];for(let _=0;n>_;_++)a.push(t[_]),a.push(o[_]);return a}repeatToLength(_,e){return _.length&&e>0?Array.from({length:e},(e,n)=>_[n%_.length]):[]}ensureGlobalSlogans(){if(this.globalSlogans.length>0)return;const _=this.log.for(this.ensureGlobalSlogans),e=[],t=[this.rootPath],o=n.resolve(this.rootPath,this.basePath);o!==this.rootPath&&t.push(o);for(const n of t)this.collectSlogansFromPath(_,n,e),this.collectSlogansFromScope(_,n,e);this.globalSlogans=e}collectSlogansFromPath(_,e,n){try{const t=p(_,e);if(!t)return;for(const _ of t)_&&"string"==typeof _.Slogan&&_.Slogan.trim()&&n.push(_.Slogan.trim())}catch{}}collectSlogansFromScope(_,t,o){const a=n.join(t,"node_modules","@decaf-ts");try{if(!e.existsSync(a)||!e.statSync(a).isDirectory())return;const t=e.readdirSync(a);for(const r of t){const t=n.join(a,r);try{if(!e.existsSync(t)||!e.statSync(t).isDirectory())continue;this.collectSlogansFromPath(_,t,o)}catch{}}}catch{}}extractSloganStrings(_){return _&&_.length?_.map(_=>_&&_.Slogan?_.Slogan.trim():"").filter(_=>_.length>0):[]}isCommandInstance(e){if(e instanceof _)return!0;if(!e||"object"!=typeof e)return!1;const n=e;return"function"==typeof n.parseAsync&&"function"==typeof n.addCommand&&"function"==typeof n.name}printBanner(_){let e;try{const n=this.getPriorityModule(_);e=this.getSlogan(n)}catch{e="Decaf: strongly brewed TypeScript."}const n=u[Math.floor(Math.random()*u.length)],t=Object.keys(g),o=g[t[Math.floor(Math.random()*t.length)]],a=n.split("\n").filter(_=>_.length>0),r=a.reduce((_,e)=>Math.max(_,e.length),0),s=Math.max(0,e.length),i=Math.max(92,r,s),c=a.map(_=>_.padEnd(i));c.push(e.padStart(i));const m="\n".repeat(Math.max(0,c.length));process.stdout.write(m);const l=this.animateBanner(c,o);return this.bannerAnimation=l,l}getPriorityModule(_){if(!_||2>=_.length)return;const e=_.slice(2);for(const _ of e){if(!_||_.startsWith("-"))continue;const e=_.trim();if(e)return this.modules[e],e}}stopBannerAnimation(){this.bannerAnimation&&(this.bannerAnimation(),this.bannerAnimation=void 0)}animateBanner(_,e){if(!_.length)return()=>{};this.stopBannerAnimation();let n,t=0,o=!1;const a=Math.max(1,e.length),r=_.map((_,e)=>e%a),s=`\x1b[${_.length}A`,i=()=>{o||(o=!0,n&&(clearInterval(n),n=void 0))},c=()=>{const n=t%a,o=_.map((_,t)=>{const o=(r[t]+n)%a;return`${e[o]||""}${_}\x1b[0m`});process.stdout.write(s);for(const _ of o)process.stdout.write("\x1b[2K"),process.stdout.write(_+"\n");t++};return c(),n=setInterval(()=>{34>t?c():i()},150),i}async run(_=process.argv){await this.boot();const e=y.banner?this.printBanner(_):void 0;try{return await this.command.parseAsync(_)}finally{e&&e(),this.bannerAnimation=void 0}}static accumulateEnvironment(_){this.env=this.env.accumulate(_)}static getEnv(){return this.env}}export{$ as CliWrapper,y as DecafCLieEnvironment,S 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","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,GACzC,CAAE,MAAOG,GACP,MAAUC,MACR,uBAAuBJ,MAASG,aAAaC,MAAQD,EAAEE,QAAUF,IAErE,CACF,CAWA,4BAAaF,CAAmBK,GAE9B,OAAOA,EAAcC,KAClBC,GAAiBA,EAAqBC,SAAWD,EAEtD,CAUA,iBAAOE,CAAWC,EAAkBC,GAClC,MAAMC,EAAOf,EAASgB,YAAYF,GAClCD,EACGE,KAAK,SACLE,YAAY,QAAQF,sBACpBG,QAAQlB,EAASmB,eAAeL,GACrC,CAUQ,iBAAOM,CAAWN,GACxB,IACE,OAAOO,KAAKC,MACVC,EAAGC,aAAatB,EAAKuB,KAAKX,EAAU,gBAAiB,QAEzD,CAAE,MAAOT,GACP,MAAUC,MAAM,+BAA+BQ,MAAaT,IAC9D,CACF,CASA,qBAAOc,CAAeL,GACpB,OAAOd,EAASoB,WAAWN,GAAmB,OAChD,CASA,kBAAOE,CAAYF,GACjB,MAAMC,EAAQf,EAASoB,WAAWN,GAAgB,KAAaY,MAAM,KACrE,OAAOX,EAAKA,EAAKY,OAAS,EAC5B,ECxGK,MAAMC,EAAU,CAErB,8PAQA,yNAQA,muDASA,iJAOA,uJAOA,sFAMA,yfASA,gZAQA,qSASA,qwCAcA,iwCAWA,+6CAYA,gvCAWA,2oJAwBA,8tBAQA,0zBAWA,wiEAaA,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/XE,SAAUC,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,WAC5B,CAAE,MAAOC,GAEP,YADAN,EAAIM,MAAM,+BAA+BJ,EAAeI,EAE1D,CACF,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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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sources":["../src/utils.ts","../src/banners.ts","../src/slogans.ts","../src/environment.ts","../src/logging.ts","../src/utils/command-forwarder.ts","../src/build-module/cli-module.ts","../src/release-module/cli-module.ts","../src/utils-module/cli-module.ts","../src/CliWrapper.ts"],"sourcesContent":[null,null,null,null,null,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","getCmdLogger","cmd","inheritance","parent","push","reverse","reduce","accum","el","Logging","get","buildValueMap","specs","opts","acc","spec","value","type","allowFalse","async","runUtilsCommand","utilsCommand","values","invoker","payload","Object","assign","DefaultCommandValues","runMethod","debug","constructor","call","BUILD_OPTION_SPECS","flag","RELEASE_LOGGING_SPECS","RELEASE_CHAIN_SPECS","RELEASE_DISPATCH_SPECS","libraries","Command","option","action","options","pkg","stringify","format","libs","Metadata","entries","forEach","key","info","environmentExport","CliWrapper","getEnv","flatten","obj","prefix","envKey","toENVFormat","fullKey","Array","isArray","str","s","INCLUDED_MODULE_FACTORIES","this","BuildScripts","release","alias","ReleaseChainCommand","ReleaseChainDispatchCommand","utilsCmd","addCommand","pIdDescriptor","render","config","logLevel","pid","style","rendered","applyTheme","register","logParameterRegistry","setConfig","includes","LoggedClass","crawlLevels","super","modules","includedModuleNames","Set","moduleSlogans","globalSlogans","rootPath","__dirname","_command","load","filePath","module","Function","Promise","isCommandInstance","moduleRoot","findModuleRoot","dirname","getPackageNameFromRoot","has","verbose","registerModule","records","strings","extractSloganStrings","boot","loadIncludedModules","getHostPath","seen","loadModulesFromPath","scopePaths","getScopePackageRoots","scopePath","keys","map","k","factory","moduleName","add","commands","some","statSync","isDirectory","crawl","resolved","scopeRoots","candidates","hostPath","candidate","scopeDir","readdirSync","withFileTypes","entry","from","root","pkgPath","undefined","levels","file","match","RegExp","initialDir","current","getSlogan","priorityModule","ensureGlobalSlogans","priority","others","otherSlogans","Math","floor","random","pool","buildBalancedSloganPool","filter","flatMap","slogans","primary","secondary","targetLength","max","primaryBucket","repeatToLength","secondaryBucket","result","i","_","index","gathered","basePaths","collectSlogansFromPath","collectSlogansFromScope","accumulator","Slogan","trim","pkgs","parseAsync","printBanner","args","getPriorityModule","bannerTemplate","paletteKeys","palette","rawLines","line","maxLineWidth","messageWidth","targetWidth","padEnd","padStart","reservedLines","repeat","stdout","write","stop","animateBanner","bannerAnimation","slice","item","startsWith","trimmed","stopBannerAnimation","lines","timer","framesRendered","stopped","paletteLength","colorOffsets","moveUp","clearInterval","renderFrame","offset","colored","colorIndex","setInterval","run","argv","stopAnimation","accumulateEnvironment"],"mappings":"+YAmBaA,EAQX,yBAAaC,CAAaC,GACxB,IACE,OAAOF,EAASG,gBAAgBC,OAAOF,GACzC,CAAE,MAAOG,GACP,MAAUC,MACR,uBAAuBJ,MAASG,aAAaC,MAAQD,EAAEE,QAAUF,IAErE,CACF,CAWA,4BAAaF,CAAmBK,GAE9B,OAAOA,EAAcC,KAClBC,GAAiBA,EAAqBC,SAAWD,EAEtD,CAUA,iBAAOE,CAAWC,EAAkBC,GAClC,MAAMC,EAAOf,EAASgB,YAAYF,GAClCD,EACGE,KAAK,SACLE,YAAY,QAAQF,sBACpBG,QAAQlB,EAASmB,eAAeL,GACrC,CAUQ,iBAAOM,CAAWN,GACxB,IACE,OAAOO,KAAKC,MACVC,EAAGC,aAAatB,EAAKuB,KAAKX,EAAU,gBAAiB,QAEzD,CAAE,MAAOT,GACP,MAAUC,MAAM,+BAA+BQ,MAAaT,IAC9D,CACF,CASA,qBAAOc,CAAeL,GACpB,OAAOd,EAASoB,WAAWN,GAAmB,OAChD,CASA,kBAAOE,CAAYF,GACjB,MAAMC,EAAQf,EAASoB,WAAWN,GAAgB,KAAaY,MAAM,KACrE,OAAOX,EAAKA,EAAKY,OAAS,EAC5B,ECxGK,MAAMC,EAAU,CAErB,8PAQA,yNAQA,muDASA,iJAOA,uJAOA,sFAMA,yfASA,gZAQA,qSASA,qwCAcA,iwCAWA,+6CAYA,gvCAWA,2oJAwBA,8tBAQA,0zBAWA,wiEAaA,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/XE,SAAUC,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,WAC5B,CAAE,MAAOC,GAEP,YADAN,EAAIM,MAAM,+BAA+BJ,EAAeI,EAE1D,CACF,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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"}
|