@jerryc05/hi-tools 0.3.2 → 0.3.3
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/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
typeof globalThis.CustomEvent>"u"&&(globalThis.CustomEvent=class extends Event{constructor(t,n={}){super(t,n),this.detail=n.detail}});import{readFile as We}from"node:fs/promises";import{join as Ke}from"node:path";import{intro as Ve}from"@clack/prompts";import ze from"yargs";import{hideBin as Qe}from"yargs/helpers";import{networkInterfaces as le}from"node:os";function D(e){let t=le(),n={};for(let[r,o]of Object.entries(t))o=o?.filter(s=>e?.["only-ipv4"]?s.family==="IPv4":e?.["only-ipv6"]?s.family==="IPv6":!(s.family==="IPv6"&&ue(s.address))),o?.length&&(n[r]=o);return n}function ue(e){let t=e.toLowerCase().split("%")[0];return/^fe[89ab][0-9a-f](?::|$)/i.test(t??"")}var de={"only-ipv4":{alias:"4",desc:"IPv4 only",boolean:!0},"only-ipv6":{alias:"6",desc:"IPv6 only",boolean:!0}},T=[{command:"ips",describe:"Show current machine's IP addrs",builder:de,handler(e){let t=D(e),n={};for(let[r,o]of Object.entries(t))o&&(n[r]=e.verbose?o:o.map(s=>s.address));console.log(t)}}];import L from"node:os";var J=[{command:"mdns",describe:"Show mdns [hostname].local",async handler(){let e="";if(L.platform()==="darwin")try{let{execa:t}=await import("execa");e=(await t`scutil --get LocalHostName`).stdout.trim()}catch(t){console.error(t)}e||(e=L.hostname()),console.log(e.toLowerCase().endsWith(".local")?
|
|
2
|
+
typeof globalThis.CustomEvent>"u"&&(globalThis.CustomEvent=class extends Event{constructor(t,n={}){super(t,n),this.detail=n.detail}});import{readFile as We}from"node:fs/promises";import{join as Ke}from"node:path";import{intro as Ve}from"@clack/prompts";import ze from"yargs";import{hideBin as Qe}from"yargs/helpers";import{networkInterfaces as le}from"node:os";function D(e){let t=le(),n={};for(let[r,o]of Object.entries(t))o=o?.filter(s=>e?.["only-ipv4"]?s.family==="IPv4":e?.["only-ipv6"]?s.family==="IPv6":!(s.family==="IPv6"&&ue(s.address))),o?.length&&(n[r]=o);return n}function ue(e){let t=e.toLowerCase().split("%")[0];return/^fe[89ab][0-9a-f](?::|$)/i.test(t??"")}var de={"only-ipv4":{alias:"4",desc:"IPv4 only",boolean:!0},"only-ipv6":{alias:"6",desc:"IPv6 only",boolean:!0}},T=[{command:"ips",describe:"Show current machine's IP addrs",builder:de,handler(e){let t=D(e),n={};for(let[r,o]of Object.entries(t))o&&(n[r]=e.verbose?o:o.map(s=>s.address));console.log(t)}}];import L from"node:os";var J=[{command:"mdns",describe:"Show mdns [hostname].local",async handler(){let e="";if(L.platform()==="darwin")try{let{execa:t}=await import("execa");e=(await t`scutil --get LocalHostName`).stdout.trim()}catch(t){console.error(t)}e||(e=L.hostname()),console.log(`${e}${e.toLowerCase().endsWith(".local")?"":".local"}`)}}];import{spinner as fe}from"@clack/prompts";async function U(){let{execa:e}=await import("execa");try{let{stdout:t}=await e`git rev-parse --abbrev-ref --symbolic-full-name @{u}`;return t.split("/")[0]||"origin"}catch{return"origin"}}async function H({updBranch:e,branch:t,verbose:n}){let r=fe();r.start(`${e?"Updating":"Fetching"} ${t}...`);let{execa:o}=await import("execa");await o({stdio:"inherit",env:n?{GIT_TRACE:"1"}:{}})`git fetch ${await U()} ${t}${e?`:${t}`:""}`,r.message("Merging ..."),await o({stdio:"inherit",env:n?{GIT_TRACE:"1"}:{}})`git merge ${await U()}/${t} --no-verify --no-edit ${n?"":"-q"}`,r.stop("Done")}var S={branch:{alias:"b",default:"master",desc:'Default=master, or "main" if you wish'}},G=[{command:"mm",describe:"[M]erge [M]aster: Update local master to remote's, then merge into current branch",builder:S,handler(e){let{branch:t=S.branch.default,verbose:n}=e;H({updBranch:!0,branch:t,verbose:n})}},{command:"mmm",describe:"[M]erge [M]aster (don't [M]odify local master): Merge remote's master into current branch, without updating local master",builder:S,async handler(e){let{branch:t=S.branch.default,verbose:n}=e;await H({updBranch:!1,branch:t,verbose:n})}}];import{log as ge,spinner as be}from"@clack/prompts";var ye={tsgo:{alias:"7",desc:"Enable tsgo (v7+)",default:!1,boolean:!0}},F=[{command:"tschk",describe:"My ts-check rules",builder:ye,async handler(e){let{tsgo:t}=e,n=!0,{execa:r}=await import("execa");{let o=be();o.start("Running custom ts type-check...");let{stdout:s}=await r({reject:!1,stderr:"ignore"})`bunx ${[`typescript${t?"@>=7":""}`]} --noEmit --pretty false`,i=["2551","6133","6192","18048"],p=/5\d\d\d/,c=s.split(`
|
|
3
3
|
`).filter(a=>{if(a.includes("/node_modules/"))return!1;let m=a.match(/error TS(\d+):/);return!(!m?.[1]||i.includes(m[1])||p.test(m[1]))});c.length>0?(c.map(a=>ge.error(a)),o.stop("Type-check failed"),n=!1):o.stop("Type-check passed")}process.exit(n?0:1)}}];var B=[{command:"bam",describe:"Update BAM code-gen",handler:async()=>{let{execa:e}=await import("execa");await e({stdio:"inherit"})`bunx @byted-arch-fe/bam-code-generator@latest update`}}];import{cancel as K,isCancel as V,log as y,note as z,select as Q}from"@clack/prompts";import f from"picocolors";var M="https://bits.bytedance.net";async function A(e,t,n,r){let o={...e,pageNum:e.pageNum??1},s=`${M}/api/v1/pipelines/runs?${new URLSearchParams(o).toString()}`,i=await fetch(s,{method:"GET",headers:{"Content-Type":"application/json","X-jwt-token":t,Username:n.username},signal:r??null});return{response:i,getJson:async()=>await i.json()}}async function q(e,t,n){let r=`${M}/api/v1/pipelines/runs/${e}`,o=await fetch(r,{method:"GET",headers:{"Content-Type":"application/json","X-jwt-token":t,Username:n.username}});return{response:o,getJson:async()=>await o.json()}}var $={RUNNING:2,CANCELLED:7,SUCCESS:8,FAIL:9};function R(e){let t=new Date(e),n=new Intl.DateTimeFormat("en-US",{timeZoneName:"longOffset"}).formatToParts(t).find(r=>r.type==="timeZoneName")?.value.replace("GMT","");return`${t.toLocaleDateString("zh-CN")} ${t.toTimeString().split(" ")[0]} ${n??""}`}import{log as he,spinner as we}from"@clack/prompts";import X from"picocolors";var _;async function W(){let e=we();if(e.start("Logging in..."),!_){let{AIPaaSAuth:r}=await import("@byted/aipaas-auth");_=new r("cn")}let t=await _.getJwt(),n=await _.getUserInfo();return e.stop(`Hi ${X.magenta(n.username)} from ${X.blue(`${n.scope} ${n.work_country}`)}`),he.info(`Login will expire on ${R(n.exp*1e3)}`),{jwtStr:t,jwtObj:n}}async function Ie({pipelineId:e,url:t,region:n,verbose:r}){let{jwtStr:o,jwtObj:s}=await W(),i=(()=>{if(e==null&&!t)throw new Error("pipelineId or url is required");return e??te(t??"")})(),p=await Y(i,o,s,n);if(p.length<=0){y.error(`No Gecko info found${n?` matching region [${n}]`:""} in latest run`);return}let{default:c}=await import("qrcode");for(let a=0;a<p.length;a++){let m=p[a];try{let l=await c.toString(m?.qrCodeScheme??"",{type:"terminal",small:!0,errorCorrectionLevel:"L"});console.log(`
|
|
4
4
|
|
|
5
5
|
${l}`),console.dir(m),a<p.length-1&&console.log(`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jerryc05/hi-tools",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.3",
|
|
4
4
|
"description": "A collection of my everyday SDE tools.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"pub": "npm run build && export NPM_CONFIG_REGISTRY=https://registry.npmjs.org &&{ npm whoami || npm login ;} && npm publish --access public && git push",
|