diff-mindustry-bundles 1.0.1 → 1.0.2
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 +13 -10
- package/build/index.js +22 -19
- package/package.json +15 -4
- package/README.template.md +0 -29
package/README.md
CHANGED
|
@@ -25,21 +25,24 @@ bunx diff-mindustry-bundles bundle_de
|
|
|
25
25
|
|
|
26
26
|
Available options:
|
|
27
27
|
```bash
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
DESCRIPTION
|
|
30
29
|
A handy utility to view missing/extra/untranslated keys between bundles.
|
|
31
30
|
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
USAGE
|
|
32
|
+
diff-mindustry-bundles [options] <top-bundle> [base-bundle]
|
|
33
|
+
|
|
34
|
+
ARGUMENTS
|
|
35
|
+
<top-bundle> Bundle with your localization (no extension). For
|
|
34
36
|
example: 'bundle_ru'
|
|
35
|
-
base-bundle
|
|
37
|
+
[base-bundle] Bundle to compare with. (default: "bundle")
|
|
36
38
|
|
|
37
|
-
|
|
39
|
+
OPTIONS
|
|
38
40
|
-V, --version output the version number
|
|
39
|
-
--base-dir <dirpath> Path to the directory containing Mindustry
|
|
40
|
-
".")
|
|
41
|
+
--base-dir <dirpath> Path to the directory containing Mindustry
|
|
41
42
|
--bundles-dir <dirpath> Path to the directory containing bundles. Relative to
|
|
42
|
-
the base directory.
|
|
43
|
-
|
|
43
|
+
the base directory.
|
|
44
|
+
|
|
45
|
+
Version: 1.0.2
|
|
46
|
+
Repository: https://github.com/murolem/diff-mindustry-bundles
|
|
44
47
|
|
|
45
48
|
```
|
package/build/index.js
CHANGED
|
@@ -1,37 +1,40 @@
|
|
|
1
|
-
var l0=Object.create;var{getPrototypeOf:i0,defineProperty:b,getOwnPropertyNames:_1,getOwnPropertyDescriptor:p0}=Object,I1=Object.prototype.hasOwnProperty;function L1(q){return this[q]}var s0,r0,n0=(q,z,J)=>{var Q=q!=null&&typeof q==="object";if(Q){var X=z?s0??=new WeakMap:r0??=new WeakMap,Z=X.get(q);if(Z)return Z}J=q!=null?l0(i0(q)):{};let $=z||!q||!q.__esModule?b(J,"default",{value:q,enumerable:!0}):J;for(let U of _1(q))if(!I1.call($,U))b($,U,{get:L1.bind(q,U),enumerable:!0});if(Q)X.set(q,$);return $},n=(q)=>{var z=(R1??=new WeakMap).get(q),J;if(z)return z;if(z=b({},"__esModule",{value:!0}),q&&typeof q==="object"||typeof q==="function"){for(var Q of _1(q))if(!I1.call(z,Q))b(z,Q,{get:L1.bind(q,Q),enumerable:!(J=p0(q,Q))||J.enumerable})}return R1.set(q,z),z},R1,F=(q,z)=>()=>(z||q((z={exports:{}}).exports,z),z.exports);var o0=(q)=>q;function a0(q,z){this[q]=o0.bind(null,z)}var o=(q,z)=>{for(var J in z)b(q,J,{get:z[J],enumerable:!0,configurable:!0,set:a0.bind(z,J)})};var a=(q,z)=>()=>(q&&(z=q(q=0)),z);var S1=((q)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(q,{get:(z,J)=>(typeof require<"u"?require:z)[J]}):q)(function(q){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+q+'" is not supported')});var y=F((t0)=>{class t extends Error{constructor(q,z,J){super(J);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=z,this.exitCode=q,this.nestedError=void 0}}class P1 extends t{constructor(q){super(1,"commander.invalidArgument",q);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}t0.CommanderError=t;t0.InvalidArgumentError=P1});var g=F((Q4)=>{var{InvalidArgumentError:z4}=y();class D1{constructor(q,z){switch(this.description=z||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,q[0]){case"<":this.required=!0,this._name=q.slice(1,-1);break;case"[":this.required=!1,this._name=q.slice(1,-1);break;default:this.required=!0,this._name=q;break}if(this._name.endsWith("..."))this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_collectValue(q,z){if(z===this.defaultValue||!Array.isArray(z))return[q];return z.push(q),z}default(q,z){return this.defaultValue=q,this.defaultValueDescription=z,this}argParser(q){return this.parseArg=q,this}choices(q){return this.argChoices=q.slice(),this.parseArg=(z,J)=>{if(!this.argChoices.includes(z))throw new z4(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(z,J);return z},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function J4(q){let z=q.name()+(q.variadic===!0?"...":"");return q.required?"<"+z+">":"["+z+"]"}Q4.Argument=D1;Q4.humanReadableArgName=J4});var c1={};o(c1,{setMaxListeners:()=>b1,once:()=>O1,listenerCount:()=>y1,init:()=>N,getMaxListeners:()=>h1,getEventListeners:()=>x1,default:()=>T4,captureRejectionSymbol:()=>A1,addAbortListener:()=>u1,EventEmitter:()=>N});function C1(q,z){var{_events:J}=q;if(z[0]??=Error("Unhandled error."),!J)throw z[0];var Q=J[f1];if(Q)for(var X of N1.call(Q))X.apply(q,z);var Z=J.error;if(!Z)throw z[0];for(var X of N1.call(Z))X.apply(q,z);return!0}function H4(q,z,J,Q){z.then(void 0,function(X){queueMicrotask(()=>Y4(q,X,J,Q))})}function Y4(q,z,J,Q){if(typeof q[F1]==="function")q[F1](z,J,...Q);else try{q[f]=!1,q.emit("error",z)}finally{q[f]=!0}}function E1(q,z,J){J.warned=!0;let Q=Error(`Possible EventEmitter memory leak detected. ${J.length} ${String(z)} listeners added to [${q.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);Q.name="MaxListenersExceededWarning",Q.emitter=q,Q.type=z,Q.count=J.length,console.warn(Q)}function k1(q,z,...J){this.removeListener(q,z),z.apply(this,J)}function O1(q,z,J){var Q=J?.signal;if(v1(Q,"options.signal"),Q?.aborted)throw new e(void 0,{cause:Q?.reason});let{resolve:X,reject:Z,promise:$}=$newPromiseCapability(Promise),U=(H)=>{if(q.removeListener(z,G),Q!=null)d(Q,"abort",Y);Z(H)},G=(...H)=>{if(typeof q.removeListener==="function")q.removeListener("error",U);if(Q!=null)d(Q,"abort",Y);X(H)};if(w1(q,z,G,{once:!0}),z!=="error"&&typeof q.once==="function")q.once("error",U);function Y(){d(q,z,G),d(q,"error",U),Z(new e(void 0,{cause:Q?.reason}))}if(Q!=null)w1(Q,"abort",Y,{once:!0});return $}function x1(q,z){return q.listeners(z)}function b1(q,...z){z1(q,"setMaxListeners",0);var J;if(z&&(J=z.length))for(let Q=0;Q<J;Q++)z[Q].setMaxListeners(q);else A=q}function y1(q,z){return q.listenerCount(z)}function d(q,z,J,Q){if(typeof q.removeListener==="function")q.removeListener(z,J);else q.removeEventListener(z,J,Q)}function w1(q,z,J,Q){if(typeof q.on==="function")if(Q.once)q.once(z,J);else q.on(z,J);else q.addEventListener(z,J,Q)}function E(q,z,J){let Q=TypeError(`The "${q}" argument must be of type ${z}. Received ${J}`);return Q.code="ERR_INVALID_ARG_TYPE",Q}function B4(q,z,J){let Q=RangeError(`The "${q}" argument is out of range. It must be ${z}. Received ${J}`);return Q.code="ERR_OUT_OF_RANGE",Q}function v1(q,z){if(q!==void 0&&(q===null||typeof q!=="object"||!("aborted"in q)))throw E(z,"AbortSignal",q)}function z1(q,z,J,Q){if(typeof q!=="number")throw E(z,"number",q);if(J!=null&&q<J||Q!=null&&q>Q||(J!=null||Q!=null)&&Number.isNaN(q))throw B4(z,`${J!=null?`>= ${J}`:""}${J!=null&&Q!=null?" && ":""}${Q!=null?`<= ${Q}`:""}`,q)}function v(q){if(typeof q!=="function")throw TypeError("The listener must be a function")}function W4(q,z){if(typeof q!=="boolean")throw E(z,"boolean",q)}function h1(q){return q?._maxListeners??A}function u1(q,z){if(q===void 0)throw E("signal","AbortSignal",q);if(v1(q,"signal"),typeof z!=="function")throw E("listener","function",z);let J;if(q.aborted)queueMicrotask(()=>z());else q.addEventListener("abort",z,{__proto__:null,once:!0}),J=()=>{q.removeEventListener("abort",z)};return{__proto__:null,[Symbol.dispose](){J?.()}}}var q1,f,f1,$4,U4,F1,A1,N1,A=10,N=function(q){if(this._events===void 0||this._events===this.__proto__._events)this._events={__proto__:null},this._eventsCount=0;if(this._maxListeners??=void 0,this[f]=q?.captureRejections?Boolean(q?.captureRejections):W[f])this.emit=K4},W,G4=function(q,...z){if(q==="error")return C1(this,z);var{_events:J}=this;if(J===void 0)return!1;var Q=J[q];if(Q===void 0)return!1;let X=Q.length>1?Q.slice():Q;for(let Z=0,{length:$}=X;Z<$;Z++){let U=X[Z];switch(z.length){case 0:U.call(this);break;case 1:U.call(this,z[0]);break;case 2:U.call(this,z[0],z[1]);break;case 3:U.call(this,z[0],z[1],z[2]);break;default:U.apply(this,z);break}}return!0},K4=function(q,...z){if(q==="error")return C1(this,z);var{_events:J}=this;if(J===void 0)return!1;var Q=J[q];if(Q===void 0)return!1;let X=Q.length>1?Q.slice():Q;for(let Z=0,{length:$}=X;Z<$;Z++){let U=X[Z],G;switch(z.length){case 0:G=U.call(this);break;case 1:G=U.call(this,z[0]);break;case 2:G=U.call(this,z[0],z[1]);break;case 3:G=U.call(this,z[0],z[1],z[2]);break;default:G=U.apply(this,z);break}if(G!==void 0&&typeof G?.then==="function"&&G.then===Promise.prototype.then)H4(this,G,q,z)}return!0},e,T4;var g1=a(()=>{q1=Symbol.for,f=Symbol("kCapture"),f1=q1("events.errorMonitor"),$4=Symbol("events.maxEventTargetListeners"),U4=Symbol("events.maxEventTargetListenersWarned"),F1=q1("nodejs.rejection"),A1=q1("nodejs.rejection"),N1=Array.prototype.slice,W=N.prototype={};W._events=void 0;W._eventsCount=0;W._maxListeners=void 0;W.setMaxListeners=function(q){return z1(q,"setMaxListeners",0),this._maxListeners=q,this};W.constructor=N;W.getMaxListeners=function(){return this?._maxListeners??A};W.emit=G4;W.addListener=function(q,z){v(z);var J=this._events;if(!J)J=this._events={__proto__:null},this._eventsCount=0;else if(J.newListener)this.emit("newListener",q,z.listener??z);var Q=J[q];if(!Q)J[q]=[z],this._eventsCount++;else{Q.push(z);var X=this._maxListeners??A;if(X>0&&Q.length>X&&!Q.warned)E1(this,q,Q)}return this};W.on=W.addListener;W.prependListener=function(q,z){v(z);var J=this._events;if(!J)J=this._events={__proto__:null},this._eventsCount=0;else if(J.newListener)this.emit("newListener",q,z.listener??z);var Q=J[q];if(!Q)J[q]=[z],this._eventsCount++;else{Q.unshift(z);var X=this._maxListeners??A;if(X>0&&Q.length>X&&!Q.warned)E1(this,q,Q)}return this};W.once=function(q,z){v(z);let J=k1.bind(this,q,z);return J.listener=z,this.addListener(q,J),this};W.prependOnceListener=function(q,z){v(z);let J=k1.bind(this,q,z);return J.listener=z,this.prependListener(q,J),this};W.removeListener=function(q,z){v(z);var{_events:J}=this;if(!J)return this;var Q=J[q];if(!Q)return this;var X=Q.length;let Z=-1;for(let $=X-1;$>=0;$--)if(Q[$]===z||Q[$].listener===z){Z=$;break}if(Z<0)return this;if(Z===0)Q.shift();else Q.splice(Z,1);if(Q.length===0)delete J[q],this._eventsCount--;return this};W.off=W.removeListener;W.removeAllListeners=function(q){var{_events:z}=this;if(q&&z){if(z[q])delete z[q],this._eventsCount--}else this._events={__proto__:null};return this};W.listeners=function(q){var{_events:z}=this;if(!z)return[];var J=z[q];if(!J)return[];return J.map((Q)=>Q.listener??Q)};W.rawListeners=function(q){var{_events:z}=this;if(!z)return[];var J=z[q];if(!J)return[];return J.slice()};W.listenerCount=function(q){var{_events:z}=this;if(!z)return 0;return z[q]?.length??0};W.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};W[f]=!1;e=class e extends Error{constructor(q="The operation was aborted",z=void 0){if(z!==void 0&&typeof z!=="object")throw E("options","Object",z);super(q,z);this.code="ABORT_ERR",this.name="AbortError"}};Object.defineProperties(N,{captureRejections:{get(){return W[f]},set(q){W4(q,"EventEmitter.captureRejections"),W[f]=q},enumerable:!0},defaultMaxListeners:{enumerable:!0,get:()=>{return A},set:(q)=>{z1(q,"defaultMaxListeners",0),A=q}},kMaxEventTargetListeners:{value:$4,enumerable:!1,configurable:!1,writable:!1},kMaxEventTargetListenersWarned:{value:U4,enumerable:!1,configurable:!1,writable:!1}});Object.assign(N,{once:O1,getEventListeners:x1,getMaxListeners:h1,setMaxListeners:b1,EventEmitter:N,usingDomains:!1,captureRejectionSymbol:A1,errorMonitor:f1,addAbortListener:u1,init:N,listenerCount:y1});T4=N});var z0={};o(z0,{sep:()=>t1,resolve:()=>m,relative:()=>i1,posix:()=>q0,parse:()=>a1,normalize:()=>J1,join:()=>l1,isAbsolute:()=>m1,format:()=>o1,extname:()=>n1,dirname:()=>s1,delimiter:()=>e1,default:()=>w,basename:()=>r1,_makeLong:()=>p1});function L(q){if(typeof q!=="string")throw TypeError("Path must be a string. Received "+JSON.stringify(q))}function d1(q,z){var J="",Q=0,X=-1,Z=0,$;for(var U=0;U<=q.length;++U){if(U<q.length)$=q.charCodeAt(U);else if($===47)break;else $=47;if($===47){if(X===U-1||Z===1);else if(X!==U-1&&Z===2){if(J.length<2||Q!==2||J.charCodeAt(J.length-1)!==46||J.charCodeAt(J.length-2)!==46){if(J.length>2){var G=J.lastIndexOf("/");if(G!==J.length-1){if(G===-1)J="",Q=0;else J=J.slice(0,G),Q=J.length-1-J.lastIndexOf("/");X=U,Z=0;continue}}else if(J.length===2||J.length===1){J="",Q=0,X=U,Z=0;continue}}if(z){if(J.length>0)J+="/..";else J="..";Q=2}}else{if(J.length>0)J+="/"+q.slice(X+1,U);else J=q.slice(X+1,U);Q=U-X-1}X=U,Z=0}else if($===46&&Z!==-1)++Z;else Z=-1}return J}function M4(q,z){var J=z.dir||z.root,Q=z.base||(z.name||"")+(z.ext||"");if(!J)return Q;if(J===z.root)return J+Q;return J+q+Q}function m(){var q="",z=!1,J;for(var Q=arguments.length-1;Q>=-1&&!z;Q--){var X;if(Q>=0)X=arguments[Q];else{if(J===void 0)J=process.cwd();X=J}if(L(X),X.length===0)continue;q=X+"/"+q,z=X.charCodeAt(0)===47}if(q=d1(q,!z),z)if(q.length>0)return"/"+q;else return"/";else if(q.length>0)return q;else return"."}function J1(q){if(L(q),q.length===0)return".";var z=q.charCodeAt(0)===47,J=q.charCodeAt(q.length-1)===47;if(q=d1(q,!z),q.length===0&&!z)q=".";if(q.length>0&&J)q+="/";if(z)return"/"+q;return q}function m1(q){return L(q),q.length>0&&q.charCodeAt(0)===47}function l1(){if(arguments.length===0)return".";var q;for(var z=0;z<arguments.length;++z){var J=arguments[z];if(L(J),J.length>0)if(q===void 0)q=J;else q+="/"+J}if(q===void 0)return".";return J1(q)}function i1(q,z){if(L(q),L(z),q===z)return"";if(q=m(q),z=m(z),q===z)return"";var J=1;for(;J<q.length;++J)if(q.charCodeAt(J)!==47)break;var Q=q.length,X=Q-J,Z=1;for(;Z<z.length;++Z)if(z.charCodeAt(Z)!==47)break;var $=z.length,U=$-Z,G=X<U?X:U,Y=-1,H=0;for(;H<=G;++H){if(H===G){if(U>G){if(z.charCodeAt(Z+H)===47)return z.slice(Z+H+1);else if(H===0)return z.slice(Z+H)}else if(X>G){if(q.charCodeAt(J+H)===47)Y=H;else if(H===0)Y=0}break}var K=q.charCodeAt(J+H),R=z.charCodeAt(Z+H);if(K!==R)break;else if(K===47)Y=H}var M="";for(H=J+Y+1;H<=Q;++H)if(H===Q||q.charCodeAt(H)===47)if(M.length===0)M+="..";else M+="/..";if(M.length>0)return M+z.slice(Z+Y);else{if(Z+=Y,z.charCodeAt(Z)===47)++Z;return z.slice(Z)}}function p1(q){return q}function s1(q){if(L(q),q.length===0)return".";var z=q.charCodeAt(0),J=z===47,Q=-1,X=!0;for(var Z=q.length-1;Z>=1;--Z)if(z=q.charCodeAt(Z),z===47){if(!X){Q=Z;break}}else X=!1;if(Q===-1)return J?"/":".";if(J&&Q===1)return"//";return q.slice(0,Q)}function r1(q,z){if(z!==void 0&&typeof z!=="string")throw TypeError('"ext" argument must be a string');L(q);var J=0,Q=-1,X=!0,Z;if(z!==void 0&&z.length>0&&z.length<=q.length){if(z.length===q.length&&z===q)return"";var $=z.length-1,U=-1;for(Z=q.length-1;Z>=0;--Z){var G=q.charCodeAt(Z);if(G===47){if(!X){J=Z+1;break}}else{if(U===-1)X=!1,U=Z+1;if($>=0)if(G===z.charCodeAt($)){if(--$===-1)Q=Z}else $=-1,Q=U}}if(J===Q)Q=U;else if(Q===-1)Q=q.length;return q.slice(J,Q)}else{for(Z=q.length-1;Z>=0;--Z)if(q.charCodeAt(Z)===47){if(!X){J=Z+1;break}}else if(Q===-1)X=!1,Q=Z+1;if(Q===-1)return"";return q.slice(J,Q)}}function n1(q){L(q);var z=-1,J=0,Q=-1,X=!0,Z=0;for(var $=q.length-1;$>=0;--$){var U=q.charCodeAt($);if(U===47){if(!X){J=$+1;break}continue}if(Q===-1)X=!1,Q=$+1;if(U===46){if(z===-1)z=$;else if(Z!==1)Z=1}else if(z!==-1)Z=-1}if(z===-1||Q===-1||Z===0||Z===1&&z===Q-1&&z===J+1)return"";return q.slice(z,Q)}function o1(q){if(q===null||typeof q!=="object")throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof q);return M4("/",q)}function a1(q){L(q);var z={root:"",dir:"",base:"",ext:"",name:""};if(q.length===0)return z;var J=q.charCodeAt(0),Q=J===47,X;if(Q)z.root="/",X=1;else X=0;var Z=-1,$=0,U=-1,G=!0,Y=q.length-1,H=0;for(;Y>=X;--Y){if(J=q.charCodeAt(Y),J===47){if(!G){$=Y+1;break}continue}if(U===-1)G=!1,U=Y+1;if(J===46){if(Z===-1)Z=Y;else if(H!==1)H=1}else if(Z!==-1)H=-1}if(Z===-1||U===-1||H===0||H===1&&Z===U-1&&Z===$+1){if(U!==-1)if($===0&&Q)z.base=z.name=q.slice(1,U);else z.base=z.name=q.slice($,U)}else{if($===0&&Q)z.name=q.slice(1,Z),z.base=q.slice(1,U);else z.name=q.slice($,Z),z.base=q.slice($,U);z.ext=q.slice(Z,U)}if($>0)z.dir=q.slice(0,$-1);else if(Q)z.dir="/";return z}var t1="/",e1=":",q0,w;var Q1=a(()=>{q0=((q)=>(q.posix=q,q))({resolve:m,normalize:J1,isAbsolute:m1,join:l1,relative:i1,_makeLong:p1,dirname:s1,basename:r1,extname:n1,format:o1,parse:a1,sep:t1,delimiter:e1,win32:null,posix:null}),w=q0});var Q0={};o(Q0,{versions:()=>P4,version:()=>S4,umask:()=>v4,title:()=>R4,removeListener:()=>f4,removeAllListeners:()=>A4,prependOnceListener:()=>k4,prependListener:()=>E4,once:()=>N4,on:()=>D4,off:()=>w4,nextTick:()=>V4,listeners:()=>O4,env:()=>I4,emit:()=>C4,cwd:()=>b4,chdir:()=>y4,browser:()=>_4,binding:()=>x4,argv:()=>L4,addListener:()=>F4});function j4(){if(!k||!C)return;if(k=!1,C.length)S=C.concat(S);else l=-1;if(S.length)J0()}function J0(){if(k)return;var q=setTimeout(j4,0);k=!0;var z=S.length;while(z){C=S,S=[];while(++l<z)if(C){var J=C[l];J.fun.apply(null,J.array)}l=-1,z=S.length}C=null,k=!1,clearTimeout(q,0)}function V4(q){var z=Array(arguments.length-1);if(arguments.length>1)for(var J=1;J<arguments.length;J++)z[J-1]=arguments[J];if(S.push({fun:q,args:z}),S.length===1&&!k)setTimeout(J0,0)}function P(){}var S,k=!1,C,l=-1,R4="browser",_4=!0,I4,L4,S4="",P4,D4,F4,N4,w4,f4,A4,C4,E4,k4,O4=function(q){return[]},x4=function(q){throw Error("process.binding is not supported in browser polyfill")},b4=function(){return"/"},y4=function(q){throw Error("process.chdir is not supported in browser polyfill")},v4=function(){return 0};var X0=a(()=>{S=[];I4={},L4=[],P4={};D4=P,F4=P,N4=P,w4=P,f4=P,A4=P,C4=P,E4=P,k4=P});var X1=F((u4)=>{var{humanReadableArgName:h4}=g();class Z0{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(q){this.helpWidth=this.helpWidth??q.helpWidth??80}visibleCommands(q){let z=q.commands.filter((Q)=>!Q._hidden),J=q._getHelpCommand();if(J&&!J._hidden)z.push(J);if(this.sortSubcommands)z.sort((Q,X)=>{return Q.name().localeCompare(X.name())});return z}compareOptions(q,z){let J=(Q)=>{return Q.short?Q.short.replace(/^-/,""):Q.long.replace(/^--/,"")};return J(q).localeCompare(J(z))}visibleOptions(q){let z=q.options.filter((Q)=>!Q.hidden),J=q._getHelpOption();if(J&&!J.hidden){let Q=J.short&&q._findOption(J.short),X=J.long&&q._findOption(J.long);if(!Q&&!X)z.push(J);else if(J.long&&!X)z.push(q.createOption(J.long,J.description));else if(J.short&&!Q)z.push(q.createOption(J.short,J.description))}if(this.sortOptions)z.sort(this.compareOptions);return z}visibleGlobalOptions(q){if(!this.showGlobalOptions)return[];let z=[];for(let J=q.parent;J;J=J.parent){let Q=J.options.filter((X)=>!X.hidden);z.push(...Q)}if(this.sortOptions)z.sort(this.compareOptions);return z}visibleArguments(q){if(q._argsDescription)q.registeredArguments.forEach((z)=>{z.description=z.description||q._argsDescription[z.name()]||""});if(q.registeredArguments.find((z)=>z.description))return q.registeredArguments;return[]}subcommandTerm(q){let z=q.registeredArguments.map((J)=>h4(J)).join(" ");return q._name+(q._aliases[0]?"|"+q._aliases[0]:"")+(q.options.length?" [options]":"")+(z?" "+z:"")}optionTerm(q){return q.flags}argumentTerm(q){return q.name()}longestSubcommandTermLength(q,z){return z.visibleCommands(q).reduce((J,Q)=>{return Math.max(J,this.displayWidth(z.styleSubcommandTerm(z.subcommandTerm(Q))))},0)}longestOptionTermLength(q,z){return z.visibleOptions(q).reduce((J,Q)=>{return Math.max(J,this.displayWidth(z.styleOptionTerm(z.optionTerm(Q))))},0)}longestGlobalOptionTermLength(q,z){return z.visibleGlobalOptions(q).reduce((J,Q)=>{return Math.max(J,this.displayWidth(z.styleOptionTerm(z.optionTerm(Q))))},0)}longestArgumentTermLength(q,z){return z.visibleArguments(q).reduce((J,Q)=>{return Math.max(J,this.displayWidth(z.styleArgumentTerm(z.argumentTerm(Q))))},0)}commandUsage(q){let z=q._name;if(q._aliases[0])z=z+"|"+q._aliases[0];let J="";for(let Q=q.parent;Q;Q=Q.parent)J=Q.name()+" "+J;return J+z+" "+q.usage()}commandDescription(q){return q.description()}subcommandDescription(q){return q.summary()||q.description()}optionDescription(q){let z=[];if(q.argChoices)z.push(`choices: ${q.argChoices.map((J)=>JSON.stringify(J)).join(", ")}`);if(q.defaultValue!==void 0){if(q.required||q.optional||q.isBoolean()&&typeof q.defaultValue==="boolean")z.push(`default: ${q.defaultValueDescription||JSON.stringify(q.defaultValue)}`)}if(q.presetArg!==void 0&&q.optional)z.push(`preset: ${JSON.stringify(q.presetArg)}`);if(q.envVar!==void 0)z.push(`env: ${q.envVar}`);if(z.length>0){let J=`(${z.join(", ")})`;if(q.description)return`${q.description} ${J}`;return J}return q.description}argumentDescription(q){let z=[];if(q.argChoices)z.push(`choices: ${q.argChoices.map((J)=>JSON.stringify(J)).join(", ")}`);if(q.defaultValue!==void 0)z.push(`default: ${q.defaultValueDescription||JSON.stringify(q.defaultValue)}`);if(z.length>0){let J=`(${z.join(", ")})`;if(q.description)return`${q.description} ${J}`;return J}return q.description}formatItemList(q,z,J){if(z.length===0)return[];return[J.styleTitle(q),...z,""]}groupItems(q,z,J){let Q=new Map;return q.forEach((X)=>{let Z=J(X);if(!Q.has(Z))Q.set(Z,[])}),z.forEach((X)=>{let Z=J(X);if(!Q.has(Z))Q.set(Z,[]);Q.get(Z).push(X)}),Q}formatHelp(q,z){let J=z.padWidth(q,z),Q=z.helpWidth??80;function X(H,K){return z.formatItem(H,J,K,z)}let Z=[`${z.styleTitle("Usage:")} ${z.styleUsage(z.commandUsage(q))}`,""],$=z.commandDescription(q);if($.length>0)Z=Z.concat([z.boxWrap(z.styleCommandDescription($),Q),""]);let U=z.visibleArguments(q).map((H)=>{return X(z.styleArgumentTerm(z.argumentTerm(H)),z.styleArgumentDescription(z.argumentDescription(H)))});if(Z=Z.concat(this.formatItemList("Arguments:",U,z)),this.groupItems(q.options,z.visibleOptions(q),(H)=>H.helpGroupHeading??"Options:").forEach((H,K)=>{let R=H.map((M)=>{return X(z.styleOptionTerm(z.optionTerm(M)),z.styleOptionDescription(z.optionDescription(M)))});Z=Z.concat(this.formatItemList(K,R,z))}),z.showGlobalOptions){let H=z.visibleGlobalOptions(q).map((K)=>{return X(z.styleOptionTerm(z.optionTerm(K)),z.styleOptionDescription(z.optionDescription(K)))});Z=Z.concat(this.formatItemList("Global Options:",H,z))}return this.groupItems(q.commands,z.visibleCommands(q),(H)=>H.helpGroup()||"Commands:").forEach((H,K)=>{let R=H.map((M)=>{return X(z.styleSubcommandTerm(z.subcommandTerm(M)),z.styleSubcommandDescription(z.subcommandDescription(M)))});Z=Z.concat(this.formatItemList(K,R,z))}),Z.join(`
|
|
2
|
-
`)}displayWidth(q){return
|
|
1
|
+
var l0=Object.create;var{getPrototypeOf:i0,defineProperty:y,getOwnPropertyNames:S1,getOwnPropertyDescriptor:p0}=Object,P1=Object.prototype.hasOwnProperty;function D1(q){return this[q]}var s0,n0,r0=(q,z,J)=>{var Q=q!=null&&typeof q==="object";if(Q){var X=z?s0??=new WeakMap:n0??=new WeakMap,Z=X.get(q);if(Z)return Z}J=q!=null?l0(i0(q)):{};let $=z||!q||!q.__esModule?y(J,"default",{value:q,enumerable:!0}):J;for(let U of S1(q))if(!P1.call($,U))y($,U,{get:D1.bind(q,U),enumerable:!0});if(Q)X.set(q,$);return $},o=(q)=>{var z=(I1??=new WeakMap).get(q),J;if(z)return z;if(z=y({},"__esModule",{value:!0}),q&&typeof q==="object"||typeof q==="function"){for(var Q of S1(q))if(!P1.call(z,Q))y(z,Q,{get:D1.bind(q,Q),enumerable:!(J=p0(q,Q))||J.enumerable})}return I1.set(q,z),z},I1,F=(q,z)=>()=>(z||q((z={exports:{}}).exports,z),z.exports);var o0=(q)=>q;function a0(q,z){this[q]=o0.bind(null,z)}var a=(q,z)=>{for(var J in z)y(q,J,{get:z[J],enumerable:!0,configurable:!0,set:a0.bind(z,J)})};var t=(q,z)=>()=>(q&&(z=q(q=0)),z);var L1=((q)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(q,{get:(z,J)=>(typeof require<"u"?require:z)[J]}):q)(function(q){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+q+'" is not supported')});var v=F((t0)=>{class e extends Error{constructor(q,z,J){super(J);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=z,this.exitCode=q,this.nestedError=void 0}}class F1 extends e{constructor(q){super(1,"commander.invalidArgument",q);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}t0.CommanderError=e;t0.InvalidArgumentError=F1});var d=F((Q4)=>{var{InvalidArgumentError:z4}=v();class N1{constructor(q,z){switch(this.description=z||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,q[0]){case"<":this.required=!0,this._name=q.slice(1,-1);break;case"[":this.required=!1,this._name=q.slice(1,-1);break;default:this.required=!0,this._name=q;break}if(this._name.endsWith("..."))this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_collectValue(q,z){if(z===this.defaultValue||!Array.isArray(z))return[q];return z.push(q),z}default(q,z){return this.defaultValue=q,this.defaultValueDescription=z,this}argParser(q){return this.parseArg=q,this}choices(q){return this.argChoices=q.slice(),this.parseArg=(z,J)=>{if(!this.argChoices.includes(z))throw new z4(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(z,J);return z},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function J4(q){let z=q.name()+(q.variadic===!0?"...":"");return q.required?"<"+z+">":"["+z+"]"}Q4.Argument=N1;Q4.humanReadableArgName=J4});var d1={};a(d1,{setMaxListeners:()=>v1,once:()=>b1,listenerCount:()=>h1,init:()=>N,getMaxListeners:()=>c1,getEventListeners:()=>y1,default:()=>T4,captureRejectionSymbol:()=>E1,addAbortListener:()=>g1,EventEmitter:()=>N});function O1(q,z){var{_events:J}=q;if(z[0]??=Error("Unhandled error."),!J)throw z[0];var Q=J[C1];if(Q)for(var X of f1.call(Q))X.apply(q,z);var Z=J.error;if(!Z)throw z[0];for(var X of f1.call(Z))X.apply(q,z);return!0}function H4(q,z,J,Q){z.then(void 0,function(X){queueMicrotask(()=>Y4(q,X,J,Q))})}function Y4(q,z,J,Q){if(typeof q[w1]==="function")q[w1](z,J,...Q);else try{q[f]=!1,q.emit("error",z)}finally{q[f]=!0}}function k1(q,z,J){J.warned=!0;let Q=Error(`Possible EventEmitter memory leak detected. ${J.length} ${String(z)} listeners added to [${q.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);Q.name="MaxListenersExceededWarning",Q.emitter=q,Q.type=z,Q.count=J.length,console.warn(Q)}function x1(q,z,...J){this.removeListener(q,z),z.apply(this,J)}function b1(q,z,J){var Q=J?.signal;if(u1(Q,"options.signal"),Q?.aborted)throw new q1(void 0,{cause:Q?.reason});let{resolve:X,reject:Z,promise:$}=$newPromiseCapability(Promise),U=(H)=>{if(q.removeListener(z,G),Q!=null)m(Q,"abort",Y);Z(H)},G=(...H)=>{if(typeof q.removeListener==="function")q.removeListener("error",U);if(Q!=null)m(Q,"abort",Y);X(H)};if(A1(q,z,G,{once:!0}),z!=="error"&&typeof q.once==="function")q.once("error",U);function Y(){m(q,z,G),m(q,"error",U),Z(new q1(void 0,{cause:Q?.reason}))}if(Q!=null)A1(Q,"abort",Y,{once:!0});return $}function y1(q,z){return q.listeners(z)}function v1(q,...z){J1(q,"setMaxListeners",0);var J;if(z&&(J=z.length))for(let Q=0;Q<J;Q++)z[Q].setMaxListeners(q);else A=q}function h1(q,z){return q.listenerCount(z)}function m(q,z,J,Q){if(typeof q.removeListener==="function")q.removeListener(z,J);else q.removeEventListener(z,J,Q)}function A1(q,z,J,Q){if(typeof q.on==="function")if(Q.once)q.once(z,J);else q.on(z,J);else q.addEventListener(z,J,Q)}function O(q,z,J){let Q=TypeError(`The "${q}" argument must be of type ${z}. Received ${J}`);return Q.code="ERR_INVALID_ARG_TYPE",Q}function B4(q,z,J){let Q=RangeError(`The "${q}" argument is out of range. It must be ${z}. Received ${J}`);return Q.code="ERR_OUT_OF_RANGE",Q}function u1(q,z){if(q!==void 0&&(q===null||typeof q!=="object"||!("aborted"in q)))throw O(z,"AbortSignal",q)}function J1(q,z,J,Q){if(typeof q!=="number")throw O(z,"number",q);if(J!=null&&q<J||Q!=null&&q>Q||(J!=null||Q!=null)&&Number.isNaN(q))throw B4(z,`${J!=null?`>= ${J}`:""}${J!=null&&Q!=null?" && ":""}${Q!=null?`<= ${Q}`:""}`,q)}function h(q){if(typeof q!=="function")throw TypeError("The listener must be a function")}function W4(q,z){if(typeof q!=="boolean")throw O(z,"boolean",q)}function c1(q){return q?._maxListeners??A}function g1(q,z){if(q===void 0)throw O("signal","AbortSignal",q);if(u1(q,"signal"),typeof z!=="function")throw O("listener","function",z);let J;if(q.aborted)queueMicrotask(()=>z());else q.addEventListener("abort",z,{__proto__:null,once:!0}),J=()=>{q.removeEventListener("abort",z)};return{__proto__:null,[Symbol.dispose](){J?.()}}}var z1,f,C1,$4,U4,w1,E1,f1,A=10,N=function(q){if(this._events===void 0||this._events===this.__proto__._events)this._events={__proto__:null},this._eventsCount=0;if(this._maxListeners??=void 0,this[f]=q?.captureRejections?Boolean(q?.captureRejections):W[f])this.emit=K4},W,G4=function(q,...z){if(q==="error")return O1(this,z);var{_events:J}=this;if(J===void 0)return!1;var Q=J[q];if(Q===void 0)return!1;let X=Q.length>1?Q.slice():Q;for(let Z=0,{length:$}=X;Z<$;Z++){let U=X[Z];switch(z.length){case 0:U.call(this);break;case 1:U.call(this,z[0]);break;case 2:U.call(this,z[0],z[1]);break;case 3:U.call(this,z[0],z[1],z[2]);break;default:U.apply(this,z);break}}return!0},K4=function(q,...z){if(q==="error")return O1(this,z);var{_events:J}=this;if(J===void 0)return!1;var Q=J[q];if(Q===void 0)return!1;let X=Q.length>1?Q.slice():Q;for(let Z=0,{length:$}=X;Z<$;Z++){let U=X[Z],G;switch(z.length){case 0:G=U.call(this);break;case 1:G=U.call(this,z[0]);break;case 2:G=U.call(this,z[0],z[1]);break;case 3:G=U.call(this,z[0],z[1],z[2]);break;default:G=U.apply(this,z);break}if(G!==void 0&&typeof G?.then==="function"&&G.then===Promise.prototype.then)H4(this,G,q,z)}return!0},q1,T4;var m1=t(()=>{z1=Symbol.for,f=Symbol("kCapture"),C1=z1("events.errorMonitor"),$4=Symbol("events.maxEventTargetListeners"),U4=Symbol("events.maxEventTargetListenersWarned"),w1=z1("nodejs.rejection"),E1=z1("nodejs.rejection"),f1=Array.prototype.slice,W=N.prototype={};W._events=void 0;W._eventsCount=0;W._maxListeners=void 0;W.setMaxListeners=function(q){return J1(q,"setMaxListeners",0),this._maxListeners=q,this};W.constructor=N;W.getMaxListeners=function(){return this?._maxListeners??A};W.emit=G4;W.addListener=function(q,z){h(z);var J=this._events;if(!J)J=this._events={__proto__:null},this._eventsCount=0;else if(J.newListener)this.emit("newListener",q,z.listener??z);var Q=J[q];if(!Q)J[q]=[z],this._eventsCount++;else{Q.push(z);var X=this._maxListeners??A;if(X>0&&Q.length>X&&!Q.warned)k1(this,q,Q)}return this};W.on=W.addListener;W.prependListener=function(q,z){h(z);var J=this._events;if(!J)J=this._events={__proto__:null},this._eventsCount=0;else if(J.newListener)this.emit("newListener",q,z.listener??z);var Q=J[q];if(!Q)J[q]=[z],this._eventsCount++;else{Q.unshift(z);var X=this._maxListeners??A;if(X>0&&Q.length>X&&!Q.warned)k1(this,q,Q)}return this};W.once=function(q,z){h(z);let J=x1.bind(this,q,z);return J.listener=z,this.addListener(q,J),this};W.prependOnceListener=function(q,z){h(z);let J=x1.bind(this,q,z);return J.listener=z,this.prependListener(q,J),this};W.removeListener=function(q,z){h(z);var{_events:J}=this;if(!J)return this;var Q=J[q];if(!Q)return this;var X=Q.length;let Z=-1;for(let $=X-1;$>=0;$--)if(Q[$]===z||Q[$].listener===z){Z=$;break}if(Z<0)return this;if(Z===0)Q.shift();else Q.splice(Z,1);if(Q.length===0)delete J[q],this._eventsCount--;return this};W.off=W.removeListener;W.removeAllListeners=function(q){var{_events:z}=this;if(q&&z){if(z[q])delete z[q],this._eventsCount--}else this._events={__proto__:null};return this};W.listeners=function(q){var{_events:z}=this;if(!z)return[];var J=z[q];if(!J)return[];return J.map((Q)=>Q.listener??Q)};W.rawListeners=function(q){var{_events:z}=this;if(!z)return[];var J=z[q];if(!J)return[];return J.slice()};W.listenerCount=function(q){var{_events:z}=this;if(!z)return 0;return z[q]?.length??0};W.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};W[f]=!1;q1=class q1 extends Error{constructor(q="The operation was aborted",z=void 0){if(z!==void 0&&typeof z!=="object")throw O("options","Object",z);super(q,z);this.code="ABORT_ERR",this.name="AbortError"}};Object.defineProperties(N,{captureRejections:{get(){return W[f]},set(q){W4(q,"EventEmitter.captureRejections"),W[f]=q},enumerable:!0},defaultMaxListeners:{enumerable:!0,get:()=>{return A},set:(q)=>{J1(q,"defaultMaxListeners",0),A=q}},kMaxEventTargetListeners:{value:$4,enumerable:!1,configurable:!1,writable:!1},kMaxEventTargetListenersWarned:{value:U4,enumerable:!1,configurable:!1,writable:!1}});Object.assign(N,{once:b1,getEventListeners:y1,getMaxListeners:c1,setMaxListeners:v1,EventEmitter:N,usingDomains:!1,captureRejectionSymbol:E1,errorMonitor:C1,addAbortListener:g1,init:N,listenerCount:h1});T4=N});var Q0={};a(Q0,{sep:()=>q0,resolve:()=>l,relative:()=>s1,posix:()=>J0,parse:()=>e1,normalize:()=>Q1,join:()=>p1,isAbsolute:()=>i1,format:()=>t1,extname:()=>a1,dirname:()=>r1,delimiter:()=>z0,default:()=>w,basename:()=>o1,_makeLong:()=>n1});function S(q){if(typeof q!=="string")throw TypeError("Path must be a string. Received "+JSON.stringify(q))}function l1(q,z){var J="",Q=0,X=-1,Z=0,$;for(var U=0;U<=q.length;++U){if(U<q.length)$=q.charCodeAt(U);else if($===47)break;else $=47;if($===47){if(X===U-1||Z===1);else if(X!==U-1&&Z===2){if(J.length<2||Q!==2||J.charCodeAt(J.length-1)!==46||J.charCodeAt(J.length-2)!==46){if(J.length>2){var G=J.lastIndexOf("/");if(G!==J.length-1){if(G===-1)J="",Q=0;else J=J.slice(0,G),Q=J.length-1-J.lastIndexOf("/");X=U,Z=0;continue}}else if(J.length===2||J.length===1){J="",Q=0,X=U,Z=0;continue}}if(z){if(J.length>0)J+="/..";else J="..";Q=2}}else{if(J.length>0)J+="/"+q.slice(X+1,U);else J=q.slice(X+1,U);Q=U-X-1}X=U,Z=0}else if($===46&&Z!==-1)++Z;else Z=-1}return J}function M4(q,z){var J=z.dir||z.root,Q=z.base||(z.name||"")+(z.ext||"");if(!J)return Q;if(J===z.root)return J+Q;return J+q+Q}function l(){var q="",z=!1,J;for(var Q=arguments.length-1;Q>=-1&&!z;Q--){var X;if(Q>=0)X=arguments[Q];else{if(J===void 0)J=process.cwd();X=J}if(S(X),X.length===0)continue;q=X+"/"+q,z=X.charCodeAt(0)===47}if(q=l1(q,!z),z)if(q.length>0)return"/"+q;else return"/";else if(q.length>0)return q;else return"."}function Q1(q){if(S(q),q.length===0)return".";var z=q.charCodeAt(0)===47,J=q.charCodeAt(q.length-1)===47;if(q=l1(q,!z),q.length===0&&!z)q=".";if(q.length>0&&J)q+="/";if(z)return"/"+q;return q}function i1(q){return S(q),q.length>0&&q.charCodeAt(0)===47}function p1(){if(arguments.length===0)return".";var q;for(var z=0;z<arguments.length;++z){var J=arguments[z];if(S(J),J.length>0)if(q===void 0)q=J;else q+="/"+J}if(q===void 0)return".";return Q1(q)}function s1(q,z){if(S(q),S(z),q===z)return"";if(q=l(q),z=l(z),q===z)return"";var J=1;for(;J<q.length;++J)if(q.charCodeAt(J)!==47)break;var Q=q.length,X=Q-J,Z=1;for(;Z<z.length;++Z)if(z.charCodeAt(Z)!==47)break;var $=z.length,U=$-Z,G=X<U?X:U,Y=-1,H=0;for(;H<=G;++H){if(H===G){if(U>G){if(z.charCodeAt(Z+H)===47)return z.slice(Z+H+1);else if(H===0)return z.slice(Z+H)}else if(X>G){if(q.charCodeAt(J+H)===47)Y=H;else if(H===0)Y=0}break}var K=q.charCodeAt(J+H),R=z.charCodeAt(Z+H);if(K!==R)break;else if(K===47)Y=H}var M="";for(H=J+Y+1;H<=Q;++H)if(H===Q||q.charCodeAt(H)===47)if(M.length===0)M+="..";else M+="/..";if(M.length>0)return M+z.slice(Z+Y);else{if(Z+=Y,z.charCodeAt(Z)===47)++Z;return z.slice(Z)}}function n1(q){return q}function r1(q){if(S(q),q.length===0)return".";var z=q.charCodeAt(0),J=z===47,Q=-1,X=!0;for(var Z=q.length-1;Z>=1;--Z)if(z=q.charCodeAt(Z),z===47){if(!X){Q=Z;break}}else X=!1;if(Q===-1)return J?"/":".";if(J&&Q===1)return"//";return q.slice(0,Q)}function o1(q,z){if(z!==void 0&&typeof z!=="string")throw TypeError('"ext" argument must be a string');S(q);var J=0,Q=-1,X=!0,Z;if(z!==void 0&&z.length>0&&z.length<=q.length){if(z.length===q.length&&z===q)return"";var $=z.length-1,U=-1;for(Z=q.length-1;Z>=0;--Z){var G=q.charCodeAt(Z);if(G===47){if(!X){J=Z+1;break}}else{if(U===-1)X=!1,U=Z+1;if($>=0)if(G===z.charCodeAt($)){if(--$===-1)Q=Z}else $=-1,Q=U}}if(J===Q)Q=U;else if(Q===-1)Q=q.length;return q.slice(J,Q)}else{for(Z=q.length-1;Z>=0;--Z)if(q.charCodeAt(Z)===47){if(!X){J=Z+1;break}}else if(Q===-1)X=!1,Q=Z+1;if(Q===-1)return"";return q.slice(J,Q)}}function a1(q){S(q);var z=-1,J=0,Q=-1,X=!0,Z=0;for(var $=q.length-1;$>=0;--$){var U=q.charCodeAt($);if(U===47){if(!X){J=$+1;break}continue}if(Q===-1)X=!1,Q=$+1;if(U===46){if(z===-1)z=$;else if(Z!==1)Z=1}else if(z!==-1)Z=-1}if(z===-1||Q===-1||Z===0||Z===1&&z===Q-1&&z===J+1)return"";return q.slice(z,Q)}function t1(q){if(q===null||typeof q!=="object")throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof q);return M4("/",q)}function e1(q){S(q);var z={root:"",dir:"",base:"",ext:"",name:""};if(q.length===0)return z;var J=q.charCodeAt(0),Q=J===47,X;if(Q)z.root="/",X=1;else X=0;var Z=-1,$=0,U=-1,G=!0,Y=q.length-1,H=0;for(;Y>=X;--Y){if(J=q.charCodeAt(Y),J===47){if(!G){$=Y+1;break}continue}if(U===-1)G=!1,U=Y+1;if(J===46){if(Z===-1)Z=Y;else if(H!==1)H=1}else if(Z!==-1)H=-1}if(Z===-1||U===-1||H===0||H===1&&Z===U-1&&Z===$+1){if(U!==-1)if($===0&&Q)z.base=z.name=q.slice(1,U);else z.base=z.name=q.slice($,U)}else{if($===0&&Q)z.name=q.slice(1,Z),z.base=q.slice(1,U);else z.name=q.slice($,Z),z.base=q.slice($,U);z.ext=q.slice(Z,U)}if($>0)z.dir=q.slice(0,$-1);else if(Q)z.dir="/";return z}var q0="/",z0=":",J0,w;var X1=t(()=>{J0=((q)=>(q.posix=q,q))({resolve:l,normalize:Q1,isAbsolute:i1,join:p1,relative:s1,_makeLong:n1,dirname:r1,basename:o1,extname:a1,format:t1,parse:e1,sep:q0,delimiter:z0,win32:null,posix:null}),w=J0});var Z0={};a(Z0,{versions:()=>D4,version:()=>P4,umask:()=>v4,title:()=>R4,removeListener:()=>f4,removeAllListeners:()=>A4,prependOnceListener:()=>O4,prependListener:()=>E4,once:()=>N4,on:()=>L4,off:()=>w4,nextTick:()=>V4,listeners:()=>k4,env:()=>I4,emit:()=>C4,cwd:()=>b4,chdir:()=>y4,browser:()=>_4,binding:()=>x4,argv:()=>S4,addListener:()=>F4});function j4(){if(!k||!C)return;if(k=!1,C.length)P=C.concat(P);else i=-1;if(P.length)X0()}function X0(){if(k)return;var q=setTimeout(j4,0);k=!0;var z=P.length;while(z){C=P,P=[];while(++i<z)if(C){var J=C[i];J.fun.apply(null,J.array)}i=-1,z=P.length}C=null,k=!1,clearTimeout(q,0)}function V4(q){var z=Array(arguments.length-1);if(arguments.length>1)for(var J=1;J<arguments.length;J++)z[J-1]=arguments[J];if(P.push({fun:q,args:z}),P.length===1&&!k)setTimeout(X0,0)}function D(){}var P,k=!1,C,i=-1,R4="browser",_4=!0,I4,S4,P4="",D4,L4,F4,N4,w4,f4,A4,C4,E4,O4,k4=function(q){return[]},x4=function(q){throw Error("process.binding is not supported in browser polyfill")},b4=function(){return"/"},y4=function(q){throw Error("process.chdir is not supported in browser polyfill")},v4=function(){return 0};var $0=t(()=>{P=[];I4={},S4=[],D4={};L4=D,F4=D,N4=D,w4=D,f4=D,A4=D,C4=D,E4=D,O4=D});var Z1=F((u4)=>{var{humanReadableArgName:h4}=d();class U0{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(q){this.helpWidth=this.helpWidth??q.helpWidth??80}visibleCommands(q){let z=q.commands.filter((Q)=>!Q._hidden),J=q._getHelpCommand();if(J&&!J._hidden)z.push(J);if(this.sortSubcommands)z.sort((Q,X)=>{return Q.name().localeCompare(X.name())});return z}compareOptions(q,z){let J=(Q)=>{return Q.short?Q.short.replace(/^-/,""):Q.long.replace(/^--/,"")};return J(q).localeCompare(J(z))}visibleOptions(q){let z=q.options.filter((Q)=>!Q.hidden),J=q._getHelpOption();if(J&&!J.hidden){let Q=J.short&&q._findOption(J.short),X=J.long&&q._findOption(J.long);if(!Q&&!X)z.push(J);else if(J.long&&!X)z.push(q.createOption(J.long,J.description));else if(J.short&&!Q)z.push(q.createOption(J.short,J.description))}if(this.sortOptions)z.sort(this.compareOptions);return z}visibleGlobalOptions(q){if(!this.showGlobalOptions)return[];let z=[];for(let J=q.parent;J;J=J.parent){let Q=J.options.filter((X)=>!X.hidden);z.push(...Q)}if(this.sortOptions)z.sort(this.compareOptions);return z}visibleArguments(q){if(q._argsDescription)q.registeredArguments.forEach((z)=>{z.description=z.description||q._argsDescription[z.name()]||""});if(q.registeredArguments.find((z)=>z.description))return q.registeredArguments;return[]}subcommandTerm(q){let z=q.registeredArguments.map((J)=>h4(J)).join(" ");return q._name+(q._aliases[0]?"|"+q._aliases[0]:"")+(q.options.length?" [options]":"")+(z?" "+z:"")}optionTerm(q){return q.flags}argumentTerm(q){return q.name()}longestSubcommandTermLength(q,z){return z.visibleCommands(q).reduce((J,Q)=>{return Math.max(J,this.displayWidth(z.styleSubcommandTerm(z.subcommandTerm(Q))))},0)}longestOptionTermLength(q,z){return z.visibleOptions(q).reduce((J,Q)=>{return Math.max(J,this.displayWidth(z.styleOptionTerm(z.optionTerm(Q))))},0)}longestGlobalOptionTermLength(q,z){return z.visibleGlobalOptions(q).reduce((J,Q)=>{return Math.max(J,this.displayWidth(z.styleOptionTerm(z.optionTerm(Q))))},0)}longestArgumentTermLength(q,z){return z.visibleArguments(q).reduce((J,Q)=>{return Math.max(J,this.displayWidth(z.styleArgumentTerm(z.argumentTerm(Q))))},0)}commandUsage(q){let z=q._name;if(q._aliases[0])z=z+"|"+q._aliases[0];let J="";for(let Q=q.parent;Q;Q=Q.parent)J=Q.name()+" "+J;return J+z+" "+q.usage()}commandDescription(q){return q.description()}subcommandDescription(q){return q.summary()||q.description()}optionDescription(q){let z=[];if(q.argChoices)z.push(`choices: ${q.argChoices.map((J)=>JSON.stringify(J)).join(", ")}`);if(q.defaultValue!==void 0){if(q.required||q.optional||q.isBoolean()&&typeof q.defaultValue==="boolean")z.push(`default: ${q.defaultValueDescription||JSON.stringify(q.defaultValue)}`)}if(q.presetArg!==void 0&&q.optional)z.push(`preset: ${JSON.stringify(q.presetArg)}`);if(q.envVar!==void 0)z.push(`env: ${q.envVar}`);if(z.length>0){let J=`(${z.join(", ")})`;if(q.description)return`${q.description} ${J}`;return J}return q.description}argumentDescription(q){let z=[];if(q.argChoices)z.push(`choices: ${q.argChoices.map((J)=>JSON.stringify(J)).join(", ")}`);if(q.defaultValue!==void 0)z.push(`default: ${q.defaultValueDescription||JSON.stringify(q.defaultValue)}`);if(z.length>0){let J=`(${z.join(", ")})`;if(q.description)return`${q.description} ${J}`;return J}return q.description}formatItemList(q,z,J){if(z.length===0)return[];return[J.styleTitle(q),...z,""]}groupItems(q,z,J){let Q=new Map;return q.forEach((X)=>{let Z=J(X);if(!Q.has(Z))Q.set(Z,[])}),z.forEach((X)=>{let Z=J(X);if(!Q.has(Z))Q.set(Z,[]);Q.get(Z).push(X)}),Q}formatHelp(q,z){let J=z.padWidth(q,z),Q=z.helpWidth??80;function X(H,K){return z.formatItem(H,J,K,z)}let Z=[`${z.styleTitle("Usage:")} ${z.styleUsage(z.commandUsage(q))}`,""],$=z.commandDescription(q);if($.length>0)Z=Z.concat([z.boxWrap(z.styleCommandDescription($),Q),""]);let U=z.visibleArguments(q).map((H)=>{return X(z.styleArgumentTerm(z.argumentTerm(H)),z.styleArgumentDescription(z.argumentDescription(H)))});if(Z=Z.concat(this.formatItemList("Arguments:",U,z)),this.groupItems(q.options,z.visibleOptions(q),(H)=>H.helpGroupHeading??"Options:").forEach((H,K)=>{let R=H.map((M)=>{return X(z.styleOptionTerm(z.optionTerm(M)),z.styleOptionDescription(z.optionDescription(M)))});Z=Z.concat(this.formatItemList(K,R,z))}),z.showGlobalOptions){let H=z.visibleGlobalOptions(q).map((K)=>{return X(z.styleOptionTerm(z.optionTerm(K)),z.styleOptionDescription(z.optionDescription(K)))});Z=Z.concat(this.formatItemList("Global Options:",H,z))}return this.groupItems(q.commands,z.visibleCommands(q),(H)=>H.helpGroup()||"Commands:").forEach((H,K)=>{let R=H.map((M)=>{return X(z.styleSubcommandTerm(z.subcommandTerm(M)),z.styleSubcommandDescription(z.subcommandDescription(M)))});Z=Z.concat(this.formatItemList(K,R,z))}),Z.join(`
|
|
2
|
+
`)}displayWidth(q){return H0(q).length}styleTitle(q){return q}styleUsage(q){return q.split(" ").map((z)=>{if(z==="[options]")return this.styleOptionText(z);if(z==="[command]")return this.styleSubcommandText(z);if(z[0]==="["||z[0]==="<")return this.styleArgumentText(z);return this.styleCommandText(z)}).join(" ")}styleCommandDescription(q){return this.styleDescriptionText(q)}styleOptionDescription(q){return this.styleDescriptionText(q)}styleSubcommandDescription(q){return this.styleDescriptionText(q)}styleArgumentDescription(q){return this.styleDescriptionText(q)}styleDescriptionText(q){return q}styleOptionTerm(q){return this.styleOptionText(q)}styleSubcommandTerm(q){return q.split(" ").map((z)=>{if(z==="[options]")return this.styleOptionText(z);if(z[0]==="["||z[0]==="<")return this.styleArgumentText(z);return this.styleSubcommandText(z)}).join(" ")}styleArgumentTerm(q){return this.styleArgumentText(q)}styleOptionText(q){return q}styleArgumentText(q){return q}styleSubcommandText(q){return q}styleCommandText(q){return q}padWidth(q,z){return Math.max(z.longestOptionTermLength(q,z),z.longestGlobalOptionTermLength(q,z),z.longestSubcommandTermLength(q,z),z.longestArgumentTermLength(q,z))}preformatted(q){return/\n[^\S\r\n]/.test(q)}formatItem(q,z,J,Q){let Z=" ".repeat(2);if(!J)return Z+q;let $=q.padEnd(z+q.length-Q.displayWidth(q)),U=2,Y=(this.helpWidth??80)-z-U-2,H;if(Y<this.minWidthToWrap||Q.preformatted(J))H=J;else H=Q.boxWrap(J,Y).replace(/\n/g,`
|
|
3
3
|
`+" ".repeat(z+U));return Z+$+" ".repeat(U)+H.replace(/\n/g,`
|
|
4
4
|
${Z}`)}boxWrap(q,z){if(z<this.minWidthToWrap)return q;let J=q.split(/\r\n|\n/),Q=/[\s]*[^\s]+/g,X=[];return J.forEach((Z)=>{let $=Z.match(Q);if($===null){X.push("");return}let U=[$.shift()],G=this.displayWidth(U[0]);$.forEach((Y)=>{let H=this.displayWidth(Y);if(G+H<=z){U.push(Y),G+=H;return}X.push(U.join(""));let K=Y.trimStart();U=[K],G=this.displayWidth(K)}),X.push(U.join(""))}),X.join(`
|
|
5
|
-
`)}}function
|
|
5
|
+
`)}}function H0(q){let z=/\x1b\[\d*(;\d*)*m/g;return q.replace(z,"")}u4.Help=U0;u4.stripColor=H0});var $1=F((l4)=>{var{InvalidArgumentError:d4}=v();class G0{constructor(q,z){this.flags=q,this.description=z||"",this.required=q.includes("<"),this.optional=q.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(q),this.mandatory=!1;let J=m4(q);if(this.short=J.shortFlag,this.long=J.longFlag,this.negate=!1,this.long)this.negate=this.long.startsWith("--no-");this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default(q,z){return this.defaultValue=q,this.defaultValueDescription=z,this}preset(q){return this.presetArg=q,this}conflicts(q){return this.conflictsWith=this.conflictsWith.concat(q),this}implies(q){let z=q;if(typeof q==="string")z={[q]:!0};return this.implied=Object.assign(this.implied||{},z),this}env(q){return this.envVar=q,this}argParser(q){return this.parseArg=q,this}makeOptionMandatory(q=!0){return this.mandatory=!!q,this}hideHelp(q=!0){return this.hidden=!!q,this}_collectValue(q,z){if(z===this.defaultValue||!Array.isArray(z))return[q];return z.push(q),z}choices(q){return this.argChoices=q.slice(),this.parseArg=(z,J)=>{if(!this.argChoices.includes(z))throw new d4(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(z,J);return z},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return Y0(this.name().replace(/^no-/,""));return Y0(this.name())}helpGroup(q){return this.helpGroupHeading=q,this}is(q){return this.short===q||this.long===q}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class K0{constructor(q){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,q.forEach((z)=>{if(z.negate)this.negativeOptions.set(z.attributeName(),z);else this.positiveOptions.set(z.attributeName(),z)}),this.negativeOptions.forEach((z,J)=>{if(this.positiveOptions.has(J))this.dualOptions.add(J)})}valueFromOption(q,z){let J=z.attributeName();if(!this.dualOptions.has(J))return!0;let Q=this.negativeOptions.get(J).presetArg,X=Q!==void 0?Q:!1;return z.negate===(X===q)}}function Y0(q){return q.split("-").reduce((z,J)=>{return z+J[0].toUpperCase()+J.slice(1)})}function m4(q){let z,J,Q=/^-[^-]$/,X=/^--[^-]/,Z=q.split(/[ |,]+/).concat("guard");if(Q.test(Z[0]))z=Z.shift();if(X.test(Z[0]))J=Z.shift();if(!z&&Q.test(Z[0]))z=Z.shift();if(!z&&X.test(Z[0]))z=J,J=Z.shift();if(Z[0].startsWith("-")){let $=Z[0],U=`option creation failed due to '${$}' in option flags '${q}'`;if(/^-[^-][^-]/.test($))throw Error(`${U}
|
|
6
6
|
- a short flag is a single dash and a single character
|
|
7
7
|
- either use a single dash and a single character (for a short flag)
|
|
8
8
|
- or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(Q.test($))throw Error(`${U}
|
|
9
9
|
- too many short flags`);if(X.test($))throw Error(`${U}
|
|
10
10
|
- too many long flags`);throw Error(`${U}
|
|
11
|
-
- unrecognised flag format`)}if(z===void 0&&J===void 0)throw Error(`option creation failed due to no flags found in '${q}'.`);return{shortFlag:z,longFlag:J}}l4.Option=
|
|
11
|
+
- unrecognised flag format`)}if(z===void 0&&J===void 0)throw Error(`option creation failed due to no flags found in '${q}'.`);return{shortFlag:z,longFlag:J}}l4.Option=G0;l4.DualOptions=K0});var B0=F((r4)=>{function s4(q,z){if(Math.abs(q.length-z.length)>3)return Math.max(q.length,z.length);let J=[];for(let Q=0;Q<=q.length;Q++)J[Q]=[Q];for(let Q=0;Q<=z.length;Q++)J[0][Q]=Q;for(let Q=1;Q<=z.length;Q++)for(let X=1;X<=q.length;X++){let Z=1;if(q[X-1]===z[Q-1])Z=0;else Z=1;if(J[X][Q]=Math.min(J[X-1][Q]+1,J[X][Q-1]+1,J[X-1][Q-1]+Z),X>1&&Q>1&&q[X-1]===z[Q-2]&&q[X-2]===z[Q-1])J[X][Q]=Math.min(J[X][Q],J[X-2][Q-2]+1)}return J[q.length][z.length]}function n4(q,z){if(!z||z.length===0)return"";z=Array.from(new Set(z));let J=q.startsWith("--");if(J)q=q.slice(2),z=z.map(($)=>$.slice(2));let Q=[],X=3,Z=0.4;if(z.forEach(($)=>{if($.length<=1)return;let U=s4(q,$),G=Math.max(q.length,$.length);if((G-U)/G>Z){if(U<X)X=U,Q=[$];else if(U===X)Q.push($)}}),Q.sort(($,U)=>$.localeCompare(U)),J)Q=Q.map(($)=>`--${$}`);if(Q.length>1)return`
|
|
12
12
|
(Did you mean one of ${Q.join(", ")}?)`;if(Q.length===1)return`
|
|
13
|
-
(Did you mean ${Q[0]}?)`;return""}
|
|
13
|
+
(Did you mean ${Q[0]}?)`;return""}r4.suggestSimilar=n4});var j0=F((Q7)=>{var a4=(m1(),o(d1)).EventEmitter,U1=(()=>({})),L=(X1(),o(Q0)),p=(()=>({})),B=($0(),o(Z0)),{Argument:t4,humanReadableArgName:e4}=d(),{CommanderError:H1}=v(),{Help:q7,stripColor:z7}=Z1(),{Option:W0,DualOptions:J7}=$1(),{suggestSimilar:T0}=B0();class G1 extends a4{constructor(q){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=q||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:(z)=>B.stdout.write(z),writeErr:(z)=>B.stderr.write(z),outputError:(z,J)=>J(z),getOutHelpWidth:()=>B.stdout.isTTY?B.stdout.columns:void 0,getErrHelpWidth:()=>B.stderr.isTTY?B.stderr.columns:void 0,getOutHasColors:()=>Y1()??(B.stdout.isTTY&&B.stdout.hasColors?.()),getErrHasColors:()=>Y1()??(B.stderr.isTTY&&B.stderr.hasColors?.()),stripColor:(z)=>z7(z)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={},this._helpGroupHeading=void 0,this._defaultCommandGroup=void 0,this._defaultOptionGroup=void 0}copyInheritedSettings(q){return this._outputConfiguration=q._outputConfiguration,this._helpOption=q._helpOption,this._helpCommand=q._helpCommand,this._helpConfiguration=q._helpConfiguration,this._exitCallback=q._exitCallback,this._storeOptionsAsProperties=q._storeOptionsAsProperties,this._combineFlagAndOptionalValue=q._combineFlagAndOptionalValue,this._allowExcessArguments=q._allowExcessArguments,this._enablePositionalOptions=q._enablePositionalOptions,this._showHelpAfterError=q._showHelpAfterError,this._showSuggestionAfterError=q._showSuggestionAfterError,this}_getCommandAndAncestors(){let q=[];for(let z=this;z;z=z.parent)q.push(z);return q}command(q,z,J){let Q=z,X=J;if(typeof Q==="object"&&Q!==null)X=Q,Q=null;X=X||{};let[,Z,$]=q.match(/([^ ]+) *(.*)/),U=this.createCommand(Z);if(Q)U.description(Q),U._executableHandler=!0;if(X.isDefault)this._defaultCommandName=U._name;if(U._hidden=!!(X.noHelp||X.hidden),U._executableFile=X.executableFile||null,$)U.arguments($);if(this._registerCommand(U),U.parent=this,U.copyInheritedSettings(this),Q)return this;return U}createCommand(q){return new G1(q)}createHelp(){return Object.assign(new q7,this.configureHelp())}configureHelp(q){if(q===void 0)return this._helpConfiguration;return this._helpConfiguration=q,this}configureOutput(q){if(q===void 0)return this._outputConfiguration;return this._outputConfiguration={...this._outputConfiguration,...q},this}showHelpAfterError(q=!0){if(typeof q!=="string")q=!!q;return this._showHelpAfterError=q,this}showSuggestionAfterError(q=!0){return this._showSuggestionAfterError=!!q,this}addCommand(q,z){if(!q._name)throw Error(`Command passed to .addCommand() must have a name
|
|
14
14
|
- specify the name in Command constructor or using .name()`);if(z=z||{},z.isDefault)this._defaultCommandName=q._name;if(z.noHelp||z.hidden)q._hidden=!0;return this._registerCommand(q),q.parent=this,q._checkForBrokenPassThrough(),this}createArgument(q,z){return new t4(q,z)}argument(q,z,J,Q){let X=this.createArgument(q,z);if(typeof J==="function")X.default(Q).argParser(J);else X.default(J);return this.addArgument(X),this}arguments(q){return q.trim().split(/ +/).forEach((z)=>{this.argument(z)}),this}addArgument(q){let z=this.registeredArguments.slice(-1)[0];if(z?.variadic)throw Error(`only the last argument can be variadic '${z.name()}'`);if(q.required&&q.defaultValue!==void 0&&q.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${q.name()}'`);return this.registeredArguments.push(q),this}helpCommand(q,z){if(typeof q==="boolean"){if(this._addImplicitHelpCommand=q,q&&this._defaultCommandGroup)this._initCommandGroup(this._getHelpCommand());return this}let J=q??"help [command]",[,Q,X]=J.match(/([^ ]+) *(.*)/),Z=z??"display help for command",$=this.createCommand(Q);if($.helpOption(!1),X)$.arguments(X);if(Z)$.description(Z);if(this._addImplicitHelpCommand=!0,this._helpCommand=$,q||z)this._initCommandGroup($);return this}addHelpCommand(q,z){if(typeof q!=="object")return this.helpCommand(q,z),this;return this._addImplicitHelpCommand=!0,this._helpCommand=q,this._initCommandGroup(q),this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook(q,z){let J=["preSubcommand","preAction","postAction"];if(!J.includes(q))throw Error(`Unexpected value for event passed to hook : '${q}'.
|
|
15
|
-
Expecting one of '${J.join("', '")}'`);if(this._lifeCycleHooks[q])this._lifeCycleHooks[q].push(z);else this._lifeCycleHooks[q]=[z];return this}exitOverride(q){if(q)this._exitCallback=q;else this._exitCallback=(z)=>{if(z.code!=="commander.executeSubCommandAsync")throw z};return this}_exit(q,z,J){if(this._exitCallback)this._exitCallback(new
|
|
16
|
-
- already used by option '${z.flags}'`)}this._initOptionGroup(q),this.options.push(q)}_registerCommand(q){let z=(Q)=>{return[Q.name()].concat(Q.aliases())},J=z(q).find((Q)=>this._findCommand(Q));if(J){let Q=z(this._findCommand(J)).join("|"),X=z(q).join("|");throw Error(`cannot add command '${X}' as already have command '${Q}'`)}this._initCommandGroup(q),this.commands.push(q)}addOption(q){this._registerOption(q);let z=q.name(),J=q.attributeName();if(q.negate){let X=q.long.replace(/^--no-/,"--");if(!this._findOption(X))this.setOptionValueWithSource(J,q.defaultValue===void 0?!0:q.defaultValue,"default")}else if(q.defaultValue!==void 0)this.setOptionValueWithSource(J,q.defaultValue,"default");let Q=(X,Z,$)=>{if(X==null&&q.presetArg!==void 0)X=q.presetArg;let U=this.getOptionValue(J);if(X!==null&&q.parseArg)X=this._callParseArg(q,X,U,Z);else if(X!==null&&q.variadic)X=q._collectValue(X,U);if(X==null)if(q.negate)X=!1;else if(q.isBoolean()||q.optional)X=!0;else X="";this.setOptionValueWithSource(J,X,$)};if(this.on("option:"+z,(X)=>{let Z=`error: option '${q.flags}' argument '${X}' is invalid.`;Q(X,Z,"cli")}),q.envVar)this.on("optionEnv:"+z,(X)=>{let Z=`error: option '${q.flags}' value '${X}' from env '${q.envVar}' is invalid.`;Q(X,Z,"env")});return this}_optionEx(q,z,J,Q,X){if(typeof z==="object"&&z instanceof
|
|
17
|
-
- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable(q,z,J){if(
|
|
15
|
+
Expecting one of '${J.join("', '")}'`);if(this._lifeCycleHooks[q])this._lifeCycleHooks[q].push(z);else this._lifeCycleHooks[q]=[z];return this}exitOverride(q){if(q)this._exitCallback=q;else this._exitCallback=(z)=>{if(z.code!=="commander.executeSubCommandAsync")throw z};return this}_exit(q,z,J){if(this._exitCallback)this._exitCallback(new H1(q,z,J));B.exit(q)}action(q){let z=(J)=>{let Q=this.registeredArguments.length,X=J.slice(0,Q);if(this._storeOptionsAsProperties)X[Q]=this;else X[Q]=this.opts();return X.push(this),q.apply(this,X)};return this._actionHandler=z,this}createOption(q,z){return new W0(q,z)}_callParseArg(q,z,J,Q){try{return q.parseArg(z,J)}catch(X){if(X.code==="commander.invalidArgument"){let Z=`${Q} ${X.message}`;this.error(Z,{exitCode:X.exitCode,code:X.code})}throw X}}_registerOption(q){let z=q.short&&this._findOption(q.short)||q.long&&this._findOption(q.long);if(z){let J=q.long&&this._findOption(q.long)?q.long:q.short;throw Error(`Cannot add option '${q.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${J}'
|
|
16
|
+
- already used by option '${z.flags}'`)}this._initOptionGroup(q),this.options.push(q)}_registerCommand(q){let z=(Q)=>{return[Q.name()].concat(Q.aliases())},J=z(q).find((Q)=>this._findCommand(Q));if(J){let Q=z(this._findCommand(J)).join("|"),X=z(q).join("|");throw Error(`cannot add command '${X}' as already have command '${Q}'`)}this._initCommandGroup(q),this.commands.push(q)}addOption(q){this._registerOption(q);let z=q.name(),J=q.attributeName();if(q.negate){let X=q.long.replace(/^--no-/,"--");if(!this._findOption(X))this.setOptionValueWithSource(J,q.defaultValue===void 0?!0:q.defaultValue,"default")}else if(q.defaultValue!==void 0)this.setOptionValueWithSource(J,q.defaultValue,"default");let Q=(X,Z,$)=>{if(X==null&&q.presetArg!==void 0)X=q.presetArg;let U=this.getOptionValue(J);if(X!==null&&q.parseArg)X=this._callParseArg(q,X,U,Z);else if(X!==null&&q.variadic)X=q._collectValue(X,U);if(X==null)if(q.negate)X=!1;else if(q.isBoolean()||q.optional)X=!0;else X="";this.setOptionValueWithSource(J,X,$)};if(this.on("option:"+z,(X)=>{let Z=`error: option '${q.flags}' argument '${X}' is invalid.`;Q(X,Z,"cli")}),q.envVar)this.on("optionEnv:"+z,(X)=>{let Z=`error: option '${q.flags}' value '${X}' from env '${q.envVar}' is invalid.`;Q(X,Z,"env")});return this}_optionEx(q,z,J,Q,X){if(typeof z==="object"&&z instanceof W0)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let Z=this.createOption(z,J);if(Z.makeOptionMandatory(!!q.mandatory),typeof Q==="function")Z.default(X).argParser(Q);else if(Q instanceof RegExp){let $=Q;Q=(U,G)=>{let Y=$.exec(U);return Y?Y[0]:G},Z.default(X).argParser(Q)}else Z.default(Q);return this.addOption(Z)}option(q,z,J,Q){return this._optionEx({},q,z,J,Q)}requiredOption(q,z,J,Q){return this._optionEx({mandatory:!0},q,z,J,Q)}combineFlagAndOptionalValue(q=!0){return this._combineFlagAndOptionalValue=!!q,this}allowUnknownOption(q=!0){return this._allowUnknownOption=!!q,this}allowExcessArguments(q=!0){return this._allowExcessArguments=!!q,this}enablePositionalOptions(q=!0){return this._enablePositionalOptions=!!q,this}passThroughOptions(q=!0){return this._passThroughOptions=!!q,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(q=!0){if(this.options.length)throw Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!q,this}getOptionValue(q){if(this._storeOptionsAsProperties)return this[q];return this._optionValues[q]}setOptionValue(q,z){return this.setOptionValueWithSource(q,z,void 0)}setOptionValueWithSource(q,z,J){if(this._storeOptionsAsProperties)this[q]=z;else this._optionValues[q]=z;return this._optionValueSources[q]=J,this}getOptionValueSource(q){return this._optionValueSources[q]}getOptionValueSourceWithGlobals(q){let z;return this._getCommandAndAncestors().forEach((J)=>{if(J.getOptionValueSource(q)!==void 0)z=J.getOptionValueSource(q)}),z}_prepareUserArgs(q,z){if(q!==void 0&&!Array.isArray(q))throw Error("first parameter to parse must be array or undefined");if(z=z||{},q===void 0&&z.from===void 0){if(B.versions?.electron)z.from="electron";let Q=B.execArgv??[];if(Q.includes("-e")||Q.includes("--eval")||Q.includes("-p")||Q.includes("--print"))z.from="eval"}if(q===void 0)q=B.argv;this.rawArgs=q.slice();let J;switch(z.from){case void 0:case"node":this._scriptPath=q[1],J=q.slice(2);break;case"electron":if(B.defaultApp)this._scriptPath=q[1],J=q.slice(2);else J=q.slice(1);break;case"user":J=q.slice(0);break;case"eval":J=q.slice(1);break;default:throw Error(`unexpected parse option { from: '${z.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",J}parse(q,z){this._prepareForParse();let J=this._prepareUserArgs(q,z);return this._parseCommand([],J),this}async parseAsync(q,z){this._prepareForParse();let J=this._prepareUserArgs(q,z);return await this._parseCommand([],J),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true.
|
|
17
|
+
- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable(q,z,J){if(p.existsSync(q))return;let Q=z?`searched for local subcommand relative to directory '${z}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",X=`'${q}' does not exist
|
|
18
18
|
- if '${J}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
|
|
19
19
|
- if the default executable name is not suitable, use the executableFile option to supply a custom name or path
|
|
20
|
-
- ${Q}`;throw Error(X)}_executeSubCommand(q,z){z=z.slice();let J=!1,Q=[".js",".ts",".tsx",".mjs",".cjs"];function X(Y,H){let K=
|
|
20
|
+
- ${Q}`;throw Error(X)}_executeSubCommand(q,z){z=z.slice();let J=!1,Q=[".js",".ts",".tsx",".mjs",".cjs"];function X(Y,H){let K=L.resolve(Y,H);if(p.existsSync(K))return K;if(Q.includes(L.extname(H)))return;let R=Q.find((M)=>p.existsSync(`${K}${M}`));if(R)return`${K}${R}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let Z=q._executableFile||`${this._name}-${q._name}`,$=this._executableDir||"";if(this._scriptPath){let Y;try{Y=p.realpathSync(this._scriptPath)}catch{Y=this._scriptPath}$=L.resolve(L.dirname(Y),$)}if($){let Y=X($,Z);if(!Y&&!q._executableFile&&this._scriptPath){let H=L.basename(this._scriptPath,L.extname(this._scriptPath));if(H!==this._name)Y=X($,`${H}-${q._name}`)}Z=Y||Z}J=Q.includes(L.extname(Z));let U;if(B.platform!=="win32")if(J)z.unshift(Z),z=M0(B.execArgv).concat(z),U=U1.spawn(B.argv[0],z,{stdio:"inherit"});else U=U1.spawn(Z,z,{stdio:"inherit"});else this._checkForMissingExecutable(Z,$,q._name),z.unshift(Z),z=M0(B.execArgv).concat(z),U=U1.spawn(B.execPath,z,{stdio:"inherit"});if(!U.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((H)=>{B.on(H,()=>{if(U.killed===!1&&U.exitCode===null)U.kill(H)})});let G=this._exitCallback;U.on("close",(Y)=>{if(Y=Y??1,!G)B.exit(Y);else G(new H1(Y,"commander.executeSubCommandAsync","(close)"))}),U.on("error",(Y)=>{if(Y.code==="ENOENT")this._checkForMissingExecutable(Z,$,q._name);else if(Y.code==="EACCES")throw Error(`'${Z}' not executable`);if(!G)B.exit(1);else{let H=new H1(1,"commander.executeSubCommandAsync","(error)");H.nestedError=Y,G(H)}}),this.runningCommand=U}_dispatchSubcommand(q,z,J){let Q=this._findCommand(q);if(!Q)this.help({error:!0});Q._prepareForParse();let X;return X=this._chainOrCallSubCommandHook(X,Q,"preSubcommand"),X=this._chainOrCall(X,()=>{if(Q._executableHandler)this._executeSubCommand(Q,z.concat(J));else return Q._parseCommand(z,J)}),X}_dispatchHelpCommand(q){if(!q)this.help();let z=this._findCommand(q);if(z&&!z._executableHandler)z.help();return this._dispatchSubcommand(q,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach((q,z)=>{if(q.required&&this.args[z]==null)this.missingArgument(q.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let q=(J,Q,X)=>{let Z=Q;if(Q!==null&&J.parseArg){let $=`error: command-argument value '${Q}' is invalid for argument '${J.name()}'.`;Z=this._callParseArg(J,Q,X,$)}return Z};this._checkNumberOfArguments();let z=[];this.registeredArguments.forEach((J,Q)=>{let X=J.defaultValue;if(J.variadic){if(Q<this.args.length){if(X=this.args.slice(Q),J.parseArg)X=X.reduce((Z,$)=>{return q(J,$,Z)},J.defaultValue)}else if(X===void 0)X=[]}else if(Q<this.args.length){if(X=this.args[Q],J.parseArg)X=q(J,X,J.defaultValue)}z[Q]=X}),this.processedArgs=z}_chainOrCall(q,z){if(q?.then&&typeof q.then==="function")return q.then(()=>z());return z()}_chainOrCallHooks(q,z){let J=q,Q=[];if(this._getCommandAndAncestors().reverse().filter((X)=>X._lifeCycleHooks[z]!==void 0).forEach((X)=>{X._lifeCycleHooks[z].forEach((Z)=>{Q.push({hookedCommand:X,callback:Z})})}),z==="postAction")Q.reverse();return Q.forEach((X)=>{J=this._chainOrCall(J,()=>{return X.callback(X.hookedCommand,this)})}),J}_chainOrCallSubCommandHook(q,z,J){let Q=q;if(this._lifeCycleHooks[J]!==void 0)this._lifeCycleHooks[J].forEach((X)=>{Q=this._chainOrCall(Q,()=>{return X(this,z)})});return Q}_parseCommand(q,z){let J=this.parseOptions(z);if(this._parseOptionsEnv(),this._parseOptionsImplied(),q=q.concat(J.operands),z=J.unknown,this.args=q.concat(z),q&&this._findCommand(q[0]))return this._dispatchSubcommand(q[0],q.slice(1),z);if(this._getHelpCommand()&&q[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(q[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(z),this._dispatchSubcommand(this._defaultCommandName,q,z);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(J.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let Q=()=>{if(J.unknown.length>0)this.unknownOption(J.unknown[0])},X=`command:${this.name()}`;if(this._actionHandler){Q(),this._processArguments();let Z;if(Z=this._chainOrCallHooks(Z,"preAction"),Z=this._chainOrCall(Z,()=>this._actionHandler(this.processedArgs)),this.parent)Z=this._chainOrCall(Z,()=>{this.parent.emit(X,q,z)});return Z=this._chainOrCallHooks(Z,"postAction"),Z}if(this.parent?.listenerCount(X))Q(),this._processArguments(),this.parent.emit(X,q,z);else if(q.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",q,z);if(this.listenerCount("command:*"))this.emit("command:*",q,z);else if(this.commands.length)this.unknownCommand();else Q(),this._processArguments()}else if(this.commands.length)Q(),this.help({error:!0});else Q(),this._processArguments()}_findCommand(q){if(!q)return;return this.commands.find((z)=>z._name===q||z._aliases.includes(q))}_findOption(q){return this.options.find((z)=>z.is(q))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((q)=>{q.options.forEach((z)=>{if(z.mandatory&&q.getOptionValue(z.attributeName())===void 0)q.missingMandatoryOptionValue(z)})})}_checkForConflictingLocalOptions(){let q=this.options.filter((J)=>{let Q=J.attributeName();if(this.getOptionValue(Q)===void 0)return!1;return this.getOptionValueSource(Q)!=="default"});q.filter((J)=>J.conflictsWith.length>0).forEach((J)=>{let Q=q.find((X)=>J.conflictsWith.includes(X.attributeName()));if(Q)this._conflictingOption(J,Q)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((q)=>{q._checkForConflictingLocalOptions()})}parseOptions(q){let z=[],J=[],Q=z;function X(Y){return Y.length>1&&Y[0]==="-"}let Z=(Y)=>{if(!/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(Y))return!1;return!this._getCommandAndAncestors().some((H)=>H.options.map((K)=>K.short).some((K)=>/^-\d$/.test(K)))},$=null,U=null,G=0;while(G<q.length||U){let Y=U??q[G++];if(U=null,Y==="--"){if(Q===J)Q.push(Y);Q.push(...q.slice(G));break}if($&&(!X(Y)||Z(Y))){this.emit(`option:${$.name()}`,Y);continue}if($=null,X(Y)){let H=this._findOption(Y);if(H){if(H.required){let K=q[G++];if(K===void 0)this.optionMissingArgument(H);this.emit(`option:${H.name()}`,K)}else if(H.optional){let K=null;if(G<q.length&&(!X(q[G])||Z(q[G])))K=q[G++];this.emit(`option:${H.name()}`,K)}else this.emit(`option:${H.name()}`);$=H.variadic?H:null;continue}}if(Y.length>2&&Y[0]==="-"&&Y[1]!=="-"){let H=this._findOption(`-${Y[1]}`);if(H){if(H.required||H.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${H.name()}`,Y.slice(2));else this.emit(`option:${H.name()}`),U=`-${Y.slice(2)}`;continue}}if(/^--[^=]+=/.test(Y)){let H=Y.indexOf("="),K=this._findOption(Y.slice(0,H));if(K&&(K.required||K.optional)){this.emit(`option:${K.name()}`,Y.slice(H+1));continue}}if(Q===z&&X(Y)&&!(this.commands.length===0&&Z(Y)))Q=J;if((this._enablePositionalOptions||this._passThroughOptions)&&z.length===0&&J.length===0){if(this._findCommand(Y)){z.push(Y),J.push(...q.slice(G));break}else if(this._getHelpCommand()&&Y===this._getHelpCommand().name()){z.push(Y,...q.slice(G));break}else if(this._defaultCommandName){J.push(Y,...q.slice(G));break}}if(this._passThroughOptions){Q.push(Y,...q.slice(G));break}Q.push(Y)}return{operands:z,unknown:J}}opts(){if(this._storeOptionsAsProperties){let q={},z=this.options.length;for(let J=0;J<z;J++){let Q=this.options[J].attributeName();q[Q]=Q===this._versionOptionName?this._version:this[Q]}return q}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((q,z)=>Object.assign(q,z.opts()),{})}error(q,z){if(this._outputConfiguration.outputError(`${q}
|
|
21
21
|
`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==="string")this._outputConfiguration.writeErr(`${this._showHelpAfterError}
|
|
22
22
|
`);else if(this._showHelpAfterError)this._outputConfiguration.writeErr(`
|
|
23
|
-
`),this.outputHelp({error:!0});let J=z||{},Q=J.exitCode||1,X=J.code||"commander.error";this._exit(Q,X,q)}_parseOptionsEnv(){this.options.forEach((q)=>{if(q.envVar&&q.envVar in B.env){let z=q.attributeName();if(this.getOptionValue(z)===void 0||["default","config","env"].includes(this.getOptionValueSource(z)))if(q.required||q.optional)this.emit(`optionEnv:${q.name()}`,B.env[q.envVar]);else this.emit(`optionEnv:${q.name()}`)}})}_parseOptionsImplied(){let q=new J7(this.options),z=(J)=>{return this.getOptionValue(J)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(J))};this.options.filter((J)=>J.implied!==void 0&&z(J.attributeName())&&q.valueFromOption(this.getOptionValue(J.attributeName()),J)).forEach((J)=>{Object.keys(J.implied).filter((Q)=>!z(Q)).forEach((Q)=>{this.setOptionValueWithSource(Q,J.implied[Q],"implied")})})}missingArgument(q){let z=`error: missing required argument '${q}'`;this.error(z,{code:"commander.missingArgument"})}optionMissingArgument(q){let z=`error: option '${q.flags}' argument missing`;this.error(z,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(q){let z=`error: required option '${q.flags}' not specified`;this.error(z,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(q,z){let J=(Z)=>{let $=Z.attributeName(),U=this.getOptionValue($),G=this.options.find((H)=>H.negate&&$===H.attributeName()),Y=this.options.find((H)=>!H.negate&&$===H.attributeName());if(G&&(G.presetArg===void 0&&U===!1||G.presetArg!==void 0&&U===G.presetArg))return G;return Y||Z},Q=(Z)=>{let $=J(Z),U=$.attributeName();if(this.getOptionValueSource(U)==="env")return`environment variable '${$.envVar}'`;return`option '${$.flags}'`},X=`error: ${Q(q)} cannot be used with ${Q(z)}`;this.error(X,{code:"commander.conflictingOption"})}unknownOption(q){if(this._allowUnknownOption)return;let z="";if(q.startsWith("--")&&this._showSuggestionAfterError){let Q=[],X=this;do{let Z=X.createHelp().visibleOptions(X).filter(($)=>$.long).map(($)=>$.long);Q=Q.concat(Z),X=X.parent}while(X&&!X._enablePositionalOptions);z=
|
|
24
|
-
`),this._exit(0,"commander.version",q)}),this}description(q,z){if(q===void 0&&z===void 0)return this._description;if(this._description=q,z)this._argsDescription=z;return this}summary(q){if(q===void 0)return this._summary;return this._summary=q,this}alias(q){if(q===void 0)return this._aliases[0];let z=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)z=this.commands[this.commands.length-1];if(q===z._name)throw Error("Command alias can't be the same as its name");let J=this.parent?._findCommand(q);if(J){let Q=[J.name()].concat(J.aliases()).join("|");throw Error(`cannot add alias '${q}' to command '${this.name()}' as already have command '${Q}'`)}return z._aliases.push(q),this}aliases(q){if(q===void 0)return this._aliases;return q.forEach((z)=>this.alias(z)),this}usage(q){if(q===void 0){if(this._usage)return this._usage;let z=this.registeredArguments.map((J)=>{return e4(J)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?z:[]).join(" ")}return this._usage=q,this}name(q){if(q===void 0)return this._name;return this._name=q,this}helpGroup(q){if(q===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=q,this}commandsGroup(q){if(q===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=q,this}optionsGroup(q){if(q===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=q,this}_initOptionGroup(q){if(this._defaultOptionGroup&&!q.helpGroupHeading)q.helpGroup(this._defaultOptionGroup)}_initCommandGroup(q){if(this._defaultCommandGroup&&!q.helpGroup())q.helpGroup(this._defaultCommandGroup)}nameFromFilename(q){return this._name=
|
|
23
|
+
`),this.outputHelp({error:!0});let J=z||{},Q=J.exitCode||1,X=J.code||"commander.error";this._exit(Q,X,q)}_parseOptionsEnv(){this.options.forEach((q)=>{if(q.envVar&&q.envVar in B.env){let z=q.attributeName();if(this.getOptionValue(z)===void 0||["default","config","env"].includes(this.getOptionValueSource(z)))if(q.required||q.optional)this.emit(`optionEnv:${q.name()}`,B.env[q.envVar]);else this.emit(`optionEnv:${q.name()}`)}})}_parseOptionsImplied(){let q=new J7(this.options),z=(J)=>{return this.getOptionValue(J)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(J))};this.options.filter((J)=>J.implied!==void 0&&z(J.attributeName())&&q.valueFromOption(this.getOptionValue(J.attributeName()),J)).forEach((J)=>{Object.keys(J.implied).filter((Q)=>!z(Q)).forEach((Q)=>{this.setOptionValueWithSource(Q,J.implied[Q],"implied")})})}missingArgument(q){let z=`error: missing required argument '${q}'`;this.error(z,{code:"commander.missingArgument"})}optionMissingArgument(q){let z=`error: option '${q.flags}' argument missing`;this.error(z,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(q){let z=`error: required option '${q.flags}' not specified`;this.error(z,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(q,z){let J=(Z)=>{let $=Z.attributeName(),U=this.getOptionValue($),G=this.options.find((H)=>H.negate&&$===H.attributeName()),Y=this.options.find((H)=>!H.negate&&$===H.attributeName());if(G&&(G.presetArg===void 0&&U===!1||G.presetArg!==void 0&&U===G.presetArg))return G;return Y||Z},Q=(Z)=>{let $=J(Z),U=$.attributeName();if(this.getOptionValueSource(U)==="env")return`environment variable '${$.envVar}'`;return`option '${$.flags}'`},X=`error: ${Q(q)} cannot be used with ${Q(z)}`;this.error(X,{code:"commander.conflictingOption"})}unknownOption(q){if(this._allowUnknownOption)return;let z="";if(q.startsWith("--")&&this._showSuggestionAfterError){let Q=[],X=this;do{let Z=X.createHelp().visibleOptions(X).filter(($)=>$.long).map(($)=>$.long);Q=Q.concat(Z),X=X.parent}while(X&&!X._enablePositionalOptions);z=T0(q,Q)}let J=`error: unknown option '${q}'${z}`;this.error(J,{code:"commander.unknownOption"})}_excessArguments(q){if(this._allowExcessArguments)return;let z=this.registeredArguments.length,J=z===1?"":"s",X=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${z} argument${J} but got ${q.length}.`;this.error(X,{code:"commander.excessArguments"})}unknownCommand(){let q=this.args[0],z="";if(this._showSuggestionAfterError){let Q=[];this.createHelp().visibleCommands(this).forEach((X)=>{if(Q.push(X.name()),X.alias())Q.push(X.alias())}),z=T0(q,Q)}let J=`error: unknown command '${q}'${z}`;this.error(J,{code:"commander.unknownCommand"})}version(q,z,J){if(q===void 0)return this._version;this._version=q,z=z||"-V, --version",J=J||"output the version number";let Q=this.createOption(z,J);return this._versionOptionName=Q.attributeName(),this._registerOption(Q),this.on("option:"+Q.name(),()=>{this._outputConfiguration.writeOut(`${q}
|
|
24
|
+
`),this._exit(0,"commander.version",q)}),this}description(q,z){if(q===void 0&&z===void 0)return this._description;if(this._description=q,z)this._argsDescription=z;return this}summary(q){if(q===void 0)return this._summary;return this._summary=q,this}alias(q){if(q===void 0)return this._aliases[0];let z=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)z=this.commands[this.commands.length-1];if(q===z._name)throw Error("Command alias can't be the same as its name");let J=this.parent?._findCommand(q);if(J){let Q=[J.name()].concat(J.aliases()).join("|");throw Error(`cannot add alias '${q}' to command '${this.name()}' as already have command '${Q}'`)}return z._aliases.push(q),this}aliases(q){if(q===void 0)return this._aliases;return q.forEach((z)=>this.alias(z)),this}usage(q){if(q===void 0){if(this._usage)return this._usage;let z=this.registeredArguments.map((J)=>{return e4(J)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?z:[]).join(" ")}return this._usage=q,this}name(q){if(q===void 0)return this._name;return this._name=q,this}helpGroup(q){if(q===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=q,this}commandsGroup(q){if(q===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=q,this}optionsGroup(q){if(q===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=q,this}_initOptionGroup(q){if(this._defaultOptionGroup&&!q.helpGroupHeading)q.helpGroup(this._defaultOptionGroup)}_initCommandGroup(q){if(this._defaultCommandGroup&&!q.helpGroup())q.helpGroup(this._defaultCommandGroup)}nameFromFilename(q){return this._name=L.basename(q,L.extname(q)),this}executableDir(q){if(q===void 0)return this._executableDir;return this._executableDir=q,this}helpInformation(q){let z=this.createHelp(),J=this._getOutputContext(q);z.prepareContext({error:J.error,helpWidth:J.helpWidth,outputHasColors:J.hasColors});let Q=z.formatHelp(this,z);if(J.hasColors)return Q;return this._outputConfiguration.stripColor(Q)}_getOutputContext(q){q=q||{};let z=!!q.error,J,Q,X;if(z)J=($)=>this._outputConfiguration.writeErr($),Q=this._outputConfiguration.getErrHasColors(),X=this._outputConfiguration.getErrHelpWidth();else J=($)=>this._outputConfiguration.writeOut($),Q=this._outputConfiguration.getOutHasColors(),X=this._outputConfiguration.getOutHelpWidth();return{error:z,write:($)=>{if(!Q)$=this._outputConfiguration.stripColor($);return J($)},hasColors:Q,helpWidth:X}}outputHelp(q){let z;if(typeof q==="function")z=q,q=void 0;let J=this._getOutputContext(q),Q={error:J.error,write:J.write,command:this};this._getCommandAndAncestors().reverse().forEach((Z)=>Z.emit("beforeAllHelp",Q)),this.emit("beforeHelp",Q);let X=this.helpInformation({error:J.error});if(z){if(X=z(X),typeof X!=="string"&&!Buffer.isBuffer(X))throw Error("outputHelp callback must return a string or a Buffer")}if(J.write(X),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",Q),this._getCommandAndAncestors().forEach((Z)=>Z.emit("afterAllHelp",Q))}helpOption(q,z){if(typeof q==="boolean"){if(q){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption(q??"-h, --help",z??"display help for command"),q||z)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(q){return this._helpOption=q,this._initOptionGroup(q),this}help(q){this.outputHelp(q);let z=Number(B.exitCode??0);if(z===0&&q&&typeof q!=="function"&&q.error)z=1;this._exit(z,"commander.help","(outputHelp)")}addHelpText(q,z){let J=["beforeAll","before","after","afterAll"];if(!J.includes(q))throw Error(`Unexpected value for position to addHelpText.
|
|
25
25
|
Expecting one of '${J.join("', '")}'`);let Q=`${q}Help`;return this.on(Q,(X)=>{let Z;if(typeof z==="function")Z=z({error:X.error,command:X.command});else Z=z;if(Z)X.write(`${Z}
|
|
26
|
-
`)}),this}_outputHelpIfRequested(q){let z=this._getHelpOption();if(z&&q.find((Q)=>z.is(Q)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function
|
|
26
|
+
`)}),this}_outputHelpIfRequested(q){let z=this._getHelpOption();if(z&&q.find((Q)=>z.is(Q)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function M0(q){return q.map((z)=>{if(!z.startsWith("--inspect"))return z;let J,Q="127.0.0.1",X="9229",Z;if((Z=z.match(/^(--inspect(-brk)?)$/))!==null)J=Z[1];else if((Z=z.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(J=Z[1],/^\d+$/.test(Z[3]))X=Z[3];else Q=Z[3];else if((Z=z.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)J=Z[1],Q=Z[3],X=Z[4];if(J&&X!=="0")return`${J}=${Q}:${parseInt(X)+1}`;return z})}function Y1(){if(B.env.NO_COLOR||B.env.FORCE_COLOR==="0"||B.env.FORCE_COLOR==="false")return!1;if(B.env.FORCE_COLOR||B.env.CLICOLOR_FORCE!==void 0)return!0;return}Q7.Command=G1;Q7.useColor=Y1});var I0=F((H7)=>{var{Argument:V0}=d(),{Command:K1}=j0(),{CommanderError:$7,InvalidArgumentError:R0}=v(),{Help:U7}=Z1(),{Option:_0}=$1();H7.program=new K1;H7.createCommand=(q)=>new K1(q);H7.createOption=(q,z)=>new _0(q,z);H7.createArgument=(q,z)=>new V0(q,z);H7.Command=K1;H7.Option=_0;H7.Argument=V0;H7.Help=U7;H7.CommanderError=$7;H7.InvalidArgumentError=R0;H7.InvalidOptionArgumentError=R0});var P0=F((V,S0)=>{var _=I0();V=S0.exports={};V.program=new _.Command;V.Argument=_.Argument;V.Command=_.Command;V.CommanderError=_.CommanderError;V.Help=_.Help;V.InvalidArgumentError=_.InvalidArgumentError;V.InvalidOptionArgumentError=_.InvalidArgumentError;V.Option=_.Option;V.createCommand=(q)=>new _.Command(q);V.createOption=(q,z)=>new _.Option(q,z);V.createArgument=(q,z)=>new _.Argument(q,z)});var D0=r0(P0(),1),{program:E,createCommand:i7,createArgument:p7,createOption:s7,CommanderError:n7,InvalidArgumentError:r7,InvalidOptionArgumentError:o7,Command:a7,Argument:t7,Option:e7,Help:q2}=D0.default;var L0=(q=0)=>(z)=>`\x1B[${z+q}m`,F0=(q=0)=>(z)=>`\x1B[${38+q};5;${z}m`,N0=(q=0)=>(z,J,Q)=>`\x1B[${38+q};2;${z};${J};${Q}m`,T={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},J2=Object.keys(T.modifier),I7=Object.keys(T.color),S7=Object.keys(T.bgColor),Q2=[...I7,...S7];function P7(){let q=new Map;for(let[z,J]of Object.entries(T)){for(let[Q,X]of Object.entries(J))T[Q]={open:`\x1B[${X[0]}m`,close:`\x1B[${X[1]}m`},J[Q]=T[Q],q.set(X[0],X[1]);Object.defineProperty(T,z,{value:J,enumerable:!1})}return Object.defineProperty(T,"codes",{value:q,enumerable:!1}),T.color.close="\x1B[39m",T.bgColor.close="\x1B[49m",T.color.ansi=L0(),T.color.ansi256=F0(),T.color.ansi16m=N0(),T.bgColor.ansi=L0(10),T.bgColor.ansi256=F0(10),T.bgColor.ansi16m=N0(10),Object.defineProperties(T,{rgbToAnsi256:{value(z,J,Q){if(z===J&&J===Q){if(z<8)return 16;if(z>248)return 231;return Math.round((z-8)/247*24)+232}return 16+36*Math.round(z/255*5)+6*Math.round(J/255*5)+Math.round(Q/255*5)},enumerable:!1},hexToRgb:{value(z){let J=/[a-f\d]{6}|[a-f\d]{3}/i.exec(z.toString(16));if(!J)return[0,0,0];let[Q]=J;if(Q.length===3)Q=[...Q].map((Z)=>Z+Z).join("");let X=Number.parseInt(Q,16);return[X>>16&255,X>>8&255,X&255]},enumerable:!1},hexToAnsi256:{value:(z)=>T.rgbToAnsi256(...T.hexToRgb(z)),enumerable:!1},ansi256ToAnsi:{value(z){if(z<8)return 30+z;if(z<16)return 90+(z-8);let J,Q,X;if(z>=232)J=((z-232)*10+8)/255,Q=J,X=J;else{z-=16;let U=z%36;J=Math.floor(z/36)/5,Q=Math.floor(U/6)/5,X=U%6/5}let Z=Math.max(J,Q,X)*2;if(Z===0)return 30;let $=30+(Math.round(X)<<2|Math.round(Q)<<1|Math.round(J));if(Z===2)$+=60;return $},enumerable:!1},rgbToAnsi:{value:(z,J,Q)=>T.ansi256ToAnsi(T.rgbToAnsi256(z,J,Q)),enumerable:!1},hexToAnsi:{value:(z)=>T.ansi256ToAnsi(T.hexToAnsi256(z)),enumerable:!1}}),T}var D7=P7(),I=D7;var s=(()=>{if(!("navigator"in globalThis))return 0;if(globalThis.navigator.userAgentData){let q=navigator.userAgentData.brands.find(({brand:z})=>z==="Chromium");if(q&&q.version>93)return 3}if(/\b(Chrome|Chromium)\//.test(globalThis.navigator.userAgent))return 1;return 0})(),w0=s!==0&&{level:s,hasBasic:!0,has256:s>=2,has16m:s>=3},L7={stdout:w0,stderr:w0},f0=L7;function A0(q,z,J){let Q=q.indexOf(z);if(Q===-1)return q;let X=z.length,Z=0,$="";do $+=q.slice(Z,Q)+z+J,Z=Q+X,Q=q.indexOf(z,Z);while(Q!==-1);return $+=q.slice(Z),$}function C0(q,z,J,Q){let X=0,Z="";do{let $=q[Q-1]==="\r";Z+=q.slice(X,$?Q-1:Q)+z+($?`\r
|
|
27
27
|
`:`
|
|
28
28
|
`)+J,X=Q+1,Q=q.indexOf(`
|
|
29
|
-
`,X)}while(Q!==-1);return Z+=q.slice(X),Z}var{stdout:
|
|
30
|
-
`);if(Z!==-1)z=
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
`),
|
|
34
|
-
${
|
|
29
|
+
`,X)}while(Q!==-1);return Z+=q.slice(X),Z}var{stdout:E0,stderr:O0}=f0,B1=Symbol("GENERATOR"),x=Symbol("STYLER"),u=Symbol("IS_EMPTY"),k0=["ansi","ansi","ansi256","ansi16m"],b=Object.create(null),F7=(q,z={})=>{if(z.level&&!(Number.isInteger(z.level)&&z.level>=0&&z.level<=3))throw Error("The `level` option should be an integer from 0 to 3");let J=E0?E0.level:0;q.level=z.level===void 0?J:z.level};var N7=(q)=>{let z=(...J)=>J.join(" ");return F7(z,q),Object.setPrototypeOf(z,c.prototype),z};function c(q){return N7(q)}Object.setPrototypeOf(c.prototype,Function.prototype);for(let[q,z]of Object.entries(I))b[q]={get(){let J=n(this,T1(z.open,z.close,this[x]),this[u]);return Object.defineProperty(this,q,{value:J}),J}};b.visible={get(){let q=n(this,this[x],!0);return Object.defineProperty(this,"visible",{value:q}),q}};var W1=(q,z,J,...Q)=>{if(q==="rgb"){if(z==="ansi16m")return I[J].ansi16m(...Q);if(z==="ansi256")return I[J].ansi256(I.rgbToAnsi256(...Q));return I[J].ansi(I.rgbToAnsi(...Q))}if(q==="hex")return W1("rgb",z,J,...I.hexToRgb(...Q));return I[J][q](...Q)},w7=["rgb","hex","ansi256"];for(let q of w7){b[q]={get(){let{level:J}=this;return function(...Q){let X=T1(W1(q,k0[J],"color",...Q),I.color.close,this[x]);return n(this,X,this[u])}}};let z="bg"+q[0].toUpperCase()+q.slice(1);b[z]={get(){let{level:J}=this;return function(...Q){let X=T1(W1(q,k0[J],"bgColor",...Q),I.bgColor.close,this[x]);return n(this,X,this[u])}}}}var f7=Object.defineProperties(()=>{},{...b,level:{enumerable:!0,get(){return this[B1].level},set(q){this[B1].level=q}}}),T1=(q,z,J)=>{let Q,X;if(J===void 0)Q=q,X=z;else Q=J.openAll+q,X=z+J.closeAll;return{open:q,close:z,openAll:Q,closeAll:X,parent:J}},n=(q,z,J)=>{let Q=(...X)=>A7(Q,X.length===1?""+X[0]:X.join(" "));return Object.setPrototypeOf(Q,f7),Q[B1]=q,Q[x]=z,Q[u]=J,Q},A7=(q,z)=>{if(q.level<=0||!z)return q[u]?"":z;let J=q[x];if(J===void 0)return z;let{openAll:Q,closeAll:X}=J;if(z.includes("\x1B"))while(J!==void 0)z=A0(z,J.close,J.open),J=J.parent;let Z=z.indexOf(`
|
|
30
|
+
`);if(Z!==-1)z=C0(z,X,Q,Z);return Q+z+X};Object.defineProperties(c.prototype,b);var C7=c(),G2=c({level:O0?O0.level:0});var j=C7;X1();var{default:b0}=(()=>({}));var{default:r}=(()=>({}));function g(q,z){if(r.existsSync(q)&&r.statSync(q).isFile())return q;let J=z?typeof z==="string"?z:z(q):"Path not found or is not a file: "+q;throw Error(J)}function M1(q,z){if(r.existsSync(q)&&r.statSync(q).isDirectory())return q;let J=z?typeof z==="string"?z:z(q):"Path not found or is not a directory: "+q;throw Error(J)}function x0(q,z,J){return Math.max(Math.min(q,J),z)}var{default:E7}=(()=>({}));function j1(){g("package.json",(Q)=>`Failed to determine version: ${Q} not found`);let z;try{z=JSON.parse(E7.readFileSync("package.json","utf-8"))}catch(Q){throw Error("Failed to determine version: failed to parse package.json")}let J=z.version;if(!J)throw Error("Failed to determine version: version is undefined or an empty string");return J}E.name("diff-mindustry-bundles").description("A handy utility to view missing/extra/untranslated keys between bundles.").version(j1()).addHelpText("afterAll",j.gray(`
|
|
31
|
+
Version: ${j1()}`)).addHelpText("afterAll",j.gray("Repository: https://github.com/murolem/diff-mindustry-bundles")).configureHelp({formatHelp(q,z){let J=[];J.push(j.bold("DESCRIPTION")),J.push(E.description()),J.push(""),J.push(j.bold("USAGE")),J.push(z.commandUsage(q));let Q=z.padWidth(q,z);if(E.arguments.length>0)J.push(""),J.push(j.bold("ARGUMENTS")),E.registeredArguments.forEach((X)=>{let Z=(X.required?"<":"[")+X.name()+(X.required?">":"]");J.push(z.formatItem(Z,Q,z.argumentDescription(X),z))});if(E.options.length>0)J.push(""),J.push(j.bold("OPTIONS")),E.options.forEach((X)=>{J.push(z.formatItem(X.flags,Q,X.description,z))});return J.join(`
|
|
32
|
+
`)+`
|
|
33
|
+
`}}).argument("<top-bundle>","Bundle with your localization (no extension). For example: 'bundle_ru'").argument("[base-bundle]","Bundle to compare with.","bundle").option("--base-dir <dirpath>",`Path to the directory containing ${j.bold("Mindustry")}`,".").option("--bundles-dir <dirpath>",`Path to the directory containing ${j.bold("bundles")}. Relative to the base directory.`,w.normalize("./core/assets/bundles")).action((q,z,J)=>{let Q=w.resolve(J.baseDir),X=w.resolve(w.join(Q,J.bundlesDir));console.log(" Mindustry directory: "+Q),console.log("Looking for bundles at: "+X),M1(Q,"Mindustry directory not found."),M1(X,"Bundles directory not found.");let Z=q+".properties",$=z+".properties",U=g(w.join(X,Z),(M)=>`Top bundle not found at: ${M}
|
|
34
|
+
- Bundle filename: ${Z}`),G=g(w.join(X,$),(M)=>`Base bundle not found at: ${M}
|
|
35
|
+
- Bundle filename: ${$}`),Y=y0(b0.readFileSync(U,"utf-8")),H=y0(b0.readFileSync(G,"utf-8")),K=O7(Y,H),R=(M,V1,v0)=>{let h0=" ".repeat(10),R1=Object.keys(V1).length,u0=Object.entries(V1).map(([d0,{string:m0,line:_1}])=>{return" ".repeat(x0(10-_1.toString().length,0,1/0))+j.gray(_1)+" "+v0+" "+d0+" = "+m0}).join(`
|
|
36
|
+
`),c0=j.bold(` ${M} (${R1}):`),g0=j.bold(M);return`${c0}
|
|
37
|
+
${R1===0?h0+j.italic("none"):u0}
|
|
35
38
|
${j.bold("END")} ${g0}
|
|
36
|
-
`};console.log(""),console.log(R("Untranslated strings",K.unchanged,j.gray("~"))),console.log(R("Extra strings",K.added,j.green("+"))),console.log(R("Missing strings",K.removed,j.red("-"))),console.log(`Strings in top bundle: ${Object.keys(Y).length}`),console.log(`Strings in base bundle: ${Object.keys(H).length}`)}).parse();function
|
|
39
|
+
`};console.log(""),console.log(R("Untranslated strings",K.unchanged,j.gray("~"))),console.log(R("Extra strings",K.added,j.green("+"))),console.log(R("Missing strings",K.removed,j.red("-"))),console.log(`Strings in top bundle: ${Object.keys(Y).length}`),console.log(`Strings in base bundle: ${Object.keys(H).length}`)}).parse();function O7(q,z){let J=Z(q,z),Q=Z(z,q),X=$(q,z);return{removed:J,added:Q,unchanged:X};function Z(U,G){let Y={};for(let H in G)if(H in U);else Y[H]=G[H];return Y}function $(U,G){let Y={};for(let H in G)if(H in U&&U[H].string===G[H].string)Y[H]=G[H];return Y}}function y0(q){return q.split(`
|
|
37
40
|
`).reduce((z,J,Q)=>{let X=J.trim();if(X===""||X.startsWith("#"))return z;let[Z,...$]=X.split("=");if($.length===0)throw Error(`Bundle parsing failed: encountered a line not in key=value format: key '${Z}'`);return z[Z.trim()]={string:$.join("=").trim(),line:Q+1},z},{})}
|
package/package.json
CHANGED
|
@@ -1,15 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "diff-mindustry-bundles",
|
|
3
3
|
"description": "A handy utility to view missing/extra/untranslated keys between bundles.",
|
|
4
|
-
"keywords": [
|
|
5
|
-
|
|
4
|
+
"keywords": [
|
|
5
|
+
"Mindustry",
|
|
6
|
+
"bundles",
|
|
7
|
+
"diff"
|
|
8
|
+
],
|
|
9
|
+
"version": "1.0.2",
|
|
6
10
|
"type": "module",
|
|
7
11
|
"bin": "build/index.js",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/murolem/diff-mindustry-bundles/issues"
|
|
14
|
+
},
|
|
15
|
+
"repository": "github:murolem/diff-mindustry-bundles",
|
|
16
|
+
"license": "MIT",
|
|
8
17
|
"scripts": {
|
|
9
18
|
"cli": "bun src/cli",
|
|
10
19
|
"build": "bun make-readme.ts && bun build src/cli/index.ts --outdir build --production"
|
|
11
20
|
},
|
|
12
|
-
"files": [
|
|
21
|
+
"files": [
|
|
22
|
+
""
|
|
23
|
+
],
|
|
13
24
|
"devDependencies": {
|
|
14
25
|
"@types/bun": "latest"
|
|
15
26
|
},
|
|
@@ -21,4 +32,4 @@
|
|
|
21
32
|
"chalk": "^5.6.2",
|
|
22
33
|
"commander": "^14.0.3"
|
|
23
34
|
}
|
|
24
|
-
}
|
|
35
|
+
}
|
package/README.template.md
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# diff-mindustry-bundles
|
|
2
|
-
|
|
3
|
-
A CLI utility to view missing/extra/untranslated keys between bundles (localizations) for Mindustry.
|
|
4
|
-
|
|
5
|
-
# Requirements
|
|
6
|
-
|
|
7
|
-
The utility is hosted on NPM, so to run it you will:
|
|
8
|
-
- A JS package manager that can run packages, so `npm` (`npx`), `bun` (`bunx`), etc.
|
|
9
|
-
- Local Mindustry repository.
|
|
10
|
-
|
|
11
|
-
# Usage
|
|
12
|
-
|
|
13
|
-
The readme will assume usage of `bun` (`bunx`).
|
|
14
|
-
|
|
15
|
-
Navigate to the Mindustry repository you've cloned locally.
|
|
16
|
-
|
|
17
|
-
Then run:
|
|
18
|
-
```bash
|
|
19
|
-
bunx diff-mindustry-bundles <translation_bundle>
|
|
20
|
-
```
|
|
21
|
-
where `<translation_bundle>` is the name of a bundle you want to check (no extension), for example: `bundle_de`.
|
|
22
|
-
```bash
|
|
23
|
-
bunx diff-mindustry-bundles bundle_de
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
Available options:
|
|
27
|
-
```bash
|
|
28
|
-
%help_output
|
|
29
|
-
```
|