@wix/cli-app 1.1.43 → 1.1.45
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-CZTNNCAZ.js +4 -0
- package/build/{CreateVersionCommand-PMT33DT7.js.map → CreateVersionCommand-CZTNNCAZ.js.map} +1 -1
- package/build/DevCommand-RQYNQ5WM.js +4 -0
- package/build/DevCommand-RQYNQ5WM.js.map +1 -0
- package/build/GenerateCommand-6IRSN77K.js +99 -0
- package/build/GenerateCommand-6IRSN77K.js.map +1 -0
- package/build/{LogsCommand-P7GF73SY.js → LogsCommand-SWOPBUL5.js} +2 -2
- package/build/PreviewCommand-CDXFO2GH.js +4 -0
- package/build/ServeCommand-ZOIW7B5R.js +4 -0
- package/build/{ServeCommand-IDZMCSAT.js.map → ServeCommand-ZOIW7B5R.js.map} +1 -1
- package/build/build-CBLOBWJ6.js +4 -0
- package/build/{build-GUIJNSWL.js.map → build-CBLOBWJ6.js.map} +1 -1
- package/build/{chunk-W5VAOQOV.js → chunk-3PVWT3VF.js} +29 -29
- package/build/chunk-3PVWT3VF.js.map +1 -0
- package/build/chunk-6DDUDBC4.js +4 -0
- package/build/{chunk-44AYFU7B.js.map → chunk-6DDUDBC4.js.map} +1 -1
- package/build/chunk-75BOQ5HC.js +4 -0
- package/build/chunk-75BOQ5HC.js.map +1 -0
- package/build/{chunk-SBVOKZ7F.js → chunk-BAMVAGX3.js} +2 -2
- package/build/chunk-BEPYZQXI.js +4 -0
- package/build/chunk-E3KDHOPJ.js +115 -0
- package/build/chunk-E3KDHOPJ.js.map +1 -0
- package/build/{chunk-33U542O7.js → chunk-IF2RL6QE.js} +2 -2
- package/build/{chunk-OGYAC6LH.js → chunk-K4JO6FA7.js} +2 -2
- package/build/chunk-O4QFSLZD.js +229 -0
- package/build/chunk-O4QFSLZD.js.map +1 -0
- package/build/chunk-OWGFTHVQ.js +11 -0
- package/build/chunk-OWGFTHVQ.js.map +1 -0
- package/build/{chunk-CYIUFMSD.js → chunk-QWTYWW7P.js} +2 -2
- package/build/chunk-SGZ3NN5T.js +4 -0
- package/build/chunk-SGZ3NN5T.js.map +1 -0
- package/build/{chunk-YL4Y5YEO.js → chunk-T23LX5WN.js} +2 -2
- package/build/{chunk-Y647PYH3.js → chunk-U5GBWV4U.js} +2 -2
- package/build/{chunk-PDLH2OMF.js → chunk-WH6FGOUG.js} +2 -2
- package/build/chunk-WS7DT4WX.js +4 -0
- package/build/chunk-WS7DT4WX.js.map +1 -0
- package/build/{chunk-FFYM2OK5.js → chunk-X7N7X6GR.js} +2 -2
- package/build/cloudflare-runtime/entry.js +17 -21
- package/build/cloudflare-runtime/getRegisteredExtensions.js +8 -1
- package/build/index.js +2 -2
- package/build/miniflare/worker-entry.js +0 -11
- package/build/platform-sdk/{chunk-AA4CIK56.js → chunk-7XGMJ3ZC.js} +2 -2
- package/build/platform-sdk/{chunk-PXLVKIYB.js → chunk-RVHPVWYH.js} +2 -2
- package/build/platform-sdk/chunk-RVHPVWYH.js.map +1 -0
- package/build/platform-sdk/dashboard.js +1 -1
- package/build/platform-sdk/editor.js +5 -5
- package/build/platform-sdk/editor.js.map +1 -1
- package/build/platform-sdk/site.js +1 -1
- package/build/platform-sdk/site.js.map +1 -1
- package/build/preview-44MN4BWG.js +4 -0
- package/build/{preview-RCAZQQRZ.js.map → preview-44MN4BWG.js.map} +1 -1
- package/build/{render-command-YI5IXTNY.js → render-command-FCAG76LI.js} +2 -2
- package/package.json +6 -6
- package/templates/site-plugin/assets/logo.svg +1 -0
- package/templates/site-plugin/dependencies.json +13 -0
- package/templates/site-plugin/files/panel.tsx.ejs +44 -0
- package/templates/site-plugin/files/plugin.json.ejs +4 -0
- package/templates/site-plugin/files/plugin.module.css.ejs +22 -0
- package/templates/site-plugin/files/plugin.tsx.ejs +37 -0
- package/build/CreateVersionCommand-PMT33DT7.js +0 -4
- package/build/DevCommand-5YOE6DHO.js +0 -4
- package/build/DevCommand-5YOE6DHO.js.map +0 -1
- package/build/GenerateCommand-QCYI6ZGT.js +0 -99
- package/build/GenerateCommand-QCYI6ZGT.js.map +0 -1
- package/build/PreviewCommand-TLAH2QYA.js +0 -4
- package/build/ServeCommand-IDZMCSAT.js +0 -4
- package/build/build-GUIJNSWL.js +0 -4
- package/build/chunk-244VWIWT.js +0 -4
- package/build/chunk-244VWIWT.js.map +0 -1
- package/build/chunk-3Y4NOBS4.js +0 -4
- package/build/chunk-3Y4NOBS4.js.map +0 -1
- package/build/chunk-44AYFU7B.js +0 -4
- package/build/chunk-AT2TE5HS.js +0 -4
- package/build/chunk-DCT2GH4K.js +0 -115
- package/build/chunk-DCT2GH4K.js.map +0 -1
- package/build/chunk-JLIQSEAZ.js +0 -239
- package/build/chunk-JLIQSEAZ.js.map +0 -1
- package/build/chunk-O3XQFKZB.js +0 -4
- package/build/chunk-O3XQFKZB.js.map +0 -1
- package/build/chunk-QF6RQBVB.js +0 -11
- package/build/chunk-QF6RQBVB.js.map +0 -1
- package/build/chunk-RKLU4NIT.js +0 -4
- package/build/chunk-RKLU4NIT.js.map +0 -1
- package/build/chunk-VBODBNSF.js +0 -4
- package/build/chunk-VBODBNSF.js.map +0 -1
- package/build/chunk-W5VAOQOV.js.map +0 -1
- package/build/platform-sdk/chunk-PXLVKIYB.js.map +0 -1
- package/build/preview-RCAZQQRZ.js +0 -4
- /package/build/{LogsCommand-P7GF73SY.js.map → LogsCommand-SWOPBUL5.js.map} +0 -0
- /package/build/{PreviewCommand-TLAH2QYA.js.map → PreviewCommand-CDXFO2GH.js.map} +0 -0
- /package/build/{chunk-SBVOKZ7F.js.map → chunk-BAMVAGX3.js.map} +0 -0
- /package/build/{chunk-AT2TE5HS.js.map → chunk-BEPYZQXI.js.map} +0 -0
- /package/build/{chunk-33U542O7.js.map → chunk-IF2RL6QE.js.map} +0 -0
- /package/build/{chunk-OGYAC6LH.js.map → chunk-K4JO6FA7.js.map} +0 -0
- /package/build/{chunk-CYIUFMSD.js.map → chunk-QWTYWW7P.js.map} +0 -0
- /package/build/{chunk-YL4Y5YEO.js.map → chunk-T23LX5WN.js.map} +0 -0
- /package/build/{chunk-Y647PYH3.js.map → chunk-U5GBWV4U.js.map} +0 -0
- /package/build/{chunk-PDLH2OMF.js.map → chunk-WH6FGOUG.js.map} +0 -0
- /package/build/{chunk-FFYM2OK5.js.map → chunk-X7N7X6GR.js.map} +0 -0
- /package/build/platform-sdk/{chunk-AA4CIK56.js.map → chunk-7XGMJ3ZC.js.map} +0 -0
- /package/build/{render-command-YI5IXTNY.js.map → render-command-FCAG76LI.js.map} +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
var o={"create_version_command_def.option.version_type":"The type of version you would like to create","create_version_command_def.option.approve_preview":"Approve preview automatically","create_version_command_def.option.base_url":"The base url for when static files have been uploaded to an external cdn","create_version_command_def.option.site":"The site id to use for Application Preview urls, defaults to the current selected development site","dev_command_def.option.https":"Start local dev server on https","app_preview_command_def.option.site":"The site id to use for Application Preview urls, defaults to the current selected development site","app_preview_command_def.option.base_url":"The base url for when static files have been uploaded to an external cdn","app_preview_command_def.option.no_input":"Disable command interactivity","general.loading":"Loading...","general.no_site_id_configured":"You don't have a Development Site currently configured","general.site_id_not_found":`Your currently configured Development Site was not found ({id})
|
|
4
|
+
This may happen because the site was deleted or your access has been revoked.
|
|
5
|
+
|
|
6
|
+
Please select another Development Site to continue`,"general.dashboard_page_text":"<0>Click here</0> to open your application in the Wix Dashboard","general.dashboard_page_click_here":"Click here","general.close_screen":"Press <0/> to close","logs.backend.clear":"Press <0/> to clear","general.write_dev_log_failure.message":"Can not write logs to <0>{path}</0>","general.write_dev_log_failure.hint":"Make sure the file has proper permissions and is accessible","general.open_page_error":"Failed to open the browser for <0>{title}</0>, use the following URL to open it in your browser:","general.dashboard_pages_viewer.title":"Press a number key to open a dashboard page:","general.dashboard_plugins_viewer.title":"Press a number key to open a dashboard plugin:","general.dashboard_menu_plugins_viewer.title":"Press a number key to open a dashboard menu plugin:","general.backend_api_viewer.title":"Press a number key to trigger an api:","general.backend_plugin_viewer.title":"Press a number key to trigger an plugin:","general.backend_events_viewer.title":"Press a number key to trigger an event:","general.numeric_viewer.show_more":"View more...","general.platform.site":"Site","general.platform.unpublished_site":"Site (publish the site to enable site preview)","general.platform.editor":"Editor","general.platform.dashboard":"Dashboard","general.platform.backend":"Backend","general.platform.none":`Your project doesn't seem to have any extensions.
|
|
7
|
+
|
|
8
|
+
Extensions are the building blocks of your app.
|
|
9
|
+
Make sure it is configured properly, or read our <0>documentation</0> to start developing your first extension.`,"general.dev_site.current":"Current Development Site: {name}","general.view_changes":"View your local changes: <0>(Press a key to open)</0>","general.open_preview.title_single":"Open the preview on the","general.open_preview.title_multiple":"Open the preview on:","preview_command.creating_preview":"Creating a preview...","preview_command.creating_preview_success":"Preview created successfully!","preview_command.uploading_files":"Uploading your application files...","preview_command.uploading_files_success":"Uploaded successfully!","dev_command.site_provider.loading":"Resolving development site...","dev_command.custom_elements_migration.loading":"Checking site widgets installation...","preview_command.note_about_temporary_backend":"This preview URL will be available for three days. Afterward, you can create a new preview if you need to.","dev_command.dev_environment.loading":"Starting dev environment...","dev_command.dev_environment.started":"Local development environment ready.","dev_command.dev_environment.url":"Application served on <0/>","dev_command.dev_environment.backend_url":"Backend served on <0/>","dev_command.dev_site.change":"Press <0/> to change your current Development Site","dev_command.site_selector.error":"Failed to change Development Site!","dev_command.dashboard_pages_screen.select_label":"Select a dashboard page to open","dev_command.dashboard_menu_plugin_screen.select_label":"Select a dashboard menu plugin to open","dev_command.dashboard_page_plugin_screen.select_label":"Select a dashboard plugin to open","dev_command.dashboard_modal_screen.select_label":"Select a dashboard modal to open","dev_command.backend_apis_screen.select_label":"Select api to trigger","dev_command.backend_events_screen.select_label":"Select event to trigger","dev_command.backend_plugins_screen.select_label":"Select plugin to trigger","dev_command.dev_env_logs.title":"Dev Environment Logs:","dev_command.required_apps.loading":"Checking required apps...","dev_command.required_apps.warning":"Make sure you have {requiredAppNames} installed on your site","dev_command.dev_env_backend_logs.title":"Press <0/> to view full logs from {path}","dev_command.dev_env_backend_logs_screen.title":"Server Environment Full Logs","dev_command.dev_env_logs.empty":"No logs to show","dev_command.dev_env_logs.listening_to_logs":"Listening to logs...","dev_command.dev_env_logs.scroll_explain":"Use the arrow keys to scroll","dev_command.config_change":"Loading App Manifest changes...","dev_command.config_update":"App Manifest updated. Refresh existing browser tabs to view the latest changes.","dev_command.config_didnt_update":"No App Manifest update occurred","dev_command.tunneling.confirm":"To proceed, we'll set up a secure tunnel from your machine for development purposes","dev_command.tunneling.abort_dev":"Operation aborted. Tunneling is necessary to run your application.","dev_command.new_custom_element.warning":"New site widget detected. Press <0/> to open the Site Editor and complete the installation.","dev_command.new_custom_element.confirm_reinstall":"Press <0/> when you reinstalled app on your dev site","dev_command.new_custom_element.reinstall_error":"We had troubles with adding your new site widget. You can try to do it by yourself. Press <0/> to continue","serve_command.starting_serve_environment":"Starting serve environment...","serve_command.starting_serve_environment_success":"Serve environment started! <0/>","serve_command.production_build":"Application is using a production build","create_version_command.creating_version":"Creating a version...","create_version_command.creating_version_success":"Successfully created v{version}","create_version_command.current_version":"Your current version is: v{version}","create_version_command.confirm_version_events_warning":"Any configured events will be deployed to production and take effect once a new version of your app is created.","create_version_command.confirm_version_creation":"Continue with creating the new version?","create_version_command.confirm_version_creation_aborted":"Version creation aborted","create_version_command.version_type_question":"What type of version would you like to create?","create_version_command.version_type_question_minor":"Minor (v{version})","create_version_command.version_type_question_major":"Major (v{version})","create_version_command.check_preview_before_version_release":"Before creating a new version, let's create a preview of your app","create_version_command.checking_validation_status":"Checking if this version can be submitted\u2026","create_version_command.version_validation_ok":"This version can be submitted for review in the <0>App Dashboard</0>","create_version_command.version_validation_has_failures":`This version has blockers preventing it from being submitted for review.
|
|
10
|
+
Please fix them and submit your app in the <0>App Dashboard</0>.`,"embedded_script.type.essential":"Essential","embedded_script.type.essential.description":"Must load regardless of policy","embedded_script.type.functional":"Functional","embedded_script.type.functional.description":"Adds optional functionality to the site","embedded_script.type.analytics":"Analytics","embedded_script.type.analytics.description":"Adds analytics abilities to the site","embedded_script.type.advertising":"Advertising","embedded_script.type.advertising.description":"Adds advertising content or advertising tracking to the site","embedded_script.placement.head":"Head","embedded_script.placement.head.description":"In the document head","embedded_script.placement.body_start":"Body Start","embedded_script.placement.body_start.description":"Prepended in the body","embedded_script.placement.body_end":"Body End","embedded_script.placement.body_end.description":"Appended in the body","generate_command.description":"Add new extensions to your application","generate_command.flow.dashboard_category":"Dashboard","generate_command.flow.site_category":"Site","generate_command.flow.backend_category":"Backend","generate_command.flow.dashboard_page":"Dashboard Page","generate_command.flow.sidebar_category":"Sidebar Category","generate_command.flow.dashboard_plugin":"Dashboard Plugin","generate_command.flow.dashboard_menu_plugin":"Dashboard Menu Plugin","generate_command.flow.embedded_script":"Embedded Script","generate_command.flow.site_plugin":"Site Plugin","generate_command.flow.event":"Event","generate_command.flow.api.title":"API","generate_command.flow.dashboard_modal":"Dashboard Modal","generate_command.flow.custom_element":"Site Widget","generate_command.flow.service_plugin":"Service Plugin","generate_command.flow.choose_flow":"What kind of extension would you like to generate?","generate_command.generation.loading":"Generating {subject}...","generate_command.generation.done":"\u{1F680} The new {extensionType} has been generated successfully.","generate_command.generation.learn_more":"\u{1F4DA} Learn more about {extensionType}: <0/>","generate_command.generation.new_dependencies":"\u26A0\uFE0F New app dependencies have been added. Please run <0>npm install</0> before continuing to work.","generate_command.dashboard_page.choose_route":"Enter the route for the new page:","generate_command.dashboard_page.route_placeholder":"my-page","generate_command.dashboard_page.choose_title":"Page title:","generate_command.dashboard_page.title_placeholder":"My Page","generate_command.dashboard_page.add_to_category":"Add to a sidebar category?","generate_command.dashboard_page.choose_category":"Sidebar category:","generate_command.sidebar_category.choose_label":"Enter the label for the new category:","generate_command.sidebar_category.label_placeholder":"My App","generate_command.custom_element.validation.element_exists":"The custom element folders must be unique, please choose a name that has not been used yet in your application.","generate_command.custom_element.validation.element_invalid":"The custom element folder must be a valid path ([a-z-/]+) and must not start with a dot.","generate_command.custom_element.choose_folder":"Widget folder (relative to src/site/widgets/custom-elements):","generate_command.custom_element.folder_placeholder":"my-widget","generate_command.custom_element.choose_name":"Widget name:","generate_command.custom_element.name_placeholder":"My Widget","generate_command.site_plugin.choose_folder":"Site plugin folder (relative to src/site/plugins/custom-elements):","generate_command.site_plugin.folder_placeholder":"my-site-plugin","generate_command.site_plugin.choose_name":"Site plugin name:","generate_command.site_plugin.name_placeholder":"My Site Plugin","generate_command.site_plugin.plugin_app":"Select a Wix app to view its plugin slots","generate_command.site_plugin.plugin_app.description":"(<0>read more</0>)","generate_command.site_plugin.choose_placement":"Select the slot in which you\u2019d like to place your plugin","generate_command.site_plugin.widget_docs":"<0>read more</0>","generate_command.embedded_script.validation.script_exists":"The script folder must be unique, please choose a name that has not been used yet in your application.","generate_command.embedded_script.validation.script_invalid":"The script folder must be a valid path ([a-z0-9-/]+) and must not start with a dot.","generate_command.embedded_script.choose_folder":"Script folder (relative to src/site/embedded-scripts):","generate_command.embedded_script.folder_placeholder":"my-script","generate_command.embedded_script.choose_name":"Script name:","generate_command.embedded_script.name_placeholder":"My Script","generate_command.embedded_script.choose_type":"Script type:","generate_command.embedded_script.type_info":"Determine if site visitors' consent is needed to run the script, <0>read more</0>","generate_command.embedded_script.choose_placement":"Placement:","generate_command.embedded_script.placement_info":"Will determine where the script is embedded","generate_command.dashboard_modal.validation.folder_exists":"The modal folder must be unique, please choose a folder name that has not been used yet in your application.","generate_command.dashboard_modal.validation.folder_invalid":"The modal folder must be a valid path ([a-z0-9-/]+) and must not start with a dot.","generate_command.dashboard_modal.choose_folder":"Enter the folder name for the new modal:","generate_command.dashboard_modal.folder_placeholder":"my-modal","generate_command.dashboard_modal.choose_title":"Modal title:","generate_command.dashboard_modal.title_placeholder":"My Modal","generate_command.dashboard_plugin.what_to_extend":"What would you like to extend?","generate_command.dashboard_plugin.what_to_extend.description":"Plugins let you extend Wix apps by embedding your UI inside dedicated slots within a dashboard page (<0>read more</0>)","generate_command.dashboard_plugin.what_to_extend.item_description":"<0>read more</0>","generate_command.dashboard_plugin.choose_folder":"Plugin folder (relative to src/dashboard/plugins)","generate_command.dashboard_plugin.folder_placeholder":"my-plugin","generate_command.dashboard_plugin.choose_title":"Plugin title","generate_command.dashboard_plugin.title_placeholder":"My Plugin","generate_command.required_app":"Would you like to set {appsNames} as a requirement for your app?","generate_command.required_app.description":"This means sites must have {appsNames} installed before installing your app (<0>read more</0>)","generate_command.dashboard_menu_plugin.what_to_extend":"What would you like to extend?","generate_command.dashboard_menu_plugin.what_to_extend.description":"Menu Plugins let you extend Wix apps by adding a menu item in a pre-defined slot in a menu on a dashboard page (<0>read more</0>)","generate_command.dashboard_menu_plugin.what_to_extend.item_description":"<0>read more</0>","generate_command.dashboard_menu_plugin.what_to_do":"What action will happen after clicking on the menu item?","generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page":"Navigate to a page","generate_command.dashboard_menu_plugin.what_to_do.open_modal":"Open a modal","generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page":"Choose a page the menu item will navigate to:","generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page.info":"Choose from a list of available pages in your project or manually add a page from a different app","generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page.other":"Use a page from a different app","generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page.other.choose_page_id":"What is the unique id of the page?","generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page.other.page_id_invalid":"Page id has to be in the format of a uuid","generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component":"Choose the modal to open:","generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component.info":"Choose from a list of available modals in your project or manually add a modal from a different app","generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component.other":"Use a modal from a different app","generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component.other.choose_component_id":"What is the unique id of the modal?","generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component.other.component_id_invalid":"Modal id has to be in the format of a uuid","generate_command.dashboard_menu_plugin.choose_folder":"Menu Plugin folder (relative to src/dashboard/menu-plugins)","generate_command.dashboard_menu_plugin.folder_placeholder":"my-plugin","generate_command.dashboard_menu_plugin.choose_title":"Menu Plugin title","generate_command.dashboard_menu_plugin.title_placeholder":"My Plugin","generate_command.api.api_placeholder":"my-api","generate_command.api.choose_api_name":"How would you like to name your API?","generate_command.api.choose_folder":"API folder (relative to src/backend/api):","generate_command.api.choose_api_name.error":"API name must be unique, can not include special characters or spaces, and must be shorter than 20 characters","generate_command.api.choose_method":"Choose an API method","generate_command.event.choose_folder":"Event folder (relative to src/backend/events):","generate_command.event.folder_placeholder":"my-event","generate_command.event.choose_folder.error":"Event name must be unique, can not include special characters or spaces, and must be shorter than 20 characters","generate_command.service_plugin.choose_type":"Which service plugin do you want to create","generate_command.service_plugin.choose_name":"How would you like to name your service plugin","generate_command.service_plugin.name_placeholder":"my-service-plugin","generate_command.service_plugin.groups.stores":"Stores","generate_command.service_plugin.ecom_additional_fees":"Ecom Additional Fees","generate_command.service_plugin.ecom_shipping_rates":"Ecom Shipping Rates","generate_command.service_plugin.ecom_discount_triggers":"Ecom Discount Triggers","generate_command.service_plugin.ecom_validations":"Ecom Validations","generate_command.service_plugin.ecom_payment_settings":"Ecom Payment Settings","generate_command.service_plugin.ecom_gift_cards_provider":"Ecom Gift Cards Provider","logs_command.logs_without_version":"Logs command without the version is not supported, add `--version {version}`","logs_command.connecting":"Connecting to the log server...","logs_command.listening_to_logs":"Listening to logs from the server.","logs_command.prod_env_logs":"Prod Environment logs for the version: {version}"};export{o as a};
|
|
11
|
+
//# sourceMappingURL=chunk-OWGFTHVQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/messages.json"],"sourcesContent":["{\n \"create_version_command_def.option.version_type\": \"The type of version you would like to create\",\n \"create_version_command_def.option.approve_preview\": \"Approve preview automatically\",\n \"create_version_command_def.option.base_url\": \"The base url for when static files have been uploaded to an external cdn\",\n \"create_version_command_def.option.site\": \"The site id to use for Application Preview urls, defaults to the current selected development site\",\n \"dev_command_def.option.https\": \"Start local dev server on https\",\n \"app_preview_command_def.option.site\": \"The site id to use for Application Preview urls, defaults to the current selected development site\",\n \"app_preview_command_def.option.base_url\": \"The base url for when static files have been uploaded to an external cdn\",\n \"app_preview_command_def.option.no_input\": \"Disable command interactivity\",\n \"general.loading\": \"Loading...\",\n \"general.no_site_id_configured\": \"You don't have a Development Site currently configured\",\n \"general.site_id_not_found\": \"Your currently configured Development Site was not found ({id})\\nThis may happen because the site was deleted or your access has been revoked.\\n\\nPlease select another Development Site to continue\",\n \"general.dashboard_page_text\": \"<0>Click here</0> to open your application in the Wix Dashboard\",\n \"general.dashboard_page_click_here\": \"Click here\",\n \"general.close_screen\": \"Press <0/> to close\",\n \"logs.backend.clear\": \"Press <0/> to clear\",\n \"general.write_dev_log_failure.message\": \"Can not write logs to <0>{path}</0>\",\n \"general.write_dev_log_failure.hint\": \"Make sure the file has proper permissions and is accessible\",\n \"general.open_page_error\": \"Failed to open the browser for <0>{title}</0>, use the following URL to open it in your browser:\",\n \"general.dashboard_pages_viewer.title\": \"Press a number key to open a dashboard page:\",\n \"general.dashboard_plugins_viewer.title\": \"Press a number key to open a dashboard plugin:\",\n \"general.dashboard_menu_plugins_viewer.title\": \"Press a number key to open a dashboard menu plugin:\",\n \"general.backend_api_viewer.title\": \"Press a number key to trigger an api:\",\n \"general.backend_plugin_viewer.title\": \"Press a number key to trigger an plugin:\",\n \"general.backend_events_viewer.title\": \"Press a number key to trigger an event:\",\n \"general.numeric_viewer.show_more\": \"View more...\",\n \"general.platform.site\": \"Site\",\n \"general.platform.unpublished_site\": \"Site (publish the site to enable site preview)\",\n \"general.platform.editor\": \"Editor\",\n \"general.platform.dashboard\": \"Dashboard\",\n \"general.platform.backend\": \"Backend\",\n \"general.platform.none\": \"Your project doesn't seem to have any extensions.\\n\\nExtensions are the building blocks of your app.\\nMake sure it is configured properly, or read our <0>documentation</0> to start developing your first extension.\",\n \"general.dev_site.current\": \"Current Development Site: {name}\",\n \"general.view_changes\": \"View your local changes: <0>(Press a key to open)</0>\",\n \"general.open_preview.title_single\": \"Open the preview on the\",\n \"general.open_preview.title_multiple\": \"Open the preview on:\",\n \"preview_command.creating_preview\": \"Creating a preview...\",\n \"preview_command.creating_preview_success\": \"Preview created successfully!\",\n \"preview_command.uploading_files\": \"Uploading your application files...\",\n \"preview_command.uploading_files_success\": \"Uploaded successfully!\",\n \"dev_command.site_provider.loading\": \"Resolving development site...\",\n \"dev_command.custom_elements_migration.loading\": \"Checking site widgets installation...\",\n \"preview_command.note_about_temporary_backend\": \"This preview URL will be available for three days. Afterward, you can create a new preview if you need to.\",\n \"dev_command.dev_environment.loading\": \"Starting dev environment...\",\n \"dev_command.dev_environment.started\": \"Local development environment ready.\",\n \"dev_command.dev_environment.url\": \"Application served on <0/>\",\n \"dev_command.dev_environment.backend_url\": \"Backend served on <0/>\",\n \"dev_command.dev_site.change\": \"Press <0/> to change your current Development Site\",\n \"dev_command.site_selector.error\": \"Failed to change Development Site!\",\n \"dev_command.dashboard_pages_screen.select_label\": \"Select a dashboard page to open\",\n \"dev_command.dashboard_menu_plugin_screen.select_label\": \"Select a dashboard menu plugin to open\",\n \"dev_command.dashboard_page_plugin_screen.select_label\": \"Select a dashboard plugin to open\",\n \"dev_command.dashboard_modal_screen.select_label\": \"Select a dashboard modal to open\",\n \"dev_command.backend_apis_screen.select_label\": \"Select api to trigger\",\n \"dev_command.backend_events_screen.select_label\": \"Select event to trigger\",\n \"dev_command.backend_plugins_screen.select_label\": \"Select plugin to trigger\",\n \"dev_command.dev_env_logs.title\": \"Dev Environment Logs:\",\n \"dev_command.required_apps.loading\": \"Checking required apps...\",\n \"dev_command.required_apps.warning\": \"Make sure you have {requiredAppNames} installed on your site\",\n \"dev_command.dev_env_backend_logs.title\": \"Press <0/> to view full logs from {path}\",\n \"dev_command.dev_env_backend_logs_screen.title\": \"Server Environment Full Logs\",\n \"dev_command.dev_env_logs.empty\": \"No logs to show\",\n \"dev_command.dev_env_logs.listening_to_logs\": \"Listening to logs...\",\n \"dev_command.dev_env_logs.scroll_explain\": \"Use the arrow keys to scroll\",\n \"dev_command.config_change\": \"Loading App Manifest changes...\",\n \"dev_command.config_update\": \"App Manifest updated. Refresh existing browser tabs to view the latest changes.\",\n \"dev_command.config_didnt_update\": \"No App Manifest update occurred\",\n \"dev_command.tunneling.confirm\": \"To proceed, we'll set up a secure tunnel from your machine for development purposes\",\n \"dev_command.tunneling.abort_dev\": \"Operation aborted. Tunneling is necessary to run your application.\",\n \"dev_command.new_custom_element.warning\": \"New site widget detected. Press <0/> to open the Site Editor and complete the installation.\",\n \"dev_command.new_custom_element.confirm_reinstall\": \"Press <0/> when you reinstalled app on your dev site\",\n \"dev_command.new_custom_element.reinstall_error\": \"We had troubles with adding your new site widget. You can try to do it by yourself. Press <0/> to continue\",\n \"serve_command.starting_serve_environment\": \"Starting serve environment...\",\n \"serve_command.starting_serve_environment_success\": \"Serve environment started! <0/>\",\n \"serve_command.production_build\": \"Application is using a production build\",\n \"create_version_command.creating_version\": \"Creating a version...\",\n \"create_version_command.creating_version_success\": \"Successfully created v{version}\",\n \"create_version_command.current_version\": \"Your current version is: v{version}\",\n \"create_version_command.confirm_version_events_warning\": \"Any configured events will be deployed to production and take effect once a new version of your app is created.\",\n \"create_version_command.confirm_version_creation\": \"Continue with creating the new version?\",\n \"create_version_command.confirm_version_creation_aborted\": \"Version creation aborted\",\n \"create_version_command.version_type_question\": \"What type of version would you like to create?\",\n \"create_version_command.version_type_question_minor\": \"Minor (v{version})\",\n \"create_version_command.version_type_question_major\": \"Major (v{version})\",\n \"create_version_command.check_preview_before_version_release\": \"Before creating a new version, let's create a preview of your app\",\n \"create_version_command.checking_validation_status\": \"Checking if this version can be submitted…\",\n \"create_version_command.version_validation_ok\": \"This version can be submitted for review in the <0>App Dashboard</0>\",\n \"create_version_command.version_validation_has_failures\": \"This version has blockers preventing it from being submitted for review.\\nPlease fix them and submit your app in the <0>App Dashboard</0>.\",\n \"embedded_script.type.essential\": \"Essential\",\n \"embedded_script.type.essential.description\": \"Must load regardless of policy\",\n \"embedded_script.type.functional\": \"Functional\",\n \"embedded_script.type.functional.description\": \"Adds optional functionality to the site\",\n \"embedded_script.type.analytics\": \"Analytics\",\n \"embedded_script.type.analytics.description\": \"Adds analytics abilities to the site\",\n \"embedded_script.type.advertising\": \"Advertising\",\n \"embedded_script.type.advertising.description\": \"Adds advertising content or advertising tracking to the site\",\n \"embedded_script.placement.head\": \"Head\",\n \"embedded_script.placement.head.description\": \"In the document head\",\n \"embedded_script.placement.body_start\": \"Body Start\",\n \"embedded_script.placement.body_start.description\": \"Prepended in the body\",\n \"embedded_script.placement.body_end\": \"Body End\",\n \"embedded_script.placement.body_end.description\": \"Appended in the body\",\n \"generate_command.description\": \"Add new extensions to your application\",\n \"generate_command.flow.dashboard_category\": \"Dashboard\",\n \"generate_command.flow.site_category\": \"Site\",\n \"generate_command.flow.backend_category\": \"Backend\",\n \"generate_command.flow.dashboard_page\": \"Dashboard Page\",\n \"generate_command.flow.sidebar_category\": \"Sidebar Category\",\n \"generate_command.flow.dashboard_plugin\": \"Dashboard Plugin\",\n \"generate_command.flow.dashboard_menu_plugin\": \"Dashboard Menu Plugin\",\n \"generate_command.flow.embedded_script\": \"Embedded Script\",\n \"generate_command.flow.site_plugin\": \"Site Plugin\",\n \"generate_command.flow.event\": \"Event\",\n \"generate_command.flow.api.title\": \"API\",\n \"generate_command.flow.dashboard_modal\": \"Dashboard Modal\",\n \"generate_command.flow.custom_element\": \"Site Widget\",\n \"generate_command.flow.service_plugin\": \"Service Plugin\",\n \"generate_command.flow.choose_flow\": \"What kind of extension would you like to generate?\",\n \"generate_command.generation.loading\": \"Generating {subject}...\",\n \"generate_command.generation.done\": \"🚀 The new {extensionType} has been generated successfully.\",\n \"generate_command.generation.learn_more\": \"📚 Learn more about {extensionType}: <0/>\",\n \"generate_command.generation.new_dependencies\": \"⚠️ New app dependencies have been added. Please run <0>npm install</0> before continuing to work.\",\n \"generate_command.dashboard_page.choose_route\": \"Enter the route for the new page:\",\n \"generate_command.dashboard_page.route_placeholder\": \"my-page\",\n \"generate_command.dashboard_page.choose_title\": \"Page title:\",\n \"generate_command.dashboard_page.title_placeholder\": \"My Page\",\n \"generate_command.dashboard_page.add_to_category\": \"Add to a sidebar category?\",\n \"generate_command.dashboard_page.choose_category\": \"Sidebar category:\",\n \"generate_command.sidebar_category.choose_label\": \"Enter the label for the new category:\",\n \"generate_command.sidebar_category.label_placeholder\": \"My App\",\n \"generate_command.custom_element.validation.element_exists\": \"The custom element folders must be unique, please choose a name that has not been used yet in your application.\",\n \"generate_command.custom_element.validation.element_invalid\": \"The custom element folder must be a valid path ([a-z-/]+) and must not start with a dot.\",\n \"generate_command.custom_element.choose_folder\": \"Widget folder (relative to src/site/widgets/custom-elements):\",\n \"generate_command.custom_element.folder_placeholder\": \"my-widget\",\n \"generate_command.custom_element.choose_name\": \"Widget name:\",\n \"generate_command.custom_element.name_placeholder\": \"My Widget\",\n \"generate_command.site_plugin.choose_folder\": \"Site plugin folder (relative to src/site/plugins/custom-elements):\",\n \"generate_command.site_plugin.folder_placeholder\": \"my-site-plugin\",\n \"generate_command.site_plugin.choose_name\": \"Site plugin name:\",\n \"generate_command.site_plugin.name_placeholder\": \"My Site Plugin\",\n \"generate_command.site_plugin.plugin_app\": \"Select a Wix app to view its plugin slots\",\n \"generate_command.site_plugin.plugin_app.description\": \"(<0>read more</0>)\",\n \"generate_command.site_plugin.choose_placement\": \"Select the slot in which you’d like to place your plugin\",\n \"generate_command.site_plugin.widget_docs\": \"<0>read more</0>\",\n \"generate_command.embedded_script.validation.script_exists\": \"The script folder must be unique, please choose a name that has not been used yet in your application.\",\n \"generate_command.embedded_script.validation.script_invalid\": \"The script folder must be a valid path ([a-z0-9-/]+) and must not start with a dot.\",\n \"generate_command.embedded_script.choose_folder\": \"Script folder (relative to src/site/embedded-scripts):\",\n \"generate_command.embedded_script.folder_placeholder\": \"my-script\",\n \"generate_command.embedded_script.choose_name\": \"Script name:\",\n \"generate_command.embedded_script.name_placeholder\": \"My Script\",\n \"generate_command.embedded_script.choose_type\": \"Script type:\",\n \"generate_command.embedded_script.type_info\": \"Determine if site visitors' consent is needed to run the script, <0>read more</0>\",\n \"generate_command.embedded_script.choose_placement\": \"Placement:\",\n \"generate_command.embedded_script.placement_info\": \"Will determine where the script is embedded\",\n \"generate_command.dashboard_modal.validation.folder_exists\": \"The modal folder must be unique, please choose a folder name that has not been used yet in your application.\",\n \"generate_command.dashboard_modal.validation.folder_invalid\": \"The modal folder must be a valid path ([a-z0-9-/]+) and must not start with a dot.\",\n \"generate_command.dashboard_modal.choose_folder\": \"Enter the folder name for the new modal:\",\n \"generate_command.dashboard_modal.folder_placeholder\": \"my-modal\",\n \"generate_command.dashboard_modal.choose_title\": \"Modal title:\",\n \"generate_command.dashboard_modal.title_placeholder\": \"My Modal\",\n \"generate_command.dashboard_plugin.what_to_extend\": \"What would you like to extend?\",\n \"generate_command.dashboard_plugin.what_to_extend.description\": \"Plugins let you extend Wix apps by embedding your UI inside dedicated slots within a dashboard page (<0>read more</0>)\",\n \"generate_command.dashboard_plugin.what_to_extend.item_description\": \"<0>read more</0>\",\n \"generate_command.dashboard_plugin.choose_folder\": \"Plugin folder (relative to src/dashboard/plugins)\",\n \"generate_command.dashboard_plugin.folder_placeholder\": \"my-plugin\",\n \"generate_command.dashboard_plugin.choose_title\": \"Plugin title\",\n \"generate_command.dashboard_plugin.title_placeholder\": \"My Plugin\",\n \"generate_command.required_app\": \"Would you like to set {appsNames} as a requirement for your app?\",\n \"generate_command.required_app.description\": \"This means sites must have {appsNames} installed before installing your app (<0>read more</0>)\",\n \"generate_command.dashboard_menu_plugin.what_to_extend\": \"What would you like to extend?\",\n \"generate_command.dashboard_menu_plugin.what_to_extend.description\": \"Menu Plugins let you extend Wix apps by adding a menu item in a pre-defined slot in a menu on a dashboard page (<0>read more</0>)\",\n \"generate_command.dashboard_menu_plugin.what_to_extend.item_description\": \"<0>read more</0>\",\n \"generate_command.dashboard_menu_plugin.what_to_do\": \"What action will happen after clicking on the menu item?\",\n \"generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page\": \"Navigate to a page\",\n \"generate_command.dashboard_menu_plugin.what_to_do.open_modal\": \"Open a modal\",\n \"generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page\": \"Choose a page the menu item will navigate to:\",\n \"generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page.info\": \"Choose from a list of available pages in your project or manually add a page from a different app\",\n \"generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page.other\": \"Use a page from a different app\",\n \"generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page.other.choose_page_id\": \"What is the unique id of the page?\",\n \"generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page.other.page_id_invalid\": \"Page id has to be in the format of a uuid\",\n \"generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component\": \"Choose the modal to open:\",\n \"generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component.info\": \"Choose from a list of available modals in your project or manually add a modal from a different app\",\n \"generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component.other\": \"Use a modal from a different app\",\n \"generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component.other.choose_component_id\": \"What is the unique id of the modal?\",\n \"generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component.other.component_id_invalid\": \"Modal id has to be in the format of a uuid\",\n \"generate_command.dashboard_menu_plugin.choose_folder\": \"Menu Plugin folder (relative to src/dashboard/menu-plugins)\",\n \"generate_command.dashboard_menu_plugin.folder_placeholder\": \"my-plugin\",\n \"generate_command.dashboard_menu_plugin.choose_title\": \"Menu Plugin title\",\n \"generate_command.dashboard_menu_plugin.title_placeholder\": \"My Plugin\",\n \"generate_command.api.api_placeholder\": \"my-api\",\n \"generate_command.api.choose_api_name\": \"How would you like to name your API?\",\n \"generate_command.api.choose_folder\": \"API folder (relative to src/backend/api):\",\n \"generate_command.api.choose_api_name.error\": \"API name must be unique, can not include special characters or spaces, and must be shorter than 20 characters\",\n \"generate_command.api.choose_method\": \"Choose an API method\",\n \"generate_command.event.choose_folder\": \"Event folder (relative to src/backend/events):\",\n \"generate_command.event.folder_placeholder\": \"my-event\",\n \"generate_command.event.choose_folder.error\": \"Event name must be unique, can not include special characters or spaces, and must be shorter than 20 characters\",\n \"generate_command.service_plugin.choose_type\": \"Which service plugin do you want to create\",\n \"generate_command.service_plugin.choose_name\": \"How would you like to name your service plugin\",\n \"generate_command.service_plugin.name_placeholder\": \"my-service-plugin\",\n \"generate_command.service_plugin.groups.stores\": \"Stores\",\n \"generate_command.service_plugin.ecom_additional_fees\": \"Ecom Additional Fees\",\n \"generate_command.service_plugin.ecom_shipping_rates\": \"Ecom Shipping Rates\",\n \"generate_command.service_plugin.ecom_discount_triggers\": \"Ecom Discount Triggers\",\n \"generate_command.service_plugin.ecom_validations\": \"Ecom Validations\",\n \"generate_command.service_plugin.ecom_payment_settings\": \"Ecom Payment Settings\",\n \"generate_command.service_plugin.ecom_gift_cards_provider\": \"Ecom Gift Cards Provider\",\n \"logs_command.logs_without_version\": \"Logs command without the version is not supported, add `--version {version}`\",\n \"logs_command.connecting\": \"Connecting to the log server...\",\n \"logs_command.listening_to_logs\": \"Listening to logs from the server.\",\n \"logs_command.prod_env_logs\": \"Prod Environment logs for the version: {version}\"\n}\n"],"mappings":"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","names":["messages_default"]}
|
|
@@ -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-6DDUDBC4.js";import{c as M}from"./chunk-75BOQ5HC.js";import{a as J}from"./chunk-IF2RL6QE.js";import{g as N,i as V,k as Y,l as q,m as H,n as z}from"./chunk-SGZ3NN5T.js";import{a as K}from"./chunk-WH6FGOUG.js";import{Qa as L,Ra as h,Sa as j,Ta as E,ab as G,tb as D,u as F}from"./chunk-E3KDHOPJ.js";import{A as I,C as _,M as O,P as b,S as k,T as l,W as B,X as U,b as f,c as A,x as d}from"./chunk-3PVWT3VF.js";import{e as c,h as t}from"./chunk-V4TR6DCM.js";t();t();var x=c(f(),1);t();var e=c(f(),1),Z=c(A(),1);t();var v=c(f(),1),X=c(A(),1),C=({status:i,loadingText:s,successText:n})=>(0,X.match)(i,{NotRequested:()=>null,Loading:()=>v.default.createElement(b,{text:s}),Error:()=>null,Success:()=>v.default.createElement(O,{type:"success"},n)});var $=({baseUrl:i,onPreviewCreated:s})=>{let{site:n}=H(),{t:m}=U(),{model:r}=D(),{backendComponents:R}=K(),ee=N(),re=F(),{getAppByVersion:oe}=E(),{createOverride:te}=Y(),ie=j({type:"backoffice"}),y=l(()=>G(r.config.appId,r.projectFolder,re,ie,R.length>0)),ne=l((p,o)=>te({appId:r.config.appId,siteId:n.id,overrides:o})),P=l((p,o,u,a)=>J({model:r,arm:ee,serveUrl:o,backendServerUrl:a,topologyComponentId:u})),{status:se}=k(async()=>{await Q(r.projectFolder);let{serveUrl:p,backendServerUrl:o}=i?{serveUrl:i,backendServerUrl:void 0}:await y.execute(),{data:{components:u}}=await oe({appId:r.config.appId}),a=u.find(pe=>pe.compType===h.TOPOLOGY),S=q(r),{id:me}=S?await ne.execute(S):await Promise.resolve({id:void 0}),T=await P.execute(p,a?.compId,o);return a&&await L(r.projectFolder,{topologyComponentId:a.compId}),s?.(T,o),{armTag:T,siteOverrideId:me}},[]);return e.default.createElement(e.default.Fragment,null,e.default.createElement(C,{status:y.status,loadingText:m("preview_command.uploading_files"),successText:m("preview_command.uploading_files_success")}),e.default.createElement(C,{status:P.status,loadingText:m("preview_command.creating_preview"),successText:m("preview_command.creating_preview_success")}),(0,Z.match)(se,{Error:()=>null,Loading:()=>null,Success:({result:{armTag:p,siteOverrideId:o}})=>e.default.createElement(z,{siteOverrideId:o},e.default.createElement(V,{armTag:p},e.default.createElement(d,{rowGap:1,marginY:1,flexDirection:"column"},e.default.createElement(d,{gap:1},e.default.createElement(_,null),e.default.createElement(B,{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"},m("preview_command.note_about_temporary_backend")))))}))};var ae=({baseUrl:i,siteIdOverride:s,onPreviewCreated:n})=>x.default.createElement(M,{siteId:s},x.default.createElement($,{baseUrl:i,onPreviewCreated:n}));export{ae as a};
|
|
4
|
+
//# sourceMappingURL=chunk-QWTYWW7P.js.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
import{a as ze}from"./chunk-WH6FGOUG.js";import{a as Ve}from"./chunk-BAMVAGX3.js";import{b as te}from"./chunk-U5GBWV4U.js";import{a as Me,b as Ne,c as ke,e as We,i as Be,j as Je}from"./chunk-O4QFSLZD.js";import{Aa as Fe,C as re,Pa as U,Qa as ie,Sa as V,Ta as je,U as qe,a as b,b as W,d as y,f as B,ma as Ue,oa as oe,qb as se,tb as _,x as Le,z as Ie}from"./chunk-E3KDHOPJ.js";import{A as q,M as G,O as Re,P as Te,Q as be,S as De,V as Ae,W as K,X as Ee,b as w,c as k,e as h,f as C,m as f,n as J,x as I,y as Pe}from"./chunk-3PVWT3VF.js";import{e as v,h as a}from"./chunk-V4TR6DCM.js";a();var E=v(w(),1),Ce=v(k(),1);a();var tt=v(w(),1),rt=v(k(),1);a();a();a();var Rt={},Tt={},bt={},Dt={};var At={},Et={},Lt={},It={};function ae(e){var t={"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 W(Object.assign(e,{domainToMappings:t}))}function He(e){var t=y(Rt,{}),r=t.toJSON,o=t.fromJSON,i=y(Tt,{}).fromJSON;function s(d){var l=d.host,n=r(e),c={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.CreateAppRelease",url:ae({protoPath:"/apps/create/{appId}",data:n,host:l}),data:n,transformResponse:i};return c}return s.fromReq=o,s.__isAmbassador=!0,s}function $e(e){var t=y(Lt,{}),r=t.toJSON,o=t.fromJSON,i=y(It,{}).fromJSON;function s(d){var l=d.host,n=r(e),c={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"PUT",methodFqn:"com.wix.ctp.AppsReleaseManagerService.UpdateAppRelease",url:ae({protoPath:"/apps/tags/{tag}",data:n,host:l}),data:n,transformResponse:i};return c}return s.fromReq=o,s.__isAmbassador=!0,s}function Ge(e){var t=y(bt,{}),r=t.toJSON,o=t.fromJSON,i=y(Dt,{}).fromJSON;function s(d){var l=d.host,n=r(e),c={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.CreateComponents",url:ae({protoPath:"/apps/create-components/{appId}",data:n,host:l}),data:n,transformResponse:i};return c}return s.fromReq=o,s.__isAmbassador=!0,s}function Ke(e){var t=y(At,{}),r=t.toJSON,o=t.fromJSON,i=y(Et,{}).fromJSON;function s(d){var l=d.host,n=r(e),c={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.PromoteAppReleaseToDevCenter",url:ae({protoPath:"/apps/promote/{appId}/{tag}",data:n,host:l}),data:n,transformResponse:i};return c}return s.fromReq=o,s.__isAmbassador=!0,s}var ne=v(k(),1);a();var Qe=f.object({newVersion:f.string()}),Ye=f.object({tag:f.string()});var{AppPermissionDenied:fe}=C,Xe=(0,ne.variant)({TagUpdated:{},TagNotFound:(0,ne.fields)()}),Q=class{constructor(t){this.httpClient=t;let{minRetryTimeout:r}=J();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;createComponents=async(t,r,o)=>{try{await b(()=>this.httpClient.request(Ge({appId:t,componentConfigs:r,projectId:o})),this.retryOptions)}catch(i){throw B(i)&&i.response?.status===403?new h({code:fe({appId:t}),cause:i}):new h({code:C.FailedToCreateComponents(),cause:i})}};createAppRelease=async(t,r)=>{try{let{data:o}=await b(()=>this.httpClient.request(He({appId:t.appId,componentConfigs:t.components,projectId:r})),this.retryOptions);return Ye.parse(o).tag}catch(o){throw B(o)&&o.response?.status===403?new h({code:fe({appId:t.appId}),cause:o}):new h({code:C.FailedToCreateAppRelease(),cause:o})}};updateAppRelease=async(t,r)=>{try{return await b(()=>this.httpClient.request($e({appId:t.appId,componentConfigs:t.components,tag:r})),this.retryOptions),Xe.TagUpdated()}catch(o){if(B(o)){if(o.response?.status===404)return Xe.TagNotFound({cause:o});if(o.response?.status===403)throw new h({code:fe({appId:t.appId}),cause:o})}throw new h({code:C.FailedToUpdateAppRelease(),cause:o})}};promoteToDevCenter=async(t,r,o)=>{let{data:i}=await b(()=>this.httpClient.request(Ke({appId:t,tag:r,versionType:o})),this.retryOptions);return Qe.parse(i)}};a();var Ze=v(w(),1);function ge(){let e=V({type:"backoffice"});return(0,Ze.useMemo)(()=>new Q(e),[e])}var et=async(e,t,r)=>{let o=await Be({appId:e.config.appId,components:e.components,componentSourceBuilder:Je(e,{clientDevServerUrl:t},{backendDevServerUrl:r?.localUrl})});return We(o,t,r?.tunnelUrl)};function ot(){let{model:e}=_(),t=te(),{createAppRelease:r,updateAppRelease:o}=ge();return(0,tt.useCallback)(async({backendServerUrl:i,devServerUrl:s,projectModelWatcher:d,onChange:l,onError:n})=>{let{projectId:c}=e.config,S=await et(e,s,i),x=await U(e.projectFolder,t),L=await(async g=>{if(g){let M=await o(S,g);return(0,rt.match)(M,{TagUpdated:()=>g,TagNotFound:({cause:P})=>(t(P),r(S,c))})}return r(S,c)})(x?.devArmTag);return L!==x?.devArmTag&&await ie(e.projectFolder,{devArmTag:L}).catch(g=>t(g)),d.onChange(async(g,M)=>{try{if(M==="model-updated"){if(g.components.length===0)return;let P=await et(g,s,i);se(S,P)||await o(P,L)}l(M)}catch(P){n(P)}}).onError(n),L},[r,e,o,t])}a();var z=v(w(),1);import{createServer as qt}from"vite";a();function he({onLog:e}){let t=new WeakSet,r=new Set,o={hasWarned:!1,info(i){e("info",i)},warn(i){o.hasWarned=!0,e("warning",i)},warnOnce(i){r.has(i)||(o.hasWarned=!0,e("warning",i),r.add(i))},error(i,s){o.hasWarned=!0,e("error",i),s?.error&&t.add(s.error)},clearScreen(){},hasErrorLogged(i){return t.has(i)}};return o}function it({createConfig:e}){let{reportError:t}=re(),r=(0,z.useRef)();return(0,z.useEffect)(()=>()=>{r.current?.close().catch(t)},[t]),(0,z.useCallback)(async o=>{let i=await e(o),s=await qt(i);return r.current=s,await s.listen(),{devServerUrl:Me(s),devServer:s}},[e])}function st({https:e}){let{model:t}=_();return it({createConfig:({onLog:o,projectModelWatcher:i,baseBackendUrl:s})=>Ne(t,{type:"dev",https:e,projectModelWatcher:i,customLogger:he({onLog:o})},{baseBackendUrl:s})})}function at({https:e}){let{model:t}=_(),{getAppSecret:r}=je();return it({createConfig:async({onLog:i,projectModelWatcher:s})=>{let d=await r({appId:t.config.appId});return ke(t,{type:"dev",https:e,projectModelWatcher:s,customLogger:he({onLog:i})},d)}})}a();var u=v(w(),1);a();import{EOL as Ut}from"node:os";import{createWriteStream as Ft}from"node:fs";var pe=class{constructor(t,r){this.opts=r;this.stream=Ft(Ue(t),{flags:"w"}),this.stream.on("error",this.opts.onError)}drain=!1;stream;write=t=>{if(this.drain){this.stream.once("drain",()=>{this.drain=!1,this.write(t)});return}this.stream.write(t.concat(Ut),o=>{o&&this.opts.onError(o)})||(this.drain=!0,this.stream.once("drain",()=>{this.drain=!1}))};close=()=>{this.stream.close()}};a();var A=v(w(),1);var nt=({type:e,msg:t,error:r,prefix:o="app",timestamp:i})=>A.default.createElement(I,{columnGap:1},A.default.createElement(I,{flexShrink:0},A.default.createElement(q,{skin:"secondary"},i.toLocaleTimeString())),A.default.createElement(I,{flexShrink:0},A.default.createElement(q,{skin:e,bold:!0},"[",o,"]")),A.default.createElement(I,null,e==="error"&&r?A.default.createElement(Ie,{error:r}):typeof t=="string"?A.default.createElement(q,null,t):t));var jt=()=>u.default.createElement(I,{flexDirection:"column"},u.default.createElement(G,{type:"error"},u.default.createElement(K,{i18nKey:"general.write_dev_log_failure.message",components:[u.default.createElement(q,{bold:!0})],values:{path:qe}})),u.default.createElement(I,{paddingTop:1},u.default.createElement(G,{type:"insight"},u.default.createElement(K,{i18nKey:"general.write_dev_log_failure.hint"}))));function Mt(e){return!!/Port \d{1,5} is in use, trying another one/.test(e)}function pt(){let{model:e}=_(),[t,r]=(0,u.useState)([]),o=(0,u.useCallback)(n=>{let c={...n,timestamp:new Date};return r(S=>[...S,c]),c},[]),{renderer:i,stream:s}=(0,u.useMemo)(()=>({renderer:Ae(),stream:new pe(e.projectFolder,{onError(){o({type:"error",msg:u.default.createElement(jt,null)})}})}),[o,e.projectFolder]),d=(0,u.useCallback)(n=>{if(n.msg&&Mt(n.msg.toString()))return;let c=o(n),S=i.render(u.default.createElement(nt,{...c}));s.write(S)},[o,i,s]),l=(0,u.useCallback)(()=>{r([])},[]);return(0,u.useEffect)(()=>()=>{i.unmount(),s.close()},[i,s]),{logs:t,writeLog:d,clearLogs:l}}a();var H=v(w(),1),mt=(0,H.createContext)(null),ct=({children:e,armTag:t})=>H.default.createElement(mt.Provider,{value:{armTag:t}},e),Se=()=>{let e=(0,H.useContext)(mt);if(e===null)throw new Error("useArmTag() cannot be used without an <ArmTagProvider>");return e};a();var F=v(w(),1);a();a();a();var Nt={},kt={};function Wt(e){var t={"cronulla-jobs._base_domain_":[{srcPath:"/serverless/site-override",destPath:""}],"bo._base_domain_":[{srcPath:"/_serverless/site-override",destPath:""}],"wixbo.ai":[{srcPath:"/_serverless/site-override",destPath:""}],"manage._base_domain_":[{srcPath:"/_serverless/site-override",destPath:""}]};return W(Object.assign(e,{domainToMappings:t}))}function dt(e){var t=y(Nt,{}),r=t.toJSON,o=t.fromJSON,i=y(kt,{}).fromJSON;function s(d){var l=d.host,n=r(e),c={entityFqdn:"wix.cli.site_override_service.v1.site_override",method:"POST",methodFqn:"wix.cli.v1.SiteOverrideService.CreateOverride",url:Wt({protoPath:"/v1/site-overrides",data:n,host:l}),data:n,transformResponse:i};return c}return s.fromReq=o,s.__isAmbassador=!0,s}a();var lt=f.object({siteOverride:f.object({id:f.string()})});var me=class{constructor(t){this.httpClient=t;let{minRetryTimeout:r}=J();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;createOverride=async({appId:t,siteId:r,overrides:o,siteOverrideId:i})=>{try{let{data:s}=await b(()=>this.httpClient.request(dt({siteOverride:{id:i,appId:t,siteId:r,overrides:o}})),this.retryOptions);return lt.parse(s).siteOverride}catch(s){throw B(s)&&s.response?.status===403?s.response.data?.details?.applicationError?.code==="PERMISSION_DENIED_FOR_SITE"?new h({code:C.SitePermissionDenied({siteId:r}),cause:s}):new h({code:C.AppPermissionDenied({appId:t}),cause:s}):new h({code:C.FailedToCreateSiteOverride(),cause:s})}}};a();var vt=v(w(),1);function ye(){let e=V({type:"backoffice"});return(0,vt.useMemo)(()=>new me(e),[e])}a();var ut=v(k(),1);a();var ce;(function(e){e.UNKNOWN_TYPE="UNKNOWN_TYPE",e.EMBEDDED_SCRIPT="EMBEDDED_SCRIPT"})(ce||(ce={}));function de(e){let t=e.components.filter((0,ut.isType)(Fe.EmbeddedScript));return t.length===0?null:t.reduce((r,o)=>{let i=o.paramsOverride??{};return{...r,[o.id]:{type:ce.EMBEDDED_SCRIPT,componentId:o.id,embeddedScriptOptions:{parameters:i}}}},{})}a();var ht=v(w(),1);a();var ft=v(w(),1),gt=(0,ft.createContext)(null);function Y(){let e=(0,ht.useContext)(gt);if(e===null)throw new Error("useSiteId() cannot be used without an <SiteIdProvider>");return e}function St(){let{model:e}=_(),{site:t}=Y(),r=be(),o=te(),{createOverride:i}=ye(),{appId:s}=e.config,d=(0,F.useRef)(t),l=(0,F.useRef)(!1);return(0,F.useEffect)(()=>{d.current=t;let n=async()=>{let c=de(e)??{},x=(await U(e.projectFolder,o))?.devSiteOverrideId;if(!x)throw new h({code:C.InvalidSiteOverrideID()});await i({appId:s,siteId:t.id,overrides:c,siteOverrideId:x})};l.current&&n().catch(r)},[t]),(0,F.useCallback)(async({projectModelWatcher:n})=>{let c=await U(e.projectFolder,o),S=de(e)??{},{id:x}=await i({appId:s,siteId:t.id,overrides:S,siteOverrideId:c?.devSiteOverrideId});return n.onChange(async(O,L)=>{if(L==="model-updated"){let g=de(O)??{};se(S,g)||(await i({appId:s,siteId:d.current.id,overrides:g,siteOverrideId:x}),S=g)}}),x!==c?.devSiteOverrideId&&await ie(e.projectFolder,{devSiteOverrideId:x}).catch(O=>o(O)),l.current=!0,x},[e,o,i,s,t])}a();var $=v(w(),1),yt=(0,$.createContext)(null),wt=({children:e,siteOverrideId:t})=>$.default.createElement(yt.Provider,{value:{siteOverrideId:t}},e),we=()=>{let e=(0,$.useContext)(yt);if(e===null)throw new Error("useSiteOverrideId() cannot be used without an <SiteOverrideProvider>");return e};var Ct=(0,E.createContext)(null),fi=({https:e,children:t})=>{let{t:r}=Ee(),{reportError:o}=re(),{backendComponents:i,backendComponentsByType:s}=ze(),d=st({https:e}),l=at({https:e}),n=Ve(),c=ot(),S=St(),{logs:x,writeLog:O,clearLogs:L}=pt(),{watcher:g}=_(),{status:M}=De(async()=>{let P;i.length>0&&(P=await l({projectModelWatcher:g,onLog(R,N){O({type:R,msg:N,prefix:"backend"})}}).then(async({devServerUrl:R})=>{let N;if(s.Event.length>0||s.ServicePlugin.length>0){let{url:Pt}=await n(Number(new URL(R).port));N=Pt}return{localUrl:R,tunnelUrl:N}}));let{devServerUrl:ee,devServer:ve}=await d({baseBackendUrl:P?.localUrl,projectModelWatcher:g,onLog(R,N){O({type:R,msg:N,prefix:"vite"})}}),ue=await c({backendServerUrl:P,devServerUrl:ee,projectModelWatcher:g,onChange(R){(0,Ce.match)(R,{"change-received":()=>{O({type:"info",msg:r("dev_command.config_change")})},"model-did-not-change":()=>{O({type:"info",msg:r("dev_command.config_didnt_update")})},"model-updated":()=>{ve.ws.send({type:"full-reload"}),O({type:"info",msg:r("dev_command.config_update")})}})},onError(R){o(R),O({type:"error",error:R}),O({type:"info",msg:r("dev_command.config_didnt_update")})}}),Ot=await S({projectModelWatcher:g});return{clientDevServerUrl:ee,armTag:ue,siteOverrideId:Ot,https:e}},[]);return(0,Ce.match)(M,{Error:()=>null,Loading:()=>E.default.createElement(Te,{text:r("dev_command.dev_environment.loading")}),Success:({result:{clientDevServerUrl:P,https:ee,armTag:ve,siteOverrideId:ue}})=>E.default.createElement(Ct.Provider,{value:{clientDevServerUrl:P,https:ee,logs:x,writeLog:O,clearLogs:L}},E.default.createElement(wt,{siteOverrideId:ue},E.default.createElement(ct,{armTag:ve},t)))})};function _e(){let e=(0,E.useContext)(Ct);if(e===null)throw new Error("useDevEnvironment() cannot be used without an <DevEnvironmentProvider>");return e}a();a();var Bt={},Jt={sites:"_site"},Vt={createdDate:"google.protobuf.Timestamp",updatedDate:"google.protobuf.Timestamp",trashedDate:"google.protobuf.Timestamp"};function zt(e){var t={"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 W(Object.assign(e,{domainToMappings:t}))}function xe(e){var t=y(Bt,{}),r=t.toJSON,o=t.fromJSON,i=y(Jt,{_site:Vt}).fromJSON;function s(d){var l=d.host,n=r(e),c={entityFqdn:"wix.site_list.v2.site",method:"POST",methodFqn:"com.wixpress.sitelist.api.SiteListServiceV2.QuerySites",url:zt({protoPath:"/v2/sites/query",data:n,host:l}),data:n,transformResponse:i};return c}return s.fromReq=o,s.__isAmbassador=!0,s}a();var Ht=f.object({id:f.string(),displayName:f.string(),viewUrl:f.union([f.string().url(),f.literal("")]).optional()}),Oe=f.object({sites:f.array(Ht)});var X=class{constructor(t){this.httpClient=t;let{minRetryTimeout:r}=J();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;querySites=async(t={})=>{try{let{data:r}=await b(()=>this.httpClient.request(xe(t)),this.retryOptions);return Oe.parse(r).sites}catch(r){throw new h({code:C.FailedToQuerySites(),cause:r,info:{...t}})}};getSite=async t=>{try{let{data:r}=await b(()=>this.httpClient.request(xe({query:{filter:{id:{$in:[t]}}}})),this.retryOptions),{sites:o}=Oe.parse(r);return o.at(0)??null}catch(r){throw new h({code:C.FailedToGetSite(),cause:r,info:{id:t}})}}};a();var _t=v(w(),1);function $t(){let e=V({type:"backoffice"});return(0,_t.useMemo)(()=>new X(e),[e])}a();a();var Z=v(k(),1),le=(0,Z.variant)({NotConfigured:{},NotFound:(0,Z.fields)(),Resolved:(0,Z.fields)()});a();async function Vi({projectFolder:e,siteListClient:{getSite:t},siteId:r,writeDebugLog:o}){let i=r||(await U(e,o))?.siteId;if(!i)return le.NotConfigured();let s=await t(i);return s?le.Resolved({site:s}):le.NotFound({id:i})}a();var T=v(w(),1);var D=v(k(),1);import{URL as j}from"node:url";var Gt=(e,t)=>{let r=(0,D.isType)(t,oe.Site)?`${e.origin}/_api`:"https://apps.wix.com",o=new j(`${r}/elgar-server/redirect`);return["specs.UseAppsRuntimeCache","specs.ApplyQueryParamsOverrides"].forEach(s=>{o.searchParams.append("experiments",`${s}#true`)}),o.searchParams.append("redirectToUrl",e.toString()),o.searchParams.append("staticsVersions","{}"),o};function xt({url:e,clientDevServerUrl:t}){let r=new j("/redirect",t);return r.searchParams.append("url",e),r.href}function Kt(){let{model:e}=_(),{site:t}=Y(),{armTag:r}=Se(),{siteOverrideId:o}=we();return(0,T.useCallback)(i=>Qt(i,{site:t,appId:e.config.appId,tag:r,siteOverrideId:o}),[t,e.config.appId,r,o])}function os(){let e=Kt(),{https:t,clientDevServerUrl:r}=_e();return(0,T.useCallback)(o=>{let i=e(o);return t&&(i=xt({url:i,clientDevServerUrl:r})),i},[e,t,r])}function Qt(e,t){let{site:r,tag:o,siteOverrideId:i}=t,s=(0,D.match)(e,{Dashboard:()=>new j(`dashboard/${r.id}`,"https://manage.wix.com/"),Editor:()=>new j(`https://wix.com/editor/${r.id}`),Site:()=>{let d=new j(r.viewUrl);return i&&d.searchParams.append("site-override",i),d}});return s.searchParams.append("apps-override",o),(0,D.isOfVariant)(e,(0,D.variantList)([oe.Editor,oe.Site]))?Gt(s,e).toString():s.toString()}function Yt(){let{model:e}=_(),{site:t}=Y(),{armTag:r}=Se(),{siteOverrideId:o}=we();return(0,T.useCallback)(i=>Xt(i,{site:t,appId:e.config.appId,tag:r,siteOverrideId:o}),[t,e.config.appId,r,o])}function is(){let e=Yt(),{https:t,clientDevServerUrl:r}=_e();return(0,T.useCallback)(o=>{let i=e(o);return t&&(i=xt({url:i,clientDevServerUrl:r})),i},[e,t,r])}function Xt(e,t){let{appId:r,site:o,tag:i}=t,s=(0,D.matcher)(e).with({DashboardPage:()=>new j(`dashboard/${o.id}/app/${r}${e.route}`,"https://manage.wix.com/")}).when(["DashboardMenuPlugin","DashboardPlugin","DashboardModal"],()=>new j(`dashboard/${o.id}${e.route}`,"https://manage.wix.com/")).complete();return s.searchParams.append("apps-override",i),s.toString()}var ss=async({url:e,title:t},r)=>{try{await Le(e)}catch{r({type:"error",prefix:"app",msg:T.default.createElement(G,{type:"error"},T.default.createElement(K,{i18nKey:"general.open_page_error",components:[T.default.createElement(q,{bold:!0})],values:{title:t}}),T.default.createElement(Pe,null),T.default.createElement(Re,{url:e}))})}};export{X as a,$t as b,gt as c,le as d,Vi as e,Q as f,ge as g,nt as h,ct as i,Se as j,ye as k,de as l,Y as m,wt as n,fi as o,_e as p,Gt as q,Kt as r,os as s,Qt as t,Yt as u,is as v,Xt as w,ss as x};
|
|
4
|
+
//# sourceMappingURL=chunk-SGZ3NN5T.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/DevCommand/DevEnvironment.tsx","../src/components/DevCommand/useArmUpdater.ts","../../arm-client/src/index.ts","../../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","../src/components/DevCommand/useDevServer.ts","../src/vite/custom-logger.ts","../src/components/DevCommand/devEnvLogs/useDevEnvLogs.tsx","../src/files/dev.log.ts","../src/components/DevCommand/devEnvLogs/DevEnvLogLine.tsx","../src/context/armTag.tsx","../src/components/DevCommand/useSiteOverrideUpdater.ts","../../site-override-client/src/index.ts","../../site-override-client/src/client.ts","../../../node_modules/@wix/ambassador-cli-site-override-service-v1-site-override/http.impl.ts","../../site-override-client/src/schemas.ts","../../site-override-client/src/useSiteOverrideClient.ts","../src/site-override/createSiteOverrides.ts","../../../node_modules/@wix/ambassador-cli-site-override-service-v1-site-override/types.impl.ts","../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 React, { createContext, useContext } from 'react';\nimport type { FC, ReactNode } from 'react';\nimport { match } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { Spinner, useAsync } from '@wix/cli-ui-kit';\nimport { useErrorReporter } from '@wix/cli-error-reporting';\nimport { useTunnel } from '@wix/cli-tunnel';\nimport { useProjectModel } from '../../model.js';\nimport { useArmUpdater } from './useArmUpdater.js';\nimport type { BackendUrls } from './useArmUpdater.js';\nimport { useClientDevServer, useBackendDevServer } from './useDevServer.js';\nimport { useDevEnvLogs } from './devEnvLogs/useDevEnvLogs.js';\nimport type { DevEnvLog, WriteLogFn } from './devEnvLogs/useDevEnvLogs.js';\nimport { ArmTagProvider } from '../../context/armTag.js';\nimport { useSiteOverrideUpdater } from './useSiteOverrideUpdater.js';\nimport { useBackendComponents } from '../../backend/useBackendComponents.js';\nimport { SiteOverrideProvider } from '../../context/siteOverride.js';\n\ninterface DevEnvironment {\n https: boolean;\n clientDevServerUrl: string;\n backendDevServerUrl?: string;\n logs: DevEnvLog[];\n clearLogs: () => void;\n writeLog: WriteLogFn;\n}\n\nconst DevEnvironmentContext = createContext<DevEnvironment | null>(null);\n\nexport const DevEnvironmentProvider: FC<{\n https: boolean;\n children: ReactNode;\n}> = ({ https, children }) => {\n const { t } = useTranslation();\n const { reportError } = useErrorReporter();\n const { backendComponents, backendComponentsByType } = useBackendComponents();\n const createClientDevServer = useClientDevServer({ https });\n const createBackendDevServer = useBackendDevServer({ https });\n const startTunnel = useTunnel();\n const createArmUpdater = useArmUpdater();\n const createSiteOverrideUpdater = useSiteOverrideUpdater();\n const { logs, writeLog, clearLogs } = useDevEnvLogs();\n const { watcher: projectModelWatcher } = useProjectModel();\n\n const { status } = useAsync(async () => {\n let backendDevServerUrl: BackendUrls | undefined = undefined;\n\n if (backendComponents.length > 0) {\n backendDevServerUrl = await createBackendDevServer({\n projectModelWatcher,\n onLog(type, msg) {\n writeLog({ type, msg, prefix: 'backend' });\n },\n }).then(async ({ devServerUrl }) => {\n let tunnelUrl: string | undefined = undefined;\n if (\n backendComponentsByType.Event.length > 0 ||\n backendComponentsByType.ServicePlugin.length > 0\n ) {\n const { url } = await startTunnel(Number(new URL(devServerUrl).port));\n tunnelUrl = url;\n }\n return { localUrl: devServerUrl, tunnelUrl };\n });\n }\n\n const { devServerUrl: clientDevServerUrl, devServer: clientDevServer } =\n await createClientDevServer({\n baseBackendUrl: backendDevServerUrl?.localUrl,\n projectModelWatcher,\n onLog(type, msg) {\n writeLog({ type, msg, prefix: 'vite' });\n },\n });\n\n const armTag = await createArmUpdater({\n backendServerUrl: backendDevServerUrl,\n devServerUrl: clientDevServerUrl,\n projectModelWatcher,\n onChange(changeType) {\n match(changeType, {\n 'change-received': () => {\n writeLog({ type: 'info', msg: t('dev_command.config_change') });\n },\n 'model-did-not-change': () => {\n writeLog({\n type: 'info',\n msg: t('dev_command.config_didnt_update'),\n });\n },\n 'model-updated': () => {\n clientDevServer.ws.send({ type: 'full-reload' });\n writeLog({ type: 'info', msg: t('dev_command.config_update') });\n },\n });\n },\n onError(error) {\n reportError(error);\n writeLog({ type: 'error', error });\n writeLog({ type: 'info', msg: t('dev_command.config_didnt_update') });\n },\n });\n\n const siteOverrideId = await createSiteOverrideUpdater({\n projectModelWatcher,\n });\n\n return {\n clientDevServerUrl,\n armTag,\n siteOverrideId,\n https,\n };\n }, []);\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner text={t('dev_command.dev_environment.loading')} />,\n Success: ({\n result: { clientDevServerUrl, https, armTag, siteOverrideId },\n }) => (\n <DevEnvironmentContext.Provider\n value={{\n clientDevServerUrl,\n https,\n logs,\n writeLog,\n clearLogs,\n }}\n >\n <SiteOverrideProvider siteOverrideId={siteOverrideId}>\n <ArmTagProvider armTag={armTag}>{children}</ArmTagProvider>\n </SiteOverrideProvider>\n </DevEnvironmentContext.Provider>\n ),\n });\n};\n\nexport function useDevEnvironment(): DevEnvironment {\n const context = useContext(DevEnvironmentContext);\n if (context === null) {\n throw new Error(\n 'useDevEnvironment() cannot be used without an <DevEnvironmentProvider>'\n );\n }\n return context;\n}\n","import { useCallback } from 'react';\nimport { match } from 'variant';\nimport { deepEqual } from 'fast-equals';\nimport { updateAppManifestWithBaseUrl } from '@wix/cli-app-manifest';\nimport { useARMClient } from '@wix/arm-client';\nimport { useDebugLog } from '@wix/cli-debug-log';\nimport { createAppManifest } from '../../app-manifest/create.js';\nimport { getComponentSourceBuilder } from '../../app-manifest/component-source.js';\nimport type {\n ChangeType,\n ProjectModelWatcher,\n} from '../../app-manifest/project-model-watcher.js';\nimport { readAppConfig, saveAppConfig } from '../../files/app.config.js';\nimport { useProjectModel } from '../../model.js';\nimport type { ProjectModel } from '../../model.js';\n\nexport interface BackendUrls {\n tunnelUrl?: string;\n localUrl: string;\n}\n\nconst createAppManifestWithBaseUrl = async (\n model: ProjectModel,\n clientDevServerUrl: string,\n backendServerUrl?: BackendUrls\n) => {\n const manifest = await createAppManifest({\n appId: model.config.appId,\n components: model.components,\n componentSourceBuilder: getComponentSourceBuilder(\n model,\n { clientDevServerUrl },\n { backendDevServerUrl: backendServerUrl?.localUrl }\n ),\n });\n\n return updateAppManifestWithBaseUrl(\n manifest,\n clientDevServerUrl,\n backendServerUrl?.tunnelUrl\n );\n};\n\ninterface CreateOptions {\n devServerUrl: string;\n backendServerUrl?: BackendUrls;\n projectModelWatcher: ProjectModelWatcher;\n onChange: (changeType: ChangeType) => void;\n onError: (e: unknown) => void;\n}\n\nexport function useArmUpdater() {\n const { model } = useProjectModel();\n const writeDebugLog = useDebugLog();\n const { createAppRelease, updateAppRelease } = useARMClient();\n\n return useCallback(\n async ({\n backendServerUrl,\n devServerUrl,\n projectModelWatcher,\n onChange,\n onError,\n }: CreateOptions) => {\n const { projectId } = model.config;\n\n const appManifest = await createAppManifestWithBaseUrl(\n model,\n devServerUrl,\n backendServerUrl\n );\n\n const appConfig = await readAppConfig(model.projectFolder, writeDebugLog);\n\n const createOrUpdateAppRelease = async (tag?: string) => {\n if (tag) {\n const updateState = await updateAppRelease(appManifest, tag);\n return match(updateState, {\n TagUpdated: () => tag,\n TagNotFound: ({ cause }) => {\n writeDebugLog(cause);\n return createAppRelease(appManifest, projectId);\n },\n });\n }\n return createAppRelease(appManifest, projectId);\n };\n\n const armTag = await createOrUpdateAppRelease(appConfig?.devArmTag);\n\n if (armTag !== appConfig?.devArmTag) {\n await saveAppConfig(model.projectFolder, { devArmTag: armTag }).catch(\n (error: unknown) => writeDebugLog(error)\n );\n }\n\n projectModelWatcher\n .onChange(async (newModel, changeType) => {\n try {\n if (changeType === 'model-updated') {\n if (newModel.components.length === 0) {\n return;\n }\n\n const updatedAppManifest = await createAppManifestWithBaseUrl(\n newModel,\n devServerUrl,\n backendServerUrl\n );\n\n if (!deepEqual(appManifest, updatedAppManifest)) {\n await updateAppRelease(updatedAppManifest, armTag);\n }\n }\n onChange(changeType);\n } catch (e) {\n onError(e);\n }\n })\n .onError(onError);\n\n return armTag;\n },\n [createAppRelease, model, updateAppRelease, writeDebugLog]\n );\n}\n","export { ARMClient } from './client.js';\nexport { useARMClient } from './useARMClient.js';\n","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\nconst 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","import { useRef, useCallback, useEffect } from 'react';\nimport { createServer } from 'vite';\nimport type { InlineConfig, ViteDevServer } from 'vite';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport { useErrorReporter } from '@wix/cli-error-reporting';\nimport type { ClientViteConfigOptions } from '../../vite/index.js';\nimport { getClientViteConfig, getBackendViteConfig } from '../../vite/index.js';\nimport { getViteServerUrl } from '../../vite/vite-server-url.js';\nimport { createCustomLogger } from '../../vite/custom-logger.js';\nimport type { CustomLoggerOptions } from '../../vite/custom-logger.js';\nimport type { ProjectModelWatcher } from '../../app-manifest/project-model-watcher.js';\nimport { useProjectModel } from '../../model.js';\nimport { ConfigType } from '../../vite/vite-config-options.js';\n\ninterface Options {\n projectModelWatcher: ProjectModelWatcher;\n onLog: CustomLoggerOptions['onLog'];\n}\n\nfunction useViteDevServer<T>({\n createConfig,\n}: {\n createConfig: (options: T) => Promise<InlineConfig>;\n}) {\n const { reportError } = useErrorReporter();\n const devServerRef = useRef<ViteDevServer>();\n\n useEffect(() => {\n return () => {\n devServerRef.current?.close().catch(reportError);\n };\n }, [reportError]);\n\n return useCallback(\n async (options: T) => {\n const config = await createConfig(options);\n const devServer = await createServer(config);\n\n devServerRef.current = devServer;\n\n await devServer.listen();\n\n return { devServerUrl: getViteServerUrl(devServer), devServer };\n },\n [createConfig]\n );\n}\n\nexport function useClientDevServer({ https }: { https: boolean }) {\n const { model } = useProjectModel();\n\n const createDevServer = useViteDevServer<Options & ClientViteConfigOptions>({\n createConfig: ({ onLog, projectModelWatcher, baseBackendUrl }) => {\n return getClientViteConfig(\n model,\n {\n type: ConfigType.dev,\n https,\n projectModelWatcher,\n customLogger: createCustomLogger({ onLog }),\n },\n { baseBackendUrl }\n );\n },\n });\n\n return createDevServer;\n}\n\nexport function useBackendDevServer({ https }: { https: boolean }) {\n const { model } = useProjectModel();\n const { getAppSecret } = useDevCenterClient();\n\n const createDevServer = useViteDevServer<Options>({\n createConfig: async ({ onLog, projectModelWatcher }) => {\n const appSecret = await getAppSecret({\n appId: model.config.appId,\n });\n\n return getBackendViteConfig(\n model,\n {\n type: ConfigType.dev,\n https,\n projectModelWatcher,\n customLogger: createCustomLogger({ onLog }),\n },\n appSecret\n );\n },\n });\n\n return createDevServer;\n}\n","import type { Logger, Rollup } from 'vite';\n\nexport type LogType = 'error' | 'warning' | 'info';\n\nexport interface CustomLoggerOptions {\n onLog: (type: LogType, msg: string) => void;\n}\n\nexport function createCustomLogger({ onLog }: CustomLoggerOptions): Logger {\n const loggedErrors = new WeakSet<Error | Rollup.RollupError>();\n const warnedMessages = new Set<string>();\n\n const logger: Logger = {\n hasWarned: false,\n info(msg) {\n onLog('info', msg);\n },\n warn(msg) {\n logger.hasWarned = true;\n onLog('warning', msg);\n },\n warnOnce(msg) {\n if (warnedMessages.has(msg)) return;\n logger.hasWarned = true;\n onLog('warning', msg);\n warnedMessages.add(msg);\n },\n error(msg, opts) {\n logger.hasWarned = true;\n onLog('error', msg);\n if (opts?.error) {\n loggedErrors.add(opts.error);\n }\n },\n clearScreen() {},\n hasErrorLogged(error) {\n return loggedErrors.has(error);\n },\n };\n\n return logger;\n}\n","import React, { useCallback, useEffect, useState, useMemo } from 'react';\nimport type { ReactNode, FC } from 'react';\nimport { DEV_LOG_PATH } from '@wix/cli-app-definitions';\nimport { Trans } from '@wix/cli-i18n';\nimport { createRendererToString, Alert, Box, Text } from '@wix/cli-ui-kit';\nimport { DevLogStream } from '../../../files/dev.log.js';\nimport { useProjectModel } from '../../../model.js';\nimport type { LogType } from '../../../vite/custom-logger.js';\nimport { DevEnvLogLine } from './DevEnvLogLine.js';\n\ntype GenericLog = (\n | {\n type: LogType;\n msg: ReactNode;\n error?: never;\n }\n | {\n type: 'error';\n msg?: never;\n error: unknown;\n }\n) & { prefix?: LogPrefix };\n\ntype LogPrefix = 'app' | 'vite' | 'backend';\n\nexport type WriteLogFn = (log: GenericLog) => void;\n\nexport type DevEnvLog = GenericLog & {\n timestamp: Date;\n};\n\nconst ErrorMsg: FC = () => (\n <Box flexDirection=\"column\">\n <Alert type=\"error\">\n <Trans\n i18nKey=\"general.write_dev_log_failure.message\"\n components={[<Text bold />]}\n values={{ path: DEV_LOG_PATH }}\n />\n </Alert>\n <Box paddingTop={1}>\n <Alert type=\"insight\">\n <Trans i18nKey=\"general.write_dev_log_failure.hint\" />\n </Alert>\n </Box>\n </Box>\n);\n\nfunction isMessageFiltered(message: string) {\n if (/Port \\d{1,5} is in use, trying another one/.test(message)) {\n return true;\n }\n\n return false;\n}\n\nexport function useDevEnvLogs() {\n const { model } = useProjectModel();\n const [logs, setLogs] = useState<DevEnvLog[]>([]);\n\n const insertLog = useCallback((genericLog: GenericLog) => {\n const log = { ...genericLog, timestamp: new Date() };\n\n setLogs((logs) => {\n const newLogs = [...logs, log];\n return newLogs;\n });\n\n return log;\n }, []);\n\n const { renderer, stream } = useMemo(() => {\n return {\n renderer: createRendererToString(),\n stream: new DevLogStream(model.projectFolder, {\n onError() {\n insertLog({ type: 'error', msg: <ErrorMsg /> });\n },\n }),\n };\n }, [insertLog, model.projectFolder]);\n\n const writeLog = useCallback<WriteLogFn>(\n (genericLog) => {\n if (genericLog.msg && isMessageFiltered(genericLog.msg.toString())) {\n return;\n }\n\n const log = insertLog(genericLog);\n const content = renderer.render(<DevEnvLogLine {...log} />);\n\n stream.write(content);\n },\n [insertLog, renderer, stream]\n );\n\n const clearLogs = useCallback(() => {\n setLogs([]);\n }, []);\n\n useEffect(() => {\n return () => {\n renderer.unmount();\n stream.close();\n };\n }, [renderer, stream]);\n\n return { logs, writeLog, clearLogs };\n}\n","import { EOL } from 'node:os';\nimport { createWriteStream } from 'node:fs';\nimport type { WriteStream } from 'node:fs';\nimport { getDevLogPath } from '@wix/cli-app-definitions';\n\nexport class DevLogStream {\n private drain = false;\n private readonly stream: WriteStream;\n\n constructor(\n projectFolder: string,\n private readonly opts: { onError: (err: Error) => void }\n ) {\n this.stream = createWriteStream(getDevLogPath(projectFolder), {\n flags: 'w',\n });\n\n this.stream.on('error', this.opts.onError);\n }\n\n write = (content: string) => {\n if (this.drain) {\n this.stream.once('drain', () => {\n this.drain = false;\n this.write(content);\n });\n return;\n }\n\n const written = this.stream.write(content.concat(EOL), (err) => {\n if (err) {\n this.opts.onError(err);\n }\n });\n if (!written) {\n this.drain = true;\n this.stream.once('drain', () => {\n this.drain = false;\n });\n }\n };\n\n close = () => {\n this.stream.close();\n };\n}\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Box, Text } from '@wix/cli-ui-kit';\nimport { ErrorViewer } from '@wix/cli-error-reporting';\nimport type { DevEnvLog } from './useDevEnvLogs.js';\n\nexport const DevEnvLogLine: FC<DevEnvLog> = ({\n type,\n msg,\n error,\n prefix = 'app',\n timestamp,\n}) => {\n return (\n <Box columnGap={1}>\n <Box flexShrink={0}>\n <Text skin=\"secondary\">{timestamp.toLocaleTimeString()}</Text>\n </Box>\n <Box flexShrink={0}>\n <Text skin={type} bold>\n [{prefix}]\n </Text>\n </Box>\n <Box>\n {type === 'error' && error ? (\n <ErrorViewer error={error} />\n ) : typeof msg === 'string' ? (\n <Text>{msg}</Text>\n ) : (\n msg\n )}\n </Box>\n </Box>\n );\n};\n","import React, { useContext, createContext } from 'react';\nimport type { FC, ReactNode } from 'react';\n\ninterface ArmTag {\n armTag: string;\n}\n\nconst 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 { useCallback, useEffect, useRef } from 'react';\nimport { deepEqual } from 'fast-equals';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { useSiteOverrideClient } from '@wix/site-override-client';\nimport { useDebugLog } from '@wix/cli-debug-log';\nimport { useExit } from '@wix/cli-ui-kit';\nimport type { ProjectModelWatcher } from '../../app-manifest/project-model-watcher.js';\nimport { useProjectModel } from '../../model.js';\nimport { createSiteOverrides } from '../../site-override/createSiteOverrides.js';\nimport { useSiteId } from '../../site-id/useSiteId.js';\nimport { readAppConfig, saveAppConfig } from '../../files/app.config.js';\n\nexport function useSiteOverrideUpdater() {\n const { model } = useProjectModel();\n const { site } = useSiteId();\n const exit = useExit();\n const writeDebugLog = useDebugLog();\n const { createOverride } = useSiteOverrideClient();\n const { appId } = model.config;\n\n const siteRef = useRef(site);\n const isUpdaterInitialized = useRef(false);\n\n useEffect(() => {\n siteRef.current = site;\n\n const updateSiteOverrides = async () => {\n const overrides = createSiteOverrides(model) ?? {};\n const appConfig = await readAppConfig(model.projectFolder, writeDebugLog);\n const siteOverrideId = appConfig?.devSiteOverrideId;\n\n if (!siteOverrideId) {\n throw new CliError({\n code: CliErrorCode.InvalidSiteOverrideID(),\n });\n }\n\n await createOverride({\n appId,\n siteId: site.id,\n overrides,\n siteOverrideId,\n });\n };\n\n if (isUpdaterInitialized.current) {\n updateSiteOverrides().catch(exit);\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [site]);\n\n return useCallback(\n async ({\n projectModelWatcher,\n }: {\n projectModelWatcher: ProjectModelWatcher;\n }) => {\n const appConfig = await readAppConfig(model.projectFolder, writeDebugLog);\n let overrides = createSiteOverrides(model) ?? {};\n\n const { id: siteOverrideId } = await createOverride({\n appId,\n siteId: site.id,\n overrides,\n siteOverrideId: appConfig?.devSiteOverrideId,\n });\n\n projectModelWatcher.onChange(async (newModel, changeType) => {\n if (changeType === 'model-updated') {\n const updatedOverrides = createSiteOverrides(newModel) ?? {};\n\n if (!deepEqual(overrides, updatedOverrides)) {\n await createOverride({\n appId,\n siteId: siteRef.current.id,\n overrides: updatedOverrides,\n siteOverrideId,\n });\n\n overrides = updatedOverrides;\n }\n }\n });\n\n if (siteOverrideId !== appConfig?.devSiteOverrideId) {\n await saveAppConfig(model.projectFolder, {\n devSiteOverrideId: siteOverrideId,\n }).catch((error: unknown) => writeDebugLog(error));\n }\n\n isUpdaterInitialized.current = true;\n\n return siteOverrideId;\n },\n [model, writeDebugLog, createOverride, appId, site]\n );\n}\n","export { SiteOverrideClient } from './client.js';\nexport type { ComponentsForSiteOverride } from './client.js';\nexport { useSiteOverrideClient } from './useSiteOverrideClient.js';\n","import type { HttpClient } from '@wix/cli-http-client';\nimport type { Options } from 'p-retry';\nimport pRetry from 'p-retry';\nimport { createOverride } from '@wix/ambassador-cli-site-override-service-v1-site-override/http';\nimport { isHttpError } from '@wix/cli-http-client';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport type { ComponentOverride } from '@wix/ambassador-cli-site-override-service-v1-site-override/types';\nimport { createOverrideSchema } from './schemas.js';\n\nexport type ComponentsForSiteOverride = Record<string, ComponentOverride>;\n\nexport class SiteOverrideClient {\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 public createOverride = async ({\n appId,\n siteId,\n overrides,\n siteOverrideId,\n }: {\n appId: string;\n siteId: string;\n overrides: ComponentsForSiteOverride;\n siteOverrideId?: string;\n }) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n createOverride({\n siteOverride: {\n id: siteOverrideId,\n appId,\n siteId,\n overrides,\n },\n })\n ),\n this.retryOptions\n );\n\n return createOverrideSchema.parse(data).siteOverride;\n } catch (error) {\n if (isHttpError(error) && error.response?.status === 403) {\n if (\n error.response.data?.details?.applicationError?.code ===\n 'PERMISSION_DENIED_FOR_SITE'\n ) {\n throw new CliError({\n code: CliErrorCode.SitePermissionDenied({ siteId }),\n cause: error,\n });\n }\n\n throw new CliError({\n code: CliErrorCode.AppPermissionDenied({ appId }),\n cause: error,\n });\n }\n\n throw new CliError({\n code: CliErrorCode.FailedToCreateSiteOverride(),\n cause: error,\n });\n }\n };\n}\n",null,"import { z } from 'zod';\n\nexport const createOverrideSchema = z.object({\n siteOverride: z.object({\n id: z.string(),\n }),\n});\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { SiteOverrideClient } from './client.js';\n\nexport function useSiteOverrideClient() {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new SiteOverrideClient(httpClient), [httpClient]);\n}\n","import { isType } from 'variant';\nimport { Type } from '@wix/ambassador-cli-site-override-service-v1-site-override/types';\nimport type { ComponentOverride } from '@wix/ambassador-cli-site-override-service-v1-site-override/types';\nimport type { ProjectModel } from '../model.js';\nimport { DevCenterComponent } from '../dev-center/components/dev-center-component.js';\n\nexport function createSiteOverrides(model: ProjectModel) {\n const componentsToOverride = model.components.filter(\n isType(DevCenterComponent.EmbeddedScript)\n );\n\n if (componentsToOverride.length === 0) {\n return null;\n }\n\n return componentsToOverride.reduce<Record<string, ComponentOverride>>(\n (acc, component) => {\n const paramsOverride = component.paramsOverride ?? {};\n\n return {\n ...acc,\n [component.id]: {\n type: Type.EMBEDDED_SCRIPT,\n componentId: component.id,\n embeddedScriptOptions: { parameters: paramsOverride },\n },\n };\n },\n {}\n );\n}\n",null,"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\nconst 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\nconst 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 { URL } from 'node:url';\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';\nimport { useDevEnvironment } from '../DevCommand/DevEnvironment.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\nfunction wrapWithRedirectUrl({\n url,\n clientDevServerUrl,\n}: {\n url: string;\n clientDevServerUrl: string;\n}) {\n const redirectUrl = new URL('/redirect', clientDevServerUrl);\n redirectUrl.searchParams.append('url', url);\n\n return redirectUrl.href;\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 [site, model.config.appId, armTag, siteOverrideId]\n );\n}\n\nexport function useResolvePlatformDevUrl() {\n const resolvePlatformUrl = useResolvePlatformUrl();\n const { https, clientDevServerUrl } = useDevEnvironment();\n\n return useCallback(\n (platformType: PlatformType) => {\n let url = resolvePlatformUrl(platformType);\n\n if (https) {\n url = wrapWithRedirectUrl({ url, clientDevServerUrl });\n }\n\n return url;\n },\n [resolvePlatformUrl, https, clientDevServerUrl]\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 return resolveDashboardExtensionUrl(extension, {\n site,\n appId: model.config.appId,\n tag: armTag,\n siteOverrideId,\n });\n },\n [site, model.config.appId, armTag, siteOverrideId]\n );\n}\n\nexport function useResolveDashboardExtensionDevUrl() {\n const resolveDashboardExtensionUrl = useResolveDashboardExtensionUrl();\n const { https, clientDevServerUrl } = useDevEnvironment();\n\n return useCallback(\n (extension: DevCenterComponent<DashboardExtension>) => {\n let url = resolveDashboardExtensionUrl(extension);\n\n if (https) {\n url = wrapWithRedirectUrl({ url, clientDevServerUrl });\n }\n\n return url;\n },\n [resolveDashboardExtensionUrl, https, clientDevServerUrl]\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","import_react","import_variant","init_esm_shims","import_react","import_variant","init_esm_shims","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","createAppManifestWithBaseUrl","model","clientDevServerUrl","backendServerUrl","manifest","createAppManifest","getComponentSourceBuilder","updateAppManifestWithBaseUrl","useArmUpdater","useProjectModel","writeDebugLog","useDebugLog","createAppRelease","updateAppRelease","useARMClient","devServerUrl","projectModelWatcher","onChange","onError","projectId","appManifest","appConfig","readAppConfig","armTag","tag","updateState","cause","saveAppConfig","error","newModel","changeType","updatedAppManifest","deepEqual","e","init_esm_shims","import_react","createServer","init_esm_shims","createCustomLogger","onLog","loggedErrors","warnedMessages","logger","msg","opts","error","useViteDevServer","createConfig","reportError","useErrorReporter","devServerRef","options","config","devServer","createServer","getViteServerUrl","useClientDevServer","https","model","useProjectModel","onLog","projectModelWatcher","baseBackendUrl","getViteConfig","createCustomLogger","useBackendDevServer","getAppSecret","useDevCenterClient","appSecret","init_esm_shims","import_react","init_esm_shims","EOL","createWriteStream","DevLogStream","projectFolder","opts","createWriteStream","getDevLogPath","content","EOL","err","init_esm_shims","import_react","DevEnvLogLine","type","msg","error","prefix","timestamp","React","Box_default","Text","ErrorViewer","ErrorMsg","React","Box_default","Alert","Trans","Text","DEV_LOG_PATH","isMessageFiltered","message","useDevEnvLogs","model","useProjectModel","logs","setLogs","insertLog","genericLog","log","renderer","stream","createRendererToString","DevLogStream","writeLog","content","DevEnvLogLine","clearLogs","init_esm_shims","import_react","ArmTagContext","ArmTagProvider","children","armTag","React","useArmTag","context","init_esm_shims","import_react","init_esm_shims","init_esm_shims","init_esm_shims","_createOverrideRequest","_createOverrideResponse","resolveWixCliV1SiteOverrideServiceUrl","opts","domainToMappings","resolveUrl","createOverride","payload","_a","serializer","_createOverrideRequest","toReq","fromReq","fromRes","_createOverrideResponse","__createOverride","host","serializedData","metadata","resolveWixCliV1SiteOverrideServiceUrl","init_esm_shims","createOverrideSchema","z","SiteOverrideClient","httpClient","minRetryTimeout","getTestOverrides","appId","siteId","overrides","siteOverrideId","data","pRetry","createOverride","createOverrideSchema","error","isHttpError","CliError","CliErrorCode","init_esm_shims","import_react","useSiteOverrideClient","httpClient","useHttpClient","SiteOverrideClient","init_esm_shims","import_variant","init_esm_shims","Type","createSiteOverrides","model","componentsToOverride","DevCenterComponent","acc","component","paramsOverride","Type","init_esm_shims","import_react","init_esm_shims","import_react","SiteIdContext","useSiteId","context","SiteIdContext","useSiteOverrideUpdater","model","useProjectModel","site","useSiteId","exit","useExit","writeDebugLog","useDebugLog","createOverride","useSiteOverrideClient","appId","siteRef","isUpdaterInitialized","updateSiteOverrides","overrides","createSiteOverrides","siteOverrideId","readAppConfig","CliError","CliErrorCode","projectModelWatcher","appConfig","newModel","changeType","updatedOverrides","deepEqual","saveAppConfig","error","init_esm_shims","import_react","SiteOverrideContext","SiteOverrideProvider","children","siteOverrideId","React","useSiteOverrideId","context","DevEnvironmentContext","DevEnvironmentProvider","https","children","t","useTranslation","reportError","useErrorReporter","backendComponents","backendComponentsByType","useBackendComponents","createClientDevServer","useClientDevServer","createBackendDevServer","useBackendDevServer","startTunnel","useTunnel","createArmUpdater","useArmUpdater","createSiteOverrideUpdater","useSiteOverrideUpdater","logs","writeLog","clearLogs","useDevEnvLogs","projectModelWatcher","useProjectModel","status","useAsync","backendDevServerUrl","type","msg","devServerUrl","tunnelUrl","url","clientDevServerUrl","clientDevServer","armTag","changeType","error","siteOverrideId","React","Spinner","SiteOverrideProvider","ArmTagProvider","useDevEnvironment","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","URL","redirectWithCSMv2FTs","url","platformType","elgarBaseURL","PlatformType","elgarRedirectUrl","URL","spec","wrapWithRedirectUrl","clientDevServerUrl","redirectUrl","useResolvePlatformUrl","model","useProjectModel","site","useSiteId","armTag","useArmTag","siteOverrideId","useSiteOverrideId","resolvePlatformUrl","useResolvePlatformDevUrl","https","useDevEnvironment","options","tag","siteUrl","useResolveDashboardExtensionUrl","extension","resolveDashboardExtensionUrl","useResolveDashboardExtensionDevUrl","appId","openPage","title","writeLog","openBrowser","React","Alert","Trans","Text","Newline","Link"]}
|
|
@@ -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{Xa as e,u as r}from"./chunk-E3KDHOPJ.js";import{b as m}from"./chunk-3PVWT3VF.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-T23LX5WN.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as _createRequire } from 'node:module';
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{e as x}from"./chunk-
|
|
3
|
+
import{e as x}from"./chunk-E3KDHOPJ.js";import{b,d as a}from"./chunk-3PVWT3VF.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
4
|
`;if(t instanceof Error){r+=`Error Trace
|
|
5
5
|
`,r+=`${c.default.fullStack(t)}
|
|
6
6
|
`,r+=`Error Info
|
|
@@ -8,4 +8,4 @@ import{e as x}from"./chunk-DCT2GH4K.js";import{b,d as a}from"./chunk-W5VAOQOV.js
|
|
|
8
8
|
`;let i=u(t);i&&(r+=`Request Info
|
|
9
9
|
`,r+=`${JSON.stringify(m(i),null,2)}
|
|
10
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-
|
|
11
|
+
//# sourceMappingURL=chunk-U5GBWV4U.js.map
|
|
@@ -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{Aa as r,tb as p}from"./chunk-E3KDHOPJ.js";import{b as v,c as f}from"./chunk-3PVWT3VF.js";import{e as m,h as c}from"./chunk-V4TR6DCM.js";c();var s=m(v(),1),i=m(f(),1);function k(){let{model:t}=p(),n=(0,s.useMemo)(()=>{let l=t.components.filter((0,i.isType)(r.Api)).sort((e,o)=>e.title.localeCompare(o.title)),a=t.components.filter((0,i.isType)(r.Event)).sort((e,o)=>e.title.localeCompare(o.title)),u=t.components.filter((0,i.isType)(r.ServicePlugin)).sort((e,o)=>e.servicePlugin.name.localeCompare(o.servicePlugin.name));return{Api:l,Event:a,ServicePlugin:u}},[t.components]);return{backendComponents:[...n.Api,...n.Event,...n.ServicePlugin],backendComponentsByType:n}}export{k as a};
|
|
4
|
+
//# sourceMappingURL=chunk-WH6FGOUG.js.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
import{sa as L,ta as U,ua as w,va as Z}from"./chunk-E3KDHOPJ.js";import{c as u,h as n}from"./chunk-V4TR6DCM.js";var v=u((he,b)=>{"use strict";n();function j(e,r,i,t){for(var s=e.length,f=i+(t?1:-1);t?f--:++f<s;)if(r(e[f],f,e))return f;return-1}b.exports=j});var a=u((oe,N)=>{"use strict";n();function k(e){return e!==e}N.exports=k});var S=u((qe,A)=>{"use strict";n();function z(e,r,i){for(var t=i-1,s=e.length;++t<s;)if(e[t]===r)return t;return-1}A.exports=z});var F=u((de,O)=>{"use strict";n();var B=v(),D=a(),J=S();function K(e,r,i){return r===r?J(e,r,i):B(e,D,i)}O.exports=K});var C=u((pe,T)=>{"use strict";n();var M=F();function P(e,r){var i=e==null?0:e.length;return!!i&&M(e,r,0)>-1}T.exports=P});var R=u((be,E)=>{"use strict";n();function Q(e,r,i){for(var t=-1,s=e==null?0:e.length;++t<s;)if(i(r,e[t]))return!0;return!1}E.exports=Q});var Y=u((Ne,W)=>{"use strict";n();function V(){}W.exports=V});var G=u((Ae,_)=>{"use strict";n();var d=Z(),X=Y(),$=w(),y=1/0,m=d&&1/$(new d([,-0]))[1]==y?function(e){return new d(e)}:X;_.exports=m});var le=u((Oe,H)=>{"use strict";n();var ee=L(),ne=C(),re=R(),ie=U(),te=G(),se=w(),ue=200;function fe(e,r,i){var t=-1,s=ne,f=e.length,I=!0,c=[],l=c;if(i)I=!1,s=re;else if(f>=ue){var g=r?null:te(e);if(g)return se(g);I=!1,s=ie,l=new ee}else l=r?[]:c;e:for(;++t<f;){var o=e[t],q=r?r(o):o;if(o=i||o!==0?o:0,I&&q===q){for(var p=l.length;p--;)if(l[p]===q)continue e;r&&l.push(q),c.push(o)}else s(l,q,i)||(l!==c&&l.push(q),c.push(o))}return c}H.exports=fe});export{le as a};
|
|
4
|
+
//# sourceMappingURL=chunk-WS7DT4WX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/lodash/_baseFindIndex.js","../../../node_modules/lodash/_baseIsNaN.js","../../../node_modules/lodash/_strictIndexOf.js","../../../node_modules/lodash/_baseIndexOf.js","../../../node_modules/lodash/_arrayIncludes.js","../../../node_modules/lodash/_arrayIncludesWith.js","../../../node_modules/lodash/noop.js","../../../node_modules/lodash/_createSet.js","../../../node_modules/lodash/_baseUniq.js"],"sourcesContent":["/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n"],"mappings":"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","names":["require_baseFindIndex","__commonJSMin","exports","module","init_esm_shims","baseFindIndex","array","predicate","fromIndex","fromRight","length","index","require_baseIsNaN","__commonJSMin","exports","module","init_esm_shims","baseIsNaN","value","require_strictIndexOf","__commonJSMin","exports","module","init_esm_shims","strictIndexOf","array","value","fromIndex","index","length","require_baseIndexOf","__commonJSMin","exports","module","init_esm_shims","baseFindIndex","baseIsNaN","strictIndexOf","baseIndexOf","array","value","fromIndex","require_arrayIncludes","__commonJSMin","exports","module","init_esm_shims","baseIndexOf","arrayIncludes","array","value","length","require_arrayIncludesWith","__commonJSMin","exports","module","init_esm_shims","arrayIncludesWith","array","value","comparator","index","length","require_noop","__commonJSMin","exports","module","init_esm_shims","noop","require_createSet","__commonJSMin","exports","module","init_esm_shims","Set","noop","setToArray","INFINITY","createSet","values","require_baseUniq","__commonJSMin","exports","module","init_esm_shims","SetCache","arrayIncludes","arrayIncludesWith","cacheHas","createSet","setToArray","LARGE_ARRAY_SIZE","baseUniq","array","iteratee","comparator","index","includes","length","isCommon","result","seen","set","outer","value","computed","seenIndex"]}
|
|
@@ -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{d as r}from"./chunk-O4QFSLZD.js";import{k as p,na as i}from"./chunk-E3KDHOPJ.js";import{h as n}from"./chunk-V4TR6DCM.js";n();async function A({projectFolder:t,manifest:e}){let a=i(t);return p(a,e)}async function M(t){let e=i(t);return r(e)}export{A as a,M as b};
|
|
4
|
+
//# sourceMappingURL=chunk-X7N7X6GR.js.map
|
|
@@ -4577,7 +4577,8 @@ function createClient(config) {
|
|
|
4577
4577
|
...defaultContentTypeHeader,
|
|
4578
4578
|
..._headers,
|
|
4579
4579
|
...authHeaders?.headers,
|
|
4580
|
-
...options?.headers
|
|
4580
|
+
...options?.headers,
|
|
4581
|
+
...config.host?.essentials?.passThroughHeaders
|
|
4581
4582
|
}
|
|
4582
4583
|
});
|
|
4583
4584
|
};
|
|
@@ -4641,6 +4642,12 @@ function createClient(config) {
|
|
|
4641
4642
|
}
|
|
4642
4643
|
}
|
|
4643
4644
|
},
|
|
4645
|
+
/**
|
|
4646
|
+
* @param relativeUrl The URL to fetch relative to the API base URL
|
|
4647
|
+
* @param options The fetch options
|
|
4648
|
+
* @returns The fetch Response object
|
|
4649
|
+
* @deprecated Use `fetchWithAuth` instead
|
|
4650
|
+
*/
|
|
4644
4651
|
fetch: (relativeUrl, options) => {
|
|
4645
4652
|
const apiBaseUrl = config.host?.apiBaseUrl ?? DEFAULT_API_URL;
|
|
4646
4653
|
const finalUrl = new URL(relativeUrl, `https://${apiBaseUrl}`);
|
|
@@ -5068,23 +5075,6 @@ var ServicePluginHandler = class {
|
|
|
5068
5075
|
|
|
5069
5076
|
// src/callsHandler.ts
|
|
5070
5077
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
5071
|
-
|
|
5072
|
-
// ../cli-test-overrides/src/unsafe.ts
|
|
5073
|
-
import process from "node:process";
|
|
5074
|
-
|
|
5075
|
-
// ../cli-test-overrides/src/constants.ts
|
|
5076
|
-
var TEST_OVERRIDES_ENV_VAR = "WIX_CLI_TEST_OVERRIDES";
|
|
5077
|
-
|
|
5078
|
-
// ../cli-test-overrides/src/unsafe.ts
|
|
5079
|
-
function getTestOverrides() {
|
|
5080
|
-
const rawOverrides = process.env[TEST_OVERRIDES_ENV_VAR];
|
|
5081
|
-
if (!rawOverrides) {
|
|
5082
|
-
return {};
|
|
5083
|
-
}
|
|
5084
|
-
return JSON.parse(rawOverrides);
|
|
5085
|
-
}
|
|
5086
|
-
|
|
5087
|
-
// src/callsHandler.ts
|
|
5088
5078
|
var CallsHandler = class {
|
|
5089
5079
|
wixClient;
|
|
5090
5080
|
elevatedWixClient;
|
|
@@ -5098,6 +5088,13 @@ var CallsHandler = class {
|
|
|
5098
5088
|
throw new Error("Cannot find an authentication strategy");
|
|
5099
5089
|
}
|
|
5100
5090
|
return store.auth.getAuthHeaders(host);
|
|
5091
|
+
},
|
|
5092
|
+
getActiveToken: () => {
|
|
5093
|
+
const store = this.asyncLocalStorage.getStore();
|
|
5094
|
+
if (!store?.auth) {
|
|
5095
|
+
throw new Error("Cannot find an authentication strategy");
|
|
5096
|
+
}
|
|
5097
|
+
return store.auth.getActiveToken?.();
|
|
5101
5098
|
}
|
|
5102
5099
|
}
|
|
5103
5100
|
});
|
|
@@ -5124,9 +5121,8 @@ var CallsHandler = class {
|
|
|
5124
5121
|
this.elevatedWixClient.enableContext("global", { elevated: true });
|
|
5125
5122
|
}
|
|
5126
5123
|
async run(accessToken, instanceId, fn) {
|
|
5127
|
-
const {
|
|
5128
|
-
const
|
|
5129
|
-
const elevatedAuth = instanceId ? createAppStrategy({ instanceId, authServerBaseUrl }) : null;
|
|
5124
|
+
const auth = accessToken ? createAppStrategy({ accessToken }) : null;
|
|
5125
|
+
const elevatedAuth = instanceId ? createAppStrategy({ instanceId }) : null;
|
|
5130
5126
|
return this.asyncLocalStorage.run({ auth, elevatedAuth }, fn);
|
|
5131
5127
|
}
|
|
5132
5128
|
};
|
|
@@ -4574,7 +4574,8 @@ function createClient(config) {
|
|
|
4574
4574
|
...defaultContentTypeHeader,
|
|
4575
4575
|
..._headers,
|
|
4576
4576
|
...authHeaders?.headers,
|
|
4577
|
-
...options?.headers
|
|
4577
|
+
...options?.headers,
|
|
4578
|
+
...config.host?.essentials?.passThroughHeaders
|
|
4578
4579
|
}
|
|
4579
4580
|
});
|
|
4580
4581
|
};
|
|
@@ -4638,6 +4639,12 @@ function createClient(config) {
|
|
|
4638
4639
|
}
|
|
4639
4640
|
}
|
|
4640
4641
|
},
|
|
4642
|
+
/**
|
|
4643
|
+
* @param relativeUrl The URL to fetch relative to the API base URL
|
|
4644
|
+
* @param options The fetch options
|
|
4645
|
+
* @returns The fetch Response object
|
|
4646
|
+
* @deprecated Use `fetchWithAuth` instead
|
|
4647
|
+
*/
|
|
4641
4648
|
fetch: (relativeUrl, options) => {
|
|
4642
4649
|
const apiBaseUrl = config.host?.apiBaseUrl ?? DEFAULT_API_URL;
|
|
4643
4650
|
const finalUrl = new URL(relativeUrl, `https://${apiBaseUrl}`);
|