@shoplineos/cli 1.0.2-beta.2 → 1.1.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/dist/commands/auth/logout.js +1 -1
- package/dist/services/auth/logout.js +1 -0
- package/dist/services/extension/api.js +3 -3
- package/dist/services/extension/const.js +1 -1
- package/dist/services/extension/context.js +1 -1
- package/dist/services/extension/create/index.js +1 -1
- package/dist/services/extension/functions/schemas.js +1 -1
- package/dist/services/extension/generate.js +1 -1
- package/dist/services/extension/push/checkout-ui.js +1 -1
- package/dist/services/extension/push/index.js +1 -1
- package/dist/services/extension/push/pixels.js +1 -0
- package/dist/services/extension/push/zip.js +1 -1
- package/dist/services/extension/schemas.js +1 -1
- package/dist/services/extension/serve/bundler.js +1 -1
- package/dist/services/extension/serve/extension.js +1 -1
- package/dist/services/extension/serve.js +1 -1
- package/dist/services/extension/types.js +1 -1
- package/dist/services/extension/utils.js +1 -1
- package/dist/services/identity-auth/create-server.js +1 -1
- package/dist/services/identity-auth/index.js +1 -1
- package/dist/services/identity-auth/store-enter.js +1 -1
- package/dist/services/theme/api.js +1 -1
- package/dist/utils/program.js +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"logoutCommand",{enumerable:!0,get:()=>o});const e=require("../../utils/program"),t=function(e){return e&&e.__esModule?e:{default:e}}(require("../../services/auth/logout"));async function o(){await (0,t.default)()}e.program.command("logout").action(o);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>i});const e=s(require("../../helpers/config")),t=s(require("../../utils/winston")),o=s(require("../theme")),u=require("../../utils/messages"),l=require("../theme/utils"),r=s(require("../../utils/logger"));function s(e){return e&&e.__esModule?e:{default:e}}async function i(){try{let l=e.default.developmentThemeId;t.default.log("removing login info..."),e.default.removeLoginInfo(),t.default.log(`removing development theme: ${l}...`),await o.default.deleteDevelopment(l),r.default.success((0,u.getMessage)("core.logout.logout_succeed")),t.default.log("logout succeed!")}catch(e){(0,l.handleError)(e)}}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";var e,t,r;Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(exports,{ECategory:()=>e,ERegisterType:()=>t,EExtensionState:()=>r,http:()=>
|
|
1
|
+
"use strict";var e,t,r;Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(exports,{ECategory:()=>e,ERegisterType:()=>t,EExtensionState:()=>r,http:()=>m,authHttp:()=>O,changeBaseURL:()=>y,createExtensionInstance:()=>U,pushExtension:()=>I,getAppList:()=>A,getAppExtList:()=>C,getPartnerList:()=>b,getStoreList:()=>P,getAccessToken:()=>S,getAppInfo:()=>x,getStoreInfo:()=>q,getFunctionTemplates:()=>H,registerFunction:()=>$,pushFunction:()=>j});const n=E(require("form-data")),o=E(require("axios")),a=E(require("../../helpers/config")),s=require("./const"),i=E(require("../../utils/debug")),u=require("../../utils/error"),l=require("../../utils/ui/render"),d=require("../../utils/messages"),c=require("../../utils/misc"),p=require("../../helpers/sentry"),f=require("../../utils/const"),g=E(require("../../utils/winston"));function E(e){return e&&e.__esModule?e:{default:e}}function h(e){return`${e}/api/v1/cli/app/ext`}function _(e){return`${e}/api/v3/cli/app/ext`}function v(e){return`${e}/api/v1/cli`}function T(e){return`${e}/api/v3/cli`}function L(e,t={}){let r=e=>{let{loginInfo:t,dfpToken:r,currentPartner:n}=a.default;if(t){n&&(t.a_dc_partnerid=n.id,Object.assign(e.headers,{dc_partner_f:"1"}));let o=Object.keys(t).map(e=>`${e}=${t[e]}`).join(";");Object.assign(e.headers,{cookie:o,"dfp-token":r||""})}};e.interceptors.request.use(e=>(i.default.printRequest(e),t.useThemeAuth&&r(e),e.data instanceof n.default&&Object.assign(e.headers,e.data.getHeaders()),g.default.logHttp({type:"request",method:e.method,url:e.baseURL+e.url,params:e.params}),e),e=>Promise.reject(e)),e.interceptors.response.use(e=>{var t,r,n,o,l,f,E,h;let _=(null==e?void 0:null===(t=e.data)||void 0===t?void 0:t.success)||(null==e?void 0:null===(r=e.data)||void 0===r?void 0:r.code)==="SUCCESS",v=null==e?void 0:null===(n=e.data)||void 0===n?void 0:n.code,{config:T}=e,L=(0,c.getUrlOrigin)(T.baseURL);i.default.printResponse(T,e),(0,p.reportHttpRes)(e);let m=(null==e?void 0:null===(o=e.headers)||void 0===o?void 0:o.traceid)||(null==e?void 0:null===(l=e.data)||void 0===l?void 0:l.trace_id)||(null==e?void 0:null===(f=e.data)||void 0===f?void 0:f.traceId)||"";if(g.default.logHttp({type:"response",method:e.config.method,url:e.config.baseURL+e.config.url,params:e.config.params,body:e.data,status:e.status,traceId:m}),v===s.ERRORS.PARTNER_INFO_NOT_COMPLETE)throw a.default.deleteCurrentPartner(),new u.ApiError({code:v,message:e.data.message,tryMessage:L?(0,d.getMessage)("extension.create.connect.try_partner_info_not_complete_message",{link:`${L}/info/fill`}):void 0});if(v===s.ERRORS.USER_NOT_LOGIN)throw new u.ApiError({code:v,message:e.data.message,tryMessage:(0,d.getMessage)("core.whoami.not_logged_in")});if("boolean"==typeof _&&!1===_){let t="";try{t=JSON.stringify(e.data,null,2)}catch(r){t=`error code: ${v}
|
|
2
2
|
error message: ${null==e?void 0:null===(h=e.data)||void 0===h?void 0:h.message}
|
|
3
|
-
trace id: ${
|
|
3
|
+
trace id: ${m}`}throw new u.AbortError(`url: ${e.config.baseURL+e.config.url}`,t)}return null===(E=e.data)||void 0===E?void 0:E.data},e=>{if((0,p.reportBug)(e),e.response){var t,r,n,o;(0,p.reportHttpRes)(e.response);let{response:a}=e,s=a.config.url,i=(null==a?void 0:null===(t=a.data)||void 0===t?void 0:t.trace_id)||(null==a?void 0:null===(r=a.data)||void 0===r?void 0:r.traceid)||(null==a?void 0:null===(n=a.data)||void 0===n?void 0:n.traceId)||(null==a?void 0:null===(o=a.headers)||void 0===o?void 0:o["x-request-id"])||"";(0,l.renderFatalError)(Error(`url: ${s}
|
|
4
4
|
status: ${a.status}
|
|
5
5
|
traceId: ${i}
|
|
6
|
-
${e}`))}return Promise.reject(e)})}const
|
|
6
|
+
${e}`))}return Promise.reject(e)})}const m=o.default.create({baseURL:h(s.DEFAULT_EXTENSION_ENDPOINT),maxBodyLength:1/0,maxContentLength:1/0,headers:{"Content-Type":"application/json","User-Agent":f.CLI_USER_AGENT}}),R=o.default.create({baseURL:_(s.DEFAULT_EXTENSION_ENDPOINT),maxBodyLength:1/0,maxContentLength:1/0,headers:{"Content-Type":"application/json","User-Agent":f.CLI_USER_AGENT}});L(m),L(R);const O=o.default.create({baseURL:v(s.DEFAULT_EXTENSION_ENDPOINT),maxBodyLength:1/0,maxContentLength:1/0,headers:{"Content-Type":"application/json"}}),N=o.default.create({baseURL:T(s.DEFAULT_EXTENSION_ENDPOINT),maxBodyLength:1/0,maxContentLength:1/0,headers:{"Content-Type":"application/json"}});function y(e){let t=s.EXTENSION_ENDPOINTS[e];m.defaults.baseURL=h(t),O.defaults.baseURL=v(t),R.defaults.baseURL=_(t),N.defaults.baseURL=T(t)}L(O,{useThemeAuth:!0}),L(N,{useThemeAuth:!0}),function(e){e.CHECKOUT="CHECKOUT",e.THEME="THEME",e.PIXELS="WEB_PIXEL"}(e||(e={})),function(e){e.THEME_APP_BLOCK="THEME_APP_BLOCK",e.CHECKOUT_UI="CHECKOUT_UI",e.PIXELS="WEB_PIXEL_EXT"}(t||(t={})),function(e){e.DRAFT="DRAFT",e.WORKING_DRAFT="WORKING_DRAFT"}(r||(r={}));const U=e=>R.post("/register",JSON.stringify({...e})),I=e=>R.post("/push",e),A=e=>O.post("/auth/app/list",e),C=e=>N.post("/auth/app/ext/list",e),b=()=>O.get("/auth/partner/list");function P(e){return O.post("/auth/store/list",{partnerId:e})}function S(e){return O.post("/auth/generate/accessToken",e)}function x(e,t){return O.post("/auth/app/queryByAppKey",{partnerId:e,appKey:t})}function q(e,t){return O.post("/auth/store/queryByHandle",{partnerId:e,handle:t})}function H(){return N.post("/function/template/list")}function $(e){return N.post("/function/register",e)}function j(e){return N.post("/function/deploy",e)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,s){for(var o in s)Object.defineProperty(e,o,{enumerable:!0,get:s[o]})}(exports,{EXTENSION_ENDPOINTS:()=>o,DEFAULT_EXTENSION_ENDPOINT:()=>t,DEFAULT_EXTENSION_NAME:()=>
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,s){for(var o in s)Object.defineProperty(e,o,{enumerable:!0,get:s[o]})}(exports,{EXTENSION_ENDPOINTS:()=>o,DEFAULT_EXTENSION_ENDPOINT:()=>t,DEFAULT_EXTENSION_NAME:()=>_,ENVS:()=>E,TARGETS:()=>i,EXTENSION_LINK_PATH:()=>n,APP_VERSION_MANAGE_LINK_PATH:()=>r,TAGS:()=>c,OPTION_TYPES:()=>T,EXTENSION_NAME_LENGTH_LIMIT:()=>N,MAX_ALL_FILE_SIZE:()=>a,MAX_BLOCKS_FILE_COUNT:()=>l,MAX_BLOCKS_FILE_SIZE:()=>p,MAX_BLOCKS_FILE_SIZE_3:()=>I,SUPPORTED_ASSET_EXTS:()=>O,SUPPORTED_ASSET_EXTS_3:()=>m,SUPPORTED_BUCKETS:()=>d,SUPPORTED_BUCKETS_3:()=>S,SUPPORTED_LOCALE_EXTS:()=>u,EXTENSION_CONFIG_FILE:()=>L,CHECKOUT_UI_CONFIG_FILE:()=>A,PIXELS_CONFIG_FILE:()=>P,FUNCTION_CONFIG_FILE:()=>g,ERRORS:()=>h,ALL_TEMPLATES:()=>U,ALL_TEMPLATES_3:()=>R,EXTENSION_TYPES:()=>x,DEFAULT_EXTENSION_TYPE:()=>C,DEFAULT_CHECKOUT_UI_CUSTOMIZER_NAME:()=>F,DEFAULT_PIXELS_EXTENSION_NAME:()=>M});const e=require("../../utils/messages"),s=require("./types"),o={dev:"https://devcenter.myshoplinedev.com",test:"https://opendoc.myshoplinestg.com",pre:"https://devcenter-pre.myshopline.com",prod:"https://developer.myshopline.com"},t=o.prod,_="shopline-app-extension",E=["dev","test","pre","prod"],i=["section","head","body"],n="app/edit-extension",r="app/version-manage/add",c=["article","aside","div","footer","header","section"],T=["checkbox","radio","select"],N=50,a=10485760,l=25,p=102400,I=102400,O=[".jpg",".js",".css",".png",".svg",".hbs"],m=[".jpg",".js",".css",".png",".svg"],d=["assets","blocks","snippets","locales"],S=["blocks","components","i18n","public","compatibility"],u=[".json"],L=".shopline-cli.yml",A="shopline.ui.customizer.toml",P="shopline.pixels.extension.toml",g="shopline.function.extension.toml",h={EXTENSION_NAME_LENGTH_LIMIT:(0,e.getMessage)("extension.create.invalid_name",{limit:N}),ENV_INVALID:(0,e.getMessage)("extension.invalid_env",{envs:E.join(", ")}),ENV_FILE_NOT_FOUND:(0,e.getMessage)("extension.no_env_file"),SHOPLINE_CONFIG_NOT_FOUND:(0,e.getMessage)("extension.no_config_file",{config_name:L}),UNSUPPORTED_PROJECT_TYPE:(0,e.getMessage)("extension.invalid_type"),REPEAT_DIR_NAME:"The theme app extension directory already exists. Please rename or use another name.",INVALID_INTERPOLATION:"must be of the form {{ apps.metafields.<namespace>.<key>.value }}",PARTNER_INFO_NOT_COMPLETE:"PARTNER_INFO_NOT_COMPLETE",USER_NOT_LOGIN:"USER_NOT_LOGIN",NOT_IN_PARTNER:"NOT_IN_PARTNER"},U=["index","collections_all","collection","products/detail","cart","blogs/list","blogs/detail","404","products/search","page","customers/login","customers/register","customers/account","customers/reset_password","customers/addresses","customers/order/list","customers/order/detail","password"],R=["index","collections_all","collection","product","cart","blog","article","404","search","page","policy","password","gift_card","customers/login","customers/register","customers/account","customers/addresses","customers/orders","customers/order","customers/activate_account","customers/forgot_password","customers/company"],x=[{label:"Theme App Extension",value:s.EExtensionTypes.themeAppExtension},{label:"Checkout UI Customizer",value:s.EExtensionTypes.checkoutUiCustomizer},!1].filter(Boolean),C="themeAppExtension",F="checkout-ui-customizer",M="pixels-extension";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(exports,{ensureCurrentEnvs:()=>
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(exports,{ensureCurrentEnvs:()=>I,showEnvInfos:()=>l,showPushEnvInfos:()=>P,getCartPathFromExtension:()=>N,getCheckoutPageUrlFromExtension:()=>p,getPartnerInfoIfNeed:()=>d,ExtensionContext:()=>_});const e=require("../../utils/node-package-manager"),t=require("./const"),n=require("./env"),i=require("./extension"),r=require("./types"),o=require("./utils"),a=require("../../utils/ui/render"),E=require("../../utils/output"),s=require("../../utils/error"),c=require("./connect/context");function u(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}async function I(e,a,c){let u=await (0,n.resolveEnvContents)(e,a),I={},l="",P="",p="";if(u.PARTNER_ID)I.PARTNER_ID=u.PARTNER_ID,P=await (0,i.getPartnerName)(u.PARTNER_ID);else{let{id:e,partnerName:t}=await (0,i.getSelectedPartner)();I.PARTNER_ID=e,P=t}if(u.SHOPLINE_APP_KEY&&u.SHOPLINE_APP_SECRET&&u.EXTENSION_TITLE&&u.EXTENSION_UUID){I.SHOPLINE_APP_KEY=u.SHOPLINE_APP_KEY,I.SHOPLINE_APP_SECRET=u.SHOPLINE_APP_SECRET,I.EXTENSION_TITLE=u.EXTENSION_TITLE,I.EXTENSION_UUID=u.EXTENSION_UUID;let e=await (0,i.getAppName)(I.PARTNER_ID,u.SHOPLINE_APP_KEY);if(e)p=e;else throw new s.AbortError("The application name corresponding to the app key cannot be found.")}else{let e={id:I.PARTNER_ID,partnerName:P},{appKey:n,appName:r,appSecret:a}=await (0,i.getSelectedApp)(e);p=r,I.SHOPLINE_APP_KEY=n,I.SHOPLINE_APP_SECRET=a,I.EXTENSION_TITLE=t.DEFAULT_CHECKOUT_UI_CUSTOMIZER_NAME,I.EXTENSION_UUID=(0,o.generateDevUUID)()}if(u.SHOP){I.SHOP=u.SHOP;let t=(0,o.getShopHandle)(u.SHOP,e);if(t)l=await (0,i.getStoreId)(u.PARTNER_ID,t);else throw new s.AbortError(`The developer store domain \`${E.outputToken.cyan(u.SHOP)}\` you have currently configured is incorrect.`)}else{let t=await (0,i.getSelectedShop)(I.PARTNER_ID,e);I.SHOP=(0,o.getStoreUrl)(null==t?void 0:t.handle,e),l=t.storeId}if(c===r.EExtensionTypes.checkoutUiCustomizer){let{SHOPLINE_APP_KEY:e,SHOP:t}=I,n=await N(l,e,t);I.EXTENSION_RESOURCE_URL=n}return{envObject:I,partnerName:P,appName:p,storeId:l}}function l(e,t,n,i){let r=[`Org: ${e}`,`App: ${t}`,`Dev store: ${i}`,`Extension name: ${n}`];(0,a.renderInfo)({headline:["Using your previous dev settings",{char:":"}],body:[{list:{items:r}},"\nTo reset your default dev config, run",{command:"sl extension serve --reset"}]})}function P(e,t,n){let i=[`Org: ${e}`,`App: ${t}`,`Extension name: ${n}`];(0,a.renderInfo)({headline:["Your configs for dev were",{char:":"}],body:[{list:{items:i}},"\nTo reset your default dev config, run",{command:"sl extension push --reset"}]})}async function N(e,t,n){let r=await (0,i.getAvailableProductSkuId)(e,t,n);return`/cart/${r}:1`}function p(e){let{url:t,checkoutCartUrl:n,shop:i}=e,r=encodeURIComponent(`${t}/extensions`);return`https://${i}${n}?dev=${r}`}async function d(e,t){try{let r=await (0,n.resolveEnvContents)(e,t);if(r.PARTNER_ID){let e=await (0,i.getPartnerName)(r.PARTNER_ID);return{id:r.PARTNER_ID,partnerName:e}}}catch(e){}return(0,i.getSelectedPartner)()}class _{async getPackageManager(){return(0,e.getPackageManager)(this.cwd)}readEnvContent(){let e=(0,n.resolveEnvContents)(this.env,this.cwd);return e}async getInitializeLocaleEnvInNeed(){let e=await this.getPartnerInfoIfNeed(),t=await this.getAppInfo(e);return{partnerInfo:e,appInfo:t}}async getPartnerInfoIfNeed(){if(this.envObject.PARTNER_ID){let e=this.envObject.PARTNER_ID,t=await (0,i.getPartnerName)(e);return{id:e,partnerName:t}}return(0,i.getSelectedPartner)()}async getExtInfo(e){try{let t=(0,o.getExtType)(this.type),n=await (0,c.getAppExts)(e,t);return null==n?void 0:n[0]}catch(e){return null}}async getExt(e){var t,n,i;let r=await this.getExtInfo(e),a=null===(t=await (0,o.getExtensionConfig)(this.type,this.cwd))||void 0===t?void 0:t.name;return{extensionId:(null==r?void 0:r.id)?String(r.id):"",extensionUuid:null!==(n=null==r?void 0:r.uuid)&&void 0!==n?n:"",extensionName:null!==(i=null==r?void 0:r.name)&&void 0!==i?i:a}}async getFuncAppInfo(e){if(this.envObject.SHOPLINE_APP_KEY&&this.envObject.SHOPLINE_APP_SECRET&&this.envObject.EXTENSION_TITLE&&this.envObject.EXTENSION_UUID){let{SHOPLINE_APP_KEY:t,SHOPLINE_APP_SECRET:n,EXTENSION_TITLE:r,EXTENSION_UUID:o}=this.envObject,a=await (0,i.getAppName)(e.id,this.envObject.SHOPLINE_APP_KEY);if(a)return{EXTENSION_TITLE:r,appName:a,EXTENSION_UUID:o,SHOPLINE_APP_KEY:t,SHOPLINE_APP_SECRET:n};throw new s.AbortError("The application name corresponding to the app key cannot be found.")}{let{appKey:t,appName:n,appSecret:r}=await (0,i.getSelectedApp)(e),o=await this.getExt(t);return{EXTENSION_TITLE:o.extensionName,EXTENSION_UUID:o.extensionUuid,appName:n,SHOPLINE_APP_KEY:t,SHOPLINE_APP_SECRET:r}}}async getOtherAppInfo(e){if(this.envObject.SHOPLINE_APP_KEY&&this.envObject.SHOPLINE_APP_SECRET&&this.envObject.EXTENSION_TITLE&&this.envObject.EXTENSION_UUID&&this.envObject.EXTENSION_ID){let{SHOPLINE_APP_KEY:t,SHOPLINE_APP_SECRET:n,EXTENSION_TITLE:r,EXTENSION_UUID:o,EXTENSION_ID:a}=this.envObject,E=await (0,i.getAppName)(e.id,this.envObject.SHOPLINE_APP_KEY);if(E)return{EXTENSION_ID:a,EXTENSION_TITLE:r,appName:E,EXTENSION_UUID:o,SHOPLINE_APP_KEY:t,SHOPLINE_APP_SECRET:n};throw new s.AbortError("The application name corresponding to the app key cannot be found.")}{let{appKey:t,appName:n,appSecret:r}=await (0,i.getSelectedApp)(e),o=await this.getExt(t);return{EXTENSION_TITLE:o.extensionName,EXTENSION_UUID:o.extensionUuid,EXTENSION_ID:o.extensionId,appName:n,SHOPLINE_APP_KEY:t,SHOPLINE_APP_SECRET:r}}}async getAppInfo(e){return[r.EExtensionTypes.checkoutUiCustomizer,r.EExtensionTypes.themeAppExtension,r.EExtensionTypes.pixelsExtension].includes(this.type)?this.getOtherAppInfo(e):this.getFuncAppInfo(e)}constructor(e,t,n){u(this,"type",void 0),u(this,"cwd",void 0),u(this,"env",void 0),u(this,"envObject",void 0),this.type=null!=e?e:r.EExtensionTypes.themeAppExtension,this.env=t,this.cwd=null!=n?n:process.cwd(),this.envObject=this.readEnvContent()}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(exports,{createEntry:()=>
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(exports,{createEntry:()=>x,beforeCreate:()=>y,getSelectedExtType:()=>g,buildGenerateOptions:()=>E,renderSuccessMessage:()=>m});const e=require("fs-extra"),t=require("../../../utils/ui/ui"),n=require("../env"),r=require("../extension"),i=require("../types"),o=require("../utils"),s=require("../api"),u=require("../generate"),a=require("../../../utils/error"),c=require("../const"),l=require("../../../utils/path"),p=require("../../../utils/output"),d=require("../../../utils/ui/render"),f=require("../functions/info"),h=function(e){return e&&e.__esModule?e:{default:e}}(require("../../../utils/winston"));async function x(e){let t=await y(e),n=await E(t),r=await (0,u.generateExtension)(n);await m(r),h.default.log(`Extension created: ${r.directory}`)}async function y(t){var i;let s=null==t?void 0:t.name,u=null!==(i=null==t?void 0:t.cwd)&&void 0!==i?i:process.cwd(),d=await (0,n.getEnv)();h.default.log(`Current store environment: ${d}`);let f=await g(),x=(0,o.getExtensionName)(s,f);h.default.log(`Current extension name: ${x}`),function(t,n){if(!t)throw new a.AbortError("Please specify an extension name");if(t.length>c.EXTENSION_NAME_LENGTH_LIMIT)throw new a.AbortError(c.ERRORS.EXTENSION_NAME_LENGTH_LIMIT);if((0,e.existsSync)((0,l.joinPath)(n,t)))throw new a.AbortError((0,p.outputContent)`${p.outputToken.cyan(t)} directory already exists.`.value)}(x,u);let y=await (0,r.getSelectedPartner)(),E=await (0,r.getSelectedApp)(y);return{extensionName:x,cwd:u,env:d,partnerInfo:y,appInfo:E,type:f}}async function g(){let e=[];h.default.log("Loading function extension templates..."),e=await (0,s.getFunctionTemplates)(),h.default.log("Choosing extension type to create...");let n=await (0,t.renderSelectPrompt)({message:"What type of extension are you creating?",choices:(0,o.buildExtensionTypeChoice)(e)});return h.default.log(`Current selected extension type: ${n}`),n}async function E(e){let{extensionName:t,appInfo:n,type:r,env:o,cwd:s,partnerInfo:u}=e,a=async()=>{if(r===i.EExtensionTypes.themeAppExtension)return"https://github.com/shoplineos/theme-app-extension-template.git";if(r===i.EExtensionTypes.checkoutUiCustomizer)return"https://github.com/shoplineos/checkout-ui-customizer-template.git";if(r===i.EExtensionTypes.pixelsExtension)return"https://github.com/shoplinedev/checkout-ui-extensions-template.git";let e=await (0,f.getFunctionInfo)(r);if(e)return e.templateGit},c=await a();return h.default.log(`Current clone url: ${c}`),{name:t,app:{appKey:n.appKey,appSecret:n.appSecret},partnerId:u.id,type:r,cloneUrl:c,env:o,cwd:s}}async function m(e){let{specification:t}=e,n={headline:["Your extension was created in",{filePath:e.directory},{char:"."}],nextSteps:[],reference:[]};t.type===i.EExtensionTypes.checkoutUiCustomizer&&n.nextSteps.push(["To preview this extension along with the rest of the project, run",{command:"sl extension serve"}]),(0,d.renderSuccess)(n)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var o in t)Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}(exports,{FunctionTypeSchema:()=>a,FunctionConfigSchema:()=>s,getExtensionConfig:()=>d});const e=require("../../../utils/path"),t=require("../../../utils/schema"),o=require("../const"),i=require("../../../utils/fs"),r=require("../../../utils/toml"),n=require("../../../utils/error"),a=t.zod.object({type:t.zod.string()}),s=t.zod.object({version:t.zod.string().default(""),build:t.zod.object({command:t.zod.string().transform(e=>""===e.trim()?void 0:e).optional(),path:t.zod.string().default("dist/function.wasm")}).optional(),ui:t.zod.object({paths:t.zod.object({create:t.zod.string(),details:t.zod.string()}).optional()}).optional()});async function d(t){let a=(0,e.joinPath)(t,o.FUNCTION_CONFIG_FILE);if(await (0,i.fileExists)(a)){let e=await (0,i.readFile)(a),t=(0,r.decodeToml)(e),o=await s.parse(t);return o}throw new n.AbortError("The directory you are in is not a valid extension project.")}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var o in t)Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}(exports,{FunctionTypeSchema:()=>a,FunctionConfigSchema:()=>s,getExtensionConfig:()=>d});const e=require("../../../utils/path"),t=require("../../../utils/schema"),o=require("../const"),i=require("../../../utils/fs"),r=require("../../../utils/toml"),n=require("../../../utils/error"),a=t.zod.object({type:t.zod.string(),name:t.zod.string()}),s=t.zod.object({version:t.zod.string().default(""),build:t.zod.object({command:t.zod.string().transform(e=>""===e.trim()?void 0:e).optional(),path:t.zod.string().default("dist/function.wasm")}).optional(),ui:t.zod.object({paths:t.zod.object({create:t.zod.string(),details:t.zod.string()}).optional()}).optional()});async function d(t){let a=(0,e.joinPath)(t,o.FUNCTION_CONFIG_FILE);if(await (0,i.fileExists)(a)){let e=await (0,i.readFile)(a),t=(0,r.decodeToml)(e),o=await s.parse(t);return o}throw new n.AbortError("The directory you are in is not a valid extension project.")}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"generateExtension",{enumerable:!0,get:()=>g});const e=f(require("pathe")),t=require("./types"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"generateExtension",{enumerable:!0,get:()=>g});const e=f(require("pathe")),t=require("./types"),a=require("./clone-repo"),i=require("../../utils/path"),n=require("../../utils/hbs"),o=require("../../utils/fs"),l=require("../../utils/node-package-manager"),r=require("../../utils/ui/ui"),s=require("../../utils/output"),u=require("./env"),p=require("./utils"),d=require("./functions/generate"),c=f(require("../../utils/winston"));function f(e){return e&&e.__esModule?e:{default:e}}async function g(a){switch(a.type){case t.EExtensionTypes.themeAppExtension:await E(a);break;case t.EExtensionTypes.checkoutUiCustomizer:await w(a);break;case t.EExtensionTypes.pixelsExtension:await y(a);break;default:await (0,d.initFunctionExtension)(a)}return{directory:(0,i.relativizePath)(e.default.join(a.cwd,a.name),a.cwd),specification:a}}async function y(e){let{app:{appKey:t,appSecret:l},name:r,env:s,cwd:u,cloneUrl:p,partnerId:d}=e,f=(0,i.joinPath)(u,`.${r}`);c.default.log(`Downloading repository: ${p}`),await (0,a.downloadRepository)(p,f,u);let g=(0,i.joinPath)(f,"templates"),y=(0,i.joinPath)(u,r);(0,o.pathExists)(g)&&(c.default.log(`Copying template files from ${g} to ${y}`),await (0,n.recursiveHbsTemplateCopy)(g,y,{name:r},f),await h(y),c.default.log(`Write .env.${s} file`),m({partnerId:d,appKey:t,appSecret:l,name:r},s,u))}async function w(e){let{app:{appKey:t,appSecret:l},name:r,env:s,cwd:u,cloneUrl:p,partnerId:d}=e,f=(0,i.joinPath)(u,`.${r}`);c.default.log(`Downloading repository: ${p}`),await (0,a.downloadRepository)(p,f,u);let g=(0,i.joinPath)(u,r);(0,o.pathExists)(f)&&(c.default.log(`Copying template files from ${f} to ${g}`),await (0,n.recursiveHbsTemplateCopy)(f,g,{name:r},f),await h(g),c.default.log(`Write .env.${s} file`),m({partnerId:d,appKey:t,appSecret:l,name:r},s,u))}async function E(e){let{app:{appKey:t,appSecret:o},name:l,env:r,cwd:s,cloneUrl:u,partnerId:p}=e,d=(0,i.joinPath)(s,`.${l}`),f=(0,i.joinPath)(s,l);c.default.log(`Downloading repository: ${u}`),await (0,a.downloadRepository)(u,d,s,{"--branch":"main"}),c.default.log(`Copying template files from .${l} to ${l}`),await (0,n.recursiveThemeTemplateCopy)(d,f),c.default.log(`Write .env.${r} file`),m({partnerId:p,appKey:t,appSecret:o,name:l},r,s)}function m(e,t,a){let i={PARTNER_ID:e.partnerId,SHOPLINE_APP_KEY:e.appKey,SHOPLINE_APP_SECRET:e.appSecret,EXTENSION_TITLE:e.name,EXTENSION_UUID:(0,p.generateDevUUID)()};(0,u.writeEnvFile)(t,i,`${a}/${e.name}`),(0,s.outputCompleted)((0,s.outputContent)`.env saved to project root`)}async function h(e){c.default.log("Get package manager...");let t=await (0,l.getPackageManager)(e);c.default.log(`Using ${t}`),c.default.log("Installing dependencies..."),await (0,r.renderTasks)([{title:`Installing dependencies with ${t}`,task:async()=>{await (0,l.addNPMDependencies)([],{type:"prod",directory:e,packageManager:t})}}]),c.default.log("Dependencies installed successfully"),(0,s.outputCompleted)((0,s.outputContent)`Dependencies installed`)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var i in t)Object.defineProperty(e,i,{enumerable:!0,get:t[i]})}(exports,{pushCheckoutUiCustomizer:()=>y,buildCheckoutUiCustomizer:()=>
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var i in t)Object.defineProperty(e,i,{enumerable:!0,get:t[i]})}(exports,{pushCheckoutUiCustomizer:()=>y,buildCheckoutUiCustomizer:()=>C});const e=h(require("fs")),t=h(require("archiver")),i=h(require("form-data")),o=h(require("path")),n=require("../../../utils/error"),u=require("../api"),a=require("../../../utils/ui/ui"),r=require("../env"),l=require("../const"),s=require("../../../utils/path"),c=require("../../../utils/node-package-manager"),p=require("../../../utils/system"),d=require("../zip"),f=require("../../../utils/ui/render"),E=require("../utils"),g=require("../serve/localization"),w=require("../../../utils/output"),T=h(require("../../../utils/winston"));function h(e){return e&&e.__esModule?e:{default:e}}async function y(e){let t=e.readEnvContent();T.default.log("Create checkout ui customizer instance...");let i=await m(t);(0,w.outputDebug)((0,w.outputContent)`Write ${w.outputToken.json(i)} content to ${w.outputToken.cyan(`.env.${e.env}`)} file to ${e.cwd}`),T.default.log(`Write .env.${e.env} file...`),(0,r.writeEnvFile)(e.env,i,e.cwd),T.default.log("Validate localization files..."),await I(e.cwd),T.default.log("Build checkout ui customizer..."),await P(e.cwd);let o=(0,s.joinPath)(e.cwd,`${t.EXTENSION_TITLE}.zip`);T.default.log("Compress checkout ui customizer..."),await _(o,e.cwd),T.default.log("Push checkout ui customizer..."),await v(i,o,e),T.default.log("Push checkout ui customizer success!"),(0,w.outputDebug)("Remove .zip file"),T.default.log("Remove .zip file..."),(0,d.removeZip)(o)}async function C(t){let i=t.readEnvContent();T.default.log("Create checkout ui customizer instance...");let n=await m(i);(0,w.outputDebug)((0,w.outputContent)`Write ${w.outputToken.json(n)} content to ${w.outputToken.cyan(`.env.${t.env}`)} file`),T.default.log(`Write .env.${t.env} file...`),(0,r.writeEnvFile)(t.env,n,t.cwd),T.default.log("Validate localization files..."),await I(t.cwd),T.default.log("Build checkout ui customizer..."),await P(t.cwd);let a=o.default.join(t.cwd,".plugin.zip");T.default.log("Compress checkout ui customizer..."),await _(a,t.cwd);let l=o.default.join(t.cwd,".plugin.json"),{SHOPLINE_APP_KEY:s,SHOPLINE_APP_SECRET:c,EXTENSION_ID:p,EXTENSION_UUID:d}=n;T.default.log("Write configuration to .plugin.json file..."),e.default.writeFileSync(l,JSON.stringify({appKey:s,appSecret:c,extensionId:p,extensionUuid:d,type:u.ERegisterType.CHECKOUT_UI,category:u.ECategory.CHECKOUT},null,2))}async function m(e){let t=e;return t.EXTENSION_ID&&t.EXTENSION_UUID?e:(await (0,a.renderTasks)([{title:"Registering with SHOPLINE",task:async()=>{let i=await (0,u.createExtensionInstance)({appKey:e.SHOPLINE_APP_KEY,appSecret:e.SHOPLINE_APP_SECRET,name:e.EXTENSION_TITLE,type:u.ERegisterType.CHECKOUT_UI,category:u.ECategory.CHECKOUT}),{id:o,uuid:a}=i||{};if(!o||!a)throw new n.AbortError("Failed to register. Please retry again!");t.EXTENSION_ID=o,t.EXTENSION_UUID=a}}]),t)}async function I(e){(0,w.outputDebug)("Validating locales/*.json default localization file");let t=await (0,g.getLocalizationFilePaths)({directory:e}),i=(0,g.findDefaultLocale)(t);(0,g.validateDefaultLanguage)(i,t)}async function P(e){(0,w.outputDebug)("Start build checkout ui customizer");let t=await (0,c.getPackageManager)(e);await (0,a.renderConcurrent)({processes:[{prefix:`Building extension with ${t}`,action:async(e,i)=>{let o=[];"npm"===t&&o.push("run"),o.push("build"),await (0,p.exec)(t,o,{stdout:e,stderr:i})}}],showTimestamps:!1})}function _(i,o){return new Promise((u,a)=>{(0,w.outputDebug)((0,w.outputContent)`Compressing to ${w.outputToken.path(i)}`);let r=(0,t.default)("zip",{zlib:{level:9}}),s=e.default.createWriteStream(i);s.on("close",()=>{}),s.on("finish",()=>{u({size:r.pointer()})}),r.on("error",()=>{a(new n.AbortError("Failed to compress!"))}),r.pipe(s),r.glob("locales/**/*.json",{cwd:o}).glob("build/**/*.js",{cwd:o}).glob(l.CHECKOUT_UI_CONFIG_FILE,{cwd:o}).finalize()})}async function v(e,t,i){(0,w.outputDebug)((0,w.outputContent)`Pushing ${w.outputToken.path(t)} file to remote`),await (0,a.renderTasks)([{title:"Pushing your extension to Shopline",task:async()=>{await S(e,t,i)}}])}async function S(t,o,a){let r=e.default.createReadStream(o),l=new i.default;l.append("extensionFile",r),l.append("appKey",t.SHOPLINE_APP_KEY),l.append("appSecret",t.SHOPLINE_APP_SECRET),l.append("extensionId",t.EXTENSION_ID),l.append("extensionUuid",t.EXTENSION_UUID),l.append("type",u.ERegisterType.CHECKOUT_UI),l.append("category",u.ECategory.CHECKOUT);let s=await (0,u.pushExtension)(l);if(null==s?void 0:s.id){let e=(0,E.getAppVersionManageLink)({appKey:t.SHOPLINE_APP_KEY,env:a.env});(0,f.renderSuccess)({headline:["Pushed",{userInput:t.EXTENSION_TITLE},"to a draft on",(0,E.formatTime)(s.updateTime)],body:["Visit",{link:{label:e,url:e}},"to version and publish your extension",{char:"."}]})}else(0,f.renderFatalError)(new n.AbortError(`Pushed to SHOPLINE with errors on ${(0,E.formatTime)()}`))}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"pushExtension",{enumerable:!0,get:()=>c});const e=require("../../../utils/error"),t=require("../context"),n=require("../env"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"pushExtension",{enumerable:!0,get:()=>c});const e=require("../../../utils/error"),t=require("../context"),n=require("../env"),i=require("../types"),r=require("../utils"),o=require("./checkout-ui"),s=require("./pixels"),u=require("./theme"),l=require("./show"),a=require("../functions/push"),p=function(e){return e&&e.__esModule?e:{default:e}}(require("../../../utils/winston"));async function c(c,x){var w;let{env:E}=c,h=null!==(w=null==c?void 0:c.cwd)&&void 0!==w?w:process.cwd(),d=await (0,n.getEnv)(E);p.default.log(`Current store environment: ${d}`);let f=await (0,r.getExtensionType)(h);if(p.default.log(`Current selected extension type: ${f}`),!f)throw new e.AbortError("Unknown extension type");c.reset&&(p.default.log("Clearing environment variables..."),(0,n.clearEnvFile)(d,h));let v=new t.ExtensionContext(f,d,h);x||(p.default.log("Show environment information..."),await (0,l.showReuseInfo)(v)),f===i.EExtensionTypes.themeAppExtension?await (0,u.pushThemeExt)(v):f===i.EExtensionTypes.checkoutUiCustomizer?await (0,o.pushCheckoutUiCustomizer)(v):f===i.EExtensionTypes.pixelsExtension?await (0,s.pushPixelsExtension)(v):await (0,a.pushFunctionExt)(v)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var i in t)Object.defineProperty(e,i,{enumerable:!0,get:t[i]})}(exports,{pushPixelsExtension:()=>I,buildWebPixelExt:()=>x});const e=y(require("fs")),t=y(require("archiver")),i=y(require("form-data")),n=y(require("path")),a=require("../../../utils/error"),o=require("../api"),r=require("../../../utils/ui/ui"),u=require("../env"),l=require("../const"),s=require("../../../utils/path"),p=require("../../../utils/node-package-manager"),d=require("../../../utils/system"),c=require("../zip"),E=require("../../../utils/ui/render"),f=require("../utils"),g=require("../serve/localization"),w=require("../../../utils/output"),P=y(require("../../../utils/winston"));function y(e){return e&&e.__esModule?e:{default:e}}async function I(e){let t=e.readEnvContent();P.default.log("Create web pixel extension instance...");let i=await S(t);(0,w.outputDebug)((0,w.outputContent)`Write ${w.outputToken.json(i)} content to ${w.outputToken.cyan(`.env.${e.env}`)} file to ${e.cwd}`),P.default.log(`Write .env.${e.env} file...`),(0,u.writeEnvFile)(e.env,i,e.cwd),P.default.log("Build web pixel extension..."),await T(e.cwd);let n=(0,s.joinPath)(e.cwd,`${t.EXTENSION_TITLE}.zip`);P.default.log("Compress web pixel extension..."),await h(n,e.cwd),P.default.log("Push web pixel extension..."),await v(i,n,e),P.default.log("Push web pixel extension success!"),(0,w.outputDebug)("Remove .zip file"),P.default.log("Remove .zip file..."),(0,c.removeZip)(n)}async function x(t){let i=t.readEnvContent();P.default.log("Create web pixel extension instance...");let a=await S(i);(0,w.outputDebug)((0,w.outputContent)`Write ${w.outputToken.json(a)} content to ${w.outputToken.cyan(`.env.${t.env}`)} file`),P.default.log(`Write .env.${t.env} file...`),(0,u.writeEnvFile)(t.env,a,t.cwd),P.default.log("Validate localization files..."),await b(t.cwd),P.default.log("Build web pixel extension..."),await T(t.cwd);let r=n.default.join(t.cwd,".plugin.zip");P.default.log("Compress web extension..."),await h(r,t.cwd);let l=n.default.join(t.cwd,".plugin.json"),{SHOPLINE_APP_KEY:s,SHOPLINE_APP_SECRET:p,EXTENSION_ID:d,EXTENSION_UUID:c}=a;P.default.log("Write configuration to .plugin.json file..."),e.default.writeFileSync(l,JSON.stringify({appKey:s,appSecret:p,extensionId:d,extensionUuid:c,type:o.ERegisterType.PIXELS,category:o.ECategory.PIXELS},null,2))}async function S(e){let t=e;return t.EXTENSION_ID&&t.EXTENSION_UUID?e:(await (0,r.renderTasks)([{title:"Registering with SHOPLINE",task:async()=>{let i=await (0,o.createExtensionInstance)({appKey:e.SHOPLINE_APP_KEY,appSecret:e.SHOPLINE_APP_SECRET,name:e.EXTENSION_TITLE,type:o.ERegisterType.PIXELS,category:o.ECategory.PIXELS}),{id:n,uuid:r}=i||{};if(!n||!r)throw new a.AbortError("Failed to register. Please retry again!");t.EXTENSION_ID=n,t.EXTENSION_UUID=r}}]),t)}async function b(e){(0,w.outputDebug)("Validating locales/*.json default localization file");let t=await (0,g.getLocalizationFilePaths)({directory:e}),i=(0,g.findDefaultLocale)(t);(0,g.validateDefaultLanguage)(i,t)}async function T(e){(0,w.outputDebug)("Start build web pixel extension");let t=await (0,p.getPackageManager)(e);await (0,r.renderConcurrent)({processes:[{prefix:`Building extension with ${t}`,action:async(e,i)=>{let n=[];"npm"===t&&n.push("run"),n.push("build"),await (0,d.exec)(t,n,{stdout:e,stderr:i})}}],showTimestamps:!1})}function h(i,n){return new Promise((o,r)=>{(0,w.outputDebug)((0,w.outputContent)`Compressing to ${w.outputToken.path(i)}`);let u=(0,t.default)("zip",{zlib:{level:9}}),s=e.default.createWriteStream(i);s.on("close",()=>{}),s.on("finish",()=>{o({size:u.pointer()})}),u.on("error",()=>{r(new a.AbortError("Failed to compress!"))}),u.pipe(s),u.glob("locales/**/*.json",{cwd:n}).glob("build/**/*.js",{cwd:n}).glob(l.PIXELS_CONFIG_FILE,{cwd:n}).finalize()})}async function v(e,t,i){(0,w.outputDebug)((0,w.outputContent)`Pushing ${w.outputToken.path(t)} file to remote`),await (0,r.renderTasks)([{title:"Pushing your extension to Shopline",task:async()=>{await N(e,t,i)}}])}async function N(t,n,r){let u=e.default.createReadStream(n),l=new i.default;l.append("extensionFile",u),l.append("appKey",t.SHOPLINE_APP_KEY),l.append("appSecret",t.SHOPLINE_APP_SECRET),l.append("extensionId",t.EXTENSION_ID),l.append("extensionUuid",t.EXTENSION_UUID),l.append("type",o.ERegisterType.PIXELS),l.append("category",o.ECategory.PIXELS);let s=await (0,o.pushExtension)(l);if(s){let e=(0,f.getAppVersionManageLink)({appKey:t.SHOPLINE_APP_KEY,env:r.env});(0,E.renderSuccess)({headline:["Pushed",{userInput:t.EXTENSION_TITLE},"to a draft on",(0,f.formatTime)(s.updateTime)],body:["Visit",{link:{label:e,url:e}},"to version and publish your extension",{char:"."}]})}else(0,E.renderFatalError)(new a.AbortError(`Pushed to SHOPLINE with errors on ${(0,f.formatTime)()}`))}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var i in t)Object.defineProperty(e,i,{enumerable:!0,get:t[i]})}(exports,{ValidateRule3:()=>y,ValidateRule:()=>g,default:()=>O,zipAndBuild:()=>b});const e=w(require("fs-extra")),t=w(require("ora")),i=w(require("pathe")),r=w(require("form-data")),a=w(require("filesize")),l=require("@shoplinedev/theme-check"),n=w(require("fast-glob")),s=require("../api"),o=require("../zip"),u=require("../zip3"),f=require("../const"),d=require("../utils"),c=require("../../../utils/messages"),p=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var i=S(t);if(i&&i.has(e))return i.get(e);var r={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var n=a?Object.getOwnPropertyDescriptor(e,l):null;n&&(n.get||n.set)?Object.defineProperty(r,l,n):r[l]=e[l]}return r.default=e,i&&i.set(e,r),r}(require("../validate")),E=require("../../../utils/error"),m=w(require("../../../utils/winston")),h=require("../check-extension-version");function _(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function w(e){return e&&e.__esModule?e:{default:e}}function S(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(S=function(e){return e?i:t})(e)}class y{static async validate(){let{cwd:t}=y,r=n.default.sync(["compatibility/**/*"],{cwd:t});r.length&&(g.cwd=i.default.join(t,"compatibility"),await g.validate());let l=n.default.sync(["**/*","!compatibility/**/*"],{cwd:t}),s=0,o=0,u=0;if(l.forEach(r=>{let a=i.default.join(t,r),l=e.default.statSync(a);l.isFile()&&y.validateFile(r)&&(r.startsWith("blocks")&&(o+=l.size,u+=1),r.startsWith("components")&&(o+=l.size),s+=l.size)}),s>f.MAX_ALL_FILE_SIZE)throw Error(`Total size of all files must be less than ${(0,a.default)(f.MAX_ALL_FILE_SIZE)}`);if(u>f.MAX_BLOCKS_FILE_COUNT)throw Error(`Total number of files for all blocks must be less than ${f.MAX_BLOCKS_FILE_COUNT}`);if(o>f.MAX_BLOCKS_FILE_SIZE_3)throw Error(`Total size of all blocks and components html must be less than ${(0,a.default)(f.MAX_BLOCKS_FILE_SIZE_3)}`)}static validateFile(e){let t=i.default.join(y.cwd,e),r=i.default.dirname(e),a=i.default.extname(e),l=/\/|\\\\/;if("."===r)return!1;if(l.test(r)){let[e]=r.split(l);if(!f.SUPPORTED_BUCKETS_3.includes(e))throw Error(`Invalid directory: ${r}`)}else if(!f.SUPPORTED_BUCKETS_3.includes(r))throw Error(`Invalid directory: ${r}`);if("public"===r){if(!f.SUPPORTED_ASSET_EXTS_3.includes(a))throw Error(`Invalid filename: ${e}; ${a} is not supported`)}else if("i18n"===r){if(".json"!==a)throw Error(`Invalid filename: ${e}; Only ${f.SUPPORTED_LOCALE_EXTS.join(", ")} allowed in ${r}`)}else if("blocks"===r)return y.validateBlocksSchema(t);return!0}static validateBlocksSchema(t){let r=e.default.readFileSync(t,"utf-8"),a=(0,d.extractSchema)(r),l=i.default.relative(y.cwd,t);return(0,p.validateBlockSchema3)(a,{relativeFile:l})}}_(y,"cwd",void 0);class g{static async validate(){let{cwd:t}=g,r=(0,l.configOnlyChecks)(["ValidHtml"]),s=await (0,l.cliCheckTheme)({themePath:t,config:r});if(s.errors.length){let e=s.errors.map(e=>{let r=e.errors.map(e=>`${e.message} in ${i.default.join(t,e.file)}:${e.position.start.line}:${e.position.start.column}`).join("\n");return r}).join("\n");throw new E.AbortError(e)}let o=n.default.sync("**/*",{cwd:t}),u=0,d=0,c=0;if(o.forEach(r=>{let a=i.default.join(t,r),l=e.default.statSync(a);if(l.isFile()&&g.validateFile(r)){let e=i.default.dirname(r);"blocks"===e&&(d+=l.size,c+=1),"snippets"===e&&(d+=l.size),u+=l.size}}),u>f.MAX_ALL_FILE_SIZE)throw Error(`Total size of all files must be less than ${(0,a.default)(f.MAX_ALL_FILE_SIZE)}`);if(c>f.MAX_BLOCKS_FILE_COUNT)throw Error(`Total number of files for all blocks must be less than ${f.MAX_BLOCKS_FILE_COUNT}`);if(d>f.MAX_BLOCKS_FILE_SIZE)throw Error(`Total size of all blocks and snippets HTML files must be less than ${(0,a.default)(f.MAX_BLOCKS_FILE_SIZE)}`)}static validateFile(e){let t=i.default.join(g.cwd,e),r=i.default.dirname(e),a=i.default.extname(e),l=/\/|\\\\/;if("."===r)return!1;if(l.test(r)){let[e]=r.split(l);if(!f.SUPPORTED_BUCKETS.includes(e))throw Error(`Invalid directory: ${r}`)}else if(!f.SUPPORTED_BUCKETS.includes(r))throw Error(`Invalid directory: ${r}`);if("assets"===r){if(!f.SUPPORTED_ASSET_EXTS.includes(a))throw Error(`Invalid filename: ${e}; ${a} is not supported`)}else if("locales"===r){if(".json"!==a)throw Error(`Invalid filename: ${e}; Only ${f.SUPPORTED_LOCALE_EXTS.join(", ")} allowed in ${r}`)}else if(["snippets","blocks"].includes(r)){if(".html"!==a)throw Error(`Invalid filename: ${e}; Only .html allowed in ${r}`);if("blocks"===r)return g.validateBlocksSchema(t)}return!0}static validateBlocksSchema(t){let r=e.default.readFileSync(t,"utf-8"),a=(0,d.extractSchema)(r),l=i.default.relative(g.cwd,t);return(0,p.default)(a,{relativeFile:l})}}async function T(e){(0,d.removeFile)(e),(0,h.isThemeAppExtensionOS3)()?await (0,u.zip)(e):(0,h.isThemeAppExtensionOS2)()&&await (0,o.zip)(e)}async function v(i,a,l){let n=(0,t.default)((0,c.getMessage)("extension.push.waiting_text")).start(),{SHOPLINE_APP_KEY:o,SHOPLINE_APP_SECRET:u,EXTENSION_ID:f,EXTENSION_UUID:p,EXTENSION_TITLE:m}=a;try{let t=e.default.createReadStream(i),a=new r.default;a.append("extensionFile",t),a.append("appKey",o),a.append("appSecret",u),a.append("extensionId",f),a.append("extensionUuid",p),a.append("type",s.ERegisterType.THEME_APP_BLOCK),a.append("category",s.ECategory.THEME);let h=await (0,s.pushExtension)(a);if(h){if(h.id)return n.succeed((0,c.getMessage)("extension.push.success",{name:m,updated_at:(0,d.formatTime)(h.updateTime)})),console.log((0,c.getMessage)("extension.push.success_info",{link:(0,d.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var i in t)Object.defineProperty(e,i,{enumerable:!0,get:t[i]})}(exports,{ValidateRule3:()=>y,ValidateRule:()=>g,default:()=>O,zipAndBuild:()=>b});const e=w(require("fs-extra")),t=w(require("ora")),i=w(require("pathe")),r=w(require("form-data")),a=w(require("filesize")),l=require("@shoplinedev/theme-check"),n=w(require("fast-glob")),s=require("../api"),o=require("../zip"),u=require("../zip3"),f=require("../const"),d=require("../utils"),c=require("../../../utils/messages"),p=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var i=S(t);if(i&&i.has(e))return i.get(e);var r={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var n=a?Object.getOwnPropertyDescriptor(e,l):null;n&&(n.get||n.set)?Object.defineProperty(r,l,n):r[l]=e[l]}return r.default=e,i&&i.set(e,r),r}(require("../validate")),E=require("../../../utils/error"),m=w(require("../../../utils/winston")),h=require("../check-extension-version");function _(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function w(e){return e&&e.__esModule?e:{default:e}}function S(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(S=function(e){return e?i:t})(e)}class y{static async validate(){let{cwd:t}=y,r=n.default.sync(["compatibility/**/*"],{cwd:t});r.length&&(g.cwd=i.default.join(t,"compatibility"),await g.validate());let l=n.default.sync(["**/*","!compatibility/**/*"],{cwd:t}),s=0,o=0,u=0;if(l.forEach(r=>{let a=i.default.join(t,r),l=e.default.statSync(a);l.isFile()&&y.validateFile(r)&&(r.startsWith("blocks")&&(o+=l.size,u+=1),r.startsWith("components")&&(o+=l.size),s+=l.size)}),s>f.MAX_ALL_FILE_SIZE)throw Error(`Total size of all files must be less than ${(0,a.default)(f.MAX_ALL_FILE_SIZE)}`);if(u>f.MAX_BLOCKS_FILE_COUNT)throw Error(`Total number of files for all blocks must be less than ${f.MAX_BLOCKS_FILE_COUNT}`);if(o>f.MAX_BLOCKS_FILE_SIZE_3)throw Error(`Total size of all blocks and components html must be less than ${(0,a.default)(f.MAX_BLOCKS_FILE_SIZE_3)}`)}static validateFile(e){let t=i.default.join(y.cwd,e),r=i.default.dirname(e),a=i.default.extname(e),l=/\/|\\\\/;if("."===r)return!1;if(l.test(r)){let[e]=r.split(l);if(!f.SUPPORTED_BUCKETS_3.includes(e))throw Error(`Invalid directory: ${r}`)}else if(!f.SUPPORTED_BUCKETS_3.includes(r))throw Error(`Invalid directory: ${r}`);if("public"===r){if(!f.SUPPORTED_ASSET_EXTS_3.includes(a))throw Error(`Invalid filename: ${e}; ${a} is not supported`)}else if("i18n"===r){if(".json"!==a)throw Error(`Invalid filename: ${e}; Only ${f.SUPPORTED_LOCALE_EXTS.join(", ")} allowed in ${r}`)}else if("blocks"===r)return y.validateBlocksSchema(t);return!0}static validateBlocksSchema(t){let r=e.default.readFileSync(t,"utf-8"),a=(0,d.extractSchema)(r),l=i.default.relative(y.cwd,t);return(0,p.validateBlockSchema3)(a,{relativeFile:l})}}_(y,"cwd",void 0);class g{static async validate(){let{cwd:t}=g,r=(0,l.configOnlyChecks)(["ValidHtml"]),s=await (0,l.cliCheckTheme)({themePath:t,config:r});if(s.errors.length){let e=s.errors.map(e=>{let r=e.errors.map(e=>`${e.message} in ${i.default.join(t,e.file)}:${e.position.start.line}:${e.position.start.column}`).join("\n");return r}).join("\n");throw new E.AbortError(e)}let o=n.default.sync("**/*",{cwd:t}),u=0,d=0,c=0;if(o.forEach(r=>{let a=i.default.join(t,r),l=e.default.statSync(a);if(l.isFile()&&g.validateFile(r)){let e=i.default.dirname(r);"blocks"===e&&(d+=l.size,c+=1),"snippets"===e&&(d+=l.size),u+=l.size}}),u>f.MAX_ALL_FILE_SIZE)throw Error(`Total size of all files must be less than ${(0,a.default)(f.MAX_ALL_FILE_SIZE)}`);if(c>f.MAX_BLOCKS_FILE_COUNT)throw Error(`Total number of files for all blocks must be less than ${f.MAX_BLOCKS_FILE_COUNT}`);if(d>f.MAX_BLOCKS_FILE_SIZE)throw Error(`Total size of all blocks and snippets HTML files must be less than ${(0,a.default)(f.MAX_BLOCKS_FILE_SIZE)}`)}static validateFile(e){let t=i.default.join(g.cwd,e),r=i.default.dirname(e),a=i.default.extname(e),l=/\/|\\\\/;if("."===r)return!1;if(l.test(r)){let[e]=r.split(l);if(!f.SUPPORTED_BUCKETS.includes(e))throw Error(`Invalid directory: ${r}`)}else if(!f.SUPPORTED_BUCKETS.includes(r))throw Error(`Invalid directory: ${r}`);if("assets"===r){if(!f.SUPPORTED_ASSET_EXTS.includes(a))throw Error(`Invalid filename: ${e}; ${a} is not supported`)}else if("locales"===r){if(".json"!==a)throw Error(`Invalid filename: ${e}; Only ${f.SUPPORTED_LOCALE_EXTS.join(", ")} allowed in ${r}`)}else if(["snippets","blocks"].includes(r)){if(".html"!==a)throw Error(`Invalid filename: ${e}; Only .html allowed in ${r}`);if("blocks"===r)return g.validateBlocksSchema(t)}return!0}static validateBlocksSchema(t){let r=e.default.readFileSync(t,"utf-8"),a=(0,d.extractSchema)(r),l=i.default.relative(g.cwd,t);return(0,p.default)(a,{relativeFile:l})}}async function T(e){(0,d.removeFile)(e),(0,h.isThemeAppExtensionOS3)()?await (0,u.zip)(e):(0,h.isThemeAppExtensionOS2)()&&await (0,o.zip)(e)}async function v(i,a,l){let n=(0,t.default)((0,c.getMessage)("extension.push.waiting_text")).start(),{SHOPLINE_APP_KEY:o,SHOPLINE_APP_SECRET:u,EXTENSION_ID:f,EXTENSION_UUID:p,EXTENSION_TITLE:m}=a;try{let t=e.default.createReadStream(i),a=new r.default;a.append("extensionFile",t),a.append("appKey",o),a.append("appSecret",u),a.append("extensionId",f),a.append("extensionUuid",p),a.append("type",s.ERegisterType.THEME_APP_BLOCK),a.append("category",s.ECategory.THEME);let h=await (0,s.pushExtension)(a);if(h){if(h.id)return n.succeed((0,c.getMessage)("extension.push.success",{name:m,updated_at:(0,d.formatTime)(h.updateTime)})),console.log((0,c.getMessage)("extension.push.success_info",{link:(0,d.getAppVersionManageLink)({appKey:o,env:l})})),await Promise.resolve();return n.fail(),await Promise.reject(new E.AbortError((0,c.getMessage)("extension.push.fail",{updated_at:(0,d.formatTime)(h.updateTime)})))}return n.fail(),await Promise.reject(new E.AbortError((0,c.getMessage)("extension.push.fail",{updated_at:(0,d.formatTime)()})))}catch(e){throw n.fail((0,c.getMessage)("extension.push.fail",{updated_at:(0,d.formatTime)()})),new E.AbortError(e.message||e)}}async function O(e,t,r=process.cwd()){let{EXTENSION_TITLE:a}=e,l=i.default.join(r,`${a}.zip`),n=(0,h.isThemeAppExtensionOS3)(r)?y:g;try{return n.cwd=r,m.default.log("Validate extension..."),await n.validate(),m.default.log("Zip extension..."),await T(l),m.default.log("Zip and push extension..."),await v(l,e,t),m.default.log("Push theme app extension success!"),(0,d.removeFile)(l),await Promise.resolve()}catch(e){if((0,d.removeFile)(l),e instanceof E.AbortError)throw e;return Promise.reject(e.message||e)}}async function b(t,r,a=process.cwd()){let l=i.default.join(a,".plugin.zip"),n=i.default.join(a,".plugin.json"),{SHOPLINE_APP_KEY:o,SHOPLINE_APP_SECRET:u,EXTENSION_ID:f,EXTENSION_UUID:d}=t,c=(0,h.isThemeAppExtensionOS3)(a)?y:g;try{return c.cwd=a,m.default.log("Validate extension..."),await c.validate(),m.default.log("Zip extension..."),await T(l),m.default.log("Write json file to output file..."),e.default.writeFileSync(n,JSON.stringify({appKey:o,appSecret:u,extensionId:f,extensionUuid:d,type:s.ERegisterType.THEME_APP_BLOCK,category:s.ECategory.THEME},null,2)),await Promise.resolve()}catch(e){if(e instanceof E.AbortError)throw e;return Promise.reject(e.message||e)}}_(g,"cwd",void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,o){for(var t in o)Object.defineProperty(e,t,{enumerable:!0,get:o[t]})}(exports,{TypeSchema:()=>o,MetafieldSchema:()=>t,NewExtensionPointSchema:()=>i,ApiVersionSchema:()=>a,CapabilitiesSchema:()=>n,BaseUiCustomizerSchema:()=>s});const e=require("../../utils/schema"),o=e.zod.object({type:e.zod.string().default("checkout_ui_customizer")}),t=e.zod.object({namespace:e.zod.string(),key:e.zod.string()}),i=e.zod.object({target:e.zod.string(),module:e.zod.string(),metafields:e.zod.array(t).optional()}),a=e.zod.string(),n=e.zod.object({network_access:e.zod.boolean().optional(),block_progress:e.zod.boolean().optional(),api_access:e.zod.boolean().optional()}),s=e.zod.object({name:e.zod.string(),type:e.zod.string().default("checkout_ui_customizer"),extensionPoints:e.zod.any().optional(),capabilities:n.optional()});
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,o){for(var t in o)Object.defineProperty(e,t,{enumerable:!0,get:o[t]})}(exports,{TypeSchema:()=>o,MetafieldSchema:()=>t,NewExtensionPointSchema:()=>i,ApiVersionSchema:()=>a,CapabilitiesSchema:()=>n,BaseUiCustomizerSchema:()=>s});const e=require("../../utils/schema"),o=e.zod.object({type:e.zod.string().default("checkout_ui_customizer"),name:e.zod.string().optional()}),t=e.zod.object({namespace:e.zod.string(),key:e.zod.string()}),i=e.zod.object({target:e.zod.string(),module:e.zod.string(),metafields:e.zod.array(t).optional()}),a=e.zod.string(),n=e.zod.object({network_access:e.zod.boolean().optional(),block_progress:e.zod.boolean().optional(),api_access:e.zod.boolean().optional()}),s=e.zod.object({name:e.zod.string(),type:e.zod.string().default("checkout_ui_customizer"),extensionPoints:e.zod.any().optional(),capabilities:n.optional()});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(exports,{setupBundlerAndFileWatcher:()=>s,servePixelsExtension:()=>c});const e=function(e){return e&&e.__esModule?e:{default:e}}(require("chokidar")),t=require("../../../utils/abort"),r=require("../../../utils/path"),o=require("../../../utils/output"),n=require("../../../utils/node-package-manager"),i=require("../../../utils/system"),a=require("../../../utils/ui/ui");async function s(n){let i=new t.AbortController,{extension:s}=n.devOptions,c=e.default.watch((0,r.joinPath)(s.directory,"locales","**.json")).on("change",e=>{(0,o.outputDebug)(`Locale file at path ${e} changed`),n.payloadStore.updateExtension(s,n.devOptions).then(()=>{(0,o.outputDebug)(`Notified extension ${s.devUUID} about the locale change.`)}).catch(()=>{})});return i.signal.addEventListener("abort",()=>{(0,o.outputDebug)(`Closing locale file watching for extension with ID ${s.devUUID}`),c.close().then(()=>{(0,o.outputDebug)(`Locale file watching closed for extension with ${s.devUUID}`)}).catch(e=>{(0,o.outputDebug)(`Locale file watching failed to close for extension with ${s.devUUID}: ${e.message}`)})}),await (0,a.renderConcurrent)({processes:[{prefix:"Serve UI Extension",action:async(e,t,r)=>{await u(n,{stdout:e,stderr:t,signal:r})}}],showTimestamps:!1,abortController:i}),{close:()=>{i.abort()}}}async function u(e,t){let r;let{extension:a,shop:s,port:u,url:c}=e.devOptions,l=await (0,n.getPackageManager)(a.directory),d=[`--store=${s}`,`--publicUrl=${c}`,`--resourceUrl=${e.devOptions.checkoutCartUrl}`,`--reloadNoticeUrl=${e.devOptions.reloadNoticeUrl}`,`--previewPath=${e.devOptions.previewPath}`];u&&d.push(`--port=${u}`),(0,o.outputDebug)(`Running ${(0,o.formatPackageManagerCommand)(l,"serve",`--store=${s}`,u?`--port=${u}`:"",`--publicUrl=${c}`,`--resourceUrl=${e.devOptions.checkoutCartUrl}`)}`),(r="npm"===l?["run","serve","--"]:["serve"]).push(...d),await (0,i.exec)(l,r,{cwd:a.directory,signal:t.signal,stdout:t.stdout,stderr:t.stderr})}async function c(e,t){let r;let o=await (0,n.getPackageManager)(e.extension.directory),a=[`--port=${e.port}`,`--store=${e.shop}`];(r="npm"===o?["run","serve","--"]:["serve"]).push(...a),await (0,i.exec)(o,r,{cwd:e.extension.directory,signal:t.signal,stdout:t.stdout,stderr:t.stderr})}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(exports,{devUiCustomizer:()=>l,devPixelsExtension:()=>c});const e=require("../../../utils/output"),t=require("../context"),n=require("./bundler"),o=require("./payload"),r=require("./server"),i=require("./websocket"),s=require("../../../utils/abort"),u=function(e){return e&&e.__esModule?e:{default:e}}(require("../../../utils/winston")),a=require("../../../utils/ui/ui");async function l(s){let a={...s,checkoutCartUrl:await (0,t.getCartPathFromExtension)(s.storeId,s.appKey,s.shop)},l={...a,websocketURL:function(e){let t=new URL("/extensions",e);return t.protocol="wss:",t.toString()}(s.url)},c=await (0,o.getExtensionsPayloadStoreRawPayload)(s.extension,l),d=new o.ExtensionsPayloadStore(c,l);(0,e.outputDebug)("Setting up the UI extensions HTTP server..."),u.default.log("Setting up the UI extensions HTTP server...");let p=(0,r.setupHTTPServer)({devOptions:a,payloadStore:d});(0,e.outputDebug)("Setting up the UI extensions Websocket server..."),u.default.log("Setting up the UI extensions Websocket server...");let g=(0,i.setupWebsocketConnection)({...s,httpServer:p,payloadStore:d});(0,e.outputDebug)("Setting up the UI extensions bundler and file watching..."),u.default.log("Setting up the UI extensions bundler and file watching...");let x=await (0,n.setupBundlerAndFileWatcher)({devOptions:a,payloadStore:d});s.signal.addEventListener("abort",()=>{x.close(),g.close(),p.close()})}async function c(t){let o=new s.AbortController;o.signal.addEventListener("abort",()=>{(0,e.outputDebug)(`Closing locale file watching for extension with ID ${t.extension.uuid}`)}),await (0,a.renderConcurrent)({processes:[{prefix:"Serve Pixels Extension",action:async(e,o,r)=>{await (0,n.servePixelsExtension)(t,{stdout:e,stderr:o,signal:r})}}],showTimestamps:!1,abortController:o})}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"serve",{enumerable:!0,get:()=>
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"serve",{enumerable:!0,get:()=>v});const e=require("../../utils/error"),t=require("./types"),r=require("./utils"),o=require("./env"),n=require("./context"),i=require("../../utils/tcp"),l=require("./serve/extension"),u=require("./serve/payload"),a=require("../../utils/path"),s=require("../../utils/abort"),p=require("../../utils/output"),c=require("./functions/info"),d=function(e){return e&&e.__esModule?e:{default:e}}(require("../../utils/winston")),E=require("./tunnel/cloudflared");async function v(v){var w;let h=await (0,o.getEnv)();d.default.log(`Current store environment: ${h}`);let g=null!==(w=null==v?void 0:v.cwd)&&void 0!==w?w:process.cwd(),x=await (0,r.getExtensionType)(g);if(d.default.log(`Current selected extension type: ${x}`),x===t.EExtensionTypes.themeAppExtension)throw new e.AbortError("Shopline extension serve is not support for theme app extension.");if(await (0,c.isFunctionType)(x))throw new e.AbortError("Shopline extension serve is not support for Functions extension.");v.reset&&(d.default.log("Clearing environment variables..."),(0,o.clearEnvFile)(h,g)),d.default.log("Ensure current environment...");let{envObject:P,appName:T,partnerName:b,storeId:y}=await (0,n.ensureCurrentEnvs)(h,g,x);d.default.log("Write environment variables..."),(0,o.writeEnvFile)(h,P,g),d.default.log("Show environment information..."),(0,n.showEnvInfos)(b,T,P.EXTENSION_TITLE,P.SHOP),v.port&&(d.default.log("Checking port..."),await f(v.port)),d.default.log("Get Available TCP Port...");let m=await (0,i.getAvailableTCPPort)();if(d.default.log(`Web Proxy Port: ${m}`),x===t.EExtensionTypes.checkoutUiCustomizer){d.default.log("Start cloudflared tunnel...");let e=await (0,E.startTunnel)(m);d.default.log(`Tunnel URL: ${e}`),(0,p.outputSuccess)((0,p.outputContent)`cloudflared tunnel running at ${p.outputToken.link(e,e)}.`);let t=new s.AbortController;await (0,l.devUiCustomizer)({extension:await (0,u.getUiCustomizer)({name:P.EXTENSION_TITLE,cwd:g,externalType:"checkout_ui",outputBundlePath:(0,a.joinPath)(g,"build/main.js"),uuid:P.EXTENSION_UUID,type:"checkout_ui_customizer"}),reloadNoticeUrl:(0,u.getReloadNoticeUrl)(e),appKey:P.SHOPLINE_APP_KEY,shop:P.SHOP,storeId:y,port:v.port,webProxyPort:m,signal:t.signal,url:e,previewPath:(0,u.getPreviewPath)(P.EXTENSION_UUID)})}else x===t.EExtensionTypes.pixelsExtension&&await (0,l.devPixelsExtension)({extension:{uuid:P.EXTENSION_UUID,directory:v.cwd},port:v.port,shop:P.SHOP})}async function f(t){if(!t)throw new e.AbortError("Please provide a port number");let r=await (0,i.checkPortAvailability)(t);if(!r)throw new e.AbortError(`Development port ${t} is not available, please choose another one.`)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e,t,n;Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(exports,{ExtensionType:()=>e,EFunctionTypes:()=>t,EExtensionTypes:()=>n}),function(e){e.THEME_APP_EXTENSION="THEME_APP_EXTENSION",e.CHECKOUT_UI_CUSTOMIZER="CHECKOUT_UI_CUSTOMIZER"}(e||(e={})),(t||(t={})).PaymentCustomization="PaymentCustomization",function(e){e.themeAppExtension="themeAppExtension",e.checkoutUiCustomizer="checkoutUiCustomizer"}(n||(n={}));
|
|
1
|
+
"use strict";var e,t,n;Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(exports,{ExtensionType:()=>e,EFunctionTypes:()=>t,EExtensionTypes:()=>n}),function(e){e.THEME_APP_EXTENSION="THEME_APP_EXTENSION",e.CHECKOUT_UI_CUSTOMIZER="CHECKOUT_UI_CUSTOMIZER"}(e||(e={})),(t||(t={})).PaymentCustomization="PaymentCustomization",function(e){e.themeAppExtension="themeAppExtension",e.checkoutUiCustomizer="checkoutUiCustomizer",e.pixelsExtension="pixelsExtension"}(n||(n={}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var i in t)Object.defineProperty(e,i,{enumerable:!0,get:t[i]})}(exports,{extractSchema:()=>h,removeFile:()=>y,getEnvPath:()=>N,formatTime:()=>x,getExtensionLink:()=>I,getAppVersionManageLink:()=>_,getDeveloperPlatformLink:()=>O,getStoreUrl:()=>S,getShopHandle:()=>v,validateSchemaError:()=>w,isMatchedInterpolation:()=>F,getNonMatchedOptionInterpolation:()=>P,buildPartnerChoice:()=>$,buildAppChoice:()=>g,buildExtensionTypeChoice:()=>C,buildStoreChoice:()=>L,getExtensionType:()=>A,getExtensionConfig:()=>U,generateDevUUID:()=>j,getExtShowType:()=>b,getExtType:()=>q,getExtensionName:()=>D});const e=require("path"),t=d(require("fs-extra")),i=require("uuid"),n=require("light-date"),o=d(require("js-yaml")),r=require("./const"),s=require("./types"),a=require("./api"),l=d(require("../../utils/colors")),u=require("../../utils/path"),p=require("../../utils/fs"),E=require("../../utils/toml"),c=require("./schemas"),f=require("../../utils/error"),m=require("./functions/schemas"),T=require("./functions/info");function d(e){return e&&e.__esModule?e:{default:e}}function h(e){let t=e.match(/{{\s*#schema\s*}}([\s\S]*?){{\s*\/schema\s*}}/);return t?t[1]:""}function y(e){t.default.existsSync(e)&&t.default.removeSync(e)}function N(t,i=process.cwd()){return t?(0,e.join)(i,`.env.${t}`):(0,e.join)(i,".env")}function x(e=Date.now(),t="{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}"){let i=new Date(e);return(0,n.format)(i,t)}function I(e){let t=r.DEFAULT_EXTENSION_ENDPOINT;return e.env&&(t=r.EXTENSION_ENDPOINTS[e.env]),`${t}/${r.EXTENSION_LINK_PATH}/${e.appKey}/${e.extensionUuid}`}function _(e){let t=r.DEFAULT_EXTENSION_ENDPOINT;return e.env&&(t=r.EXTENSION_ENDPOINTS[e.env]),`${t}/${r.APP_VERSION_MANAGE_LINK_PATH}?appKey=${e.appKey}`}function O(e){return e?r.EXTENSION_ENDPOINTS[e]:r.DEFAULT_EXTENSION_ENDPOINT}function S(e,t){return"dev"===t?`${e}.myshoplinedev.com`:"test"===t?`${e}.myshoplinestg.com`:"pre"===t?`${e}.preview.myshopline.com`:`${e}.myshopline.com`}function v(e,t){if("dev"===t){let t=e.match(/^([^.]+)\.myshoplinedev\.com$/);return null==t?void 0:t[1]}if("test"===t){let t=e.match(/^([^.]+)\.myshoplinestg\.com$/);return null==t?void 0:t[1]}if("pre"===t){let t=e.match(/^([^.]+)\.preview\.myshopline\.com$/);return null==t?void 0:t[1]}if("prod"===t){let t=e.match(/^([^.]+)\.myshopline\.com$/);return null==t?void 0:t[1]}let i=e.match(/^([^.]+)\.myshopline\.com$/);return null==i?void 0:i[1]}function w(e){return(t,i)=>{if(i)throw Error(`[${e}] Invalid tag 'schema': ${i}: ${t}`);if(t)throw Error(`[${e}] Invalid schema: ${t}`);throw Error(`[${e}] Invalid schema`)}}function F(e){return/^{{\s*apps\.metafields\.\w+(\.\w+)+?(?:\.value)\s*}}$/.test(e)}function P(e){let t=e.map((e,t)=>{if(Object.prototype.hasOwnProperty.call(e,"options")&&"string"==typeof e.options){let i=r.OPTION_TYPES.includes(e.type);if(F(e.options)&&i)return{pass:!0,reason:"",field:""};if(F(e.options))return{pass:!1,reason:`must be one of ${r.OPTION_TYPES.join(", ")}`,field:`settings[${t}].type`};if(i)return{pass:!1,reason:r.ERRORS.INVALID_INTERPOLATION,field:`settings[${t}].options`}}return{pass:!0,reason:"",field:""}});return t.filter(e=>!e.pass)}function $(e){return e.map(e=>({label:e.partnerName,value:e.id}))}function g(e,t){return e.map(e=>({label:`${e.appName} ${l.default.magenta(`by ${t}`)}`,value:e}))}function C(e){let t=r.EXTENSION_TYPES;return e.length>0?t.concat(e.map(e=>({label:`${e.templateName} - Function`,value:e.templateName}))):t}function L(e){return e.map(e=>({label:e.storeName,value:e}))}async function A(e){let i=(0,u.joinPath)(e,r.EXTENSION_CONFIG_FILE),n=(0,u.joinPath)(e,r.CHECKOUT_UI_CONFIG_FILE),a=(0,u.joinPath)(e,r.FUNCTION_CONFIG_FILE),l=(0,u.joinPath)(e,r.PIXELS_CONFIG_FILE);if(await (0,p.fileExists)(i)){let e=o.default.load(t.default.readFileSync(i,"utf8"));if("extension"===e.project_type)return s.EExtensionTypes.themeAppExtension}if(await (0,p.fileExists)(n)){let e=await (0,p.readFile)(n),t=(0,E.decodeToml)(e),{type:i}=await c.TypeSchema.parse(t);if("checkout_ui_customizer"===i)return s.EExtensionTypes.checkoutUiCustomizer}if(await (0,p.fileExists)(a)){let e=await (0,p.readFile)(a),t=(0,E.decodeToml)(e),{type:i}=await m.FunctionTypeSchema.parse(t);if(await (0,T.isFunctionType)(i))return i}if(await (0,p.fileExists)(l)){let e=await (0,p.readFile)(l),t=(0,E.decodeToml)(e),{type:i}=await c.TypeSchema.parse(t);if("shopline-pixels-extension"===i)return s.EExtensionTypes.pixelsExtension}throw new f.AbortError("The directory you are in is not a valid extension project.")}async function U(e,i){if(e===s.EExtensionTypes.themeAppExtension){let e=(0,u.joinPath)(i,r.EXTENSION_CONFIG_FILE);if(await (0,p.fileExists)(e)){let i=o.default.load(t.default.readFileSync(e,"utf8"));if("extension"===i.project_type)return{type:s.EExtensionTypes.themeAppExtension,name:"theme-app-extension"}}}if(e===s.EExtensionTypes.checkoutUiCustomizer){let e=(0,u.joinPath)(i,r.CHECKOUT_UI_CONFIG_FILE);if(await (0,p.fileExists)(e)){let t=await (0,p.readFile)(e),i=(0,E.decodeToml)(t),{name:n}=await c.TypeSchema.parse(i);return{type:s.EExtensionTypes.checkoutUiCustomizer,name:n}}}if(e===s.EExtensionTypes.pixelsExtension){let e=(0,u.joinPath)(i,r.PIXELS_CONFIG_FILE);if(await (0,p.fileExists)(e)){let t=await (0,p.readFile)(e),i=(0,E.decodeToml)(t),{name:n}=await c.TypeSchema.parse(i);return{type:s.EExtensionTypes.pixelsExtension,name:n}}}let n=(0,u.joinPath)(i,r.FUNCTION_CONFIG_FILE);if(await (0,p.fileExists)(n)){let e=await (0,p.readFile)(n),t=(0,E.decodeToml)(e),{type:i,name:o}=await m.FunctionTypeSchema.parse(t);if(await (0,T.isFunctionType)(i))return{type:i,name:o}}throw new f.AbortError(`Invalid extension type: ${e}`)}function j(){return`dev-${(0,i.v4)()}`}function b(e){let t=r.EXTENSION_TYPES.find(t=>t.value===e);return null==t?void 0:t.label}function q(e){return e===s.EExtensionTypes.checkoutUiCustomizer?a.ERegisterType.CHECKOUT_UI:e===s.EExtensionTypes.themeAppExtension?a.ERegisterType.THEME_APP_BLOCK:e===s.EExtensionTypes.pixelsExtension?a.ERegisterType.PIXELS:void 0}function D(e,t){return e||(t===s.EExtensionTypes.checkoutUiCustomizer?"checkout-ui-customizer":t===s.EExtensionTypes.themeAppExtension?"theme-app-extension":t===s.EExtensionTypes.pixelsExtension?"shopline-pixels-extension":t||r.DEFAULT_EXTENSION_NAME)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(exports,{IdentityAuthServerPort:()=>n,default:()=>
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(exports,{IdentityAuthServerPort:()=>n,default:()=>o});const e=l(require("koa")),t=l(require("koa-ejs")),r=l(require("path")),s=l(require("fs")),a=l(require("killable")),i=require("./api");function l(e){return e&&e.__esModule?e:{default:e}}const n=3456,u=l=>new Promise((u,o)=>{let d=new e.default;(0,t.default)(d,{root:r.default.join(__dirname,"client"),layout:!1,cache:!1});let c=d.listen(n);(0,a.default)(c),d.use(async e=>{let t=e.request.query,a={css:s.default.readFileSync(r.default.join(__dirname,"client/style.css"))};if(t.ticket)try{let r=await (0,i.fetchUdbCookie)(t.ticket,l),{rescode:s,data:n}=r.data;if("0"===s){let t=n.ck;Object.keys(t).length>0?(e.status=200,a.successful=200===e.status,a.message="You've successfuly logged into the Shopline CLI!",await e.render("index",a),u(t)):(e.status=403,a.successful=200===e.status,a.message="Anti-forgery state token does not match the initial request.",await e.render("index",a),o(Error("No message returned after logging in to the server. Please retry again!")))}else"-4"===s?o(Error("Illegal parameters, please retry again!")):"1028"===s&&o(Error("The ticket is invalid, please retry again!"))}catch(e){o(e)}else e.status=403,a.successful=200===e.status,a.message="Login failed due to missing required parameters for the URL.",await e.render("index",a),o(Error("No message returned after logging in to the server. Please retry again!"));setImmediate(()=>{var e;null==c||null===(e=c.kill)||void 0===e||e.call(c)})})}),o=u;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(exports,{authority:()=>f,default:()=>d});const e=require("lodash"),t=o(require("../../helpers/config")),r=o(require("../../helpers/open-admin-url")),a=o(require("../../utils/get-url-handle")),u=o(require("./api")),i=o(require("./create-server")),l=o(require("./store-enter")),n=o(require("../auth/logout"));function o(e){return e&&e.__esModule?e:{default:e}}const f=async r=>{(0,u.default)(r);let o=await (0,i.default)(r),f=await (0,l.default)((0,a.default)(r),o),d=t.default.getLoginInfo(r),s={...(0,e.omit)(d,"a_mach"),...o,...f};return d&&await (0,n.default)(),t.default.saveLoginInfo(s,r),s},d=async e=>{await (0,r.default)(e);let t=await f(e);return t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>t});const e=require("./api"),t=async(t,a)=>{
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>t});const e=require("./api"),t=async(t,a)=>{let{data:{data:{contextToken:r,storeId:d}}}=await (0,e.enterStore)(t,{headers:{Cookie:`a_osudb_uid=${a.a_osudb_uid};a_osudb_oar=${a.a_osudb_oar}`},timeout:1e4,maxRedirects:0,validateStatus:e=>e>=200&&(e<300||[302].includes(e))});return{a_ste:r,store_id:d}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(exports,{updateFile:()=>h,createFile:()=>R,uploadFile:()=>T,deleteFile:()=>_,uploadThemePackageFile:()=>O,getThemeFileDetail:()=>v,getThemeListWithPagination:()=>I,downloadThemePackage:()=>S,getThemeFileList:()=>$,uploadPrivateThemePackage:()=>b,getPublishedThemeInstance:()=>q,getThemeInfo:()=>w,changeThemeStatus:()=>y,createNewThemeOrCompleteUpload:()=>L});const e=p(require("axios")),t=require("querystring"),r=p(require("form-data")),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(exports,{updateFile:()=>h,createFile:()=>R,uploadFile:()=>T,deleteFile:()=>_,uploadThemePackageFile:()=>O,getThemeFileDetail:()=>v,getThemeListWithPagination:()=>I,downloadThemePackage:()=>S,getThemeFileList:()=>$,uploadPrivateThemePackage:()=>b,getPublishedThemeInstance:()=>q,getThemeInfo:()=>w,changeThemeStatus:()=>y,createNewThemeOrCompleteUpload:()=>L});const e=p(require("axios")),t=require("querystring"),r=p(require("form-data")),s=p(require("../../helpers/config")),o=require("./const"),i=p(require("../../utils/debug")),a=p(require("./no-second-check")),n=require("../../helpers/sentry"),l=require("../../utils/error"),u=require("../../utils/const"),d=p(require("../../utils/winston"));function p(e){return e&&e.__esModule?e:{default:e}}const{loginInfo:c,currentStore:E}=s.default;function f(t){return p=>{let E=e.default.create({baseURL:t,maxContentLength:1/0,maxBodyLength:1/0});return E.interceptors.request.use(e=>{if(i.default.printRequest(e),c){let t=Object.keys(c).map(e=>`${e}=${c[e]}`).join(";"),r=s.default.dfpToken||"";Object.assign(e.headers,{cookie:t,"dfp-token":r,"User-Agent":u.CLI_USER_AGENT})}return(null==e?void 0:e.data)instanceof r.default&&Object.assign(e.headers,null==e?void 0:e.data.getHeaders()),d.default.logHttp({type:"request",method:e.method,url:e.baseURL+e.url,params:e.params}),e},e=>Promise.reject(e)),E.interceptors.response.use(async e=>{var t,r,s,u,c;let E=null==e?void 0:null===(t=e.data)||void 0===t?void 0:t.success,f=null==e?void 0:null===(r=e.data)||void 0===r?void 0:r.code,{config:g}=e;if(i.default.printResponse(g,e),(0,n.reportHttpRes)(e),d.default.logHttp({type:"response",method:e.config.method,url:e.config.baseURL+e.config.url,params:e.config.params,body:e.data,status:e.status,traceId:(null==e?void 0:null===(s=e.data)||void 0===s?void 0:s.trace_id)||(null==e?void 0:null===(u=e.headers)||void 0===u?void 0:u["x-request-id"])||""}),o.ERROR_CODES.THEME_COUNT_LIMIT.includes(f))throw Error(o.ERRORS.THEME_COUNT_LIMIT);if(o.ERROR_CODES.DEVELOPMENT_THEME_NOT_EXIST.includes(f))throw Error(o.ERRORS.THEME_IS_INVALID);if(o.ERROR_CODES.FEATURE_KEY_NOT_EXIST.includes(f))throw Error(o.ERRORS.FEATURE_KEY_NOT_EXIST);if(o.ERROR_CODES.NO_SECOND_CHECK.includes(f))await a.default.run();else if(o.ERROR_CODES.INVALID_FILE.includes(f))throw new l.ValidatorError({code:f,errors:e.data.data.errors,message:e.data.msg});if("boolean"==typeof E&&!1===E){let t=e.data.msg||e.data.message||"",r=Error(t);throw o.ERROR_CODES.FILE_NOT_EXIT.includes(f)||(0,n.reportBug)(r),new l.AbortError(t)}return(null==p?void 0:p.withResponseHeader)?e:null==e?void 0:null===(c=e.data)||void 0===c?void 0:c.data},e=>{let t=(()=>{if(null==e?void 0:e.response){let{status:t,statusText:r,data:s}=e.response;return(null==s?void 0:s.msg)||(null==s?void 0:s.message)||(s.error||"string"==typeof s?s:`${t}: ${r}`)}return e.message})();e.response&&(0,n.reportHttpRes)(e.response);let r=new l.AbortError(t);return i.default.printErrorResponse(e.config,e.response),(0,n.reportBug)(e),Promise.reject(r)}),E}}const g=f(`${E}/admin/api/merchant-bff`)(),m=f(`${E}${o.ENDPOINTS.THEME}`),h=(e,{fileContent:t,fileName:r,cliFirstCreateFile:s})=>g.put(`/file/theme/${e}`,{fileContent:t,fileName:r,cliFirstCreateFile:s}),R=(e,{fileName:t,fileContent:r,duplicateFlag:s=!1,cliFirstCreateFile:o,sourceFileName:i})=>g.post(`/file/theme/${e}`,{fileName:t,fileContent:r,duplicateFlag:s,sourceFileName:i,cliFirstCreateFile:o}),T=(e,t,r)=>g.post(`/file/theme/${e}/upload`,t,r),_=(e,{fileName:t})=>g.delete(`/file/theme/${e}`,{data:{fileName:t}}),O=(...e)=>g.post("/theme/upload",...e),v=({themeId:e,fileName:r})=>g.get(`/file/theme/${e}/detail?${(0,t.stringify)({fileName:r})}`),I=e=>{let r=e?`/instance/list/page?${(0,t.stringify)(e)}`:"/instance/list/page";return m().get(r)},S=e=>m({withResponseHeader:!0}).get(`/instance/download/${e}`,{responseType:"stream"}),$=e=>g.get(`/file/theme/${e}/list`),b=(e,t)=>g.post("/theme/upload",e,t),q=()=>m().get("/instance/current"),w=e=>m().get(`/instance/${e}`),y=e=>m().post("/instance/status",e);function L(e){return m().post("/upload/single-file",e)}
|
package/dist/utils/program.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"program",{enumerable:!0,get:()=>e.program});const e=require("commander"),r=u(require("./check-update")),t=u(require("../helpers/config")),o=u(require("../../package.json")),n=function(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=l(r);if(t&&t.has(e))return t.get(e);var o={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var u=n?Object.getOwnPropertyDescriptor(e,a):null;u&&(u.get||u.set)?Object.defineProperty(o,a,u):o[a]=e[a]}return o.default=e,t&&t.set(e,o),o}(require("../helpers/sentry")),a=u(require("./winston/index"));function u(e){return e&&e.__esModule?e:{default:e}}function l(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap,t=new WeakMap;return(l=function(e){return e?t:r})(e)}e.program.hook("preAction",async e=>{
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"program",{enumerable:!0,get:()=>e.program});const e=require("commander"),r=u(require("./check-update")),t=u(require("../helpers/config")),o=u(require("../../package.json")),n=function(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=l(r);if(t&&t.has(e))return t.get(e);var o={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var u=n?Object.getOwnPropertyDescriptor(e,a):null;u&&(u.get||u.set)?Object.defineProperty(o,a,u):o[a]=e[a]}return o.default=e,t&&t.set(e,o),o}(require("../helpers/sentry")),a=u(require("./winston/index"));function u(e){return e&&e.__esModule?e:{default:e}}function l(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap,t=new WeakMap;return(l=function(e){return e?t:r})(e)}e.program.hook("preAction",async e=>{n.isProd&&await (0,r.default)(o.default).catch(console.error);let u=["shopline"].concat(e.args).join(" ");if(a.default.setCommand(u),a.default.log(`Current CLI version: ${o.default.version}`),await a.default.removeOldLogFiles(),n.default.setTag("command",u),n.default.setTag("cli_version",o.default.version),t.default.loginInfo){var l;a.default.log(`current store: ${t.default.currentStore}`),n.default.setUser({username:t.default.currentStore}),n.default.setTags({current_store:t.default.currentStore,store_id:null===(l=t.default.loginInfo)||void 0===l?void 0:l.store_id})}});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shoplineos/cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"description": "A CLI tool to build for the Shopline platform",
|
|
5
5
|
"bin": {
|
|
6
6
|
"sl": "./bin/index.js"
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"archiver": "^5.3.1",
|
|
47
47
|
"axios": "^0.24.0",
|
|
48
48
|
"chalk": "^4.1.2",
|
|
49
|
-
"cheerio": "
|
|
49
|
+
"cheerio": "1.0.0-rc.10",
|
|
50
50
|
"chokidar": "^3.5.2",
|
|
51
51
|
"ci-info": "^4.0.0",
|
|
52
52
|
"cli-progress": "^3.9.1",
|