@shoplineos/cli 1.5.3 → 1.5.5
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/index.js +2 -1
- package/dist/commands/auth/login.js +2 -1
- package/dist/commands/auth/logout.js +2 -1
- package/dist/commands/auth/whoami.js +2 -1
- package/dist/commands/extension/build.js +2 -1
- package/dist/commands/extension/common-options.js +2 -1
- package/dist/commands/extension/connect.js +2 -1
- package/dist/commands/extension/create.js +2 -1
- package/dist/commands/extension/index.js +2 -1
- package/dist/commands/extension/push.js +2 -1
- package/dist/commands/extension/serve.js +2 -1
- package/dist/commands/index.js +2 -1
- package/dist/commands/report.js +2 -1
- package/dist/commands/theme/check.js +2 -1
- package/dist/commands/theme/console.js +2 -1
- package/dist/commands/theme/index.js +2 -1
- package/dist/commands/theme/init.js +2 -1
- package/dist/commands/theme/list.js +2 -1
- package/dist/commands/theme/package.js +2 -1
- package/dist/commands/theme/pull.js +2 -1
- package/dist/commands/theme/push.js +2 -1
- package/dist/commands/theme/serve.js +2 -1
- package/dist/commands/theme/theme-common-options.js +2 -1
- package/dist/eventlistener.d.js +2 -1
- package/dist/helpers/config.js +2 -1
- package/dist/helpers/monitoring-bootstrap.js +2 -0
- package/dist/helpers/monitoring-environment.js +2 -0
- package/dist/helpers/open-admin-url.js +2 -1
- package/dist/helpers/process-errors.js +2 -0
- package/dist/helpers/report.js +2 -1
- package/dist/helpers/sentry.js +2 -1
- package/dist/helpers/sum.js +2 -1
- package/dist/helpers/verify-login.js +2 -1
- package/dist/services/auth/logout.js +2 -1
- package/dist/services/dev-server/index.js +3 -2
- package/dist/services/dev-server/sse.js +2 -1
- package/dist/services/dev-server/web/socket-client.js +2 -1
- package/dist/services/dev-server-3/index.js +2 -1
- package/dist/services/dev-server-3/server.js +3 -2
- package/dist/services/dev-server-3/sse.js +2 -1
- package/dist/services/dev-server-3/web/socket-client.js +2 -1
- package/dist/services/extension/api.js +2 -1
- package/dist/services/extension/check-extension-version.js +2 -1
- package/dist/services/extension/clone-repo.js +2 -1
- package/dist/services/extension/connect/context.js +2 -1
- package/dist/services/extension/connect/index.js +2 -1
- package/dist/services/extension/connect/validate.js +2 -1
- package/dist/services/extension/const.js +2 -1
- package/dist/services/extension/context.js +2 -1
- package/dist/services/extension/create/index.js +2 -1
- package/dist/services/extension/ensure-project-type.js +2 -1
- package/dist/services/extension/env.js +2 -1
- package/dist/services/extension/extension.js +2 -1
- package/dist/services/extension/functions/generate.js +2 -1
- package/dist/services/extension/functions/info.js +2 -1
- package/dist/services/extension/functions/push.js +2 -1
- package/dist/services/extension/functions/schemas.js +2 -1
- package/dist/services/extension/generate.js +2 -1
- package/dist/services/extension/index.js +2 -1
- package/dist/services/extension/inquirer.js +2 -1
- package/dist/services/extension/loader.js +2 -1
- package/dist/services/extension/openapi.js +2 -1
- package/dist/services/extension/push/build.js +2 -1
- package/dist/services/extension/push/checkout-ui.js +2 -1
- package/dist/services/extension/push/index.js +2 -1
- package/dist/services/extension/push/pixels.js +2 -1
- package/dist/services/extension/push/post-purchase.js +2 -1
- package/dist/services/extension/push/shopper.js +2 -1
- package/dist/services/extension/push/show.js +2 -1
- package/dist/services/extension/push/theme.js +2 -1
- package/dist/services/extension/push/zip.js +2 -1
- package/dist/services/extension/register.js +2 -1
- package/dist/services/extension/schemas.js +2 -1
- package/dist/services/extension/serve/bundler.js +2 -1
- package/dist/services/extension/serve/extension.js +2 -1
- package/dist/services/extension/serve/localization.js +2 -1
- package/dist/services/extension/serve/models.js +2 -1
- package/dist/services/extension/serve/payload.js +2 -1
- package/dist/services/extension/serve/server/middlewares.js +2 -1
- package/dist/services/extension/serve/server.js +2 -1
- package/dist/services/extension/serve/websocket/handlers.js +2 -1
- package/dist/services/extension/serve/websocket/models.js +2 -1
- package/dist/services/extension/serve/websocket.js +2 -1
- package/dist/services/extension/serve.js +2 -1
- package/dist/services/extension/tunnel/cloudflared.js +2 -1
- package/dist/services/extension/tunnel/install-cloudflared.js +2 -1
- package/dist/services/extension/types.js +2 -1
- package/dist/services/extension/utils.js +2 -1
- package/dist/services/extension/validate.js +2 -1
- package/dist/services/extension/zip.js +2 -1
- package/dist/services/extension/zip3.js +2 -1
- package/dist/services/identity-auth/api.js +2 -1
- package/dist/services/identity-auth/const.js +2 -1
- package/dist/services/identity-auth/create-server.js +2 -1
- package/dist/services/identity-auth/index.js +2 -1
- package/dist/services/identity-auth/store-enter.js +2 -1
- package/dist/services/report/index.js +2 -1
- package/dist/services/theme/3.0/api.js +4 -3
- package/dist/services/theme/3.0/check.js +2 -1
- package/dist/services/theme/3.0/file.js +2 -1
- package/dist/services/theme/3.0/package.js +2 -1
- package/dist/services/theme/3.0/pull.js +2 -1
- package/dist/services/theme/3.0/push.js +2 -1
- package/dist/services/theme/3.0/remote-watcher.js +2 -1
- package/dist/services/theme/3.0/theme.js +3 -2
- package/dist/services/theme/api.js +2 -1
- package/dist/services/theme/check/check.js +2 -1
- package/dist/services/theme/check/config.js +2 -1
- package/dist/services/theme/check/exception.js +2 -1
- package/dist/services/theme/check/index.js +2 -1
- package/dist/services/theme/check/types.js +2 -1
- package/dist/services/theme/checksum.js +2 -1
- package/dist/services/theme/choose-theme-list.js +2 -1
- package/dist/services/theme/console/api.js +2 -1
- package/dist/services/theme/console/console.js +4 -3
- package/dist/services/theme/console/index.js +2 -1
- package/dist/services/theme/const.js +2 -1
- package/dist/services/theme/dev-server-monitoring.js +2 -0
- package/dist/services/theme/file.js +2 -1
- package/dist/services/theme/git.js +2 -1
- package/dist/services/theme/index.js +4 -3
- package/dist/services/theme/inquirer.js +2 -1
- package/dist/services/theme/no-second-check.js +2 -1
- package/dist/services/theme/operation.js +2 -1
- package/dist/services/theme/package.js +2 -1
- package/dist/services/theme/proxy-error.js +2 -0
- package/dist/services/theme/pull.js +2 -1
- package/dist/services/theme/push.js +2 -1
- package/dist/services/theme/remote-watcher.js +2 -1
- package/dist/services/theme/types.js +2 -1
- package/dist/services/theme/update-queue.js +2 -1
- package/dist/services/theme/update.js +2 -1
- package/dist/services/theme/uploader.js +2 -1
- package/dist/services/theme/utils.js +3 -1
- package/dist/services/theme/watcher-monitoring.js +2 -0
- package/dist/type.d.js +2 -1
- package/dist/types/env.d.js +2 -1
- package/dist/types/type.d.js +2 -1
- package/dist/utils/abort.js +2 -1
- package/dist/utils/check-theme-type-version.js +2 -1
- package/dist/utils/check-update.js +2 -1
- package/dist/utils/colors.js +2 -1
- package/dist/utils/const.js +2 -1
- package/dist/utils/content-tokens.js +2 -1
- package/dist/utils/debug.js +2 -1
- package/dist/utils/decorators.js +2 -1
- package/dist/utils/environments.js +2 -1
- package/dist/utils/error.js +2 -1
- package/dist/utils/exit-hook.js +2 -1
- package/dist/utils/find-up-node-module.js +2 -1
- package/dist/utils/format-protocol.js +2 -1
- package/dist/utils/fs.js +2 -1
- package/dist/utils/get-objects-diff.js +2 -1
- package/dist/utils/get-real-referer.js +2 -1
- package/dist/utils/get-store-env.js +2 -1
- package/dist/utils/get-url-handle.js +2 -1
- package/dist/utils/git.js +2 -1
- package/dist/utils/has-command.js +2 -1
- package/dist/utils/hbs.js +2 -1
- package/dist/utils/http.js +2 -1
- package/dist/utils/ignore-filter.js +2 -1
- package/dist/utils/import-esm.js +2 -1
- package/dist/utils/include-filter.js +2 -1
- package/dist/utils/load-local-preset.js +2 -1
- package/dist/utils/local.js +2 -1
- package/dist/utils/logger.js +2 -1
- package/dist/utils/messages.js +3 -2
- package/dist/utils/misc.js +2 -1
- package/dist/utils/node-package-manager.js +2 -1
- package/dist/utils/ora-manager.js +2 -1
- package/dist/utils/os.js +2 -1
- package/dist/utils/output.js +2 -1
- package/dist/utils/parse-options.js +2 -1
- package/dist/utils/path-matcher.js +2 -1
- package/dist/utils/path.js +2 -1
- package/dist/utils/print-preview.js +2 -1
- package/dist/utils/program.js +2 -1
- package/dist/utils/replace-dot.js +2 -1
- package/dist/utils/replace-top-level-com.js +2 -1
- package/dist/utils/retry.js +2 -1
- package/dist/utils/schema.js +2 -1
- package/dist/utils/string.js +2 -1
- package/dist/utils/system.js +2 -1
- package/dist/utils/tcp.js +2 -1
- package/dist/utils/tiny-queue.js +2 -1
- package/dist/utils/toml.js +2 -1
- package/dist/utils/tree-kill.js +2 -1
- package/dist/utils/ui/Tasks.js +2 -1
- package/dist/utils/ui/alert.js +2 -1
- package/dist/utils/ui/components/Alert.js +2 -1
- package/dist/utils/ui/components/Banner.js +2 -1
- package/dist/utils/ui/components/Command.js +2 -1
- package/dist/utils/ui/components/ConcurrentOutput.js +2 -1
- package/dist/utils/ui/components/FatalError.js +2 -1
- package/dist/utils/ui/components/FilePath.js +2 -1
- package/dist/utils/ui/components/Link.js +2 -1
- package/dist/utils/ui/components/List.js +2 -1
- package/dist/utils/ui/components/Prompts/InfoTable.js +2 -1
- package/dist/utils/ui/components/SelectInput.js +2 -1
- package/dist/utils/ui/components/SelectPrompt.js +2 -1
- package/dist/utils/ui/components/Subdued.js +2 -1
- package/dist/utils/ui/components/TextAnimation.js +2 -1
- package/dist/utils/ui/components/TextInput.js +2 -1
- package/dist/utils/ui/components/TextPrompt.js +2 -1
- package/dist/utils/ui/components/TokenizedText.js +2 -1
- package/dist/utils/ui/components/UserInput.js +2 -1
- package/dist/utils/ui/contexts/LinksContext.js +2 -1
- package/dist/utils/ui/hooks/use-async-and-unmount.js +2 -1
- package/dist/utils/ui/hooks/use-layout.js +2 -1
- package/dist/utils/ui/render.js +2 -1
- package/dist/utils/ui/ui.js +2 -1
- package/dist/utils/ui/utilities.js +2 -1
- package/dist/utils/winston/index.js +2 -1
- package/dist/utils/winston/log-file.js +3 -2
- package/dist/utils/write-file-tree.js +2 -1
- package/dist/vendor/logger-apm-node/index.js +11 -0
- package/dist/vendor/logger-apm-node/licenses.txt +296 -0
- package/package.json +12 -7
- package/dist/commands/extension/tunnel.js +0 -1
- package/dist/services/dev-server/socket.js +0 -1
- package/dist/services/extension/create.js +0 -1
- package/dist/services/extension/push.js +0 -1
- package/dist/services/extension/resolve-env.js +0 -1
- package/dist/services/extension/tunnel.js +0 -3
- package/dist/services/extension/write-env-file.js +0 -1
- package/dist/services/theme/draft.js +0 -1
- package/dist/services/theme/types.d.js +0 -1
- package/dist/utils/ui.js +0 -1
|
@@ -1 +1,2 @@
|
|
|
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,{getLogMiddleware:()=>o,noCacheMiddleware:()=>r,getExtensionsPayloadMiddleware:()=>d,redirectToExtensionMiddleware:()=>u,redirectToCheckoutPageMiddleware:()=>c,fileServerMiddleware:()=>l,getExtensionAssetMiddleware:()=>p,getExtensionDevAssetMiddleware:()=>x,handleExtensionHotReloadMiddleware:()=>h});const e=require("h3"),t=require("node-fetch-native"),n=require("../../../../utils/output"),s=require("../../../../utils/path"),a=require("../../../../utils/fs"),i=require("../../context");function o(){return async(e,t,s)=>{(0,n.outputDebug)(`UI extensions server received a ${e.method} request to URL ${e.url}`),s()}}function r(e,t,n){t.setHeader("Cache-Control","no-cache"),n()}async function d({payloadStore:t},n){return(0,e.setResponseHeaders)(n,{"content-type":"application/json"}),t.getRawPayload()}async function u({devOptions:t},n){await (0,e.sendRedirect)(n,`/extensions/${t.extension.devUUID}`,307)}async function c({devOptions:t},n){let s=(0,i.getCheckoutPageUrlFromExtension)(t);await (0,e.sendRedirect)(n,s,307)}async function l(t,n){let{filePath:i}=n;await (0,a.isDirectory)(i)&&(i+=i.endsWith("/")?"index.html":"/index.html");let o=await (0,a.fileExists)(i);if(!o)return(0,e.sendError)(t,(0,e.createError)({statusCode:404,statusMessage:`Not Found: ${i}`}));let r=await (0,a.readFile)(i),d=(0,s.extname)(i);return(0,e.setResponseHeaders)(t,{"content-type":{".ico":"image/x-icon",".html":"text/html",".js":"text/javascript",".json":"application/json",".css":"text/css",".png":"image/png",".jpg":"image/jpeg",".wav":"audio/wav",".mp3":"audio/mpeg",".svg":"image/svg+xml",".pdf":"application/pdf",".doc":"application/msword"}[d]||"text/plain"}),(0,e.setResponseStatus)(t,200),r}function p({devOptions:t},n){let{extension:a}=t,{assetPath:i,extensionId:o}=n.context.params,r=a.outputBundlePath.replace("main.js",""),d=a.devUUID===o;return d?l(n,{filePath:(0,s.joinPath)(r,i)}):(0,e.sendError)(n,(0,e.createError)({statusCode:404,statusMessage:`Extension with id ${o} not found`}))}function x({devOptions:n},s){let{port:a}=n,{assetPath:i}=s.context.params,o=`http://0.0.0.0:${a}/assets/${i}`;return(0,e.proxyRequest)(s,o,{fetch:t.fetch})}function h({devOptions:t,payloadStore:s},a){let{status:i}=(0,e.getQuery)(a);return"succeed"===i?(s.updateExtension(t.extension,t),(0,n.outputDebug)(`The Javascript HotReload server of the UI extension with ID ${t.extension.devUUID} has changed.`)):"failed"===i&&(0,n.outputDebug)(`The Javascript HotReload server of the UI extension with ID ${t.extension.devUUID} has an error.`),(0,e.setResponseStatus)(a,200),""}
|
|
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,{getLogMiddleware:()=>o,noCacheMiddleware:()=>r,getExtensionsPayloadMiddleware:()=>d,redirectToExtensionMiddleware:()=>u,redirectToCheckoutPageMiddleware:()=>c,fileServerMiddleware:()=>l,getExtensionAssetMiddleware:()=>p,getExtensionDevAssetMiddleware:()=>x,handleExtensionHotReloadMiddleware:()=>h});const e=require("h3"),t=require("node-fetch-native"),n=require("../../../../utils/output"),s=require("../../../../utils/path"),a=require("../../../../utils/fs"),i=require("../../context");function o(){return async(e,t,s)=>{(0,n.outputDebug)(`UI extensions server received a ${e.method} request to URL ${e.url}`),s()}}function r(e,t,n){t.setHeader("Cache-Control","no-cache"),n()}async function d({payloadStore:t},n){return(0,e.setResponseHeaders)(n,{"content-type":"application/json"}),t.getRawPayload()}async function u({devOptions:t},n){await (0,e.sendRedirect)(n,`/extensions/${t.extension.devUUID}`,307)}async function c({devOptions:t},n){let s=(0,i.getCheckoutPageUrlFromExtension)(t);await (0,e.sendRedirect)(n,s,307)}async function l(t,n){let{filePath:i}=n;await (0,a.isDirectory)(i)&&(i+=i.endsWith("/")?"index.html":"/index.html");let o=await (0,a.fileExists)(i);if(!o)return(0,e.sendError)(t,(0,e.createError)({statusCode:404,statusMessage:`Not Found: ${i}`}));let r=await (0,a.readFile)(i),d=(0,s.extname)(i);return(0,e.setResponseHeaders)(t,{"content-type":{".ico":"image/x-icon",".html":"text/html",".js":"text/javascript",".json":"application/json",".css":"text/css",".png":"image/png",".jpg":"image/jpeg",".wav":"audio/wav",".mp3":"audio/mpeg",".svg":"image/svg+xml",".pdf":"application/pdf",".doc":"application/msword"}[d]||"text/plain"}),(0,e.setResponseStatus)(t,200),r}function p({devOptions:t},n){let{extension:a}=t,{assetPath:i,extensionId:o}=n.context.params,r=a.outputBundlePath.replace("main.js",""),d=a.devUUID===o;return d?l(n,{filePath:(0,s.joinPath)(r,i)}):(0,e.sendError)(n,(0,e.createError)({statusCode:404,statusMessage:`Extension with id ${o} not found`}))}function x({devOptions:n},s){let{port:a}=n,{assetPath:i}=s.context.params,o=`http://0.0.0.0:${a}/assets/${i}`;return(0,e.proxyRequest)(s,o,{fetch:t.fetch})}function h({devOptions:t,payloadStore:s},a){let{status:i}=(0,e.getQuery)(a);return"succeed"===i?(s.updateExtension(t.extension,t),(0,n.outputDebug)(`The Javascript HotReload server of the UI extension with ID ${t.extension.devUUID} has changed.`)):"failed"===i&&(0,n.outputDebug)(`The Javascript HotReload server of the UI extension with ID ${t.extension.devUUID} has an error.`),(0,e.setResponseStatus)(a,200),""}
|
|
2
|
+
//# sourceMappingURL=middlewares.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"setupHTTPServer",{enumerable:!0,get:()=>s});const e=require("http"),t=require("h3"),r=require("@nozomuikuta/h3-cors"),n=require("./payload"),o=require("./server/middlewares");function s(s){let d=(0,t.createApp)(),a=(0,t.createRouter)();d.use((0,t.fromNodeMiddleware)((0,o.getLogMiddleware)())),d.use((0,r.defineCorsEventHandler)({methods:["GET","OPTIONS"],allowHeaders:["Accept","Content-Type","Content-Length","Accept-Encoding","X-CSRF-Token","Authorization","ngrok-skip-browser-warning"]})),d.use((0,t.fromNodeMiddleware)(o.noCacheMiddleware)),a.get(n.reloadNoticePath,(0,t.eventHandler)(e=>(0,o.handleExtensionHotReloadMiddleware)(s,e))),a.get("/extensions/:extensionId/assets/**:assetPath",(0,t.eventHandler)(e=>(0,o.getExtensionAssetMiddleware)(s,e))),a.get("/assets/**:assetPath",(0,t.eventHandler)(e=>(0,o.getExtensionDevAssetMiddleware)(s,e))),a.get("/extensions/:extensionId",(0,t.eventHandler)(e=>(0,o.redirectToCheckoutPageMiddleware)(s,e))),a.get("/extensions",(0,t.eventHandler)(e=>(0,o.getExtensionsPayloadMiddleware)(s,e))),a.get("/extensions/",(0,t.eventHandler)(e=>(0,o.getExtensionsPayloadMiddleware)(s,e))),a.get("/",(0,t.eventHandler)(e=>(0,o.redirectToExtensionMiddleware)(s,e))),d.use(a);let i=(0,e.createServer)((0,t.toNodeListener)(d));return i.listen(s.devOptions.webProxyPort),i}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"setupHTTPServer",{enumerable:!0,get:()=>s});const e=require("http"),t=require("h3"),r=require("@nozomuikuta/h3-cors"),n=require("./payload"),o=require("./server/middlewares");function s(s){let d=(0,t.createApp)(),a=(0,t.createRouter)();d.use((0,t.fromNodeMiddleware)((0,o.getLogMiddleware)())),d.use((0,r.defineCorsEventHandler)({methods:["GET","OPTIONS"],allowHeaders:["Accept","Content-Type","Content-Length","Accept-Encoding","X-CSRF-Token","Authorization","ngrok-skip-browser-warning"]})),d.use((0,t.fromNodeMiddleware)(o.noCacheMiddleware)),a.get(n.reloadNoticePath,(0,t.eventHandler)(e=>(0,o.handleExtensionHotReloadMiddleware)(s,e))),a.get("/extensions/:extensionId/assets/**:assetPath",(0,t.eventHandler)(e=>(0,o.getExtensionAssetMiddleware)(s,e))),a.get("/assets/**:assetPath",(0,t.eventHandler)(e=>(0,o.getExtensionDevAssetMiddleware)(s,e))),a.get("/extensions/:extensionId",(0,t.eventHandler)(e=>(0,o.redirectToCheckoutPageMiddleware)(s,e))),a.get("/extensions",(0,t.eventHandler)(e=>(0,o.getExtensionsPayloadMiddleware)(s,e))),a.get("/extensions/",(0,t.eventHandler)(e=>(0,o.getExtensionsPayloadMiddleware)(s,e))),a.get("/",(0,t.eventHandler)(e=>(0,o.redirectToExtensionMiddleware)(s,e))),d.use(a);let i=(0,e.createServer)((0,t.toNodeListener)(d));return i.listen(s.devOptions.webProxyPort),i}
|
|
2
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -2,4 +2,5 @@
|
|
|
2
2
|
${t.outputToken.json(a)}
|
|
3
3
|
`),function(e,n){(0,t.outputDebug)((0,t.outputContent)`Sending websocket with event type ${n.event} and data:
|
|
4
4
|
${t.outputToken.json(n.data)}
|
|
5
|
-
`);let o=JSON.stringify(n);e.clients.forEach(e=>e.send(o))}(n,a)}}
|
|
5
|
+
`);let o=JSON.stringify(n);e.clients.forEach(e=>e.send(o))}(n,a)}}
|
|
6
|
+
//# sourceMappingURL=handlers.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"EventType",{enumerable:!0,get:()=>e}),(e||(e={})).Update="update";
|
|
1
|
+
"use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"EventType",{enumerable:!0,get:()=>e}),(e||(e={})).Update="update";
|
|
2
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"setupWebsocketConnection",{enumerable:!0,get:()=>n});const e=require("ws"),t=require("./websocket/handlers"),r=require("./payload");function n(n){let o=new e.WebSocketServer({noServer:!0,clientTracking:!0}),a=setInterval(()=>{o.clients.forEach(e=>{let t=e.readyState<2;t&&e.ping()})},1e4);return n.httpServer.on("upgrade",(0,t.websocketUpgradeHandler)(o,n)),n.payloadStore.on(r.ExtensionsPayloadStoreEvent.Update,(0,t.getPayloadUpdateHandler)(o,n)),{close:()=>{o.close(),clearInterval(a)}}}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"setupWebsocketConnection",{enumerable:!0,get:()=>n});const e=require("ws"),t=require("./websocket/handlers"),r=require("./payload");function n(n){let o=new e.WebSocketServer({noServer:!0,clientTracking:!0}),a=setInterval(()=>{o.clients.forEach(e=>{let t=e.readyState<2;t&&e.ping()})},1e4);return n.httpServer.on("upgrade",(0,t.websocketUpgradeHandler)(o,n)),n.payloadStore.on(r.ExtensionsPayloadStoreEvent.Update,(0,t.getPayloadUpdateHandler)(o,n)),{close:()=>{o.close(),clearInterval(a)}}}
|
|
2
|
+
//# sourceMappingURL=websocket.js.map
|
|
@@ -1 +1,2 @@
|
|
|
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:()=>P});const e=require("../../utils/error"),t=require("./types"),r=require("./utils"),o=require("./env"),n=require("./context"),i=require("../../utils/tcp"),s=require("./serve/extension"),u=require("./serve/payload"),l=require("../../utils/path"),a=require("../../utils/abort"),p=require("../../utils/output"),E=require("./functions/info"),c=function(e){return e&&e.__esModule?e:{default:e}}(require("../../utils/winston")),d=require("./tunnel/cloudflared"),v=require("./const");async function P(P){var T;let h=await (0,o.getEnv)();c.default.log(`Current store environment: ${h}`);let w=null!==(T=null==P?void 0:P.cwd)&&void 0!==T?T:process.cwd(),x=await (0,r.getExtensionType)(w);if(c.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,E.isFunctionType)(x))throw new e.AbortError("Shopline extension serve is not support for Functions extension.");P.reset&&(c.default.log("Clearing environment variables..."),(0,o.clearEnvFile)(h,w)),c.default.log("Ensure current environment...");let{envObject:g,appName:y,partnerName:_,storeId:m}=await (0,n.ensureCurrentEnvs)(h,w,x);c.default.log("Write environment variables..."),(0,o.writeEnvFile)(h,g,w),c.default.log("Show environment information..."),(0,n.showEnvInfos)(_,y,g.EXTENSION_TITLE,g.SHOP),P.port&&(c.default.log("Checking port..."),await f(P.port)),c.default.log("Get Available TCP Port...");let C=await (0,i.getAvailableTCPPort)();if(c.default.log(`Web Proxy Port: ${C}`),x===t.EExtensionTypes.checkoutUiCustomizer||x===t.EExtensionTypes.postPurchaseCustomizer){c.default.log("Start cloudflared tunnel...");let e=await (0,d.startTunnel)(C);c.default.log(`Tunnel URL: ${e}`),(0,p.outputSuccess)((0,p.outputContent)`cloudflared tunnel running at ${p.outputToken.link(e,e)}.`);let r=new a.AbortController,o={[t.EExtensionTypes.checkoutUiCustomizer]:{externalType:"checkout_ui",type:"checkout_ui_customizer",noProductErrorMessage:v.CHECKOUT_UI_NO_PRODUCT_ERROR_MESSAGE},[t.EExtensionTypes.postPurchaseCustomizer]:{externalType:"post_purchase",type:"post_purchase_customizer",noProductErrorMessage:v.POST_PURCHASE_NO_PRODUCT_ERROR_MESSAGE}},n=o[x];await (0,s.devUiCustomizer)({extension:await (0,u.getUiCustomizer)({name:g.EXTENSION_TITLE,cwd:w,externalType:n.externalType,outputBundlePath:(0,l.joinPath)(w,"build/main.js"),uuid:g.EXTENSION_UUID,type:n.type,noProductErrorMessage:n.noProductErrorMessage}),reloadNoticeUrl:(0,u.getReloadNoticeUrl)(e),appKey:g.SHOPLINE_APP_KEY,shop:g.SHOP,storeId:m,port:P.port,webProxyPort:C,signal:r.signal,url:e,previewPath:(0,u.getPreviewPath)(g.EXTENSION_UUID)})}else x===t.EExtensionTypes.pixelsExtension&&await (0,s.devPixelsExtension)({extension:{uuid:g.EXTENSION_UUID,directory:w},port:P.port,shop:g.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.`)}
|
|
2
|
+
//# sourceMappingURL=serve.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(t,e){for(var r in e)Object.defineProperty(t,r,{enumerable:!0,get:e[r]})}(exports,{startTunnel:()=>c,pollTunnelURL:()=>d});const t=require("stream"),e=require("../../../utils/abort"),r=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var r=i(e);if(r&&r.has(t))return r.get(t);var n={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in t)if("default"!==o&&Object.prototype.hasOwnProperty.call(t,o)){var s=u?Object.getOwnPropertyDescriptor(t,o):null;s&&(s.get||s.set)?Object.defineProperty(n,o,s):n[o]=t[o]}return n.default=t,r&&r.set(t,n),n}(require("./install-cloudflared")),n=require("../../../utils/local"),u=require("../../../utils/system"),o=require("../../../utils/error"),s=require("../../../utils/output"),a=function(t){return t&&t.__esModule?t:{default:t}}(require("../../../utils/winston"));function l(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function i(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,r=new WeakMap;return(i=function(t){return t?r:e})(t)}async function c(t){try{let e=new g(t);await e.startTunnel();let r=await d(e);return r}catch(t){if(t instanceof o.AbortError)throw t;throw new o.AbortError(`unknown error: ${t.message}`)}}async function d(t){return new Promise((e,r)=>{let n=0,u=async()=>{let u=t.getTunnelStatus();if(a.default.log(`Tunnel status: ${u.status}`),(0,s.outputDebug)(`Polling tunnel status for cloudflare (attempt ${n}): ${u.status}`),"error"===u.status)return r(new o.AbortError(u.message,u.tryMessage));"connected"===u.status?e(u.url):(n+=1,a.default.log(`Tunnel not connected yet, retrying ${n} times...`),l())},l=()=>{setTimeout(u,500)};u()})}const f=(0,n.isUnitTest)()?.2:40;class g{async startTunnel(){try{await (0,r.default)(),this.tunnel()}catch(t){this.currentStatus={status:"error",message:t.message,tryMessage:p()}}}getTunnelStatus(){return this.currentStatus}stopTunnel(){var t;null===(t=this.abortController)||void 0===t||t.abort()}tunnel(l=0){var i;let c;this.abortController=new e.AbortController;let d=!1;if(l>=5){a.default.log("Max tunnel retries reached: 5, stopping tunnel..."),d=!0,this.currentStatus={status:"error",message:"Could not start Cloudflare tunnel: max retries reached.",tryMessage:p()};return}let g=["tunnel","--url",`http://localhost:${this.port}`,"--no-autoupdate"],h=[],m=!1;this.currentStatus={status:"starting"},setTimeout(()=>{if(!d){var t;a.default.log(`Tunnel timeout reached: ${f}, aborting tunnel...`),d=!0;let e=[...new Set(h)].slice(-5).join("\n");""===e?this.currentStatus={status:"error",message:"Could not start Cloudflare tunnel: unknown error.",tryMessage:p()}:this.currentStatus={status:"error",message:e,tryMessage:p()},null===(t=this.abortController)||void 0===t||t.abort()}},1e3*f);let y=this,b=new t.Writable({write(t,e,r){if((0,s.outputDebug)(t.toString()),a.default.log(`cloudflared tunnel output: ${t.toString()}`),d)return;c||(c=function(t){var e;let r=RegExp("(https:\\/\\/[^\\s]+\\.trycloudflare.com)"),n=null!==(e=t.toString().match(r))&&void 0!==e?e:void 0;return n&&n[1]}(t)),function(t){var e;let r=null!==(e=t.toString().match(/(INF Registered tunnel connection|INF Connection)/))&&void 0!==e?e:void 0;return r&&r[0]}(t)&&(m=!0),m&&(c?(d=!0,y.currentStatus={status:"connected",url:c}):y.currentStatus={status:"error",message:"Could not start Cloudflare tunnel: URL not found."});let n=function(t){let e=[/failed to request quick Tunnel/,/failed to unmarshal quick Tunnel/,/failed to parse quick Tunnel ID/,/failed to provision routing/,/ERR Couldn't start tunnel/,/ERR Failed to serve quic connection/,/ERR Failed to create new quic connection error/].some(e=>e.test(t.toString()));if(e)return`Could not start Cloudflare tunnel: ${t.toString().replace(/^[0-9TZ:-]+ (ERR )?/g,"").replace(/connIndex.*/g,"")}`}(t);n&&h.push(n),r()}});a.default.log(`Starting cloudflared tunnel with args: ${g.join(" ")}`),(0,u.exec)((0,r.getBinPathTarget)(),g,{stdout:b,stderr:b,signal:null===(i=this.abortController)||void 0===i?void 0:i.signal,externalErrorHandler:async t=>{if(a.default.log(`Cloudflare tunnel error: ${t.message}`),t.message.includes("Unknown system error -86")){this.currentStatus={status:"error",message:"Could not start Cloudflare tunnel: Missing Rosetta 2.",tryMessage:"Install it by running 'softwareupdate --install-rosetta' and try again"};return}if(d)throw new o.BugError(`Could not start Cloudflare tunnel: process crashed after stablishing a connection: ${t.message}`,p());(0,s.outputDebug)(`Cloudflare tunnel crashed: ${t.message}, restarting...`),(0,n.isUnitTest)()||await (0,u.sleep)(1),this.tunnel(l+1)}})}constructor(t){l(this,"port",void 0),l(this,"currentStatus",{status:"not-started"}),l(this,"abortController",void 0),this.port=t}}function p(){return["What to try:",{list:{items:[["Run the command again"]]}}]}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(t,e){for(var r in e)Object.defineProperty(t,r,{enumerable:!0,get:e[r]})}(exports,{startTunnel:()=>c,pollTunnelURL:()=>d});const t=require("stream"),e=require("../../../utils/abort"),r=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var r=i(e);if(r&&r.has(t))return r.get(t);var n={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in t)if("default"!==o&&Object.prototype.hasOwnProperty.call(t,o)){var s=u?Object.getOwnPropertyDescriptor(t,o):null;s&&(s.get||s.set)?Object.defineProperty(n,o,s):n[o]=t[o]}return n.default=t,r&&r.set(t,n),n}(require("./install-cloudflared")),n=require("../../../utils/local"),u=require("../../../utils/system"),o=require("../../../utils/error"),s=require("../../../utils/output"),a=function(t){return t&&t.__esModule?t:{default:t}}(require("../../../utils/winston"));function l(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function i(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,r=new WeakMap;return(i=function(t){return t?r:e})(t)}async function c(t){try{let e=new g(t);await e.startTunnel();let r=await d(e);return r}catch(t){if(t instanceof o.AbortError)throw t;throw new o.AbortError(`unknown error: ${t.message}`)}}async function d(t){return new Promise((e,r)=>{let n=0,u=async()=>{let u=t.getTunnelStatus();if(a.default.log(`Tunnel status: ${u.status}`),(0,s.outputDebug)(`Polling tunnel status for cloudflare (attempt ${n}): ${u.status}`),"error"===u.status)return r(new o.AbortError(u.message,u.tryMessage));"connected"===u.status?e(u.url):(n+=1,a.default.log(`Tunnel not connected yet, retrying ${n} times...`),l())},l=()=>{setTimeout(u,500)};u()})}const f=(0,n.isUnitTest)()?.2:40;class g{async startTunnel(){try{await (0,r.default)(),this.tunnel()}catch(t){this.currentStatus={status:"error",message:t.message,tryMessage:p()}}}getTunnelStatus(){return this.currentStatus}stopTunnel(){var t;null===(t=this.abortController)||void 0===t||t.abort()}tunnel(l=0){var i;let c;this.abortController=new e.AbortController;let d=!1;if(l>=5){a.default.log("Max tunnel retries reached: 5, stopping tunnel..."),d=!0,this.currentStatus={status:"error",message:"Could not start Cloudflare tunnel: max retries reached.",tryMessage:p()};return}let g=["tunnel","--url",`http://localhost:${this.port}`,"--no-autoupdate"],h=[],m=!1;this.currentStatus={status:"starting"},setTimeout(()=>{if(!d){var t;a.default.log(`Tunnel timeout reached: ${f}, aborting tunnel...`),d=!0;let e=[...new Set(h)].slice(-5).join("\n");""===e?this.currentStatus={status:"error",message:"Could not start Cloudflare tunnel: unknown error.",tryMessage:p()}:this.currentStatus={status:"error",message:e,tryMessage:p()},null===(t=this.abortController)||void 0===t||t.abort()}},1e3*f);let y=this,b=new t.Writable({write(t,e,r){if((0,s.outputDebug)(t.toString()),a.default.log(`cloudflared tunnel output: ${t.toString()}`),d)return;c||(c=function(t){var e;let r=RegExp("(https:\\/\\/[^\\s]+\\.trycloudflare.com)"),n=null!==(e=t.toString().match(r))&&void 0!==e?e:void 0;return n&&n[1]}(t)),function(t){var e;let r=null!==(e=t.toString().match(/(INF Registered tunnel connection|INF Connection)/))&&void 0!==e?e:void 0;return r&&r[0]}(t)&&(m=!0),m&&(c?(d=!0,y.currentStatus={status:"connected",url:c}):y.currentStatus={status:"error",message:"Could not start Cloudflare tunnel: URL not found."});let n=function(t){let e=[/failed to request quick Tunnel/,/failed to unmarshal quick Tunnel/,/failed to parse quick Tunnel ID/,/failed to provision routing/,/ERR Couldn't start tunnel/,/ERR Failed to serve quic connection/,/ERR Failed to create new quic connection error/].some(e=>e.test(t.toString()));if(e)return`Could not start Cloudflare tunnel: ${t.toString().replace(/^[0-9TZ:-]+ (ERR )?/g,"").replace(/connIndex.*/g,"")}`}(t);n&&h.push(n),r()}});a.default.log(`Starting cloudflared tunnel with args: ${g.join(" ")}`),(0,u.exec)((0,r.getBinPathTarget)(),g,{stdout:b,stderr:b,signal:null===(i=this.abortController)||void 0===i?void 0:i.signal,externalErrorHandler:async t=>{if(a.default.log(`Cloudflare tunnel error: ${t.message}`),t.message.includes("Unknown system error -86")){this.currentStatus={status:"error",message:"Could not start Cloudflare tunnel: Missing Rosetta 2.",tryMessage:"Install it by running 'softwareupdate --install-rosetta' and try again"};return}if(d)throw new o.BugError(`Could not start Cloudflare tunnel: process crashed after stablishing a connection: ${t.message}`,p());(0,s.outputDebug)(`Cloudflare tunnel crashed: ${t.message}, restarting...`),(0,n.isUnitTest)()||await (0,u.sleep)(1),this.tunnel(l+1)}})}constructor(t){l(this,"port",void 0),l(this,"currentStatus",{status:"not-started"}),l(this,"abortController",void 0),this.port=t}}function p(){return["What to try:",{list:{items:[["Run the command again"]]}}]}
|
|
2
|
+
//# sourceMappingURL=cloudflared.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,l){for(var t in l)Object.defineProperty(e,t,{enumerable:!0,get:l[t]})}(exports,{CURRENT_CLOUDFLARE_VERSION:()=>u,getBinPathTarget:()=>f,default:()=>p,versionIsGreaterThan:()=>m});const e=require("child_process"),l=require("stream"),t=d(require("util")),r=require("../../../utils/fs"),a=require("../../../utils/output"),i=require("../../../utils/path"),n=require("../../../utils/http"),o=d(require("../../../utils/winston"));function d(e){return e&&e.__esModule?e:{default:e}}const u="2024.2.1",s=`https://github.com/cloudflare/cloudflared/releases/download/${u}/`,c={linux:{arm64:"cloudflared-linux-arm64",arm:"cloudflared-linux-arm",x64:"cloudflared-linux-amd64",ia32:"cloudflared-linux-386"},darwin:{arm64:"cloudflared-darwin-amd64.tgz",x64:"cloudflared-darwin-amd64.tgz"},win32:{x64:"cloudflared-windows-amd64.exe",ia32:"cloudflared-windows-386.exe",arm64:"cloudflared-windows-amd64.exe"}};function f(e=process.platform){return(0,i.joinPath)(__dirname,"..","bin","win32"===e?"cloudflared.exe":"cloudflared")}async function p(l=process.platform,t=process.arch){let i=function(e=process.platform,l=process.arch){let t=Object.keys(c);if(!t.includes(e))throw Error(`Unsupported system platform: ${e}`);let r=c[e][l];if(void 0===r)throw Error(`Unsupported system arch: ${l}`);return s+r}(l,t);o.default.log(`Get will be download cloudflared URL: ${i}`);let n=f(l);o.default.log(`Will be install cloudflared to: ${n}`);try{if((0,r.fileExistsSync)(n)){o.default.log("cloudflared already installed, skipping");let l=(0,e.execFileSync)(n,["--version"],{encoding:"utf8"}).split(" "),t=l.length>2?l[2]:"0.0.0",r=m(u,t);if(!r){(0,a.outputDebug)("cloudflared already installed, skipping");return}}}catch(e){(0,a.outputDebug)("version check failed, reinstalling")}if(o.default.log(`cloudflared not installed, installing with platform: ${l}...`),"linux"===l)await w(i,n);else if("darwin"===l)await y(i,n);else if("win32"===l)await g(i,n);else throw Error(`Unsupported system platform: ${l}`);o.default.log(`cloudflared installed to: ${n}`)}function m(e,l){let[t,r,a]=e.split(".").map(Number),[i,n,o]=l.split(".").map(Number);return t!==i?(null!=t?t:0)>(null!=i?i:0):r!==n?(null!=r?r:0)>(null!=n?n:0):(null!=a?a:0)>(null!=o?o:0)}async function w(e,l){await h(e,l),await (0,r.chmod)(l,"755")}async function y(l,t){await h(l,`${t}.tgz`);let a=(0,i.basename)(`${t}.tgz`);(0,e.execSync)(`tar -xzf ${a}`,{cwd:(0,i.dirname)(t)}),(0,r.unlinkFileSync)(`${t}.tgz`),await (0,r.renameFile)(`${(0,i.dirname)(t)}/cloudflared`,t)}async function g(e,l){await h(e,l)}async function h(e,a){(0,r.fileExistsSync)((0,i.dirname)(a))||(0,r.mkdirSync)((0,i.dirname)(a));let o=t.default.promisify(l.pipeline),d=await (0,n.fetch)(e,{redirect:"follow"});if(!d.ok||!d.body)throw Error(`Couldn't download file ${e} (${d.status} ${d.statusText})`);let u=(0,r.createFileWriteStream)(a);return await o(d.body,u),a}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,l){for(var t in l)Object.defineProperty(e,t,{enumerable:!0,get:l[t]})}(exports,{CURRENT_CLOUDFLARE_VERSION:()=>u,getBinPathTarget:()=>f,default:()=>p,versionIsGreaterThan:()=>m});const e=require("child_process"),l=require("stream"),t=d(require("util")),r=require("../../../utils/fs"),a=require("../../../utils/output"),i=require("../../../utils/path"),n=require("../../../utils/http"),o=d(require("../../../utils/winston"));function d(e){return e&&e.__esModule?e:{default:e}}const u="2024.2.1",s=`https://github.com/cloudflare/cloudflared/releases/download/${u}/`,c={linux:{arm64:"cloudflared-linux-arm64",arm:"cloudflared-linux-arm",x64:"cloudflared-linux-amd64",ia32:"cloudflared-linux-386"},darwin:{arm64:"cloudflared-darwin-amd64.tgz",x64:"cloudflared-darwin-amd64.tgz"},win32:{x64:"cloudflared-windows-amd64.exe",ia32:"cloudflared-windows-386.exe",arm64:"cloudflared-windows-amd64.exe"}};function f(e=process.platform){return(0,i.joinPath)(__dirname,"..","bin","win32"===e?"cloudflared.exe":"cloudflared")}async function p(l=process.platform,t=process.arch){let i=function(e=process.platform,l=process.arch){let t=Object.keys(c);if(!t.includes(e))throw Error(`Unsupported system platform: ${e}`);let r=c[e][l];if(void 0===r)throw Error(`Unsupported system arch: ${l}`);return s+r}(l,t);o.default.log(`Get will be download cloudflared URL: ${i}`);let n=f(l);o.default.log(`Will be install cloudflared to: ${n}`);try{if((0,r.fileExistsSync)(n)){o.default.log("cloudflared already installed, skipping");let l=(0,e.execFileSync)(n,["--version"],{encoding:"utf8"}).split(" "),t=l.length>2?l[2]:"0.0.0",r=m(u,t);if(!r){(0,a.outputDebug)("cloudflared already installed, skipping");return}}}catch(e){(0,a.outputDebug)("version check failed, reinstalling")}if(o.default.log(`cloudflared not installed, installing with platform: ${l}...`),"linux"===l)await w(i,n);else if("darwin"===l)await y(i,n);else if("win32"===l)await g(i,n);else throw Error(`Unsupported system platform: ${l}`);o.default.log(`cloudflared installed to: ${n}`)}function m(e,l){let[t,r,a]=e.split(".").map(Number),[i,n,o]=l.split(".").map(Number);return t!==i?(null!=t?t:0)>(null!=i?i:0):r!==n?(null!=r?r:0)>(null!=n?n:0):(null!=a?a:0)>(null!=o?o:0)}async function w(e,l){await h(e,l),await (0,r.chmod)(l,"755")}async function y(l,t){await h(l,`${t}.tgz`);let a=(0,i.basename)(`${t}.tgz`);(0,e.execSync)(`tar -xzf ${a}`,{cwd:(0,i.dirname)(t)}),(0,r.unlinkFileSync)(`${t}.tgz`),await (0,r.renameFile)(`${(0,i.dirname)(t)}/cloudflared`,t)}async function g(e,l){await h(e,l)}async function h(e,a){(0,r.fileExistsSync)((0,i.dirname)(a))||(0,r.mkdirSync)((0,i.dirname)(a));let o=t.default.promisify(l.pipeline),d=await (0,n.fetch)(e,{redirect:"follow"});if(!d.ok||!d.body)throw Error(`Couldn't download file ${e} (${d.status} ${d.statusText})`);let u=(0,r.createFileWriteStream)(a);return await o(d.body,u),a}
|
|
2
|
+
//# sourceMappingURL=install-cloudflared.js.map
|
|
@@ -1 +1,2 @@
|
|
|
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.postPurchaseCustomizer="postPurchaseCustomizer",e.pixelsExtension="pixelsExtension",e.shopperExtension="shopperExtension"}(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.postPurchaseCustomizer="postPurchaseCustomizer",e.pixelsExtension="pixelsExtension",e.shopperExtension="shopperExtension"}(n||(n={}));
|
|
2
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1,2 @@
|
|
|
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:()=>y,removeFile:()=>x,getEnvPath:()=>N,formatTime:()=>I,getExtensionLink:()=>_,getAppVersionManageLink:()=>P,getDeveloperPlatformLink:()=>S,getStoreUrl:()=>O,getShopHandle:()=>w,validateSchemaError:()=>F,isMatchedInterpolation:()=>v,getNonMatchedOptionInterpolation:()=>C,buildPartnerChoice:()=>$,buildAppChoice:()=>g,buildExtChoice:()=>L,buildExtensionTypeChoice:()=>A,buildStoreChoice:()=>U,getExtensionType:()=>j,getExtensionConfig:()=>b,generateDevUUID:()=>q,getExtShowType:()=>D,getExtType:()=>R,getExtensionName:()=>X});const e=require("path"),t=d(require("fs-extra")),i=require("uuid"),n=require("light-date"),o=d(require("js-yaml")),s=require("./const"),r=require("./types"),a=require("./api"),p=d(require("../../utils/colors")),l=require("../../utils/path"),u=require("../../utils/fs"),E=require("../../utils/toml"),c=require("./schemas"),m=require("../../utils/error"),f=require("./functions/schemas"),h=require("./functions/info"),T=require("./push/shopper");function d(e){return e&&e.__esModule?e:{default:e}}function y(e){let t=e.match(/{{\s*#schema\s*}}([\s\S]*?){{\s*\/schema\s*}}/);return t?t[1]:""}function x(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 I(e=Date.now(),t="{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}"){let i=new Date(e);return(0,n.format)(i,t)}function _(e){let t=s.DEFAULT_EXTENSION_ENDPOINT;return e.env&&(t=s.EXTENSION_ENDPOINTS[e.env]),`${t}/${s.EXTENSION_LINK_PATH}/${e.appKey}/${e.extensionUuid}`}function P(e){let t=s.DEFAULT_EXTENSION_ENDPOINT;return e.env&&(t=s.EXTENSION_ENDPOINTS[e.env]),`${t}/${s.APP_VERSION_MANAGE_LINK_PATH}?appKey=${e.appKey}`}function S(e){return e?s.EXTENSION_ENDPOINTS[e]:s.DEFAULT_EXTENSION_ENDPOINT}function O(e,t){return"dev"===t?`${e}.myshoplinedev.com`:"test"===t?`${e}.myshoplinestg.com`:"pre"===t?`${e}.preview.myshopline.com`:`${e}.myshopline.com`}function w(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 F(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 v(e){return/^{{\s*apps\.metafields\.\w+(\.\w+)+?(?:\.value)\s*}}$/.test(e)}function C(e){let t=e.map((e,t)=>{if(Object.prototype.hasOwnProperty.call(e,"options")&&"string"==typeof e.options){let i=s.OPTION_TYPES.includes(e.type);if(v(e.options)&&i)return{pass:!0,reason:"",field:""};if(v(e.options))return{pass:!1,reason:`must be one of ${s.OPTION_TYPES.join(", ")}`,field:`settings[${t}].type`};if(i)return{pass:!1,reason:s.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} ${p.default.magenta(`by ${t}`)}`,value:e}))}function L(e){return[...e.map(e=>({label:`${e.name} ${p.default.magenta(e.type)}`,value:e})),{label:"Register a new extension",value:{}}]}function A(e){let t=s.EXTENSION_TYPES;return e.length>0?t.concat(e.map(e=>({label:`${e.templateName} - Function`,value:e.templateName}))):t}function U(e){return e.map(e=>({label:e.storeName,value:e}))}async function j(e){let i=(0,l.joinPath)(e,s.EXTENSION_CONFIG_FILE),n=(0,l.joinPath)(e,s.CHECKOUT_UI_CONFIG_FILE),a=(0,l.joinPath)(e,s.POST_PURCHASE_CONFIG_FILE),p=(0,l.joinPath)(e,s.FUNCTION_CONFIG_FILE),T=(0,l.joinPath)(e,s.PIXELS_CONFIG_FILE),d=(0,l.joinPath)(e,s.SHOPPER_CONFIG_FILE);if(await (0,u.fileExists)(i)){let e=o.default.load(t.default.readFileSync(i,"utf8"));if("extension"===e.project_type)return r.EExtensionTypes.themeAppExtension}if(await (0,u.fileExists)(n)){let e=await (0,u.readFile)(n),t=(0,E.decodeToml)(e),{type:i}=await c.TypeSchema.parse(t);if("checkout_ui_customizer"===i)return r.EExtensionTypes.checkoutUiCustomizer}if(await (0,u.fileExists)(a)){let e=await (0,u.readFile)(a),t=(0,E.decodeToml)(e),{type:i}=await c.TypeSchema.parse(t);if("post_purchase_customizer"===i)return r.EExtensionTypes.postPurchaseCustomizer}if(await (0,u.fileExists)(p)){let e=await (0,u.readFile)(p),t=(0,E.decodeToml)(e),{type:i}=await f.FunctionTypeSchema.parse(t);if(await (0,h.isFunctionType)(i))return i}if(await (0,u.fileExists)(T)){let e=await (0,u.readFile)(T),t=(0,E.decodeToml)(e),{type:i}=await c.TypeSchema.parse(t);if("shopline-pixels-extension"===i)return r.EExtensionTypes.pixelsExtension}if(await (0,u.fileExists)(d)){let e=await (0,u.readFile)(d),t=(0,E.decodeToml)(e),{type:i}=await c.TypeSchema.parse(t);if([1,2].includes(i))return`${r.EExtensionTypes.shopperExtension}--${i}`}throw new m.AbortError("The directory you are in is not a valid extension project.")}async function b(e,i){if(e===r.EExtensionTypes.themeAppExtension){let e=(0,l.joinPath)(i,s.EXTENSION_CONFIG_FILE);if(await (0,u.fileExists)(e)){let i=o.default.load(t.default.readFileSync(e,"utf8"));if("extension"===i.project_type)return{type:r.EExtensionTypes.themeAppExtension,name:"theme-app-extension"}}}if(e===r.EExtensionTypes.checkoutUiCustomizer){let e=(0,l.joinPath)(i,s.CHECKOUT_UI_CONFIG_FILE);if(await (0,u.fileExists)(e)){let t=await (0,u.readFile)(e),i=(0,E.decodeToml)(t),{name:n}=await c.TypeSchema.parse(i);return{type:r.EExtensionTypes.checkoutUiCustomizer,name:n}}}if(e===r.EExtensionTypes.postPurchaseCustomizer){let e=(0,l.joinPath)(i,s.POST_PURCHASE_CONFIG_FILE);if(await (0,u.fileExists)(e)){let t=await (0,u.readFile)(e),i=(0,E.decodeToml)(t),{name:n}=await c.TypeSchema.parse(i);return{type:r.EExtensionTypes.postPurchaseCustomizer,name:n}}}if(e===r.EExtensionTypes.pixelsExtension){let e=(0,l.joinPath)(i,s.PIXELS_CONFIG_FILE);if(await (0,u.fileExists)(e)){let t=await (0,u.readFile)(e),i=(0,E.decodeToml)(t),{name:n}=await c.TypeSchema.parse(i);return{type:r.EExtensionTypes.pixelsExtension,name:n}}}let n=(0,l.joinPath)(i,s.FUNCTION_CONFIG_FILE);if(await (0,u.fileExists)(n)){let e=await (0,u.readFile)(n),t=(0,E.decodeToml)(e),{type:i,name:o}=await f.FunctionTypeSchema.parse(t);if(await (0,h.isFunctionType)(i))return{type:i,name:o}}if(e.startsWith(r.EExtensionTypes.shopperExtension)){let t=(0,l.joinPath)(i,s.SHOPPER_CONFIG_FILE);if(await (0,u.fileExists)(t)){let i=await (0,u.readFile)(t),n=(0,E.decodeToml)(i),{name:o}=await c.TypeSchema.parse(n);return{type:(0,T.getShopperType)(e),name:o}}}throw new m.AbortError(`Invalid extension type: ${e}`)}function q(){return`dev-${(0,i.v4)()}`}function D(e){let t=s.EXTENSION_TYPES.find(t=>t.value===e);return null==t?void 0:t.label}function R(e){return e===r.EExtensionTypes.checkoutUiCustomizer?a.ERegisterType.CHECKOUT_UI:e===r.EExtensionTypes.themeAppExtension?a.ERegisterType.THEME_APP_BLOCK:e===r.EExtensionTypes.pixelsExtension?a.ERegisterType.PIXELS:e.startsWith(r.EExtensionTypes.shopperExtension)?(0,T.getShopperType)(e):e===r.EExtensionTypes.postPurchaseCustomizer?a.ERegisterType.POST_PURCHASE:void 0}function X(e,t){return e||(t===r.EExtensionTypes.checkoutUiCustomizer?"checkout-ui-customizer":t===r.EExtensionTypes.themeAppExtension?"theme-app-extension":t===r.EExtensionTypes.pixelsExtension?"shopline-pixels-extension":t.startsWith(r.EExtensionTypes.shopperExtension)?"shopper-extension":t===r.EExtensionTypes.postPurchaseCustomizer?"post-purchase-customizer":t||s.DEFAULT_EXTENSION_NAME)}
|
|
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:()=>y,removeFile:()=>x,getEnvPath:()=>N,formatTime:()=>I,getExtensionLink:()=>_,getAppVersionManageLink:()=>P,getDeveloperPlatformLink:()=>S,getStoreUrl:()=>O,getShopHandle:()=>w,validateSchemaError:()=>F,isMatchedInterpolation:()=>v,getNonMatchedOptionInterpolation:()=>C,buildPartnerChoice:()=>$,buildAppChoice:()=>g,buildExtChoice:()=>L,buildExtensionTypeChoice:()=>A,buildStoreChoice:()=>U,getExtensionType:()=>j,getExtensionConfig:()=>b,generateDevUUID:()=>q,getExtShowType:()=>D,getExtType:()=>R,getExtensionName:()=>X});const e=require("path"),t=d(require("fs-extra")),i=require("uuid"),n=require("light-date"),o=d(require("js-yaml")),s=require("./const"),r=require("./types"),a=require("./api"),p=d(require("../../utils/colors")),l=require("../../utils/path"),u=require("../../utils/fs"),E=require("../../utils/toml"),c=require("./schemas"),m=require("../../utils/error"),f=require("./functions/schemas"),h=require("./functions/info"),T=require("./push/shopper");function d(e){return e&&e.__esModule?e:{default:e}}function y(e){let t=e.match(/{{\s*#schema\s*}}([\s\S]*?){{\s*\/schema\s*}}/);return t?t[1]:""}function x(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 I(e=Date.now(),t="{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}"){let i=new Date(e);return(0,n.format)(i,t)}function _(e){let t=s.DEFAULT_EXTENSION_ENDPOINT;return e.env&&(t=s.EXTENSION_ENDPOINTS[e.env]),`${t}/${s.EXTENSION_LINK_PATH}/${e.appKey}/${e.extensionUuid}`}function P(e){let t=s.DEFAULT_EXTENSION_ENDPOINT;return e.env&&(t=s.EXTENSION_ENDPOINTS[e.env]),`${t}/${s.APP_VERSION_MANAGE_LINK_PATH}?appKey=${e.appKey}`}function S(e){return e?s.EXTENSION_ENDPOINTS[e]:s.DEFAULT_EXTENSION_ENDPOINT}function O(e,t){return"dev"===t?`${e}.myshoplinedev.com`:"test"===t?`${e}.myshoplinestg.com`:"pre"===t?`${e}.preview.myshopline.com`:`${e}.myshopline.com`}function w(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 F(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 v(e){return/^{{\s*apps\.metafields\.\w+(\.\w+)+?(?:\.value)\s*}}$/.test(e)}function C(e){let t=e.map((e,t)=>{if(Object.prototype.hasOwnProperty.call(e,"options")&&"string"==typeof e.options){let i=s.OPTION_TYPES.includes(e.type);if(v(e.options)&&i)return{pass:!0,reason:"",field:""};if(v(e.options))return{pass:!1,reason:`must be one of ${s.OPTION_TYPES.join(", ")}`,field:`settings[${t}].type`};if(i)return{pass:!1,reason:s.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} ${p.default.magenta(`by ${t}`)}`,value:e}))}function L(e){return[...e.map(e=>({label:`${e.name} ${p.default.magenta(e.type)}`,value:e})),{label:"Register a new extension",value:{}}]}function A(e){let t=s.EXTENSION_TYPES;return e.length>0?t.concat(e.map(e=>({label:`${e.templateName} - Function`,value:e.templateName}))):t}function U(e){return e.map(e=>({label:e.storeName,value:e}))}async function j(e){let i=(0,l.joinPath)(e,s.EXTENSION_CONFIG_FILE),n=(0,l.joinPath)(e,s.CHECKOUT_UI_CONFIG_FILE),a=(0,l.joinPath)(e,s.POST_PURCHASE_CONFIG_FILE),p=(0,l.joinPath)(e,s.FUNCTION_CONFIG_FILE),T=(0,l.joinPath)(e,s.PIXELS_CONFIG_FILE),d=(0,l.joinPath)(e,s.SHOPPER_CONFIG_FILE);if(await (0,u.fileExists)(i)){let e=o.default.load(t.default.readFileSync(i,"utf8"));if("extension"===e.project_type)return r.EExtensionTypes.themeAppExtension}if(await (0,u.fileExists)(n)){let e=await (0,u.readFile)(n),t=(0,E.decodeToml)(e),{type:i}=await c.TypeSchema.parse(t);if("checkout_ui_customizer"===i)return r.EExtensionTypes.checkoutUiCustomizer}if(await (0,u.fileExists)(a)){let e=await (0,u.readFile)(a),t=(0,E.decodeToml)(e),{type:i}=await c.TypeSchema.parse(t);if("post_purchase_customizer"===i)return r.EExtensionTypes.postPurchaseCustomizer}if(await (0,u.fileExists)(p)){let e=await (0,u.readFile)(p),t=(0,E.decodeToml)(e),{type:i}=await f.FunctionTypeSchema.parse(t);if(await (0,h.isFunctionType)(i))return i}if(await (0,u.fileExists)(T)){let e=await (0,u.readFile)(T),t=(0,E.decodeToml)(e),{type:i}=await c.TypeSchema.parse(t);if("shopline-pixels-extension"===i)return r.EExtensionTypes.pixelsExtension}if(await (0,u.fileExists)(d)){let e=await (0,u.readFile)(d),t=(0,E.decodeToml)(e),{type:i}=await c.TypeSchema.parse(t);if([1,2].includes(i))return`${r.EExtensionTypes.shopperExtension}--${i}`}throw new m.AbortError("The directory you are in is not a valid extension project.")}async function b(e,i){if(e===r.EExtensionTypes.themeAppExtension){let e=(0,l.joinPath)(i,s.EXTENSION_CONFIG_FILE);if(await (0,u.fileExists)(e)){let i=o.default.load(t.default.readFileSync(e,"utf8"));if("extension"===i.project_type)return{type:r.EExtensionTypes.themeAppExtension,name:"theme-app-extension"}}}if(e===r.EExtensionTypes.checkoutUiCustomizer){let e=(0,l.joinPath)(i,s.CHECKOUT_UI_CONFIG_FILE);if(await (0,u.fileExists)(e)){let t=await (0,u.readFile)(e),i=(0,E.decodeToml)(t),{name:n}=await c.TypeSchema.parse(i);return{type:r.EExtensionTypes.checkoutUiCustomizer,name:n}}}if(e===r.EExtensionTypes.postPurchaseCustomizer){let e=(0,l.joinPath)(i,s.POST_PURCHASE_CONFIG_FILE);if(await (0,u.fileExists)(e)){let t=await (0,u.readFile)(e),i=(0,E.decodeToml)(t),{name:n}=await c.TypeSchema.parse(i);return{type:r.EExtensionTypes.postPurchaseCustomizer,name:n}}}if(e===r.EExtensionTypes.pixelsExtension){let e=(0,l.joinPath)(i,s.PIXELS_CONFIG_FILE);if(await (0,u.fileExists)(e)){let t=await (0,u.readFile)(e),i=(0,E.decodeToml)(t),{name:n}=await c.TypeSchema.parse(i);return{type:r.EExtensionTypes.pixelsExtension,name:n}}}let n=(0,l.joinPath)(i,s.FUNCTION_CONFIG_FILE);if(await (0,u.fileExists)(n)){let e=await (0,u.readFile)(n),t=(0,E.decodeToml)(e),{type:i,name:o}=await f.FunctionTypeSchema.parse(t);if(await (0,h.isFunctionType)(i))return{type:i,name:o}}if(e.startsWith(r.EExtensionTypes.shopperExtension)){let t=(0,l.joinPath)(i,s.SHOPPER_CONFIG_FILE);if(await (0,u.fileExists)(t)){let i=await (0,u.readFile)(t),n=(0,E.decodeToml)(i),{name:o}=await c.TypeSchema.parse(n);return{type:(0,T.getShopperType)(e),name:o}}}throw new m.AbortError(`Invalid extension type: ${e}`)}function q(){return`dev-${(0,i.v4)()}`}function D(e){let t=s.EXTENSION_TYPES.find(t=>t.value===e);return null==t?void 0:t.label}function R(e){return e===r.EExtensionTypes.checkoutUiCustomizer?a.ERegisterType.CHECKOUT_UI:e===r.EExtensionTypes.themeAppExtension?a.ERegisterType.THEME_APP_BLOCK:e===r.EExtensionTypes.pixelsExtension?a.ERegisterType.PIXELS:e.startsWith(r.EExtensionTypes.shopperExtension)?(0,T.getShopperType)(e):e===r.EExtensionTypes.postPurchaseCustomizer?a.ERegisterType.POST_PURCHASE:void 0}function X(e,t){return e||(t===r.EExtensionTypes.checkoutUiCustomizer?"checkout-ui-customizer":t===r.EExtensionTypes.themeAppExtension?"theme-app-extension":t===r.EExtensionTypes.pixelsExtension?"shopline-pixels-extension":t.startsWith(r.EExtensionTypes.shopperExtension)?"shopper-extension":t===r.EExtensionTypes.postPurchaseCustomizer?"post-purchase-customizer":t||s.DEFAULT_EXTENSION_NAME)}
|
|
2
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -1,3 +1,4 @@
|
|
|
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,{default:()=>a,validateBlockSchema3:()=>n});const e=require("./const"),t=require("./utils");function r(){class e extends Map{set2(e,t){super.set(e,t)}get2(e){return super.get(e)}validate(e){for(let[t,r]of super.entries()){let a=Object.prototype.hasOwnProperty.call(e,t);r(null==e?void 0:e[t],a)}}}return new e}function a(a,n){let i=null,{relativeFile:l}=n,s=t=>t.every(t=>e.ALL_TEMPLATES.includes(t)),o=r(),f=(0,t.validateSchemaError)(l);o.set2("name",e=>{e||f("must be required","name")}),o.set2("target",t=>{t||f("must be required","target"),e.TARGETS.includes(t)||f(`must be one of ${e.TARGETS.join(", ")}`,"target")}),o.set2("stylesheet",e=>{if(Array.isArray(e)&&e.length>0){let t=e.map(e=>"string"==typeof e?e.trim():e).filter(Boolean);0===t.length&&f("Leave blank or fill in at least one")}}),o.set2("javascript",e=>{if(Array.isArray(e)&&e.length>0){let t=e.map(e=>"string"==typeof e?e.trim():e).filter(Boolean);0===t.length&&f("Leave blank or fill in at least one")}}),o.set2("templates",t=>{Array.isArray(t)&&t.length>0&&!s(t)&&f(`must be one of:
|
|
2
2
|
${e.ALL_TEMPLATES.join("\n")}`,"templates")}),o.set2("tag",t=>{t&&!e.TAGS.includes(t)&&f(`must be one of ${e.TAGS.join(", ")}`,"tag")}),o.set2("available_if",(r,a)=>{a&&("string"!=typeof r||!(0,t.isMatchedInterpolation)(r))&&f(e.ERRORS.INVALID_INTERPOLATION,"available_if")}),o.set2("settings",e=>{if(e&&Array.isArray(e)){let r=(0,t.getNonMatchedOptionInterpolation)(e);r.forEach(e=>{f(e.reason,e.field)})}});try{i=JSON.parse(a)}catch(e){f()}return i||f(),o.validate(i),!0}function n(a,n){let i=null,{relativeFile:l}=n,s=t=>t.every(t=>e.ALL_TEMPLATES_3.includes(t)),o=r(),f=(0,t.validateSchemaError)(l);o.set2("name",e=>{e||f("must be required","name")}),o.set2("target",t=>{t||f("must be required","target"),e.TARGETS.includes(t)||f(`must be one of ${e.TARGETS.join(", ")}`,"target")}),o.set2("stylesheet",e=>{if(Array.isArray(e)&&e.length>0){let t=e.map(e=>"string"==typeof e?e.trim():e).filter(Boolean);0===t.length&&f("Leave blank or fill in at least one")}}),o.set2("javascript",e=>{if(Array.isArray(e)&&e.length>0){let t=e.map(e=>"string"==typeof e?e.trim():e).filter(Boolean);0===t.length&&f("Leave blank or fill in at least one")}}),o.set2("templates",t=>{Array.isArray(t)&&t.length>0&&!s(t)&&f(`must be one of:
|
|
3
|
-
${e.ALL_TEMPLATES_3.join("\n")}`,"templates")}),o.set2("tag",t=>{t&&!e.TAGS.includes(t)&&f(`must be one of ${e.TAGS.join(", ")}`,"tag")}),o.set2("available_if",(r,a)=>{a&&("string"!=typeof r||!(0,t.isMatchedInterpolation)(r))&&f(e.ERRORS.INVALID_INTERPOLATION,"available_if")}),o.set2("settings",e=>{if(e&&Array.isArray(e)){let r=(0,t.getNonMatchedOptionInterpolation)(e);r.forEach(e=>{f(e.reason,e.field)})}});try{i=JSON.parse(a)}catch(e){f()}return i||f(),o.validate(i),!0}
|
|
3
|
+
${e.ALL_TEMPLATES_3.join("\n")}`,"templates")}),o.set2("tag",t=>{t&&!e.TAGS.includes(t)&&f(`must be one of ${e.TAGS.join(", ")}`,"tag")}),o.set2("available_if",(r,a)=>{a&&("string"!=typeof r||!(0,t.isMatchedInterpolation)(r))&&f(e.ERRORS.INVALID_INTERPOLATION,"available_if")}),o.set2("settings",e=>{if(e&&Array.isArray(e)){let r=(0,t.getNonMatchedOptionInterpolation)(e);r.forEach(e=>{f(e.reason,e.field)})}});try{i=JSON.parse(a)}catch(e){f()}return i||f(),o.validate(i),!0}
|
|
4
|
+
//# sourceMappingURL=validate.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,r){for(var o in r)Object.defineProperty(e,o,{enumerable:!0,get:r[o]})}(exports,{zip:()=>t,removeZip:()=>c});const e=o(require("fs")),r=o(require("archiver"));function o(e){return e&&e.__esModule?e:{default:e}}const s=`${process.cwd()}/dist.zip`;function t(o=s){return new Promise((s,t)=>{let c=(0,r.default)("zip",{zlib:{level:9}}),i=e.default.createWriteStream(o);i.on("close",()=>{}),i.on("finish",()=>{s({output:o,size:c.pointer()})}),c.on("error",()=>{t(Error("Failed to compress!"))}),c.pipe(i),c.glob("assets/**/*",{cwd:process.cwd()}).glob("blocks/**/*.html",{cwd:process.cwd()}).glob("snippets/**/*.html",{cwd:process.cwd()}).glob("locales/**/*.json",{cwd:process.cwd()}).finalize()})}function c(r=s){e.default.unlinkSync(r)}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,r){for(var o in r)Object.defineProperty(e,o,{enumerable:!0,get:r[o]})}(exports,{zip:()=>t,removeZip:()=>c});const e=o(require("fs")),r=o(require("archiver"));function o(e){return e&&e.__esModule?e:{default:e}}const s=`${process.cwd()}/dist.zip`;function t(o=s){return new Promise((s,t)=>{let c=(0,r.default)("zip",{zlib:{level:9}}),i=e.default.createWriteStream(o);i.on("close",()=>{}),i.on("finish",()=>{s({output:o,size:c.pointer()})}),c.on("error",()=>{t(Error("Failed to compress!"))}),c.pipe(i),c.glob("assets/**/*",{cwd:process.cwd()}).glob("blocks/**/*.html",{cwd:process.cwd()}).glob("snippets/**/*.html",{cwd:process.cwd()}).glob("locales/**/*.json",{cwd:process.cwd()}).finalize()})}function c(r=s){e.default.unlinkSync(r)}
|
|
2
|
+
//# sourceMappingURL=zip.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,o){for(var r in o)Object.defineProperty(e,r,{enumerable:!0,get:o[r]})}(exports,{zip:()=>s,removeZip:()=>t});const e=c(require("fs")),o=c(require("archiver")),r=require("./const");function c(e){return e&&e.__esModule?e:{default:e}}const i=`${process.cwd()}/dist.zip`;function s(c=i){return new Promise((i,s)=>{let t=(0,o.default)("zip",{zlib:{level:9}}),n=e.default.createWriteStream(c);n.on("close",()=>{}),n.on("finish",()=>{i({output:c,size:t.pointer()})}),t.on("error",()=>{s(Error("Failed to compress!"))}),t.pipe(n),t.glob("public/**/*",{cwd:process.cwd()}).glob("blocks/**/*",{cwd:process.cwd()}).glob("components/**/*",{cwd:process.cwd()}).glob("i18n/**/*.json",{cwd:process.cwd()}).glob("compatibility/**/*",{cwd:process.cwd()}).glob(r.EXTENSION_CONFIG_FILE,{cwd:process.cwd()}).finalize()})}function t(o=i){e.default.unlinkSync(o)}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,o){for(var r in o)Object.defineProperty(e,r,{enumerable:!0,get:o[r]})}(exports,{zip:()=>s,removeZip:()=>t});const e=c(require("fs")),o=c(require("archiver")),r=require("./const");function c(e){return e&&e.__esModule?e:{default:e}}const i=`${process.cwd()}/dist.zip`;function s(c=i){return new Promise((i,s)=>{let t=(0,o.default)("zip",{zlib:{level:9}}),n=e.default.createWriteStream(c);n.on("close",()=>{}),n.on("finish",()=>{i({output:c,size:t.pointer()})}),t.on("error",()=>{s(Error("Failed to compress!"))}),t.pipe(n),t.glob("public/**/*",{cwd:process.cwd()}).glob("blocks/**/*",{cwd:process.cwd()}).glob("components/**/*",{cwd:process.cwd()}).glob("i18n/**/*.json",{cwd:process.cwd()}).glob("compatibility/**/*",{cwd:process.cwd()}).glob(r.EXTENSION_CONFIG_FILE,{cwd:process.cwd()}).finalize()})}function t(o=i){e.default.unlinkSync(o)}
|
|
2
|
+
//# sourceMappingURL=zip3.js.map
|
|
@@ -1 +1,2 @@
|
|
|
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,{enterStore:()=>c,fetchUdbCookie:()=>p,verifyLogin:()=>m,default:()=>g});const e=n(require("axios")),t=require("../../helpers/sentry"),r=n(require("../../helpers/config")),o=require("./const"),s=n(require("../../utils/debug")),i=require("../../helpers/open-admin-url"),a=n(require("../../utils/winston")),u=require("../../utils/const");function n(e){return e&&e.__esModule?e:{default:e}}const d="/udb/lgn/login/check.do";let l=e.default.create({timeout:5e3,withCredentials:!0});const c=(e,t)=>l.get(`/admin/api/merchant/stores/${e}/token`,t),p=(t,r)=>{let s=(0,o.getAppId)(r);return e.default.create({timeout:1e4}).get(`${(0,i.replaceAdminHandle)(r)}/udb/lgn/cas/callback.do?ticket=${t}&appid=${s}&subappid=${o.SUB_APP_ID}`)},m=e=>{let t=(0,o.getAppId)(e),s=`${d}?appid=${t}&subappid=${o.SUB_APP_ID}`,{loginInfo:i}=r.default,a="";return i&&(a=Object.keys(i).map(e=>`${e}=${i[e]}`).join(";")),l.get(s,{headers:{cookie:a}})},f=r=>{let o=new URL(r);o.pathname="/",(l=e.default.create({baseURL:o.href,timeout:5e3,withCredentials:!0,headers:{"User-Agent":u.CLI_USER_AGENT}})).interceptors.request.use(e=>(s.default.printRequest(e),a.default.logHttp({type:"request",method:e.method,url:e.baseURL+e.url,params:e.params}),e),e=>Promise.reject(e)),l.interceptors.response.use(e=>{var o,i,u,n;if(s.default.printResponse(e.config,e),(0,t.reportHttpRes)(e),a.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===(o=e.data)||void 0===o?void 0:o.traceId)||(null==e?void 0:null===(i=e.data)||void 0===i?void 0:i.trace_id)||(null==e?void 0:null===(u=e.headers)||void 0===u?void 0:u["x-request-id"])||""}),null===(n=e.config.url)||void 0===n?void 0:n.includes(d))return e;if(302===e.status)return Promise.reject(Error("Your store domain does not exist, please check your store domain!"));if(!e.data.success){if("SMS0804"===e.data.code)return Promise.reject(Error(`No permission to access this store domain: ${r}`));let o=Error(e.data.msg?`Request Error:: code: ${e.data.code}; msg: ${e.data.msg}`:"Request Error:: Please retry again!");return(0,t.reportBug)(o),Promise.reject(o)}return e},e=>(e.response&&(0,t.reportHttpRes)(e.response),(0,t.reportBug)(e),Promise.reject(e)))},g=f;
|
|
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,{enterStore:()=>c,fetchUdbCookie:()=>p,verifyLogin:()=>m,default:()=>g});const e=n(require("axios")),t=require("../../helpers/sentry"),r=n(require("../../helpers/config")),o=require("./const"),s=n(require("../../utils/debug")),i=require("../../helpers/open-admin-url"),a=n(require("../../utils/winston")),u=require("../../utils/const");function n(e){return e&&e.__esModule?e:{default:e}}const d="/udb/lgn/login/check.do";let l=e.default.create({timeout:5e3,withCredentials:!0});const c=(e,t)=>l.get(`/admin/api/merchant/stores/${e}/token`,t),p=(t,r)=>{let s=(0,o.getAppId)(r);return e.default.create({timeout:1e4}).get(`${(0,i.replaceAdminHandle)(r)}/udb/lgn/cas/callback.do?ticket=${t}&appid=${s}&subappid=${o.SUB_APP_ID}`)},m=e=>{let t=(0,o.getAppId)(e),s=`${d}?appid=${t}&subappid=${o.SUB_APP_ID}`,{loginInfo:i}=r.default,a="";return i&&(a=Object.keys(i).map(e=>`${e}=${i[e]}`).join(";")),l.get(s,{headers:{cookie:a}})},f=r=>{let o=new URL(r);o.pathname="/",(l=e.default.create({baseURL:o.href,timeout:5e3,withCredentials:!0,headers:{"User-Agent":u.CLI_USER_AGENT}})).interceptors.request.use(e=>(s.default.printRequest(e),a.default.logHttp({type:"request",method:e.method,url:e.baseURL+e.url,params:e.params}),e),e=>Promise.reject(e)),l.interceptors.response.use(e=>{var o,i,u,n;if(s.default.printResponse(e.config,e),(0,t.reportHttpRes)(e),a.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===(o=e.data)||void 0===o?void 0:o.traceId)||(null==e?void 0:null===(i=e.data)||void 0===i?void 0:i.trace_id)||(null==e?void 0:null===(u=e.headers)||void 0===u?void 0:u["x-request-id"])||""}),null===(n=e.config.url)||void 0===n?void 0:n.includes(d))return e;if(302===e.status)return Promise.reject(Error("Your store domain does not exist, please check your store domain!"));if(!e.data.success){if("SMS0804"===e.data.code)return Promise.reject(Error(`No permission to access this store domain: ${r}`));let o=Error(e.data.msg?`Request Error:: code: ${e.data.code}; msg: ${e.data.msg}`:"Request Error:: Please retry again!");return(0,t.reportBug)(o),Promise.reject(o)}return e},e=>(e.response&&(0,t.reportHttpRes)(e.response),(0,t.reportBug)(e),Promise.reject(e)))},g=f;
|
|
2
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -1 +1,2 @@
|
|
|
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,{APP_ID_MAP:()=>t,SUB_APP_ID:()=>r,getAppId:()=>o});const e=function(e){return e&&e.__esModule?e:{default:e}}(require("../../utils/get-store-env")),t={stg:"1163336839",prod:"1165600903"},r="1";function o(r){let o=(0,e.default)(r);return"prod"===o||"pre"===o?t.prod:t.stg}
|
|
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,{APP_ID_MAP:()=>t,SUB_APP_ID:()=>r,getAppId:()=>o});const e=function(e){return e&&e.__esModule?e:{default:e}}(require("../../utils/get-store-env")),t={stg:"1163336839",prod:"1165600903"},r="1";function o(r){let o=(0,e.default)(r);return"prod"===o||"pre"===o?t.prod:t.stg}
|
|
2
|
+
//# sourceMappingURL=const.js.map
|
|
@@ -1 +1,2 @@
|
|
|
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
|
+
"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;
|
|
2
|
+
//# sourceMappingURL=create-server.js.map
|
|
@@ -1 +1,2 @@
|
|
|
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
|
+
"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};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1,2 @@
|
|
|
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
|
+
"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}};
|
|
2
|
+
//# sourceMappingURL=store-enter.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var u in t)Object.defineProperty(e,u,{enumerable:!0,get:t[u]})}(exports,{ElogDay:()=>e,default:()=>n});const t=require("../../utils/path"),u=function(e){return e&&e.__esModule?e:{default:e}}(require("../../utils/winston")),o=require("../../utils/output");async function n(e){let n=(0,t.cwd)(),r=await u.default.getLogFileByPath(n,Number(e.day));r&&(0,o.outputSuccess)((0,o.outputContent)`Your log file is located at: ${o.outputToken.path(r)}, you can provide the file or ${o.outputToken.magenta(u.default.getTraceId())} to SHOPLINE`)}!function(e){e.three="3",e.five="5",e.seven="7",e.ten="10",e.fifteen="15"}(e||(e={}));
|
|
1
|
+
"use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var u in t)Object.defineProperty(e,u,{enumerable:!0,get:t[u]})}(exports,{ElogDay:()=>e,default:()=>n});const t=require("../../utils/path"),u=function(e){return e&&e.__esModule?e:{default:e}}(require("../../utils/winston")),o=require("../../utils/output");async function n(e){let n=(0,t.cwd)(),r=await u.default.getLogFileByPath(n,Number(e.day));r&&(0,o.outputSuccess)((0,o.outputContent)`Your log file is located at: ${o.outputToken.path(r)}, you can provide the file or ${o.outputToken.magenta(u.default.getTraceId())} to SHOPLINE`)}!function(e){e.three="3",e.five="5",e.seven="7",e.ten="10",e.fifteen="15"}(e||(e={}));
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,o){for(var r in o)Object.defineProperty(e,r,{enumerable:!0,get:o[r]})}(exports,{createNewTheme:()=>m,getThemes:()=>R,getThemeInfo:()=>_,uploadTheme:()=>T,getThemeFileList:()=>O,deleteFiles:()=>$,updateFile:()=>b,createFile:()=>I,downloadTheme:()=>S,getThemeFileDetail:()=>C,themeCheck:()=>q});const e=f(require("axios")),o=f(require("form-data")),r=f(require("chalk")),t=f(require("../../../helpers/config")),l=require("../../../utils/const"),i=require("../../../utils/error"),n=require("../const"),s=f(require("../../../utils/debug")),d=f(require("../../../utils/winston")),u=require("../../../helpers/sentry"),a=f(require("../no-second-check")),c=require("../../../utils/ui/render");function f(e){return e&&e.__esModule?e:{default:e}}const{loginInfo:v,currentStore:E}=t.default;function p(e){var o,r;let{monitoring:t}=e.config,l=null==e?void 0:null===(o=e.data)||void 0===o?void 0:o.code;return!(null==t?void 0:null===(r=t.ignoreBusinessCodes)||void 0===r?void 0:r.some(e=>String(e)===String(l)))}function g(e,o){p(o)&&(0,u.reportHttpError)(e,{response:o,source:"theme-3"})}const h=e.default.create({baseURL:`${E}/api/website/admin/theme/cli`,maxContentLength:1/0,maxBodyLength:1/0});h.interceptors.request.use(e=>{if(v){let o=Object.keys(v).map(e=>`${e}=${v[e]}`).join(";"),r=t.default.dfpToken||"";Object.assign(e.headers,{cookie:o,"dfp-token":r,"User-Agent":l.CLI_USER_AGENT})}return(null==e?void 0:e.data)instanceof o.default&&Object.assign(e.headers,null==e?void 0:e.data.getHeaders()),e}),h.interceptors.response.use(async e=>{var o,t,l,u,f,v,E,p,h,m;if("stream"===e.config.responseType)return e;let R=null==e?void 0:null===(o=e.data)||void 0===o?void 0:o.success,_=null==e?void 0:null===(t=e.data)||void 0===t?void 0:t.code,{config:T}=e;if(s.default.printResponse(T,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===(l=e.data)||void 0===l?void 0:l.trace_id)||(null==e?void 0:null===(u=e.headers)||void 0===u?void 0:u["x-request-id"])||""}),n.ERROR_CODES.THEME_COUNT_LIMIT.includes(_)){let o=Error(n.ERRORS.THEME_COUNT_LIMIT);throw g(o,e),o}if(n.ERROR_CODES.DEVELOPMENT_THEME_NOT_EXIST.includes(_)){let o=Error(n.ERRORS.THEME_IS_INVALID);throw g(o,e),o}if(n.ERROR_CODES.FEATURE_KEY_NOT_EXIST.includes(_)){let o=Error(n.ERRORS.FEATURE_KEY_NOT_EXIST);throw g(o,e),o}if(n.ERROR_CODES.NO_SECOND_CHECK.includes(_))await a.default.run();else if(n.ERROR_CODES.INVALID_FILE.includes(_)){console.log();let{errors:o}=e.data.data;o.forEach(({filename:e,message:o})=>{(0,c.renderInfo)({headline:e,body:`${r.default.red("[error]: ")}${o}`})});let t=new i.AbortError(`Theme Check Summary.
|
|
2
2
|
|
|
3
|
-
${
|
|
4
|
-
${JSON.stringify(null!==(m=null==e?void 0:e.data)&&void 0!==m?m:{},null,2)}`);return null==e?void 0:null===(
|
|
3
|
+
${o.length} error${1===o.length?"":"s"} found.`);throw g(t,e),t}if(!R){let o=new i.AbortError(`${null!==(p=null==e?void 0:null===(v=e.config)||void 0===v?void 0:v.baseURL)&&void 0!==p?p:""}${null!==(h=null==e?void 0:null===(E=e.config)||void 0===E?void 0:E.url)&&void 0!==h?h:""}
|
|
4
|
+
${JSON.stringify(null!==(m=null==e?void 0:e.data)&&void 0!==m?m:{},null,2)}`);throw g(o,e),o}return null==e?void 0:null===(f=e.data)||void 0===f?void 0:f.data},e=>{var o,r,t,l,n,s;let a;let c=null===(o=e.response)||void 0===o?void 0:o.status,f=null===(r=e.response)||void 0===r?void 0:r.data,v=(null===(t=e.config)||void 0===t?void 0:t.baseURL)?`${e.config.baseURL}${null!==(n=e.config.url)&&void 0!==n?n:""}`:"",E=(null!==(s=null===(l=e.config)||void 0===l?void 0:l.method)&&void 0!==s?s:"").toUpperCase();if(e.response){let o=(null==f?void 0:f.message)||(null==f?void 0:f.msg)||e.message||"Unknown error";a=`Request failed (${c}): ${o}`}else a=`Network error: ${e.message||"Unable to connect to server"}`;d.default.log(`[API Error] ${E} ${v} - ${a}`),d.default.logError(e);let g=new i.AbortError(a);return g.stack=e.stack,e.code&&(g.code=e.code),(!e.response||p(e.response))&&(0,u.reportHttpError)(g,{response:e.response,requestConfig:e.config,source:"theme-3"}),Promise.reject(g)});const m=e=>h.post("/theme/upload",e),R=async()=>h.get("/themes"),_=(e,o)=>h.get(`/theme/${e}`,{monitoring:o}),T=e=>h.post("/files/upload",e),O=e=>h.get("/files",{params:{themeId:e}}),$=(e,o)=>h.delete("/files",{data:{themeId:e,fileNames:o}}),b=e=>h.put("/file",e),I=e=>h.post("/file",e),S=e=>h.get(`/theme/${e}/download`,{responseType:"stream"}),C=(e,o)=>h.get("/files",{params:{themeId:e,fileNames:o.join(",")}}),q=e=>h.post("/theme/check",e);
|
|
5
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>h});const e=s(require("form-data")),t=s(require("fs")),r=s(require("ora")),i=s(require("./package")),a=s(require("../../../utils/debug")),u=require("./api"),c=s(require("../../../utils/winston")),l=require("../../../utils/ui/render");function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e){return e&&e.__esModule?e:{default:e}}class d extends a.default{getThemeZipFormData(){this.zipFilePath=new i.default({cwd:this.cwd,silent:!0}).pack();let r=new e.default;return r.append("file",t.default.createReadStream(this.zipFilePath)),r}async check(){let e=(0,r.default)("Theme check is running...").start(),i=this.getThemeZipFormData();try{let t=await (0,u.themeCheck)(i);return e.succeed(),t}catch(t){throw e.fail(),t}finally{t.default.unlinkSync(this.zipFilePath)}}constructor(e){super("theme:check"),n(this,"cwd",void 0),n(this,"zipFilePath",""),this.cwd=e.path}}const h=async e=>{c.default.log("Check theme...");let t=new d(e),r=await t.check();(0,l.renderSuccess)({headline:"Theme Check Summary.",body:null==r?void 0:r.message})};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>h});const e=s(require("form-data")),t=s(require("fs")),r=s(require("ora")),i=s(require("./package")),a=s(require("../../../utils/debug")),u=require("./api"),c=s(require("../../../utils/winston")),l=require("../../../utils/ui/render");function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e){return e&&e.__esModule?e:{default:e}}class d extends a.default{getThemeZipFormData(){this.zipFilePath=new i.default({cwd:this.cwd,silent:!0}).pack();let r=new e.default;return r.append("file",t.default.createReadStream(this.zipFilePath)),r}async check(){let e=(0,r.default)("Theme check is running...").start(),i=this.getThemeZipFormData();try{let t=await (0,u.themeCheck)(i);return e.succeed(),t}catch(t){throw e.fail(),t}finally{t.default.unlinkSync(this.zipFilePath)}}constructor(e){super("theme:check"),n(this,"cwd",void 0),n(this,"zipFilePath",""),this.cwd=e.path}}const h=async e=>{c.default.log("Check theme...");let t=new d(e),r=await t.check();(0,l.renderSuccess)({headline:"Theme Check Summary.",body:null==r?void 0:r.message})};
|
|
2
|
+
//# sourceMappingURL=check.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>l});const e=require("crypto"),t=function(e){return e&&e.__esModule?e:{default:e}}(require("mime")),i=require("../../../utils/path"),s=require("../../../utils/fs");function r(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class l{get fullPath(){return(0,i.joinPath)(this.cwd,this.filePath)}get extName(){return(0,i.extname)(this.filePath)}get isExist(){return(0,s.fileExistsSync)(this.fullPath)}get isConfigSchemaFile(){return"theme.schema.json"===this.fileName}get isConfigFile(){return["theme.schema.json","theme.config.json"].includes(this.fileName)}get mimeType(){return this.isExist?t.default.getType(this.filePath):""}get isImageType(){var e,t;return(null===(e=this.mimeType)||void 0===e?void 0:e.startsWith("image/"))&&!(null===(t=this.mimeType)||void 0===t?void 0:t.startsWith("image/svg"))}get fileName(){return this.filePath}get fileContent(){return(0,s.readFileSync)(this.localeFullFilePath,{})}get localeFullFilePath(){let e=(0,i.joinPath)(this.cwd,this.filePath);return e}get checksum(){return(0,e.createHash)("sha256").update(this.fileContent).digest("hex")}constructor(e,t){r(this,"cwd",(0,i.cwd)()),r(this,"filePath",void 0),this.filePath=e,this.cwd=t}}
|
|
2
|
+
//# sourceMappingURL=file.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>p});const e=c(require("pathe")),t=c(require("fs-extra")),i=c(require("fast-glob")),r=c(require("adm-zip")),l=require("../../../utils/fs"),a=c(require("../../../utils/debug")),n=require("../../../utils/path"),u=c(require("../../../utils/colors")),s=require("../utils"),o=c(require("../../../utils/winston")),d=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var i=h(t);if(i&&i.has(e))return i.get(e);var r={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var n=l?Object.getOwnPropertyDescriptor(e,a):null;n&&(n.get||n.set)?Object.defineProperty(r,a,n):r[a]=e[a]}return r.default=e,i&&i.set(e,r),r}(require("../../../utils/logger"));function f(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function c(e){return e&&e.__esModule?e:{default:e}}function h(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(h=function(e){return e?i:t})(e)}class p extends a.default{pack(a){let n=new r.default,f=i.default.sync(a||s.themeDirectoryGlobList3,{cwd:this.cwd});return o.default.log("Pack theme..."),f.forEach(t=>{let i=e.default.dirname(t),r=e.default.join(this.cwd,t);if(this.includeFilter&&this.ignoreFilter){let e=this.ignoreFilter.match(t),l=this.includeFilter.match(t);!e&&l&&(this.silent||d.info(`adding ${u.default.magenta(t)}`,!0),this.log(`adding ${u.default.magenta(t)}`),n.addLocalFile(r,i))}else this.silent||d.info(`adding ${u.default.magenta(t)}`,!0),this.log(`adding ${u.default.magenta(t)}`),n.addLocalFile(r,i)}),(0,l.pathExists)(this.targetZipFilePath)&&t.default.unlinkSync(this.targetZipFilePath),o.default.log(`Write zip file to ${this.targetZipFilePath}...`),n.writeZip(this.targetZipFilePath,e=>{if(e)throw e}),o.default.log(`Write zip file to ${this.targetZipFilePath} success`),this.targetZipFilePath}get targetZipFilePath(){let t=(0,s.getThemeInfo3)(this.cwd),i=`${t.theme_name}-${t.theme_version}.zip`;return e.default.join(this.cwd,i)}constructor({cwd:e,includeFilter:t,ignoreFilter:i,silent:r=!1}){super("theme:package"),f(this,"cwd",(0,n.cwd)()),f(this,"includeFilter",void 0),f(this,"ignoreFilter",void 0),f(this,"silent",void 0),e&&(this.cwd=e),this.silent=r,this.includeFilter=t,this.ignoreFilter=i}}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>p});const e=c(require("pathe")),t=c(require("fs-extra")),i=c(require("fast-glob")),r=c(require("adm-zip")),l=require("../../../utils/fs"),a=c(require("../../../utils/debug")),n=require("../../../utils/path"),u=c(require("../../../utils/colors")),s=require("../utils"),o=c(require("../../../utils/winston")),d=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var i=h(t);if(i&&i.has(e))return i.get(e);var r={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var n=l?Object.getOwnPropertyDescriptor(e,a):null;n&&(n.get||n.set)?Object.defineProperty(r,a,n):r[a]=e[a]}return r.default=e,i&&i.set(e,r),r}(require("../../../utils/logger"));function f(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function c(e){return e&&e.__esModule?e:{default:e}}function h(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(h=function(e){return e?i:t})(e)}class p extends a.default{pack(a){let n=new r.default,f=i.default.sync(a||s.themeDirectoryGlobList3,{cwd:this.cwd});return o.default.log("Pack theme..."),f.forEach(t=>{let i=e.default.dirname(t),r=e.default.join(this.cwd,t);if(this.includeFilter&&this.ignoreFilter){let e=this.ignoreFilter.match(t),l=this.includeFilter.match(t);!e&&l&&(this.silent||d.info(`adding ${u.default.magenta(t)}`,!0),this.log(`adding ${u.default.magenta(t)}`),n.addLocalFile(r,i))}else this.silent||d.info(`adding ${u.default.magenta(t)}`,!0),this.log(`adding ${u.default.magenta(t)}`),n.addLocalFile(r,i)}),(0,l.pathExists)(this.targetZipFilePath)&&t.default.unlinkSync(this.targetZipFilePath),o.default.log(`Write zip file to ${this.targetZipFilePath}...`),n.writeZip(this.targetZipFilePath,e=>{if(e)throw e}),o.default.log(`Write zip file to ${this.targetZipFilePath} success`),this.targetZipFilePath}get targetZipFilePath(){let t=(0,s.getThemeInfo3)(this.cwd),i=`${t.theme_name}-${t.theme_version}.zip`;return e.default.join(this.cwd,i)}constructor({cwd:e,includeFilter:t,ignoreFilter:i,silent:r=!1}){super("theme:package"),f(this,"cwd",(0,n.cwd)()),f(this,"includeFilter",void 0),f(this,"ignoreFilter",void 0),f(this,"silent",void 0),e&&(this.cwd=e),this.silent=r,this.includeFilter=t,this.ignoreFilter=i}}
|
|
2
|
+
//# sourceMappingURL=package.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"PullService3",{enumerable:!0,get:()=>P});const e=T(require("fs-extra")),t=T(require("pathe")),i=T(require("progress")),r=T(require("adm-zip")),l=require("../../../utils/path"),o=T(require("../../../utils/debug")),s=T(require("../../../utils/include-filter")),a=T(require("../../../utils/ignore-filter")),n=T(require("../../../utils/winston")),u=require("../../../utils/error"),d=require("../utils"),h=require("../inquirer"),c=require("../../../utils/ora-manager"),m=T(require("../../../utils/logger")),f=T(require("./theme")),p=require("../const"),w=require("./api"),g=T(require("../../../helpers/config")),v=require("../../../utils/check-theme-type-version"),y=require("../pull");function E(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function T(e){return e&&e.__esModule?e:{default:e}}class P extends o.default{async pull(){n.default.log("Prepare pull theme...");let{id:e,themeTypeVersion:t}=await this.prepareTheme();if(n.default.log(`Current pull theme id: ${e}`),n.default.log(`Current pull theme type version: ${t}`),!(0,v.isRemoteThemeTypeVersion3)(t)){await new y.PullService({...this.options,theme:e},this.cwd).pull();return}if(this.themeId=e,e){await this.beforePull(),n.default.log(`Downloading theme (${e})...`);let{fileName:t}=await this.processDownloadTheme(e);n.default.log(`Unzipping theme (${t})...`),this.unzipTheme(t),n.default.log(`Theme (${e}) pulled successfully`),m.default.success("Theme pulled successfully")}else throw new u.AbortError(p.ERRORS.THEME_ID_NOT_EXIST)}unzipTheme(i){let l=t.default.join(this.cwd,i);if(e.default.existsSync(l)){try{let e=new r.default(l),t=e.getEntries();t.forEach(t=>{let i=t.entryName,r=this.ignoreFilter.match(i),l=this.includeFilter.match(i);!r&&l&&e.extractEntryTo(i,this.cwd,!0,!0)})}catch(e){throw n.default.log(`[Pull] Failed to unzip theme: ${e.message}`),new u.AbortError(e.message,p.ERRORS.UNZIP_THEME_FAILED)}e.default.removeSync(l)}}async processDownloadTheme(e){let t=(0,c.createOra)("Fetching the theme package file...");try{t.start();let{fileName:i}=await this.downloadTheme(e,t);return await Promise.resolve({fileName:i,themeId:e})}catch(i){return n.default.log(`[Pull] Download theme #${e} failed: ${i.message||i}`),t.isSpinning&&t.fail().clear(),Promise.reject(i.message||i)}}downloadTheme(e,t){return new Promise(async(i,r)=>{let l=await (0,w.downloadTheme)(e);if(t.succeed().clear(),200===l.status){let t=l.headers,o=t["theme-status"],s=t["theme-develop-type"];if(void 0===o||void 0===s){n.default.log(`[Pull] Missing theme headers for #${e}: status=${o}, type=${s}`),r(new u.AbortError(p.ERRORS.THEME_ID_NOT_EXIST));return}this.onDownloadProgress(l,e).then(e=>i(e)).catch(r)}else n.default.log(`[Pull] Unexpected download status ${l.status} for theme #${e}`),r(new u.AbortError(p.ERRORS.DOWNLOAD_THEME_FAILED))})}onDownloadProgress(r,l){return new Promise((o,s)=>{var a,n;let u;let h=r.headers["theme-status"],m=r.headers["theme-develop-type"],f=r.headers["content-length"]||0,w=r.headers["content-disposition"],v=null!==(n=null===(a=/fileName=([^;]+)/.exec(w))||void 0===a?void 0:a[1])&&void 0!==n?n:p.DEFAULT_ZIP_NAME;v=decodeURIComponent(v);let y=t.default.basename(v,".zip"),E=e.default.createWriteStream(t.default.join(this.cwd,v)),T=(0,d.getKeyMessage)(`Pulling theme files from ${decodeURIComponent(y)} (#${l}) on ${g.default.currentStore}`);f?(u=new i.default((0,d.getKeyMessage)("[:bar] :rate/bps :percent :etas"),{complete:"=",incomplete:" ",total:+f,width:50}),console.log(T)):u=(0,c.createOra)({text:T,spinner:"bouncingBar"}),r.data.pipe(E),r.data.on("data",e=>{f?u.tick(e.length):u.start()}),r.data.on("error",e=>{f||u.fail(),s(e)}),r.data.on("end",()=>{f||u.succeed(),E.on("finish",()=>{let i=e.default.statSync(t.default.join(this.cwd,v)).size;this.log("fileSize: %O",i),0===i?(f||u.fail("Downloaded file is empty"),s(Error("Downloaded file is empty"))):o({themeStatus:h,themeType:m,fileName:v})})})})}get isEmptyDir(){return(0,d.isEmptyDir)(!0,this.cwd)}async beforePull(){if(this.isEmptyDir||this.nodelete)return Promise.resolve();let t=await (0,h.askForPull)();return"clear"===t&&(n.default.log("Clear local theme files..."),e.default.emptyDirSync(this.cwd)),Promise.resolve()}async prepareTheme(){if(this.themeId){let{id:e,themeTypeVersion:t}=await f.default.getThemeInfo(this.themeId);return{id:e,themeTypeVersion:t}}if(this.live){let{id:e,themeTypeVersion:t}=await f.default.getLiveThemeInfo();if(!e)throw new u.AbortError('Theme "live" doesn\'t exist');return{id:e,themeTypeVersion:t}}if(this.development){let{id:e,themeTypeVersion:t=""}=await f.default.getDevelopmentThemeInfo();if(!e)throw new u.AbortError('Theme "development" doesn\'t exist');return{id:e,themeTypeVersion:t}}let{id:e,themeTypeVersion:t}=await f.default.chooseThemeList("pull");return{id:e,themeTypeVersion:t}}constructor(e,t=(0,l.cwd)()){var i,r,o,n;super("theme:pull"),E(this,"cwd",void 0),E(this,"themeId",void 0),E(this,"live",void 0),E(this,"development",void 0),E(this,"nodelete",void 0),E(this,"includeFilter",void 0),E(this,"ignoreFilter",void 0),E(this,"options",void 0),this.options=e,this.cwd=t,this.themeId=e.theme||"",this.live=null!==(i=e.live)&&void 0!==i&&i,this.development=null!==(r=e.development)&&void 0!==r&&r,this.nodelete=e.nodelete;let u=null!==(o=e.only)&&void 0!==o?o:[],d=null!==(n=e.ignore)&&void 0!==n?n:[];this.log("includes: %O",u),this.log("ignores: %O",d),this.includeFilter=new s.default(u,this.cwd),this.ignoreFilter=new a.default(d,this.cwd)}}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"PullService3",{enumerable:!0,get:()=>P});const e=T(require("fs-extra")),t=T(require("pathe")),i=T(require("progress")),r=T(require("adm-zip")),l=require("../../../utils/path"),o=T(require("../../../utils/debug")),s=T(require("../../../utils/include-filter")),a=T(require("../../../utils/ignore-filter")),n=T(require("../../../utils/winston")),u=require("../../../utils/error"),d=require("../utils"),h=require("../inquirer"),c=require("../../../utils/ora-manager"),m=T(require("../../../utils/logger")),f=T(require("./theme")),p=require("../const"),w=require("./api"),g=T(require("../../../helpers/config")),v=require("../../../utils/check-theme-type-version"),y=require("../pull");function E(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function T(e){return e&&e.__esModule?e:{default:e}}class P extends o.default{async pull(){n.default.log("Prepare pull theme...");let{id:e,themeTypeVersion:t}=await this.prepareTheme();if(n.default.log(`Current pull theme id: ${e}`),n.default.log(`Current pull theme type version: ${t}`),!(0,v.isRemoteThemeTypeVersion3)(t)){await new y.PullService({...this.options,theme:e},this.cwd).pull();return}if(this.themeId=e,e){await this.beforePull(),n.default.log(`Downloading theme (${e})...`);let{fileName:t}=await this.processDownloadTheme(e);n.default.log(`Unzipping theme (${t})...`),this.unzipTheme(t),n.default.log(`Theme (${e}) pulled successfully`),m.default.success("Theme pulled successfully")}else throw new u.AbortError(p.ERRORS.THEME_ID_NOT_EXIST)}unzipTheme(i){let l=t.default.join(this.cwd,i);if(e.default.existsSync(l)){try{let e=new r.default(l),t=e.getEntries();t.forEach(t=>{let i=t.entryName,r=this.ignoreFilter.match(i),l=this.includeFilter.match(i);!r&&l&&e.extractEntryTo(i,this.cwd,!0,!0)})}catch(e){throw n.default.log(`[Pull] Failed to unzip theme: ${e.message}`),new u.AbortError(e.message,p.ERRORS.UNZIP_THEME_FAILED)}e.default.removeSync(l)}}async processDownloadTheme(e){let t=(0,c.createOra)("Fetching the theme package file...");try{t.start();let{fileName:i}=await this.downloadTheme(e,t);return await Promise.resolve({fileName:i,themeId:e})}catch(i){return n.default.log(`[Pull] Download theme #${e} failed: ${i.message||i}`),t.isSpinning&&t.fail().clear(),Promise.reject(i.message||i)}}downloadTheme(e,t){return new Promise(async(i,r)=>{let l=await (0,w.downloadTheme)(e);if(t.succeed().clear(),200===l.status){let t=l.headers,o=t["theme-status"],s=t["theme-develop-type"];if(void 0===o||void 0===s){n.default.log(`[Pull] Missing theme headers for #${e}: status=${o}, type=${s}`),r(new u.AbortError(p.ERRORS.THEME_ID_NOT_EXIST));return}this.onDownloadProgress(l,e).then(e=>i(e)).catch(r)}else n.default.log(`[Pull] Unexpected download status ${l.status} for theme #${e}`),r(new u.AbortError(p.ERRORS.DOWNLOAD_THEME_FAILED))})}onDownloadProgress(r,l){return new Promise((o,s)=>{var a,n;let u;let h=r.headers["theme-status"],m=r.headers["theme-develop-type"],f=r.headers["content-length"]||0,w=r.headers["content-disposition"],v=null!==(n=null===(a=/fileName=([^;]+)/.exec(w))||void 0===a?void 0:a[1])&&void 0!==n?n:p.DEFAULT_ZIP_NAME;v=decodeURIComponent(v);let y=t.default.basename(v,".zip"),E=e.default.createWriteStream(t.default.join(this.cwd,v)),T=(0,d.getKeyMessage)(`Pulling theme files from ${decodeURIComponent(y)} (#${l}) on ${g.default.currentStore}`);f?(u=new i.default((0,d.getKeyMessage)("[:bar] :rate/bps :percent :etas"),{complete:"=",incomplete:" ",total:+f,width:50}),console.log(T)):u=(0,c.createOra)({text:T,spinner:"bouncingBar"}),r.data.pipe(E),r.data.on("data",e=>{f?u.tick(e.length):u.start()}),r.data.on("error",e=>{f||u.fail(),s(e)}),r.data.on("end",()=>{f||u.succeed(),E.on("finish",()=>{let i=e.default.statSync(t.default.join(this.cwd,v)).size;this.log("fileSize: %O",i),0===i?(f||u.fail("Downloaded file is empty"),s(Error("Downloaded file is empty"))):o({themeStatus:h,themeType:m,fileName:v})})})})}get isEmptyDir(){return(0,d.isEmptyDir)(!0,this.cwd)}async beforePull(){if(this.isEmptyDir||this.nodelete)return Promise.resolve();let t=await (0,h.askForPull)();return"clear"===t&&(n.default.log("Clear local theme files..."),e.default.emptyDirSync(this.cwd)),Promise.resolve()}async prepareTheme(){if(this.themeId){let{id:e,themeTypeVersion:t}=await f.default.getThemeInfo(this.themeId);return{id:e,themeTypeVersion:t}}if(this.live){let{id:e,themeTypeVersion:t}=await f.default.getLiveThemeInfo();if(!e)throw new u.AbortError('Theme "live" doesn\'t exist');return{id:e,themeTypeVersion:t}}if(this.development){let{id:e,themeTypeVersion:t=""}=await f.default.getDevelopmentThemeInfo();if(!e)throw new u.AbortError('Theme "development" doesn\'t exist');return{id:e,themeTypeVersion:t}}let{id:e,themeTypeVersion:t}=await f.default.chooseThemeList("pull");return{id:e,themeTypeVersion:t}}constructor(e,t=(0,l.cwd)()){var i,r,o,n;super("theme:pull"),E(this,"cwd",void 0),E(this,"themeId",void 0),E(this,"live",void 0),E(this,"development",void 0),E(this,"nodelete",void 0),E(this,"includeFilter",void 0),E(this,"ignoreFilter",void 0),E(this,"options",void 0),this.options=e,this.cwd=t,this.themeId=e.theme||"",this.live=null!==(i=e.live)&&void 0!==i&&i,this.development=null!==(r=e.development)&&void 0!==r&&r,this.nodelete=e.nodelete;let u=null!==(o=e.only)&&void 0!==o?o:[],d=null!==(n=e.ignore)&&void 0!==n?n:[];this.log("includes: %O",u),this.log("ignores: %O",d),this.includeFilter=new s.default(u,this.cwd),this.ignoreFilter=new a.default(d,this.cwd)}}
|
|
2
|
+
//# sourceMappingURL=pull.js.map
|
|
@@ -1 +1,2 @@
|
|
|
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,{default:()=>w,prompt:()=>v});const e=p(require("inquirer")),t=p(require("ora")),i=p(require("../../../utils/debug")),s=require("../../../utils/path"),r=p(require("../../../utils/print-preview")),l=require("../../../utils/output"),u=require("../types"),n=p(require("./theme")),o=require("../../../utils/ui/ui"),a=p(require("../../../utils/ignore-filter")),h=p(require("../../../utils/include-filter")),d=p(require("../../../utils/winston")),c=require("../../../utils/error"),m=require("../../../utils/check-theme-type-version");function f(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function p(e){return e&&e.__esModule?e:{default:e}}const v=e.default.createPromptModule();class w extends i.default{async confirmPushMode(){if(this.includes.length>0||this.ignores.length>0)return;let{mode:e}=await v([{type:"list",name:"mode",message:"Please choose an action (Use arrow keys)",default:"overwrite",choices:[{name:"Push all static files (safe mode)",value:"safe"},{name:"Push all files (overwrite existing ones)",value:"overwrite"}]}]);({safe:()=>{this.includeFilter=new h.default(["!**/*.json"],this.cwd)},overwrite:()=>{}})[e]()}async push(){d.default.log("Prepare push theme...");let e=await this.prepareTheme();if(!e)return;await this.confirmPushMode();let i=(0,t.default)("Uploading your theme...").start(),s=e.id;try{if(e.status!==u.EThemeStatus.Unpublished||e.id){d.default.log(`[Push] Syncing to existing theme #${e.id}`);let t=new n.default({themeId:e.id,cwd:this.cwd,includeFilter:this.includeFilter,ignoreFilter:this.ignoreFilter});await t.syncTheme({nodelete:this.nodelete})}else{d.default.log(`[Push] Creating new unpublished theme: ${e.name}`);let t=new n.default({cwd:this.cwd,includeFilter:this.includeFilter,ignoreFilter:this.ignoreFilter}),i=await t.createNewTheme({status:e.status,name:e.name});s=i.id}}catch(e){throw i.fail(),d.default.log(`[Push] Failed to push theme: ${e.message}`),e}i.succeed(),d.default.log(`[Push] Theme (${s}) pushed successfully`),(0,l.outputSuccess)("Your theme was pushed successfully"),(0,r.default)(s)}async prepareTheme(){if(this.development){let{id:e,name:t,status:i}=await n.default.getValidDevelopmentInfo();return{id:e,name:t,status:i}}if(this.live){let{id:e,name:t,status:i}=await n.default.getLiveThemeInfo();if(!e)throw new c.AbortError('Theme "live" doesn\'t exist, please try again!');return{id:e,name:t,status:i}}if(this.unpublished){let e=await w.getThemeNamePrompt();return{id:"",name:e,status:u.EThemeStatus.Unpublished}}if(this.themeId){let{id:e,name:t,status:i}=await n.default.getThemeInfo(this.themeId);return{id:e,name:t,status:i}}let{id:e,status:t,name:i,themeTypeVersion:s}=await n.default.chooseThemeList("push"),r=t===u.EThemeStatus.Published,l=(0,m.getThemeTypeVersion)(this.cwd,!0);if(l!==s)throw new c.AbortError(`The theme type version is not matched, local: ${l}, selected: ${s}`);if(r){if(this.allowAlive)return{id:e,name:i,status:t};let s=await w.confirmOverrideStoreTheme();return s?{id:e,name:i,status:t}:null}return{id:e,name:i,status:t}}static async confirmOverrideStoreTheme(){let{isOverride:e}=await v([{type:"confirm",name:"isOverride",message:"Are you sure you want to push to your live theme?",default:!0}]);return e}static async getThemeNamePrompt(){return(0,o.renderTextPrompt)({message:"Please input the unpublished theme name",validate:e=>{if(!e.trim())return"Theme name cannot be empty"}})}constructor(e,t=(0,s.cwd)()){var i,r,l,u,n;super("theme:push"),f(this,"cwd",void 0),f(this,"themeId",void 0),f(this,"live",void 0),f(this,"allowAlive",void 0),f(this,"development",void 0),f(this,"unpublished",void 0),f(this,"includeFilter",void 0),f(this,"ignoreFilter",void 0),f(this,"nodelete",void 0),f(this,"includes",void 0),f(this,"ignores",void 0),this.cwd=t,this.themeId=e.theme||"",this.live=null!==(i=e.live)&&void 0!==i&&i,this.allowAlive=e.allowLive,this.development=null!==(r=e.development)&&void 0!==r&&r,this.unpublished=e.unpublished,this.nodelete=null!==(l=e.nodelete)&&void 0!==l&&l,this.includes=null!==(u=e.only)&&void 0!==u?u:[],this.ignores=null!==(n=e.ignore)&&void 0!==n?n:[],this.log("includes: %O",this.includes),this.log("ignores: %O",this.ignores),this.includeFilter=new h.default(this.includes,this.cwd),this.ignoreFilter=new a.default(this.ignores,this.cwd)}}
|
|
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,{default:()=>w,prompt:()=>v});const e=p(require("inquirer")),t=p(require("ora")),i=p(require("../../../utils/debug")),s=require("../../../utils/path"),r=p(require("../../../utils/print-preview")),l=require("../../../utils/output"),u=require("../types"),n=p(require("./theme")),o=require("../../../utils/ui/ui"),a=p(require("../../../utils/ignore-filter")),h=p(require("../../../utils/include-filter")),d=p(require("../../../utils/winston")),c=require("../../../utils/error"),m=require("../../../utils/check-theme-type-version");function f(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function p(e){return e&&e.__esModule?e:{default:e}}const v=e.default.createPromptModule();class w extends i.default{async confirmPushMode(){if(this.includes.length>0||this.ignores.length>0)return;let{mode:e}=await v([{type:"list",name:"mode",message:"Please choose an action (Use arrow keys)",default:"overwrite",choices:[{name:"Push all static files (safe mode)",value:"safe"},{name:"Push all files (overwrite existing ones)",value:"overwrite"}]}]);({safe:()=>{this.includeFilter=new h.default(["!**/*.json"],this.cwd)},overwrite:()=>{}})[e]()}async push(){d.default.log("Prepare push theme...");let e=await this.prepareTheme();if(!e)return;await this.confirmPushMode();let i=(0,t.default)("Uploading your theme...").start(),s=e.id;try{if(e.status!==u.EThemeStatus.Unpublished||e.id){d.default.log(`[Push] Syncing to existing theme #${e.id}`);let t=new n.default({themeId:e.id,cwd:this.cwd,includeFilter:this.includeFilter,ignoreFilter:this.ignoreFilter});await t.syncTheme({nodelete:this.nodelete})}else{d.default.log(`[Push] Creating new unpublished theme: ${e.name}`);let t=new n.default({cwd:this.cwd,includeFilter:this.includeFilter,ignoreFilter:this.ignoreFilter}),i=await t.createNewTheme({status:e.status,name:e.name});s=i.id}}catch(e){throw i.fail(),d.default.log(`[Push] Failed to push theme: ${e.message}`),e}i.succeed(),d.default.log(`[Push] Theme (${s}) pushed successfully`),(0,l.outputSuccess)("Your theme was pushed successfully"),(0,r.default)(s)}async prepareTheme(){if(this.development){let{id:e,name:t,status:i}=await n.default.getValidDevelopmentInfo();return{id:e,name:t,status:i}}if(this.live){let{id:e,name:t,status:i}=await n.default.getLiveThemeInfo();if(!e)throw new c.AbortError('Theme "live" doesn\'t exist, please try again!');return{id:e,name:t,status:i}}if(this.unpublished){let e=await w.getThemeNamePrompt();return{id:"",name:e,status:u.EThemeStatus.Unpublished}}if(this.themeId){let{id:e,name:t,status:i}=await n.default.getThemeInfo(this.themeId);return{id:e,name:t,status:i}}let{id:e,status:t,name:i,themeTypeVersion:s}=await n.default.chooseThemeList("push"),r=t===u.EThemeStatus.Published,l=(0,m.getThemeTypeVersion)(this.cwd,!0);if(l!==s)throw new c.AbortError(`The theme type version is not matched, local: ${l}, selected: ${s}`);if(r){if(this.allowAlive)return{id:e,name:i,status:t};let s=await w.confirmOverrideStoreTheme();return s?{id:e,name:i,status:t}:null}return{id:e,name:i,status:t}}static async confirmOverrideStoreTheme(){let{isOverride:e}=await v([{type:"confirm",name:"isOverride",message:"Are you sure you want to push to your live theme?",default:!0}]);return e}static async getThemeNamePrompt(){return(0,o.renderTextPrompt)({message:"Please input the unpublished theme name",validate:e=>{if(!e.trim())return"Theme name cannot be empty"}})}constructor(e,t=(0,s.cwd)()){var i,r,l,u,n;super("theme:push"),f(this,"cwd",void 0),f(this,"themeId",void 0),f(this,"live",void 0),f(this,"allowAlive",void 0),f(this,"development",void 0),f(this,"unpublished",void 0),f(this,"includeFilter",void 0),f(this,"ignoreFilter",void 0),f(this,"nodelete",void 0),f(this,"includes",void 0),f(this,"ignores",void 0),this.cwd=t,this.themeId=e.theme||"",this.live=null!==(i=e.live)&&void 0!==i&&i,this.allowAlive=e.allowLive,this.development=null!==(r=e.development)&&void 0!==r&&r,this.unpublished=e.unpublished,this.nodelete=null!==(l=e.nodelete)&&void 0!==l&&l,this.includes=null!==(u=e.only)&&void 0!==u?u:[],this.ignores=null!==(n=e.ignore)&&void 0!==n?n:[],this.log("includes: %O",this.includes),this.log("ignores: %O",this.ignores),this.includeFilter=new h.default(this.includes,this.cwd),this.ignoreFilter=new a.default(this.ignores,this.cwd)}}
|
|
2
|
+
//# sourceMappingURL=push.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>p});const e=d(require("fs-extra")),t=require("../../../helpers/sentry"),l=require("../../../utils/error"),a=d(require("../../../utils/winston")),i=d(require("../../../utils/get-objects-diff")),r=require("../inquirer"),s=require("../../../utils/messages"),o=d(require("./file")),n=require("./api"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>p});const e=d(require("fs-extra")),t=require("../../../helpers/sentry"),l=require("../../../utils/error"),a=d(require("../../../utils/winston")),i=d(require("../../../utils/get-objects-diff")),r=require("../inquirer"),s=require("../../../utils/messages"),o=d(require("./file")),n=require("./api"),c=d(require("../operation")),f=d(require("../../../utils/debug"));function u(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function d(e){return e&&e.__esModule?e:{default:e}}class p extends f.default{async syncRemoteUpdate(){let{local:e,remote:t}=await this.themeService.getFileChecksums();a.default.log("[Remote Watch] Get remote and local diffs...");let l=await (0,i.default)(t,e);this.log("remote diffs: %O",l),a.default.log(`[Remote Watch] Found ${l.length} remote diffs, applying...`),await this.updateStrategy(l,!0)}async updateStrategy(e,t){let{local:l,remote:i}=await p.prepareUpdateDiffs(e,t);this.log("local diffs: %O",l),this.log("remote diffs: %O",i),l.length&&a.default.log(`Run local diffs ${JSON.stringify(l)}...`),i.length&&(a.default.log(`Run remote diffs ${JSON.stringify(i)}...`),i.forEach(async({type:e,key:t})=>{let l=new o.default(t,this.themeService.cwd);await this.processRemoteDiffFile(e,l);let a=new c.default("update"===e?"get":e,l).asSyncMessage();console.log(a)}))}removeUpdateToLocalFiles(e){let t=this.updateToLocalFiles.findIndex(t=>t.fileName===e);-1!==t&&this.updateToLocalFiles.splice(t,1)}shouldUpdateToLocal(e){return this.updateToLocalFiles.find(t=>t.fileName===e)}appendUpdateToLocalFiles(e){this.updateToLocalFiles.find(t=>t.fileName===e.fileName)||this.updateToLocalFiles.push(e)}async processRemoteDiffFile(t,l){let{fullPath:i}=l;if("create"===t||"update"===t){a.default.log(`Get file (${l.fileName}) information: ${l.fileName}`);let t=await this.getFileInfo(l.fileName);a.default.log("Writing file content"),e.default.ensureFileSync(i),this.appendUpdateToLocalFiles(l),e.default.writeFileSync(i,t)}else"delete"===t&&(a.default.log(`Delete file (${l.fileName})`),this.appendUpdateToLocalFiles(l),e.default.unlinkSync(i))}async getFileInfo(e){let t=await (0,n.getThemeFileDetail)(this.themeService.themeId,[e]);return t[0].content}static async prepareUpdateDiffs(e,t){let l={local:[],remote:[]},i=e.length,s=e=>"create"===e?"delete":"delete"===e?"create":"update",o=(e,t)=>{let a=t.filter(e=>{let t=e.key;return(t.startsWith("theme.config")||t.startsWith("templates/"))&&t.endsWith(".json")});"remote"===e?l.remote=l.remote.concat(a):l.local=l.local.concat(a.map(e=>({...e,type:s(e.type)})))};if(!i)return l;if(t)return o("remote",e),l;a.default.log("Update conflicts files...");let[{key:n},...c]=e,f=await p.promptUpdateStrategy(n);if(o(f,[e[0]]),1===i)return l;let u=await (0,r.askForApplyToAll)(c.length);for await(let e of(console.log(),c))if(u)a.default.log("Apply to all files to solve conflict files..."),o(f,c);else{let t=await this.promptUpdateStrategy(e.key);a.default.log(`Apply ${e.key} strategy to solve conflict files...`),console.log(),o(t,[e])}return l}static async promptUpdateStrategy(e){let t=(0,s.getMessage)("theme.serve.syncer.update_strategy.title_content",{file_name:e});console.log(t);let l=await (0,r.askForUpdateStrategy)();return l}start(){this.timer=setInterval(async()=>{try{await this.syncRemoteUpdate()}catch(a){this.stop();let e=a instanceof Error&&Object.isExtensible(a)?a:new l.AbortError(a instanceof Error?a.message:String(null!=a?a:""));throw e!==a&&a instanceof Error&&(e.stack=a.stack),(0,t.reportBugOnce)(e),e}},3e3)}stop(){this.timer&&clearInterval(this.timer)}constructor(e){super("theme:serve:update"),u(this,"themeService",void 0),u(this,"timer",void 0),u(this,"updateToLocalFiles",void 0),this.themeService=e,this.timer=null,this.updateToLocalFiles=[]}}
|
|
2
|
+
//# sourceMappingURL=remote-watcher.js.map
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var a in t)Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}(exports,{default:()=>N,startThemeService:()=>O,themePresenter:()=>W});const e=k(require("fast-glob")),t=k(require("form-data")),a=k(require("fs")),i=k(require("inquirer")),r=k(require("chokidar")),s=k(require("ora")),l=require("lodash"),n=k(require("../../../utils/debug")),d=k(require("../../../helpers/config")),u=require("../../../utils/messages"),h=require("../../../helpers/sentry"),o=require("../../../utils/path"),c=k(require("../../../utils/winston")),m=require("./api"),f=require("../types"),p=require("../utils"),g=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=q(t);if(a&&a.has(e))return a.get(e);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if("default"!==s&&Object.prototype.hasOwnProperty.call(e,s)){var l=r?Object.getOwnPropertyDescriptor(e,s):null;l&&(l.get||l.set)?Object.defineProperty(i,s,l):i[s]=e[s]}return i.default=e,a&&a.set(e,i),i}(require("../../../utils/logger")),y=k(require("../../../utils/get-objects-diff")),v=k(require("./file")),T=k(require("./package")),w=require("../../../utils/error"),F=require("../const"),S=k(require("../../../utils/colors")),D=k(require("./remote-watcher")),b=require("../../../utils/ui/render");function I(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function k(e){return e&&e.__esModule?e:{default:e}}function q(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,a=new WeakMap;return(q=function(e){return e?a:t})(e)}const E=i.default.createPromptModule();class N extends n.default{async watchRemote(){this.editorSync&&(this.remoteWatcher=new D.default(this),this.remoteWatcher.start())}watch(){this.watchRemote();let e=r.default.watch((0,p.getThemeDirectory3)(this.cwd),{ignored:/(^|[/\\])\../,ignoreInitial:!0});e.on("ready",()=>{e.on("add",(...e)=>{let t=e[0];c.default.log(`Add theme file: ${t}`),this.shouldWatchFile(t)&&this.onAdd(t)}),e.on("change",(...e)=>{let t=e[0];c.default.log(`Change theme file: ${t}`),this.shouldWatchFile(t)&&this.onChange(t)}),e.on("unlink",(...e)=>{let t=e[0];c.default.log(`Unlink theme file: ${t}`),this.shouldWatchFile(t)&&this.onUnlink(t)})})}shouldWatchFile(e){var t;let a=(0,p.parseFileName)(e,this.cwd);if(null===(t=this.remoteWatcher)||void 0===t?void 0:t.shouldUpdateToLocal(a)){this.remoteWatcher.removeUpdateToLocalFiles(a);return}let i=this.ignoreFilter.match(a),r=this.includeFilter.match(a);return!i&&r}async onAdd(e){let i=(0,p.parseFileName)(e,this.cwd),r=new t.default;r.append("file",a.default.createReadStream(e)),r.append("themeId",this.themeId),r.append("fileName",i);let l=(0,s.default)((0,u.getMessage)("theme.serve.syncer.create_strategy.success",{file_name:i})).start();try{var n;await (0,m.createFile)(r),null===(n=this.sse)||void 0===n||n.broadcast(this.getSseData(e,"add")),l.succeed()}catch(e){c.default.log(`[Watch] Failed to create remote file: ${i}`),(0,b.renderFatalError)(e),l.fail()}}async onChange(e){let i=(0,p.parseFileName)(e,this.cwd),r=new t.default;r.append("file",a.default.createReadStream(e)),r.append("themeId",this.themeId),r.append("fileName",i);let l=(0,s.default)((0,u.getMessage)("theme.serve.syncer.update_strategy.success",{file_name:i})).start();try{var n;await (0,m.updateFile)(r),null===(n=this.sse)||void 0===n||n.broadcast(this.getSseData(e)),l.succeed()}catch(e){c.default.log(`[Watch] Failed to update remote file: ${i}`),(0,b.renderFatalError)(e),l.fail()}}async onUnlink(e){var t;let a=(0,p.parseFileName)(e,this.cwd),i=(0,s.default)((0,u.getMessage)("theme.serve.syncer.delete_strategy.success",{file_name:a})).start();await (0,m.deleteFiles)(this.themeId,[a]),null===(t=this.sse)||void 0===t||t.broadcast(this.getSseData(e,"unlink")),i.succeed()}getSseData(e,t){return"full-page"===this.mode||t&&["add","unlink"].includes(t)?{data:{reload_page:!0}}:{data:{modified:[(0,p.getRelativePath)(e,this.cwd)]}}}async syncTheme({nodelete:e}={nodelete:!1}){let t=(0,s.default)(`✨ Syncing theme #${this.themeId} on ${d.default.currentStore}`).start();c.default.log(`[Sync] Starting sync for theme #${this.themeId}...`);let{name:a,status:i}=await this.findOrCreateTheme(),{local:r,remote:l}=await this.getFileChecksums(),n=await (0,y.default)(r,l);if(c.default.log(`[Sync] Found ${n.length} diffs`),n.length){let t=[],r=[];if(n.forEach(e=>{switch(e.type){case"create":case"update":t.push(e);break;case"delete":r.push(e)}}),!e&&r.length){let e=r.map(e=>e.key);c.default.log(`[Sync] Deleting ${e.length} remote files...`),await (0,m.deleteFiles)(this.themeId,e)}if(t.length){let e=t.map(e=>e.key);c.default.log(`[Sync] Uploading ${e.length} files...`);let r=this.getThemeZipFormData({fileList:e,name:a,status:i});await (0,m.uploadTheme)(r)}}c.default.log(`[Sync] Theme #${this.themeId} synced successfully`),t.succeed()}getThemeZipFormData({fileList:e,status:i,name:r}){let s=new T.default({cwd:this.cwd}).pack(e),l=new t.default;return l.append("file",a.default.createReadStream(s)),l.append("themeId",this.themeId||""),l.append("status",i),l.append("name",r),l}async getFileChecksums(){let{localeFileChecksums:e}=this,t=await (0,m.getThemeFileList)(this.themeId),a=t.reduce((e,t)=>(e[t.name]=t.checksum||"",e),Object.create(null)),i=this.getFilterFileChecksums(e),r=this.getFilterFileChecksums(a);return{local:i,remote:r}}getFilterFileChecksums(e){let t=Object.keys(e).reduce((t,a)=>{let i=this.ignoreFilter.match(a),r=this.includeFilter.match(a);return!i&&r&&(t[a]=e[a]),t},{});return t}get localeFileChecksums(){return this.themeFiles().reduce((e,t)=>(e[t.fileName]=t.checksum,e),{})}themeFiles(){let t=e.default.sync(p.themeDirectoryGlobList3,{cwd:this.cwd,onlyFiles:!0,unique:!0});return t.map(e=>new v.default(e,this.cwd))}static async getThemeInfo(e){let{id:t,name:a,status:i,themeTypeVersion:r}=await (0,m.getThemeInfo)(e);return{id:t,name:a,status:i,themeTypeVersion:r}}async findOrCreateTheme(){try{let{id:e,name:t,status:a}=await N.getThemeInfo(this.themeId);return{id:e,name:t,status:a}}catch(i){c.default.log(`[Sync] Theme #${this.themeId} not found (${i.message}), creating new development theme...`);let{id:e,name:t,status:a}=await this.createNewDevelopmentTheme();return{id:e,name:t,status:a}}}async createNewTheme({name:e,status:t}){let a=this.getThemeZipFormData({status:t,name:e}),{themeId:i}=await (0,m.createNewTheme)(a);return{id:i,name:e,status:t}}async createNewDevelopmentTheme(){let e=(0,p.generateDevThemeName)(),t=this.getThemeZipFormData({name:e,status:f.EThemeStatus.Development}),{themeId:a}=await (0,m.createNewTheme)(t);return this.themeId=a,d.default.developmentThemeId=a,d.default.developmentThemeName=e,{id:a,name:e,status:f.EThemeStatus.Development}}static async getValidDevelopmentInfo(){let e=d.default.developmentThemeId;return await N.isValidDevTheme(e)?{id:e,name:"",status:f.EThemeStatus.Development}:{id:"",name:(0,p.generateDevThemeName)(),status:f.EThemeStatus.Development}}static async isValidDevTheme(e){try{let t=await (0,m.getThemeInfo)(e);if((null==t?void 0:t.status)===f.EThemeStatus.Development)return{id:t.id,name:t.name,status:t.status,themeTypeVersion:t.themeTypeVersion};return null}catch(e){return null}}static async chooseThemeList(e){let t=N.addDevelopmentTheme(await (0,m.getThemes)()),a=t.map(e=>({name:W(e,"short"),value:e.id})).filter(e=>e.value),{themeId:i}=await E([{type:"list",name:"themeId",message:{pull:"Select a theme to pull from",push:"Select theme to push to"}[e],pageSize:a.length,default:a[0].value,loop:!1,choices:a}]),{status:r,name:s,themeTypeVersion:l}=t.find(e=>e.id===i);return{id:i,name:s,status:r,themeTypeVersion:l}}static addDevelopmentTheme(e){let t=d.default.developmentThemeId,a=d.default.developmentThemeName;return t?e.concat({name:a,status:f.EThemeStatus.Development,id:t,themeTypeVersion:""}):e}static async package(e,t=(0,o.cwd)()){try{let e=new T.default({cwd:t});await e.pack()}catch(e){(0,p.handleError)(e)}}static async list(){try{c.default.log("Checking login..."),d.default.isLogin(),console.log((0,u.getMessage)("theme.list.title",{store:d.default.currentStore})),c.default.log("Printing theme list...");let e=await (0,m.getThemes)();e.forEach(e=>{console.log(W(e))}),c.default.log("Print theme list succeed!")}catch(e){(0,p.handleError)(e)}}static async getLiveThemeInfo(){let e=await (0,m.getThemes)(),{id:t,name:a,status:i,themeTypeVersion:r}=e.find(e=>e.status===f.EThemeStatus.Published);return{id:t,name:a,status:i,themeTypeVersion:r}}static async getDevelopmentThemeInfo(){let e=d.default.developmentThemeId,t=d.default.developmentThemeName,a=await N.isValidDevTheme(e);return a?{id:e,name:t,status:a.status,themeTypeVersion:a.themeTypeVersion}:{id:"",name:"",status:"",themeTypeVersion:""}}static checkThemeStandardStructure(e){if(0===e.length)throw new w.AbortError(F.ERRORS.NOT_STANDARD_DIRECTORY);let t=(0,l.difference)(p.standardThemeDirectories3,e);t.length>0&&Error(`
|
|
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,{default:()=>_,startThemeService:()=>R,themePresenter:()=>C});const e=k(require("fast-glob")),t=k(require("form-data")),r=k(require("fs")),a=k(require("inquirer")),i=k(require("chokidar")),s=k(require("ora")),l=require("lodash"),n=k(require("../../../utils/debug")),h=k(require("../../../helpers/config")),o=require("../../../utils/messages"),d=require("../../../helpers/sentry"),u=require("../../../utils/path"),c=k(require("../../../utils/winston")),m=require("./api"),f=require("../types"),p=require("../utils"),g=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=O(t);if(r&&r.has(e))return r.get(e);var a={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if("default"!==s&&Object.prototype.hasOwnProperty.call(e,s)){var l=i?Object.getOwnPropertyDescriptor(e,s):null;l&&(l.get||l.set)?Object.defineProperty(a,s,l):a[s]=e[s]}return a.default=e,r&&r.set(e,a),a}(require("../../../utils/logger")),T=k(require("../../../utils/get-objects-diff")),y=k(require("./file")),v=k(require("./package")),w=require("../../../utils/error"),E=require("../const"),S=k(require("../../../utils/colors")),F=k(require("./remote-watcher")),D=require("../../../utils/ui/render"),I=require("../watcher-monitoring");function b(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function k(e){return e&&e.__esModule?e:{default:e}}function O(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(O=function(e){return e?r:t})(e)}const q=a.default.createPromptModule();function N(e,t){let r=e instanceof w.AbortError?e:new w.AbortError(e instanceof Error?e.message:`Theme file ${t} failed with a non-Error value`);e instanceof Error&&r!==e&&(r.stack=e.stack,r.cause=e),(0,I.reportThemeWatcherError)(r,{themeOs:"3",operation:t}),(0,D.renderFatalError)(r)}class _ extends n.default{async watchRemote(){this.editorSync&&(this.remoteWatcher=new F.default(this),this.remoteWatcher.start())}watch(){this.watchRemote();let e=i.default.watch((0,p.getThemeDirectory3)(this.cwd),{ignored:/(^|[/\\])\../,ignoreInitial:!0});e.on("ready",()=>{e.on("add",(...e)=>{let t=e[0];c.default.log(`Add theme file: ${t}`),this.shouldWatchFile(t)&&this.onAdd(t).catch(e=>{N(e,"create")})}),e.on("change",(...e)=>{let t=e[0];c.default.log(`Change theme file: ${t}`),this.shouldWatchFile(t)&&this.onChange(t).catch(e=>{N(e,"update")})}),e.on("unlink",(...e)=>{let t=e[0];c.default.log(`Unlink theme file: ${t}`),this.shouldWatchFile(t)&&this.onUnlink(t).catch(e=>{N(e,"delete")})})})}shouldWatchFile(e){var t;let r=(0,p.parseFileName)(e,this.cwd);if(null===(t=this.remoteWatcher)||void 0===t?void 0:t.shouldUpdateToLocal(r)){this.remoteWatcher.removeUpdateToLocalFiles(r);return}let a=this.ignoreFilter.match(r),i=this.includeFilter.match(r);return!a&&i}async onAdd(e){var a,i;let l=(0,p.parseFileName)(e,this.cwd),n=(0,s.default)((0,o.getMessage)("theme.serve.syncer.create_strategy.success",{file_name:l})).start();try{let i=new t.default;i.append("file",r.default.createReadStream(e)),i.append("themeId",this.themeId),i.append("fileName",l),await (0,m.createFile)(i),null===(a=this.sse)||void 0===a||a.broadcast(this.getSseData(e,"add")),n.succeed()}catch(t){let e=(0,p.formatThemeFileUploadError)(t,{fileName:l,themeId:String(null!==(i=this.themeId)&&void 0!==i?i:"")});(0,I.reportThemeWatcherError)(e,{themeOs:"3",operation:"create"}),(0,D.renderFatalError)(e),n.fail()}}async onChange(e){var a,i;let l=(0,p.parseFileName)(e,this.cwd),n=(0,s.default)((0,o.getMessage)("theme.serve.syncer.update_strategy.success",{file_name:l})).start();try{let i=new t.default;i.append("file",r.default.createReadStream(e)),i.append("themeId",this.themeId),i.append("fileName",l),await (0,m.updateFile)(i),null===(a=this.sse)||void 0===a||a.broadcast(this.getSseData(e)),n.succeed()}catch(t){let e=(0,p.formatThemeFileUploadError)(t,{fileName:l,themeId:String(null!==(i=this.themeId)&&void 0!==i?i:"")});(0,I.reportThemeWatcherError)(e,{themeOs:"3",operation:"update"}),(0,D.renderFatalError)(e),n.fail()}}async onUnlink(e){var t,r;let a=(0,p.parseFileName)(e,this.cwd),i=(0,s.default)((0,o.getMessage)("theme.serve.syncer.delete_strategy.success",{file_name:a})).start();try{await (0,m.deleteFiles)(this.themeId,[a]),null===(t=this.sse)||void 0===t||t.broadcast(this.getSseData(e,"unlink")),i.succeed()}catch(t){let e=(0,p.formatThemeFileDeleteError)(t,{fileName:a,themeId:String(null!==(r=this.themeId)&&void 0!==r?r:"")});(0,I.reportThemeWatcherError)(e,{themeOs:"3",operation:"delete"}),(0,D.renderFatalError)(e),i.fail()}}getSseData(e,t){return"full-page"===this.mode||t&&["add","unlink"].includes(t)?{data:{reload_page:!0}}:{data:{modified:[(0,p.getRelativePath)(e,this.cwd)]}}}async syncTheme({nodelete:e}={nodelete:!1}){let t=(0,s.default)(`✨ Syncing theme #${this.themeId} on ${h.default.currentStore}`).start();c.default.log(`[Sync] Starting sync for theme #${this.themeId}...`);let{name:r,status:a}=await this.findOrCreateTheme(),{local:i,remote:l}=await this.getFileChecksums(),n=await (0,T.default)(i,l);if(c.default.log(`[Sync] Found ${n.length} diffs`),n.length){let t=[],i=[];if(n.forEach(e=>{switch(e.type){case"create":case"update":t.push(e);break;case"delete":i.push(e)}}),!e&&i.length){let e=i.map(e=>e.key);c.default.log(`[Sync] Deleting ${e.length} remote files...`),await (0,m.deleteFiles)(this.themeId,e)}if(t.length){let e=t.map(e=>e.key);c.default.log(`[Sync] Uploading ${e.length} files...`);let i=this.getThemeZipFormData({fileList:e,name:r,status:a});await (0,m.uploadTheme)(i)}}c.default.log(`[Sync] Theme #${this.themeId} synced successfully`),t.succeed()}getThemeZipFormData({fileList:e,status:a,name:i}){let s=new v.default({cwd:this.cwd}).pack(e),l=new t.default;return l.append("file",r.default.createReadStream(s)),l.append("themeId",this.themeId||""),l.append("status",a),l.append("name",i),l}async getFileChecksums(){let{localeFileChecksums:e}=this,t=await (0,m.getThemeFileList)(this.themeId),r=t.reduce((e,t)=>(e[t.name]=t.checksum||"",e),Object.create(null)),a=this.getFilterFileChecksums(e),i=this.getFilterFileChecksums(r);return{local:a,remote:i}}getFilterFileChecksums(e){let t=Object.keys(e).reduce((t,r)=>{let a=this.ignoreFilter.match(r),i=this.includeFilter.match(r);return!a&&i&&(t[r]=e[r]),t},{});return t}get localeFileChecksums(){return this.themeFiles().reduce((e,t)=>(e[t.fileName]=t.checksum,e),{})}themeFiles(){let t=e.default.sync(p.themeDirectoryGlobList3,{cwd:this.cwd,onlyFiles:!0,unique:!0});return t.map(e=>new y.default(e,this.cwd))}static async getThemeInfo(e,t){let{id:r,name:a,status:i,themeTypeVersion:s}=await (0,m.getThemeInfo)(e,t);return{id:r,name:a,status:i,themeTypeVersion:s}}async findOrCreateTheme(){try{let{id:e,name:t,status:r}=await _.getThemeInfo(this.themeId,{ignoreBusinessCodes:E.ERROR_CODES.DEVELOPMENT_THEME_NOT_EXIST});return{id:e,name:t,status:r}}catch(a){c.default.log(`[Sync] Theme #${this.themeId} not found (${a.message}), creating new development theme...`);let{id:e,name:t,status:r}=await this.createNewDevelopmentTheme();return{id:e,name:t,status:r}}}async createNewTheme({name:e,status:t}){let r=this.getThemeZipFormData({status:t,name:e}),{themeId:a}=await (0,m.createNewTheme)(r);return{id:a,name:e,status:t}}async createNewDevelopmentTheme(){let e=(0,p.generateDevThemeName)(),t=this.getThemeZipFormData({name:e,status:f.EThemeStatus.Development}),{themeId:r}=await (0,m.createNewTheme)(t);return this.themeId=r,h.default.developmentThemeId=r,h.default.developmentThemeName=e,{id:r,name:e,status:f.EThemeStatus.Development}}static async getValidDevelopmentInfo(){let e=h.default.developmentThemeId;return await _.isValidDevTheme(e)?{id:e,name:"",status:f.EThemeStatus.Development}:{id:"",name:(0,p.generateDevThemeName)(),status:f.EThemeStatus.Development}}static async isValidDevTheme(e){try{let t=await (0,m.getThemeInfo)(e,{ignoreBusinessCodes:E.ERROR_CODES.DEVELOPMENT_THEME_NOT_EXIST});if((null==t?void 0:t.status)===f.EThemeStatus.Development)return{id:t.id,name:t.name,status:t.status,themeTypeVersion:t.themeTypeVersion};return null}catch(e){return null}}static async chooseThemeList(e){let t=_.addDevelopmentTheme(await (0,m.getThemes)()),r=t.map(e=>({name:C(e,"short"),value:e.id})).filter(e=>e.value),{themeId:a}=await q([{type:"list",name:"themeId",message:{pull:"Select a theme to pull from",push:"Select theme to push to"}[e],pageSize:r.length,default:r[0].value,loop:!1,choices:r}]),{status:i,name:s,themeTypeVersion:l}=t.find(e=>e.id===a);return{id:a,name:s,status:i,themeTypeVersion:l}}static addDevelopmentTheme(e){let t=h.default.developmentThemeId,r=h.default.developmentThemeName;return t?e.concat({name:r,status:f.EThemeStatus.Development,id:t,themeTypeVersion:""}):e}static async package(e,t=(0,u.cwd)()){try{let e=new v.default({cwd:t});await e.pack()}catch(e){(0,p.handleError)(e)}}static async list(){try{c.default.log("Checking login..."),h.default.isLogin(),console.log((0,o.getMessage)("theme.list.title",{store:h.default.currentStore})),c.default.log("Printing theme list...");let e=await (0,m.getThemes)();e.forEach(e=>{console.log(C(e))}),c.default.log("Print theme list succeed!")}catch(e){(0,p.handleError)(e)}}static async getLiveThemeInfo(){let e=await (0,m.getThemes)(),{id:t,name:r,status:a,themeTypeVersion:i}=e.find(e=>e.status===f.EThemeStatus.Published);return{id:t,name:r,status:a,themeTypeVersion:i}}static async getDevelopmentThemeInfo(){let e=h.default.developmentThemeId,t=h.default.developmentThemeName,r=await _.isValidDevTheme(e);return r?{id:e,name:t,status:r.status,themeTypeVersion:r.themeTypeVersion}:{id:"",name:"",status:"",themeTypeVersion:""}}static checkThemeStandardStructure(e){if(0===e.length)throw new w.AbortError(E.ERRORS.NOT_STANDARD_DIRECTORY);let t=(0,l.difference)(p.standardThemeDirectories3,e);t.length>0&&Error(`
|
|
2
2
|
The presence of ${S.default.bold(null==t?void 0:t[0])} in the directory structure isn't supported.
|
|
3
3
|
|
|
4
4
|
Move any files to a parent folder, then delete unsupported subdirectories.
|
|
5
5
|
|
|
6
6
|
• Required directory structure: https://developer.myshopline.com/docs/introduce/bGgYARTh
|
|
7
|
-
`)}constructor({themeId:e,mode:t,cwd:
|
|
7
|
+
`)}constructor({themeId:e,mode:t,cwd:r,sse:a,includeFilter:i,ignoreFilter:s,editorSync:l}){super("theme:theme"),b(this,"cwd",""),b(this,"themeId",""),b(this,"sse",void 0),b(this,"includeFilter",void 0),b(this,"ignoreFilter",void 0),b(this,"editorSync",void 0),b(this,"remoteWatcher",void 0),b(this,"mode",void 0),this.themeId=e||"",this.sse=a,this.cwd=r,this.mode=t||"hot-reload",this.includeFilter=i,this.ignoreFilter=s,this.editorSync=l,this.remoteWatcher=null}}async function R({mode:e,cwd:t,sse:r,includeFilter:a,ignoreFilter:i,editorSync:s}){try{let l=h.default.developmentThemeId,n=new _({themeId:l,mode:e,cwd:t,sse:r,includeFilter:a,ignoreFilter:i,editorSync:s}).watch();return{themeId:l,themeInstance:n}}catch(e){var l,n;return g.error((null==e?void 0:null===(l=e.response)||void 0===l?void 0:null===(n=l.data)||void 0===n?void 0:n.msg)||(null==e?void 0:e.stack)),(0,d.reportAndExit)(e)}}const M={[f.EThemeStatus.Published]:"green",[f.EThemeStatus.Unpublished]:"yellow",[f.EThemeStatus.Development]:"magenta"},P={[f.EThemeStatus.Published]:"live",[f.EThemeStatus.Unpublished]:"unpublished",[f.EThemeStatus.Development]:"development"};function C(e,t="long"){let r=M[e.status],a=[`${S.default[r](`[${P[e.status]}]`)}`];if(e.id===h.default.developmentThemeId&&a.push(S.default.cyan("[yours]")),e.themeTypeVersion&&a.push(S.default.bold.italic.cyan(e.themeTypeVersion)),"long"===t){let t=(0,o.getMessage)("theme.list.long",{id:e.id,name:e.name,tags:a.join(" ")});return t}let i=(0,o.getMessage)("theme.list.short",{name:e.name,tags:a.join(" ")});return i}
|
|
8
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -1 +1,2 @@
|
|
|
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:()=>
|
|
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:()=>T,createFile:()=>_,uploadFile:()=>v,deleteFile:()=>O,uploadThemePackageFile:()=>I,getThemeFileDetail:()=>S,getThemeListWithPagination:()=>q,downloadThemePackage:()=>C,getThemeFileList:()=>$,uploadPrivateThemePackage:()=>b,getPublishedThemeInstance:()=>w,getThemeInfo:()=>y,changeThemeStatus:()=>L,createNewThemeOrCompleteUpload:()=>N});const e=c(require("axios")),t=require("querystring"),r=c(require("form-data")),o=c(require("../../helpers/config")),s=require("./const"),n=c(require("../../utils/debug")),i=c(require("./no-second-check")),a=require("../../helpers/sentry"),l=require("../../utils/error"),d=require("../../utils/const"),u=c(require("../../utils/winston"));function c(e){return e&&e.__esModule?e:{default:e}}const{loginInfo:p,currentStore:f}=o.default;function g(e){var t,r;let{monitoring:o}=e.config,s=null==e?void 0:null===(t=e.data)||void 0===t?void 0:t.code;return!(null==o?void 0:null===(r=o.ignoreBusinessCodes)||void 0===r?void 0:r.some(e=>String(e)===String(s)))}function E(e,t){g(t)&&(0,a.reportHttpError)(e,{response:t,source:"theme-2"})}function m(t){return c=>{let f=e.default.create({baseURL:t,maxContentLength:1/0,maxBodyLength:1/0});return f.interceptors.request.use(e=>{if(n.default.printRequest(e),p){let t=Object.keys(p).map(e=>`${e}=${p[e]}`).join(";"),r=o.default.dfpToken||"";Object.assign(e.headers,{cookie:t,"dfp-token":r,"User-Agent":d.CLI_USER_AGENT})}return(null==e?void 0:e.data)instanceof r.default&&Object.assign(e.headers,null==e?void 0:e.data.getHeaders()),u.default.logHttp({type:"request",method:e.method,url:e.baseURL+e.url,params:e.params}),e},e=>Promise.reject(e)),f.interceptors.response.use(async e=>{var t,r,o,a,d;let p=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(n.default.printResponse(g,e),u.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===(o=e.data)||void 0===o?void 0:o.trace_id)||(null==e?void 0:null===(a=e.headers)||void 0===a?void 0:a["x-request-id"])||""}),s.ERROR_CODES.THEME_COUNT_LIMIT.includes(f)){let t=Error(s.ERRORS.THEME_COUNT_LIMIT);throw E(t,e),t}if(s.ERROR_CODES.DEVELOPMENT_THEME_NOT_EXIST.includes(f)){let t=Error(s.ERRORS.THEME_IS_INVALID);throw E(t,e),t}if(s.ERROR_CODES.FEATURE_KEY_NOT_EXIST.includes(f)){let t=Error(s.ERRORS.FEATURE_KEY_NOT_EXIST);throw E(t,e),t}if(s.ERROR_CODES.NO_SECOND_CHECK.includes(f))await i.default.run();else if(s.ERROR_CODES.INVALID_FILE.includes(f)){let t=new l.ValidatorError({code:f,errors:e.data.data.errors,message:e.data.msg});throw E(t,e),t}if("boolean"==typeof p&&!1===p){let t=e.data.msg||e.data.message||"",r=new l.AbortError(t);throw E(r,e),r}return(null==c?void 0:c.withResponseHeader)?e:null==e?void 0:null===(d=e.data)||void 0===d?void 0:d.data},e=>{let t=(()=>{if(null==e?void 0:e.response){let{status:t,statusText:r,data:o}=e.response;return(null==o?void 0:o.msg)||(null==o?void 0:o.message)||(o.error||"string"==typeof o?o:`${t}: ${r}`)}return e.message})(),r=new l.AbortError(t);return r.stack=e.stack,e.code&&(r.code=e.code),n.default.printErrorResponse(e.config,e.response),(!e.response||g(e.response))&&(0,a.reportHttpError)(r,{response:e.response,requestConfig:e.config,source:"theme-2"}),Promise.reject(r)}),f}}const h=m(`${f}/admin/api/merchant-bff`)(),R=m(`${f}${s.ENDPOINTS.THEME}`),T=(e,{fileContent:t,fileName:r,cliFirstCreateFile:o})=>h.put(`/file/theme/${e}`,{fileContent:t,fileName:r,cliFirstCreateFile:o}),_=(e,{fileName:t,fileContent:r,duplicateFlag:o=!1,cliFirstCreateFile:s,sourceFileName:n})=>h.post(`/file/theme/${e}`,{fileName:t,fileContent:r,duplicateFlag:o,sourceFileName:n,cliFirstCreateFile:s}),v=(e,t,r)=>h.post(`/file/theme/${e}/upload`,t,r),O=(e,{fileName:t})=>h.delete(`/file/theme/${e}`,{data:{fileName:t}}),I=(...e)=>h.post("/theme/upload",...e),S=({themeId:e,fileName:r})=>h.get(`/file/theme/${e}/detail?${(0,t.stringify)({fileName:r})}`,{monitoring:{ignoreBusinessCodes:s.ERROR_CODES.FILE_NOT_EXIT}}),q=e=>{let r=e?`/instance/list/page?${(0,t.stringify)(e)}`:"/instance/list/page";return R().get(r)},C=e=>R({withResponseHeader:!0}).get(`/instance/download/${e}`,{responseType:"stream"}),$=e=>h.get(`/file/theme/${e}/list`),b=(e,t)=>h.post("/theme/upload",e,t),w=()=>R().get("/instance/current"),y=(e,t)=>R().get(`/instance/${e}`,{monitoring:t}),L=e=>R().post("/instance/status",e);function N(e){return R().post("/upload/single-file",e)}
|
|
2
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -4,4 +4,5 @@ ${f}`},c?`
|
|
|
4
4
|
${c}`:"",d]});return n.flat()}function b(e){return e.reduce((e,t)=>{let r=!Object.prototype.hasOwnProperty.call(e,t.severity);return r&&(e[t.severity]=0),e[t.severity]+=1,e},{})}function $(e,t,r){let n=[`${r.length} files inspected`];if(0===e.length)n.push("with no offenses found.");else{n.push(`with ${e.length} total offenses.`);let t=b(e);t[l.EFailLevel.error]&&n.push(`
|
|
5
5
|
${t[l.EFailLevel.error]} errors.`),t[l.EFailLevel.suggestion]&&n.push(`
|
|
6
6
|
${t[l.EFailLevel.suggestion]} suggestion.`),t[l.EFailLevel.style]&&n.push(`
|
|
7
|
-
${t[l.EFailLevel.style]} style issues.`)}return n}function w(e){switch(e){case"error":return s.SeverityNumber.error;case"suggestion":return s.SeverityNumber.suggestion;case"style":return s.SeverityNumber.style;default:return}}function j(e,t){t||process.exit(0);let r=w(t),n=void 0!==r&&e.some(e=>w(e.severity)<=r);f.default.close(()=>{process.exit(n?1:0)})}function E(e){return e.map(e=>e.errors).flat()}function _(e){return"_handle"in e&&"object"==typeof e._handle&&null!==e._handle&&"function"==typeof e._handle.setBlocking}function O(e){return Object.entries(e).map(([e,t])=>{var r,n,i,o;let l=t.map(e=>{var t,l,s,u,a,f,c,d;return{check:e.check,severity:e.severity,start_row:null!==(r=null===(t=e.position)||void 0===t?void 0:null===(l=t.start)||void 0===l?void 0:l.line)&&void 0!==r?r:0,start_column:null!==(n=null===(s=e.position)||void 0===s?void 0:null===(u=s.start)||void 0===u?void 0:u.column)&&void 0!==n?n:0,end_row:null!==(i=null===(a=e.position)||void 0===a?void 0:null===(f=a.end)||void 0===f?void 0:f.line)&&void 0!==i?i:0,end_column:null!==(o=null===(c=e.position)||void 0===c?void 0:null===(d=c.end)||void 0===d?void 0:d.column)&&void 0!==o?o:0,message:e.message}}),s=b(t);return{path:e,offenses:l,errorCount:s.error||0,warningCount:s.suggestion||0,infoCount:s.style||0}})}function q(e,r){if(void 0===r)return e;if((0,t.isAbsolute)(r))throw new a.AbortError('the "root" property can only be relative');return(0,i.resolvePath)(e,r)}
|
|
7
|
+
${t[l.EFailLevel.style]} style issues.`)}return n}function w(e){switch(e){case"error":return s.SeverityNumber.error;case"suggestion":return s.SeverityNumber.suggestion;case"style":return s.SeverityNumber.style;default:return}}function j(e,t){t||process.exit(0);let r=w(t),n=void 0!==r&&e.some(e=>w(e.severity)<=r);f.default.close(()=>{process.exit(n?1:0)})}function E(e){return e.map(e=>e.errors).flat()}function _(e){return"_handle"in e&&"object"==typeof e._handle&&null!==e._handle&&"function"==typeof e._handle.setBlocking}function O(e){return Object.entries(e).map(([e,t])=>{var r,n,i,o;let l=t.map(e=>{var t,l,s,u,a,f,c,d;return{check:e.check,severity:e.severity,start_row:null!==(r=null===(t=e.position)||void 0===t?void 0:null===(l=t.start)||void 0===l?void 0:l.line)&&void 0!==r?r:0,start_column:null!==(n=null===(s=e.position)||void 0===s?void 0:null===(u=s.start)||void 0===u?void 0:u.column)&&void 0!==n?n:0,end_row:null!==(i=null===(a=e.position)||void 0===a?void 0:null===(f=a.end)||void 0===f?void 0:f.line)&&void 0!==i?i:0,end_column:null!==(o=null===(c=e.position)||void 0===c?void 0:null===(d=c.end)||void 0===d?void 0:d.column)&&void 0!==o?o:0,message:e.message}}),s=b(t);return{path:e,offenses:l,errorCount:s.error||0,warningCount:s.suggestion||0,infoCount:s.style||0}})}function q(e,r){if(void 0===r)return e;if((0,t.isAbsolute)(r))throw new a.AbortError('the "root" property can only be relative');return(0,i.resolvePath)(e,r)}
|
|
8
|
+
//# sourceMappingURL=check.js.map
|