@commercelayer/cli-core 5.7.1 → 5.8.0
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/lib/index.d.mts +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.mjs +1 -1
- package/package.json +6 -6
package/lib/index.d.mts
CHANGED
|
@@ -174,7 +174,7 @@ type Config = {
|
|
|
174
174
|
};
|
|
175
175
|
declare const config: Config;
|
|
176
176
|
|
|
177
|
-
declare const commandFlags: <T extends FlagInput>(flags: T, exclude?: Array<keyof T>) =>
|
|
177
|
+
declare const commandFlags: <T extends FlagInput>(flags: T, exclude?: Array<keyof T>) => T;
|
|
178
178
|
declare const allFlags: (command: Command.Class) => FlagInput;
|
|
179
179
|
type KeyVal = Record<string, string | number | boolean | undefined | null>;
|
|
180
180
|
type KeyValString = Record<string, string>;
|
package/lib/index.d.ts
CHANGED
|
@@ -174,7 +174,7 @@ type Config = {
|
|
|
174
174
|
};
|
|
175
175
|
declare const config: Config;
|
|
176
176
|
|
|
177
|
-
declare const commandFlags: <T extends FlagInput>(flags: T, exclude?: Array<keyof T>) =>
|
|
177
|
+
declare const commandFlags: <T extends FlagInput>(flags: T, exclude?: Array<keyof T>) => T;
|
|
178
178
|
declare const allFlags: (command: Command.Class) => FlagInput;
|
|
179
179
|
type KeyVal = Record<string, string | number | boolean | undefined | null>;
|
|
180
180
|
type KeyValString = Record<string, string>;
|
package/lib/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var Ee=Object.create;var O=Object.defineProperty;var Se=Object.getOwnPropertyDescriptor;var ze=Object.getOwnPropertyNames;var Oe=Object.getPrototypeOf,Ie=Object.prototype.hasOwnProperty;var _=(e,t)=>{for(var r in t)O(e,r,{get:t[r],enumerable:!0})},ue=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of ze(t))!Ie.call(e,n)&&n!==r&&O(e,n,{get:()=>t[n],enumerable:!(s=Se(t,n))||s.enumerable});return e};var I=(e,t,r)=>(r=e!=null?Ee(Oe(e)):{},ue(t||!e||!e.__esModule?O(r,"default",{value:e,enumerable:!0}):r,e)),Ke=e=>ue(O({},"__esModule",{value:!0}),e);var sr={};_(sr,{clApi:()=>J,clApplication:()=>Y,clColor:()=>k,clCommand:()=>X,clConfig:()=>m,clFilter:()=>le,clHelp:()=>S,clOutput:()=>Z,clSchema:()=>ce,clSymbol:()=>ie,clText:()=>oe,clToken:()=>se,clUpdate:()=>ne,clUtil:()=>re});module.exports=Ke(sr);var J={};_(J,{Operation:()=>H,baseURL:()=>Ve,execMode:()=>We,extractDomain:()=>Ue,humanizeResource:()=>Fe,isResourceCacheable:()=>ge,liveEnvironment:()=>He,request:()=>Ge,requestDataFile:()=>N,requestRateLimitDelay:()=>_e,requestRaw:()=>F,response:()=>Je,responseDenormalize:()=>G});var W=["in_progress","pending","completed","interrupted"],Be=["addresses","bundles","coupons","customer_addresses","customer_payment_sources","customer_subscriptions","customers","gift_cards","line_items","line_item_options","orders","price_tiers","prices","shipping_categories","sku_lists","sku_list_items","sku_options","skus","stock_items","stock_transfers","tags","tax_categories"],je=["addresses","authorizations","bundles","captures","coupons","customer_addresses","customer_payment_sources","customer_subscriptions","customers","gift_cards","line_items","line_item_options","orders","payment_methods","price_tiers","prices","refunds","shipments","shipping_categories","shipping_methods","sku_lists","sku_list_items","sku_options","skus","stock_items","stock_transfers","tags","tax_categories","transactions","voids"],De=["bundles","gift_cards","prices","promotions","sku_lists","sku_options","skus","stock_items"],Me=["addresses","bundles","customers","coupons","gift_cards","line_items","line_item_options","orders","returns","skus","sku_options","promotions","external_promotions","fixed_amount_promotions","fixed_price_promotions","free_gift_promotions","free_shipping_promotions","percentage_discount_promotions"],Le=["orders","skus","sku_lists"],y={erl_oauth_limit_live:30,erl_average_limit_cachable_live:1e3,erl_average_limit_cachable_test:500,erl_burst_limit_cachable_live:250,erl_burst_limit_cachable_test:125,erl_average_limit_uncachable_live:200,erl_average_limit_uncachable_test:100,erl_burst_limit_uncachable_live:50,erl_burst_limit_uncachable_test:25},Pe={api:{default_domain:"commercelayer.io",default_app_domain:"commercelayer.app",default_stg_domain:"commercelayer.co",token_expiration_mins:60*4,token_encoding_algorithm:"HS512",token_owner_types:["Customer","User"],requests_max_num_burst:y.erl_burst_limit_uncachable_live,requests_max_num_burst_cacheable:y.erl_burst_limit_cachable_live,requests_max_num_burst_test:y.erl_burst_limit_uncachable_test,requests_max_num_burst_test_cacheable:y.erl_burst_limit_cachable_test,requests_max_num_avg:y.erl_average_limit_uncachable_live,requests_max_num_avg_cacheable:y.erl_average_limit_cachable_live,requests_max_num_avg_test:y.erl_average_limit_uncachable_test,requests_max_num_avg_test_cacheable:y.erl_average_limit_cachable_test,requests_max_num_oauth:y.erl_oauth_limit_live,requests_max_secs_burst:10,requests_max_secs_oauth:60,requests_max_secs_avg:60,page_max_size:25,page_default_size:10},application:{kinds:["dashboard","user","metrics","contentful","bundles","customers","datocms","exports","external","gift_cards","imports","integration","inventory","orders","price_lists","promotions","resources","returns","sales_channel","sanity","shipments","skus","sku_lists","stock_transfers","subscriptions","tags","webapp","webhooks","zapier"],login_scopes:["market","stock_location","store"]},imports:{max_size:1e4,statuses:W,types:Be,max_queue_length:10,attachment_expiration:5},exports:{max_size:1e4,statuses:W,types:je,max_queue_length:10,attachment_expiration:5},cleanups:{max_size:1e4,statuses:W,types:De,max_queue_length:10},webhooks:{retry_number:5},cli:{applications:["integration","sales_channel","user"]},doc:{core:"https://docs.commercelayer.io/core/",core_api_reference:"https://docs.commercelayer.io/developers/v/api-reference",core_how_tos:"https://docs.commercelayer.io/core/v/how-tos/",core_raste_limits:"https://docs.commercelayer.io/core/rate-limits",core_filtering_data:"https://docs.commercelayer.io/core/filtering-data#list-of-predicates",metrics:"https://docs.commercelayer.io/metrics/",metrics_api_reference:"https://docs.commercelayer.io/metrics/v/api-reference-m/",provisioning:"https://docs.commercelayer.io/provisioning/",provisioning_api_reference:"https://docs.commercelayer.io/provisioning/v/api-reference-p/",imports_resources:"https://docs.commercelayer.io/api/importing-resources#supported-resources",exports_resources:"https://docs.commercelayer.io/core/exporting-resources#supported-resources",cleanups_resources:"https://docs.commercelayer.io/core/cleaning-resources#supported-resources",webhooks_events:"https://docs.commercelayer.io/api/real-time-webhooks#supported-events",tags_resources:"https://docs.commercelayer.io/core/v/api-reference/tags#taggable-resources",links_resources:"https://docs.commercelayer.io/core/v/api-reference/links"},tags:{max_resource_tags:10,taggable_resources:Me,tag_name_max_length:25,tag_name_pattern:/^[0-9A-Za-z_-]{1,25}$/},provisioning:{default_subdomain:"provisioning",scope:"provisioning-api",applications:["user"]},links:{default_domain:"c11r.link",linkable_resources:Le}},m=Pe;var me=require("fs");var F=async(e,t,r)=>await(await fetch(new URL(`/api/${e.resource}`+(r?`/${r}`:""),e.baseUrl),{method:e.operation,headers:{"Content-Type":"application/vnd.api+json",Accept:"application/vnd.api+json",Authorization:`Bearer ${e.accessToken}`},body:JSON.stringify(t)}).then(n=>{if(n.ok)return n;throw new Error(n.statusText)})).json(),N=e=>{let t,r;try{t=(0,me.readFileSync)(e,"utf-8")}catch{throw new Error(`Unable to find or open the data file ${k.msg.error(e)}`)}try{r=JSON.parse(t)}catch{throw new Error(`Unable to parse the data file ${k.msg.error(e)}: invalid JSON format`)}return r.data?r:{data:r}},H=(r=>(r.Create="POST",r.Update="PATCH",r))(H||{});var de=(e,t)=>t.find(r=>e.id===r.id&&e.type===r.type),K=(e,t)=>{let r={id:e.id,type:e.type,...e.attributes};return e.relationships&&Object.keys(e.relationships).forEach(s=>{let n=e.relationships[s].data;n?Array.isArray(n)?r[s]=n.map(i=>K(de(i,t),t)):r[s]=K(de(n,t),t):n===null&&(r[s]=null)}),r},G=e=>{let t;e.links&&delete e.links;let r=e.data,s=e.included;return Array.isArray(r)?t=r.map(n=>K(n,s)):t=K(r,s),t};var Ve=(e="core",t,r)=>`https://${(e==="core"&&t||e).toLowerCase()}.${r||m.api.default_domain}`,Ue=e=>{if(e)return e.substring(e.indexOf(".")+1)},We=e=>e===!0||e==="live"?"live":"test",Fe=e=>e.replace(/_/g," ");var Ne=["bundles","imports","markets","prices","price_lists","promotions","buy_x_pay_y_promotions","external_promotions","fixed_amount_promotions","fixed_price_promotions","free_gift_promotions","free_shipping_promotions","percentage_discount_promotions","skus","sku_options","stock_items","stock_locations"],ge=(e,t)=>Ne.includes(e||"")&&(t||"GET").toUpperCase()==="GET",He=e=>e==="live",_e=e=>{let t=e?.environment||"test",r=e?.parallelRequests||1,s=ge(e?.resourceType,e?.method),n,i;t==="live"?(n=s?m.api.requests_max_num_burst_cacheable:m.api.requests_max_num_burst,i=s?m.api.requests_max_num_avg_cacheable:m.api.requests_max_num_avg):(n=s?m.api.requests_max_num_burst_test_cacheable:m.api.requests_max_num_burst_test,i=s?m.api.requests_max_num_avg_test_cacheable:m.api.requests_max_num_avg_test);let a=m.api.requests_max_secs_burst/n,p=m.api.requests_max_secs_avg/i,g=r*a,v=r*p,f=e?.totalRequests,c=0;return f&&f>0?f>n&&(f>i?c=v:c=g):c=Math.max(g,v),c=c*1e3,e?.minimumDelay&&(c=Math.max(e.minimumDelay,c)),e?.securityDelay&&(c+=e.securityDelay),c=Math.ceil(c),c};var Ge={raw:F,readDataFile:N,rateLimitDelay:_e},Je={denormalize:G};var Y={};_(Y,{appKey:()=>Ye,appKeyMatch:()=>Ze,appKeyValid:()=>Xe,arrayScope:()=>fe,isProvisioningApp:()=>Qe});var Ye=()=>Date.now().toString(36),Xe=e=>e.key!==void 0&&e.key!=="",Ze=(e,t)=>{let r=e!==void 0,s=t!==void 0;return!r&&!s||r&&s&&e.key===t.key},fe=e=>{if(!e)return[];if(Array.isArray(e))return e;let t=e.replace(/[ ,;]/g,"_").split("_");return Array.isArray(t)?t:[t]},Qe=e=>fe(e.scope).includes(m.provisioning.scope)||e.api==="provisioning";var X={};_(X,{allFlags:()=>tt,checkISODateTimeValue:()=>it,commandFlags:()=>et,findLongStringFlag:()=>st,fixDashedFlagValue:()=>nt,fixValueType:()=>rt});var et=(e,t)=>{let r={...e};if(t)for(let s of t)delete r[s];return r},tt=e=>({...e.flags,...e.baseFlags}),rt=e=>{let t=e;return t==="null"?t=null:Number(t)==t?t=Number(t):t=t==="true"?!0:t==="false"?!1:t,t},st=(e,t)=>{let r=t.startsWith("--")?t:`--${t}`,s,n=e.findIndex(a=>a.startsWith(r)),i=!1;if(n>-1){let a=e[n];if(a.includes("=")){let p=a.split("=");s=p.length===2?p[1]:"",i=!0}else s=e[n+1];return{value:s,index:n,single:i}}else return},nt=(e,t,r,s)=>{let n="____",i=t.name||r,a=t.char;if(!i&&!a)return e;let p=i?i.startsWith("--")?i:`--${i}`:void 0,g=a?t.char.startsWith("-")?a:`-${a}`:void 0,v=e.findIndex(w=>g&&w.startsWith(g)||p&&w.startsWith(p));if(v<0)return e;let f=e[v],c="",pe="";if(g&&f.startsWith(g))c=f.replace(g,"").trim(),f=g;else if(p&&f.startsWith(p))c=f.replace(p,"").trim(),f=p;else return e;if(c.startsWith("=")?(c=c.slice(1),pe=f+"="):c||(c=e[++v]),c.startsWith("-")||c.startsWith(n)){let w=c.startsWith(`${n}`)?c.replace(`${n}`,""):c.replace("-",`${n}-`);if(e[v]=pe+w,c.startsWith(n)&&s){let z=i?i.replace("--",""):void 0,P=Object.entries(s.flags).find(([U,Re])=>Re===c);P&&(!z||z===P[0])&&(s.flags[P[0]]=w);let V=Object.values(s.raw).find(U=>U.type==="flag"&&U.input===c);V&&(!z||z===V.flag)&&(V.input=w)}}return e},it=e=>{if(!e)throw Error("Date is empty");try{let t=Date.parse(e);if(Number.isNaN(t))throw new Error("Invalid date");return new Date(t)}catch{throw new Error("Error parsing date: "+e)}};var Z={};_(Z,{center:()=>ot,cleanDate:()=>ct,formatError:()=>pt,formatOutput:()=>ve,localeDate:()=>lt,maxLength:()=>at,printCSV:()=>xe,printJSON:()=>be,printObject:()=>ye});var he=require("util"),ye=(e,t)=>(0,he.inspect)(e,{showHidden:!1,depth:null,colors:t?.color===void 0?!0:t.color,sorted:t?.sort===void 0?!1:t?.sort,maxArrayLength:1/0,breakLength:t?.width||120}),be=(e,t)=>JSON.stringify(e,null,t?.unformatted?void 0:t?.tabSize||4),xe=(e,t)=>{if(!e||e.length===0)return"";let r=Object.keys(e[0]).filter(n=>["id","type"].includes(n)?t?.fields.includes(n):!0),s=r.map(n=>n.toUpperCase().replace(/_/g," ")).join(";")+`
|
|
1
|
+
"use strict";var Ee=Object.create;var O=Object.defineProperty;var Se=Object.getOwnPropertyDescriptor;var ze=Object.getOwnPropertyNames;var Oe=Object.getPrototypeOf,Ie=Object.prototype.hasOwnProperty;var _=(e,t)=>{for(var r in t)O(e,r,{get:t[r],enumerable:!0})},ue=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of ze(t))!Ie.call(e,n)&&n!==r&&O(e,n,{get:()=>t[n],enumerable:!(s=Se(t,n))||s.enumerable});return e};var I=(e,t,r)=>(r=e!=null?Ee(Oe(e)):{},ue(t||!e||!e.__esModule?O(r,"default",{value:e,enumerable:!0}):r,e)),Ke=e=>ue(O({},"__esModule",{value:!0}),e);var sr={};_(sr,{clApi:()=>J,clApplication:()=>Y,clColor:()=>k,clCommand:()=>X,clConfig:()=>m,clFilter:()=>le,clHelp:()=>S,clOutput:()=>Z,clSchema:()=>ce,clSymbol:()=>ie,clText:()=>oe,clToken:()=>se,clUpdate:()=>ne,clUtil:()=>re});module.exports=Ke(sr);var J={};_(J,{Operation:()=>H,baseURL:()=>Ve,execMode:()=>We,extractDomain:()=>Ue,humanizeResource:()=>Fe,isResourceCacheable:()=>ge,liveEnvironment:()=>He,request:()=>Ge,requestDataFile:()=>N,requestRateLimitDelay:()=>_e,requestRaw:()=>F,response:()=>Je,responseDenormalize:()=>G});var W=["in_progress","pending","completed","interrupted"],Be=["addresses","bundles","coupons","customer_addresses","customer_payment_sources","customer_subscriptions","customers","gift_cards","line_items","line_item_options","orders","price_tiers","prices","shipping_categories","sku_lists","sku_list_items","sku_options","skus","stock_items","stock_transfers","tags","tax_categories"],je=["addresses","authorizations","bundles","captures","coupons","customer_addresses","customer_payment_sources","customer_subscriptions","customers","gift_cards","line_items","line_item_options","orders","payment_methods","price_tiers","prices","refunds","returns","shipments","shipping_categories","shipping_methods","sku_lists","sku_list_items","sku_options","skus","stock_items","stock_transfers","tags","tax_categories","transactions","voids"],De=["bundles","gift_cards","prices","promotions","sku_lists","sku_options","skus","stock_items"],Me=["addresses","bundles","customers","coupons","gift_cards","line_items","line_item_options","orders","returns","skus","sku_options","promotions","external_promotions","fixed_amount_promotions","fixed_price_promotions","free_gift_promotions","free_shipping_promotions","percentage_discount_promotions"],Le=["orders","skus","sku_lists"],y={erl_oauth_limit_live:30,erl_average_limit_cachable_live:1e3,erl_average_limit_cachable_test:500,erl_burst_limit_cachable_live:250,erl_burst_limit_cachable_test:125,erl_average_limit_uncachable_live:200,erl_average_limit_uncachable_test:100,erl_burst_limit_uncachable_live:50,erl_burst_limit_uncachable_test:25},Pe={api:{default_domain:"commercelayer.io",default_app_domain:"commercelayer.app",default_stg_domain:"commercelayer.co",token_expiration_mins:60*4,token_encoding_algorithm:"HS512",token_owner_types:["Customer","User"],requests_max_num_burst:y.erl_burst_limit_uncachable_live,requests_max_num_burst_cacheable:y.erl_burst_limit_cachable_live,requests_max_num_burst_test:y.erl_burst_limit_uncachable_test,requests_max_num_burst_test_cacheable:y.erl_burst_limit_cachable_test,requests_max_num_avg:y.erl_average_limit_uncachable_live,requests_max_num_avg_cacheable:y.erl_average_limit_cachable_live,requests_max_num_avg_test:y.erl_average_limit_uncachable_test,requests_max_num_avg_test_cacheable:y.erl_average_limit_cachable_test,requests_max_num_oauth:y.erl_oauth_limit_live,requests_max_secs_burst:10,requests_max_secs_oauth:60,requests_max_secs_avg:60,page_max_size:25,page_default_size:10},application:{kinds:["dashboard","user","metrics","contentful","bundles","customers","datocms","exports","external","gift_cards","imports","integration","inventory","orders","price_lists","promotions","resources","returns","sales_channel","sanity","shipments","skus","sku_lists","stock_transfers","subscriptions","tags","webapp","webhooks","zapier"],login_scopes:["market","stock_location","store"]},imports:{max_size:1e4,statuses:W,types:Be,max_queue_length:10,attachment_expiration:5},exports:{max_size:1e4,statuses:W,types:je,max_queue_length:10,attachment_expiration:5},cleanups:{max_size:1e4,statuses:W,types:De,max_queue_length:10},webhooks:{retry_number:5},cli:{applications:["integration","sales_channel","user"]},doc:{core:"https://docs.commercelayer.io/core/",core_api_reference:"https://docs.commercelayer.io/developers/v/api-reference",core_how_tos:"https://docs.commercelayer.io/core/v/how-tos/",core_raste_limits:"https://docs.commercelayer.io/core/rate-limits",core_filtering_data:"https://docs.commercelayer.io/core/filtering-data#list-of-predicates",metrics:"https://docs.commercelayer.io/metrics/",metrics_api_reference:"https://docs.commercelayer.io/metrics/v/api-reference-m/",provisioning:"https://docs.commercelayer.io/provisioning/",provisioning_api_reference:"https://docs.commercelayer.io/provisioning/v/api-reference-p/",imports_resources:"https://docs.commercelayer.io/api/importing-resources#supported-resources",exports_resources:"https://docs.commercelayer.io/core/exporting-resources#supported-resources",cleanups_resources:"https://docs.commercelayer.io/core/cleaning-resources#supported-resources",webhooks_events:"https://docs.commercelayer.io/api/real-time-webhooks#supported-events",tags_resources:"https://docs.commercelayer.io/core/v/api-reference/tags#taggable-resources",links_resources:"https://docs.commercelayer.io/core/v/api-reference/links"},tags:{max_resource_tags:10,taggable_resources:Me,tag_name_max_length:25,tag_name_pattern:/^[0-9A-Za-z_-]{1,25}$/},provisioning:{default_subdomain:"provisioning",scope:"provisioning-api",applications:["user"]},links:{default_domain:"c11r.link",linkable_resources:Le}},m=Pe;var me=require("fs");var F=async(e,t,r)=>await(await fetch(new URL(`/api/${e.resource}`+(r?`/${r}`:""),e.baseUrl),{method:e.operation,headers:{"Content-Type":"application/vnd.api+json",Accept:"application/vnd.api+json",Authorization:`Bearer ${e.accessToken}`},body:JSON.stringify(t)}).then(n=>{if(n.ok)return n;throw new Error(n.statusText)})).json(),N=e=>{let t,r;try{t=(0,me.readFileSync)(e,"utf-8")}catch{throw new Error(`Unable to find or open the data file ${k.msg.error(e)}`)}try{r=JSON.parse(t)}catch{throw new Error(`Unable to parse the data file ${k.msg.error(e)}: invalid JSON format`)}return r.data?r:{data:r}},H=(r=>(r.Create="POST",r.Update="PATCH",r))(H||{});var de=(e,t)=>t.find(r=>e.id===r.id&&e.type===r.type),K=(e,t)=>{let r={id:e.id,type:e.type,...e.attributes};return e.relationships&&Object.keys(e.relationships).forEach(s=>{let n=e.relationships[s].data;n?Array.isArray(n)?r[s]=n.map(i=>K(de(i,t),t)):r[s]=K(de(n,t),t):n===null&&(r[s]=null)}),r},G=e=>{let t;e.links&&delete e.links;let r=e.data,s=e.included;return Array.isArray(r)?t=r.map(n=>K(n,s)):t=K(r,s),t};var Ve=(e="core",t,r)=>`https://${(e==="core"&&t||e).toLowerCase()}.${r||m.api.default_domain}`,Ue=e=>{if(e)return e.substring(e.indexOf(".")+1)},We=e=>e===!0||e==="live"?"live":"test",Fe=e=>e.replace(/_/g," ");var Ne=["bundles","imports","markets","prices","price_lists","promotions","buy_x_pay_y_promotions","external_promotions","fixed_amount_promotions","fixed_price_promotions","free_gift_promotions","free_shipping_promotions","percentage_discount_promotions","skus","sku_options","stock_items","stock_locations"],ge=(e,t)=>Ne.includes(e||"")&&(t||"GET").toUpperCase()==="GET",He=e=>e==="live",_e=e=>{let t=e?.environment||"test",r=e?.parallelRequests||1,s=ge(e?.resourceType,e?.method),n,i;t==="live"?(n=s?m.api.requests_max_num_burst_cacheable:m.api.requests_max_num_burst,i=s?m.api.requests_max_num_avg_cacheable:m.api.requests_max_num_avg):(n=s?m.api.requests_max_num_burst_test_cacheable:m.api.requests_max_num_burst_test,i=s?m.api.requests_max_num_avg_test_cacheable:m.api.requests_max_num_avg_test);let a=m.api.requests_max_secs_burst/n,p=m.api.requests_max_secs_avg/i,g=r*a,v=r*p,f=e?.totalRequests,c=0;return f&&f>0?f>n&&(f>i?c=v:c=g):c=Math.max(g,v),c=c*1e3,e?.minimumDelay&&(c=Math.max(e.minimumDelay,c)),e?.securityDelay&&(c+=e.securityDelay),c=Math.ceil(c),c};var Ge={raw:F,readDataFile:N,rateLimitDelay:_e},Je={denormalize:G};var Y={};_(Y,{appKey:()=>Ye,appKeyMatch:()=>Ze,appKeyValid:()=>Xe,arrayScope:()=>fe,isProvisioningApp:()=>Qe});var Ye=()=>Date.now().toString(36),Xe=e=>e.key!==void 0&&e.key!=="",Ze=(e,t)=>{let r=e!==void 0,s=t!==void 0;return!r&&!s||r&&s&&e.key===t.key},fe=e=>{if(!e)return[];if(Array.isArray(e))return e;let t=e.replace(/[ ,;]/g,"_").split("_");return Array.isArray(t)?t:[t]},Qe=e=>fe(e.scope).includes(m.provisioning.scope)||e.api==="provisioning";var X={};_(X,{allFlags:()=>tt,checkISODateTimeValue:()=>it,commandFlags:()=>et,findLongStringFlag:()=>st,fixDashedFlagValue:()=>nt,fixValueType:()=>rt});var et=(e,t)=>{let r={...e};if(t)for(let s of t)delete r[s];return r},tt=e=>({...e.flags,...e.baseFlags}),rt=e=>{let t=e;return t==="null"?t=null:Number(t)==t?t=Number(t):t=t==="true"?!0:t==="false"?!1:t,t},st=(e,t)=>{let r=t.startsWith("--")?t:`--${t}`,s,n=e.findIndex(a=>a.startsWith(r)),i=!1;if(n>-1){let a=e[n];if(a.includes("=")){let p=a.split("=");s=p.length===2?p[1]:"",i=!0}else s=e[n+1];return{value:s,index:n,single:i}}else return},nt=(e,t,r,s)=>{let n="____",i=t.name||r,a=t.char;if(!i&&!a)return e;let p=i?i.startsWith("--")?i:`--${i}`:void 0,g=a?t.char.startsWith("-")?a:`-${a}`:void 0,v=e.findIndex(w=>g&&w.startsWith(g)||p&&w.startsWith(p));if(v<0)return e;let f=e[v],c="",pe="";if(g&&f.startsWith(g))c=f.replace(g,"").trim(),f=g;else if(p&&f.startsWith(p))c=f.replace(p,"").trim(),f=p;else return e;if(c.startsWith("=")?(c=c.slice(1),pe=f+"="):c||(c=e[++v]),c.startsWith("-")||c.startsWith(n)){let w=c.startsWith(`${n}`)?c.replace(`${n}`,""):c.replace("-",`${n}-`);if(e[v]=pe+w,c.startsWith(n)&&s){let z=i?i.replace("--",""):void 0,P=Object.entries(s.flags).find(([U,Re])=>Re===c);P&&(!z||z===P[0])&&(s.flags[P[0]]=w);let V=Object.values(s.raw).find(U=>U.type==="flag"&&U.input===c);V&&(!z||z===V.flag)&&(V.input=w)}}return e},it=e=>{if(!e)throw Error("Date is empty");try{let t=Date.parse(e);if(Number.isNaN(t))throw new Error("Invalid date");return new Date(t)}catch{throw new Error("Error parsing date: "+e)}};var Z={};_(Z,{center:()=>ot,cleanDate:()=>ct,formatError:()=>pt,formatOutput:()=>ve,localeDate:()=>lt,maxLength:()=>at,printCSV:()=>xe,printJSON:()=>be,printObject:()=>ye});var he=require("util"),ye=(e,t)=>(0,he.inspect)(e,{showHidden:!1,depth:null,colors:t?.color===void 0?!0:t.color,sorted:t?.sort===void 0?!1:t?.sort,maxArrayLength:1/0,breakLength:t?.width||120}),be=(e,t)=>JSON.stringify(e,null,t?.unformatted?void 0:t?.tabSize||4),xe=(e,t)=>{if(!e||e.length===0)return"";let r=Object.keys(e[0]).filter(n=>["id","type"].includes(n)?t?.fields.includes(n):!0),s=r.map(n=>n.toUpperCase().replace(/_/g," ")).join(";")+`
|
|
2
2
|
`;return e.forEach(n=>{s+=r.map(i=>n[i]).join(";")+`
|
|
3
3
|
`}),s},ot=(e,t)=>e.padStart(e.length+Math.floor((t-e.length)/2)," ").padEnd(t," "),at=(e,t)=>e.reduce((r,s)=>{let n=Array.isArray(s[t])?s[t].join():s[t];return Math.max(r,String(n).length)},0),ct=e=>e?e.replace("T"," ").replace("Z","").substring(0,e.lastIndexOf(".")):"",lt=e=>e?new Date(Date.parse(e)).toLocaleString():"",ve=(e,t,{color:r=!0}={})=>{if(!e)return"";if(typeof e=="string")return e;if(t){if(t.csv)return xe(e,t);if(t.json)return be(e,{unformatted:t.unformatted})}return ye(e,{color:r})},pt=(e,t)=>ve(e.errors||e,t);var k={};_(k,{api:()=>Et,bg:()=>qt,black:()=>xt,blackBright:()=>vt,blue:()=>ht,blueBright:()=>C,bold:()=>ee,cli:()=>zt,cyan:()=>wt,cyanBright:()=>$,dim:()=>$t,green:()=>_t,greenBright:()=>Q,grey:()=>Tt,hidden:()=>dt,italic:()=>T,magenta:()=>kt,magentaBright:()=>At,msg:()=>St,red:()=>gt,redBright:()=>Te,reset:()=>ut,style:()=>l,table:()=>Ot,type:()=>Rt,underline:()=>Ct,visible:()=>mt,white:()=>yt,whiteBright:()=>bt,yellow:()=>ft,yellowBright:()=>x});var o=I(require("chalk")),ut=o.default.reset,mt=o.default.visible,dt=o.default.hidden,gt=o.default.red,Te=o.default.redBright,_t=o.default.green,Q=o.default.greenBright,ft=o.default.yellow,x=o.default.yellowBright,ht=o.default.blue,C=o.default.blueBright,yt=o.default.white,bt=o.default.whiteBright,xt=o.default.black,vt=o.default.blackBright,Tt=o.default.grey,wt=o.default.cyan,$=o.default.cyanBright,kt=o.default.magenta,At=o.default.magentaBright,ee=o.default.bold,$t=o.default.dim,Ct=o.default.underline,T=o.default.italic,qt={white:o.default.bgWhite,whiteBright:o.default.bgWhiteBright,black:o.default.bgBlack,blackBright:o.default.bgBlackBright,grey:o.default.bgGrey,red:o.default.bgRed,redBright:o.default.bgRedBright,green:o.default.bgGreen,greenBright:o.default.bgGreenBright,yellow:o.default.bgYellow,yellowBright:o.default.bgYellowBright,blue:o.default.bgBlue,blueBright:o.default.bgBlueBright,magenta:o.default.bgMagenta,magentaBright:o.default.bgMagentaBright,cyan:o.default.bgCyan,cyanBright:o.default.bgCyanBright},l={organization:x.bold,application:x.bold,slug:x,id:ee,token:C,resource:ee,attribute:T,trigger:$,kind:$,live:Q,test:x,execMode:e=>e==="live"?l.live:l.test,success:Q,warning:x,error:Te,arg:T,flag:T,command:T,value:T,alias:$,plugin:C,title:C,path:T,datetime:$,number:x},Rt={datetime:l.datetime,number:l.number,path:l.path},Et={organization:l.organization,application:l.application,slug:l.slug,id:l.id,token:l.token,resource:l.resource,attribute:l.attribute,trigger:l.trigger,kind:l.kind,live:l.live,test:l.test},St={success:l.success,warning:l.warning,error:l.error},zt={arg:l.arg,flag:l.flag,command:l.command,value:l.value,alias:l.alias,plugin:l.plugin},Ot={header:x.bold,key:C};var se={};_(se,{buildAssertionPayload:()=>Ft,decodeAccessToken:()=>ke,generateAccessToken:()=>Lt,getAccessToken:()=>Pt,getTokenEnvironment:()=>Wt,isAccessTokenExpiring:()=>Ut,revokeAccessToken:()=>Vt});var M=I(require("jsonwebtoken"));var A=require("@commercelayer/js-auth");var re={};_(re,{dotNotationToObject:()=>te,generateGroupUID:()=>Dt,log:()=>Bt,resetConsole:()=>Kt,sleep:()=>It,specialFolder:()=>jt,userAgent:()=>Mt});var B=require("util"),j=require("path"),we=require("os"),D=require("fs"),It=async e=>new Promise(t=>setTimeout(t,e)),Kt=()=>{process.stdout.write("\x1B[?25h\x1B[?7h")},Bt=(e="",...t)=>{e=typeof e=="string"?e:(0,B.inspect)(e),process.stdout.write((0,B.format)(e,...t)+`
|
|
4
4
|
`)},jt=(e,t=!1)=>{let r=["desktop","home"],s=e.toLowerCase().split(/[\\\/]/g)[0];if(r.includes(s)){let i=(0,we.homedir)();s==="desktop"&&(i+=`${j.sep}Desktop`),e=e.replace(s,i)}let n=(0,j.dirname)(e);return t&&!(0,D.existsSync)(n)&&(0,D.mkdirSync)(n,{recursive:!0}),e},Dt=()=>{let e=Math.trunc(Math.random()*46656),t=Math.trunc(Math.random()*46656),r=("000"+e.toString(36)).slice(-3),s=("000"+t.toString(36)).slice(-3);return r+s},Mt=e=>`${e.name.replace(/@commercelayer\/cli-plugin/,"CLI")}/${e.version}`,te=(e,t)=>{let r=t||{};return Object.entries(e).forEach(([s,n])=>{let i=s.split("."),a=i[i.length-1],p=r;i.forEach(g=>{g===a?p[g]=n:p=p[g]||(p[g]={})})}),t&&Object.assign(t,r),r};var ke=e=>{let t=M.default.decode(e);if(t===null)throw new Error("Error decoding access token");return t},Lt=(e,t,r)=>{let n={...e,exp:Math.floor(Date.now()/1e3)+r*60,rand:Math.random()},i=m.api.token_encoding_algorithm,a=M.default.sign(n,t,{algorithm:i,noTimestamp:!0}),p=M.default.verify(a,t,{algorithms:[i]});return{accessToken:a,info:p,expMinutes:r}},Pt=async e=>{let t,r=e.scope?Array.isArray(e.scope)?e.scope.map(n=>n.trim()).join(","):e.scope:"",s={clientId:e.clientId,clientSecret:e.clientSecret,slug:e.slug,domain:e.domain,scope:r};if(e.email&&e.password?(s.username=e.email,s.password=e.password,t=await(0,A.authenticate)("password",s)):e.assertion?(s.assertion=e.assertion,t=await(0,A.authenticate)("urn:ietf:params:oauth:grant-type:jwt-bearer",s)):t=await(0,A.authenticate)("client_credentials",s),t){if(t.errors)throw new Error(`Unable to get access token: ${t.errors[0].detail}`)}else throw new Error("Unable to get access token");return t},Vt=async(e,t)=>{let r=await(0,A.revoke)({...e,token:t});if(r.errors)throw new Error(r.errors[0].detail)},Ut=e=>{let r=Math.floor(Date.now()/1e3),s=Math.floor(new Date(e.expires).getTime()/1e3);return r>=s-30},Wt=e=>(typeof e=="string"?ke(e):e).test?"test":"live";var Ft=(e,t,r)=>{let s="https://commercelayer.io/claims",n={[s]:{owner:{type:e,id:t}}};if(r&&Object.keys(r).length>0){let i=te(r);n[s].custom_claim=i}return n};var ne={};_(ne,{checkUpdate:()=>Ht});var q=I(require("chalk")),Ae=I(require("update-notifier-cjs")),Nt=1,Ht=e=>{let t=(0,Ae.default)({pkg:e,updateCheckInterval:36e5*Nt});t.update&&t.notify({isGlobal:!1,message:`-= ${q.default.bgWhite.black.bold(` ${e.description} `)} =-
|
package/lib/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var xe=Object.defineProperty;var h=(e,t)=>{for(var r in t)xe(e,r,{get:t[r],enumerable:!0})};var Z={};h(Z,{Operation:()=>L,baseURL:()=>qe,execMode:()=>Ee,extractDomain:()=>Re,humanizeResource:()=>Se,isResourceCacheable:()=>Y,liveEnvironment:()=>Oe,request:()=>Ie,requestDataFile:()=>M,requestRateLimitDelay:()=>X,requestRaw:()=>D,response:()=>Ke,responseDenormalize:()=>P});var j=["in_progress","pending","completed","interrupted"],ve=["addresses","bundles","coupons","customer_addresses","customer_payment_sources","customer_subscriptions","customers","gift_cards","line_items","line_item_options","orders","price_tiers","prices","shipping_categories","sku_lists","sku_list_items","sku_options","skus","stock_items","stock_transfers","tags","tax_categories"],Te=["addresses","authorizations","bundles","captures","coupons","customer_addresses","customer_payment_sources","customer_subscriptions","customers","gift_cards","line_items","line_item_options","orders","payment_methods","price_tiers","prices","refunds","shipments","shipping_categories","shipping_methods","sku_lists","sku_list_items","sku_options","skus","stock_items","stock_transfers","tags","tax_categories","transactions","voids"],we=["bundles","gift_cards","prices","promotions","sku_lists","sku_options","skus","stock_items"],ke=["addresses","bundles","customers","coupons","gift_cards","line_items","line_item_options","orders","returns","skus","sku_options","promotions","external_promotions","fixed_amount_promotions","fixed_price_promotions","free_gift_promotions","free_shipping_promotions","percentage_discount_promotions"],Ae=["orders","skus","sku_lists"],b={erl_oauth_limit_live:30,erl_average_limit_cachable_live:1e3,erl_average_limit_cachable_test:500,erl_burst_limit_cachable_live:250,erl_burst_limit_cachable_test:125,erl_average_limit_uncachable_live:200,erl_average_limit_uncachable_test:100,erl_burst_limit_uncachable_live:50,erl_burst_limit_uncachable_test:25},$e={api:{default_domain:"commercelayer.io",default_app_domain:"commercelayer.app",default_stg_domain:"commercelayer.co",token_expiration_mins:60*4,token_encoding_algorithm:"HS512",token_owner_types:["Customer","User"],requests_max_num_burst:b.erl_burst_limit_uncachable_live,requests_max_num_burst_cacheable:b.erl_burst_limit_cachable_live,requests_max_num_burst_test:b.erl_burst_limit_uncachable_test,requests_max_num_burst_test_cacheable:b.erl_burst_limit_cachable_test,requests_max_num_avg:b.erl_average_limit_uncachable_live,requests_max_num_avg_cacheable:b.erl_average_limit_cachable_live,requests_max_num_avg_test:b.erl_average_limit_uncachable_test,requests_max_num_avg_test_cacheable:b.erl_average_limit_cachable_test,requests_max_num_oauth:b.erl_oauth_limit_live,requests_max_secs_burst:10,requests_max_secs_oauth:60,requests_max_secs_avg:60,page_max_size:25,page_default_size:10},application:{kinds:["dashboard","user","metrics","contentful","bundles","customers","datocms","exports","external","gift_cards","imports","integration","inventory","orders","price_lists","promotions","resources","returns","sales_channel","sanity","shipments","skus","sku_lists","stock_transfers","subscriptions","tags","webapp","webhooks","zapier"],login_scopes:["market","stock_location","store"]},imports:{max_size:1e4,statuses:j,types:ve,max_queue_length:10,attachment_expiration:5},exports:{max_size:1e4,statuses:j,types:Te,max_queue_length:10,attachment_expiration:5},cleanups:{max_size:1e4,statuses:j,types:we,max_queue_length:10},webhooks:{retry_number:5},cli:{applications:["integration","sales_channel","user"]},doc:{core:"https://docs.commercelayer.io/core/",core_api_reference:"https://docs.commercelayer.io/developers/v/api-reference",core_how_tos:"https://docs.commercelayer.io/core/v/how-tos/",core_raste_limits:"https://docs.commercelayer.io/core/rate-limits",core_filtering_data:"https://docs.commercelayer.io/core/filtering-data#list-of-predicates",metrics:"https://docs.commercelayer.io/metrics/",metrics_api_reference:"https://docs.commercelayer.io/metrics/v/api-reference-m/",provisioning:"https://docs.commercelayer.io/provisioning/",provisioning_api_reference:"https://docs.commercelayer.io/provisioning/v/api-reference-p/",imports_resources:"https://docs.commercelayer.io/api/importing-resources#supported-resources",exports_resources:"https://docs.commercelayer.io/core/exporting-resources#supported-resources",cleanups_resources:"https://docs.commercelayer.io/core/cleaning-resources#supported-resources",webhooks_events:"https://docs.commercelayer.io/api/real-time-webhooks#supported-events",tags_resources:"https://docs.commercelayer.io/core/v/api-reference/tags#taggable-resources",links_resources:"https://docs.commercelayer.io/core/v/api-reference/links"},tags:{max_resource_tags:10,taggable_resources:ke,tag_name_max_length:25,tag_name_pattern:/^[0-9A-Za-z_-]{1,25}$/},provisioning:{default_subdomain:"provisioning",scope:"provisioning-api",applications:["user"]},links:{default_domain:"c11r.link",linkable_resources:Ae}},m=$e;import{readFileSync as Ce}from"fs";var D=async(e,t,r)=>await(await fetch(new URL(`/api/${e.resource}`+(r?`/${r}`:""),e.baseUrl),{method:e.operation,headers:{"Content-Type":"application/vnd.api+json",Accept:"application/vnd.api+json",Authorization:`Bearer ${e.accessToken}`},body:JSON.stringify(t)}).then(n=>{if(n.ok)return n;throw new Error(n.statusText)})).json(),M=e=>{let t,r;try{t=Ce(e,"utf-8")}catch{throw new Error(`Unable to find or open the data file ${A.msg.error(e)}`)}try{r=JSON.parse(t)}catch{throw new Error(`Unable to parse the data file ${A.msg.error(e)}: invalid JSON format`)}return r.data?r:{data:r}},L=(r=>(r.Create="POST",r.Update="PATCH",r))(L||{});var J=(e,t)=>t.find(r=>e.id===r.id&&e.type===r.type),S=(e,t)=>{let r={id:e.id,type:e.type,...e.attributes};return e.relationships&&Object.keys(e.relationships).forEach(s=>{let n=e.relationships[s].data;n?Array.isArray(n)?r[s]=n.map(i=>S(J(i,t),t)):r[s]=S(J(n,t),t):n===null&&(r[s]=null)}),r},P=e=>{let t;e.links&&delete e.links;let r=e.data,s=e.included;return Array.isArray(r)?t=r.map(n=>S(n,s)):t=S(r,s),t};var qe=(e="core",t,r)=>`https://${(e==="core"&&t||e).toLowerCase()}.${r||m.api.default_domain}`,Re=e=>{if(e)return e.substring(e.indexOf(".")+1)},Ee=e=>e===!0||e==="live"?"live":"test",Se=e=>e.replace(/_/g," ");var ze=["bundles","imports","markets","prices","price_lists","promotions","buy_x_pay_y_promotions","external_promotions","fixed_amount_promotions","fixed_price_promotions","free_gift_promotions","free_shipping_promotions","percentage_discount_promotions","skus","sku_options","stock_items","stock_locations"],Y=(e,t)=>ze.includes(e||"")&&(t||"GET").toUpperCase()==="GET",Oe=e=>e==="live",X=e=>{let t=e?.environment||"test",r=e?.parallelRequests||1,s=Y(e?.resourceType,e?.method),n,i;t==="live"?(n=s?m.api.requests_max_num_burst_cacheable:m.api.requests_max_num_burst,i=s?m.api.requests_max_num_avg_cacheable:m.api.requests_max_num_avg):(n=s?m.api.requests_max_num_burst_test_cacheable:m.api.requests_max_num_burst_test,i=s?m.api.requests_max_num_avg_test_cacheable:m.api.requests_max_num_avg_test);let a=m.api.requests_max_secs_burst/n,p=m.api.requests_max_secs_avg/i,_=r*a,T=r*p,f=e?.totalRequests,c=0;return f&&f>0?f>n&&(f>i?c=T:c=_):c=Math.max(_,T),c=c*1e3,e?.minimumDelay&&(c=Math.max(e.minimumDelay,c)),e?.securityDelay&&(c+=e.securityDelay),c=Math.ceil(c),c};var Ie={raw:D,readDataFile:M,rateLimitDelay:X},Ke={denormalize:P};var ee={};h(ee,{appKey:()=>Be,appKeyMatch:()=>De,appKeyValid:()=>je,arrayScope:()=>Q,isProvisioningApp:()=>Me});var Be=()=>Date.now().toString(36),je=e=>e.key!==void 0&&e.key!=="",De=(e,t)=>{let r=e!==void 0,s=t!==void 0;return!r&&!s||r&&s&&e.key===t.key},Q=e=>{if(!e)return[];if(Array.isArray(e))return e;let t=e.replace(/[ ,;]/g,"_").split("_");return Array.isArray(t)?t:[t]},Me=e=>Q(e.scope).includes(m.provisioning.scope)||e.api==="provisioning";var te={};h(te,{allFlags:()=>Pe,checkISODateTimeValue:()=>Fe,commandFlags:()=>Le,findLongStringFlag:()=>Ue,fixDashedFlagValue:()=>We,fixValueType:()=>Ve});var Le=(e,t)=>{let r={...e};if(t)for(let s of t)delete r[s];return r},Pe=e=>({...e.flags,...e.baseFlags}),Ve=e=>{let t=e;return t==="null"?t=null:Number(t)==t?t=Number(t):t=t==="true"?!0:t==="false"?!1:t,t},Ue=(e,t)=>{let r=t.startsWith("--")?t:`--${t}`,s,n=e.findIndex(a=>a.startsWith(r)),i=!1;if(n>-1){let a=e[n];if(a.includes("=")){let p=a.split("=");s=p.length===2?p[1]:"",i=!0}else s=e[n+1];return{value:s,index:n,single:i}}else return},We=(e,t,r,s)=>{let n="____",i=t.name||r,a=t.char;if(!i&&!a)return e;let p=i?i.startsWith("--")?i:`--${i}`:void 0,_=a?t.char.startsWith("-")?a:`-${a}`:void 0,T=e.findIndex(k=>_&&k.startsWith(_)||p&&k.startsWith(p));if(T<0)return e;let f=e[T],c="",G="";if(_&&f.startsWith(_))c=f.replace(_,"").trim(),f=_;else if(p&&f.startsWith(p))c=f.replace(p,"").trim(),f=p;else return e;if(c.startsWith("=")?(c=c.slice(1),G=f+"="):c||(c=e[++T]),c.startsWith("-")||c.startsWith(n)){let k=c.startsWith(`${n}`)?c.replace(`${n}`,""):c.replace("-",`${n}-`);if(e[T]=G+k,c.startsWith(n)&&s){let E=i?i.replace("--",""):void 0,I=Object.entries(s.flags).find(([B,be])=>be===c);I&&(!E||E===I[0])&&(s.flags[I[0]]=k);let K=Object.values(s.raw).find(B=>B.type==="flag"&&B.input===c);K&&(!E||E===K.flag)&&(K.input=k)}}return e},Fe=e=>{if(!e)throw Error("Date is empty");try{let t=Date.parse(e);if(Number.isNaN(t))throw new Error("Invalid date");return new Date(t)}catch{throw new Error("Error parsing date: "+e)}};var oe={};h(oe,{center:()=>He,cleanDate:()=>Je,formatError:()=>Xe,formatOutput:()=>ie,localeDate:()=>Ye,maxLength:()=>Ge,printCSV:()=>ne,printJSON:()=>se,printObject:()=>re});import{inspect as Ne}from"node:util";var re=(e,t)=>Ne(e,{showHidden:!1,depth:null,colors:t?.color===void 0?!0:t.color,sorted:t?.sort===void 0?!1:t?.sort,maxArrayLength:1/0,breakLength:t?.width||120}),se=(e,t)=>JSON.stringify(e,null,t?.unformatted?void 0:t?.tabSize||4),ne=(e,t)=>{if(!e||e.length===0)return"";let r=Object.keys(e[0]).filter(n=>["id","type"].includes(n)?t?.fields.includes(n):!0),s=r.map(n=>n.toUpperCase().replace(/_/g," ")).join(";")+`
|
|
1
|
+
var xe=Object.defineProperty;var h=(e,t)=>{for(var r in t)xe(e,r,{get:t[r],enumerable:!0})};var Z={};h(Z,{Operation:()=>L,baseURL:()=>qe,execMode:()=>Ee,extractDomain:()=>Re,humanizeResource:()=>Se,isResourceCacheable:()=>Y,liveEnvironment:()=>Oe,request:()=>Ie,requestDataFile:()=>M,requestRateLimitDelay:()=>X,requestRaw:()=>D,response:()=>Ke,responseDenormalize:()=>P});var j=["in_progress","pending","completed","interrupted"],ve=["addresses","bundles","coupons","customer_addresses","customer_payment_sources","customer_subscriptions","customers","gift_cards","line_items","line_item_options","orders","price_tiers","prices","shipping_categories","sku_lists","sku_list_items","sku_options","skus","stock_items","stock_transfers","tags","tax_categories"],Te=["addresses","authorizations","bundles","captures","coupons","customer_addresses","customer_payment_sources","customer_subscriptions","customers","gift_cards","line_items","line_item_options","orders","payment_methods","price_tiers","prices","refunds","returns","shipments","shipping_categories","shipping_methods","sku_lists","sku_list_items","sku_options","skus","stock_items","stock_transfers","tags","tax_categories","transactions","voids"],we=["bundles","gift_cards","prices","promotions","sku_lists","sku_options","skus","stock_items"],ke=["addresses","bundles","customers","coupons","gift_cards","line_items","line_item_options","orders","returns","skus","sku_options","promotions","external_promotions","fixed_amount_promotions","fixed_price_promotions","free_gift_promotions","free_shipping_promotions","percentage_discount_promotions"],Ae=["orders","skus","sku_lists"],b={erl_oauth_limit_live:30,erl_average_limit_cachable_live:1e3,erl_average_limit_cachable_test:500,erl_burst_limit_cachable_live:250,erl_burst_limit_cachable_test:125,erl_average_limit_uncachable_live:200,erl_average_limit_uncachable_test:100,erl_burst_limit_uncachable_live:50,erl_burst_limit_uncachable_test:25},$e={api:{default_domain:"commercelayer.io",default_app_domain:"commercelayer.app",default_stg_domain:"commercelayer.co",token_expiration_mins:60*4,token_encoding_algorithm:"HS512",token_owner_types:["Customer","User"],requests_max_num_burst:b.erl_burst_limit_uncachable_live,requests_max_num_burst_cacheable:b.erl_burst_limit_cachable_live,requests_max_num_burst_test:b.erl_burst_limit_uncachable_test,requests_max_num_burst_test_cacheable:b.erl_burst_limit_cachable_test,requests_max_num_avg:b.erl_average_limit_uncachable_live,requests_max_num_avg_cacheable:b.erl_average_limit_cachable_live,requests_max_num_avg_test:b.erl_average_limit_uncachable_test,requests_max_num_avg_test_cacheable:b.erl_average_limit_cachable_test,requests_max_num_oauth:b.erl_oauth_limit_live,requests_max_secs_burst:10,requests_max_secs_oauth:60,requests_max_secs_avg:60,page_max_size:25,page_default_size:10},application:{kinds:["dashboard","user","metrics","contentful","bundles","customers","datocms","exports","external","gift_cards","imports","integration","inventory","orders","price_lists","promotions","resources","returns","sales_channel","sanity","shipments","skus","sku_lists","stock_transfers","subscriptions","tags","webapp","webhooks","zapier"],login_scopes:["market","stock_location","store"]},imports:{max_size:1e4,statuses:j,types:ve,max_queue_length:10,attachment_expiration:5},exports:{max_size:1e4,statuses:j,types:Te,max_queue_length:10,attachment_expiration:5},cleanups:{max_size:1e4,statuses:j,types:we,max_queue_length:10},webhooks:{retry_number:5},cli:{applications:["integration","sales_channel","user"]},doc:{core:"https://docs.commercelayer.io/core/",core_api_reference:"https://docs.commercelayer.io/developers/v/api-reference",core_how_tos:"https://docs.commercelayer.io/core/v/how-tos/",core_raste_limits:"https://docs.commercelayer.io/core/rate-limits",core_filtering_data:"https://docs.commercelayer.io/core/filtering-data#list-of-predicates",metrics:"https://docs.commercelayer.io/metrics/",metrics_api_reference:"https://docs.commercelayer.io/metrics/v/api-reference-m/",provisioning:"https://docs.commercelayer.io/provisioning/",provisioning_api_reference:"https://docs.commercelayer.io/provisioning/v/api-reference-p/",imports_resources:"https://docs.commercelayer.io/api/importing-resources#supported-resources",exports_resources:"https://docs.commercelayer.io/core/exporting-resources#supported-resources",cleanups_resources:"https://docs.commercelayer.io/core/cleaning-resources#supported-resources",webhooks_events:"https://docs.commercelayer.io/api/real-time-webhooks#supported-events",tags_resources:"https://docs.commercelayer.io/core/v/api-reference/tags#taggable-resources",links_resources:"https://docs.commercelayer.io/core/v/api-reference/links"},tags:{max_resource_tags:10,taggable_resources:ke,tag_name_max_length:25,tag_name_pattern:/^[0-9A-Za-z_-]{1,25}$/},provisioning:{default_subdomain:"provisioning",scope:"provisioning-api",applications:["user"]},links:{default_domain:"c11r.link",linkable_resources:Ae}},m=$e;import{readFileSync as Ce}from"fs";var D=async(e,t,r)=>await(await fetch(new URL(`/api/${e.resource}`+(r?`/${r}`:""),e.baseUrl),{method:e.operation,headers:{"Content-Type":"application/vnd.api+json",Accept:"application/vnd.api+json",Authorization:`Bearer ${e.accessToken}`},body:JSON.stringify(t)}).then(n=>{if(n.ok)return n;throw new Error(n.statusText)})).json(),M=e=>{let t,r;try{t=Ce(e,"utf-8")}catch{throw new Error(`Unable to find or open the data file ${A.msg.error(e)}`)}try{r=JSON.parse(t)}catch{throw new Error(`Unable to parse the data file ${A.msg.error(e)}: invalid JSON format`)}return r.data?r:{data:r}},L=(r=>(r.Create="POST",r.Update="PATCH",r))(L||{});var J=(e,t)=>t.find(r=>e.id===r.id&&e.type===r.type),S=(e,t)=>{let r={id:e.id,type:e.type,...e.attributes};return e.relationships&&Object.keys(e.relationships).forEach(s=>{let n=e.relationships[s].data;n?Array.isArray(n)?r[s]=n.map(i=>S(J(i,t),t)):r[s]=S(J(n,t),t):n===null&&(r[s]=null)}),r},P=e=>{let t;e.links&&delete e.links;let r=e.data,s=e.included;return Array.isArray(r)?t=r.map(n=>S(n,s)):t=S(r,s),t};var qe=(e="core",t,r)=>`https://${(e==="core"&&t||e).toLowerCase()}.${r||m.api.default_domain}`,Re=e=>{if(e)return e.substring(e.indexOf(".")+1)},Ee=e=>e===!0||e==="live"?"live":"test",Se=e=>e.replace(/_/g," ");var ze=["bundles","imports","markets","prices","price_lists","promotions","buy_x_pay_y_promotions","external_promotions","fixed_amount_promotions","fixed_price_promotions","free_gift_promotions","free_shipping_promotions","percentage_discount_promotions","skus","sku_options","stock_items","stock_locations"],Y=(e,t)=>ze.includes(e||"")&&(t||"GET").toUpperCase()==="GET",Oe=e=>e==="live",X=e=>{let t=e?.environment||"test",r=e?.parallelRequests||1,s=Y(e?.resourceType,e?.method),n,i;t==="live"?(n=s?m.api.requests_max_num_burst_cacheable:m.api.requests_max_num_burst,i=s?m.api.requests_max_num_avg_cacheable:m.api.requests_max_num_avg):(n=s?m.api.requests_max_num_burst_test_cacheable:m.api.requests_max_num_burst_test,i=s?m.api.requests_max_num_avg_test_cacheable:m.api.requests_max_num_avg_test);let a=m.api.requests_max_secs_burst/n,p=m.api.requests_max_secs_avg/i,_=r*a,T=r*p,f=e?.totalRequests,c=0;return f&&f>0?f>n&&(f>i?c=T:c=_):c=Math.max(_,T),c=c*1e3,e?.minimumDelay&&(c=Math.max(e.minimumDelay,c)),e?.securityDelay&&(c+=e.securityDelay),c=Math.ceil(c),c};var Ie={raw:D,readDataFile:M,rateLimitDelay:X},Ke={denormalize:P};var ee={};h(ee,{appKey:()=>Be,appKeyMatch:()=>De,appKeyValid:()=>je,arrayScope:()=>Q,isProvisioningApp:()=>Me});var Be=()=>Date.now().toString(36),je=e=>e.key!==void 0&&e.key!=="",De=(e,t)=>{let r=e!==void 0,s=t!==void 0;return!r&&!s||r&&s&&e.key===t.key},Q=e=>{if(!e)return[];if(Array.isArray(e))return e;let t=e.replace(/[ ,;]/g,"_").split("_");return Array.isArray(t)?t:[t]},Me=e=>Q(e.scope).includes(m.provisioning.scope)||e.api==="provisioning";var te={};h(te,{allFlags:()=>Pe,checkISODateTimeValue:()=>Fe,commandFlags:()=>Le,findLongStringFlag:()=>Ue,fixDashedFlagValue:()=>We,fixValueType:()=>Ve});var Le=(e,t)=>{let r={...e};if(t)for(let s of t)delete r[s];return r},Pe=e=>({...e.flags,...e.baseFlags}),Ve=e=>{let t=e;return t==="null"?t=null:Number(t)==t?t=Number(t):t=t==="true"?!0:t==="false"?!1:t,t},Ue=(e,t)=>{let r=t.startsWith("--")?t:`--${t}`,s,n=e.findIndex(a=>a.startsWith(r)),i=!1;if(n>-1){let a=e[n];if(a.includes("=")){let p=a.split("=");s=p.length===2?p[1]:"",i=!0}else s=e[n+1];return{value:s,index:n,single:i}}else return},We=(e,t,r,s)=>{let n="____",i=t.name||r,a=t.char;if(!i&&!a)return e;let p=i?i.startsWith("--")?i:`--${i}`:void 0,_=a?t.char.startsWith("-")?a:`-${a}`:void 0,T=e.findIndex(k=>_&&k.startsWith(_)||p&&k.startsWith(p));if(T<0)return e;let f=e[T],c="",G="";if(_&&f.startsWith(_))c=f.replace(_,"").trim(),f=_;else if(p&&f.startsWith(p))c=f.replace(p,"").trim(),f=p;else return e;if(c.startsWith("=")?(c=c.slice(1),G=f+"="):c||(c=e[++T]),c.startsWith("-")||c.startsWith(n)){let k=c.startsWith(`${n}`)?c.replace(`${n}`,""):c.replace("-",`${n}-`);if(e[T]=G+k,c.startsWith(n)&&s){let E=i?i.replace("--",""):void 0,I=Object.entries(s.flags).find(([B,be])=>be===c);I&&(!E||E===I[0])&&(s.flags[I[0]]=k);let K=Object.values(s.raw).find(B=>B.type==="flag"&&B.input===c);K&&(!E||E===K.flag)&&(K.input=k)}}return e},Fe=e=>{if(!e)throw Error("Date is empty");try{let t=Date.parse(e);if(Number.isNaN(t))throw new Error("Invalid date");return new Date(t)}catch{throw new Error("Error parsing date: "+e)}};var oe={};h(oe,{center:()=>He,cleanDate:()=>Je,formatError:()=>Xe,formatOutput:()=>ie,localeDate:()=>Ye,maxLength:()=>Ge,printCSV:()=>ne,printJSON:()=>se,printObject:()=>re});import{inspect as Ne}from"node:util";var re=(e,t)=>Ne(e,{showHidden:!1,depth:null,colors:t?.color===void 0?!0:t.color,sorted:t?.sort===void 0?!1:t?.sort,maxArrayLength:1/0,breakLength:t?.width||120}),se=(e,t)=>JSON.stringify(e,null,t?.unformatted?void 0:t?.tabSize||4),ne=(e,t)=>{if(!e||e.length===0)return"";let r=Object.keys(e[0]).filter(n=>["id","type"].includes(n)?t?.fields.includes(n):!0),s=r.map(n=>n.toUpperCase().replace(/_/g," ")).join(";")+`
|
|
2
2
|
`;return e.forEach(n=>{s+=r.map(i=>n[i]).join(";")+`
|
|
3
3
|
`}),s},He=(e,t)=>e.padStart(e.length+Math.floor((t-e.length)/2)," ").padEnd(t," "),Ge=(e,t)=>e.reduce((r,s)=>{let n=Array.isArray(s[t])?s[t].join():s[t];return Math.max(r,String(n).length)},0),Je=e=>e?e.replace("T"," ").replace("Z","").substring(0,e.lastIndexOf(".")):"",Ye=e=>e?new Date(Date.parse(e)).toLocaleString():"",ie=(e,t,{color:r=!0}={})=>{if(!e)return"";if(typeof e=="string")return e;if(t){if(t.csv)return ne(e,t);if(t.json)return se(e,{unformatted:t.unformatted})}return re(e,{color:r})},Xe=(e,t)=>ie(e.errors||e,t);var A={};h(A,{api:()=>ht,bg:()=>_t,black:()=>at,blackBright:()=>ct,blue:()=>nt,blueBright:()=>C,bold:()=>U,cli:()=>bt,cyan:()=>pt,cyanBright:()=>$,dim:()=>dt,green:()=>rt,greenBright:()=>V,grey:()=>lt,hidden:()=>et,italic:()=>w,magenta:()=>ut,magentaBright:()=>mt,msg:()=>yt,red:()=>tt,redBright:()=>ae,reset:()=>Ze,style:()=>l,table:()=>xt,type:()=>ft,underline:()=>gt,visible:()=>Qe,white:()=>it,whiteBright:()=>ot,yellow:()=>st,yellowBright:()=>v});import o from"chalk";var Ze=o.reset,Qe=o.visible,et=o.hidden,tt=o.red,ae=o.redBright,rt=o.green,V=o.greenBright,st=o.yellow,v=o.yellowBright,nt=o.blue,C=o.blueBright,it=o.white,ot=o.whiteBright,at=o.black,ct=o.blackBright,lt=o.grey,pt=o.cyan,$=o.cyanBright,ut=o.magenta,mt=o.magentaBright,U=o.bold,dt=o.dim,gt=o.underline,w=o.italic,_t={white:o.bgWhite,whiteBright:o.bgWhiteBright,black:o.bgBlack,blackBright:o.bgBlackBright,grey:o.bgGrey,red:o.bgRed,redBright:o.bgRedBright,green:o.bgGreen,greenBright:o.bgGreenBright,yellow:o.bgYellow,yellowBright:o.bgYellowBright,blue:o.bgBlue,blueBright:o.bgBlueBright,magenta:o.bgMagenta,magentaBright:o.bgMagentaBright,cyan:o.bgCyan,cyanBright:o.bgCyanBright},l={organization:v.bold,application:v.bold,slug:v,id:U,token:C,resource:U,attribute:w,trigger:$,kind:$,live:V,test:v,execMode:e=>e==="live"?l.live:l.test,success:V,warning:v,error:ae,arg:w,flag:w,command:w,value:w,alias:$,plugin:C,title:C,path:w,datetime:$,number:v},ft={datetime:l.datetime,number:l.number,path:l.path},ht={organization:l.organization,application:l.application,slug:l.slug,id:l.id,token:l.token,resource:l.resource,attribute:l.attribute,trigger:l.trigger,kind:l.kind,live:l.live,test:l.test},yt={success:l.success,warning:l.warning,error:l.error},bt={arg:l.arg,flag:l.flag,command:l.command,value:l.value,alias:l.alias,plugin:l.plugin},xt={header:v.bold,key:C};var pe={};h(pe,{buildAssertionPayload:()=>Lt,decodeAccessToken:()=>le,generateAccessToken:()=>Kt,getAccessToken:()=>Bt,getTokenEnvironment:()=>Mt,isAccessTokenExpiring:()=>Dt,revokeAccessToken:()=>jt});import N from"jsonwebtoken";import{authenticate as F,revoke as It}from"@commercelayer/js-auth";var ce={};h(ce,{dotNotationToObject:()=>W,generateGroupUID:()=>zt,log:()=>Et,resetConsole:()=>Rt,sleep:()=>qt,specialFolder:()=>St,userAgent:()=>Ot});import{format as vt,inspect as Tt}from"util";import{sep as wt,dirname as kt}from"path";import{homedir as At}from"os";import{existsSync as $t,mkdirSync as Ct}from"fs";var qt=async e=>new Promise(t=>setTimeout(t,e)),Rt=()=>{process.stdout.write("\x1B[?25h\x1B[?7h")},Et=(e="",...t)=>{e=typeof e=="string"?e:Tt(e),process.stdout.write(vt(e,...t)+`
|
|
4
4
|
`)},St=(e,t=!1)=>{let r=["desktop","home"],s=e.toLowerCase().split(/[\\\/]/g)[0];if(r.includes(s)){let i=At();s==="desktop"&&(i+=`${wt}Desktop`),e=e.replace(s,i)}let n=kt(e);return t&&!$t(n)&&Ct(n,{recursive:!0}),e},zt=()=>{let e=Math.trunc(Math.random()*46656),t=Math.trunc(Math.random()*46656),r=("000"+e.toString(36)).slice(-3),s=("000"+t.toString(36)).slice(-3);return r+s},Ot=e=>`${e.name.replace(/@commercelayer\/cli-plugin/,"CLI")}/${e.version}`,W=(e,t)=>{let r=t||{};return Object.entries(e).forEach(([s,n])=>{let i=s.split("."),a=i[i.length-1],p=r;i.forEach(_=>{_===a?p[_]=n:p=p[_]||(p[_]={})})}),t&&Object.assign(t,r),r};var le=e=>{let t=N.decode(e);if(t===null)throw new Error("Error decoding access token");return t},Kt=(e,t,r)=>{let n={...e,exp:Math.floor(Date.now()/1e3)+r*60,rand:Math.random()},i=m.api.token_encoding_algorithm,a=N.sign(n,t,{algorithm:i,noTimestamp:!0}),p=N.verify(a,t,{algorithms:[i]});return{accessToken:a,info:p,expMinutes:r}},Bt=async e=>{let t,r=e.scope?Array.isArray(e.scope)?e.scope.map(n=>n.trim()).join(","):e.scope:"",s={clientId:e.clientId,clientSecret:e.clientSecret,slug:e.slug,domain:e.domain,scope:r};if(e.email&&e.password?(s.username=e.email,s.password=e.password,t=await F("password",s)):e.assertion?(s.assertion=e.assertion,t=await F("urn:ietf:params:oauth:grant-type:jwt-bearer",s)):t=await F("client_credentials",s),t){if(t.errors)throw new Error(`Unable to get access token: ${t.errors[0].detail}`)}else throw new Error("Unable to get access token");return t},jt=async(e,t)=>{let r=await It({...e,token:t});if(r.errors)throw new Error(r.errors[0].detail)},Dt=e=>{let r=Math.floor(Date.now()/1e3),s=Math.floor(new Date(e.expires).getTime()/1e3);return r>=s-30},Mt=e=>(typeof e=="string"?le(e):e).test?"test":"live";var Lt=(e,t,r)=>{let s="https://commercelayer.io/claims",n={[s]:{owner:{type:e,id:t}}};if(r&&Object.keys(r).length>0){let i=W(r);n[s].custom_claim=i}return n};var ue={};h(ue,{checkUpdate:()=>Ut});import z from"chalk";import Pt from"update-notifier-cjs";var Vt=1,Ut=e=>{let t=Pt({pkg:e,updateCheckInterval:36e5*Vt});t.update&&t.notify({isGlobal:!1,message:`-= ${z.bgWhite.black.bold(` ${e.description} `)} =-
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@commercelayer/cli-core",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.8.0",
|
|
4
4
|
"author": "Pierluigi Viti <pierluigi@commercelayer.io>",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Commerce Layer Javascript CLI core lib",
|
|
@@ -34,26 +34,26 @@
|
|
|
34
34
|
"node": ">=20"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@babel/preset-env": "^7.26.
|
|
37
|
+
"@babel/preset-env": "^7.26.9",
|
|
38
38
|
"@babel/preset-typescript": "^7.26.0",
|
|
39
39
|
"@commercelayer/eslint-config-ts": "^1.4.5",
|
|
40
40
|
"@semantic-release/changelog": "^6.0.3",
|
|
41
41
|
"@semantic-release/git": "^10.0.1",
|
|
42
42
|
"@types/jest": "^29.5.14",
|
|
43
43
|
"@types/jsonwebtoken": "^9.0.8",
|
|
44
|
-
"@types/node": "^22.
|
|
44
|
+
"@types/node": "^22.13.4",
|
|
45
45
|
"@typescript-eslint/eslint-plugin": "^7.18.0",
|
|
46
46
|
"dotenv": "^16.4.7",
|
|
47
47
|
"eslint": "^8.57.1",
|
|
48
48
|
"jest": "^29.7.0",
|
|
49
|
-
"oclif": "^4.17.
|
|
50
|
-
"semantic-release": "^24.2.
|
|
49
|
+
"oclif": "^4.17.30",
|
|
50
|
+
"semantic-release": "^24.2.3",
|
|
51
51
|
"tsup": "^8.3.6",
|
|
52
52
|
"tsx": "^4.19.2",
|
|
53
53
|
"typescript": "^5.7.3"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@commercelayer/js-auth": "^6.7.
|
|
56
|
+
"@commercelayer/js-auth": "^6.7.1",
|
|
57
57
|
"@oclif/core": "^3.27.0",
|
|
58
58
|
"chalk": "^4.1.2",
|
|
59
59
|
"jsonwebtoken": "^9.0.2",
|