@wix/cli-app 1.1.35 → 1.1.37
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/build/{CreateVersionCommand-FGFXCQ6O.js → CreateVersionCommand-6EC4JSXM.js} +2 -2
- package/build/CreateVersionCommand-6EC4JSXM.js.map +1 -0
- package/build/DevCommand-X6EMKMNL.js +4 -0
- package/build/DevCommand-X6EMKMNL.js.map +1 -0
- package/build/GenerateCommand-OMONJKBI.js +99 -0
- package/build/GenerateCommand-OMONJKBI.js.map +1 -0
- package/build/LogsCommand-J2FI7ZFQ.js +4 -0
- package/build/LogsCommand-J2FI7ZFQ.js.map +1 -0
- package/build/PreviewCommand-62VXVRKG.js +4 -0
- package/build/{ServeCommand-3XS2PRLZ.js → ServeCommand-MITPYVYW.js} +2 -2
- package/build/ServeCommand-MITPYVYW.js.map +1 -0
- package/build/{build-R2V6VPAY.js → build-QYESI24D.js} +2 -2
- package/build/build-QYESI24D.js.map +1 -0
- package/build/{chunk-CBDNKNAV.js → chunk-22T5OFY2.js} +2 -2
- package/build/chunk-22T5OFY2.js.map +1 -0
- package/build/chunk-2M3UC7RV.js +4 -0
- package/build/chunk-2M3UC7RV.js.map +1 -0
- package/build/{chunk-R4ZQYYZR.js → chunk-7DTNPXX6.js} +2 -2
- package/build/{chunk-3T3H3UJF.js → chunk-7IFG7QRE.js} +3 -3
- package/build/chunk-7IFG7QRE.js.map +1 -0
- package/build/chunk-CKCOR335.js +10 -0
- package/build/chunk-CKCOR335.js.map +1 -0
- package/build/{chunk-2JOP4YNL.js → chunk-CXOD6WQ4.js} +2 -2
- package/build/chunk-CXOD6WQ4.js.map +1 -0
- package/build/chunk-E6KVS4MA.js +4 -0
- package/build/chunk-E6KVS4MA.js.map +1 -0
- package/build/{chunk-OWEB37KH.js → chunk-EQUG3BNW.js} +2 -2
- package/build/chunk-FVAP6LIO.js +4 -0
- package/build/chunk-FVAP6LIO.js.map +1 -0
- package/build/chunk-HDM7FXQ2.js +4 -0
- package/build/chunk-HMROXS2Y.js +116 -0
- package/build/{chunk-5JYQ2Z7Y.js.map → chunk-HMROXS2Y.js.map} +1 -1
- package/build/{chunk-ZORLYW6M.js → chunk-JA2XJ7LG.js} +2 -2
- package/build/{chunk-YT6VEJPK.js → chunk-KEE43HZL.js} +2 -2
- package/build/chunk-KEE43HZL.js.map +1 -0
- package/build/{chunk-KRQ3H7GR.js → chunk-PVYYLEXH.js} +2 -2
- package/build/chunk-PVYYLEXH.js.map +1 -0
- package/build/chunk-QCRAQWKR.js +11 -0
- package/build/chunk-QCRAQWKR.js.map +1 -0
- package/build/{chunk-QEH4HZND.js → chunk-RPHPWNCA.js} +2 -2
- package/build/chunk-T3M3WLBF.js +4 -0
- package/build/chunk-T3M3WLBF.js.map +1 -0
- package/build/chunk-U6DFVNFC.js +4 -0
- package/build/chunk-U6DFVNFC.js.map +1 -0
- package/build/chunk-XFE6VTSD.js +233 -0
- package/build/chunk-XFE6VTSD.js.map +1 -0
- package/build/{chunk-A3KHJIN7.js → chunk-XMBKXITX.js} +2 -2
- package/build/index.js +2 -2
- package/build/index.js.map +1 -1
- package/build/platform-sdk/chunk-OSR2I5MY.js +2 -0
- package/build/platform-sdk/chunk-OSR2I5MY.js.map +1 -0
- package/build/platform-sdk/chunk-SHVQ4QZG.js +2 -0
- package/build/platform-sdk/chunk-SHVQ4QZG.js.map +1 -0
- package/build/platform-sdk/chunk-TEDR2MDT.js +2 -0
- package/build/platform-sdk/dashboard.js +1 -1
- package/build/platform-sdk/dashboard.js.map +1 -1
- package/build/platform-sdk/editor.js +8 -0
- package/build/platform-sdk/editor.js.map +1 -0
- package/build/platform-sdk/{esm-IUMNLA6B.js → esm-WXLS5NTC.js} +2 -2
- package/build/platform-sdk/esm-WXLS5NTC.js.map +1 -0
- package/build/platform-sdk/site.js +2 -0
- package/build/platform-sdk/site.js.map +1 -0
- package/build/preview-YWEFS3GP.js +4 -0
- package/build/{preview-5HAC2VHN.js.map → preview-YWEFS3GP.js.map} +1 -1
- package/build/render-command-QQQFQTR7.js +4 -0
- package/build/render-command-QQQFQTR7.js.map +1 -0
- package/internal/component-hmr-wrapper.tsx +0 -1
- package/package.json +9 -6
- package/schemas/ecom-additional-fees.json +1 -0
- package/schemas/ecom-discounts-trigger.json +1 -0
- package/schemas/ecom-payment-settings.json +1 -0
- package/schemas/ecom-shipping-rates.json +1 -0
- package/schemas/ecom-validations.json +1 -0
- package/templates/custom-element/dependencies.json +1 -2
- package/templates/custom-element/files/element.module.css.ejs +22 -0
- package/templates/custom-element/files/element.tsx.ejs +11 -10
- package/templates/custom-element/files/panel.tsx.ejs +26 -32
- package/templates/dashboard-modal/dependencies.json +2 -3
- package/templates/dashboard-modal/files/modal.tsx.ejs +11 -16
- package/templates/dashboard-page/dependencies.json +1 -3
- package/templates/dashboard-page/files/page.tsx.ejs +7 -11
- package/templates/dashboard-plugin/dependencies.json +1 -3
- package/templates/dashboard-plugin/files/plugin.tsx.ejs +6 -10
- package/templates/service-plugin/ecom-additional-fees/dependencies.json +5 -0
- package/templates/service-plugin/ecom-additional-fees/files/plugin.json.ejs +4 -0
- package/templates/service-plugin/ecom-additional-fees/files/plugin.ts.ejs +12 -0
- package/templates/service-plugin/ecom-discounts-trigger/dependencies.json +5 -0
- package/templates/service-plugin/ecom-discounts-trigger/files/plugin.json.ejs +4 -0
- package/templates/service-plugin/ecom-discounts-trigger/files/plugin.ts.ejs +17 -0
- package/templates/service-plugin/ecom-payment-settings/dependencies.json +5 -0
- package/templates/service-plugin/ecom-payment-settings/files/plugin.json.ejs +4 -0
- package/templates/service-plugin/ecom-payment-settings/files/plugin.ts.ejs +12 -0
- package/templates/service-plugin/ecom-shipping-rates/dependencies.json +5 -0
- package/templates/service-plugin/ecom-shipping-rates/files/plugin.json.ejs +4 -0
- package/templates/service-plugin/ecom-shipping-rates/files/plugin.ts.ejs +12 -0
- package/templates/service-plugin/ecom-validations/dependencies.json +5 -0
- package/templates/service-plugin/ecom-validations/files/plugin.json.ejs +4 -0
- package/templates/service-plugin/ecom-validations/files/plugin.ts.ejs +12 -0
- package/build/CreateVersionCommand-FGFXCQ6O.js.map +0 -1
- package/build/DevCommand-5DVDWGBY.js +0 -4
- package/build/DevCommand-5DVDWGBY.js.map +0 -1
- package/build/GenerateCommand-5MXGDU5D.js +0 -99
- package/build/GenerateCommand-5MXGDU5D.js.map +0 -1
- package/build/LogsCommand-GT4C6W63.js +0 -4
- package/build/LogsCommand-GT4C6W63.js.map +0 -1
- package/build/PreviewCommand-TYTUHLCK.js +0 -4
- package/build/ServeCommand-3XS2PRLZ.js.map +0 -1
- package/build/build-R2V6VPAY.js.map +0 -1
- package/build/chunk-2JOP4YNL.js.map +0 -1
- package/build/chunk-3T3H3UJF.js.map +0 -1
- package/build/chunk-5JYQ2Z7Y.js +0 -116
- package/build/chunk-5YLHD2SK.js +0 -4
- package/build/chunk-A7TURNR5.js +0 -4
- package/build/chunk-A7TURNR5.js.map +0 -1
- package/build/chunk-CBDNKNAV.js.map +0 -1
- package/build/chunk-F6WBFD2I.js +0 -11
- package/build/chunk-F6WBFD2I.js.map +0 -1
- package/build/chunk-J2KSZ5LE.js +0 -4
- package/build/chunk-J2KSZ5LE.js.map +0 -1
- package/build/chunk-KRQ3H7GR.js.map +0 -1
- package/build/chunk-MI2F3EIB.js +0 -4
- package/build/chunk-MI2F3EIB.js.map +0 -1
- package/build/chunk-NNF6JCN7.js +0 -4
- package/build/chunk-NNF6JCN7.js.map +0 -1
- package/build/chunk-PWHZSGUV.js +0 -10
- package/build/chunk-PWHZSGUV.js.map +0 -1
- package/build/chunk-RXT5UM7Q.js +0 -184
- package/build/chunk-RXT5UM7Q.js.map +0 -1
- package/build/chunk-VRNTLFVH.js +0 -4
- package/build/chunk-VRNTLFVH.js.map +0 -1
- package/build/chunk-YT6VEJPK.js.map +0 -1
- package/build/platform-sdk/chunk-RFBBAUMM.js +0 -2
- package/build/platform-sdk/esm-IUMNLA6B.js.map +0 -1
- package/build/preview-5HAC2VHN.js +0 -4
- package/build/render-command-OPJNFJRC.js +0 -4
- package/build/render-command-OPJNFJRC.js.map +0 -1
- /package/build/{PreviewCommand-TYTUHLCK.js.map → PreviewCommand-62VXVRKG.js.map} +0 -0
- /package/build/{chunk-R4ZQYYZR.js.map → chunk-7DTNPXX6.js.map} +0 -0
- /package/build/{chunk-OWEB37KH.js.map → chunk-EQUG3BNW.js.map} +0 -0
- /package/build/{chunk-5YLHD2SK.js.map → chunk-HDM7FXQ2.js.map} +0 -0
- /package/build/{chunk-ZORLYW6M.js.map → chunk-JA2XJ7LG.js.map} +0 -0
- /package/build/{chunk-QEH4HZND.js.map → chunk-RPHPWNCA.js.map} +0 -0
- /package/build/{chunk-A3KHJIN7.js.map → chunk-XMBKXITX.js.map} +0 -0
- /package/build/platform-sdk/{chunk-RFBBAUMM.js.map → chunk-TEDR2MDT.js.map} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as _createRequire } from 'node:module';
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{b as p}from"./chunk-
|
|
4
|
-
//# sourceMappingURL=chunk-
|
|
3
|
+
import{b as p}from"./chunk-XMBKXITX.js";import{b as r,c as i}from"./chunk-2M3UC7RV.js";import{h as o}from"./chunk-V4TR6DCM.js";o();var M=async({model:e,arm:a,serveUrl:n,backendServerUrl:t,topologyComponentId:s})=>{let l=await p(e.projectFolder),m=i(r(l,n,t),{id:s,baseApiUrl:t});return a.createAppRelease(m,e.config.projectId)};export{M as a};
|
|
4
|
+
//# sourceMappingURL=chunk-JA2XJ7LG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../package.json"],"sourcesContent":["{\n \"name\": \"@wix/cli-app\",\n \"description\": \"CLI tool for Wix apps\",\n \"version\": \"1.1.37\",\n \"author\": \"Amit Dahan\",\n \"dependencies\": {\n \"@wix/cli-cloudflare-runtime\": \"workspace:*\",\n \"@wix/cli-miniflare\": \"workspace:*\",\n \"vite\": \"5.3.2\"\n },\n \"devDependencies\": {\n \"@commander-js/extra-typings\": \"^12.1.0\",\n \"@types/lodash\": \"^4.17.6\",\n \"@types/mustache\": \"^4.2.5\",\n \"@wix/ambassador-cli-site-override-service-v1-site-override\": \"^1.0.5\",\n \"@wix/ambassador-ctp-app-cloud-backend-service-v1-app-cloud-backend-deployment\": \"^1.0.5\",\n \"@wix/ambassador-ctp-app-cloud-deployer-service-v1-app-cloud-deployer\": \"^1.0.23\",\n \"@wix/ambassador-ctp-gradual-rollout-v1-app-config\": \"^1.0.67\",\n \"@wix/ambassador-devcenter-components-v1-component\": \"^1.0.427\",\n \"@wix/arm-client\": \"workspace:*\",\n \"@wix/bi-logger-dev-tools-data\": \"^1.54.0\",\n \"@wix/cli-app-definitions\": \"workspace:*\",\n \"@wix/cli-app-manifest\": \"workspace:*\",\n \"@wix/cli-app-platform-sdk\": \"workspace:*\",\n \"@wix/cli-auth\": \"workspace:*\",\n \"@wix/cli-command-contract\": \"workspace:*\",\n \"@wix/cli-core-definitions\": \"workspace:*\",\n \"@wix/cli-debug-log\": \"workspace:*\",\n \"@wix/cli-error\": \"workspace:*\",\n \"@wix/cli-error-reporting\": \"workspace:*\",\n \"@wix/cli-fs\": \"workspace:*\",\n \"@wix/cli-http-client\": \"workspace:*\",\n \"@wix/cli-http-client-react\": \"workspace:*\",\n \"@wix/cli-i18n\": \"workspace:*\",\n \"@wix/cli-logger\": \"workspace:*\",\n \"@wix/cli-site-selector\": \"workspace:*\",\n \"@wix/cli-ssl\": \"workspace:*\",\n \"@wix/cli-telemetry\": \"workspace:*\",\n \"@wix/cli-telemetry-react\": \"workspace:*\",\n \"@wix/cli-test-overrides\": \"workspace:*\",\n \"@wix/cli-tunnel\": \"workspace:*\",\n \"@wix/cli-ui-kit\": \"workspace:*\",\n \"@wix/cli-user-config\": \"workspace:*\",\n \"@wix/dev-center-client\": \"workspace:*\",\n \"@wix/extensions-data-client\": \"workspace:*\",\n \"@wix/gena\": \"workspace:*\",\n \"@wix/sdk\": \"^1.12.12\",\n \"@wix/site-list-client\": \"workspace:*\",\n \"@wix/site-override-client\": \"workspace:*\",\n \"@wix/tsup-configs\": \"workspace:*\",\n \"@wix/user-browser\": \"workspace:*\",\n \"chalk\": \"^5.3.0\",\n \"chokidar\": \"^3.6.0\",\n \"commander\": \"^12.1.0\",\n \"fast-equals\": \"^5.0.1\",\n \"form-data\": \"^4.0.0\",\n \"globby\": \"^13.2.2\",\n \"lodash\": \"^4.17.21\",\n \"magic-string\": \"^0.30.11\",\n \"mustache\": \"^4.2.0\",\n \"node-html-parser\": \"^6.1.13\",\n \"outdent\": \"^0.8.0\",\n \"p-retry\": \"^5.1.2\",\n \"p-wait-for\": \"^5.0.2\",\n \"prompts\": \"^2.4.2\",\n \"react\": \"^18.3.1\",\n \"semver\": \"^7.6.2\",\n \"tempy\": \"^3.1.0\",\n \"typed-emitter\": \"^2.1.0\",\n \"variant\": \"^3.0.0-dev.27\",\n \"vite-plugin-externals\": \"^0.6.2\",\n \"zod\": \"^3.23.8\",\n \"zod-to-json-schema\": \"^3.23.1\"\n },\n \"engines\": {\n \"node\": \">= 18.16\"\n },\n \"exports\": {\n \".\": \"./build/index.js\",\n \"./client\": {\n \"types\": \"./client.d.ts\"\n },\n \"./internal/platform-sdk/*\": \"./build/platform-sdk/*.js\",\n \"./internal/component-hmr-wrapper\": \"./internal/component-hmr-wrapper.tsx\",\n \"./tsconfig.app.json\": \"./tsconfig.app.json\",\n \"./package.json\": \"./package.json\"\n },\n \"files\": [\n \"build\",\n \"schemas\",\n \"tsconfig.app.json\",\n \"client.d.ts\",\n \"internal\",\n \"templates\"\n ],\n \"peerDependencies\": {\n \"react\": \"^16.14 || ^17 || ^18\",\n \"react-dom\": \"^16.14 || ^17 || ^18\"\n },\n \"peerDependenciesMeta\": {\n \"react-dom\": {\n \"optional\": true\n }\n },\n \"perfer\": {\n \"bundleSize\": {\n \"files\": [\n {\n \"glob\": \"./build/index.js\",\n \"maxSize\": \"460kb\"\n }\n ]\n }\n },\n \"publishConfig\": {\n \"registry\": \"https://registry.npmjs.org/\",\n \"access\": \"public\",\n \"versionBumpStrategy\": \"manual\",\n \"logLevel\": \"verbose\"\n },\n \"scripts\": {\n \"build\": \"run -T tsup && yarn generate-schemas\",\n \"build:watch\": \"run -T tsup --watch\",\n \"generate-schemas\": \"node build-scripts/generate-schemas.js\",\n \"test\": \"yarn workspace @wix/cli-app-spec run test\",\n \"test:watch\": \"yarn workspace @wix/cli-app-spec run test:watch\",\n \"typecheck\": \"run -T tsc --noEmit\"\n },\n \"sideEffects\": false,\n \"type\": \"module\",\n \"wix\": {\n \"artifact\": {\n \"groupId\": \"com.wixpress.npm\",\n \"artifactId\": \"wix-cli-app\"\n },\n \"validations\": {\n \"postBuild\": [\n \"typecheck\"\n ]\n }\n }\n}\n"],"mappings":";;AAGE,IAAAA,EAAW","names":["version"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as _createRequire } from 'node:module';
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{a as Q,b as W}from"./chunk-
|
|
4
|
-
//# sourceMappingURL=chunk-
|
|
3
|
+
import{a as Q,b as W}from"./chunk-U6DFVNFC.js";import{b as M,c as q,d as H}from"./chunk-22T5OFY2.js";import{a as V}from"./chunk-7DTNPXX6.js";import{a as J}from"./chunk-JA2XJ7LG.js";import{g as N,h as Y,j as K,k as z}from"./chunk-T3M3WLBF.js";import{La as U,Oa as L,Pa as j,Qa as E,Za as G,mb as D,u as F}from"./chunk-HMROXS2Y.js";import{B as _,L as O,O as b,R as k,S as l,V as h,W as B,a as u,b as A,w as d,z as I}from"./chunk-CXOD6WQ4.js";import{e as c,h as t}from"./chunk-V4TR6DCM.js";t();t();var C=c(u(),1);t();var e=c(u(),1),Z=c(A(),1);t();var f=c(u(),1),X=c(A(),1),w=({status:i,loadingText:s,successText:n})=>(0,X.match)(i,{NotRequested:()=>null,Loading:()=>f.default.createElement(b,{text:s}),Error:()=>null,Success:()=>f.default.createElement(O,{type:"success"},n)});var $=({baseUrl:i,onPreviewCreated:s})=>{let{site:n}=K(),{t:p}=B(),{model:r}=D(),{backendComponents:R}=V(),ee=N(),re=F(),{getAppSnapshot:oe}=E(),{createOverride:te}=q(),ie=j({type:"backoffice"}),x=l(()=>G(r.config.appId,r.projectFolder,re,ie,R.length>0)),ne=l((m,o)=>te({appId:r.config.appId,siteId:n.id,overrides:o})),S=l((m,o,y,a)=>J({model:r,arm:ee,serveUrl:o,backendServerUrl:a,topologyComponentId:y})),{status:se}=k(async()=>{await Q(r.projectFolder);let{serveUrl:m,backendServerUrl:o}=i?{serveUrl:i,backendServerUrl:void 0}:await x.execute(),a=(await oe({appId:r.config.appId})).components.find(me=>me.compType===L.TOPOLOGY),P=H(r),{id:pe}=P?await ne.execute(P):await Promise.resolve({id:void 0}),T=await S.execute(m,a?.compId,o);return a&&U(r.projectFolder,{topologyComponentId:a.compId}),s?.(T,o),{armTag:T,siteOverrideId:pe}},[]);return e.default.createElement(e.default.Fragment,null,e.default.createElement(w,{status:x.status,loadingText:p("preview_command.uploading_files"),successText:p("preview_command.uploading_files_success")}),e.default.createElement(w,{status:S.status,loadingText:p("preview_command.creating_preview"),successText:p("preview_command.creating_preview_success")}),(0,Z.match)(se,{Error:()=>null,Loading:()=>null,Success:({result:{armTag:m,siteOverrideId:o}})=>e.default.createElement(z,{siteOverrideId:o},e.default.createElement(Y,{armTag:m},e.default.createElement(d,{rowGap:1,marginY:1,flexDirection:"column"},e.default.createElement(d,{gap:1},e.default.createElement(_,null),e.default.createElement(h,{i18nKey:"general.dev_site.current",values:{name:n.displayName}})),e.default.createElement(d,{rowGap:1},e.default.createElement(W,null)),e.default.createElement(I,{skin:"info"},p("preview_command.note_about_temporary_backend")))))}))};var ae=({baseUrl:i,siteIdOverride:s,onPreviewCreated:n})=>C.default.createElement(M,{siteId:s},C.default.createElement($,{baseUrl:i,onPreviewCreated:n}));export{ae as a};
|
|
4
|
+
//# sourceMappingURL=chunk-PVYYLEXH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/PreviewCommand/index.ts","../src/components/PreviewCommand/PreviewCommand.tsx","../src/components/PreviewCommand/Preview.tsx","../src/components/PreviewCommand/ActionStatus.tsx"],"sourcesContent":["export { PreviewCommand } from './PreviewCommand.js';\n","import React from 'react';\nimport type { FC } from 'react';\nimport { SiteIdProvider } from '../../site-id/index.js';\nimport { Preview } from './Preview.js';\n\nexport const PreviewCommand: FC<{\n baseUrl?: string;\n siteIdOverride?: string;\n onPreviewCreated?: (tag: string) => void;\n}> = ({ baseUrl, siteIdOverride, onPreviewCreated }) => {\n return (\n <SiteIdProvider siteId={siteIdOverride}>\n <Preview baseUrl={baseUrl} onPreviewCreated={onPreviewCreated} />\n </SiteIdProvider>\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { useARMClient } from '@wix/arm-client';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport { useBiLogger } from '@wix/cli-telemetry-react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport {\n Text,\n Box,\n PointerIcon,\n useAsync,\n useAsyncCallback,\n} from '@wix/cli-ui-kit';\nimport { useDevCenterClient, ComponentType } from '@wix/dev-center-client';\nimport type { TopologyComponent } from '@wix/dev-center-client';\nimport type { ComponentsForSiteOverride } from '@wix/site-override-client';\nimport { useSiteOverrideClient } from '@wix/site-override-client';\nimport { useProjectModel } from '../../model.js';\nimport { useSiteId } from '../../site-id/index.js';\nimport { ArmTagProvider } from '../../context/armTag.js';\nimport { createPreviewTag } from '../../preview/create-preview-tag.js';\nimport { uploadApplication } from '../../hosting/upload-application.js';\nimport { assertBuildOutputExists } from '../../files/assert-build-output-exists.js';\nimport { ActionStatus } from './ActionStatus.js';\nimport { PlatformViewer } from '../Platform/PlatformViewer.js';\nimport { saveAppConfig } from '../../files/app.config.js';\nimport { useBackendComponents } from '../../backend/useBackendComponents.js';\nimport { createSiteOverrides } from '../../site-override/createSiteOverrides.js';\nimport { SiteOverrideProvider } from '../../context/siteOverride.js';\n\nexport const Preview: FC<{\n baseUrl?: string;\n onPreviewCreated?: (tag: string, backendServerUrl?: string) => void;\n}> = ({ baseUrl, onPreviewCreated }) => {\n const { site } = useSiteId();\n const { t } = useTranslation();\n const { model } = useProjectModel();\n const { backendComponents } = useBackendComponents();\n const arm = useARMClient();\n const biLogger = useBiLogger();\n const { getAppSnapshot } = useDevCenterClient();\n const { createOverride } = useSiteOverrideClient();\n const httpClient = useHttpClient({ type: 'backoffice' });\n\n const uploadApplicationAction = useAsyncCallback(() =>\n uploadApplication(\n model.config.appId,\n model.projectFolder,\n biLogger,\n httpClient,\n backendComponents.length > 0\n )\n );\n\n const createSiteOverrideIdAction = useAsyncCallback(\n (_, overrides: ComponentsForSiteOverride) =>\n createOverride({\n appId: model.config.appId,\n siteId: site.id,\n overrides,\n })\n );\n\n const createPreviewTagAction = useAsyncCallback(\n (\n _,\n serveUrl: string,\n topologyComponentId?: string,\n backendServerUrl?: string\n ) =>\n createPreviewTag({\n model,\n arm,\n serveUrl,\n backendServerUrl,\n topologyComponentId,\n })\n );\n\n const { status: createPreviewStatus } = useAsync(async () => {\n await assertBuildOutputExists(model.projectFolder);\n const { serveUrl, backendServerUrl } = baseUrl\n ? { serveUrl: baseUrl, backendServerUrl: undefined }\n : await uploadApplicationAction.execute();\n const appSnapshot = await getAppSnapshot({\n appId: model.config.appId,\n });\n const topologyComponent = appSnapshot.components.find(\n (component): component is TopologyComponent => {\n return component.compType === ComponentType.TOPOLOGY;\n }\n );\n const overrides = createSiteOverrides(model);\n const { id: siteOverrideId } = overrides\n ? await createSiteOverrideIdAction.execute(overrides)\n : await Promise.resolve({ id: undefined });\n const armTag = await createPreviewTagAction.execute(\n serveUrl,\n topologyComponent?.compId,\n backendServerUrl\n );\n\n if (topologyComponent) {\n // Once there is topology in production I want to use the same id for dev as well,\n // to reduce confusion during debug.\n saveAppConfig(model.projectFolder, {\n topologyComponentId: topologyComponent.compId,\n });\n }\n\n onPreviewCreated?.(armTag, backendServerUrl);\n\n return { armTag, siteOverrideId };\n }, []);\n\n return (\n <>\n <ActionStatus\n status={uploadApplicationAction.status}\n loadingText={t('preview_command.uploading_files')}\n successText={t('preview_command.uploading_files_success')}\n />\n <ActionStatus\n status={createPreviewTagAction.status}\n loadingText={t('preview_command.creating_preview')}\n successText={t('preview_command.creating_preview_success')}\n />\n {match(createPreviewStatus, {\n Error: () => null,\n Loading: () => null,\n Success: ({ result: { armTag, siteOverrideId } }) => (\n <SiteOverrideProvider siteOverrideId={siteOverrideId}>\n <ArmTagProvider armTag={armTag}>\n <Box rowGap={1} marginY={1} flexDirection=\"column\">\n <Box gap={1}>\n <PointerIcon />\n <Trans\n i18nKey=\"general.dev_site.current\"\n values={{ name: site.displayName }}\n />\n </Box>\n <Box rowGap={1}>\n <PlatformViewer />\n </Box>\n <Text skin=\"info\">\n {t('preview_command.note_about_temporary_backend')}\n </Text>\n </Box>\n </ArmTagProvider>\n </SiteOverrideProvider>\n ),\n })}\n </>\n );\n};\n","import type { AsyncCallbackStatus } from '@wix/cli-ui-kit';\nimport { Alert, Spinner } from '@wix/cli-ui-kit';\nimport type { FC } from 'react';\nimport React from 'react';\nimport { match } from 'variant';\n\nexport const ActionStatus: FC<{\n status: AsyncCallbackStatus<unknown>;\n loadingText: string;\n successText: string;\n}> = ({ status, loadingText, successText }) =>\n match(status, {\n NotRequested: () => null,\n Loading: () => <Spinner text={loadingText} />,\n Error: () => null,\n Success: () => <Alert type=\"success\">{successText}</Alert>,\n });\n"],"mappings":";;ueAAAA,ICAAC,IAAA,IAAAC,EAAkB,SCAlBC,IAAA,IAAAC,EAAkB,SAElBC,EAAsB,SCFtBC,IAGA,IAAAC,EAAkB,SAClBC,EAAsB,SAETC,EAIR,CAAC,CAAE,OAAAC,EAAQ,YAAAC,EAAa,YAAAC,CAAY,OACvC,SAAMF,EAAQ,CACZ,aAAc,IAAM,KACpB,QAAS,IAAM,EAAAG,QAAA,cAACC,EAAA,CAAQ,KAAMH,EAAa,EAC3C,MAAO,IAAM,KACb,QAAS,IAAM,EAAAE,QAAA,cAACE,EAAA,CAAM,KAAK,WAAWH,CAAY,CACpD,CAAC,EDeI,IAAMI,EAGR,CAAC,CAAE,QAAAC,EAAS,iBAAAC,CAAiB,IAAM,CACtC,GAAM,CAAE,KAAAC,CAAK,EAAIC,EAAU,EACrB,CAAE,EAAAC,CAAE,EAAIC,EAAe,EACvB,CAAE,MAAAC,CAAM,EAAIC,EAAgB,EAC5B,CAAE,kBAAAC,CAAkB,EAAIC,EAAqB,EAC7CC,GAAMC,EAAa,EACnBC,GAAWC,EAAY,EACvB,CAAE,eAAAC,EAAe,EAAIC,EAAmB,EACxC,CAAE,eAAAC,EAAe,EAAIC,EAAsB,EAC3CC,GAAaC,EAAc,CAAE,KAAM,YAAa,CAAC,EAEjDC,EAA0BC,EAAiB,IAC/CC,EACEhB,EAAM,OAAO,MACbA,EAAM,cACNM,GACAM,GACAV,EAAkB,OAAS,CAC7B,CACF,EAEMe,GAA6BF,EACjC,CAACG,EAAGC,IACFT,GAAe,CACb,MAAOV,EAAM,OAAO,MACpB,OAAQJ,EAAK,GACb,UAAAuB,CACF,CAAC,CACL,EAEMC,EAAyBL,EAC7B,CACEG,EACAG,EACAC,EACAC,IAEAC,EAAiB,CACf,MAAAxB,EACA,IAAAI,GACA,SAAAiB,EACA,iBAAAE,EACA,oBAAAD,CACF,CAAC,CACL,EAEM,CAAE,OAAQG,EAAoB,EAAIC,EAAS,SAAY,CAC3D,MAAMC,EAAwB3B,EAAM,aAAa,EACjD,GAAM,CAAE,SAAAqB,EAAU,iBAAAE,CAAiB,EAAI7B,EACnC,CAAE,SAAUA,EAAS,iBAAkB,MAAU,EACjD,MAAMoB,EAAwB,QAAQ,EAIpCc,GAHc,MAAMpB,GAAe,CACvC,MAAOR,EAAM,OAAO,KACtB,CAAC,GACqC,WAAW,KAC9C6B,IACQA,GAAU,WAAaC,EAAc,QAEhD,EACMX,EAAYY,EAAoB/B,CAAK,EACrC,CAAE,GAAIgC,EAAe,EAAIb,EAC3B,MAAMF,GAA2B,QAAQE,CAAS,EAClD,MAAM,QAAQ,QAAQ,CAAE,GAAI,MAAU,CAAC,EACrCc,EAAS,MAAMb,EAAuB,QAC1CC,EACAO,GAAmB,OACnBL,CACF,EAEA,OAAIK,GAGFM,EAAclC,EAAM,cAAe,CACjC,oBAAqB4B,EAAkB,MACzC,CAAC,EAGHjC,IAAmBsC,EAAQV,CAAgB,EAEpC,CAAE,OAAAU,EAAQ,eAAAD,EAAe,CAClC,EAAG,CAAC,CAAC,EAEL,OACE,EAAAG,QAAA,gBAAAA,QAAA,cACE,EAAAA,QAAA,cAACC,EAAA,CACC,OAAQtB,EAAwB,OAChC,YAAahB,EAAE,iCAAiC,EAChD,YAAaA,EAAE,yCAAyC,EAC1D,EACA,EAAAqC,QAAA,cAACC,EAAA,CACC,OAAQhB,EAAuB,OAC/B,YAAatB,EAAE,kCAAkC,EACjD,YAAaA,EAAE,0CAA0C,EAC3D,KACC,SAAM2B,GAAqB,CAC1B,MAAO,IAAM,KACb,QAAS,IAAM,KACf,QAAS,CAAC,CAAE,OAAQ,CAAE,OAAAQ,EAAQ,eAAAD,CAAe,CAAE,IAC7C,EAAAG,QAAA,cAACE,EAAA,CAAqB,eAAgBL,GACpC,EAAAG,QAAA,cAACG,EAAA,CAAe,OAAQL,GACtB,EAAAE,QAAA,cAACI,EAAA,CAAI,OAAQ,EAAG,QAAS,EAAG,cAAc,UACxC,EAAAJ,QAAA,cAACI,EAAA,CAAI,IAAK,GACR,EAAAJ,QAAA,cAACK,EAAA,IAAY,EACb,EAAAL,QAAA,cAACM,EAAA,CACC,QAAQ,2BACR,OAAQ,CAAE,KAAM7C,EAAK,WAAY,EACnC,CACF,EACA,EAAAuC,QAAA,cAACI,EAAA,CAAI,OAAQ,GACX,EAAAJ,QAAA,cAACO,EAAA,IAAe,CAClB,EACA,EAAAP,QAAA,cAACQ,EAAA,CAAK,KAAK,QACR7C,EAAE,8CAA8C,CACnD,CACF,CACF,CACF,CAEJ,CAAC,CACH,CAEJ,EDtJO,IAAM8C,GAIR,CAAC,CAAE,QAAAC,EAAS,eAAAC,EAAgB,iBAAAC,CAAiB,IAE9C,EAAAC,QAAA,cAACC,EAAA,CAAe,OAAQH,GACtB,EAAAE,QAAA,cAACE,EAAA,CAAQ,QAASL,EAAS,iBAAkBE,EAAkB,CACjE","names":["init_esm_shims","init_esm_shims","import_react","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","ActionStatus","status","loadingText","successText","React","Spinner","Alert","Preview","baseUrl","onPreviewCreated","site","useSiteId","t","useTranslation","model","useProjectModel","backendComponents","useBackendComponents","arm","useARMClient","biLogger","useBiLogger","getAppSnapshot","useDevCenterClient","createOverride","useSiteOverrideClient","httpClient","useHttpClient","uploadApplicationAction","useAsyncCallback","uploadApplication","createSiteOverrideIdAction","_","overrides","createPreviewTagAction","serveUrl","topologyComponentId","backendServerUrl","createPreviewTag","createPreviewStatus","useAsync","assertBuildOutputExists","topologyComponent","component","ComponentType","createSiteOverrides","siteOverrideId","armTag","saveAppConfig","React","ActionStatus","SiteOverrideProvider","ArmTagProvider","Box_default","PointerIcon","Trans","PlatformViewer","Text","PreviewCommand","baseUrl","siteIdOverride","onPreviewCreated","React","SiteIdProvider","Preview"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
import{e as x}from"./chunk-HMROXS2Y.js";import{a as b,c as a}from"./chunk-CXOD6WQ4.js";import{e as s,h as n}from"./chunk-V4TR6DCM.js";n();var o=s(b(),1),c=s(a(),1);import{dirname as L}from"node:path";import{appendFileSync as D,mkdirSync as w}from"node:fs";n();var p=s(x(),1),l=s(a(),1);function u(e){if(p.HttpClient.isHttpError(e))return e;let t=e instanceof Error?l.default.cause(e):null;return t?u(t):null}n();function m(e){return{request:{baseURL:e.config.baseURL,url:e.config.url,method:e.config.method,headers:e.config.headers,data:e.config.data},response:{code:e.code,message:e.message,status:e.response?.status,headers:e.response?.headers,data:e.response?.data}}}function C(e,t){try{let r=`----- CLI crash report at ${new Date().toISOString()}
|
|
4
|
+
`;if(t instanceof Error){r+=`Error Trace
|
|
5
|
+
`,r+=`${c.default.fullStack(t)}
|
|
6
|
+
`,r+=`Error Info
|
|
7
|
+
`,r+=`${JSON.stringify(c.default.info(t),null,2)}
|
|
8
|
+
`;let i=u(t);i&&(r+=`Request Info
|
|
9
|
+
`,r+=`${JSON.stringify(m(i),null,2)}
|
|
10
|
+
`)}w(L(e),{recursive:!0}),D(e,r)}catch{}}var d=(0,o.createContext)(null),k=({filePath:e,children:t})=>{let r=(0,o.useCallback)(i=>C(e,i),[e]);return o.default.createElement(d.Provider,{value:r},t)},R=()=>{let e=(0,o.useContext)(d);if(e===null)throw new Error("useDebugLog() cannot be used without an <DebugLogProvider>");return e};export{k as a,R as b};
|
|
11
|
+
//# sourceMappingURL=chunk-QCRAQWKR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../cli-debug-log/src/index.tsx","../../cli-http-client/src/extract-error.ts","../../cli-http-client/src/error-info.ts"],"sourcesContent":["import { dirname } from 'node:path';\nimport { appendFileSync, mkdirSync } from 'node:fs';\nimport React, { createContext, useContext, useCallback } from 'react';\nimport type { FC, ReactNode } from 'react';\nimport VError from 'verror';\nimport { extractHttpError, getHttpErrorInfo } from '@wix/cli-http-client';\n\nexport function writeCrashReport(reportPath: string, error: unknown) {\n try {\n let content = `----- CLI crash report at ${new Date().toISOString()}\\n`;\n if (error instanceof Error) {\n content += `Error Trace\\n`;\n content += `${VError.fullStack(error)}\\n`;\n content += `Error Info\\n`;\n content += `${JSON.stringify(VError.info(error), null, 2)}\\n`;\n\n const httpError = extractHttpError(error);\n if (httpError) {\n content += `Request Info\\n`;\n content += `${JSON.stringify(getHttpErrorInfo(httpError), null, 2)}\\n`;\n }\n }\n mkdirSync(dirname(reportPath), { recursive: true });\n appendFileSync(reportPath, content);\n } catch {\n // well there is so much we can do...\n }\n}\n\nexport type WriteDebugLogFn = (error: unknown) => void;\n\nconst DebugLogContext = createContext<WriteDebugLogFn | null>(null);\n\ninterface Props {\n filePath: string;\n children: ReactNode;\n}\n\nexport const DebugLogProvider: FC<Props> = ({ filePath, children }) => {\n const writeToDebugLog = useCallback<WriteDebugLogFn>(\n (error) => writeCrashReport(filePath, error),\n [filePath]\n );\n\n return (\n <DebugLogContext.Provider value={writeToDebugLog}>\n {children}\n </DebugLogContext.Provider>\n );\n};\n\nexport const useDebugLog = (): WriteDebugLogFn => {\n const context = useContext(DebugLogContext);\n if (context === null) {\n throw new Error(\n 'useDebugLog() cannot be used without an <DebugLogProvider>'\n );\n }\n return context;\n};\n","import type { IHttpError } from '@wix/http-client';\nimport { HttpClient } from '@wix/http-client';\nimport VError from 'verror';\n\nexport function extractHttpError(error: unknown): IHttpError | null {\n if (HttpClient.isHttpError(error)) {\n return error;\n }\n\n const nestedError = error instanceof Error ? VError.cause(error) : null;\n return nestedError ? extractHttpError(nestedError) : null;\n}\n","import type { IHttpError } from '@wix/http-client';\n\nexport function getHttpErrorInfo(httpError: IHttpError) {\n return {\n request: {\n baseURL: httpError.config.baseURL,\n url: httpError.config.url,\n method: httpError.config.method,\n headers: httpError.config.headers,\n data: httpError.config.data,\n },\n response: {\n code: httpError.code,\n message: httpError.message,\n status: httpError.response?.status,\n headers: httpError.response?.headers,\n data: httpError.response?.data,\n },\n } as const;\n}\n"],"mappings":";;sIAAAA,IAEA,IAAAC,EAA8D,SAE9DC,EAAmB,SAJnB,OAAS,WAAAC,MAAe,YACxB,OAAS,kBAAAC,EAAgB,aAAAC,MAAiB,UCD1CC,IACA,IAAAC,EAA2B,SAC3BC,EAAmB,SAEZ,SAASC,EAAiBC,EAAmC,CAClE,GAAI,aAAW,YAAYA,CAAK,EAC9B,OAAOA,EAGT,IAAMC,EAAcD,aAAiB,MAAQ,EAAAE,QAAO,MAAMF,CAAK,EAAI,KACnE,OAAOC,EAAcF,EAAiBE,CAAW,EAAI,IACvD,CCXAE,IAEO,SAASC,EAAiBC,EAAuB,CACtD,MAAO,CACL,QAAS,CACP,QAASA,EAAU,OAAO,QAC1B,IAAKA,EAAU,OAAO,IACtB,OAAQA,EAAU,OAAO,OACzB,QAASA,EAAU,OAAO,QAC1B,KAAMA,EAAU,OAAO,IACzB,EACA,SAAU,CACR,KAAMA,EAAU,KAChB,QAASA,EAAU,QACnB,OAAQA,EAAU,UAAU,OAC5B,QAASA,EAAU,UAAU,QAC7B,KAAMA,EAAU,UAAU,IAC5B,CACF,CACF,CFZO,SAASC,EAAiBC,EAAoBC,EAAgB,CACnE,GAAI,CACF,IAAIC,EAAU,6BAA6B,IAAI,KAAK,EAAE,YAAY,CAAC;AAAA,EACnE,GAAID,aAAiB,MAAO,CAC1BC,GAAW;AAAA,EACXA,GAAW,GAAG,EAAAC,QAAO,UAAUF,CAAK,CAAC;AAAA,EACrCC,GAAW;AAAA,EACXA,GAAW,GAAG,KAAK,UAAU,EAAAC,QAAO,KAAKF,CAAK,EAAG,KAAM,CAAC,CAAC;AAAA,EAEzD,IAAMG,EAAYC,EAAiBJ,CAAK,EACpCG,IACFF,GAAW;AAAA,EACXA,GAAW,GAAG,KAAK,UAAUI,EAAiBF,CAAS,EAAG,KAAM,CAAC,CAAC;AAAA,EAEtE,CACAG,EAAUC,EAAQR,CAAU,EAAG,CAAE,UAAW,EAAK,CAAC,EAClDS,EAAeT,EAAYE,CAAO,CACpC,MAAQ,CAER,CACF,CAIA,IAAMQ,KAAkB,iBAAsC,IAAI,EAOrDC,EAA8B,CAAC,CAAE,SAAAC,EAAU,SAAAC,CAAS,IAAM,CACrE,IAAMC,KAAkB,eACrBb,GAAUF,EAAiBa,EAAUX,CAAK,EAC3C,CAACW,CAAQ,CACX,EAEA,OACE,EAAAG,QAAA,cAACL,EAAgB,SAAhB,CAAyB,MAAOI,GAC9BD,CACH,CAEJ,EAEaG,EAAc,IAAuB,CAChD,IAAMC,KAAU,cAAWP,CAAe,EAC1C,GAAIO,IAAY,KACd,MAAM,IAAI,MACR,4DACF,EAEF,OAAOA,CACT","names":["init_esm_shims","import_react","import_verror","dirname","appendFileSync","mkdirSync","init_esm_shims","import_http_client","import_verror","extractHttpError","error","nestedError","VError","init_esm_shims","getHttpErrorInfo","httpError","writeCrashReport","reportPath","error","content","VError","httpError","extractHttpError","getHttpErrorInfo","mkdirSync","dirname","appendFileSync","DebugLogContext","DebugLogProvider","filePath","children","writeToDebugLog","React","useDebugLog","context"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as _createRequire } from 'node:module';
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{
|
|
4
|
-
//# sourceMappingURL=chunk-
|
|
3
|
+
import{Ua as e,u as r}from"./chunk-HMROXS2Y.js";import{a as m}from"./chunk-CXOD6WQ4.js";import{e as t,h as i}from"./chunk-V4TR6DCM.js";i();var p=t(m(),1);function f(){let o=r();return(0,p.useMemo)(()=>e(o),[o])}i();export{f as a};
|
|
4
|
+
//# sourceMappingURL=chunk-RPHPWNCA.js.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
import{Ka as G,Pa as I,a as _,b as A,d as l,f as O,la as q,mb as U,x as B}from"./chunk-HMROXS2Y.js";import{L as W,N as k,V as Q,a as w,b as L,d as f,e as R,l as c,m as T,x as V,z as H}from"./chunk-CXOD6WQ4.js";import{e as u,h as a}from"./chunk-V4TR6DCM.js";a();a();var ce={},de={},le={},ue={};var fe={},he={},ve={},ge={};function D(t){var e={"api._api_base_domain_":[{srcPath:"/apps-release-manager-service-web",destPath:""}],"bo._base_domain_":[{srcPath:"/apps-release-manager-service-web",destPath:""}],"wixbo.ai":[{srcPath:"/apps-release-manager-service-web",destPath:""}],"www._base_domain_":[{srcPath:"/apps-release-manager-service-web/artifacts-release-manager/app-releases",destPath:"/artifacts-release-manager/app-releases"},{srcPath:"/_api/apps-release-manager-service-web/artifacts-release-manager/app-releases",destPath:"/artifacts-release-manager/app-releases"},{srcPath:"/apps-release-manager-service-web/apps/create",destPath:"/apps/create"},{srcPath:"/apps-release-manager-service-web/apps/promote",destPath:"/apps/promote"},{srcPath:"/apps-release-manager-service-web/apps/tags",destPath:"/apps/tags"},{srcPath:"/apps-release-manager-service-web/apps/create-components",destPath:"/apps/create-components"}],"manage._base_domain_":[{srcPath:"/apps-release-manager-service-web/apps/promote",destPath:"/apps/promote"},{srcPath:"/apps-release-manager-service-web/apps/create",destPath:"/apps/create"},{srcPath:"/apps-release-manager-service-web/apps/tags",destPath:"/apps/tags"},{srcPath:"/apps-release-manager-service-web/apps/create-components",destPath:"/apps/create-components"}]};return A(Object.assign(t,{domainToMappings:e}))}function K(t){var e=l(ce,{}),r=e.toJSON,s=e.fromJSON,i=l(de,{}).fromJSON;function o(d){var v=d.host,m=r(t),g={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.CreateAppRelease",url:D({protoPath:"/apps/create/{appId}",data:m,host:v}),data:m,transformResponse:i};return g}return o.fromReq=s,o.__isAmbassador=!0,o}function X(t){var e=l(ve,{}),r=e.toJSON,s=e.fromJSON,i=l(ge,{}).fromJSON;function o(d){var v=d.host,m=r(t),g={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"PUT",methodFqn:"com.wix.ctp.AppsReleaseManagerService.UpdateAppRelease",url:D({protoPath:"/apps/tags/{tag}",data:m,host:v}),data:m,transformResponse:i};return g}return o.fromReq=s,o.__isAmbassador=!0,o}function Y(t){var e=l(le,{}),r=e.toJSON,s=e.fromJSON,i=l(ue,{}).fromJSON;function o(d){var v=d.host,m=r(t),g={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.CreateComponents",url:D({protoPath:"/apps/create-components/{appId}",data:m,host:v}),data:m,transformResponse:i};return g}return o.fromReq=s,o.__isAmbassador=!0,o}function Z(t){var e=l(fe,{}),r=e.toJSON,s=e.fromJSON,i=l(he,{}).fromJSON;function o(d){var v=d.host,m=r(t),g={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.PromoteAppReleaseToDevCenter",url:D({protoPath:"/apps/promote/{appId}/{tag}",data:m,host:v}),data:m,transformResponse:i};return g}return o.fromReq=s,o.__isAmbassador=!0,o}var N=u(L(),1);a();var ee=c.object({newVersion:c.string()}),te=c.object({tag:c.string()});var{AppPermissionDenied:M}=R,re=(0,N.variant)({TagUpdated:{},TagNotFound:(0,N.fields)()}),P=class{constructor(e){this.httpClient=e;let{minRetryTimeout:r}=T();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;createComponents=async(e,r,s)=>{try{await _(()=>this.httpClient.request(Y({appId:e,componentConfigs:r,projectId:s})),this.retryOptions)}catch(i){throw O(i)&&i.response?.status===403?new f({code:M({appId:e}),cause:i}):new f({code:R.FailedToCreateComponents(),cause:i})}};createAppRelease=async(e,r)=>{try{let{data:s}=await _(()=>this.httpClient.request(K({appId:e.appId,componentConfigs:e.components,projectId:r})),this.retryOptions);return te.parse(s).tag}catch(s){throw O(s)&&s.response?.status===403?new f({code:M({appId:e.appId}),cause:s}):new f({code:R.FailedToCreateAppRelease(),cause:s})}};updateAppRelease=async(e,r)=>{try{return await _(()=>this.httpClient.request(X({appId:e.appId,componentConfigs:e.components,tag:r})),this.retryOptions),re.TagUpdated()}catch(s){if(O(s)){if(s.response?.status===404)return re.TagNotFound({cause:s});if(s.response?.status===403)throw new f({code:M({appId:e.appId}),cause:s})}throw new f({code:R.FailedToUpdateAppRelease(),cause:s})}};promoteToDevCenter=async(e,r,s)=>{let{data:i}=await _(()=>this.httpClient.request(Z({appId:e,tag:r,versionType:s})),this.retryOptions);return ee.parse(i)}};a();var se=u(w(),1);function Se(){let t=I({type:"backoffice"});return(0,se.useMemo)(()=>new P(t),[t])}a();a();var x=u(w(),1),ae=(0,x.createContext)(null),Xe=({children:t,armTag:e})=>x.default.createElement(ae.Provider,{value:{armTag:e}},t),E=()=>{let t=(0,x.useContext)(ae);if(t===null)throw new Error("useArmTag() cannot be used without an <ArmTagProvider>");return t};a();var pe=u(w(),1);a();var oe=u(w(),1),ie=(0,oe.createContext)(null);function J(){let t=(0,pe.useContext)(ie);if(t===null)throw new Error("useSiteId() cannot be used without an <SiteIdProvider>");return t}a();var y=u(w(),1),ne=(0,y.createContext)(null),ot=({children:t,siteOverrideId:e})=>y.default.createElement(ne.Provider,{value:{siteOverrideId:e}},t),j=()=>{let t=(0,y.useContext)(ne);if(t===null)throw new Error("useSiteOverrideId() cannot be used without an <SiteOverrideProvider>");return t};a();a();var _e={},Re={sites:"_site"},we={createdDate:"google.protobuf.Timestamp",updatedDate:"google.protobuf.Timestamp",trashedDate:"google.protobuf.Timestamp"};function xe(t){var e={"www._base_domain_":[{srcPath:"/_api/sites-list",destPath:"/api"},{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"feedback._base_domain_":[{srcPath:"/_api/sites-list",destPath:"/api"}],"manage._base_domain_":[{srcPath:"/_api/sites-list",destPath:"/api"},{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"},{srcPath:"/_api/sites-list-data",destPath:"/api/sites-list-data"}],"www.wixapis.com":[{srcPath:"/site-list/v2/sites",destPath:"/v2/sites"}],"api._api_base_domain_":[{srcPath:"/sites-list",destPath:""}],"bo._base_domain_":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"wixbo.ai":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"dev._base_domain_":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"editor._base_domain_":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"blocks._base_domain_":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"create.editorx":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}]};return A(Object.assign(t,{domainToMappings:e}))}function z(t){var e=l(_e,{}),r=e.toJSON,s=e.fromJSON,i=l(Re,{_site:we}).fromJSON;function o(d){var v=d.host,m=r(t),g={entityFqdn:"wix.site_list.v2.site",method:"POST",methodFqn:"com.wixpress.sitelist.api.SiteListServiceV2.QuerySites",url:xe({protoPath:"/v2/sites/query",data:m,host:v}),data:m,transformResponse:i};return g}return o.fromReq=s,o.__isAmbassador=!0,o}a();var ye=c.object({id:c.string(),displayName:c.string(),viewUrl:c.union([c.string().url(),c.literal("")]).optional()}),$=c.object({sites:c.array(ye)});var C=class{constructor(e){this.httpClient=e;let{minRetryTimeout:r}=T();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;querySites=async(e={})=>{try{let{data:r}=await _(()=>this.httpClient.request(z(e)),this.retryOptions);return $.parse(r).sites}catch(r){throw new f({code:R.FailedToQuerySites(),cause:r,info:{...e}})}};getSite=async e=>{try{let{data:r}=await _(()=>this.httpClient.request(z({query:{filter:{id:{$in:[e]}}}})),this.retryOptions),{sites:s}=$.parse(r);return s.at(0)??null}catch(r){throw new f({code:R.FailedToGetSite(),cause:r,info:{id:e}})}}};a();var me=u(w(),1);function Pe(){let t=I({type:"backoffice"});return(0,me.useMemo)(()=>new C(t),[t])}a();a();var b=u(L(),1),F=(0,b.variant)({NotConfigured:{},NotFound:(0,b.fields)(),Resolved:(0,b.fields)()});a();async function Ft({projectFolder:t,siteListClient:{getSite:e},siteId:r,writeDebugLog:s}){let i=r||(await G(t,s))?.siteId;if(!i)return F.NotConfigured();let o=await e(i);return o?F.Resolved({site:o}):F.NotFound({id:i})}a();var S=u(w(),1);var h=u(L(),1);var Ce=(t,e)=>{let r=(0,h.isType)(e,q.Site)?`${t.origin}/_api`:"https://apps.wix.com",s=new URL(`${r}/elgar-server/redirect`);return["specs.UseAppsRuntimeCache","specs.ApplyQueryParamsOverrides"].forEach(o=>{s.searchParams.append("experiments",`${o}#true`)}),s.searchParams.append("redirectToUrl",t.toString()),s.searchParams.append("staticsVersions","{}"),s};function Wt(){let{model:t}=U(),{site:e}=J(),{armTag:r}=E(),{siteOverrideId:s}=j();return(0,S.useCallback)(i=>be(i,{site:e,appId:t.config.appId,tag:r,siteOverrideId:s}),[r,t.config.appId,e,s])}function be(t,e){let{site:r,tag:s,siteOverrideId:i}=e,o=(0,h.match)(t,{Dashboard:()=>new URL(`dashboard/${r.id}`,"https://manage.wix.com/"),Editor:()=>new URL(`https://wix.com/editor/${r.id}`),Site:()=>{let d=new URL(r.viewUrl);return i&&d.searchParams.append("site-override",i),d}});return o.searchParams.append("apps-override",s),(0,h.isOfVariant)(t,(0,h.variantList)([q.Editor,q.Site]))?Ce(o,t).toString():o.toString()}function kt(){let{model:t}=U(),{site:e}=J(),{armTag:r}=E(),{siteOverrideId:s}=j();return(0,S.useCallback)(i=>Ae(i,{site:e,appId:t.config.appId,tag:r,siteOverrideId:s}),[r,t.config.appId,e,s])}function Ae(t,e){let{appId:r,site:s,tag:i}=e,o=(0,h.matcher)(t).with({DashboardPage:()=>new URL(`dashboard/${s.id}/app/${r}${t.route}`,"https://manage.wix.com/")}).when(["DashboardMenuPlugin","DashboardPlugin","DashboardModal"],()=>new URL(`dashboard/${s.id}${t.route}`,"https://manage.wix.com/")).complete();return o.searchParams.append("apps-override",i),o.toString()}var Qt=async({url:t,title:e},r)=>{try{await B(t)}catch{r({type:"error",prefix:"app",msg:S.default.createElement(W,{type:"error"},S.default.createElement(Q,{i18nKey:"general.open_page_error",components:[S.default.createElement(H,{bold:!0})],values:{title:e}}),S.default.createElement(V,null),S.default.createElement(k,{url:t}))})}};export{C as a,Pe as b,ie as c,F as d,Ft as e,P as f,Se as g,Xe as h,E as i,J as j,ot as k,Ce as l,Wt as m,be as n,kt as o,Ae as p,Qt as q};
|
|
4
|
+
//# sourceMappingURL=chunk-T3M3WLBF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../arm-client/src/client.ts","../../../node_modules/@wix/ambassador-ctp-gradual-rollout-v1-app-config/http.impl.ts","../../arm-client/src/schemas.ts","../../arm-client/src/useARMClient.ts","../../arm-client/src/index.ts","../src/context/armTag.tsx","../src/site-id/useSiteId.ts","../src/site-id/context.ts","../src/context/siteOverride.tsx","../../site-list-client/src/site-list-client.ts","../../../node_modules/@wix/ambassador-site-list-v2-site/http.impl.ts","../../site-list-client/src/schemas.ts","../../site-list-client/src/useSiteListClient.ts","../../site-list-client/src/index.ts","../src/site-id/site-id-state.ts","../src/site-id/resolve-configured-site.ts","../src/components/extensions/utils.tsx"],"sourcesContent":["import type { HttpClient, HttpError } from '@wix/cli-http-client';\nimport type { AppManifest } from '@wix/cli-app-manifest';\nimport type { Options } from 'p-retry';\nimport type {\n VersionType,\n ComponentConfig,\n} from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/types';\nimport {\n createAppRelease,\n promoteAppReleaseToDevCenter,\n updateAppRelease,\n createComponents,\n} from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/http';\nimport pRetry from 'p-retry';\nimport { fields, variant } from 'variant';\nimport { isHttpError } from '@wix/cli-http-client';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { createAppReleaseSchema, promoteAppReleaseSchema } from './schemas.js';\n\nconst { AppPermissionDenied } = CliErrorCode;\n\nexport const UpdateAppReleaseData = variant({\n TagUpdated: {},\n TagNotFound: fields<{ cause: HttpError }>(),\n});\n\nexport class ARMClient {\n private readonly retryOptions: Options;\n\n constructor(private readonly httpClient: HttpClient) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n createComponents = async (\n appId: string,\n componentConfigs: ComponentConfig[],\n projectId: string\n ) => {\n try {\n await pRetry(\n () =>\n this.httpClient.request(\n createComponents({\n appId,\n componentConfigs,\n projectId,\n })\n ),\n this.retryOptions\n );\n } catch (e) {\n if (isHttpError(e) && e.response?.status === 403) {\n throw new CliError({\n code: AppPermissionDenied({ appId }),\n cause: e,\n });\n }\n throw new CliError({\n code: CliErrorCode.FailedToCreateComponents(),\n cause: e,\n });\n }\n };\n\n createAppRelease = async (manifest: AppManifest, projectId: string) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n createAppRelease({\n appId: manifest.appId,\n componentConfigs: manifest.components,\n projectId,\n })\n ),\n this.retryOptions\n );\n\n return createAppReleaseSchema.parse(data).tag;\n } catch (e) {\n if (isHttpError(e) && e.response?.status === 403) {\n throw new CliError({\n code: AppPermissionDenied({ appId: manifest.appId }),\n cause: e,\n });\n }\n throw new CliError({\n code: CliErrorCode.FailedToCreateAppRelease(),\n cause: e,\n });\n }\n };\n\n updateAppRelease = async (manifest: AppManifest, tag: string) => {\n try {\n await pRetry(\n () =>\n this.httpClient.request(\n updateAppRelease({\n appId: manifest.appId,\n componentConfigs: manifest.components,\n tag,\n })\n ),\n this.retryOptions\n );\n\n return UpdateAppReleaseData.TagUpdated();\n } catch (e) {\n if (isHttpError(e)) {\n if (e.response?.status === 404) {\n return UpdateAppReleaseData.TagNotFound({ cause: e });\n }\n if (e.response?.status === 403) {\n throw new CliError({\n code: AppPermissionDenied({ appId: manifest.appId }),\n cause: e,\n });\n }\n }\n throw new CliError({\n code: CliErrorCode.FailedToUpdateAppRelease(),\n cause: e,\n });\n }\n };\n\n promoteToDevCenter = async (\n appId: string,\n tag: string,\n versionType: VersionType\n ) => {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n promoteAppReleaseToDevCenter({ appId, tag, versionType })\n ),\n this.retryOptions\n );\n\n return promoteAppReleaseSchema.parse(data);\n };\n}\n",null,"import { z } from 'zod';\n\nexport const promoteAppReleaseSchema = z.object({\n newVersion: z.string(),\n});\n\nexport const createAppReleaseSchema = z.object({\n tag: z.string(),\n});\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { ARMClient } from './client.js';\n\nexport function useARMClient(): ARMClient {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new ARMClient(httpClient), [httpClient]);\n}\n","export { ARMClient } from './client.js';\nexport { useARMClient } from './useARMClient.js';\n","import React, { useContext, createContext } from 'react';\nimport type { FC, ReactNode } from 'react';\n\ninterface ArmTag {\n armTag: string;\n}\n\nexport const ArmTagContext = createContext<ArmTag | null>(null);\n\nexport const ArmTagProvider: FC<{ children: ReactNode; armTag: string }> = ({\n children,\n armTag,\n}) => {\n return (\n <ArmTagContext.Provider value={{ armTag }}>\n {children}\n </ArmTagContext.Provider>\n );\n};\n\nexport const useArmTag = () => {\n const context = useContext(ArmTagContext);\n\n if (context === null) {\n throw new Error('useArmTag() cannot be used without an <ArmTagProvider>');\n }\n\n return context;\n};\n","import { useContext } from 'react';\nimport { SiteIdContext } from './context.js';\nimport type { SiteIdState } from './context.js';\n\nexport function useSiteId(): SiteIdState {\n const context = useContext(SiteIdContext);\n if (context === null) {\n throw new Error('useSiteId() cannot be used without an <SiteIdProvider>');\n }\n return context;\n}\n","import { createContext } from 'react';\nimport type { Site } from '@wix/site-list-client';\n\nexport interface SiteIdState {\n site: Site;\n setSite: (site: Site) => Promise<void>;\n}\n\nexport const SiteIdContext = createContext<SiteIdState | null>(null);\n","import React, { useContext, createContext } from 'react';\nimport type { FC, ReactNode } from 'react';\n\ninterface SiteOverride {\n siteOverrideId?: string;\n}\n\nexport const SiteOverrideContext = createContext<SiteOverride | null>(null);\n\nexport const SiteOverrideProvider: FC<{\n children: ReactNode;\n siteOverrideId?: string;\n}> = ({ children, siteOverrideId }) => {\n return (\n <SiteOverrideContext.Provider value={{ siteOverrideId }}>\n {children}\n </SiteOverrideContext.Provider>\n );\n};\n\nexport const useSiteOverrideId = () => {\n const context = useContext(SiteOverrideContext);\n\n if (context === null) {\n throw new Error(\n 'useSiteOverrideId() cannot be used without an <SiteOverrideProvider>'\n );\n }\n\n return context;\n};\n","import pRetry from 'p-retry';\nimport type { Options } from 'p-retry';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { QuerySitesRequest } from '@wix/ambassador-site-list-v2-site/types';\nimport { querySites } from '@wix/ambassador-site-list-v2-site/http';\nimport type { HttpClient } from '@wix/cli-http-client';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { querySitesSchema } from './schemas.js';\n\nexport class SiteListClient {\n private readonly retryOptions: Options;\n\n constructor(private readonly httpClient: HttpClient) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n querySites = async (opts: QuerySitesRequest = {}) => {\n try {\n const { data } = await pRetry(\n () => this.httpClient.request(querySites(opts)),\n this.retryOptions\n );\n\n return querySitesSchema.parse(data).sites;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToQuerySites(),\n cause: e,\n info: { ...opts },\n });\n }\n };\n\n getSite = async (id: string) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n querySites({ query: { filter: { id: { $in: [id] } } } })\n ),\n this.retryOptions\n );\n\n const { sites } = querySitesSchema.parse(data);\n return sites.at(0) ?? null;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetSite(),\n cause: e,\n info: { id },\n });\n }\n };\n}\n",null,"import { z } from 'zod';\n\nexport const siteSchema = z.object({\n id: z.string(),\n displayName: z.string(),\n viewUrl: z.union([z.string().url(), z.literal('')]).optional(),\n});\n\nexport const querySitesSchema = z.object({\n sites: z.array(siteSchema),\n});\n\nexport type Site = z.TypeOf<typeof siteSchema>;\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { SiteListClient } from './site-list-client.js';\n\nexport function useSiteListClient(): SiteListClient {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new SiteListClient(httpClient), [httpClient]);\n}\n","export { SiteListClient } from './site-list-client.js';\nexport type { Site } from './schemas.js';\nexport { useSiteListClient } from './useSiteListClient.js';\n","import { variant, fields } from 'variant';\nimport type { VariantOf, TypeNames } from 'variant';\nimport type { Site } from '@wix/site-list-client';\n\nexport const SiteIdState = variant({\n NotConfigured: {},\n NotFound: fields<{ id: string }>(),\n Resolved: fields<{ site: Site }>(),\n});\n\nexport type SiteIdState<T extends TypeNames<typeof SiteIdState> = undefined> =\n VariantOf<typeof SiteIdState, T>;\n","import type { SiteListClient } from '@wix/site-list-client';\nimport type { WriteDebugLogFn } from '@wix/cli-debug-log';\nimport { readAppConfig } from '../files/app.config.js';\nimport { SiteIdState } from './site-id-state.js';\n\nexport async function resolveConfiguredSite({\n projectFolder,\n siteListClient: { getSite },\n siteId,\n writeDebugLog,\n}: {\n projectFolder: string;\n siteListClient: SiteListClient;\n siteId?: string;\n writeDebugLog?: WriteDebugLogFn;\n}) {\n const resolvedSiteId = !siteId\n ? (await readAppConfig(projectFolder, writeDebugLog))?.siteId\n : siteId;\n\n if (!resolvedSiteId) {\n return SiteIdState.NotConfigured();\n }\n\n const site = await getSite(resolvedSiteId);\n\n if (!site) {\n return SiteIdState.NotFound({ id: resolvedSiteId });\n }\n\n return SiteIdState.Resolved({ site });\n}\n","import React, { useCallback } from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport { matcher, match, isOfVariant, variantList, isType } from 'variant';\nimport { openBrowser } from '@wix/user-browser';\nimport type { Site } from '@wix/site-list-client';\nimport { Alert, Link, Text, Newline } from '@wix/cli-ui-kit';\nimport { PlatformType } from '@wix/cli-app-definitions';\nimport type { WriteLogFn } from '../DevCommand/devEnvLogs/useDevEnvLogs.js';\nimport { useProjectModel } from '../../model.js';\nimport { useSiteId } from '../../site-id/useSiteId.js';\nimport { useArmTag } from '../../context/armTag.js';\nimport type { DevCenterComponent } from '../../dev-center/components/dev-center-component.js';\nimport type { DashboardExtension } from './useExtensions.js';\nimport { useSiteOverrideId } from '../../context/siteOverride.js';\n\n/*\nThis function is a workaround to open the new CSM v2 experience to external users before the experiment is open to external users.\n\nIn the *editor and viewer* we are using elgar to redirect the user to the editor with the overrides in his cookie - since there is no support for query params overrides in certain flows.\n*/\nexport const redirectWithCSMv2FTs = (\n url: URL,\n platformType: PlatformType\n): URL => {\n const elgarBaseURL = isType(platformType, PlatformType.Site)\n ? `${url.origin}/_api`\n : 'https://apps.wix.com';\n const elgarRedirectUrl = new URL(`${elgarBaseURL}/elgar-server/redirect`);\n\n const petriOvr = [\n 'specs.UseAppsRuntimeCache',\n 'specs.ApplyQueryParamsOverrides',\n ];\n\n petriOvr.forEach((spec) => {\n elgarRedirectUrl.searchParams.append('experiments', `${spec}#true`);\n });\n elgarRedirectUrl.searchParams.append('redirectToUrl', url.toString());\n elgarRedirectUrl.searchParams.append('staticsVersions', '{}');\n\n return elgarRedirectUrl;\n};\n\nexport function useResolvePlatformUrl() {\n const { model } = useProjectModel();\n const { site } = useSiteId();\n const { armTag } = useArmTag();\n const { siteOverrideId } = useSiteOverrideId();\n\n return useCallback(\n (platformType: PlatformType) => {\n return resolvePlatformUrl(platformType, {\n site,\n appId: model.config.appId,\n tag: armTag,\n siteOverrideId,\n });\n },\n [armTag, model.config.appId, site, siteOverrideId]\n );\n}\n\nexport function resolvePlatformUrl(\n platformType: PlatformType,\n options: {\n site: Site;\n appId: string;\n tag: string;\n siteOverrideId?: string;\n }\n) {\n const { site, tag, siteOverrideId } = options;\n\n const url = match(platformType, {\n Dashboard: () => new URL(`dashboard/${site.id}`, 'https://manage.wix.com/'),\n Editor: () => new URL(`https://wix.com/editor/${site.id}`),\n Site: () => {\n const siteUrl = new URL(site.viewUrl!);\n if (siteOverrideId) {\n siteUrl.searchParams.append('site-override', siteOverrideId);\n }\n return siteUrl;\n },\n });\n\n url.searchParams.append('apps-override', tag);\n\n return isOfVariant(\n platformType,\n variantList([PlatformType.Editor, PlatformType.Site])\n )\n ? redirectWithCSMv2FTs(url, platformType).toString()\n : url.toString();\n}\n\nexport function useResolveDashboardExtensionUrl() {\n const { model } = useProjectModel();\n const { site } = useSiteId();\n const { armTag } = useArmTag();\n const { siteOverrideId } = useSiteOverrideId();\n\n return useCallback(\n (extension: DevCenterComponent<DashboardExtension>) =>\n resolveDashboardExtensionUrl(extension, {\n site,\n appId: model.config.appId,\n tag: armTag,\n siteOverrideId,\n }),\n [armTag, model.config.appId, site, siteOverrideId]\n );\n}\n\nexport function resolveDashboardExtensionUrl(\n extension: DevCenterComponent<DashboardExtension>,\n options: {\n site: Site;\n appId: string;\n tag: string;\n siteOverrideId?: string;\n }\n) {\n const { appId, site, tag } = options;\n\n const url = matcher(extension)\n .with({\n DashboardPage: () =>\n new URL(\n `dashboard/${site.id}/app/${appId}${extension.route}`,\n 'https://manage.wix.com/'\n ),\n })\n .when(\n ['DashboardMenuPlugin', 'DashboardPlugin', 'DashboardModal'],\n () =>\n new URL(\n `dashboard/${site.id}${extension.route}`,\n 'https://manage.wix.com/'\n )\n )\n .complete();\n\n url.searchParams.append('apps-override', tag);\n\n return url.toString();\n}\n\nexport const openPage = async (\n { url, title }: { url: string; title: string },\n writeLog: WriteLogFn\n) => {\n try {\n await openBrowser(url);\n } catch {\n writeLog({\n type: 'error',\n prefix: 'app',\n msg: (\n <Alert type=\"error\">\n <Trans\n i18nKey=\"general.open_page_error\"\n components={[<Text bold />]}\n values={{ title }}\n />\n <Newline />\n <Link url={url} />\n </Alert>\n ),\n });\n }\n};\n"],"mappings":"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","names":["init_esm_shims","init_esm_shims","_createAppReleaseRequest","_createAppReleaseResponse","_createComponentsRequest","_createComponentsResponse","_promoteAppReleaseToDevCenterRequest","_promoteAppReleaseToDevCenterResponse","_updateAppReleaseRequest","_updateAppReleaseResponse","resolveComWixCtpAppsReleaseManagerServiceUrl","opts","domainToMappings","resolveUrl","createAppRelease","payload","_a","serializer","_createAppReleaseRequest","toReq","fromReq","fromRes","_createAppReleaseResponse","__createAppRelease","host","serializedData","metadata","updateAppRelease","__updateAppRelease","createComponents","_createComponentsRequest","_createComponentsResponse","__createComponents","promoteAppReleaseToDevCenter","payload","_a","serializer","_promoteAppReleaseToDevCenterRequest","toReq","fromReq","fromRes","_promoteAppReleaseToDevCenterResponse","__promoteAppReleaseToDevCenter","host","serializedData","metadata","resolveComWixCtpAppsReleaseManagerServiceUrl","import_variant","init_esm_shims","promoteAppReleaseSchema","z","createAppReleaseSchema","AppPermissionDenied","CliErrorCode","UpdateAppReleaseData","ARMClient","httpClient","minRetryTimeout","getTestOverrides","appId","componentConfigs","projectId","pRetry","createComponents","e","isHttpError","CliError","manifest","data","createAppRelease","createAppReleaseSchema","tag","updateAppRelease","versionType","promoteAppReleaseToDevCenter","promoteAppReleaseSchema","init_esm_shims","import_react","useARMClient","httpClient","useHttpClient","ARMClient","init_esm_shims","init_esm_shims","import_react","ArmTagContext","ArmTagProvider","children","armTag","React","useArmTag","context","init_esm_shims","import_react","init_esm_shims","import_react","SiteIdContext","useSiteId","context","SiteIdContext","init_esm_shims","import_react","SiteOverrideContext","SiteOverrideProvider","children","siteOverrideId","React","useSiteOverrideId","context","init_esm_shims","init_esm_shims","_querySitesRequest","_querySitesResponse","_site","resolveComWixpressSitelistApiSiteListServiceV2Url","opts","domainToMappings","resolveUrl","querySites","payload","_a","serializer","toReq","fromReq","fromRes","__querySites","host","serializedData","metadata","init_esm_shims","siteSchema","z","querySitesSchema","SiteListClient","httpClient","minRetryTimeout","getTestOverrides","opts","data","pRetry","querySites","querySitesSchema","e","CliError","CliErrorCode","id","sites","init_esm_shims","import_react","useSiteListClient","httpClient","useHttpClient","SiteListClient","init_esm_shims","init_esm_shims","import_variant","SiteIdState","init_esm_shims","resolveConfiguredSite","projectFolder","getSite","siteId","writeDebugLog","resolvedSiteId","readAppConfig","SiteIdState","site","init_esm_shims","import_react","import_variant","redirectWithCSMv2FTs","url","platformType","elgarBaseURL","PlatformType","elgarRedirectUrl","spec","useResolvePlatformUrl","model","useProjectModel","site","useSiteId","armTag","useArmTag","siteOverrideId","useSiteOverrideId","resolvePlatformUrl","options","tag","siteUrl","useResolveDashboardExtensionUrl","extension","resolveDashboardExtensionUrl","appId","openPage","title","writeLog","openBrowser","React","Alert","Trans","Text","Newline","Link"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
import{e as k}from"./chunk-22T5OFY2.js";import{a as L}from"./chunk-E6KVS4MA.js";import{j as E,m as v,o as D}from"./chunk-T3M3WLBF.js";import{ha as B,ka as w,la as t,m as a}from"./chunk-HMROXS2Y.js";import{C as m,N as h,V as f,W as b,a as S,d as x,e as g,w as e,z as P}from"./chunk-CXOD6WQ4.js";import{e as C,h as n}from"./chunk-V4TR6DCM.js";n();async function A(o){let i=B(o),l=w(o);if(!await a(i)||!await a(l))throw new x({code:g.BuiltProjectNeeded()})}n();var r=C(S(),1);var s=({url:o,label:i,withPointer:l=!0})=>r.default.createElement(e,null,r.default.createElement(e,{marginRight:1},l&&r.default.createElement(m,null),r.default.createElement(e,{marginLeft:1},r.default.createElement(h,{url:o},i)))),G=()=>{let{t:o}=b(),{isPlatformExists:i,hasSinglePlatform:l}=k(),{dashboardExtensions:p}=L(),{site:y}=E(),u=v(),d=D();return r.default.createElement(r.default.Fragment,null,l(t.Dashboard())?r.default.createElement(e,{flexDirection:"row"},r.default.createElement(f,{i18nKey:"general.open_preview.title_single"}),r.default.createElement(s,{withPointer:!1,url:d(p[0]),label:o("general.platform.dashboard")})):r.default.createElement(e,{flexDirection:"column"},r.default.createElement(f,{i18nKey:"general.open_preview.title_multiple"}),r.default.createElement(e,{paddingLeft:2,flexDirection:"column"},i(t.Site())&&(y.viewUrl?r.default.createElement(s,{url:u(t.Site()),label:o("general.platform.site")}):r.default.createElement(e,{marginRight:1},r.default.createElement(m,null),r.default.createElement(e,{marginLeft:1},r.default.createElement(P,{skin:"secondary",underline:!0},o("general.platform.unpublished_site"))))),i(t.Editor())&&r.default.createElement(s,{url:u(t.Editor()),label:o("general.platform.editor")}),i(t.Dashboard())&&r.default.createElement(s,{url:d(p[0]),label:o("general.platform.dashboard")}))))};export{A as a,G as b};
|
|
4
|
+
//# sourceMappingURL=chunk-U6DFVNFC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/files/assert-build-output-exists.ts","../src/components/Platform/PlatformViewer.tsx"],"sourcesContent":["import { pathExists } from '@wix/cli-fs';\nimport {\n getAppBuildFolder,\n getAppManifestPath,\n} from '@wix/cli-app-definitions';\nimport { CliErrorCode, CliError } from '@wix/cli-error';\n\nexport async function assertBuildOutputExists(projectFolder: string) {\n const buildFolder = getAppBuildFolder(projectFolder);\n const manifestPath = getAppManifestPath(projectFolder);\n\n if (!(await pathExists(buildFolder)) || !(await pathExists(manifestPath))) {\n throw new CliError({\n code: CliErrorCode.BuiltProjectNeeded(),\n });\n }\n}\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport { Box, Link, PointerSmallIcon, Text } from '@wix/cli-ui-kit';\nimport { PlatformType } from '@wix/cli-app-definitions';\nimport { useExtensions } from '../extensions/useExtensions.js';\nimport {\n useResolveDashboardExtensionUrl,\n useResolvePlatformUrl,\n} from '../extensions/utils.js';\nimport { usePlatform } from './usePlatform.js';\nimport { useSiteId } from '../../site-id/useSiteId.js';\n\ninterface PlatformLinkProps {\n url: string;\n label: string;\n withPointer?: boolean;\n}\n\nexport const PlatformLink: FC<PlatformLinkProps> = ({\n url,\n label,\n withPointer = true,\n}) => {\n return (\n <Box>\n <Box marginRight={1}>\n {withPointer && <PointerSmallIcon />}\n <Box marginLeft={1}>\n <Link url={url}>{label}</Link>\n </Box>\n </Box>\n </Box>\n );\n};\n\nexport const PlatformViewer: FC = () => {\n const { t } = useTranslation();\n const { isPlatformExists, hasSinglePlatform } = usePlatform();\n const { dashboardExtensions } = useExtensions();\n const { site } = useSiteId();\n const resolvePlatformUrl = useResolvePlatformUrl();\n const resolveDashboardExtensionUrl = useResolveDashboardExtensionUrl();\n\n return (\n <>\n {hasSinglePlatform(PlatformType.Dashboard()) ? (\n <Box flexDirection=\"row\">\n <Trans i18nKey=\"general.open_preview.title_single\" />\n <PlatformLink\n withPointer={false}\n url={resolveDashboardExtensionUrl(dashboardExtensions[0]!)}\n label={t('general.platform.dashboard')}\n />\n </Box>\n ) : (\n <Box flexDirection=\"column\">\n <Trans i18nKey=\"general.open_preview.title_multiple\" />\n <Box paddingLeft={2} flexDirection=\"column\">\n {isPlatformExists(PlatformType.Site()) &&\n (site.viewUrl ? (\n <PlatformLink\n url={resolvePlatformUrl(PlatformType.Site())}\n label={t('general.platform.site')}\n />\n ) : (\n <Box marginRight={1}>\n <PointerSmallIcon />\n <Box marginLeft={1}>\n <Text skin=\"secondary\" underline>\n {t('general.platform.unpublished_site')}\n </Text>\n </Box>\n </Box>\n ))}\n {isPlatformExists(PlatformType.Editor()) && (\n <PlatformLink\n url={resolvePlatformUrl(PlatformType.Editor())}\n label={t('general.platform.editor')}\n />\n )}\n {isPlatformExists(PlatformType.Dashboard()) && (\n <PlatformLink\n url={resolveDashboardExtensionUrl(dashboardExtensions[0]!)}\n label={t('general.platform.dashboard')}\n />\n )}\n </Box>\n </Box>\n )}\n </>\n );\n};\n"],"mappings":";;qVAAAA,IAOA,eAAsBC,EAAwBC,EAAuB,CACnE,IAAMC,EAAcC,EAAkBF,CAAa,EAC7CG,EAAeC,EAAmBJ,CAAa,EAErD,GAAI,CAAE,MAAMK,EAAWJ,CAAW,GAAM,CAAE,MAAMI,EAAWF,CAAY,EACrE,MAAM,IAAIG,EAAS,CACjB,KAAMC,EAAa,mBAAmB,CACxC,CAAC,CAEL,CChBAC,IAAA,IAAAC,EAAkB,SAmBX,IAAMC,EAAsC,CAAC,CAClD,IAAAC,EACA,MAAAC,EACA,YAAAC,EAAc,EAChB,IAEI,EAAAC,QAAA,cAACC,EAAA,KACC,EAAAD,QAAA,cAACC,EAAA,CAAI,YAAa,GACfF,GAAe,EAAAC,QAAA,cAACE,EAAA,IAAiB,EAClC,EAAAF,QAAA,cAACC,EAAA,CAAI,WAAY,GACf,EAAAD,QAAA,cAACG,EAAA,CAAK,IAAKN,GAAMC,CAAM,CACzB,CACF,CACF,EAISM,EAAqB,IAAM,CACtC,GAAM,CAAE,EAAAC,CAAE,EAAIC,EAAe,EACvB,CAAE,iBAAAC,EAAkB,kBAAAC,CAAkB,EAAIC,EAAY,EACtD,CAAE,oBAAAC,CAAoB,EAAIC,EAAc,EACxC,CAAE,KAAAC,CAAK,EAAIC,EAAU,EACrBC,EAAqBC,EAAsB,EAC3CC,EAA+BC,EAAgC,EAErE,OACE,EAAAjB,QAAA,gBAAAA,QAAA,cACGQ,EAAkBU,EAAa,UAAU,CAAC,EACzC,EAAAlB,QAAA,cAACC,EAAA,CAAI,cAAc,OACjB,EAAAD,QAAA,cAACmB,EAAA,CAAM,QAAQ,oCAAoC,EACnD,EAAAnB,QAAA,cAACJ,EAAA,CACC,YAAa,GACb,IAAKoB,EAA6BN,EAAoB,CAAC,CAAE,EACzD,MAAOL,EAAE,4BAA4B,EACvC,CACF,EAEA,EAAAL,QAAA,cAACC,EAAA,CAAI,cAAc,UACjB,EAAAD,QAAA,cAACmB,EAAA,CAAM,QAAQ,sCAAsC,EACrD,EAAAnB,QAAA,cAACC,EAAA,CAAI,YAAa,EAAG,cAAc,UAChCM,EAAiBW,EAAa,KAAK,CAAC,IAClCN,EAAK,QACJ,EAAAZ,QAAA,cAACJ,EAAA,CACC,IAAKkB,EAAmBI,EAAa,KAAK,CAAC,EAC3C,MAAOb,EAAE,uBAAuB,EAClC,EAEA,EAAAL,QAAA,cAACC,EAAA,CAAI,YAAa,GAChB,EAAAD,QAAA,cAACE,EAAA,IAAiB,EAClB,EAAAF,QAAA,cAACC,EAAA,CAAI,WAAY,GACf,EAAAD,QAAA,cAACoB,EAAA,CAAK,KAAK,YAAY,UAAS,IAC7Bf,EAAE,mCAAmC,CACxC,CACF,CACF,GAEHE,EAAiBW,EAAa,OAAO,CAAC,GACrC,EAAAlB,QAAA,cAACJ,EAAA,CACC,IAAKkB,EAAmBI,EAAa,OAAO,CAAC,EAC7C,MAAOb,EAAE,yBAAyB,EACpC,EAEDE,EAAiBW,EAAa,UAAU,CAAC,GACxC,EAAAlB,QAAA,cAACJ,EAAA,CACC,IAAKoB,EAA6BN,EAAoB,CAAC,CAAE,EACzD,MAAOL,EAAE,4BAA4B,EACvC,CAEJ,CACF,CAEJ,CAEJ","names":["init_esm_shims","assertBuildOutputExists","projectFolder","buildFolder","getAppBuildFolder","manifestPath","getAppManifestPath","pathExists","CliError","CliErrorCode","init_esm_shims","import_react","PlatformLink","url","label","withPointer","React","Box_default","PointerSmallIcon","Link","PlatformViewer","t","useTranslation","isPlatformExists","hasSinglePlatform","usePlatform","dashboardExtensions","useExtensions","site","useSiteId","resolvePlatformUrl","useResolvePlatformUrl","resolveDashboardExtensionUrl","useResolveDashboardExtensionUrl","PlatformType","Trans","Text"]}
|