@candriajs/git-neko-kit 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +106 -0
- package/dist/index.cjs +3 -0
- package/dist/index.d.cts +3055 -0
- package/dist/index.d.ts +3055 -0
- package/dist/index.js +3 -0
- package/dist/root.cjs +1 -0
- package/dist/root.d.cts +6 -0
- package/dist/root.d.ts +6 -0
- package/dist/root.js +1 -0
- package/package.json +57 -0
package/dist/index.js
ADDED
@@ -0,0 +1,3 @@
|
|
1
|
+
import Ie from'node:path';import {URL as URL$1,fileURLToPath}from'node:url';import Me from'node:fs';import M from'dayjs';import Ve from'dayjs/plugin/relativeTime.js';import Ye from'git-url-parse';import {v4}from'uuid';import $ from'axios';import {HttpProxyAgent}from'http-proxy-agent';import {HttpsProxyAgent}from'https-proxy-agent';import {SocksProxyAgent}from'socks-proxy-agent';import je from'node:crypto';import or from'jsonwebtoken';var Je=Object.defineProperty;var m=(p,e)=>()=>(p&&(e=p(p=0)),e);var R=(p,e)=>{for(var r in e)Je(p,r,{get:e[r],enumerable:true});};var h,l,pe,k,ue,g,I,W,E,A,ce,me,T,b,x,f,he,le,U,ge,ye,we,j,F,fe,G,de,Te,_e,Re,be,C,Pe=m(()=>{h="\u55B5\u545C~ \u53C2\u6570\u597D\u50CF\u4E0D\u592A\u5BF9\u5462",l="\u55B5\u545C~ \u4ED3\u5E93\u62E5\u6709\u8005\u6216\u4ED3\u5E93\u540D\u4E0D\u80FD\u4E3A\u7A7A",pe="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u4E0D\u80FD\u4E3A\u7A7A",k="\u55B5\u545C~ \u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",ue="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u6216\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",g="\u55B5\u545C~ \u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",I="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u4E0D\u5B58\u5728\u54E6",W="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u6216\u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",E="\u55B5\u545C~ \u8FD9\u4E2A\u7528\u6237\u4E0D\u5B58\u5728\u54E6",A="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u7528\u6237\u4E0D\u5B58\u5728\u54E6",ce="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u4E0D\u5B58\u5728\u54E6",me="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",T="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u4E0D\u5B58\u5728\u54E6",b="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",x="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",f="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u4E0D\u5B58\u5728\u54E6",he="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",le="\u55B5\u545C~ \u8BAE\u9898\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A",U="\u55B5\u545C~ \u8FD9\u4E2A\u5B50\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",ge="\u55B5\u545C~ \u4EE3\u7406\u5730\u5740\u683C\u5F0F\u4E0D\u6B63\u786E\u54E6",ye="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u5931\u8D25",we="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",j="\u55B5\u545C~ \u6388\u6743\u7801\u4E0D\u80FD\u4E3A\u7A7A",F="\u55B5\u545C~ WebHook \u7B7E\u540D\u9A8C\u8BC1\u5931\u8D25",fe="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",G="\u55B5\u545C~ \u8FD9\u4E2A\u5237\u65B0\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",de="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Te="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5DF2\u8FC7\u671F",_e="\u55B5\u545C~ \u7EC4\u7EC7\u8D26\u53F7\u6682\u4E0D\u652F\u6301",Re="\u55B5\u545C~ WebHook \u7B7E\u540D\u683C\u5F0F\u4E0D\u6B63\u786E",be="\u55B5\u545C~ \u6743\u9650\u4E0D\u6B63\u786E\uFF0C\u8BF7\u68C0\u67E5\u6743\u9650",C="\u55B5\u545C~ \u8BBF\u95EE\u901F\u7387\u53D7\u9650\u5566 \u8BF7\u7B49\u5F851\u5C0F\u65F6\u540E\u518D\u8BD5 \u6216 \u4F7F\u7528\u8BBF\u95EE\u4EE4\u724C\u63D0\u5347\u9650\u989D";});var ke,Ce,Ee,$e=m(()=>{ke="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u6210\u529F",Ce="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u6709\u6548",Ee="\u55B5\u545C~ WebHook \u7B7E\u540D\u6210\u529F";});var Ae,xe,Ue=m(()=>{Ae=fileURLToPath(import.meta.url).replace(/\\/g,"/").replace(/\/$/,""),xe=Ie.resolve(Ae,"../../").replace(/\\/g,"/").replace(/\/$/,""),Ie.resolve(Ae,"../").replace(/\\/g,"/").replace(/\/$/,"");});function Ne(p="",e=""){e=e||xe;try{let r=`${e}/${p}`;if(!Me.existsSync(r))return console.warn(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${r}`),{};let s=Me.readFileSync(r,"utf8");return JSON.parse(s)}catch(r){return console.error(`\u8BFB\u53D6 JSON \u6587\u4EF6\u5931\u8D25: ${p}`,r),{}}}async function Se(p="zh-cn"){let e=p.toLowerCase();await import(`dayjs/locale/${e}.js`),M.locale(e);}async function u(p,e="zh-cn",r="YYYY-MM-DD HH:mm:ss"){return await Se(e),M(p).format(r)}async function Xe(p,e="zh-cn"){return await Se(e),M.extend(Ve),M(p).fromNow()}function w(p){let e=/^https?:\/\/[^/]+\/(?:https?:\/\/)?([^/]+\/[^/]+\/[^/]+)/,r=p.match(e);if(r){let t=r[1];p=t.startsWith("https")?t:`https://${t}`;}let s=Ye(p);return {owner:s.owner,repo:s.name}}async function Qe(p,e){return Promise.resolve(Array.from({length:Math.ceil(p.length/e)},(r,s)=>p.slice(s*e,s*e+e)))}async function qe(p){let e=/data-date="(.*?)" id="contribution-day-component/g,r=/<tool-tip .*?class="sr-only position-absolute">(.*?) contribution/g,s=Array.from(p.matchAll(e),i=>i[1]),t=Array.from(p.matchAll(r),i=>i[1].toLowerCase()==="no"?0:parseInt(i[1]));if(!s.length||!t.length)return {total:0,contributions:[]};let o=s.map((i,n)=>({date:i,count:t[n]})).sort((i,n)=>i.date.localeCompare(n.date)),a=await Qe(o,7);return {total:t.reduce((i,n)=>i+n,0),contributions:a}}var J=m(()=>{Ue();});var K,ve=m(()=>{J();K=Ne("package.json");});var d=m(()=>{Pe();$e();J();ve();});function V(p,e){let r={github:"api.github.com",gitee:"gitee.com/api/v5",gitcode:"api.gitcode.com/api/v5"};return `https://${e?.replace(/\/$/,"")??""}/${r[p??"github"]}`.replace(/\/$/,"")}function Y(p,e){let r={github:"github.com",gitee:"gitee.com",gitcode:"gitcode.com"};return `https://${e?.replace(/\/$/,"")??""}/${r[p??"github"]}`.replace(/\/$/,"")}async function er(){return Promise.resolve(v4().replace(/-/g,""))}var X=m(()=>{});var N,Q=m(()=>{d();N=class{baseUrl;tokenType;authorization;proxy;constructor(e,r="Bearer",s,t){this.baseUrl=e.replace(/\/$/,""),this.authorization=s,this.proxy=t,this.tokenType=r;}async request(e,r,s,t,o){let a=`${this.baseUrl}/${r}`.replace(/\/+/g,"/"),i={headers:this.createHeaders(o),params:s,validateStatus:()=>true};if(this.proxy){let n=this.proxy.type,y=this.proxy.address;switch(n){case "http":i.httpAgent=new HttpProxyAgent(y),i.httpsAgent=new HttpsProxyAgent(y);break;case "https":i.httpsAgent=new HttpsProxyAgent(y);break;case "socks":{let P=new SocksProxyAgent(y);i.httpAgent=P,i.httpsAgent=P;break}}}try{let n;switch(e){case "get":n=await $.get(a,i);break;case "post":n=await $.post(a,t,i);break;case "patch":n=await $.patch(a,t,i);break;case "put":n=await $.put(a,t,i);break;case "delete":n=await $.delete(a,{...i,data:t});break;default:throw new Error(`\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5: ${e}`)}return console.log(n),{success:!0,statusCode:n.status,data:n.data,msg:n.status>=200&&n.status<500?"\u8BF7\u6C42\u6210\u529F":"\u8BF7\u6C42\u5F02\u5E38"}}catch(n){return console.error(n),{success:false,statusCode:500,msg:n.message??"\u7F51\u7EDC\u8FDE\u63A5\u5931\u8D25",data:null}}}async get(e,r,s){return this.request("get",e,r,null,s)}async post(e,r,s,t){return this.request("post",e,r,s,t)}async patch(e,r=null,s,t){return this.request("patch",e,r,s,t)}async put(e,r,s,t){return this.request("put",e,r,s,t)}async delete(e,r=null,s,t){return this.request("delete",e,r,s,t)}createHeaders(e){let r={"Content-Type":"application/json","User-Agent":`${K.name}/v${K.version}`};if(this.authorization)if(this.tokenType==="Basic"){let s=Buffer.from(this.authorization).toString("base64");r.Authorization=`Basic ${s}`;}else this.tokenType==="Bearer"?r.Authorization=`Bearer ${this.authorization}`:r.Authorization=`${this.tokenType} ${this.authorization}`;return e&&Object.assign(r,e),r}};});var Be={};R(Be,{Auth:()=>S});var S,Z=m(()=>{d();_();S=class extends c{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async create_auth_link(e){try{let r=new URL("/login/oauth/authorize",this.BaseUrl);return r.search=new URLSearchParams({client_id:this.Client_ID,...e&&{state:e}}).toString(),Promise.resolve(r.toString())}catch(r){throw new Error(`\u751F\u6210\u6388\u6743\u94FE\u63A5\u5931\u8D25: ${r.message}`)}}async get_token_by_code(e){try{if(!e.code)throw new Error(j);return this.setRequestConfig({url:this.BaseUrl}),await this.post("login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,code:e.code},{Accept:"application/json"})}catch(r){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${r.message}`)}}async check_token_status(e){try{let r=e?.access_token??this.userToken;if(!r)throw new Error(we);if(!r.startsWith("ghu_"))throw new Error(fe);this.setRequestConfig({url:this.ApiUrl,tokenType:"Basic",token:`${this.Client_ID}:${this.Client_Secret}`});let s=await this.post(`/applications/${this.Client_ID}/token`,{access_token:r}),t=!(s.status==="ok"&&(s.statusCode===404||s.statusCode===422));return {...s,data:{success:t,info:t?Ce:Te}}}catch(r){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u72B6\u6001\u5931\u8D25: ${r.message}`)}}async refresh_token(e){try{if(!e.refresh_token)throw new Error(j);if(!e.refresh_token.startsWith("ghr_"))throw new Error(G);this.setRequestConfig({url:this.BaseUrl});let r=await this.post("login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,grant_type:"refresh_token",refresh_token:e.refresh_token},{Accept:"application/json"}),s=r.status==="ok"&&r.statusCode===200&&!r.data.error,t=ye;switch(r.data.error){case "bad_refresh_token":t=G;break;case "unauthorized":t=g;break}if(!s)throw new Error(t);return {...r,data:{success:s,info:ke,...r.data}}}catch(r){throw new Error(`\u8BF7\u6C42\u5237\u65B0\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${r.message}`)}}};});var Le={};R(Le,{Commit:()=>q});var q,ee=m(()=>{d();_();q=class extends c{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_commit_info(e){try{this.setRequestConfig({token:this.userToken});let r,s,t,o;if("url"in e){t=e.url;let n=w(t);r=n?.owner,s=n?.repo;}else if("owner"in e&&"repo"in e)r=e.owner,s=e.repo;else throw new Error(h);e.sha?o=e.sha:o=(await(await this.get_repo()).get_repo_info({owner:r,repo:s})).data?.default_branch;let a=await this.get(`/repos/${r}/${s}/commits/${o}`);switch(a.statusCode){case 401:throw new Error(g);case 404:throw new Error(me);case 422:throw new Error(ce)}if(e.format??this.format){a.data?.commit&&(a.data.commit={...a.data.commit,author:a.data.commit.author?{...a.data.commit.author,date:await u(a.data.commit.author.date)}:null,committer:a.data.commit.committer?{...a.data.commit.committer,date:await u(a.data.commit.committer.date)}:null,verification:a.data.commit.verification?{...a.data.commit.verification,verified_at:a.data.commit.verification.verified_at?await u(a.data.commit.verification.verified_at):null}:null});let n=a.data?.commit?.message??"",[y,...P]=n.split(`
|
2
|
+
`);a.data={...a.data,commit:{...a.data.commit,title:y.trim(),body:P.join(`
|
3
|
+
`).trim()}};}return a}catch(r){throw new Error(`\u83B7\u53D6\u63D0\u4EA4\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}};});var He={};R(He,{Issue:()=>v});var v,re=m(()=>{d();_();v=class extends c{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_issue_info(e){let r,s;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let o=e?.url?.trim(),a=w(o);r=a?.owner,s=a?.repo;}else if("owner"in e&&"repo"in e)r=e?.owner,s=e?.repo;else throw new Error(h);let t=await this.get(`/repos/${r}/${s}/issues/${e.issue_number}`);switch(t.statusCode){case 404:throw new Error(T);case 301:throw new Error(T)}return t}catch(t){throw new Error(`\u83B7\u53D6Issue\u8BE6\u60C5\u5931\u8D25: ${t.message}`)}}async get_repo_issue_list(e){let r,s;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let n=e?.url?.trim(),y=w(n);r=y?.owner,s=y?.repo;}else if("owner"in e&&"repo"in e)r=e?.owner,s=e?.repo;else throw new Error(h);let{...t}=e,o={};t.milestone&&(o.milestone=t.milestone.toString()),t.state&&(o.state=t.state),t.assignee&&(o.assignee=t.assignee),t.creator&&(o.creator=t.creator),t.mentioned&&(o.mentioned=t.mentioned),t.labels&&(o.labels=t.labels),t.sort&&(o.sort=t.sort),t.direction&&(o.direction=t.direction),t.since&&(o.since=t.since),t.per_page&&(o.per_page=t.per_page.toString()),t.page&&(o.page=t.page.toString());let a=`/repos/${r}/${s}/issues`,i=await this.get(a,o);if(i.statusCode===401)throw new Error(g);return i}catch(t){throw new Error(`\u83B7\u53D6\u4ED3\u5E93${r}/${s}\u7684Issue\u5217\u8868\u5931\u8D25: ${t.message}`)}}async create_issue(e){if(!e.owner||!e.repo)throw new Error(l);if(!e.title)throw new Error(le);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,...t}=e;return await this.post(`/repos/${r}/${s}/issues`,t)}catch(r){throw new Error(`\u521B\u5EFAIssue\u5931\u8D25: ${r.message}`)}}async update_issue(e){if(!e.owner||!e.repo)throw new Error(l);if(!e.issue_number)throw new Error(b);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:t,...o}=e;return await this.patch(`/repos/${r}/${s}/issues/${t}`,null,o)}catch(r){throw new Error(`\u66F4\u65B0Issue\u5931\u8D25: ${r.message}`)}}async open_issue(e){if(!e.owner||!e.repo)throw new Error(l);if(!e.issue_number)throw new Error(b);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:t}=e;return await this.patch(`/repos/${r}/${s}/issues/${t}`,null,{state:"open",state_reason:"reopened"})}catch(r){throw new Error(`\u6253\u5F00Issue\u5931\u8D25: ${r.message}`)}}async reopen_issue(e){return this.open_issue(e)}async close_issue(e){if(!e.owner||!e.repo)throw new Error(l);if(!e.issue_number)throw new Error(b);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:t,state_reason:o}=e,a=await this.patch(`/repos/${r}/${s}/issues/${t}`,null,{state:"closed",state_reason:o});if(a.statusCode===404)throw new Error(T);return a}catch(r){throw new Error(`\u5173\u95EDIssue\u5931\u8D25: ${r.message}`)}}async lock_issue(e){if(!e.owner||!e.repo)throw new Error(l);if(!e.issue_number)throw new Error(b);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:t,lock_reason:o}=e,a=await this.put(`/repos/${r}/${s}/issues/${t}`,{locked:!0,lock_reason:o});if(a.statusCode===404)throw new Error(T);return a.statusCode===204&&(a.data={info:"\u9501\u5B9A\u6210\u529F"}),a}catch(r){throw new Error(`\u9501\u5B9AIssue\u5931\u8D25: ${r.message}`)}}async unlock_issue(e){if(!e.owner||!e.repo)throw new Error(l);if(!e.issue_number)throw new Error(b);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:t}=e,o=await this.delete(`/repos/${r}/${s}/issues/${t}/lock`);if(o.statusCode===404)throw new Error(T);return o.statusCode===204&&(o.data={info:"\u89E3\u9501\u6210\u529F"}),o}catch(r){throw new Error(`\u89E3\u9501Issue\u5931\u8D25: ${r.message}`)}}async get_repo_comment_list(e){if(!e.owner||!e.repo)throw new Error(l);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,...t}=e,o={};t.sort&&(o.sort=t.sort),t.sort&&t.direction&&(o.direction=t.direction),t.since&&(o.since=t.since),t.per_page&&(o.per_page=t.per_page.toString()),t.page&&(o.page=t.page.toString());let a=`/repos/${r}/${s}/issues/comments/`,i=await this.get(a,o);if(i.statusCode===404)throw new Error(f);return i}catch(r){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${r.message}`)}}async get_issue_comment_list(e){if(!e.owner||!e.repo)throw new Error(l);if(!e.issue_number)throw new Error(b);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:t,...o}=e,a={};o.since&&(a.since=o.since),o.per_page&&(a.per_page=o.per_page.toString()),o.page&&(a.page=o.page.toString());let i=`/repos/${r}/${s}/issues/${t}/comments`,n=await this.get(i,a);if(n.statusCode===404)throw new Error(f);return n}catch(r){throw new Error(`\u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${r.message}`)}}async get_issue_comment_info(e){if(!e.owner||!e.repo)throw new Error(l);if(!e.comment_id)throw new Error(x);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,comment_id:t}=e,o=await this.get(`/repos/${r}/${s}/issues/comments/${t}`);if(o.statusCode===404)throw new Error(f);return o}catch(r){throw new Error(`\u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async create_issue_comment(e){if(!e.owner||!e.repo)throw new Error(l);if(!e.issue_number)throw new Error(f);if(!e.body)throw new Error(he);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:t,body:o}=e,a=await this.post(`/repos/${r}/${s}/issues/${t}/comments`,{body:o});if(a.statusCode===404)throw new Error(f);return a}catch(r){throw new Error(`\u521B\u5EFA\u8BAE\u9898\u8BC4\u8BBA\u5931\u8D25: ${r.message}`)}}async update_issue_comment(e){if(!e.owner||!e.repo)throw new Error(l);if(!e.comment_id)throw new Error(x);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,comment_id:t,...o}=e,a=await this.patch(`/repos/${r}/${s}/issues/comments/${t}`,null,o);if(a.statusCode===404)throw new Error(f);return a}catch(r){throw new Error(`\u66F4\u65B0\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async remove_issue_comment(e){if(!e.owner||!e.repo)throw new Error(l);if(!e.comment_id)throw new Error(x);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,comment_id:t}=e,o=await this.delete(`/repos/${r}/${s}/issues/comments/${t}`);if(o.statusCode===404)throw new Error(f);return o.statusCode===204&&(o.data={info:"\u5220\u9664\u6210\u529F"}),o}catch(r){throw new Error(`\u5220\u9664\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async delete_issue_comment(e){return this.remove_issue_comment(e)}async get_sub_issue_list(e){if(!e.owner||!e.repo)throw new Error(l);if(!e.issue_number)throw new Error(f);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:t,...o}=e,a={};o.per_page&&(a.per_page=o.per_page.toString()),o.page&&(a.page=o.page.toString());let i=`/repos/${r}/${s}/issues/${t}/sub_issues`,n=await this.get(i,a);if(n.statusCode===404)throw new Error(T);return n}catch(r){throw new Error(`\u83B7\u53D6\u5B50\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${r.message}`)}}async add_sub_issue(e){if(!e.owner||!e.repo)throw new Error(l);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:t,sub_issue_id:o,replace_parent:a}=e,i=await this.post(`/repos/${r}/${s}/issues/${t}/sub_issues`,{sub_issue_id:o,replace_parent:a});if(i.statusCode===404)throw new Error(T);return i}catch(r){throw new Error(`\u6DFB\u52A0\u5B50\u8BAE\u9898\u5931\u8D25: ${r.message}`)}}async remove_sub_issue(e){if(!e.owner||!e.repo)throw new Error(l);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:t,sub_issue_id:o}=e,a=await this.delete(`/repos/${r}/${s}/issues/${t}/sub_issue`,null,{sub_issue_id:o});if(a.statusCode===404)throw new Error(T);return a}catch(r){throw new Error(`\u5220\u9664\u5B50\u8BAE\u9898\u5931\u8D25: ${r.message}`)}}async delete_sub_issue(e){return this.remove_sub_issue(e)}async reprioritize_sub_issue(e){if(!e.owner||!e.repo)throw new Error(l);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:t,sub_issue_id:o,...a}=e,i={};a.before_id&&!a.after_id&&(i.before_id=a.before_id.toString()),a.after_id&&!a.before_id&&(i.after_id=a.after_id.toString());let n=`/repos/${r}/${s}/issues/${t}/sub_issues/priority`,y=await this.patch(n,i,{sub_issue_id:String(o)});if(y.statusCode===404)throw new Error(T);return y}catch(r){throw new Error(`\u91CD\u65B0\u6392\u5E8F\u5B50\u8BAE\u9898\u5931\u8D25: ${r.message}`)}}};});var De={};R(De,{Repo:()=>O});var O,te=m(()=>{d();_();O=class extends c{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_repos_list(e){if(!e.org)throw new Error(h);try{this.setRequestConfig({token:this.userToken});let{org:r,...s}=e,t={};s?.type&&(t.type=s.type),s?.sort&&(t.sort=s.sort),s?.direction&&(t.direction=s.direction),s?.per_page&&(t.per_page=s.per_page.toString()),s?.page&&(t.page=s.page.toString());let o=`/orgs/${r}/repos`,a=await this.get(o,t);if(a.statusCode===404)throw new Error(I);if(a.statusCode===401)throw new Error(g);return (e.format??this.format)&&a.data&&(a.data=await Promise.all(a.data.map(async n=>({...n,created_at:await u(n.created_at),updated_at:await u(n.updated_at),pushed_at:await u(n.pushed_at)})))),a}catch(r){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${r.message}`)}}async get_user_repos_list_by_token(e){try{this.setRequestConfig({token:this.userToken});let{...r}=e,s={};!e?.visibility&&!e?.affiliation&&r?.type&&(s.type=r.type),r?.visibility&&(s.visibility=r.visibility),r?.affiliation&&(s.affiliation=r.affiliation),r?.sort&&(s.sort=r.sort),r?.direction&&(s.direction=r.direction),r?.per_page&&(s.per_page=r.per_page.toString()),r?.page&&(s.page=r.page.toString());let o=await this.get("/uses/repos",s);if(o.statusCode===401)throw new Error(g);return (e?.format??this.format)&&o.data&&(o.data=await Promise.all(o.data.map(async i=>({...i,created_at:await u(i.created_at),updated_at:await u(i.updated_at),pushed_at:await u(i.pushed_at)})))),o}catch(r){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${r.message}`)}}async get_user_repos_list(e){try{if(!e.username)throw new Error(k);this.setRequestConfig({token:this.userToken});let{username:r,...s}=e,t={};s?.type&&(t.type=s.type),s?.sort&&(t.sort=s.sort),s?.direction&&(t.direction=s.direction),s?.per_page&&(t.per_page=s.per_page.toString()),s?.page&&(t.page=s.page.toString());let o=e?.format??this.format,a;try{a=await this.get_user_repos_list_by_token({...e,format:o});}catch{let n=`/users/${r}/repos`;a=await this.get(n,t);}switch(a.statusCode){case 404:throw new Error(E);case 401:throw new Error(g)}return o&&a.data&&(a.data=await Promise.all(a.data.map(async i=>({...i,created_at:await u(i.created_at),updated_at:await u(i.updated_at),pushed_at:await u(i.pushed_at)})))),a}catch(r){throw new Error(`\u83B7\u53D6\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${r.message}`)}}async get_repo_info(e){try{this.setRequestConfig({token:this.userToken});let r,s;if("url"in e){let a=e.url.trim(),i=w(a);r=i?.owner,s=i?.repo;}else if("owner"in e&&"repo"in e)r=e?.owner,s=e?.repo;else throw new Error(h);let t=await this.get(`/repos/${r}/${s}`);switch(t.statusCode){case 401:throw new Error(g);case 404:throw new Error(A)}return (e?.format??this.format)&&t.data&&(t.data.created_at=await u(t.data.created_at),t.data.updated_at=await u(t.data.updated_at),t.data.pushed_at=await u(t.data.pushed_at)),t}catch(r){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async create_org_repo(e){try{let{owner:r,name:s,...t}=e,o={name:s,...t},a=await this.post(`/orgs/${r}/repos`,o);if(a.statusCode===401)throw new Error(g);return (e?.format??this.format)&&a.data&&(a.data.created_at=await u(a.data.created_at),a.data.updated_at=await u(a.data.updated_at),a.data.pushed_at=await u(a.data.pushed_at)),a}catch(r){throw new Error(`\u521B\u5EFA\u7EC4\u7EC7\u4ED3\u5E93\u5931\u8D25: ${r.message}`)}}async get_collaborator_list(e){try{this.setRequestConfig({token:this.userToken});let r,s;if("url"in e){let o=e.url.trim(),a=w(o);r=a?.owner,s=a?.repo;}else if("owner"in e&&"repo"in e)r=e?.owner,s=e?.repo;else throw new Error(h);return await this.get(`/repos/${r}/${s}/collaborators`,{...e})}catch(r){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u534F\u4F5C\u8005\u5217\u8868\u5931\u8D25: ${r.message}`)}}async add_collaborator(e){let r,s,t;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let a=e.url.trim(),i=w(a);r=i?.owner,s=i?.repo;}else if("owner"in e&&"repo"in e)r=e?.owner,s=e?.repo;else throw new Error(h);t=e?.username;let o=await this.put(`/repos/${r}/${s}/collaborators/${t}`,{permission:e.permission??"pull"});if(o.statusCode===404)throw new Error(W);if(o.statusCode===422&&o.data.message&&o.data.message.includes("is not a valid permission."))throw new Error(be);return o}catch(o){throw new Error(`\u6DFB\u52A0\u534F\u4F5C\u8005${t}\u5931\u8D25: ${o.message}`)}}async remove_collaborator(e){let r,s,t;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let a=e.url.trim(),i=w(a);r=i?.owner,s=i?.repo;}else if("owner"in e&&"repo"in e)r=e?.owner,s=e?.repo;else throw new Error(h);t=e?.username;let o=await this.delete(`/repos/${r}/${s}/collaborators/${t}`);if(o.statusCode===404)throw new Error(W);return o.status&&o.statusCode===204?o.data={info:`\u5220\u9664\u534F\u4F5C\u8005${t}\u6210\u529F`}:o.data={info:`\u5220\u9664\u534F\u4F5C\u8005${t}\u5931\u8D25`},o}catch(o){throw new Error(`\u5220\u9664\u534F\u4F5C\u8005${t}\u5931\u8D25: ${o.message}`)}}async get_repo_visibility(e){try{let r,s;if("url"in e){let a=e.url.trim(),i=w(a);r=i?.owner,s=i?.repo;}else if("owner"in e&&"repo"in e)r=e?.owner,s=e?.repo;else throw new Error(h);let t=await this.get_repo_info({owner:r,repo:s}),o="public";return t.data&&(o=t.data?.visibility),o}catch{return null}}async get_repo_default_branch(e){try{let r,s;if("url"in e){let a=e.url.trim(),i=w(a);r=i?.owner,s=i?.repo;}else if("owner"in e&&"repo"in e)r=e?.owner,s=e?.repo;else throw new Error(h);let t=await this.get_repo_info({owner:r,repo:s}),o="main";return t.data&&(o=t.data?.default_branch),o}catch(r){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${r.message}`)}}};});var ze={};R(ze,{User:()=>B});var B,se=m(()=>{d();_();B=class extends c{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_user_info(e){try{if(!e.username)throw new Error(ue);this.setRequestConfig({token:this.userToken});let r=await this.get(`/users/${e.username}`);if(r.statusCode===401)throw new Error(g);if(r.statusCode===404)throw new Error(A);return r.data&&(r.data.created_at=await u(r.data.created_at),r.data.updated_at=await u(r.data.updated_at)),r}catch(r){throw new Error(`\u83B7\u53D6\u7528\u6237\u6216\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_user_id(e){try{if(!e.user_id)throw new Error(k);this.setRequestConfig({token:this.userToken});let r=await this.get(`/user/${e.user_id}`);if(r.statusCode===401)throw new Error(g);if(r.statusCode===404)throw new Error(E);return r.data&&(r.data.created_at=await u(r.data.created_at),r.data.updated_at=await u(r.data.updated_at)),r}catch(r){throw new Error(`\u901A\u8FC7\u7528\u6237id\u83B7\u53D6\u7528\u6237${e.user_id}\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_token(e){let r=(e&&e.access_token)??this.userToken;try{this.setRequestConfig({token:r});let s=await this.get("/user");switch(s.statusCode){case 401:throw new Error(g);case 404:throw new Error(E)}return (e?.format??this.format)&&s.data&&(s.data.created_at=await u(s.data.created_at),s.data.updated_at=await u(s.data.updated_at)),s}catch(s){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async get_user_contribution(e){try{if(!e.username)throw new Error(k);if((await this.get_user_info({username:e.username})).data.type==="Organization")throw new Error(`${_e}\u83B7\u53D6\u8D21\u732E\u65E5\u5386`);this.setRequestConfig({url:this.BaseUrl});let s=await this.get(`/${e.username}`,{action:"show",controller:"profiles",tab:"contributions",user_id:e.username},{"X-Requested-With":"XMLHttpRequest"});if(s.statusCode===404)throw new Error(k);let t=await qe(s.data);return {...s,data:t}}catch(r){throw new Error(`\u83B7\u53D6\u7528\u6237${e.username}\u8D21\u732E\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_id(){try{return (await this.get_user_info_by_token()).data.id}catch{return null}}async get_username(){try{return (await this.get_user_info_by_token()).data.login}catch{return null}}async get_nickname(){try{return (await this.get_user_info_by_token()).data.name}catch{return null}}async get_user_email(){try{return (await this.get_user_info_by_token()).data.email}catch{return null}}async get_avatar_url(){try{return (await this.get_user_info_by_token()).data.avatar_url}catch{return null}}};});var We={};R(We,{Org:()=>L});var L,oe=m(()=>{d();_();L=class extends c{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_info(e){if(!e.org)throw new Error(pe);try{this.setRequestConfig({token:this.userToken});let r=await this.get(`/orgs/${e.org}`);if(r.statusCode===404)throw new Error(I);return r}catch(r){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7${e.org}\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}};});var Fe={};R(Fe,{WebHook:()=>H});var H,ae=m(()=>{d();_();H=class extends c{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async check_webhook_signature(e){let r=e.secret??this.WebHook_Secret;if(!r||!e.payload||!e.signature)throw new Error(h);if(!e.signature.startsWith("sha256="))throw new Error(Re);let s="error",t=400,o=F,a=false;try{let i=je.createHmac("sha256",r),n=typeof e.payload=="string"?e.payload:JSON.stringify(e.payload);i.update(n,"utf8");let y=i.digest("hex"),P=e.signature.replace("sha256=","");je.timingSafeEqual(Buffer.from(y),Buffer.from(P))?(s="ok",t=200,o=Ee,a=!0):(s="error",t=403,o=F,a=!1);}catch(i){throw new Error(`\u8BF7\u6C42\u9A8C\u8BC1WebHook\u7B7E\u540D\u5931\u8D25: ${i.message}`)}return Promise.resolve({status:s,statusCode:t,msg:o,data:a})}};});var D,c,_=m(()=>{d();X();Q();D="github",c=class{BaseUrl;ApiUrl;jwtToken;userToken;format;Private_Key;Client_ID;Client_Secret;WebHook_Secret;currentRequestConfig;proxy;constructor(e){this.Private_Key=e.Private_Key,this.Client_ID=e.Client_ID,this.Client_Secret=e.Client_Secret,this.WebHook_Secret=e.WebHook_Secret,this.jwtToken=this.generate_jwt(),this.BaseUrl=Y(D),this.ApiUrl=V(D),this.userToken=null,this.currentRequestConfig={url:this.ApiUrl,token:null,tokenType:"Bearer"},this.format=e.format??false;}async get_app(){let{App:e}=await Promise.resolve().then(()=>(ie(),Ge));return this.app=new e(this),this.app}async get_auth(){let{Auth:e}=await Promise.resolve().then(()=>(Z(),Be));return this.auth=new e(this),this.auth}async get_commit(){let{Commit:e}=await Promise.resolve().then(()=>(ee(),Le));return this.commit=new e(this),this.commit}async get_issue(){let{Issue:e}=await Promise.resolve().then(()=>(re(),He));return this.issue=new e(this),this.issue}async get_repo(){let{Repo:e}=await Promise.resolve().then(()=>(te(),De));return this.repo=new e(this),this.repo}async get_user(){let{User:e}=await Promise.resolve().then(()=>(se(),ze));return this.user=new e(this),this.user}async get_org(){let{Org:e}=await Promise.resolve().then(()=>(oe(),We));return this.org=new e(this),this.org}async get_webhook(){let{WebHook:e}=await Promise.resolve().then(()=>(ae(),Fe));return this.webhook=new e(this),this.webhook}setProxy(e){if(e?.address){let r=new URL$1(e.address);if(!["http:","https:","socks:"].includes(r.protocol))throw new Error(ge);e.address=e.address.replace(/\/$/,"");}e?.type==="common"&&(this.BaseUrl=Y(D,e.address),this.ApiUrl=V(D,e.address)),this.proxy=e;}setToken(e){if(!e.startsWith("ghu_"))throw console.log("token \u5FC5\u987B\u4EE5 ghu_ \u5F00\u5934"),this.userToken=null,new Error(de);return this.userToken=e,this}generate_jwt(){let e=this.Private_Key,r={exp:Math.floor(Date.now()/1e3)+10*60,iat:Math.floor(Date.now()/1e3),iss:this.Client_ID};return or.sign(r,e,{algorithm:"RS256"})}setRequestConfig(e){e.url&&(this.currentRequestConfig.url=e.url),e.token&&(this.currentRequestConfig.token=e.token),e.tokenType&&(this.currentRequestConfig.tokenType=e.tokenType);}createRequest(){let{url:e,token:r,tokenType:s}=this.currentRequestConfig,t=this.proxy?.type!=="common"?this.proxy:null;return new N(e,s,r??null,t)}async get(e,r,s){try{let o=await this.createRequest().get(e,r,s);if(o.statusCode===403&&o.data.message.includes("API rate limit exceeded"))throw new Error(C);return {status:o.success?"ok":"error",statusCode:o.statusCode,msg:o.msg,data:o.data}}catch(t){throw new Error(`GET \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}async post(e,r,s){try{let o=await this.createRequest().post(e,r,s);if(o.statusCode===403&&o.data.message.includes("API rate limit exceeded"))throw new Error(C);return {status:o.success?"ok":"error",statusCode:o.statusCode,msg:o.msg,data:o.data}}catch(t){throw new Error(`POST \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}async patch(e,r=null,s,t){try{let a=await this.createRequest().patch(e,r,s,t);if(a.statusCode===403&&a.data.message.includes("API rate limit exceeded"))throw new Error(C);return {status:a.success?"ok":"error",statusCode:a.statusCode,msg:a.msg,data:a.data}}catch(o){throw new Error(`PATCH \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}async put(e,r,s){try{let o=await this.createRequest().put(e,r,s);if(o.statusCode===403&&o.data.message.includes("API rate limit exceeded"))throw new Error(C);return {status:o.success?"ok":"error",statusCode:o.statusCode,msg:o.msg,data:o.data}}catch(t){throw new Error(`PUT \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}async delete(e,r=null,s,t){try{let a=await this.createRequest().delete(e,r,s,t);if(a.statusCode===403&&a.data.message.includes("API rate limit exceeded"))throw new Error(C);return {status:a.success?"ok":"error",statusCode:a.statusCode,msg:a.msg,data:a.data}}catch(o){throw new Error(`DELETE \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}};});var Ge={};R(Ge,{App:()=>z});var z,ie=m(()=>{d();_();z=class extends c{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_info(){try{return this.setRequestConfig({url:this.ApiUrl,token:this.jwtToken}),await this.get("/app")}catch(e){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${e.message}`)}}async create_install_link(e){try{let r=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return r.search=new URLSearchParams({...e&&{state:e}}).toString(),r.toString()}catch(r){throw new Error(`\u751F\u6210\u5E94\u7528\u5B89\u88C5\u94FE\u63A5\u5931\u8D25: ${r.message}`)}}async create_config_install_link(e){try{let r=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return r.search=new URLSearchParams({...e&&{state:e}}).toString(),r.toString()}catch(r){throw new Error(`\u751F\u6210\u5E94\u7528\u914D\u7F6E\u94FE\u63A5\u5931\u8D25: ${r.message}`)}}async get_app_installation_by_repo(e){let r,s;try{if(this.setRequestConfig({token:this.jwtToken}),"url"in e){let o=e.url.trim(),a=w(o);r=a?.owner,s=a?.repo;}else if("owner"in e&&"repo"in e)r=e?.owner,s=e?.repo;else throw new Error(h);return await this.get(`/repos/${r}/${s}/installation`)}catch(t){throw new Error(`\u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${t.message}`)}}async get_app_name(){return (await this.get_info()).data.name}};});d();X();Q();var ne={};R(ne,{App:()=>z,Auth:()=>S,Base:()=>c,Commit:()=>q,Issue:()=>v,Org:()=>L,Repo:()=>O,User:()=>B,WebHook:()=>H});ie();Z();_();ee();re();oe();te();se();ae();export{er as create_state_id,u as formatDate,Xe as get_relative_time,ne as github};
|
package/dist/root.cjs
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
'use strict';var e=require('path'),url=require('url');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var e__default=/*#__PURE__*/_interopDefault(e);var r=url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('root.cjs', document.baseURI).href))).replace(/\\/g,"/").replace(/\/$/,""),p=e__default.default.resolve(r,"../../").replace(/\\/g,"/").replace(/\/$/,""),l=e__default.default.resolve(r,"../").replace(/\\/g,"/").replace(/\/$/,"");exports.basePath=p;exports.dirPath=l;
|
package/dist/root.d.cts
ADDED
package/dist/root.d.ts
ADDED
package/dist/root.js
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
import e from'node:path';import {fileURLToPath}from'node:url';var r=fileURLToPath(import.meta.url).replace(/\\/g,"/").replace(/\/$/,""),p=e.resolve(r,"../../").replace(/\\/g,"/").replace(/\/$/,""),l=e.resolve(r,"../").replace(/\\/g,"/").replace(/\/$/,"");export{p as basePath,l as dirPath};
|
package/package.json
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
{
|
2
|
+
"name": "@candriajs/git-neko-kit",
|
3
|
+
"version": "0.5.2",
|
4
|
+
"description": "Github, Gitee, GitCode API封装库",
|
5
|
+
"keywords": [
|
6
|
+
"git",
|
7
|
+
"github",
|
8
|
+
"gitee",
|
9
|
+
"gitcode"
|
10
|
+
],
|
11
|
+
"repository": {
|
12
|
+
"type": "git",
|
13
|
+
"url": "git+https://github.com/CandriaJS/git-neko-kit.git"
|
14
|
+
},
|
15
|
+
"license": "GNU AGPL-3.0",
|
16
|
+
"author": "CandriaJS",
|
17
|
+
"type": "module",
|
18
|
+
"exports": {
|
19
|
+
".": {
|
20
|
+
"import": "./dist/index.js",
|
21
|
+
"types": "./dist/index.d.ts",
|
22
|
+
"require": "./dist/index.cjs"
|
23
|
+
}
|
24
|
+
},
|
25
|
+
"main": "./dist/index.js",
|
26
|
+
"types": "./dist/index.d.ts",
|
27
|
+
"files": [
|
28
|
+
"dist/*",
|
29
|
+
"package.json",
|
30
|
+
"README.md"
|
31
|
+
],
|
32
|
+
"scripts": {
|
33
|
+
"build": "tsc --noEmit && tsup --config tsup.config.ts",
|
34
|
+
"build:docs": "pnpm run build:typedoc && pnpm run docs:build",
|
35
|
+
"build:pages": "vitepress build docs",
|
36
|
+
"build:typedoc": "typedoc --options typedoc.json",
|
37
|
+
"dev": "tsx src/index.ts",
|
38
|
+
"docs:build": "vuepress build docs",
|
39
|
+
"docs:dev": "vuepress dev docs --port 5500",
|
40
|
+
"lint": "eslint .",
|
41
|
+
"lint:fix": "eslint . --fix",
|
42
|
+
"sort": "sort-package-json",
|
43
|
+
"start": "node dist/index.js",
|
44
|
+
"test": "tsx test/index.ts"
|
45
|
+
},
|
46
|
+
"dependencies": {
|
47
|
+
"axios": "^1.8.4",
|
48
|
+
"dayjs": "^1.11.13",
|
49
|
+
"git-url-parse": "^16.0.1",
|
50
|
+
"http-proxy-agent": "^7.0.2",
|
51
|
+
"https-proxy-agent": "^7.0.6",
|
52
|
+
"jsonwebtoken": "^9.0.2",
|
53
|
+
"socks-proxy-agent": "^8.0.5",
|
54
|
+
"uuid": "^11.1.0"
|
55
|
+
},
|
56
|
+
"packageManager": "pnpm@9.13.2"
|
57
|
+
}
|