@qlover/fe-release 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/bin/release.js +2 -1
- package/dist/cjs/index.d.ts +7 -6
- package/dist/cjs/index.js +1 -1
- package/dist/es/index.d.ts +7 -6
- package/dist/es/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ fe-release [options]
|
|
|
18
18
|
|
|
19
19
|
### Options
|
|
20
20
|
|
|
21
|
-
- `-
|
|
21
|
+
- `-v, --version`:output the version.
|
|
22
22
|
- `-d, --dry-run`:do not touch or write anything, but show the commands.
|
|
23
23
|
- `-V, --verbose`:show more information.
|
|
24
24
|
- `-P, --pull-request`:create a release PR.
|
|
@@ -32,7 +32,7 @@ fe-release [options]
|
|
|
32
32
|
```bash
|
|
33
33
|
fe-release --version
|
|
34
34
|
# or
|
|
35
|
-
fe-release -
|
|
35
|
+
fe-release -v
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
2. dry run, show the commands:
|
package/bin/release.js
CHANGED
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FeReleaseConfig, FeScriptContext,
|
|
1
|
+
import { FeReleaseConfig, FeScriptContext, Shell } from '@qlover/scripts-context';
|
|
2
2
|
import { Env } from '@qlover/env-loader';
|
|
3
|
-
import { ExecutorContext, ExecutorPlugin } from '@qlover/fe-utils';
|
|
3
|
+
import { ExecutorContext, ExecutorPlugin, Logger } from '@qlover/fe-utils';
|
|
4
4
|
|
|
5
5
|
interface InitOptions {
|
|
6
6
|
token?: string;
|
|
@@ -71,7 +71,7 @@ declare class ReleaseContext extends FeScriptContext<ReleaseConfig> {
|
|
|
71
71
|
protected config: ReleaseConfig;
|
|
72
72
|
constructor(context: ReleaseContextOptions);
|
|
73
73
|
setConfig(config: DeepPartial<ReleaseConfig>): void;
|
|
74
|
-
getConfig(key: string | string[], defaultValue?:
|
|
74
|
+
getConfig<T = unknown>(key: string | string[], defaultValue?: T): T;
|
|
75
75
|
getInitEnv(): Env;
|
|
76
76
|
getEnv(): Env;
|
|
77
77
|
getPkg(key: string): unknown;
|
|
@@ -81,12 +81,13 @@ type StepOption<T> = {
|
|
|
81
81
|
label: string;
|
|
82
82
|
task: () => Promise<T>;
|
|
83
83
|
};
|
|
84
|
-
declare abstract class Plugin implements ExecutorPlugin {
|
|
84
|
+
declare abstract class Plugin<Props extends Record<string, unknown> = {}> implements ExecutorPlugin {
|
|
85
85
|
protected context: ReleaseContext;
|
|
86
|
+
protected props: Props;
|
|
86
87
|
abstract readonly pluginName: string;
|
|
87
88
|
readonly onlyOne = true;
|
|
88
|
-
constructor(context: ReleaseContext);
|
|
89
|
-
get logger():
|
|
89
|
+
constructor(context: ReleaseContext, props?: Props);
|
|
90
|
+
get logger(): Logger;
|
|
90
91
|
get shell(): Shell;
|
|
91
92
|
getEnv(key: string, defaultValue?: string): string | undefined;
|
|
92
93
|
enabled(): boolean;
|
package/dist/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e,t,r,n,o,i,u,a,s,c,l,f,h,g,p,v,b,d,y,m,w,R,_,P,x,E,N,O,j,k,C,B,T,A,I,S,q,$,M,F,L,U,z,V,G,H,D,W,K,Y,J,Q,X,Z,ee,te,re,ne,oe,ie,ue,ae,se,ce,le,fe,he,ge,pe,ve,be,de,ye,me,we,Re,_e,Pe,xe,Ee,Ne,Oe,je,ke,Ce,Be,Te,Ae,Ie,Se,qe,$e,Me,Fe,Le,Ue,ze,Ve,Ge=require("@qlover/scripts-context"),He=require("@qlover/env-loader"),De=require("@qlover/fe-utils"),We=require("fs"),Ke="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Ye(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Je(){if(t)return e;return t=1,e=function(){this.__data__=[],this.size=0}}function Qe(){if(n)return r;return n=1,r=function(e,t){return e===t||e!=e&&t!=t}}function Xe(){if(i)return o;i=1;var e=Qe();return o=function(t,r){for(var n=t.length;n--;)if(e(t[n][0],r))return n;return-1}}function Ze(){if(a)return u;a=1;var e=Xe(),t=Array.prototype.splice;return u=function(r){var n=this.__data__,o=e(n,r);return!(o<0)&&(o==n.length-1?n.pop():t.call(n,o,1),--this.size,!0)}}function et(){if(c)return s;c=1;var e=Xe();return s=function(t){var r=this.__data__,n=e(r,t);return n<0?void 0:r[n][1]}}function tt(){if(f)return l;f=1;var e=Xe();return l=function(t){return e(this.__data__,t)>-1}}function rt(){if(g)return h;g=1;var e=Xe();return h=function(t,r){var n=this.__data__,o=e(n,t);return o<0?(++this.size,n.push([t,r])):n[o][1]=r,this}}function nt(){if(v)return p;v=1;var e=Je(),t=Ze(),r=et(),n=tt(),o=rt();function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=r,i.prototype.has=n,i.prototype.set=o,p=i}function ot(){if(d)return b;d=1;var e=nt();return b=function(){this.__data__=new e,this.size=0}}function it(){if(m)return y;return m=1,y=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}}function ut(){if(R)return w;return R=1,w=function(e){return this.__data__.get(e)}}function at(){if(P)return _;return P=1,_=function(e){return this.__data__.has(e)}}function st(){if(E)return x;E=1;var e="object"==typeof Ke&&Ke&&Ke.Object===Object&&Ke;return x=e}function ct(){if(O)return N;O=1;var e=st(),t="object"==typeof self&&self&&self.Object===Object&&self,r=e||t||Function("return this")();return N=r}function lt(){if(k)return j;k=1;var e=ct().Symbol;return j=e}function ft(){if(B)return C;B=1;var e=lt(),t=Object.prototype,r=t.hasOwnProperty,n=t.toString,o=e?e.toStringTag:void 0;return C=function(e){var t=r.call(e,o),i=e[o];try{e[o]=void 0;var u=!0}catch(e){}var a=n.call(e);return u&&(t?e[o]=i:delete e[o]),a}}function ht(){if(A)return T;A=1;var e=Object.prototype.toString;return T=function(t){return e.call(t)}}function gt(){if(S)return I;S=1;var e=lt(),t=ft(),r=ht(),n=e?e.toStringTag:void 0;return I=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":n&&n in Object(e)?t(e):r(e)}}function pt(){if($)return q;return $=1,q=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}}function vt(){if(F)return M;F=1;var e=gt(),t=pt();return M=function(r){if(!t(r))return!1;var n=e(r);return"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n}}function bt(){if(U)return L;U=1;var e=ct()["__core-js_shared__"];return L=e}function dt(){if(V)return z;V=1;var e,t=bt(),r=(e=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||""))?"Symbol(src)_1."+e:"";return z=function(e){return!!r&&r in e}}function yt(){if(H)return G;H=1;var e=Function.prototype.toString;return G=function(t){if(null!=t){try{return e.call(t)}catch(e){}try{return t+""}catch(e){}}return""}}function mt(){if(W)return D;W=1;var e=vt(),t=dt(),r=pt(),n=yt(),o=/^\[object .+?Constructor\]$/,i=Function.prototype,u=Object.prototype,a=i.toString,s=u.hasOwnProperty,c=RegExp("^"+a.call(s).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");return D=function(i){return!(!r(i)||t(i))&&(e(i)?c:o).test(n(i))}}function wt(){if(Y)return K;return Y=1,K=function(e,t){return null==e?void 0:e[t]}}function Rt(){if(Q)return J;Q=1;var e=mt(),t=wt();return J=function(r,n){var o=t(r,n);return e(o)?o:void 0}}function _t(){if(Z)return X;Z=1;var e=Rt()(ct(),"Map");return X=e}function Pt(){if(te)return ee;te=1;var e=Rt()(Object,"create");return ee=e}function xt(){if(ne)return re;ne=1;var e=Pt();return re=function(){this.__data__=e?e(null):{},this.size=0}}function Et(){if(ie)return oe;return ie=1,oe=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}}function Nt(){if(ae)return ue;ae=1;var e=Pt(),t=Object.prototype.hasOwnProperty;return ue=function(r){var n=this.__data__;if(e){var o=n[r];return"__lodash_hash_undefined__"===o?void 0:o}return t.call(n,r)?n[r]:void 0}}function Ot(){if(ce)return se;ce=1;var e=Pt(),t=Object.prototype.hasOwnProperty;return se=function(r){var n=this.__data__;return e?void 0!==n[r]:t.call(n,r)}}function jt(){if(fe)return le;fe=1;var e=Pt();return le=function(t,r){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=e&&void 0===r?"__lodash_hash_undefined__":r,this}}function kt(){if(ge)return he;ge=1;var e=xt(),t=Et(),r=Nt(),n=Ot(),o=jt();function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=r,i.prototype.has=n,i.prototype.set=o,he=i}function Ct(){if(ve)return pe;ve=1;var e=kt(),t=nt(),r=_t();return pe=function(){this.size=0,this.__data__={hash:new e,map:new(r||t),string:new e}}}function Bt(){if(de)return be;return de=1,be=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}}function Tt(){if(me)return ye;me=1;var e=Bt();return ye=function(t,r){var n=t.__data__;return e(r)?n["string"==typeof r?"string":"hash"]:n.map}}function At(){if(Re)return we;Re=1;var e=Tt();return we=function(t){var r=e(this,t).delete(t);return this.size-=r?1:0,r}}function It(){if(Pe)return _e;Pe=1;var e=Tt();return _e=function(t){return e(this,t).get(t)}}function St(){if(Ee)return xe;Ee=1;var e=Tt();return xe=function(t){return e(this,t).has(t)}}function qt(){if(Oe)return Ne;Oe=1;var e=Tt();return Ne=function(t,r){var n=e(this,t),o=n.size;return n.set(t,r),this.size+=n.size==o?0:1,this}}function $t(){if(ke)return je;ke=1;var e=Ct(),t=At(),r=It(),n=St(),o=qt();function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=r,i.prototype.has=n,i.prototype.set=o,je=i}function Mt(){if(Be)return Ce;Be=1;var e=nt(),t=_t(),r=$t();return Ce=function(n,o){var i=this.__data__;if(i instanceof e){var u=i.__data__;if(!t||u.length<199)return u.push([n,o]),this.size=++i.size,this;i=this.__data__=new r(u)}return i.set(n,o),this.size=i.size,this}}function Ft(){if(Ae)return Te;Ae=1;var e=nt(),t=ot(),r=it(),n=ut(),o=at(),i=Mt();function u(t){var r=this.__data__=new e(t);this.size=r.size}return u.prototype.clear=t,u.prototype.delete=r,u.prototype.get=n,u.prototype.has=o,u.prototype.set=i,Te=u}function Lt(){if(Se)return Ie;Se=1;var e=Rt(),t=function(){try{var t=e(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();return Ie=t}function Ut(){if($e)return qe;$e=1;var e=Lt();return qe=function(t,r,n){"__proto__"==r&&e?e(t,r,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[r]=n}}function zt(){if(Fe)return Me;Fe=1;var e=Ut(),t=Qe();return Me=function(r,n,o){(void 0!==o&&!t(r[n],o)||void 0===o&&!(n in r))&&e(r,n,o)}}function Vt(){if(Ue)return Le;return Ue=1,Le=function(e){return function(t,r,n){for(var o=-1,i=Object(t),u=n(t),a=u.length;a--;){var s=u[e?a:++o];if(!1===r(i[s],s,i))break}return t}}}function Gt(){if(Ve)return ze;Ve=1;var e=Vt()();return ze=e}var Ht,Dt,Wt,Kt,Yt,Jt,Qt,Xt,Zt,er,tr,rr,nr,or,ir,ur,ar,sr,cr,lr,fr,hr,gr,pr,vr,br,dr,yr,mr,wr,Rr,_r,Pr,xr={exports:{}};function Er(){return Ht||(Ht=1,function(e,t){var r=ct(),n=t&&!t.nodeType&&t,o=n&&e&&!e.nodeType&&e,i=o&&o.exports===n?r.Buffer:void 0,u=i?i.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=u?u(r):new e.constructor(r);return e.copy(n),n}}(xr,xr.exports)),xr.exports}function Nr(){if(Wt)return Dt;Wt=1;var e=ct().Uint8Array;return Dt=e}function Or(){if(Yt)return Kt;Yt=1;var e=Nr();return Kt=function(t){var r=new t.constructor(t.byteLength);return new e(r).set(new e(t)),r}}function jr(){if(Qt)return Jt;Qt=1;var e=Or();return Jt=function(t,r){var n=r?e(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}}function kr(){if(Zt)return Xt;return Zt=1,Xt=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}}function Cr(){if(tr)return er;tr=1;var e=pt(),t=Object.create,r=function(){function r(){}return function(n){if(!e(n))return{};if(t)return t(n);r.prototype=n;var o=new r;return r.prototype=void 0,o}}();return er=r}function Br(){if(nr)return rr;return nr=1,rr=function(e,t){return function(r){return e(t(r))}}}function Tr(){if(ir)return or;ir=1;var e=Br()(Object.getPrototypeOf,Object);return or=e}function Ar(){if(ar)return ur;ar=1;var e=Object.prototype;return ur=function(t){var r=t&&t.constructor;return t===("function"==typeof r&&r.prototype||e)}}function Ir(){if(cr)return sr;cr=1;var e=Cr(),t=Tr(),r=Ar();return sr=function(n){return"function"!=typeof n.constructor||r(n)?{}:e(t(n))}}function Sr(){if(fr)return lr;return fr=1,lr=function(e){return null!=e&&"object"==typeof e}}function qr(){if(gr)return hr;gr=1;var e=gt(),t=Sr();return hr=function(r){return t(r)&&"[object Arguments]"==e(r)}}function $r(){if(vr)return pr;vr=1;var e=qr(),t=Sr(),r=Object.prototype,n=r.hasOwnProperty,o=r.propertyIsEnumerable,i=e(function(){return arguments}())?e:function(e){return t(e)&&n.call(e,"callee")&&!o.call(e,"callee")};return pr=i}function Mr(){if(dr)return br;dr=1;var e=Array.isArray;return br=e}function Fr(){if(mr)return yr;mr=1;return yr=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}}function Lr(){if(Rr)return wr;Rr=1;var e=vt(),t=Fr();return wr=function(r){return null!=r&&t(r.length)&&!e(r)}}function Ur(){if(Pr)return _r;Pr=1;var e=Lr(),t=Sr();return _r=function(r){return t(r)&&e(r)}}var zr,Vr,Gr,Hr,Dr,Wr,Kr,Yr,Jr,Qr={exports:{}};function Xr(){if(Vr)return zr;return Vr=1,zr=function(){return!1}}function Zr(){return Gr||(Gr=1,function(e,t){var r=ct(),n=Xr(),o=t&&!t.nodeType&&t,i=o&&e&&!e.nodeType&&e,u=i&&i.exports===o?r.Buffer:void 0,a=(u?u.isBuffer:void 0)||n;e.exports=a}(Qr,Qr.exports)),Qr.exports}function en(){if(Dr)return Hr;Dr=1;var e=gt(),t=Tr(),r=Sr(),n=Function.prototype,o=Object.prototype,i=n.toString,u=o.hasOwnProperty,a=i.call(Object);return Hr=function(n){if(!r(n)||"[object Object]"!=e(n))return!1;var o=t(n);if(null===o)return!0;var s=u.call(o,"constructor")&&o.constructor;return"function"==typeof s&&s instanceof s&&i.call(s)==a}}function tn(){if(Kr)return Wr;Kr=1;var e=gt(),t=Fr(),r=Sr(),n={};return n["[object Float32Array]"]=n["[object Float64Array]"]=n["[object Int8Array]"]=n["[object Int16Array]"]=n["[object Int32Array]"]=n["[object Uint8Array]"]=n["[object Uint8ClampedArray]"]=n["[object Uint16Array]"]=n["[object Uint32Array]"]=!0,n["[object Arguments]"]=n["[object Array]"]=n["[object ArrayBuffer]"]=n["[object Boolean]"]=n["[object DataView]"]=n["[object Date]"]=n["[object Error]"]=n["[object Function]"]=n["[object Map]"]=n["[object Number]"]=n["[object Object]"]=n["[object RegExp]"]=n["[object Set]"]=n["[object String]"]=n["[object WeakMap]"]=!1,Wr=function(o){return r(o)&&t(o.length)&&!!n[e(o)]}}function rn(){if(Jr)return Yr;return Jr=1,Yr=function(e){return function(t){return e(t)}}}var nn,on,un,an,sn,cn,ln,fn,hn,gn,pn,vn,bn,dn,yn,mn,wn,Rn,_n,Pn,xn,En,Nn,On,jn,kn,Cn,Bn,Tn,An,In,Sn,qn,$n,Mn,Fn,Ln,Un,zn,Vn,Gn,Hn,Dn,Wn,Kn,Yn,Jn,Qn,Xn,Zn={exports:{}};function eo(){return nn||(nn=1,function(e,t){var r=st(),n=t&&!t.nodeType&&t,o=n&&e&&!e.nodeType&&e,i=o&&o.exports===n&&r.process,u=function(){try{var e=o&&o.require&&o.require("util").types;return e||i&&i.binding&&i.binding("util")}catch(e){}}();e.exports=u}(Zn,Zn.exports)),Zn.exports}function to(){if(un)return on;un=1;var e=tn(),t=rn(),r=eo(),n=r&&r.isTypedArray,o=n?t(n):e;return on=o}function ro(){if(sn)return an;return sn=1,an=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}}function no(){if(ln)return cn;ln=1;var e=Ut(),t=Qe(),r=Object.prototype.hasOwnProperty;return cn=function(n,o,i){var u=n[o];r.call(n,o)&&t(u,i)&&(void 0!==i||o in n)||e(n,o,i)}}function oo(){if(hn)return fn;hn=1;var e=no(),t=Ut();return fn=function(r,n,o,i){var u=!o;o||(o={});for(var a=-1,s=n.length;++a<s;){var c=n[a],l=i?i(o[c],r[c],c,o,r):void 0;void 0===l&&(l=r[c]),u?t(o,c,l):e(o,c,l)}return o}}function io(){if(pn)return gn;return pn=1,gn=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}}function uo(){if(bn)return vn;bn=1;var e=/^(?:0|[1-9]\d*)$/;return vn=function(t,r){var n=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==n||"symbol"!=n&&e.test(t))&&t>-1&&t%1==0&&t<r}}function ao(){if(yn)return dn;yn=1;var e=io(),t=$r(),r=Mr(),n=Zr(),o=uo(),i=to(),u=Object.prototype.hasOwnProperty;return dn=function(a,s){var c=r(a),l=!c&&t(a),f=!c&&!l&&n(a),h=!c&&!l&&!f&&i(a),g=c||l||f||h,p=g?e(a.length,String):[],v=p.length;for(var b in a)!s&&!u.call(a,b)||g&&("length"==b||f&&("offset"==b||"parent"==b)||h&&("buffer"==b||"byteLength"==b||"byteOffset"==b)||o(b,v))||p.push(b);return p}}function so(){if(wn)return mn;return wn=1,mn=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}}function co(){if(_n)return Rn;_n=1;var e=pt(),t=Ar(),r=so(),n=Object.prototype.hasOwnProperty;return Rn=function(o){if(!e(o))return r(o);var i=t(o),u=[];for(var a in o)("constructor"!=a||!i&&n.call(o,a))&&u.push(a);return u}}function lo(){if(xn)return Pn;xn=1;var e=ao(),t=co(),r=Lr();return Pn=function(n){return r(n)?e(n,!0):t(n)}}function fo(){if(Nn)return En;Nn=1;var e=oo(),t=lo();return En=function(r){return e(r,t(r))}}function ho(){if(jn)return On;jn=1;var e=zt(),t=Er(),r=jr(),n=kr(),o=Ir(),i=$r(),u=Mr(),a=Ur(),s=Zr(),c=vt(),l=pt(),f=en(),h=to(),g=ro(),p=fo();return On=function(v,b,d,y,m,w,R){var _=g(v,d),P=g(b,d),x=R.get(P);if(x)e(v,d,x);else{var E=w?w(_,P,d+"",v,b,R):void 0,N=void 0===E;if(N){var O=u(P),j=!O&&s(P),k=!O&&!j&&h(P);E=P,O||j||k?u(_)?E=_:a(_)?E=n(_):j?(N=!1,E=t(P,!0)):k?(N=!1,E=r(P,!0)):E=[]:f(P)||i(P)?(E=_,i(_)?E=p(_):l(_)&&!c(_)||(E=o(P))):N=!1}N&&(R.set(P,E),m(E,P,y,w,R),R.delete(P)),e(v,d,E)}}}function go(){if(Cn)return kn;Cn=1;var e=Ft(),t=zt(),r=Gt(),n=ho(),o=pt(),i=lo(),u=ro();return kn=function a(s,c,l,f,h){s!==c&&r(c,(function(r,i){if(h||(h=new e),o(r))n(s,c,i,l,a,f,h);else{var g=f?f(u(s,i),r,i+"",s,c,h):void 0;void 0===g&&(g=r),t(s,i,g)}}),i)},kn}function po(){if(Tn)return Bn;return Tn=1,Bn=function(e){return e}}function vo(){if(In)return An;return In=1,An=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}}function bo(){if(qn)return Sn;qn=1;var e=vo(),t=Math.max;return Sn=function(r,n,o){return n=t(void 0===n?r.length-1:n,0),function(){for(var i=arguments,u=-1,a=t(i.length-n,0),s=Array(a);++u<a;)s[u]=i[n+u];u=-1;for(var c=Array(n+1);++u<n;)c[u]=i[u];return c[n]=o(s),e(r,this,c)}},Sn}function yo(){if(Mn)return $n;return Mn=1,$n=function(e){return function(){return e}}}function mo(){if(Ln)return Fn;Ln=1;var e=yo(),t=Lt();return Fn=t?function(r,n){return t(r,"toString",{configurable:!0,enumerable:!1,value:e(n),writable:!0})}:po()}function wo(){if(zn)return Un;zn=1;var e=Date.now;return Un=function(t){var r=0,n=0;return function(){var o=e(),i=16-(o-n);if(n=o,i>0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}},Un}function Ro(){if(Gn)return Vn;Gn=1;var e=mo(),t=wo()(e);return Vn=t}function _o(){if(Dn)return Hn;Dn=1;var e=po(),t=bo(),r=Ro();return Hn=function(n,o){return r(t(n,o,e),n+"")}}function Po(){if(Kn)return Wn;Kn=1;var e=Qe(),t=Lr(),r=uo(),n=pt();return Wn=function(o,i,u){if(!n(u))return!1;var a=typeof i;return!!("number"==a?t(u)&&r(i,u.length):"string"==a&&i in u)&&e(u[i],o)}}function xo(){if(Jn)return Yn;Jn=1;var e=_o(),t=Po();return Yn=function(r){return e((function(e,n){var o=-1,i=n.length,u=i>1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(u=r.length>3&&"function"==typeof u?(i--,u):void 0,a&&t(n[0],n[1],a)&&(u=i<3?void 0:u,i=1),e=Object(e);++o<i;){var s=n[o];s&&r(e,s,o,u)}return e}))}}function Eo(){if(Xn)return Qn;Xn=1;var e=go(),t=xo()((function(t,r,n){e(t,r,n)}));return Qn=t}var No,Oo,jo,ko,Co,Bo,To,Ao,Io,So,qo,$o,Mo,Fo,Lo,Uo,zo,Vo,Go,Ho,Do,Wo,Ko,Yo,Jo=Ye(Eo());function Qo(){if(Oo)return No;Oo=1;var e=gt(),t=Sr();return No=function(r){return"symbol"==typeof r||t(r)&&"[object Symbol]"==e(r)}}function Xo(){if(ko)return jo;ko=1;var e=Mr(),t=Qo(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;return jo=function(o,i){if(e(o))return!1;var u=typeof o;return!("number"!=u&&"symbol"!=u&&"boolean"!=u&&null!=o&&!t(o))||(n.test(o)||!r.test(o)||null!=i&&o in Object(i))}}function Zo(){if(Bo)return Co;Bo=1;var e=$t();function t(r,n){if("function"!=typeof r||null!=n&&"function"!=typeof n)throw new TypeError("Expected a function");var o=function(){var e=arguments,t=n?n.apply(this,e):e[0],i=o.cache;if(i.has(t))return i.get(t);var u=r.apply(this,e);return o.cache=i.set(t,u)||i,u};return o.cache=new(t.Cache||e),o}return t.Cache=e,Co=t}function ei(){if(Ao)return To;Ao=1;var e=Zo();return To=function(t){var r=e(t,(function(e){return 500===n.size&&n.clear(),e})),n=r.cache;return r}}function ti(){if(So)return Io;So=1;var e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,t=/\\(\\)?/g,r=ei()((function(r){var n=[];return 46===r.charCodeAt(0)&&n.push(""),r.replace(e,(function(e,r,o,i){n.push(o?i.replace(t,"$1"):r||e)})),n}));return Io=r}function ri(){if($o)return qo;return $o=1,qo=function(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o}}function ni(){if(Fo)return Mo;Fo=1;var e=lt(),t=ri(),r=Mr(),n=Qo(),o=e?e.prototype:void 0,i=o?o.toString:void 0;return Mo=function e(o){if("string"==typeof o)return o;if(r(o))return t(o,e)+"";if(n(o))return i?i.call(o):"";var u=o+"";return"0"==u&&1/o==-1/0?"-0":u},Mo}function oi(){if(Uo)return Lo;Uo=1;var e=ni();return Lo=function(t){return null==t?"":e(t)}}function ii(){if(Vo)return zo;Vo=1;var e=Mr(),t=Xo(),r=ti(),n=oi();return zo=function(o,i){return e(o)?o:t(o,i)?[o]:r(n(o))}}function ui(){if(Ho)return Go;Ho=1;var e=Qo();return Go=function(t){if("string"==typeof t||e(t))return t;var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}}function ai(){if(Wo)return Do;Wo=1;var e=ii(),t=ui();return Do=function(r,n){for(var o=0,i=(n=e(n,r)).length;null!=r&&o<i;)r=r[t(n[o++])];return o&&o==i?r:void 0}}function si(){if(Yo)return Ko;Yo=1;var e=ai();return Ko=function(t,r,n){var o=null==t?void 0:e(t,r);return void 0===o?n:o}}var ci,li,fi=Ye(si());class hi extends Ge.FeScriptContext{env;config;constructor(e){super(e),this.config=Jo({},this.feConfig.release,this.options),this.env=this.getInitEnv()}setConfig(e){this.config=Jo(this.config,e)}getConfig(e,t){return fi(this.config,e,t)}getInitEnv(){return He.Env.searchEnv({logger:this.logger,preloadList:this.feConfig.envOrder})}getEnv(){return this.env}getPkg(e){return this.getConfig(["packageJson",e])}}class gi{context;onlyOne=!0;constructor(e){this.context=e}get logger(){return this.context.logger}get shell(){return this.context.shell}getEnv(e,t){return this.context.getEnv().get(e)??t}enabled(){return!0}getConfig(e,t){return this.context.getConfig(e,t)}setConfig(e){this.context.setConfig(e)}onBefore(e){}onSuccess(e){}onError(e){}async step({label:e,task:t}){this.logger.obtrusive(e);try{const r=await t();return this.logger.info(`${e} - success`),r}catch(e){throw this.logger.error(e),e}}}class pi extends gi{pluginName="check-environment";constructor(e,t){if(super(e),!t)throw new Error("releaseIt is not required");this.hasReleaseIt(),this.hasGithubToken()}hasReleaseIt(){if("false"===this.getEnv("FE_RELEASE"))throw new Error("Skip Release");return!0}hasGithubToken(){const e=this.getEnv("GITHUB_TOKEN")||this.getEnv("PAT_TOKEN");if(!e)throw new Error("GITHUB_TOKEN or PAT_TOKEN environment variable is not set.");return this.setConfig({githubToken:e}),!0}onBefore(e){this.logger.verbose("CheckEnvironment onBefore")}}class vi{context;constructor(e){this.context=e;const t=this.context.getEnv().get("FE_RELEASE_BRANCH")??this.context.getEnv().get("FE_RELEASE_SOURCE_BRANCH")??"master";this.context.setConfig({sourceBranch:t})}getReleaseIt(){return this.context.getConfig("releaseIt")}getReleaseItChangelogOptions(){return{ci:!0,increment:"patch",npm:{publish:!1},git:{requireCleanWorkingDir:!1,tag:!1,push:!1},github:{release:!1},verbose:!0,"dry-run":this.context.dryRun}}getChangelogAndFeatures(e){return e||this.context.logger.warn("No release-it output found, changelog might be incomplete"),fi(e,"changelog","No changelog")}createChangelogAndVersion(){const e=this.getReleaseIt();if(!e)throw new Error("releaseIt instance is not set");return e(this.getReleaseItChangelogOptions())}}class bi{context;constructor(e){this.context=e;const t=this.context.getConfig("releaseEnv")??this.context.getEnv().get("NODE_ENV")??"development",r=this.context.getEnv().get("FE_RELEASE_BRANCH")??this.context.getEnv().get("FE_RELEASE_SOURCE_BRANCH")??"master";this.context.setConfig({releaseEnv:t,sourceBranch:r})}get sourceBranch(){return this.context.getConfig("sourceBranch")}get releaseEnv(){return this.context.getConfig("releaseEnv")}async checkTag(e){const t=fi(e,"version")||this.context.getPkg("version");if("string"!=typeof t)throw new Error("Tag name is not a string");return this.context.logger.verbose("Created Tag is:",t),{tagName:t}}getReleaseBranchName(e){const t=this.context.getConfig("branchName","release-${tagName}");if("string"!=typeof t)throw new Error("Branch name template is not a string");return this.context.logger.verbose("Release Branch template is:",t),this.context.shell.format(t,{env:this.releaseEnv,branch:this.sourceBranch,tagName:e})}async createReleaseBranch(e){const{tagName:t}=await this.checkTag(e),r=this.getReleaseBranchName(t),n=this.sourceBranch;this.context.logger.verbose("PR SourceBranch is:",n),this.context.logger.verbose("PR TargetBranch is:",r);try{await this.context.shell.exec(`git fetch origin ${n}`),await this.context.shell.exec(`git merge origin/${n}`),await this.context.shell.exec(`git checkout -b ${r}`),await this.context.shell.exec(`git push origin ${r}`)}catch(e){throw e.message.includes("remote: Permission to ")&&this.context.logger.warn('Token maybe not allow Workflow permissions, can you try to open "Workflow permissions" -> "Read and write permissions" for this token?'),e}return{tagName:t,releaseBranch:r}}}class di{context;releaseBase;releasePR;constructor(e,t,r){this.context=e,this.releaseBase=t,this.releasePR=r}get logger(){return this.context.logger}get shell(){return this.context.shell}get autoMergeType(){return this.context.getConfig("autoMergeType","squash")}get dryRunPRNumber(){return this.context.getConfig("dryRunPRNumber","999999")}get autoMergeReleasePR(){return this.context.getConfig("autoMergeReleasePR",!1)}async mergePR(e,t){if(!e)return void this.logger.error("Failed to create Pull Request.",e);const r=this.autoMergeType;if(this.context.dryRun){const{repoName:n,authorName:o}=this.releaseBase.repoInfo;this.logger.info(`[DRY RUN] Would merge PR #${e} with method '${r}' in repo ${o}/${n}, branch ${t}`)}else await this.releasePR.mergePullRequest({pull_number:Number(e),merge_method:r})}async checkedPR(e,t){try{await this.releasePR.getPullRequest({pull_number:Number(e)}),await this.releasePR.deleteBranch({ref:`heads/${t}`}),this.logger.info(`Branch ${t} has been deleted`)}catch(r){if(404===r.status)return void this.logger.warn(`PR #${e} or branch ${t} not found`);throw this.logger.error("Failed to check PR or delete branch",r),r}}async createReleasePRLabel(){const e=this.context.getConfig("label");if(!(e&&e.name&&e.description&&e.color))throw new Error("Label is not valid, skipping creation");if(this.context.dryRun)return this.logger.info("[DRY RUN] Would create PR label with:",e),e;try{const t=await this.releasePR.createPullRequestLabel({name:e.name,description:e.description,color:e.color.replace("#","")});return this.logger.debug("Create PR label Success",t),e}catch(t){if(422===t.status)return this.logger.warn(`Label ${e.name} already exists, skipping!`),e;throw this.logger.error("Create PR label Failed",t),t}}async createReleasePR(e){const t=this.getCreateReleasePROptions(e);if(this.context.dryRun)return this.logger.info("[DRY RUN] Would create PR with:",{...t,labels:e.labels}),this.dryRunPRNumber;try{const r=await this.releasePR.createPullRequest(t),n=r.number;if(!n)throw new Error("CreateReleasePR Failed, prNumber is empty");if(this.logger.debug("Create PR Success",r),e.labels&&e.labels.length){const t=await this.releasePR.addPullRequestLabels({issue_number:n,labels:e.labels});this.logger.debug("Add PR label Success",t)}return n.toString()}catch(e){if(422===e.status&&e.message.includes("already exists")){this.logger.warn("PR already exists");const t=e.message.match(/pull request #(\d+)/);return t?t[1]:""}throw this.logger.error("Failed to create PR",e),e}}getCreateReleasePROptions(e){return{title:this.getReleasePRTitle(e),body:this.getReleasePRBody(e),base:e.sourceBranch,head:e.releaseBranch}}getReleasePRTitle(e){const t=this.context.getConfig("PRTitle","Release ${env} ${pkgName} ${tagName}");return this.shell.format(t,{env:e.releaseEnv,branch:e.sourceBranch,tagName:e.tagName,pkgName:this.context.getPkg("name")})}getReleasePRBody(e){const t=this.context.getConfig("PRBody","");return this.shell.format(t,{branch:e.sourceBranch,env:e.releaseEnv,tagName:e.tagName,changelog:e.changelog})}}function yi(){if(li)return ci;li=1;var e=gt(),t=Mr(),r=Sr();return ci=function(n){return"string"==typeof n||!t(n)&&r(n)&&"[object String]"==e(n)}}var mi=Ye(yi());class wi{context;constructor(e){this.context=e}get repoInfo(){return this.context.getConfig("repoInfo")}async init(){const e=await this.getUserInfo();this.context.setConfig({repoInfo:e})}async getUserInfo(){let e;try{e=(await this.context.shell.exec("git config --get remote.origin.url",{dryRun:!1})).trim()}catch(e){throw new Error("Failed to get git remote url. Please ensure this is a git repository with a valid remote.")}if(!e)throw new Error("Git remote URL is empty. Please set a valid GitHub remote URL.");this.context.logger.verbose("repoUrl: ",e);const t=e.match(/github\.com[:/]([^/]+)\/([^/.]+)(?:\.git)?$/);if(!t)throw new Error("Invalid GitHub repository URL format. Please ensure the remote URL is from GitHub.");const[,r,n]=t;if(!this.isValidString(r)||!this.isValidString(n))throw new Error("Failed to extract owner or repository name from GitHub URL");return{repoName:n,authorName:r}}isValidString(e){return!!e&&mi(e)}}class Ri extends gi{context;releasePR;pluginName="create-release-pr";changelogManager;branchManager;pullRequestManager;releaseBase;constructor(e,t){super(e),this.context=e,this.releasePR=t,this.releaseBase=new wi(e),this.changelogManager=new vi(e),this.branchManager=new bi(e),this.pullRequestManager=new di(e,this.releaseBase,this.releasePR)}get githubToken(){return this.getConfig("githubToken")}async onBefore(){this.logger.verbose("CreateReleasePullRequest onBefore"),await this.releaseBase.init();const e=this.releaseBase.repoInfo;if(!e)throw new Error("repoInfo is not set");await this.releasePR.init({token:this.githubToken,repoName:e.repoName,authorName:e.authorName})}async onSuccess(){const e=await this.step({label:"Create Changelog and Version",task:()=>this.changelogManager.createChangelogAndVersion()}),{tagName:t,releaseBranch:r}=await this.step({label:"Create Release Branch",task:()=>this.branchManager.createReleaseBranch(e)}),n=await this.step({label:"Create Release PR",task:()=>this.createReleasePR(t,r,e)});if(this.pullRequestManager.autoMergeReleasePR)return await this.step({label:`Merge Release PR(${n})`,task:()=>this.pullRequestManager.mergePR(n,r)}),void await this.step({label:`Checked Release PR(${n})`,task:()=>this.pullRequestManager.checkedPR(n,r)});this.logger.info(`Please manually merge PR(#${n}) and complete the publishing process afterwards`)}async createReleasePR(e,t,r){const n=this.changelogManager.getChangelogAndFeatures(r),o=[(await this.pullRequestManager.createReleasePRLabel()).name];return this.pullRequestManager.createReleasePR({tagName:e,releaseBranch:t,changelog:n,sourceBranch:this.branchManager.sourceBranch,releaseEnv:this.branchManager.releaseEnv,labels:o})}}class _i{options;octokit;constructor(e={}){this.options=e}async init({token:e,repoName:t,authorName:r}){if(this.octokit)return this.octokit;if(!e)throw new Error("Github token is not set");this.options.repoName=t,this.options.authorName=r;const{Octokit:n}=await import("@octokit/rest"),o=new n({auth:e});return this.octokit=o,o}getOctokit(){if(!this.octokit)throw new Error("Octokit is not initialized");return this.octokit}mergePullRequest(e){return this.getOctokit().rest.pulls.merge({...e,owner:e.owner||this.options.authorName||"",repo:e.repo||this.options.repoName||""})}getPullRequest(e){return this.getOctokit().rest.pulls.get({...e,owner:e.owner||this.options.authorName||"",repo:e.repo||this.options.repoName||""})}deleteBranch(e){return this.getOctokit().rest.git.deleteRef({...e,owner:e.owner||this.options.authorName||"",repo:e.repo||this.options.repoName||""})}addPullRequestLabels(e){return this.getOctokit().rest.issues.addLabels({...e,owner:e.owner||this.options.authorName||"",repo:e.repo||this.options.repoName||""})}async createPullRequestLabel(e){return await this.getOctokit().rest.issues.createLabel({...e,owner:e.owner||this.options.authorName||"",repo:e.repo||this.options.repoName||""})}async createPullRequest(e){const t=await this.getOctokit().rest.pulls.create({...e,owner:e.owner||this.options.authorName||"",repo:e.repo||this.options.repoName||""});return{...t.data,number:t.data.number}}}var Pi=Ye(pt());class xi extends gi{pluginName="publish-npm";_releaseItOutput;constructor(e){super(e),this.getIncrementVersion()}async onBefore(){this.logger.verbose("PublishNpm onBefore"),await this.checkNpmAuth()}async onSuccess(){const e=this.getPublishReleaseItOptions(this.context);await this.step({label:"Publish to NPM",task:()=>this.publish(e)})}async publish(e){this.logger.debug("Run release-it method",e);const t=this.getConfig("releaseIt");if(!t)throw new Error("releaseIt instance is not set");return this._releaseItOutput=await t(e),this._releaseItOutput}getPublishReleaseItOptions(e){return{ci:!0,npm:{publish:!0},git:{requireCleanWorkingDir:!1,requireUpstream:!1,changelog:!1},plugins:{"@release-it/conventional-changelog":{infile:!1}},"dry-run":e.dryRun,verbose:!0,increment:this.getIncrementVersion()}}getIncrementVersion(){const e=this.getConfig("packageJson");if(!Pi(e))throw new Error("package.json is undefined");if(!("version"in e))throw new Error("package.json version is required");return e.version}async checkNpmAuth(){const e=this.getEnv("NPM_TOKEN");if(!e)throw new Error("NPM_TOKEN is not set.");this.setConfig({npmToken:e}),await this.shell.exec(`echo //registry.npmjs.org/:_authToken=${e} > .npmrc`,{dryRun:!1})}}class Ei extends gi{pluginName="publish-path";constructor(e){super(e)}async onBefore(){this.logger.verbose("PublishPath onBefore"),this.checkPublishPath()}async checkPublishPath(){const e=this.getPublishPath();this.switchToPublishPath(e),this.logger.debug("Current path:",e)}switchToPublishPath(e){e&&We.existsSync(e)&&(this.logger.debug("Switching to publish path:",e),process.chdir(e))}getPublishPath(){const e=this.getConfig("publishPath");return"string"==typeof e?e:process.cwd()}}exports.Plugin=gi,exports.ReleaseContext=hi,exports.release=function(e){const t=new hi(e),r=new De.AsyncExecutor;return function(e){const t=[];return t.push(new pi(e,e.options.releaseIt)),e.options.pullRequest?t.push(new Ri(e,new _i)):t.push(new xi(e)),t.push(new Ei(e)),t}(t).forEach((e=>{r.use(e)})),r.exec(t,(({returnValue:e})=>Promise.resolve(e)))};
|
|
1
|
+
"use strict";var e,t,r,n,o,i,u,a,s,c,l,f,h,g,p,v,b,d,y,w,m,R,_,P,x,E,N,O,j,k,C,B,T,A,q,I,S,$,M,F,L,U,z,V,G,H,D,W,K,Y,J,Q,X,Z,ee,te,re,ne,oe,ie,ue,ae,se,ce,le,fe,he,ge,pe,ve,be,de,ye,we,me,Re,_e,Pe,xe,Ee,Ne,Oe,je,ke,Ce,Be,Te,Ae,qe,Ie,Se,$e,Me,Fe,Le,Ue,ze,Ve,Ge=require("@qlover/scripts-context"),He=require("@qlover/env-loader"),De=require("@qlover/fe-utils"),We=require("fs"),Ke=require("path"),Ye=require("module"),Je=require("url"),Qe="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Xe(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Ze(){if(t)return e;return t=1,e=function(){this.__data__=[],this.size=0}}function et(){if(n)return r;return n=1,r=function(e,t){return e===t||e!=e&&t!=t}}function tt(){if(i)return o;i=1;var e=et();return o=function(t,r){for(var n=t.length;n--;)if(e(t[n][0],r))return n;return-1}}function rt(){if(a)return u;a=1;var e=tt(),t=Array.prototype.splice;return u=function(r){var n=this.__data__,o=e(n,r);return!(o<0)&&(o==n.length-1?n.pop():t.call(n,o,1),--this.size,!0)}}function nt(){if(c)return s;c=1;var e=tt();return s=function(t){var r=this.__data__,n=e(r,t);return n<0?void 0:r[n][1]}}function ot(){if(f)return l;f=1;var e=tt();return l=function(t){return e(this.__data__,t)>-1}}function it(){if(g)return h;g=1;var e=tt();return h=function(t,r){var n=this.__data__,o=e(n,t);return o<0?(++this.size,n.push([t,r])):n[o][1]=r,this}}function ut(){if(v)return p;v=1;var e=Ze(),t=rt(),r=nt(),n=ot(),o=it();function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=r,i.prototype.has=n,i.prototype.set=o,p=i}function at(){if(d)return b;d=1;var e=ut();return b=function(){this.__data__=new e,this.size=0}}function st(){if(w)return y;return w=1,y=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}}function ct(){if(R)return m;return R=1,m=function(e){return this.__data__.get(e)}}function lt(){if(P)return _;return P=1,_=function(e){return this.__data__.has(e)}}function ft(){if(E)return x;E=1;var e="object"==typeof Qe&&Qe&&Qe.Object===Object&&Qe;return x=e}function ht(){if(O)return N;O=1;var e=ft(),t="object"==typeof self&&self&&self.Object===Object&&self,r=e||t||Function("return this")();return N=r}function gt(){if(k)return j;k=1;var e=ht().Symbol;return j=e}function pt(){if(B)return C;B=1;var e=gt(),t=Object.prototype,r=t.hasOwnProperty,n=t.toString,o=e?e.toStringTag:void 0;return C=function(e){var t=r.call(e,o),i=e[o];try{e[o]=void 0;var u=!0}catch(e){}var a=n.call(e);return u&&(t?e[o]=i:delete e[o]),a}}function vt(){if(A)return T;A=1;var e=Object.prototype.toString;return T=function(t){return e.call(t)}}function bt(){if(I)return q;I=1;var e=gt(),t=pt(),r=vt(),n=e?e.toStringTag:void 0;return q=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":n&&n in Object(e)?t(e):r(e)}}function dt(){if($)return S;return $=1,S=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}}function yt(){if(F)return M;F=1;var e=bt(),t=dt();return M=function(r){if(!t(r))return!1;var n=e(r);return"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n}}function wt(){if(U)return L;U=1;var e=ht()["__core-js_shared__"];return L=e}function mt(){if(V)return z;V=1;var e,t=wt(),r=(e=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||""))?"Symbol(src)_1."+e:"";return z=function(e){return!!r&&r in e}}function Rt(){if(H)return G;H=1;var e=Function.prototype.toString;return G=function(t){if(null!=t){try{return e.call(t)}catch(e){}try{return t+""}catch(e){}}return""}}function _t(){if(W)return D;W=1;var e=yt(),t=mt(),r=dt(),n=Rt(),o=/^\[object .+?Constructor\]$/,i=Function.prototype,u=Object.prototype,a=i.toString,s=u.hasOwnProperty,c=RegExp("^"+a.call(s).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");return D=function(i){return!(!r(i)||t(i))&&(e(i)?c:o).test(n(i))}}function Pt(){if(Y)return K;return Y=1,K=function(e,t){return null==e?void 0:e[t]}}function xt(){if(Q)return J;Q=1;var e=_t(),t=Pt();return J=function(r,n){var o=t(r,n);return e(o)?o:void 0}}function Et(){if(Z)return X;Z=1;var e=xt()(ht(),"Map");return X=e}function Nt(){if(te)return ee;te=1;var e=xt()(Object,"create");return ee=e}function Ot(){if(ne)return re;ne=1;var e=Nt();return re=function(){this.__data__=e?e(null):{},this.size=0}}function jt(){if(ie)return oe;return ie=1,oe=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}}function kt(){if(ae)return ue;ae=1;var e=Nt(),t=Object.prototype.hasOwnProperty;return ue=function(r){var n=this.__data__;if(e){var o=n[r];return"__lodash_hash_undefined__"===o?void 0:o}return t.call(n,r)?n[r]:void 0}}function Ct(){if(ce)return se;ce=1;var e=Nt(),t=Object.prototype.hasOwnProperty;return se=function(r){var n=this.__data__;return e?void 0!==n[r]:t.call(n,r)}}function Bt(){if(fe)return le;fe=1;var e=Nt();return le=function(t,r){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=e&&void 0===r?"__lodash_hash_undefined__":r,this}}function Tt(){if(ge)return he;ge=1;var e=Ot(),t=jt(),r=kt(),n=Ct(),o=Bt();function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=r,i.prototype.has=n,i.prototype.set=o,he=i}function At(){if(ve)return pe;ve=1;var e=Tt(),t=ut(),r=Et();return pe=function(){this.size=0,this.__data__={hash:new e,map:new(r||t),string:new e}}}function qt(){if(de)return be;return de=1,be=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}}function It(){if(we)return ye;we=1;var e=qt();return ye=function(t,r){var n=t.__data__;return e(r)?n["string"==typeof r?"string":"hash"]:n.map}}function St(){if(Re)return me;Re=1;var e=It();return me=function(t){var r=e(this,t).delete(t);return this.size-=r?1:0,r}}function $t(){if(Pe)return _e;Pe=1;var e=It();return _e=function(t){return e(this,t).get(t)}}function Mt(){if(Ee)return xe;Ee=1;var e=It();return xe=function(t){return e(this,t).has(t)}}function Ft(){if(Oe)return Ne;Oe=1;var e=It();return Ne=function(t,r){var n=e(this,t),o=n.size;return n.set(t,r),this.size+=n.size==o?0:1,this}}function Lt(){if(ke)return je;ke=1;var e=At(),t=St(),r=$t(),n=Mt(),o=Ft();function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=r,i.prototype.has=n,i.prototype.set=o,je=i}function Ut(){if(Be)return Ce;Be=1;var e=ut(),t=Et(),r=Lt();return Ce=function(n,o){var i=this.__data__;if(i instanceof e){var u=i.__data__;if(!t||u.length<199)return u.push([n,o]),this.size=++i.size,this;i=this.__data__=new r(u)}return i.set(n,o),this.size=i.size,this}}function zt(){if(Ae)return Te;Ae=1;var e=ut(),t=at(),r=st(),n=ct(),o=lt(),i=Ut();function u(t){var r=this.__data__=new e(t);this.size=r.size}return u.prototype.clear=t,u.prototype.delete=r,u.prototype.get=n,u.prototype.has=o,u.prototype.set=i,Te=u}function Vt(){if(Ie)return qe;Ie=1;var e=xt(),t=function(){try{var t=e(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();return qe=t}function Gt(){if($e)return Se;$e=1;var e=Vt();return Se=function(t,r,n){"__proto__"==r&&e?e(t,r,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[r]=n}}function Ht(){if(Fe)return Me;Fe=1;var e=Gt(),t=et();return Me=function(r,n,o){(void 0!==o&&!t(r[n],o)||void 0===o&&!(n in r))&&e(r,n,o)}}function Dt(){if(Ue)return Le;return Ue=1,Le=function(e){return function(t,r,n){for(var o=-1,i=Object(t),u=n(t),a=u.length;a--;){var s=u[e?a:++o];if(!1===r(i[s],s,i))break}return t}}}function Wt(){if(Ve)return ze;Ve=1;var e=Dt()();return ze=e}var Kt,Yt,Jt,Qt,Xt,Zt,er,tr,rr,nr,or,ir,ur,ar,sr,cr,lr,fr,hr,gr,pr,vr,br,dr,yr,wr,mr,Rr,_r,Pr,xr,Er,Nr,Or={exports:{}};function jr(){return Kt||(Kt=1,function(e,t){var r=ht(),n=t&&!t.nodeType&&t,o=n&&e&&!e.nodeType&&e,i=o&&o.exports===n?r.Buffer:void 0,u=i?i.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=u?u(r):new e.constructor(r);return e.copy(n),n}}(Or,Or.exports)),Or.exports}function kr(){if(Jt)return Yt;Jt=1;var e=ht().Uint8Array;return Yt=e}function Cr(){if(Xt)return Qt;Xt=1;var e=kr();return Qt=function(t){var r=new t.constructor(t.byteLength);return new e(r).set(new e(t)),r}}function Br(){if(er)return Zt;er=1;var e=Cr();return Zt=function(t,r){var n=r?e(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}}function Tr(){if(rr)return tr;return rr=1,tr=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}}function Ar(){if(or)return nr;or=1;var e=dt(),t=Object.create,r=function(){function r(){}return function(n){if(!e(n))return{};if(t)return t(n);r.prototype=n;var o=new r;return r.prototype=void 0,o}}();return nr=r}function qr(){if(ur)return ir;return ur=1,ir=function(e,t){return function(r){return e(t(r))}}}function Ir(){if(sr)return ar;sr=1;var e=qr()(Object.getPrototypeOf,Object);return ar=e}function Sr(){if(lr)return cr;lr=1;var e=Object.prototype;return cr=function(t){var r=t&&t.constructor;return t===("function"==typeof r&&r.prototype||e)}}function $r(){if(hr)return fr;hr=1;var e=Ar(),t=Ir(),r=Sr();return fr=function(n){return"function"!=typeof n.constructor||r(n)?{}:e(t(n))}}function Mr(){if(pr)return gr;return pr=1,gr=function(e){return null!=e&&"object"==typeof e}}function Fr(){if(br)return vr;br=1;var e=bt(),t=Mr();return vr=function(r){return t(r)&&"[object Arguments]"==e(r)}}function Lr(){if(yr)return dr;yr=1;var e=Fr(),t=Mr(),r=Object.prototype,n=r.hasOwnProperty,o=r.propertyIsEnumerable,i=e(function(){return arguments}())?e:function(e){return t(e)&&n.call(e,"callee")&&!o.call(e,"callee")};return dr=i}function Ur(){if(mr)return wr;mr=1;var e=Array.isArray;return wr=e}function zr(){if(_r)return Rr;_r=1;return Rr=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}}function Vr(){if(xr)return Pr;xr=1;var e=yt(),t=zr();return Pr=function(r){return null!=r&&t(r.length)&&!e(r)}}function Gr(){if(Nr)return Er;Nr=1;var e=Vr(),t=Mr();return Er=function(r){return t(r)&&e(r)}}var Hr,Dr,Wr,Kr,Yr,Jr,Qr,Xr,Zr,en={exports:{}};function tn(){if(Dr)return Hr;return Dr=1,Hr=function(){return!1}}function rn(){return Wr||(Wr=1,function(e,t){var r=ht(),n=tn(),o=t&&!t.nodeType&&t,i=o&&e&&!e.nodeType&&e,u=i&&i.exports===o?r.Buffer:void 0,a=(u?u.isBuffer:void 0)||n;e.exports=a}(en,en.exports)),en.exports}function nn(){if(Yr)return Kr;Yr=1;var e=bt(),t=Ir(),r=Mr(),n=Function.prototype,o=Object.prototype,i=n.toString,u=o.hasOwnProperty,a=i.call(Object);return Kr=function(n){if(!r(n)||"[object Object]"!=e(n))return!1;var o=t(n);if(null===o)return!0;var s=u.call(o,"constructor")&&o.constructor;return"function"==typeof s&&s instanceof s&&i.call(s)==a}}function on(){if(Qr)return Jr;Qr=1;var e=bt(),t=zr(),r=Mr(),n={};return n["[object Float32Array]"]=n["[object Float64Array]"]=n["[object Int8Array]"]=n["[object Int16Array]"]=n["[object Int32Array]"]=n["[object Uint8Array]"]=n["[object Uint8ClampedArray]"]=n["[object Uint16Array]"]=n["[object Uint32Array]"]=!0,n["[object Arguments]"]=n["[object Array]"]=n["[object ArrayBuffer]"]=n["[object Boolean]"]=n["[object DataView]"]=n["[object Date]"]=n["[object Error]"]=n["[object Function]"]=n["[object Map]"]=n["[object Number]"]=n["[object Object]"]=n["[object RegExp]"]=n["[object Set]"]=n["[object String]"]=n["[object WeakMap]"]=!1,Jr=function(o){return r(o)&&t(o.length)&&!!n[e(o)]}}function un(){if(Zr)return Xr;return Zr=1,Xr=function(e){return function(t){return e(t)}}}var an,sn,cn,ln,fn,hn,gn,pn,vn,bn,dn,yn,wn,mn,Rn,_n,Pn,xn,En,Nn,On,jn,kn,Cn,Bn,Tn,An,qn,In,Sn,$n,Mn,Fn,Ln,Un,zn,Vn,Gn,Hn,Dn,Wn,Kn,Yn,Jn,Qn,Xn,Zn,eo,to,ro={exports:{}};function no(){return an||(an=1,function(e,t){var r=ft(),n=t&&!t.nodeType&&t,o=n&&e&&!e.nodeType&&e,i=o&&o.exports===n&&r.process,u=function(){try{var e=o&&o.require&&o.require("util").types;return e||i&&i.binding&&i.binding("util")}catch(e){}}();e.exports=u}(ro,ro.exports)),ro.exports}function oo(){if(cn)return sn;cn=1;var e=on(),t=un(),r=no(),n=r&&r.isTypedArray,o=n?t(n):e;return sn=o}function io(){if(fn)return ln;return fn=1,ln=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}}function uo(){if(gn)return hn;gn=1;var e=Gt(),t=et(),r=Object.prototype.hasOwnProperty;return hn=function(n,o,i){var u=n[o];r.call(n,o)&&t(u,i)&&(void 0!==i||o in n)||e(n,o,i)}}function ao(){if(vn)return pn;vn=1;var e=uo(),t=Gt();return pn=function(r,n,o,i){var u=!o;o||(o={});for(var a=-1,s=n.length;++a<s;){var c=n[a],l=i?i(o[c],r[c],c,o,r):void 0;void 0===l&&(l=r[c]),u?t(o,c,l):e(o,c,l)}return o}}function so(){if(dn)return bn;return dn=1,bn=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}}function co(){if(wn)return yn;wn=1;var e=/^(?:0|[1-9]\d*)$/;return yn=function(t,r){var n=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==n||"symbol"!=n&&e.test(t))&&t>-1&&t%1==0&&t<r}}function lo(){if(Rn)return mn;Rn=1;var e=so(),t=Lr(),r=Ur(),n=rn(),o=co(),i=oo(),u=Object.prototype.hasOwnProperty;return mn=function(a,s){var c=r(a),l=!c&&t(a),f=!c&&!l&&n(a),h=!c&&!l&&!f&&i(a),g=c||l||f||h,p=g?e(a.length,String):[],v=p.length;for(var b in a)!s&&!u.call(a,b)||g&&("length"==b||f&&("offset"==b||"parent"==b)||h&&("buffer"==b||"byteLength"==b||"byteOffset"==b)||o(b,v))||p.push(b);return p}}function fo(){if(Pn)return _n;return Pn=1,_n=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}}function ho(){if(En)return xn;En=1;var e=dt(),t=Sr(),r=fo(),n=Object.prototype.hasOwnProperty;return xn=function(o){if(!e(o))return r(o);var i=t(o),u=[];for(var a in o)("constructor"!=a||!i&&n.call(o,a))&&u.push(a);return u}}function go(){if(On)return Nn;On=1;var e=lo(),t=ho(),r=Vr();return Nn=function(n){return r(n)?e(n,!0):t(n)}}function po(){if(kn)return jn;kn=1;var e=ao(),t=go();return jn=function(r){return e(r,t(r))}}function vo(){if(Bn)return Cn;Bn=1;var e=Ht(),t=jr(),r=Br(),n=Tr(),o=$r(),i=Lr(),u=Ur(),a=Gr(),s=rn(),c=yt(),l=dt(),f=nn(),h=oo(),g=io(),p=po();return Cn=function(v,b,d,y,w,m,R){var _=g(v,d),P=g(b,d),x=R.get(P);if(x)e(v,d,x);else{var E=m?m(_,P,d+"",v,b,R):void 0,N=void 0===E;if(N){var O=u(P),j=!O&&s(P),k=!O&&!j&&h(P);E=P,O||j||k?u(_)?E=_:a(_)?E=n(_):j?(N=!1,E=t(P,!0)):k?(N=!1,E=r(P,!0)):E=[]:f(P)||i(P)?(E=_,i(_)?E=p(_):l(_)&&!c(_)||(E=o(P))):N=!1}N&&(R.set(P,E),w(E,P,y,m,R),R.delete(P)),e(v,d,E)}}}function bo(){if(An)return Tn;An=1;var e=zt(),t=Ht(),r=Wt(),n=vo(),o=dt(),i=go(),u=io();return Tn=function a(s,c,l,f,h){s!==c&&r(c,(function(r,i){if(h||(h=new e),o(r))n(s,c,i,l,a,f,h);else{var g=f?f(u(s,i),r,i+"",s,c,h):void 0;void 0===g&&(g=r),t(s,i,g)}}),i)},Tn}function yo(){if(In)return qn;return In=1,qn=function(e){return e}}function wo(){if($n)return Sn;return $n=1,Sn=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}}function mo(){if(Fn)return Mn;Fn=1;var e=wo(),t=Math.max;return Mn=function(r,n,o){return n=t(void 0===n?r.length-1:n,0),function(){for(var i=arguments,u=-1,a=t(i.length-n,0),s=Array(a);++u<a;)s[u]=i[n+u];u=-1;for(var c=Array(n+1);++u<n;)c[u]=i[u];return c[n]=o(s),e(r,this,c)}},Mn}function Ro(){if(Un)return Ln;return Un=1,Ln=function(e){return function(){return e}}}function _o(){if(Vn)return zn;Vn=1;var e=Ro(),t=Vt();return zn=t?function(r,n){return t(r,"toString",{configurable:!0,enumerable:!1,value:e(n),writable:!0})}:yo()}function Po(){if(Hn)return Gn;Hn=1;var e=Date.now;return Gn=function(t){var r=0,n=0;return function(){var o=e(),i=16-(o-n);if(n=o,i>0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}},Gn}function xo(){if(Wn)return Dn;Wn=1;var e=_o(),t=Po()(e);return Dn=t}function Eo(){if(Yn)return Kn;Yn=1;var e=yo(),t=mo(),r=xo();return Kn=function(n,o){return r(t(n,o,e),n+"")}}function No(){if(Qn)return Jn;Qn=1;var e=et(),t=Vr(),r=co(),n=dt();return Jn=function(o,i,u){if(!n(u))return!1;var a=typeof i;return!!("number"==a?t(u)&&r(i,u.length):"string"==a&&i in u)&&e(u[i],o)}}function Oo(){if(Zn)return Xn;Zn=1;var e=Eo(),t=No();return Xn=function(r){return e((function(e,n){var o=-1,i=n.length,u=i>1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(u=r.length>3&&"function"==typeof u?(i--,u):void 0,a&&t(n[0],n[1],a)&&(u=i<3?void 0:u,i=1),e=Object(e);++o<i;){var s=n[o];s&&r(e,s,o,u)}return e}))}}function jo(){if(to)return eo;to=1;var e=bo(),t=Oo()((function(t,r,n){e(t,r,n)}));return eo=t}var ko,Co,Bo,To,Ao,qo,Io,So,$o,Mo,Fo,Lo,Uo,zo,Vo,Go,Ho,Do,Wo,Ko,Yo,Jo,Qo,Xo,Zo=Xe(jo());function ei(){if(Co)return ko;Co=1;var e=bt(),t=Mr();return ko=function(r){return"symbol"==typeof r||t(r)&&"[object Symbol]"==e(r)}}function ti(){if(To)return Bo;To=1;var e=Ur(),t=ei(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;return Bo=function(o,i){if(e(o))return!1;var u=typeof o;return!("number"!=u&&"symbol"!=u&&"boolean"!=u&&null!=o&&!t(o))||(n.test(o)||!r.test(o)||null!=i&&o in Object(i))}}function ri(){if(qo)return Ao;qo=1;var e=Lt();function t(r,n){if("function"!=typeof r||null!=n&&"function"!=typeof n)throw new TypeError("Expected a function");var o=function(){var e=arguments,t=n?n.apply(this,e):e[0],i=o.cache;if(i.has(t))return i.get(t);var u=r.apply(this,e);return o.cache=i.set(t,u)||i,u};return o.cache=new(t.Cache||e),o}return t.Cache=e,Ao=t}function ni(){if(So)return Io;So=1;var e=ri();return Io=function(t){var r=e(t,(function(e){return 500===n.size&&n.clear(),e})),n=r.cache;return r}}function oi(){if(Mo)return $o;Mo=1;var e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,t=/\\(\\)?/g,r=ni()((function(r){var n=[];return 46===r.charCodeAt(0)&&n.push(""),r.replace(e,(function(e,r,o,i){n.push(o?i.replace(t,"$1"):r||e)})),n}));return $o=r}function ii(){if(Lo)return Fo;return Lo=1,Fo=function(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o}}function ui(){if(zo)return Uo;zo=1;var e=gt(),t=ii(),r=Ur(),n=ei(),o=e?e.prototype:void 0,i=o?o.toString:void 0;return Uo=function e(o){if("string"==typeof o)return o;if(r(o))return t(o,e)+"";if(n(o))return i?i.call(o):"";var u=o+"";return"0"==u&&1/o==-1/0?"-0":u},Uo}function ai(){if(Go)return Vo;Go=1;var e=ui();return Vo=function(t){return null==t?"":e(t)}}function si(){if(Do)return Ho;Do=1;var e=Ur(),t=ti(),r=oi(),n=ai();return Ho=function(o,i){return e(o)?o:t(o,i)?[o]:r(n(o))}}function ci(){if(Ko)return Wo;Ko=1;var e=ei();return Wo=function(t){if("string"==typeof t||e(t))return t;var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}}function li(){if(Jo)return Yo;Jo=1;var e=si(),t=ci();return Yo=function(r,n){for(var o=0,i=(n=e(n,r)).length;null!=r&&o<i;)r=r[t(n[o++])];return o&&o==i?r:void 0},Yo}function fi(){if(Xo)return Qo;Xo=1;var e=li();return Qo=function(t,r,n){var o=null==t?void 0:e(t,r);return void 0===o?n:o},Qo}var hi,gi,pi=Xe(fi());class vi extends Ge.FeScriptContext{env;config;constructor(e){super(e),this.config=Zo({},this.feConfig.release,this.options),this.env=this.getInitEnv()}setConfig(e){this.config=Zo(this.config,e)}getConfig(e,t){return pi(this.config,e,t)}getInitEnv(){return He.Env.searchEnv({logger:this.logger,preloadList:this.feConfig.envOrder})}getEnv(){return this.env}getPkg(e){return this.getConfig(["packageJson",e])}}class bi{context;props;onlyOne=!0;constructor(e,t={}){this.context=e,this.props=t}get logger(){return this.context.logger}get shell(){return this.context.shell}getEnv(e,t){return this.context.getEnv().get(e)??t}enabled(){return!0}getConfig(e,t){return this.context.getConfig(e,t)}setConfig(e){this.context.setConfig(e)}onBefore(e){}onSuccess(e){}onError(e){}async step({label:e,task:t}){this.logger.obtrusive(e);try{const r=await t();return this.logger.info(`${e} - success`),r}catch(e){throw this.logger.error(e),e}}}class di extends bi{pluginName="check-environment";constructor(e,t){if(super(e),!t)throw new Error("releaseIt is not required");this.hasReleaseIt(),this.hasGithubToken()}hasReleaseIt(){if("false"===this.getEnv("FE_RELEASE"))throw new Error("Skip Release");return!0}hasGithubToken(){const e=this.getEnv("GITHUB_TOKEN")||this.getEnv("PAT_TOKEN");if(!e)throw new Error("GITHUB_TOKEN or PAT_TOKEN environment variable is not set.");return this.setConfig({githubToken:e}),!0}onBefore(e){this.logger.verbose("CheckEnvironment onBefore")}}class yi{context;constructor(e){this.context=e;const t=this.context.getEnv().get("FE_RELEASE_BRANCH")??this.context.getEnv().get("FE_RELEASE_SOURCE_BRANCH")??"master";this.context.setConfig({sourceBranch:t})}getReleaseIt(){return this.context.getConfig("releaseIt")}getReleaseItChangelogOptions(){return{ci:!0,increment:"patch",npm:{publish:!1},git:{requireCleanWorkingDir:!1,tag:!1,push:!1},github:{release:!1},verbose:!0,"dry-run":this.context.dryRun}}getChangelogAndFeatures(e){return e||this.context.logger.warn("No release-it output found, changelog might be incomplete"),pi(e,"changelog","No changelog")}createChangelogAndVersion(){const e=this.getReleaseIt();if(!e)throw new Error("releaseIt instance is not set");return e(this.getReleaseItChangelogOptions())}}class wi{context;constructor(e){this.context=e;const t=this.context.getConfig("releaseEnv")??this.context.getEnv().get("NODE_ENV")??"development",r=this.context.getEnv().get("FE_RELEASE_BRANCH")??this.context.getEnv().get("FE_RELEASE_SOURCE_BRANCH")??"master";this.context.setConfig({releaseEnv:t,sourceBranch:r})}get sourceBranch(){return this.context.getConfig("sourceBranch")}get releaseEnv(){return this.context.getConfig("releaseEnv")}async checkTag(e){const t=pi(e,"version")||this.context.getPkg("version");if("string"!=typeof t)throw new Error("Tag name is not a string");return this.context.logger.verbose("Created Tag is:",t),{tagName:t}}getReleaseBranchName(e){const t=this.context.getConfig("branchName","release-${tagName}");if("string"!=typeof t)throw new Error("Branch name template is not a string");return this.context.logger.verbose("Release Branch template is:",t),this.context.shell.format(t,{env:this.releaseEnv,branch:this.sourceBranch,tagName:e})}async createReleaseBranch(e){const{tagName:t}=await this.checkTag(e),r=this.getReleaseBranchName(t),n=this.sourceBranch;this.context.logger.verbose("PR SourceBranch is:",n),this.context.logger.verbose("PR TargetBranch is:",r);try{await this.context.shell.exec(`git fetch origin ${n}`),await this.context.shell.exec(`git merge origin/${n}`),await this.context.shell.exec(`git checkout -b ${r}`),await this.context.shell.exec(`git push origin ${r}`)}catch(e){throw e.message.includes("remote: Permission to ")&&this.context.logger.warn('Token maybe not allow Workflow permissions, can you try to open "Workflow permissions" -> "Read and write permissions" for this token?'),e}return{tagName:t,releaseBranch:r}}}class mi{context;releaseBase;releasePR;constructor(e,t,r){this.context=e,this.releaseBase=t,this.releasePR=r}get logger(){return this.context.logger}get shell(){return this.context.shell}get autoMergeType(){return this.context.getConfig("autoMergeType","squash")}get dryRunPRNumber(){return this.context.getConfig("dryRunPRNumber","999999")}get autoMergeReleasePR(){return this.context.getConfig("autoMergeReleasePR",!1)}async mergePR(e,t){if(!e)return void this.logger.error("Failed to create Pull Request.",e);const r=this.autoMergeType;if(this.context.dryRun){const{repoName:n,authorName:o}=this.releaseBase.repoInfo;this.logger.info(`[DRY RUN] Would merge PR #${e} with method '${r}' in repo ${o}/${n}, branch ${t}`)}else await this.releasePR.mergePullRequest({pull_number:Number(e),merge_method:r})}async checkedPR(e,t){try{await this.releasePR.getPullRequest({pull_number:Number(e)}),await this.releasePR.deleteBranch({ref:`heads/${t}`}),this.logger.info(`Branch ${t} has been deleted`)}catch(r){if(404===r.status)return void this.logger.warn(`PR #${e} or branch ${t} not found`);throw this.logger.error("Failed to check PR or delete branch",r),r}}async createReleasePRLabel(){const e=this.context.getConfig("label");if(!(e&&e.name&&e.description&&e.color))throw new Error("Label is not valid, skipping creation");if(this.context.dryRun)return this.logger.info("[DRY RUN] Would create PR label with:",e),e;try{const t=await this.releasePR.createPullRequestLabel({name:e.name,description:e.description,color:e.color.replace("#","")});return this.logger.debug("Create PR label Success",t),e}catch(t){if(422===t.status)return this.logger.warn(`Label ${e.name} already exists, skipping!`),e;throw this.logger.error("Create PR label Failed",t),t}}async createReleasePR(e){const t=this.getCreateReleasePROptions(e);if(this.context.dryRun)return this.logger.info("[DRY RUN] Would create PR with:",{...t,labels:e.labels}),this.dryRunPRNumber;try{const r=await this.releasePR.createPullRequest(t),n=r.number;if(!n)throw new Error("CreateReleasePR Failed, prNumber is empty");if(this.logger.debug("Create PR Success",r),e.labels&&e.labels.length){const t=await this.releasePR.addPullRequestLabels({issue_number:n,labels:e.labels});this.logger.debug("Add PR label Success",t)}return n.toString()}catch(e){if(422===e.status&&e.message.includes("already exists")){this.logger.warn("PR already exists");const t=e.message.match(/pull request #(\d+)/);return t?t[1]:""}throw this.logger.error("Failed to create PR",e),e}}getCreateReleasePROptions(e){return{title:this.getReleasePRTitle(e),body:this.getReleasePRBody(e),base:e.sourceBranch,head:e.releaseBranch}}getReleasePRTitle(e){const t=this.context.getConfig("PRTitle","Release ${env} ${pkgName} ${tagName}");return this.shell.format(t,{env:e.releaseEnv,branch:e.sourceBranch,tagName:e.tagName,pkgName:this.context.getPkg("name")})}getReleasePRBody(e){const t=this.context.getConfig("PRBody","");return this.shell.format(t,{branch:e.sourceBranch,env:e.releaseEnv,tagName:e.tagName,changelog:e.changelog})}}function Ri(){if(gi)return hi;gi=1;var e=bt(),t=Ur(),r=Mr();return hi=function(n){return"string"==typeof n||!t(n)&&r(n)&&"[object String]"==e(n)}}var _i=Xe(Ri());class Pi{context;constructor(e){this.context=e}get repoInfo(){return this.context.getConfig("repoInfo")}async init(){const e=await this.getUserInfo();this.context.setConfig({repoInfo:e})}async getUserInfo(){let e;try{e=(await this.context.shell.exec("git config --get remote.origin.url",{dryRun:!1})).trim()}catch(e){throw new Error("Failed to get git remote url. Please ensure this is a git repository with a valid remote.")}if(!e)throw new Error("Git remote URL is empty. Please set a valid GitHub remote URL.");this.context.logger.verbose("repoUrl: ",e);const t=e.match(/github\.com[:/]([^/]+)\/([^/.]+)(?:\.git)?$/);if(!t)throw new Error("Invalid GitHub repository URL format. Please ensure the remote URL is from GitHub.");const[,r,n]=t;if(!this.isValidString(r)||!this.isValidString(n))throw new Error("Failed to extract owner or repository name from GitHub URL");return{repoName:n,authorName:r}}isValidString(e){return!!e&&_i(e)}}class xi extends bi{context;releasePR;pluginName="create-release-pr";changelogManager;branchManager;pullRequestManager;releaseBase;constructor(e,t){super(e),this.context=e,this.releasePR=t,this.releaseBase=new Pi(e),this.changelogManager=new yi(e),this.branchManager=new wi(e),this.pullRequestManager=new mi(e,this.releaseBase,this.releasePR)}get githubToken(){return this.getConfig("githubToken")}async onBefore(){this.logger.verbose("CreateReleasePullRequest onBefore"),await this.releaseBase.init();const e=this.releaseBase.repoInfo;if(!e)throw new Error("repoInfo is not set");await this.releasePR.init({token:this.githubToken,repoName:e.repoName,authorName:e.authorName})}async onSuccess(){const e=await this.step({label:"Create Changelog and Version",task:()=>this.changelogManager.createChangelogAndVersion()}),{tagName:t,releaseBranch:r}=await this.step({label:"Create Release Branch",task:()=>this.branchManager.createReleaseBranch(e)}),n=await this.step({label:"Create Release PR",task:()=>this.createReleasePR(t,r,e)});if(this.pullRequestManager.autoMergeReleasePR)return await this.step({label:`Merge Release PR(${n})`,task:()=>this.pullRequestManager.mergePR(n,r)}),void await this.step({label:`Checked Release PR(${n})`,task:()=>this.pullRequestManager.checkedPR(n,r)});this.logger.info(`Please manually merge PR(#${n}) and complete the publishing process afterwards`)}async createReleasePR(e,t,r){const n=this.changelogManager.getChangelogAndFeatures(r),o=[(await this.pullRequestManager.createReleasePRLabel()).name];return this.pullRequestManager.createReleasePR({tagName:e,releaseBranch:t,changelog:n,sourceBranch:this.branchManager.sourceBranch,releaseEnv:this.branchManager.releaseEnv,labels:o})}}class Ei{options;octokit;constructor(e={}){this.options=e}async init({token:e,repoName:t,authorName:r}){if(this.octokit)return this.octokit;if(!e)throw new Error("Github token is not set");this.options.repoName=t,this.options.authorName=r;const{Octokit:n}=await import("@octokit/rest"),o=new n({auth:e});return this.octokit=o,o}getOctokit(){if(!this.octokit)throw new Error("Octokit is not initialized");return this.octokit}mergePullRequest(e){return this.getOctokit().rest.pulls.merge({...e,owner:e.owner||this.options.authorName||"",repo:e.repo||this.options.repoName||""})}getPullRequest(e){return this.getOctokit().rest.pulls.get({...e,owner:e.owner||this.options.authorName||"",repo:e.repo||this.options.repoName||""})}deleteBranch(e){return this.getOctokit().rest.git.deleteRef({...e,owner:e.owner||this.options.authorName||"",repo:e.repo||this.options.repoName||""})}addPullRequestLabels(e){return this.getOctokit().rest.issues.addLabels({...e,owner:e.owner||this.options.authorName||"",repo:e.repo||this.options.repoName||""})}async createPullRequestLabel(e){return await this.getOctokit().rest.issues.createLabel({...e,owner:e.owner||this.options.authorName||"",repo:e.repo||this.options.repoName||""})}async createPullRequest(e){const t=await this.getOctokit().rest.pulls.create({...e,owner:e.owner||this.options.authorName||"",repo:e.repo||this.options.repoName||""});return{...t.data,number:t.data.number}}}var Ni=Xe(dt());class Oi extends bi{pluginName="publish-npm";_releaseItOutput;constructor(e){super(e),this.getIncrementVersion()}async onBefore(){this.logger.verbose("PublishNpm onBefore"),await this.checkNpmAuth()}async onSuccess(){const e=this.getPublishReleaseItOptions(this.context);await this.step({label:"Publish to NPM",task:()=>this.publish(e)})}async publish(e){this.logger.debug("Run release-it method",e);const t=this.getConfig("releaseIt");if(!t)throw new Error("releaseIt instance is not set");return this._releaseItOutput=await t(e),this._releaseItOutput}getPublishReleaseItOptions(e){return{ci:!0,npm:{publish:!0},git:{requireCleanWorkingDir:!1,requireUpstream:!1,changelog:!1},plugins:{"@release-it/conventional-changelog":{infile:!1}},"dry-run":e.dryRun,verbose:!0,increment:this.getIncrementVersion()}}getIncrementVersion(){const e=this.getConfig("packageJson");if(!Ni(e))throw new Error("package.json is undefined");if(!("version"in e))throw new Error("package.json version is required");return e.version}async checkNpmAuth(){const e=this.getEnv("NPM_TOKEN");if(!e)throw new Error("NPM_TOKEN is not set.");this.setConfig({npmToken:e}),await this.shell.exec(`echo //registry.npmjs.org/:_authToken=${e} > .npmrc`,{dryRun:!1})}}class ji extends bi{pluginName="publish-path";constructor(e){super(e)}async onBefore(){this.logger.verbose("PublishPath onBefore"),this.checkPublishPath()}async checkPublishPath(){const e=this.getPublishPath();this.switchToPublishPath(e),this.logger.debug("Current path:",e)}switchToPublishPath(e){e&&We.existsSync(e)&&(this.logger.debug("Switching to publish path:",e),process.chdir(e))}getPublishPath(){const e=this.getConfig("publishPath");return"string"==typeof e?e:process.cwd()}}function ki(e,...t){return"function"==typeof e&&e.prototype&&e.prototype.constructor===e?new e(...t):e(...t)}const Ci=e=>e.startsWith(".")?Ke.parse(e).name:e,Bi={};async function Ti(e){const[t,r]=await async function(e){let t=null;try{t=(await import(e)).default}catch(r){try{t=(await import(Ke.join(process.cwd(),e))).default}catch(r){const n=Ye.createRequire(process.cwd());t=(await import(Je.pathToFileURL(n.resolve(e,{paths:[process.cwd()]})))).default}}return[Ci(e),t]}(e);return[t,r]}async function Ai(e){const t=[];return t.push(new di(e,e.options.releaseIt)),e.options.pullRequest?t.push(new xi(e,new Ei)):t.push(new Oi(e)),t.push(new ji(e)),async function(e,t){const r=e.getConfig("plugins",Bi);for(const n of Object.keys(r)){const[,o]=await Ti(n),i=r[n];t.push(ki(o,e,i))}return t}(e,t)}exports.Plugin=bi,exports.ReleaseContext=vi,exports.release=async function(e){const t=new vi(e),r=new De.AsyncExecutor;return(await Ai(t)).forEach((e=>{r.use(e)})),r.exec(t,(({returnValue:e})=>Promise.resolve(e)))};
|
package/dist/es/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FeReleaseConfig, FeScriptContext,
|
|
1
|
+
import { FeReleaseConfig, FeScriptContext, Shell } from '@qlover/scripts-context';
|
|
2
2
|
import { Env } from '@qlover/env-loader';
|
|
3
|
-
import { ExecutorContext, ExecutorPlugin } from '@qlover/fe-utils';
|
|
3
|
+
import { ExecutorContext, ExecutorPlugin, Logger } from '@qlover/fe-utils';
|
|
4
4
|
|
|
5
5
|
interface InitOptions {
|
|
6
6
|
token?: string;
|
|
@@ -71,7 +71,7 @@ declare class ReleaseContext extends FeScriptContext<ReleaseConfig> {
|
|
|
71
71
|
protected config: ReleaseConfig;
|
|
72
72
|
constructor(context: ReleaseContextOptions);
|
|
73
73
|
setConfig(config: DeepPartial<ReleaseConfig>): void;
|
|
74
|
-
getConfig(key: string | string[], defaultValue?:
|
|
74
|
+
getConfig<T = unknown>(key: string | string[], defaultValue?: T): T;
|
|
75
75
|
getInitEnv(): Env;
|
|
76
76
|
getEnv(): Env;
|
|
77
77
|
getPkg(key: string): unknown;
|
|
@@ -81,12 +81,13 @@ type StepOption<T> = {
|
|
|
81
81
|
label: string;
|
|
82
82
|
task: () => Promise<T>;
|
|
83
83
|
};
|
|
84
|
-
declare abstract class Plugin implements ExecutorPlugin {
|
|
84
|
+
declare abstract class Plugin<Props extends Record<string, unknown> = {}> implements ExecutorPlugin {
|
|
85
85
|
protected context: ReleaseContext;
|
|
86
|
+
protected props: Props;
|
|
86
87
|
abstract readonly pluginName: string;
|
|
87
88
|
readonly onlyOne = true;
|
|
88
|
-
constructor(context: ReleaseContext);
|
|
89
|
-
get logger():
|
|
89
|
+
constructor(context: ReleaseContext, props?: Props);
|
|
90
|
+
get logger(): Logger;
|
|
90
91
|
get shell(): Shell;
|
|
91
92
|
getEnv(key: string, defaultValue?: string): string | undefined;
|
|
92
93
|
enabled(): boolean;
|
package/dist/es/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{FeScriptContext as e}from"@qlover/scripts-context";import{Env as t}from"@qlover/env-loader";import{AsyncExecutor as r}from"@qlover/fe-utils";import{existsSync as n}from"fs";var o,i,u,a,s,c,f,l,h,g,p,v,b,d,y,m,w,R,_,P,x,E,N,O,j,k,C,B,T,A,I,S,$,q,M,F,L,U,z,V,G,H,D,W,K,Y,J,Q,X,Z,ee,te,re,ne,oe,ie,ue,ae,se,ce,fe,le,he,ge,pe,ve,be,de,ye,me,we,Re,_e,Pe,xe,Ee,Ne,Oe,je,ke,Ce,Be,Te,Ae,Ie,Se,$e,qe,Me,Fe,Le,Ue,ze,Ve,Ge,He,De,We,Ke="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Ye(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Je(){if(i)return o;return i=1,o=function(){this.__data__=[],this.size=0}}function Qe(){if(a)return u;return a=1,u=function(e,t){return e===t||e!=e&&t!=t}}function Xe(){if(c)return s;c=1;var e=Qe();return s=function(t,r){for(var n=t.length;n--;)if(e(t[n][0],r))return n;return-1}}function Ze(){if(l)return f;l=1;var e=Xe(),t=Array.prototype.splice;return f=function(r){var n=this.__data__,o=e(n,r);return!(o<0)&&(o==n.length-1?n.pop():t.call(n,o,1),--this.size,!0)}}function et(){if(g)return h;g=1;var e=Xe();return h=function(t){var r=this.__data__,n=e(r,t);return n<0?void 0:r[n][1]}}function tt(){if(v)return p;v=1;var e=Xe();return p=function(t){return e(this.__data__,t)>-1}}function rt(){if(d)return b;d=1;var e=Xe();return b=function(t,r){var n=this.__data__,o=e(n,t);return o<0?(++this.size,n.push([t,r])):n[o][1]=r,this}}function nt(){if(m)return y;m=1;var e=Je(),t=Ze(),r=et(),n=tt(),o=rt();function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=r,i.prototype.has=n,i.prototype.set=o,y=i}function ot(){if(R)return w;R=1;var e=nt();return w=function(){this.__data__=new e,this.size=0}}function it(){if(P)return _;return P=1,_=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}}function ut(){if(E)return x;return E=1,x=function(e){return this.__data__.get(e)}}function at(){if(O)return N;return O=1,N=function(e){return this.__data__.has(e)}}function st(){if(k)return j;k=1;var e="object"==typeof Ke&&Ke&&Ke.Object===Object&&Ke;return j=e}function ct(){if(B)return C;B=1;var e=st(),t="object"==typeof self&&self&&self.Object===Object&&self,r=e||t||Function("return this")();return C=r}function ft(){if(A)return T;A=1;var e=ct().Symbol;return T=e}function lt(){if(S)return I;S=1;var e=ft(),t=Object.prototype,r=t.hasOwnProperty,n=t.toString,o=e?e.toStringTag:void 0;return I=function(e){var t=r.call(e,o),i=e[o];try{e[o]=void 0;var u=!0}catch(e){}var a=n.call(e);return u&&(t?e[o]=i:delete e[o]),a}}function ht(){if(q)return $;q=1;var e=Object.prototype.toString;return $=function(t){return e.call(t)}}function gt(){if(F)return M;F=1;var e=ft(),t=lt(),r=ht(),n=e?e.toStringTag:void 0;return M=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":n&&n in Object(e)?t(e):r(e)}}function pt(){if(U)return L;return U=1,L=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}}function vt(){if(V)return z;V=1;var e=gt(),t=pt();return z=function(r){if(!t(r))return!1;var n=e(r);return"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n}}function bt(){if(H)return G;H=1;var e=ct()["__core-js_shared__"];return G=e}function dt(){if(W)return D;W=1;var e,t=bt(),r=(e=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||""))?"Symbol(src)_1."+e:"";return D=function(e){return!!r&&r in e}}function yt(){if(Y)return K;Y=1;var e=Function.prototype.toString;return K=function(t){if(null!=t){try{return e.call(t)}catch(e){}try{return t+""}catch(e){}}return""}}function mt(){if(Q)return J;Q=1;var e=vt(),t=dt(),r=pt(),n=yt(),o=/^\[object .+?Constructor\]$/,i=Function.prototype,u=Object.prototype,a=i.toString,s=u.hasOwnProperty,c=RegExp("^"+a.call(s).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");return J=function(i){return!(!r(i)||t(i))&&(e(i)?c:o).test(n(i))}}function wt(){if(Z)return X;return Z=1,X=function(e,t){return null==e?void 0:e[t]}}function Rt(){if(te)return ee;te=1;var e=mt(),t=wt();return ee=function(r,n){var o=t(r,n);return e(o)?o:void 0}}function _t(){if(ne)return re;ne=1;var e=Rt()(ct(),"Map");return re=e}function Pt(){if(ie)return oe;ie=1;var e=Rt()(Object,"create");return oe=e}function xt(){if(ae)return ue;ae=1;var e=Pt();return ue=function(){this.__data__=e?e(null):{},this.size=0}}function Et(){if(ce)return se;return ce=1,se=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}}function Nt(){if(le)return fe;le=1;var e=Pt(),t=Object.prototype.hasOwnProperty;return fe=function(r){var n=this.__data__;if(e){var o=n[r];return"__lodash_hash_undefined__"===o?void 0:o}return t.call(n,r)?n[r]:void 0}}function Ot(){if(ge)return he;ge=1;var e=Pt(),t=Object.prototype.hasOwnProperty;return he=function(r){var n=this.__data__;return e?void 0!==n[r]:t.call(n,r)}}function jt(){if(ve)return pe;ve=1;var e=Pt();return pe=function(t,r){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=e&&void 0===r?"__lodash_hash_undefined__":r,this}}function kt(){if(de)return be;de=1;var e=xt(),t=Et(),r=Nt(),n=Ot(),o=jt();function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=r,i.prototype.has=n,i.prototype.set=o,be=i}function Ct(){if(me)return ye;me=1;var e=kt(),t=nt(),r=_t();return ye=function(){this.size=0,this.__data__={hash:new e,map:new(r||t),string:new e}}}function Bt(){if(Re)return we;return Re=1,we=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}}function Tt(){if(Pe)return _e;Pe=1;var e=Bt();return _e=function(t,r){var n=t.__data__;return e(r)?n["string"==typeof r?"string":"hash"]:n.map}}function At(){if(Ee)return xe;Ee=1;var e=Tt();return xe=function(t){var r=e(this,t).delete(t);return this.size-=r?1:0,r}}function It(){if(Oe)return Ne;Oe=1;var e=Tt();return Ne=function(t){return e(this,t).get(t)}}function St(){if(ke)return je;ke=1;var e=Tt();return je=function(t){return e(this,t).has(t)}}function $t(){if(Be)return Ce;Be=1;var e=Tt();return Ce=function(t,r){var n=e(this,t),o=n.size;return n.set(t,r),this.size+=n.size==o?0:1,this}}function qt(){if(Ae)return Te;Ae=1;var e=Ct(),t=At(),r=It(),n=St(),o=$t();function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=r,i.prototype.has=n,i.prototype.set=o,Te=i}function Mt(){if(Se)return Ie;Se=1;var e=nt(),t=_t(),r=qt();return Ie=function(n,o){var i=this.__data__;if(i instanceof e){var u=i.__data__;if(!t||u.length<199)return u.push([n,o]),this.size=++i.size,this;i=this.__data__=new r(u)}return i.set(n,o),this.size=i.size,this}}function Ft(){if(qe)return $e;qe=1;var e=nt(),t=ot(),r=it(),n=ut(),o=at(),i=Mt();function u(t){var r=this.__data__=new e(t);this.size=r.size}return u.prototype.clear=t,u.prototype.delete=r,u.prototype.get=n,u.prototype.has=o,u.prototype.set=i,$e=u}function Lt(){if(Fe)return Me;Fe=1;var e=Rt(),t=function(){try{var t=e(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();return Me=t}function Ut(){if(Ue)return Le;Ue=1;var e=Lt();return Le=function(t,r,n){"__proto__"==r&&e?e(t,r,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[r]=n}}function zt(){if(Ve)return ze;Ve=1;var e=Ut(),t=Qe();return ze=function(r,n,o){(void 0!==o&&!t(r[n],o)||void 0===o&&!(n in r))&&e(r,n,o)}}function Vt(){if(He)return Ge;return He=1,Ge=function(e){return function(t,r,n){for(var o=-1,i=Object(t),u=n(t),a=u.length;a--;){var s=u[e?a:++o];if(!1===r(i[s],s,i))break}return t}}}function Gt(){if(We)return De;We=1;var e=Vt()();return De=e}var Ht,Dt,Wt,Kt,Yt,Jt,Qt,Xt,Zt,er,tr,rr,nr,or,ir,ur,ar,sr,cr,fr,lr,hr,gr,pr,vr,br,dr,yr,mr,wr,Rr,_r,Pr,xr={exports:{}};function Er(){return Ht||(Ht=1,e=xr,t=xr.exports,r=ct(),n=t&&!t.nodeType&&t,o=n&&e&&!e.nodeType&&e,i=o&&o.exports===n?r.Buffer:void 0,u=i?i.allocUnsafe:void 0,e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=u?u(r):new e.constructor(r);return e.copy(n),n}),xr.exports;var e,t,r,n,o,i,u}function Nr(){if(Wt)return Dt;Wt=1;var e=ct().Uint8Array;return Dt=e}function Or(){if(Yt)return Kt;Yt=1;var e=Nr();return Kt=function(t){var r=new t.constructor(t.byteLength);return new e(r).set(new e(t)),r}}function jr(){if(Qt)return Jt;Qt=1;var e=Or();return Jt=function(t,r){var n=r?e(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}}function kr(){if(Zt)return Xt;return Zt=1,Xt=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}}function Cr(){if(tr)return er;tr=1;var e=pt(),t=Object.create,r=function(){function r(){}return function(n){if(!e(n))return{};if(t)return t(n);r.prototype=n;var o=new r;return r.prototype=void 0,o}}();return er=r}function Br(){if(nr)return rr;return nr=1,rr=function(e,t){return function(r){return e(t(r))}}}function Tr(){if(ir)return or;ir=1;var e=Br()(Object.getPrototypeOf,Object);return or=e}function Ar(){if(ar)return ur;ar=1;var e=Object.prototype;return ur=function(t){var r=t&&t.constructor;return t===("function"==typeof r&&r.prototype||e)}}function Ir(){if(cr)return sr;cr=1;var e=Cr(),t=Tr(),r=Ar();return sr=function(n){return"function"!=typeof n.constructor||r(n)?{}:e(t(n))}}function Sr(){if(lr)return fr;return lr=1,fr=function(e){return null!=e&&"object"==typeof e}}function $r(){if(gr)return hr;gr=1;var e=gt(),t=Sr();return hr=function(r){return t(r)&&"[object Arguments]"==e(r)}}function qr(){if(vr)return pr;vr=1;var e=$r(),t=Sr(),r=Object.prototype,n=r.hasOwnProperty,o=r.propertyIsEnumerable,i=e(function(){return arguments}())?e:function(e){return t(e)&&n.call(e,"callee")&&!o.call(e,"callee")};return pr=i}function Mr(){if(dr)return br;dr=1;var e=Array.isArray;return br=e}function Fr(){if(mr)return yr;mr=1;return yr=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}}function Lr(){if(Rr)return wr;Rr=1;var e=vt(),t=Fr();return wr=function(r){return null!=r&&t(r.length)&&!e(r)}}function Ur(){if(Pr)return _r;Pr=1;var e=Lr(),t=Sr();return _r=function(r){return t(r)&&e(r)}}var zr,Vr,Gr,Hr,Dr,Wr,Kr,Yr,Jr,Qr={exports:{}};function Xr(){if(Vr)return zr;return Vr=1,zr=function(){return!1}}function Zr(){return Gr||(Gr=1,function(e,t){var r=ct(),n=Xr(),o=t&&!t.nodeType&&t,i=o&&e&&!e.nodeType&&e,u=i&&i.exports===o?r.Buffer:void 0,a=(u?u.isBuffer:void 0)||n;e.exports=a}(Qr,Qr.exports)),Qr.exports}function en(){if(Dr)return Hr;Dr=1;var e=gt(),t=Tr(),r=Sr(),n=Function.prototype,o=Object.prototype,i=n.toString,u=o.hasOwnProperty,a=i.call(Object);return Hr=function(n){if(!r(n)||"[object Object]"!=e(n))return!1;var o=t(n);if(null===o)return!0;var s=u.call(o,"constructor")&&o.constructor;return"function"==typeof s&&s instanceof s&&i.call(s)==a}}function tn(){if(Kr)return Wr;Kr=1;var e=gt(),t=Fr(),r=Sr(),n={};return n["[object Float32Array]"]=n["[object Float64Array]"]=n["[object Int8Array]"]=n["[object Int16Array]"]=n["[object Int32Array]"]=n["[object Uint8Array]"]=n["[object Uint8ClampedArray]"]=n["[object Uint16Array]"]=n["[object Uint32Array]"]=!0,n["[object Arguments]"]=n["[object Array]"]=n["[object ArrayBuffer]"]=n["[object Boolean]"]=n["[object DataView]"]=n["[object Date]"]=n["[object Error]"]=n["[object Function]"]=n["[object Map]"]=n["[object Number]"]=n["[object Object]"]=n["[object RegExp]"]=n["[object Set]"]=n["[object String]"]=n["[object WeakMap]"]=!1,Wr=function(o){return r(o)&&t(o.length)&&!!n[e(o)]}}function rn(){if(Jr)return Yr;return Jr=1,Yr=function(e){return function(t){return e(t)}}}var nn,on,un,an,sn,cn,fn,ln,hn,gn,pn,vn,bn,dn,yn,mn,wn,Rn,_n,Pn,xn,En,Nn,On,jn,kn,Cn,Bn,Tn,An,In,Sn,$n,qn,Mn,Fn,Ln,Un,zn,Vn,Gn,Hn,Dn,Wn,Kn,Yn,Jn,Qn,Xn,Zn={exports:{}};function eo(){return nn||(nn=1,e=Zn,t=Zn.exports,r=st(),n=t&&!t.nodeType&&t,o=n&&e&&!e.nodeType&&e,i=o&&o.exports===n&&r.process,u=function(){try{var e=o&&o.require&&o.require("util").types;return e||i&&i.binding&&i.binding("util")}catch(e){}}(),e.exports=u),Zn.exports;var e,t,r,n,o,i,u}function to(){if(un)return on;un=1;var e=tn(),t=rn(),r=eo(),n=r&&r.isTypedArray,o=n?t(n):e;return on=o}function ro(){if(sn)return an;return sn=1,an=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}}function no(){if(fn)return cn;fn=1;var e=Ut(),t=Qe(),r=Object.prototype.hasOwnProperty;return cn=function(n,o,i){var u=n[o];r.call(n,o)&&t(u,i)&&(void 0!==i||o in n)||e(n,o,i)}}function oo(){if(hn)return ln;hn=1;var e=no(),t=Ut();return ln=function(r,n,o,i){var u=!o;o||(o={});for(var a=-1,s=n.length;++a<s;){var c=n[a],f=i?i(o[c],r[c],c,o,r):void 0;void 0===f&&(f=r[c]),u?t(o,c,f):e(o,c,f)}return o}}function io(){if(pn)return gn;return pn=1,gn=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}}function uo(){if(bn)return vn;bn=1;var e=/^(?:0|[1-9]\d*)$/;return vn=function(t,r){var n=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==n||"symbol"!=n&&e.test(t))&&t>-1&&t%1==0&&t<r}}function ao(){if(yn)return dn;yn=1;var e=io(),t=qr(),r=Mr(),n=Zr(),o=uo(),i=to(),u=Object.prototype.hasOwnProperty;return dn=function(a,s){var c=r(a),f=!c&&t(a),l=!c&&!f&&n(a),h=!c&&!f&&!l&&i(a),g=c||f||l||h,p=g?e(a.length,String):[],v=p.length;for(var b in a)!s&&!u.call(a,b)||g&&("length"==b||l&&("offset"==b||"parent"==b)||h&&("buffer"==b||"byteLength"==b||"byteOffset"==b)||o(b,v))||p.push(b);return p}}function so(){if(wn)return mn;return wn=1,mn=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}}function co(){if(_n)return Rn;_n=1;var e=pt(),t=Ar(),r=so(),n=Object.prototype.hasOwnProperty;return Rn=function(o){if(!e(o))return r(o);var i=t(o),u=[];for(var a in o)("constructor"!=a||!i&&n.call(o,a))&&u.push(a);return u}}function fo(){if(xn)return Pn;xn=1;var e=ao(),t=co(),r=Lr();return Pn=function(n){return r(n)?e(n,!0):t(n)}}function lo(){if(Nn)return En;Nn=1;var e=oo(),t=fo();return En=function(r){return e(r,t(r))}}function ho(){if(jn)return On;jn=1;var e=zt(),t=Er(),r=jr(),n=kr(),o=Ir(),i=qr(),u=Mr(),a=Ur(),s=Zr(),c=vt(),f=pt(),l=en(),h=to(),g=ro(),p=lo();return On=function(v,b,d,y,m,w,R){var _=g(v,d),P=g(b,d),x=R.get(P);if(x)e(v,d,x);else{var E=w?w(_,P,d+"",v,b,R):void 0,N=void 0===E;if(N){var O=u(P),j=!O&&s(P),k=!O&&!j&&h(P);E=P,O||j||k?u(_)?E=_:a(_)?E=n(_):j?(N=!1,E=t(P,!0)):k?(N=!1,E=r(P,!0)):E=[]:l(P)||i(P)?(E=_,i(_)?E=p(_):f(_)&&!c(_)||(E=o(P))):N=!1}N&&(R.set(P,E),m(E,P,y,w,R),R.delete(P)),e(v,d,E)}}}function go(){if(Cn)return kn;Cn=1;var e=Ft(),t=zt(),r=Gt(),n=ho(),o=pt(),i=fo(),u=ro();return kn=function a(s,c,f,l,h){s!==c&&r(c,(function(r,i){if(h||(h=new e),o(r))n(s,c,i,f,a,l,h);else{var g=l?l(u(s,i),r,i+"",s,c,h):void 0;void 0===g&&(g=r),t(s,i,g)}}),i)},kn}function po(){if(Tn)return Bn;return Tn=1,Bn=function(e){return e}}function vo(){if(In)return An;return In=1,An=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}}function bo(){if($n)return Sn;$n=1;var e=vo(),t=Math.max;return Sn=function(r,n,o){return n=t(void 0===n?r.length-1:n,0),function(){for(var i=arguments,u=-1,a=t(i.length-n,0),s=Array(a);++u<a;)s[u]=i[n+u];u=-1;for(var c=Array(n+1);++u<n;)c[u]=i[u];return c[n]=o(s),e(r,this,c)}},Sn}function yo(){if(Mn)return qn;return Mn=1,qn=function(e){return function(){return e}}}function mo(){if(Ln)return Fn;Ln=1;var e=yo(),t=Lt();return Fn=t?function(r,n){return t(r,"toString",{configurable:!0,enumerable:!1,value:e(n),writable:!0})}:po()}function wo(){if(zn)return Un;zn=1;var e=Date.now;return Un=function(t){var r=0,n=0;return function(){var o=e(),i=16-(o-n);if(n=o,i>0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}},Un}function Ro(){if(Gn)return Vn;Gn=1;var e=mo(),t=wo()(e);return Vn=t}function _o(){if(Dn)return Hn;Dn=1;var e=po(),t=bo(),r=Ro();return Hn=function(n,o){return r(t(n,o,e),n+"")}}function Po(){if(Kn)return Wn;Kn=1;var e=Qe(),t=Lr(),r=uo(),n=pt();return Wn=function(o,i,u){if(!n(u))return!1;var a=typeof i;return!!("number"==a?t(u)&&r(i,u.length):"string"==a&&i in u)&&e(u[i],o)}}function xo(){if(Jn)return Yn;Jn=1;var e=_o(),t=Po();return Yn=function(r){return e((function(e,n){var o=-1,i=n.length,u=i>1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(u=r.length>3&&"function"==typeof u?(i--,u):void 0,a&&t(n[0],n[1],a)&&(u=i<3?void 0:u,i=1),e=Object(e);++o<i;){var s=n[o];s&&r(e,s,o,u)}return e}))}}function Eo(){if(Xn)return Qn;Xn=1;var e=go(),t=xo()((function(t,r,n){e(t,r,n)}));return Qn=t}var No,Oo,jo,ko,Co,Bo,To,Ao,Io,So,$o,qo,Mo,Fo,Lo,Uo,zo,Vo,Go,Ho,Do,Wo,Ko,Yo,Jo=Ye(Eo());function Qo(){if(Oo)return No;Oo=1;var e=gt(),t=Sr();return No=function(r){return"symbol"==typeof r||t(r)&&"[object Symbol]"==e(r)}}function Xo(){if(ko)return jo;ko=1;var e=Mr(),t=Qo(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;return jo=function(o,i){if(e(o))return!1;var u=typeof o;return!("number"!=u&&"symbol"!=u&&"boolean"!=u&&null!=o&&!t(o))||(n.test(o)||!r.test(o)||null!=i&&o in Object(i))}}function Zo(){if(Bo)return Co;Bo=1;var e=qt();function t(r,n){if("function"!=typeof r||null!=n&&"function"!=typeof n)throw new TypeError("Expected a function");var o=function(){var e=arguments,t=n?n.apply(this,e):e[0],i=o.cache;if(i.has(t))return i.get(t);var u=r.apply(this,e);return o.cache=i.set(t,u)||i,u};return o.cache=new(t.Cache||e),o}return t.Cache=e,Co=t}function ei(){if(Ao)return To;Ao=1;var e=Zo();return To=function(t){var r=e(t,(function(e){return 500===n.size&&n.clear(),e})),n=r.cache;return r}}function ti(){if(So)return Io;So=1;var e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,t=/\\(\\)?/g,r=ei()((function(r){var n=[];return 46===r.charCodeAt(0)&&n.push(""),r.replace(e,(function(e,r,o,i){n.push(o?i.replace(t,"$1"):r||e)})),n}));return Io=r}function ri(){if(qo)return $o;return qo=1,$o=function(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o}}function ni(){if(Fo)return Mo;Fo=1;var e=ft(),t=ri(),r=Mr(),n=Qo(),o=e?e.prototype:void 0,i=o?o.toString:void 0;return Mo=function e(o){if("string"==typeof o)return o;if(r(o))return t(o,e)+"";if(n(o))return i?i.call(o):"";var u=o+"";return"0"==u&&1/o==-1/0?"-0":u},Mo}function oi(){if(Uo)return Lo;Uo=1;var e=ni();return Lo=function(t){return null==t?"":e(t)}}function ii(){if(Vo)return zo;Vo=1;var e=Mr(),t=Xo(),r=ti(),n=oi();return zo=function(o,i){return e(o)?o:t(o,i)?[o]:r(n(o))}}function ui(){if(Ho)return Go;Ho=1;var e=Qo();return Go=function(t){if("string"==typeof t||e(t))return t;var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}}function ai(){if(Wo)return Do;Wo=1;var e=ii(),t=ui();return Do=function(r,n){for(var o=0,i=(n=e(n,r)).length;null!=r&&o<i;)r=r[t(n[o++])];return o&&o==i?r:void 0}}function si(){if(Yo)return Ko;Yo=1;var e=ai();return Ko=function(t,r,n){var o=null==t?void 0:e(t,r);return void 0===o?n:o}}var ci,fi,li=Ye(si());class hi extends e{env;config;constructor(e){super(e),this.config=Jo({},this.feConfig.release,this.options),this.env=this.getInitEnv()}setConfig(e){this.config=Jo(this.config,e)}getConfig(e,t){return li(this.config,e,t)}getInitEnv(){return t.searchEnv({logger:this.logger,preloadList:this.feConfig.envOrder})}getEnv(){return this.env}getPkg(e){return this.getConfig(["packageJson",e])}}class gi{context;onlyOne=!0;constructor(e){this.context=e}get logger(){return this.context.logger}get shell(){return this.context.shell}getEnv(e,t){return this.context.getEnv().get(e)??t}enabled(){return!0}getConfig(e,t){return this.context.getConfig(e,t)}setConfig(e){this.context.setConfig(e)}onBefore(e){}onSuccess(e){}onError(e){}async step({label:e,task:t}){this.logger.obtrusive(e);try{const r=await t();return this.logger.info(`${e} - success`),r}catch(e){throw this.logger.error(e),e}}}class pi extends gi{pluginName="check-environment";constructor(e,t){if(super(e),!t)throw new Error("releaseIt is not required");this.hasReleaseIt(),this.hasGithubToken()}hasReleaseIt(){if("false"===this.getEnv("FE_RELEASE"))throw new Error("Skip Release");return!0}hasGithubToken(){const e=this.getEnv("GITHUB_TOKEN")||this.getEnv("PAT_TOKEN");if(!e)throw new Error("GITHUB_TOKEN or PAT_TOKEN environment variable is not set.");return this.setConfig({githubToken:e}),!0}onBefore(e){this.logger.verbose("CheckEnvironment onBefore")}}class vi{context;constructor(e){this.context=e;const t=this.context.getEnv().get("FE_RELEASE_BRANCH")??this.context.getEnv().get("FE_RELEASE_SOURCE_BRANCH")??"master";this.context.setConfig({sourceBranch:t})}getReleaseIt(){return this.context.getConfig("releaseIt")}getReleaseItChangelogOptions(){return{ci:!0,increment:"patch",npm:{publish:!1},git:{requireCleanWorkingDir:!1,tag:!1,push:!1},github:{release:!1},verbose:!0,"dry-run":this.context.dryRun}}getChangelogAndFeatures(e){return e||this.context.logger.warn("No release-it output found, changelog might be incomplete"),li(e,"changelog","No changelog")}createChangelogAndVersion(){const e=this.getReleaseIt();if(!e)throw new Error("releaseIt instance is not set");return e(this.getReleaseItChangelogOptions())}}class bi{context;constructor(e){this.context=e;const t=this.context.getConfig("releaseEnv")??this.context.getEnv().get("NODE_ENV")??"development",r=this.context.getEnv().get("FE_RELEASE_BRANCH")??this.context.getEnv().get("FE_RELEASE_SOURCE_BRANCH")??"master";this.context.setConfig({releaseEnv:t,sourceBranch:r})}get sourceBranch(){return this.context.getConfig("sourceBranch")}get releaseEnv(){return this.context.getConfig("releaseEnv")}async checkTag(e){const t=li(e,"version")||this.context.getPkg("version");if("string"!=typeof t)throw new Error("Tag name is not a string");return this.context.logger.verbose("Created Tag is:",t),{tagName:t}}getReleaseBranchName(e){const t=this.context.getConfig("branchName","release-${tagName}");if("string"!=typeof t)throw new Error("Branch name template is not a string");return this.context.logger.verbose("Release Branch template is:",t),this.context.shell.format(t,{env:this.releaseEnv,branch:this.sourceBranch,tagName:e})}async createReleaseBranch(e){const{tagName:t}=await this.checkTag(e),r=this.getReleaseBranchName(t),n=this.sourceBranch;this.context.logger.verbose("PR SourceBranch is:",n),this.context.logger.verbose("PR TargetBranch is:",r);try{await this.context.shell.exec(`git fetch origin ${n}`),await this.context.shell.exec(`git merge origin/${n}`),await this.context.shell.exec(`git checkout -b ${r}`),await this.context.shell.exec(`git push origin ${r}`)}catch(e){throw e.message.includes("remote: Permission to ")&&this.context.logger.warn('Token maybe not allow Workflow permissions, can you try to open "Workflow permissions" -> "Read and write permissions" for this token?'),e}return{tagName:t,releaseBranch:r}}}class di{context;releaseBase;releasePR;constructor(e,t,r){this.context=e,this.releaseBase=t,this.releasePR=r}get logger(){return this.context.logger}get shell(){return this.context.shell}get autoMergeType(){return this.context.getConfig("autoMergeType","squash")}get dryRunPRNumber(){return this.context.getConfig("dryRunPRNumber","999999")}get autoMergeReleasePR(){return this.context.getConfig("autoMergeReleasePR",!1)}async mergePR(e,t){if(!e)return void this.logger.error("Failed to create Pull Request.",e);const r=this.autoMergeType;if(this.context.dryRun){const{repoName:n,authorName:o}=this.releaseBase.repoInfo;this.logger.info(`[DRY RUN] Would merge PR #${e} with method '${r}' in repo ${o}/${n}, branch ${t}`)}else await this.releasePR.mergePullRequest({pull_number:Number(e),merge_method:r})}async checkedPR(e,t){try{await this.releasePR.getPullRequest({pull_number:Number(e)}),await this.releasePR.deleteBranch({ref:`heads/${t}`}),this.logger.info(`Branch ${t} has been deleted`)}catch(r){if(404===r.status)return void this.logger.warn(`PR #${e} or branch ${t} not found`);throw this.logger.error("Failed to check PR or delete branch",r),r}}async createReleasePRLabel(){const e=this.context.getConfig("label");if(!(e&&e.name&&e.description&&e.color))throw new Error("Label is not valid, skipping creation");if(this.context.dryRun)return this.logger.info("[DRY RUN] Would create PR label with:",e),e;try{const t=await this.releasePR.createPullRequestLabel({name:e.name,description:e.description,color:e.color.replace("#","")});return this.logger.debug("Create PR label Success",t),e}catch(t){if(422===t.status)return this.logger.warn(`Label ${e.name} already exists, skipping!`),e;throw this.logger.error("Create PR label Failed",t),t}}async createReleasePR(e){const t=this.getCreateReleasePROptions(e);if(this.context.dryRun)return this.logger.info("[DRY RUN] Would create PR with:",{...t,labels:e.labels}),this.dryRunPRNumber;try{const r=await this.releasePR.createPullRequest(t),n=r.number;if(!n)throw new Error("CreateReleasePR Failed, prNumber is empty");if(this.logger.debug("Create PR Success",r),e.labels&&e.labels.length){const t=await this.releasePR.addPullRequestLabels({issue_number:n,labels:e.labels});this.logger.debug("Add PR label Success",t)}return n.toString()}catch(e){if(422===e.status&&e.message.includes("already exists")){this.logger.warn("PR already exists");const t=e.message.match(/pull request #(\d+)/);return t?t[1]:""}throw this.logger.error("Failed to create PR",e),e}}getCreateReleasePROptions(e){return{title:this.getReleasePRTitle(e),body:this.getReleasePRBody(e),base:e.sourceBranch,head:e.releaseBranch}}getReleasePRTitle(e){const t=this.context.getConfig("PRTitle","Release ${env} ${pkgName} ${tagName}");return this.shell.format(t,{env:e.releaseEnv,branch:e.sourceBranch,tagName:e.tagName,pkgName:this.context.getPkg("name")})}getReleasePRBody(e){const t=this.context.getConfig("PRBody","");return this.shell.format(t,{branch:e.sourceBranch,env:e.releaseEnv,tagName:e.tagName,changelog:e.changelog})}}function yi(){if(fi)return ci;fi=1;var e=gt(),t=Mr(),r=Sr();return ci=function(n){return"string"==typeof n||!t(n)&&r(n)&&"[object String]"==e(n)}}var mi=Ye(yi());class wi{context;constructor(e){this.context=e}get repoInfo(){return this.context.getConfig("repoInfo")}async init(){const e=await this.getUserInfo();this.context.setConfig({repoInfo:e})}async getUserInfo(){let e;try{e=(await this.context.shell.exec("git config --get remote.origin.url",{dryRun:!1})).trim()}catch(e){throw new Error("Failed to get git remote url. Please ensure this is a git repository with a valid remote.")}if(!e)throw new Error("Git remote URL is empty. Please set a valid GitHub remote URL.");this.context.logger.verbose("repoUrl: ",e);const t=e.match(/github\.com[:/]([^/]+)\/([^/.]+)(?:\.git)?$/);if(!t)throw new Error("Invalid GitHub repository URL format. Please ensure the remote URL is from GitHub.");const[,r,n]=t;if(!this.isValidString(r)||!this.isValidString(n))throw new Error("Failed to extract owner or repository name from GitHub URL");return{repoName:n,authorName:r}}isValidString(e){return!!e&&mi(e)}}class Ri extends gi{context;releasePR;pluginName="create-release-pr";changelogManager;branchManager;pullRequestManager;releaseBase;constructor(e,t){super(e),this.context=e,this.releasePR=t,this.releaseBase=new wi(e),this.changelogManager=new vi(e),this.branchManager=new bi(e),this.pullRequestManager=new di(e,this.releaseBase,this.releasePR)}get githubToken(){return this.getConfig("githubToken")}async onBefore(){this.logger.verbose("CreateReleasePullRequest onBefore"),await this.releaseBase.init();const e=this.releaseBase.repoInfo;if(!e)throw new Error("repoInfo is not set");await this.releasePR.init({token:this.githubToken,repoName:e.repoName,authorName:e.authorName})}async onSuccess(){const e=await this.step({label:"Create Changelog and Version",task:()=>this.changelogManager.createChangelogAndVersion()}),{tagName:t,releaseBranch:r}=await this.step({label:"Create Release Branch",task:()=>this.branchManager.createReleaseBranch(e)}),n=await this.step({label:"Create Release PR",task:()=>this.createReleasePR(t,r,e)});if(this.pullRequestManager.autoMergeReleasePR)return await this.step({label:`Merge Release PR(${n})`,task:()=>this.pullRequestManager.mergePR(n,r)}),void await this.step({label:`Checked Release PR(${n})`,task:()=>this.pullRequestManager.checkedPR(n,r)});this.logger.info(`Please manually merge PR(#${n}) and complete the publishing process afterwards`)}async createReleasePR(e,t,r){const n=this.changelogManager.getChangelogAndFeatures(r),o=[(await this.pullRequestManager.createReleasePRLabel()).name];return this.pullRequestManager.createReleasePR({tagName:e,releaseBranch:t,changelog:n,sourceBranch:this.branchManager.sourceBranch,releaseEnv:this.branchManager.releaseEnv,labels:o})}}class _i{options;octokit;constructor(e={}){this.options=e}async init({token:e,repoName:t,authorName:r}){if(this.octokit)return this.octokit;if(!e)throw new Error("Github token is not set");this.options.repoName=t,this.options.authorName=r;const{Octokit:n}=await import("@octokit/rest"),o=new n({auth:e});return this.octokit=o,o}getOctokit(){if(!this.octokit)throw new Error("Octokit is not initialized");return this.octokit}mergePullRequest(e){return this.getOctokit().rest.pulls.merge({...e,owner:e.owner||this.options.authorName||"",repo:e.repo||this.options.repoName||""})}getPullRequest(e){return this.getOctokit().rest.pulls.get({...e,owner:e.owner||this.options.authorName||"",repo:e.repo||this.options.repoName||""})}deleteBranch(e){return this.getOctokit().rest.git.deleteRef({...e,owner:e.owner||this.options.authorName||"",repo:e.repo||this.options.repoName||""})}addPullRequestLabels(e){return this.getOctokit().rest.issues.addLabels({...e,owner:e.owner||this.options.authorName||"",repo:e.repo||this.options.repoName||""})}async createPullRequestLabel(e){return await this.getOctokit().rest.issues.createLabel({...e,owner:e.owner||this.options.authorName||"",repo:e.repo||this.options.repoName||""})}async createPullRequest(e){const t=await this.getOctokit().rest.pulls.create({...e,owner:e.owner||this.options.authorName||"",repo:e.repo||this.options.repoName||""});return{...t.data,number:t.data.number}}}var Pi=Ye(pt());class xi extends gi{pluginName="publish-npm";_releaseItOutput;constructor(e){super(e),this.getIncrementVersion()}async onBefore(){this.logger.verbose("PublishNpm onBefore"),await this.checkNpmAuth()}async onSuccess(){const e=this.getPublishReleaseItOptions(this.context);await this.step({label:"Publish to NPM",task:()=>this.publish(e)})}async publish(e){this.logger.debug("Run release-it method",e);const t=this.getConfig("releaseIt");if(!t)throw new Error("releaseIt instance is not set");return this._releaseItOutput=await t(e),this._releaseItOutput}getPublishReleaseItOptions(e){return{ci:!0,npm:{publish:!0},git:{requireCleanWorkingDir:!1,requireUpstream:!1,changelog:!1},plugins:{"@release-it/conventional-changelog":{infile:!1}},"dry-run":e.dryRun,verbose:!0,increment:this.getIncrementVersion()}}getIncrementVersion(){const e=this.getConfig("packageJson");if(!Pi(e))throw new Error("package.json is undefined");if(!("version"in e))throw new Error("package.json version is required");return e.version}async checkNpmAuth(){const e=this.getEnv("NPM_TOKEN");if(!e)throw new Error("NPM_TOKEN is not set.");this.setConfig({npmToken:e}),await this.shell.exec(`echo //registry.npmjs.org/:_authToken=${e} > .npmrc`,{dryRun:!1})}}class Ei extends gi{pluginName="publish-path";constructor(e){super(e)}async onBefore(){this.logger.verbose("PublishPath onBefore"),this.checkPublishPath()}async checkPublishPath(){const e=this.getPublishPath();this.switchToPublishPath(e),this.logger.debug("Current path:",e)}switchToPublishPath(e){e&&n(e)&&(this.logger.debug("Switching to publish path:",e),process.chdir(e))}getPublishPath(){const e=this.getConfig("publishPath");return"string"==typeof e?e:process.cwd()}}function Ni(e){const t=new hi(e),n=new r;return function(e){const t=[];return t.push(new pi(e,e.options.releaseIt)),e.options.pullRequest?t.push(new Ri(e,new _i)):t.push(new xi(e)),t.push(new Ei(e)),t}(t).forEach((e=>{n.use(e)})),n.exec(t,(({returnValue:e})=>Promise.resolve(e)))}export{gi as Plugin,hi as ReleaseContext,Ni as release};
|
|
1
|
+
import{FeScriptContext as t}from"@qlover/scripts-context";import{Env as e}from"@qlover/env-loader";import{AsyncExecutor as r}from"@qlover/fe-utils";import{existsSync as n}from"fs";import{join as o,parse as i}from"path";import{createRequire as u}from"module";import{pathToFileURL as a}from"url";var s,c,f,l,h,g,p,v,b,d,y,m,w,R,_,P,x,E,N,O,j,k,C,B,T,A,I,S,$,q,M,F,L,U,z,V,G,H,D,W,K,Y,J,Q,X,Z,tt,et,rt,nt,ot,it,ut,at,st,ct,ft,lt,ht,gt,pt,vt,bt,dt,yt,mt,wt,Rt,_t,Pt,xt,Et,Nt,Ot,jt,kt,Ct,Bt,Tt,At,It,St,$t,qt,Mt,Ft,Lt,Ut,zt,Vt,Gt,Ht,Dt,Wt,Kt,Yt,Jt,Qt,Xt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Zt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function te(){if(c)return s;return c=1,s=function(){this.__data__=[],this.size=0}}function ee(){if(l)return f;return l=1,f=function(t,e){return t===e||t!=t&&e!=e}}function re(){if(g)return h;g=1;var t=ee();return h=function(e,r){for(var n=e.length;n--;)if(t(e[n][0],r))return n;return-1}}function ne(){if(v)return p;v=1;var t=re(),e=Array.prototype.splice;return p=function(r){var n=this.__data__,o=t(n,r);return!(o<0)&&(o==n.length-1?n.pop():e.call(n,o,1),--this.size,!0)}}function oe(){if(d)return b;d=1;var t=re();return b=function(e){var r=this.__data__,n=t(r,e);return n<0?void 0:r[n][1]}}function ie(){if(m)return y;m=1;var t=re();return y=function(e){return t(this.__data__,e)>-1}}function ue(){if(R)return w;R=1;var t=re();return w=function(e,r){var n=this.__data__,o=t(n,e);return o<0?(++this.size,n.push([e,r])):n[o][1]=r,this}}function ae(){if(P)return _;P=1;var t=te(),e=ne(),r=oe(),n=ie(),o=ue();function i(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}return i.prototype.clear=t,i.prototype.delete=e,i.prototype.get=r,i.prototype.has=n,i.prototype.set=o,_=i}function se(){if(E)return x;E=1;var t=ae();return x=function(){this.__data__=new t,this.size=0}}function ce(){if(O)return N;return O=1,N=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}}function fe(){if(k)return j;return k=1,j=function(t){return this.__data__.get(t)}}function le(){if(B)return C;return B=1,C=function(t){return this.__data__.has(t)}}function he(){if(A)return T;A=1;var t="object"==typeof Xt&&Xt&&Xt.Object===Object&&Xt;return T=t}function ge(){if(S)return I;S=1;var t=he(),e="object"==typeof self&&self&&self.Object===Object&&self,r=t||e||Function("return this")();return I=r}function pe(){if(q)return $;q=1;var t=ge().Symbol;return $=t}function ve(){if(F)return M;F=1;var t=pe(),e=Object.prototype,r=e.hasOwnProperty,n=e.toString,o=t?t.toStringTag:void 0;return M=function(t){var e=r.call(t,o),i=t[o];try{t[o]=void 0;var u=!0}catch(t){}var a=n.call(t);return u&&(e?t[o]=i:delete t[o]),a}}function be(){if(U)return L;U=1;var t=Object.prototype.toString;return L=function(e){return t.call(e)}}function de(){if(V)return z;V=1;var t=pe(),e=ve(),r=be(),n=t?t.toStringTag:void 0;return z=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":n&&n in Object(t)?e(t):r(t)}}function ye(){if(H)return G;return H=1,G=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}}function me(){if(W)return D;W=1;var t=de(),e=ye();return D=function(r){if(!e(r))return!1;var n=t(r);return"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n}}function we(){if(Y)return K;Y=1;var t=ge()["__core-js_shared__"];return K=t}function Re(){if(Q)return J;Q=1;var t,e=we(),r=(t=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||""))?"Symbol(src)_1."+t:"";return J=function(t){return!!r&&r in t}}function _e(){if(Z)return X;Z=1;var t=Function.prototype.toString;return X=function(e){if(null!=e){try{return t.call(e)}catch(t){}try{return e+""}catch(t){}}return""}}function Pe(){if(et)return tt;et=1;var t=me(),e=Re(),r=ye(),n=_e(),o=/^\[object .+?Constructor\]$/,i=Function.prototype,u=Object.prototype,a=i.toString,s=u.hasOwnProperty,c=RegExp("^"+a.call(s).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");return tt=function(i){return!(!r(i)||e(i))&&(t(i)?c:o).test(n(i))}}function xe(){if(nt)return rt;return nt=1,rt=function(t,e){return null==t?void 0:t[e]}}function Ee(){if(it)return ot;it=1;var t=Pe(),e=xe();return ot=function(r,n){var o=e(r,n);return t(o)?o:void 0}}function Ne(){if(at)return ut;at=1;var t=Ee()(ge(),"Map");return ut=t}function Oe(){if(ct)return st;ct=1;var t=Ee()(Object,"create");return st=t}function je(){if(lt)return ft;lt=1;var t=Oe();return ft=function(){this.__data__=t?t(null):{},this.size=0}}function ke(){if(gt)return ht;return gt=1,ht=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}}function Ce(){if(vt)return pt;vt=1;var t=Oe(),e=Object.prototype.hasOwnProperty;return pt=function(r){var n=this.__data__;if(t){var o=n[r];return"__lodash_hash_undefined__"===o?void 0:o}return e.call(n,r)?n[r]:void 0}}function Be(){if(dt)return bt;dt=1;var t=Oe(),e=Object.prototype.hasOwnProperty;return bt=function(r){var n=this.__data__;return t?void 0!==n[r]:e.call(n,r)}}function Te(){if(mt)return yt;mt=1;var t=Oe();return yt=function(e,r){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=t&&void 0===r?"__lodash_hash_undefined__":r,this}}function Ae(){if(Rt)return wt;Rt=1;var t=je(),e=ke(),r=Ce(),n=Be(),o=Te();function i(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}return i.prototype.clear=t,i.prototype.delete=e,i.prototype.get=r,i.prototype.has=n,i.prototype.set=o,wt=i}function Ie(){if(Pt)return _t;Pt=1;var t=Ae(),e=ae(),r=Ne();return _t=function(){this.size=0,this.__data__={hash:new t,map:new(r||e),string:new t}}}function Se(){if(Et)return xt;return Et=1,xt=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}}function $e(){if(Ot)return Nt;Ot=1;var t=Se();return Nt=function(e,r){var n=e.__data__;return t(r)?n["string"==typeof r?"string":"hash"]:n.map}}function qe(){if(kt)return jt;kt=1;var t=$e();return jt=function(e){var r=t(this,e).delete(e);return this.size-=r?1:0,r}}function Me(){if(Bt)return Ct;Bt=1;var t=$e();return Ct=function(e){return t(this,e).get(e)}}function Fe(){if(At)return Tt;At=1;var t=$e();return Tt=function(e){return t(this,e).has(e)}}function Le(){if(St)return It;St=1;var t=$e();return It=function(e,r){var n=t(this,e),o=n.size;return n.set(e,r),this.size+=n.size==o?0:1,this}}function Ue(){if(qt)return $t;qt=1;var t=Ie(),e=qe(),r=Me(),n=Fe(),o=Le();function i(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}return i.prototype.clear=t,i.prototype.delete=e,i.prototype.get=r,i.prototype.has=n,i.prototype.set=o,$t=i}function ze(){if(Ft)return Mt;Ft=1;var t=ae(),e=Ne(),r=Ue();return Mt=function(n,o){var i=this.__data__;if(i instanceof t){var u=i.__data__;if(!e||u.length<199)return u.push([n,o]),this.size=++i.size,this;i=this.__data__=new r(u)}return i.set(n,o),this.size=i.size,this}}function Ve(){if(Ut)return Lt;Ut=1;var t=ae(),e=se(),r=ce(),n=fe(),o=le(),i=ze();function u(e){var r=this.__data__=new t(e);this.size=r.size}return u.prototype.clear=e,u.prototype.delete=r,u.prototype.get=n,u.prototype.has=o,u.prototype.set=i,Lt=u}function Ge(){if(Vt)return zt;Vt=1;var t=Ee(),e=function(){try{var e=t(Object,"defineProperty");return e({},"",{}),e}catch(t){}}();return zt=e}function He(){if(Ht)return Gt;Ht=1;var t=Ge();return Gt=function(e,r,n){"__proto__"==r&&t?t(e,r,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[r]=n}}function De(){if(Wt)return Dt;Wt=1;var t=He(),e=ee();return Dt=function(r,n,o){(void 0!==o&&!e(r[n],o)||void 0===o&&!(n in r))&&t(r,n,o)}}function We(){if(Yt)return Kt;return Yt=1,Kt=function(t){return function(e,r,n){for(var o=-1,i=Object(e),u=n(e),a=u.length;a--;){var s=u[t?a:++o];if(!1===r(i[s],s,i))break}return e}}}function Ke(){if(Qt)return Jt;Qt=1;var t=We()();return Jt=t}var Ye,Je,Qe,Xe,Ze,tr,er,rr,nr,or,ir,ur,ar,sr,cr,fr,lr,hr,gr,pr,vr,br,dr,yr,mr,wr,Rr,_r,Pr,xr,Er,Nr,Or,jr={exports:{}};function kr(){return Ye||(Ye=1,t=jr,e=jr.exports,r=ge(),n=e&&!e.nodeType&&e,o=n&&t&&!t.nodeType&&t,i=o&&o.exports===n?r.Buffer:void 0,u=i?i.allocUnsafe:void 0,t.exports=function(t,e){if(e)return t.slice();var r=t.length,n=u?u(r):new t.constructor(r);return t.copy(n),n}),jr.exports;var t,e,r,n,o,i,u}function Cr(){if(Qe)return Je;Qe=1;var t=ge().Uint8Array;return Je=t}function Br(){if(Ze)return Xe;Ze=1;var t=Cr();return Xe=function(e){var r=new e.constructor(e.byteLength);return new t(r).set(new t(e)),r}}function Tr(){if(er)return tr;er=1;var t=Br();return tr=function(e,r){var n=r?t(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}}function Ar(){if(nr)return rr;return nr=1,rr=function(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}}function Ir(){if(ir)return or;ir=1;var t=ye(),e=Object.create,r=function(){function r(){}return function(n){if(!t(n))return{};if(e)return e(n);r.prototype=n;var o=new r;return r.prototype=void 0,o}}();return or=r}function Sr(){if(ar)return ur;return ar=1,ur=function(t,e){return function(r){return t(e(r))}}}function $r(){if(cr)return sr;cr=1;var t=Sr()(Object.getPrototypeOf,Object);return sr=t}function qr(){if(lr)return fr;lr=1;var t=Object.prototype;return fr=function(e){var r=e&&e.constructor;return e===("function"==typeof r&&r.prototype||t)}}function Mr(){if(gr)return hr;gr=1;var t=Ir(),e=$r(),r=qr();return hr=function(n){return"function"!=typeof n.constructor||r(n)?{}:t(e(n))}}function Fr(){if(vr)return pr;return vr=1,pr=function(t){return null!=t&&"object"==typeof t}}function Lr(){if(dr)return br;dr=1;var t=de(),e=Fr();return br=function(r){return e(r)&&"[object Arguments]"==t(r)}}function Ur(){if(mr)return yr;mr=1;var t=Lr(),e=Fr(),r=Object.prototype,n=r.hasOwnProperty,o=r.propertyIsEnumerable,i=t(function(){return arguments}())?t:function(t){return e(t)&&n.call(t,"callee")&&!o.call(t,"callee")};return yr=i}function zr(){if(Rr)return wr;Rr=1;var t=Array.isArray;return wr=t}function Vr(){if(Pr)return _r;Pr=1;return _r=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}}function Gr(){if(Er)return xr;Er=1;var t=me(),e=Vr();return xr=function(r){return null!=r&&e(r.length)&&!t(r)}}function Hr(){if(Or)return Nr;Or=1;var t=Gr(),e=Fr();return Nr=function(r){return e(r)&&t(r)}}var Dr,Wr,Kr,Yr,Jr,Qr,Xr,Zr,tn,en={exports:{}};function rn(){if(Wr)return Dr;return Wr=1,Dr=function(){return!1}}function nn(){return Kr||(Kr=1,function(t,e){var r=ge(),n=rn(),o=e&&!e.nodeType&&e,i=o&&t&&!t.nodeType&&t,u=i&&i.exports===o?r.Buffer:void 0,a=(u?u.isBuffer:void 0)||n;t.exports=a}(en,en.exports)),en.exports}function on(){if(Jr)return Yr;Jr=1;var t=de(),e=$r(),r=Fr(),n=Function.prototype,o=Object.prototype,i=n.toString,u=o.hasOwnProperty,a=i.call(Object);return Yr=function(n){if(!r(n)||"[object Object]"!=t(n))return!1;var o=e(n);if(null===o)return!0;var s=u.call(o,"constructor")&&o.constructor;return"function"==typeof s&&s instanceof s&&i.call(s)==a}}function un(){if(Xr)return Qr;Xr=1;var t=de(),e=Vr(),r=Fr(),n={};return n["[object Float32Array]"]=n["[object Float64Array]"]=n["[object Int8Array]"]=n["[object Int16Array]"]=n["[object Int32Array]"]=n["[object Uint8Array]"]=n["[object Uint8ClampedArray]"]=n["[object Uint16Array]"]=n["[object Uint32Array]"]=!0,n["[object Arguments]"]=n["[object Array]"]=n["[object ArrayBuffer]"]=n["[object Boolean]"]=n["[object DataView]"]=n["[object Date]"]=n["[object Error]"]=n["[object Function]"]=n["[object Map]"]=n["[object Number]"]=n["[object Object]"]=n["[object RegExp]"]=n["[object Set]"]=n["[object String]"]=n["[object WeakMap]"]=!1,Qr=function(o){return r(o)&&e(o.length)&&!!n[t(o)]}}function an(){if(tn)return Zr;return tn=1,Zr=function(t){return function(e){return t(e)}}}var sn,cn,fn,ln,hn,gn,pn,vn,bn,dn,yn,mn,wn,Rn,_n,Pn,xn,En,Nn,On,jn,kn,Cn,Bn,Tn,An,In,Sn,$n,qn,Mn,Fn,Ln,Un,zn,Vn,Gn,Hn,Dn,Wn,Kn,Yn,Jn,Qn,Xn,Zn,to,eo,ro,no={exports:{}};function oo(){return sn||(sn=1,t=no,e=no.exports,r=he(),n=e&&!e.nodeType&&e,o=n&&t&&!t.nodeType&&t,i=o&&o.exports===n&&r.process,u=function(){try{var t=o&&o.require&&o.require("util").types;return t||i&&i.binding&&i.binding("util")}catch(t){}}(),t.exports=u),no.exports;var t,e,r,n,o,i,u}function io(){if(fn)return cn;fn=1;var t=un(),e=an(),r=oo(),n=r&&r.isTypedArray,o=n?e(n):t;return cn=o}function uo(){if(hn)return ln;return hn=1,ln=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}}function ao(){if(pn)return gn;pn=1;var t=He(),e=ee(),r=Object.prototype.hasOwnProperty;return gn=function(n,o,i){var u=n[o];r.call(n,o)&&e(u,i)&&(void 0!==i||o in n)||t(n,o,i)}}function so(){if(bn)return vn;bn=1;var t=ao(),e=He();return vn=function(r,n,o,i){var u=!o;o||(o={});for(var a=-1,s=n.length;++a<s;){var c=n[a],f=i?i(o[c],r[c],c,o,r):void 0;void 0===f&&(f=r[c]),u?e(o,c,f):t(o,c,f)}return o}}function co(){if(yn)return dn;return yn=1,dn=function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}}function fo(){if(wn)return mn;wn=1;var t=/^(?:0|[1-9]\d*)$/;return mn=function(e,r){var n=typeof e;return!!(r=null==r?9007199254740991:r)&&("number"==n||"symbol"!=n&&t.test(e))&&e>-1&&e%1==0&&e<r}}function lo(){if(_n)return Rn;_n=1;var t=co(),e=Ur(),r=zr(),n=nn(),o=fo(),i=io(),u=Object.prototype.hasOwnProperty;return Rn=function(a,s){var c=r(a),f=!c&&e(a),l=!c&&!f&&n(a),h=!c&&!f&&!l&&i(a),g=c||f||l||h,p=g?t(a.length,String):[],v=p.length;for(var b in a)!s&&!u.call(a,b)||g&&("length"==b||l&&("offset"==b||"parent"==b)||h&&("buffer"==b||"byteLength"==b||"byteOffset"==b)||o(b,v))||p.push(b);return p}}function ho(){if(xn)return Pn;return xn=1,Pn=function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e}}function go(){if(Nn)return En;Nn=1;var t=ye(),e=qr(),r=ho(),n=Object.prototype.hasOwnProperty;return En=function(o){if(!t(o))return r(o);var i=e(o),u=[];for(var a in o)("constructor"!=a||!i&&n.call(o,a))&&u.push(a);return u}}function po(){if(jn)return On;jn=1;var t=lo(),e=go(),r=Gr();return On=function(n){return r(n)?t(n,!0):e(n)}}function vo(){if(Cn)return kn;Cn=1;var t=so(),e=po();return kn=function(r){return t(r,e(r))}}function bo(){if(Tn)return Bn;Tn=1;var t=De(),e=kr(),r=Tr(),n=Ar(),o=Mr(),i=Ur(),u=zr(),a=Hr(),s=nn(),c=me(),f=ye(),l=on(),h=io(),g=uo(),p=vo();return Bn=function(v,b,d,y,m,w,R){var _=g(v,d),P=g(b,d),x=R.get(P);if(x)t(v,d,x);else{var E=w?w(_,P,d+"",v,b,R):void 0,N=void 0===E;if(N){var O=u(P),j=!O&&s(P),k=!O&&!j&&h(P);E=P,O||j||k?u(_)?E=_:a(_)?E=n(_):j?(N=!1,E=e(P,!0)):k?(N=!1,E=r(P,!0)):E=[]:l(P)||i(P)?(E=_,i(_)?E=p(_):f(_)&&!c(_)||(E=o(P))):N=!1}N&&(R.set(P,E),m(E,P,y,w,R),R.delete(P)),t(v,d,E)}}}function yo(){if(In)return An;In=1;var t=Ve(),e=De(),r=Ke(),n=bo(),o=ye(),i=po(),u=uo();return An=function a(s,c,f,l,h){s!==c&&r(c,(function(r,i){if(h||(h=new t),o(r))n(s,c,i,f,a,l,h);else{var g=l?l(u(s,i),r,i+"",s,c,h):void 0;void 0===g&&(g=r),e(s,i,g)}}),i)},An}function mo(){if($n)return Sn;return $n=1,Sn=function(t){return t}}function wo(){if(Mn)return qn;return Mn=1,qn=function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}}function Ro(){if(Ln)return Fn;Ln=1;var t=wo(),e=Math.max;return Fn=function(r,n,o){return n=e(void 0===n?r.length-1:n,0),function(){for(var i=arguments,u=-1,a=e(i.length-n,0),s=Array(a);++u<a;)s[u]=i[n+u];u=-1;for(var c=Array(n+1);++u<n;)c[u]=i[u];return c[n]=o(s),t(r,this,c)}},Fn}function _o(){if(zn)return Un;return zn=1,Un=function(t){return function(){return t}}}function Po(){if(Gn)return Vn;Gn=1;var t=_o(),e=Ge();return Vn=e?function(r,n){return e(r,"toString",{configurable:!0,enumerable:!1,value:t(n),writable:!0})}:mo()}function xo(){if(Dn)return Hn;Dn=1;var t=Date.now;return Hn=function(e){var r=0,n=0;return function(){var o=t(),i=16-(o-n);if(n=o,i>0){if(++r>=800)return arguments[0]}else r=0;return e.apply(void 0,arguments)}},Hn}function Eo(){if(Kn)return Wn;Kn=1;var t=Po(),e=xo()(t);return Wn=e}function No(){if(Jn)return Yn;Jn=1;var t=mo(),e=Ro(),r=Eo();return Yn=function(n,o){return r(e(n,o,t),n+"")}}function Oo(){if(Xn)return Qn;Xn=1;var t=ee(),e=Gr(),r=fo(),n=ye();return Qn=function(o,i,u){if(!n(u))return!1;var a=typeof i;return!!("number"==a?e(u)&&r(i,u.length):"string"==a&&i in u)&&t(u[i],o)}}function jo(){if(to)return Zn;to=1;var t=No(),e=Oo();return Zn=function(r){return t((function(t,n){var o=-1,i=n.length,u=i>1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(u=r.length>3&&"function"==typeof u?(i--,u):void 0,a&&e(n[0],n[1],a)&&(u=i<3?void 0:u,i=1),t=Object(t);++o<i;){var s=n[o];s&&r(t,s,o,u)}return t}))}}function ko(){if(ro)return eo;ro=1;var t=yo(),e=jo()((function(e,r,n){t(e,r,n)}));return eo=e}var Co,Bo,To,Ao,Io,So,$o,qo,Mo,Fo,Lo,Uo,zo,Vo,Go,Ho,Do,Wo,Ko,Yo,Jo,Qo,Xo,Zo,ti=Zt(ko());function ei(){if(Bo)return Co;Bo=1;var t=de(),e=Fr();return Co=function(r){return"symbol"==typeof r||e(r)&&"[object Symbol]"==t(r)}}function ri(){if(Ao)return To;Ao=1;var t=zr(),e=ei(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;return To=function(o,i){if(t(o))return!1;var u=typeof o;return!("number"!=u&&"symbol"!=u&&"boolean"!=u&&null!=o&&!e(o))||(n.test(o)||!r.test(o)||null!=i&&o in Object(i))}}function ni(){if(So)return Io;So=1;var t=Ue();function e(r,n){if("function"!=typeof r||null!=n&&"function"!=typeof n)throw new TypeError("Expected a function");var o=function(){var t=arguments,e=n?n.apply(this,t):t[0],i=o.cache;if(i.has(e))return i.get(e);var u=r.apply(this,t);return o.cache=i.set(e,u)||i,u};return o.cache=new(e.Cache||t),o}return e.Cache=t,Io=e}function oi(){if(qo)return $o;qo=1;var t=ni();return $o=function(e){var r=t(e,(function(t){return 500===n.size&&n.clear(),t})),n=r.cache;return r}}function ii(){if(Fo)return Mo;Fo=1;var t=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,e=/\\(\\)?/g,r=oi()((function(r){var n=[];return 46===r.charCodeAt(0)&&n.push(""),r.replace(t,(function(t,r,o,i){n.push(o?i.replace(e,"$1"):r||t)})),n}));return Mo=r}function ui(){if(Uo)return Lo;return Uo=1,Lo=function(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r<n;)o[r]=e(t[r],r,t);return o}}function ai(){if(Vo)return zo;Vo=1;var t=pe(),e=ui(),r=zr(),n=ei(),o=t?t.prototype:void 0,i=o?o.toString:void 0;return zo=function t(o){if("string"==typeof o)return o;if(r(o))return e(o,t)+"";if(n(o))return i?i.call(o):"";var u=o+"";return"0"==u&&1/o==-1/0?"-0":u},zo}function si(){if(Ho)return Go;Ho=1;var t=ai();return Go=function(e){return null==e?"":t(e)}}function ci(){if(Wo)return Do;Wo=1;var t=zr(),e=ri(),r=ii(),n=si();return Do=function(o,i){return t(o)?o:e(o,i)?[o]:r(n(o))}}function fi(){if(Yo)return Ko;Yo=1;var t=ei();return Ko=function(e){if("string"==typeof e||t(e))return e;var r=e+"";return"0"==r&&1/e==-1/0?"-0":r}}function li(){if(Qo)return Jo;Qo=1;var t=ci(),e=fi();return Jo=function(r,n){for(var o=0,i=(n=t(n,r)).length;null!=r&&o<i;)r=r[e(n[o++])];return o&&o==i?r:void 0}}function hi(){if(Zo)return Xo;Zo=1;var t=li();return Xo=function(e,r,n){var o=null==e?void 0:t(e,r);return void 0===o?n:o}}var gi,pi,vi=Zt(hi());class bi extends t{env;config;constructor(t){super(t),this.config=ti({},this.feConfig.release,this.options),this.env=this.getInitEnv()}setConfig(t){this.config=ti(this.config,t)}getConfig(t,e){return vi(this.config,t,e)}getInitEnv(){return e.searchEnv({logger:this.logger,preloadList:this.feConfig.envOrder})}getEnv(){return this.env}getPkg(t){return this.getConfig(["packageJson",t])}}class di{context;props;onlyOne=!0;constructor(t,e={}){this.context=t,this.props=e}get logger(){return this.context.logger}get shell(){return this.context.shell}getEnv(t,e){return this.context.getEnv().get(t)??e}enabled(){return!0}getConfig(t,e){return this.context.getConfig(t,e)}setConfig(t){this.context.setConfig(t)}onBefore(t){}onSuccess(t){}onError(t){}async step({label:t,task:e}){this.logger.obtrusive(t);try{const r=await e();return this.logger.info(`${t} - success`),r}catch(t){throw this.logger.error(t),t}}}class yi extends di{pluginName="check-environment";constructor(t,e){if(super(t),!e)throw new Error("releaseIt is not required");this.hasReleaseIt(),this.hasGithubToken()}hasReleaseIt(){if("false"===this.getEnv("FE_RELEASE"))throw new Error("Skip Release");return!0}hasGithubToken(){const t=this.getEnv("GITHUB_TOKEN")||this.getEnv("PAT_TOKEN");if(!t)throw new Error("GITHUB_TOKEN or PAT_TOKEN environment variable is not set.");return this.setConfig({githubToken:t}),!0}onBefore(t){this.logger.verbose("CheckEnvironment onBefore")}}class mi{context;constructor(t){this.context=t;const e=this.context.getEnv().get("FE_RELEASE_BRANCH")??this.context.getEnv().get("FE_RELEASE_SOURCE_BRANCH")??"master";this.context.setConfig({sourceBranch:e})}getReleaseIt(){return this.context.getConfig("releaseIt")}getReleaseItChangelogOptions(){return{ci:!0,increment:"patch",npm:{publish:!1},git:{requireCleanWorkingDir:!1,tag:!1,push:!1},github:{release:!1},verbose:!0,"dry-run":this.context.dryRun}}getChangelogAndFeatures(t){return t||this.context.logger.warn("No release-it output found, changelog might be incomplete"),vi(t,"changelog","No changelog")}createChangelogAndVersion(){const t=this.getReleaseIt();if(!t)throw new Error("releaseIt instance is not set");return t(this.getReleaseItChangelogOptions())}}class wi{context;constructor(t){this.context=t;const e=this.context.getConfig("releaseEnv")??this.context.getEnv().get("NODE_ENV")??"development",r=this.context.getEnv().get("FE_RELEASE_BRANCH")??this.context.getEnv().get("FE_RELEASE_SOURCE_BRANCH")??"master";this.context.setConfig({releaseEnv:e,sourceBranch:r})}get sourceBranch(){return this.context.getConfig("sourceBranch")}get releaseEnv(){return this.context.getConfig("releaseEnv")}async checkTag(t){const e=vi(t,"version")||this.context.getPkg("version");if("string"!=typeof e)throw new Error("Tag name is not a string");return this.context.logger.verbose("Created Tag is:",e),{tagName:e}}getReleaseBranchName(t){const e=this.context.getConfig("branchName","release-${tagName}");if("string"!=typeof e)throw new Error("Branch name template is not a string");return this.context.logger.verbose("Release Branch template is:",e),this.context.shell.format(e,{env:this.releaseEnv,branch:this.sourceBranch,tagName:t})}async createReleaseBranch(t){const{tagName:e}=await this.checkTag(t),r=this.getReleaseBranchName(e),n=this.sourceBranch;this.context.logger.verbose("PR SourceBranch is:",n),this.context.logger.verbose("PR TargetBranch is:",r);try{await this.context.shell.exec(`git fetch origin ${n}`),await this.context.shell.exec(`git merge origin/${n}`),await this.context.shell.exec(`git checkout -b ${r}`),await this.context.shell.exec(`git push origin ${r}`)}catch(t){throw t.message.includes("remote: Permission to ")&&this.context.logger.warn('Token maybe not allow Workflow permissions, can you try to open "Workflow permissions" -> "Read and write permissions" for this token?'),t}return{tagName:e,releaseBranch:r}}}class Ri{context;releaseBase;releasePR;constructor(t,e,r){this.context=t,this.releaseBase=e,this.releasePR=r}get logger(){return this.context.logger}get shell(){return this.context.shell}get autoMergeType(){return this.context.getConfig("autoMergeType","squash")}get dryRunPRNumber(){return this.context.getConfig("dryRunPRNumber","999999")}get autoMergeReleasePR(){return this.context.getConfig("autoMergeReleasePR",!1)}async mergePR(t,e){if(!t)return void this.logger.error("Failed to create Pull Request.",t);const r=this.autoMergeType;if(this.context.dryRun){const{repoName:n,authorName:o}=this.releaseBase.repoInfo;this.logger.info(`[DRY RUN] Would merge PR #${t} with method '${r}' in repo ${o}/${n}, branch ${e}`)}else await this.releasePR.mergePullRequest({pull_number:Number(t),merge_method:r})}async checkedPR(t,e){try{await this.releasePR.getPullRequest({pull_number:Number(t)}),await this.releasePR.deleteBranch({ref:`heads/${e}`}),this.logger.info(`Branch ${e} has been deleted`)}catch(r){if(404===r.status)return void this.logger.warn(`PR #${t} or branch ${e} not found`);throw this.logger.error("Failed to check PR or delete branch",r),r}}async createReleasePRLabel(){const t=this.context.getConfig("label");if(!(t&&t.name&&t.description&&t.color))throw new Error("Label is not valid, skipping creation");if(this.context.dryRun)return this.logger.info("[DRY RUN] Would create PR label with:",t),t;try{const e=await this.releasePR.createPullRequestLabel({name:t.name,description:t.description,color:t.color.replace("#","")});return this.logger.debug("Create PR label Success",e),t}catch(e){if(422===e.status)return this.logger.warn(`Label ${t.name} already exists, skipping!`),t;throw this.logger.error("Create PR label Failed",e),e}}async createReleasePR(t){const e=this.getCreateReleasePROptions(t);if(this.context.dryRun)return this.logger.info("[DRY RUN] Would create PR with:",{...e,labels:t.labels}),this.dryRunPRNumber;try{const r=await this.releasePR.createPullRequest(e),n=r.number;if(!n)throw new Error("CreateReleasePR Failed, prNumber is empty");if(this.logger.debug("Create PR Success",r),t.labels&&t.labels.length){const e=await this.releasePR.addPullRequestLabels({issue_number:n,labels:t.labels});this.logger.debug("Add PR label Success",e)}return n.toString()}catch(t){if(422===t.status&&t.message.includes("already exists")){this.logger.warn("PR already exists");const e=t.message.match(/pull request #(\d+)/);return e?e[1]:""}throw this.logger.error("Failed to create PR",t),t}}getCreateReleasePROptions(t){return{title:this.getReleasePRTitle(t),body:this.getReleasePRBody(t),base:t.sourceBranch,head:t.releaseBranch}}getReleasePRTitle(t){const e=this.context.getConfig("PRTitle","Release ${env} ${pkgName} ${tagName}");return this.shell.format(e,{env:t.releaseEnv,branch:t.sourceBranch,tagName:t.tagName,pkgName:this.context.getPkg("name")})}getReleasePRBody(t){const e=this.context.getConfig("PRBody","");return this.shell.format(e,{branch:t.sourceBranch,env:t.releaseEnv,tagName:t.tagName,changelog:t.changelog})}}function _i(){if(pi)return gi;pi=1;var t=de(),e=zr(),r=Fr();return gi=function(n){return"string"==typeof n||!e(n)&&r(n)&&"[object String]"==t(n)}}var Pi=Zt(_i());class xi{context;constructor(t){this.context=t}get repoInfo(){return this.context.getConfig("repoInfo")}async init(){const t=await this.getUserInfo();this.context.setConfig({repoInfo:t})}async getUserInfo(){let t;try{t=(await this.context.shell.exec("git config --get remote.origin.url",{dryRun:!1})).trim()}catch(t){throw new Error("Failed to get git remote url. Please ensure this is a git repository with a valid remote.")}if(!t)throw new Error("Git remote URL is empty. Please set a valid GitHub remote URL.");this.context.logger.verbose("repoUrl: ",t);const e=t.match(/github\.com[:/]([^/]+)\/([^/.]+)(?:\.git)?$/);if(!e)throw new Error("Invalid GitHub repository URL format. Please ensure the remote URL is from GitHub.");const[,r,n]=e;if(!this.isValidString(r)||!this.isValidString(n))throw new Error("Failed to extract owner or repository name from GitHub URL");return{repoName:n,authorName:r}}isValidString(t){return!!t&&Pi(t)}}class Ei extends di{context;releasePR;pluginName="create-release-pr";changelogManager;branchManager;pullRequestManager;releaseBase;constructor(t,e){super(t),this.context=t,this.releasePR=e,this.releaseBase=new xi(t),this.changelogManager=new mi(t),this.branchManager=new wi(t),this.pullRequestManager=new Ri(t,this.releaseBase,this.releasePR)}get githubToken(){return this.getConfig("githubToken")}async onBefore(){this.logger.verbose("CreateReleasePullRequest onBefore"),await this.releaseBase.init();const t=this.releaseBase.repoInfo;if(!t)throw new Error("repoInfo is not set");await this.releasePR.init({token:this.githubToken,repoName:t.repoName,authorName:t.authorName})}async onSuccess(){const t=await this.step({label:"Create Changelog and Version",task:()=>this.changelogManager.createChangelogAndVersion()}),{tagName:e,releaseBranch:r}=await this.step({label:"Create Release Branch",task:()=>this.branchManager.createReleaseBranch(t)}),n=await this.step({label:"Create Release PR",task:()=>this.createReleasePR(e,r,t)});if(this.pullRequestManager.autoMergeReleasePR)return await this.step({label:`Merge Release PR(${n})`,task:()=>this.pullRequestManager.mergePR(n,r)}),void await this.step({label:`Checked Release PR(${n})`,task:()=>this.pullRequestManager.checkedPR(n,r)});this.logger.info(`Please manually merge PR(#${n}) and complete the publishing process afterwards`)}async createReleasePR(t,e,r){const n=this.changelogManager.getChangelogAndFeatures(r),o=[(await this.pullRequestManager.createReleasePRLabel()).name];return this.pullRequestManager.createReleasePR({tagName:t,releaseBranch:e,changelog:n,sourceBranch:this.branchManager.sourceBranch,releaseEnv:this.branchManager.releaseEnv,labels:o})}}class Ni{options;octokit;constructor(t={}){this.options=t}async init({token:t,repoName:e,authorName:r}){if(this.octokit)return this.octokit;if(!t)throw new Error("Github token is not set");this.options.repoName=e,this.options.authorName=r;const{Octokit:n}=await import("@octokit/rest"),o=new n({auth:t});return this.octokit=o,o}getOctokit(){if(!this.octokit)throw new Error("Octokit is not initialized");return this.octokit}mergePullRequest(t){return this.getOctokit().rest.pulls.merge({...t,owner:t.owner||this.options.authorName||"",repo:t.repo||this.options.repoName||""})}getPullRequest(t){return this.getOctokit().rest.pulls.get({...t,owner:t.owner||this.options.authorName||"",repo:t.repo||this.options.repoName||""})}deleteBranch(t){return this.getOctokit().rest.git.deleteRef({...t,owner:t.owner||this.options.authorName||"",repo:t.repo||this.options.repoName||""})}addPullRequestLabels(t){return this.getOctokit().rest.issues.addLabels({...t,owner:t.owner||this.options.authorName||"",repo:t.repo||this.options.repoName||""})}async createPullRequestLabel(t){return await this.getOctokit().rest.issues.createLabel({...t,owner:t.owner||this.options.authorName||"",repo:t.repo||this.options.repoName||""})}async createPullRequest(t){const e=await this.getOctokit().rest.pulls.create({...t,owner:t.owner||this.options.authorName||"",repo:t.repo||this.options.repoName||""});return{...e.data,number:e.data.number}}}var Oi=Zt(ye());class ji extends di{pluginName="publish-npm";_releaseItOutput;constructor(t){super(t),this.getIncrementVersion()}async onBefore(){this.logger.verbose("PublishNpm onBefore"),await this.checkNpmAuth()}async onSuccess(){const t=this.getPublishReleaseItOptions(this.context);await this.step({label:"Publish to NPM",task:()=>this.publish(t)})}async publish(t){this.logger.debug("Run release-it method",t);const e=this.getConfig("releaseIt");if(!e)throw new Error("releaseIt instance is not set");return this._releaseItOutput=await e(t),this._releaseItOutput}getPublishReleaseItOptions(t){return{ci:!0,npm:{publish:!0},git:{requireCleanWorkingDir:!1,requireUpstream:!1,changelog:!1},plugins:{"@release-it/conventional-changelog":{infile:!1}},"dry-run":t.dryRun,verbose:!0,increment:this.getIncrementVersion()}}getIncrementVersion(){const t=this.getConfig("packageJson");if(!Oi(t))throw new Error("package.json is undefined");if(!("version"in t))throw new Error("package.json version is required");return t.version}async checkNpmAuth(){const t=this.getEnv("NPM_TOKEN");if(!t)throw new Error("NPM_TOKEN is not set.");this.setConfig({npmToken:t}),await this.shell.exec(`echo //registry.npmjs.org/:_authToken=${t} > .npmrc`,{dryRun:!1})}}class ki extends di{pluginName="publish-path";constructor(t){super(t)}async onBefore(){this.logger.verbose("PublishPath onBefore"),this.checkPublishPath()}async checkPublishPath(){const t=this.getPublishPath();this.switchToPublishPath(t),this.logger.debug("Current path:",t)}switchToPublishPath(t){t&&n(t)&&(this.logger.debug("Switching to publish path:",t),process.chdir(t))}getPublishPath(){const t=this.getConfig("publishPath");return"string"==typeof t?t:process.cwd()}}function Ci(t,...e){return"function"==typeof t&&t.prototype&&t.prototype.constructor===t?new t(...e):t(...e)}const Bi=t=>t.startsWith(".")?i(t).name:t,Ti={};async function Ai(t){const[e,r]=await async function(t){let e=null;try{e=(await import(t)).default}catch(r){try{e=(await import(o(process.cwd(),t))).default}catch(r){const n=u(process.cwd());e=(await import(a(n.resolve(t,{paths:[process.cwd()]})))).default}}return[Bi(t),e]}(t);return[e,r]}async function Ii(t){const e=[];return e.push(new yi(t,t.options.releaseIt)),t.options.pullRequest?e.push(new Ei(t,new Ni)):e.push(new ji(t)),e.push(new ki(t)),async function(t,e){const r=t.getConfig("plugins",Ti);for(const n of Object.keys(r)){const[,o]=await Ai(n),i=r[n];e.push(Ci(o,t,i))}return e}(t,e)}async function Si(t){const e=new bi(t),n=new r;return(await Ii(e)).forEach((t=>{n.use(t)})),n.exec(e,(({returnValue:t})=>Promise.resolve(t)))}export{di as Plugin,bi as ReleaseContext,Si as release};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qlover/fe-release",
|
|
3
3
|
"description": "A tool for releasing front-end projects, supporting multiple release modes and configurations, simplifying the release process and improving efficiency.",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.6",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": false,
|
|
7
7
|
"homepage": "https://github.com/qlover/fe-base/tree/master/packages/fe-release",
|