figura-cli 0.3.0 → 0.3.1
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
|
@@ -26,7 +26,7 @@ import{createRequire as Im}from"node:module";var Gm=Object.create;var{getPrototy
|
|
|
26
26
|
`),s=o===-1?-1:p.indexOf(`
|
|
27
27
|
`,o+1),e=s===-1?"":p.slice(s+1);if(!String(n.stack).endsWith(e))n.stack+=`
|
|
28
28
|
`+p}}catch(o){}}throw n}}_request(i,a){if(typeof i==="string")a=a||{},a.url=i;else a=i||{};a=Xi(this.defaults,a);let{transitional:n,paramsSerializer:c,headers:p}=a;if(n!==void 0)Ra.assertOptions(n,{silentJSONParsing:oi.transitional(oi.boolean),forcedJSONParsing:oi.transitional(oi.boolean),clarifyTimeoutError:oi.transitional(oi.boolean),legacyInterceptorReqResOrdering:oi.transitional(oi.boolean),advertiseZstdAcceptEncoding:oi.transitional(oi.boolean),validateStatusUndefinedResolves:oi.transitional(oi.boolean)},!1);if(c!=null)if(u.isFunction(c))a.paramsSerializer={serialize:c};else Ra.assertOptions(c,{encode:oi.function,serialize:oi.function},!0);if(a.allowAbsoluteUrls!==void 0);else if(this.defaults.allowAbsoluteUrls!==void 0)a.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls;else a.allowAbsoluteUrls=!0;Ra.assertOptions(a,{baseUrl:oi.spelling("baseURL"),withXsrfToken:oi.spelling("withXSRFToken")},!0),a.method=(a.method||this.defaults.method||"get").toLowerCase();let o=p&&u.merge(p.common,p[a.method]);p&&u.forEach(["delete","get","head","post","put","patch","query","common"],(d)=>{delete p[d]}),a.headers=H.concat(o,p);let s=[],e=!0;this.interceptors.request.forEach(function(z){if(typeof z.runWhen==="function"&&z.runWhen(a)===!1)return;e=e&&z.synchronous;let Y=a.transitional||Li;if(Y&&Y.legacyInterceptorReqResOrdering)s.unshift(z.fulfilled,z.rejected);else s.push(z.fulfilled,z.rejected)});let m=[];this.interceptors.response.forEach(function(z){m.push(z.fulfilled,z.rejected)});let x,l=0,v;if(!e){let d=[Mn.bind(this),void 0];d.unshift(...s),d.push(...m),v=d.length,x=Promise.resolve(a);while(l<v)x=x.then(d[l++],d[l++]);return x}v=s.length;let t=a;while(l<v){let d=s[l++],z=s[l++];try{t=d(t)}catch(Y){z.call(this,Y);break}}try{x=Mn.call(this,t)}catch(d){return Promise.reject(d)}l=0,v=m.length;while(l<v)x=x.then(m[l++],m[l++]);return x}getUri(i){i=Xi(this.defaults,i);let a=hi(i.baseURL,i.url,i.allowAbsoluteUrls,i);return Ri(a,i.params,i.paramsSerializer)}}u.forEach(["delete","get","head","options"],function(a){ha.prototype[a]=function(n,c){return this.request(Xi(c||{},{method:a,url:n,data:c&&u.hasOwnProp(c,"data")?c.data:void 0}))}});u.forEach(["post","put","patch","query"],function(a){function n(c){return function(o,s,e){return this.request(Xi(e||{},{method:a,headers:c?{"Content-Type":"multipart/form-data"}:{},url:o,data:s}))}}if(ha.prototype[a]=n(),a!=="query")ha.prototype[a+"Form"]=n(!0)});var Ea=ha;class yc{constructor(i){if(typeof i!=="function")throw TypeError("executor must be a function.");let a;this.promise=new Promise(function(p){a=p});let n=this;this.promise.then((c)=>{if(!n._listeners)return;let p=n._listeners.length;while(p-- >0)n._listeners[p](c);n._listeners=null}),this.promise.then=(c)=>{let p,o=new Promise((s)=>{n.subscribe(s),p=s}).then(c);return o.cancel=function(){n.unsubscribe(p)},o},i(function(p,o,s){if(n.reason)return;n.reason=new di(p,o,s),a(n.reason)})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(i){if(this.reason){i(this.reason);return}if(this._listeners)this._listeners.push(i);else this._listeners=[i]}unsubscribe(i){if(!this._listeners)return;let a=this._listeners.indexOf(i);if(a!==-1)this._listeners.splice(a,1)}toAbortSignal(){let i=new AbortController,a=(n)=>{i.abort(n)};return this.subscribe(a),i.signal.unsubscribe=()=>this.unsubscribe(a),i.signal}static source(){let i;return{token:new yc(function(c){i=c}),cancel:i}}}var cm=yc;function gc(i){return function(n){return i.apply(null,n)}}function ip(i){return u.isObject(i)&&i.isAxiosError===!0}var ap={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(ap).forEach(([i,a])=>{ap[a]=i});var pm=ap;function sm(i){let a=new Ea(i),n=Za(Ea.prototype.request,a);return u.extend(n,Ea.prototype,a,{allOwnKeys:!0}),u.extend(n,a,null,{allOwnKeys:!0}),n.create=function(p){return sm(Xi(i,p))},n}var y=sm(ta);y.Axios=Ea;y.CanceledError=di;y.CancelToken=cm;y.isCancel=Ia;y.VERSION=Ni;y.toFormData=Ui;y.AxiosError=f;y.Cancel=y.CanceledError;y.all=function(a){return Promise.all(a)};y.spread=gc;y.isAxiosError=ip;y.mergeConfig=Xi;y.AxiosHeaders=H;y.formToJSON=(i)=>wn(u.isHTMLForm(i)?new FormData(i):i);y.getAdapter=Jn.getAdapter;y.HttpStatusCode=pm;y.default=y;var Vn=y;var Qa="https://api.figura.so";class Bi extends Error{status;payload;constructor(i,a,n){super(a);this.name="FiguraApiError",this.status=i,this.payload=n}}async function F(i,a={}){let n=(a.apiUrl||Qa).replace(/\/+$/,""),c=i.startsWith("http")?i:`${n}${i.startsWith("/")?"":"/"}${i}`,p={Accept:"application/json",...a.headers??{}};if(a.token)p.Authorization=`Bearer ${a.token}`;if(a.source)p["X-Figura-Source"]=a.source;let o;if(a.body!==void 0)p["Content-Type"]="application/json",o=JSON.stringify(a.body);let s;try{s=await Vn.request({url:c,method:a.method??"GET",headers:p,data:o,signal:a.signal,validateStatus:()=>!0,transformRequest:[(x)=>x],transformResponse:[(x)=>x]})}catch(x){let l=x instanceof Error?x.message:String(x);throw new Bi(0,`network error: ${l}`)}let e=typeof s.data==="string"?s.data:"",m=void 0;if(e)try{m=JSON.parse(e)}catch{m=e}if(s.status<200||s.status>=300){let x=m&&typeof m==="object"&&m!==null&&"error"in m?String(m.error):typeof m==="string"&&m?m:s.statusText||`HTTP ${s.status}`;throw new Bi(s.status,x,m)}return m}async function om(i,a={}){let n=(a.apiUrl||Qa).replace(/\/+$/,""),c=i.startsWith("http")?i:`${n}${i.startsWith("/")?"":"/"}${i}`,p={...a.headers??{}};if(a.token)p.Authorization=`Bearer ${a.token}`;if(a.source)p["X-Figura-Source"]=a.source;let o;try{o=await Vn.request({url:c,method:a.method??"GET",headers:p,signal:a.signal,responseType:"text",validateStatus:()=>!0,transformResponse:[(e)=>e]})}catch(e){let m=e instanceof Error?e.message:String(e);throw new Bi(0,`network error: ${m}`)}let s=typeof o.data==="string"?o.data:String(o.data??"");if(o.status<200||o.status>=300){let e=o.statusText||`HTTP ${o.status}`;try{let m=JSON.parse(s);if(m&&typeof m==="object"&&"error"in m)e=String(m.error)}catch{}throw new Bi(o.status,e)}return s}import{promises as Aa}from"node:fs";import{homedir as em}from"node:os";import{dirname as mm,join as ya}from"node:path";var wd=ya(em(),".figura"),ga=ya(wd,"config.json"),Bn=ya(".figura","config.json");async function um(i){try{let a=await Aa.readFile(i,"utf8"),n=JSON.parse(a);if(n&&typeof n==="object")return n;return{}}catch{return{}}}async function np(){return um(ga)}async function zd(i=process.cwd()){let a=em(),n=i;for(;;){if(n!==a){let p=ya(n,Bn);try{return await Aa.access(p),p}catch{}}let c=mm(n);if(c===n)return null;n=c}}async function lm(i,a){await Aa.mkdir(mm(i),{recursive:!0,mode:448}),await Aa.writeFile(i,JSON.stringify(a,null,2)+`
|
|
29
|
-
`,{mode:384}),await Aa.chmod(i,384).catch(()=>{})}async function xm(i){await lm(ga,i)}async function vm(i,a=process.cwd()){let n=ya(a,Bn);return await lm(n,i),n}async function tm(i={}){let a=await np(),n=await zd(),c=n?await um(n):{},p={...a,...c},o=process.env.FIGURA_TOKEN||i.tokenFlag||p.token||void 0,s=process.env.FIGURA_API_URL||i.apiUrlFlag||p.apiUrl||Qa;return{token:o,apiUrl:s,team:p.team,config:p}}var q="cli";function k(i){let a={},n=[];for(let c=0;c<i.length;c++){let p=i[c];if(p.startsWith("--")){let o=p.slice(2),s=o.indexOf("=");if(s>=0)a[o.slice(0,s)]=o.slice(s+1);else{let e=i[c+1];if(e!==void 0&&!e.startsWith("--"))a[o]=e,c++;else a[o]=!0}}else n.push(p)}return{flags:a,positionals:n}}function $(i,a){let n=i[a];return typeof n==="string"?n:void 0}function T(i,a){return i[a]===!0||i[a]==="true"}async function O(i){let a=await tm({tokenFlag:$(i,"token"),apiUrlFlag:$(i,"api-url")});if(!a.token)X("
|
|
29
|
+
`,{mode:384}),await Aa.chmod(i,384).catch(()=>{})}async function xm(i){await lm(ga,i)}async function vm(i,a=process.cwd()){let n=ya(a,Bn);return await lm(n,i),n}async function tm(i={}){let a=await np(),n=await zd(),c=n?await um(n):{},p={...a,...c},o=process.env.FIGURA_TOKEN||i.tokenFlag||p.token||void 0,s=process.env.FIGURA_API_URL||i.apiUrlFlag||p.apiUrl||Qa;return{token:o,apiUrl:s,team:p.team,config:p}}var q="cli";function k(i){let a={},n=[];for(let c=0;c<i.length;c++){let p=i[c];if(p.startsWith("--")){let o=p.slice(2),s=o.indexOf("=");if(s>=0)a[o.slice(0,s)]=o.slice(s+1);else{let e=i[c+1];if(e!==void 0&&!e.startsWith("--"))a[o]=e,c++;else a[o]=!0}}else n.push(p)}return{flags:a,positionals:n}}function $(i,a){let n=i[a];return typeof n==="string"?n:void 0}function T(i,a){return i[a]===!0||i[a]==="true"}async function O(i){let a=await tm({tokenFlag:$(i,"token"),apiUrlFlag:$(i,"api-url")});if(!a.token)X("You're not logged in. Run `figura login` to sign in via your browser.\n For CI or headless use: set FIGURA_TOKEN, or pass --token fig_...");return a}function X(i){process.stderr.write(`figura: ${i}
|
|
30
30
|
`),process.exit(1)}function B(i){if(i instanceof Bi)return i.status?`${i.message} (HTTP ${i.status})`:i.message;if(i instanceof Error)return i.message;return String(i)}function D(i){process.stdout.write(JSON.stringify(i,null,2)+`
|
|
31
31
|
`)}var Qd=`figura login — authenticate and save credentials
|
|
32
32
|
|