@wix/cli 1.1.134 → 1.1.135
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/{DevCommand-4OQRGGV3.js → DevCommand-IMAVUJAD.js} +15 -14
- package/build/{DevCommand-4OQRGGV3.js.map → DevCommand-IMAVUJAD.js.map} +1 -1
- package/build/{DevCommand-WSXE72JB.js → DevCommand-NGP3OLP2.js} +22 -20
- package/build/{DevCommand-WSXE72JB.js.map → DevCommand-NGP3OLP2.js.map} +1 -1
- package/build/{DevCommand-NTBBKMAA.js → DevCommand-WRR5BL4Z.js} +17 -16
- package/build/{DevCommand-NTBBKMAA.js.map → DevCommand-WRR5BL4Z.js.map} +1 -1
- package/build/{EnvPullCommand-FSET3QAR.js → EnvPullCommand-YIMMKCWN.js} +11 -11
- package/build/{EnvRemoveCommand-FT5NPEKI.js → EnvRemoveCommand-ZCXNUXNH.js} +10 -10
- package/build/{EnvSetCommand-7LPLV7GL.js → EnvSetCommand-RHEKCVUN.js} +10 -10
- package/build/GenerateCommand-BTQ7TG5D.js +66903 -0
- package/build/GenerateCommand-BTQ7TG5D.js.map +1 -0
- package/build/{InstallCommand-DGPPZHXV.js → InstallCommand-YRZIYW62.js} +18 -17
- package/build/{InstallCommand-DGPPZHXV.js.map → InstallCommand-YRZIYW62.js.map} +1 -1
- package/build/{LoginCommand-VKQBW5EI.js → LoginCommand-5MF5W7AI.js} +8 -8
- package/build/{LogoutCommand-NKY5NWUQ.js → LogoutCommand-M6RIRJSL.js} +5 -5
- package/build/{PreviewCommand-X7P2AHBY.js → PreviewCommand-GUJ76CAT.js} +18 -18
- package/build/{PreviewCommand-W22KLFOH.js → PreviewCommand-U3WITMSP.js} +17 -16
- package/build/{PreviewCommand-VQCQDGJ2.js → PreviewCommand-XXGRNKCX.js} +20 -19
- package/build/{PreviewCommand-VQCQDGJ2.js.map → PreviewCommand-XXGRNKCX.js.map} +1 -1
- package/build/{PromoteCommand-VDTCKRE4.js → PromoteCommand-U3VRZFG4.js} +17 -16
- package/build/{PromoteCommand-VDTCKRE4.js.map → PromoteCommand-U3VRZFG4.js.map} +1 -1
- package/build/{PublishCommand-3MDL6QC4.js → PublishCommand-PSVM5BRB.js} +18 -18
- package/build/{ReleaseCommand-TP4LUVYC.js → ReleaseCommand-BKJFTAFS.js} +63 -47
- package/build/ReleaseCommand-BKJFTAFS.js.map +1 -0
- package/build/{UninstallCommand-YPZPH7PM.js → UninstallCommand-SYETTGBX.js} +18 -17
- package/build/{UninstallCommand-YPZPH7PM.js.map → UninstallCommand-SYETTGBX.js.map} +1 -1
- package/build/{WhoamiCommand-H4GCFFMW.js → WhoamiCommand-LO267Q7N.js} +2 -2
- package/build/{chunk-BEKFXS6A.js → chunk-2JV5CPZB.js} +7 -7
- package/build/{chunk-RWTQFIPN.js → chunk-2R5BII2J.js} +24 -278
- package/build/chunk-2R5BII2J.js.map +1 -0
- package/build/{chunk-KUETLEOF.js → chunk-32I3PHOS.js} +2 -2
- package/build/{chunk-KJC2IRIO.js → chunk-44ID64NH.js} +7 -7
- package/build/{chunk-EYBSRZFX.js → chunk-4ANLJVRU.js} +3 -3
- package/build/{chunk-3RVONWI7.js → chunk-4WVAKXRQ.js} +2 -2
- package/build/{chunk-TL7UQCUX.js → chunk-5IEF6RZY.js} +2 -2
- package/build/{chunk-5Z6Q4IJX.js → chunk-5WGVTKXX.js} +10 -10
- package/build/{chunk-4QGQ7FU5.js → chunk-6CAKDLZN.js} +2 -2
- package/build/{chunk-YSTEUOSI.js → chunk-6NYCJJLW.js} +2 -2
- package/build/{chunk-66VZCA5Y.js → chunk-AU6SEMLX.js} +5 -5
- package/build/{chunk-BAXAZXTT.js → chunk-BXLLE2UC.js} +3 -3
- package/build/{chunk-PH4BOMTV.js → chunk-DBD3AN3F.js} +2 -2
- package/build/{chunk-DTJ6JGVE.js → chunk-EHGVJH6O.js} +7 -7
- package/build/{chunk-POJ57ZT2.js → chunk-ET7C64VQ.js} +5 -5
- package/build/chunk-ET7C64VQ.js.map +1 -0
- package/build/{chunk-QYUVUKJH.js → chunk-EVROMEWT.js} +2 -2
- package/build/{chunk-N2YYKEKV.js → chunk-F3NTGDLO.js} +3 -3
- package/build/{chunk-HZRGNT6A.js → chunk-FEOGVHVS.js} +11 -5
- package/build/chunk-FEOGVHVS.js.map +1 -0
- package/build/{chunk-KRZQM5IB.js → chunk-G2YYCYGR.js} +2 -2
- package/build/{chunk-KFP5IROQ.js → chunk-GWFVDY6V.js} +2 -2
- package/build/{chunk-MWPS57J5.js → chunk-HST5K3MT.js} +7 -7
- package/build/chunk-IGHRRWV4.js +6248 -0
- package/build/chunk-IGHRRWV4.js.map +1 -0
- package/build/{chunk-MB2DJ4WP.js → chunk-IRKCE3VI.js} +28 -280
- package/build/chunk-IRKCE3VI.js.map +1 -0
- package/build/{chunk-5OQDBYCC.js → chunk-JS5GX6CV.js} +5 -5
- package/build/{chunk-DQULLGU7.js → chunk-KNO67D7N.js} +5 -4
- package/build/{chunk-34MTX547.js → chunk-NAYRT7D7.js} +4 -4
- package/build/{chunk-MT4UEZWE.js → chunk-NEIDBKO4.js} +7 -8
- package/build/chunk-NEIDBKO4.js.map +1 -0
- package/build/{chunk-3DWQFSNW.js → chunk-NXWYNKVW.js} +5 -6239
- package/build/chunk-NXWYNKVW.js.map +1 -0
- package/build/{chunk-ZBGLF76X.js → chunk-OAXVMHAX.js} +6 -6
- package/build/{chunk-763CNX5X.js → chunk-PJCXC7XI.js} +1 -2
- package/build/{chunk-VLGQTAVU.js → chunk-QWD63IH3.js} +7 -7
- package/build/{chunk-OWJ2DBNB.js → chunk-RFIG2TYJ.js} +2 -2
- package/build/{chunk-PBUFZ6OU.js → chunk-RKR6GAIH.js} +3 -3
- package/build/{chunk-QKIGR4DS.js → chunk-RQ3P4TXY.js} +7 -7
- package/build/{chunk-MA6ZMAQU.js → chunk-S2NJ72RN.js} +3 -3
- package/build/{chunk-LKYWHOMW.js → chunk-SC2W3WT3.js} +1 -1
- package/build/{chunk-LKYWHOMW.js.map → chunk-SC2W3WT3.js.map} +1 -1
- package/build/{chunk-6XQIBCEG.js → chunk-SFVKP2JY.js} +3 -3
- package/build/{chunk-PDB7C6G4.js → chunk-SLXRJIGZ.js} +7 -7
- package/build/{chunk-HGBT2YDL.js → chunk-SSOJHG2R.js} +4 -4
- package/build/{chunk-OZKGZAOZ.js → chunk-THTKKN7Y.js} +3 -3
- package/build/{chunk-LYSRG3GF.js → chunk-VJSDBG2C.js} +3 -3
- package/build/{chunk-R5QQXCOY.js → chunk-WHTEK23Z.js} +3 -3
- package/build/{chunk-R5QQXCOY.js.map → chunk-WHTEK23Z.js.map} +1 -1
- package/build/{chunk-JMUBTRYQ.js → chunk-XFUTMCAZ.js} +8 -8
- package/build/{chunk-26B5E4UO.js → chunk-XNCMJVRR.js} +2 -2
- package/build/{chunk-XKEFEPF6.js → chunk-XWBYECTV.js} +2 -2
- package/build/chunk-YLWTNITT.js +265 -0
- package/build/chunk-YLWTNITT.js.map +1 -0
- package/build/{chunk-XEKM4VLO.js → chunk-YYIQJYOB.js} +3 -3
- package/build/{chunk-PETG4TB5.js → chunk-ZCDEIFN6.js} +4 -4
- package/build/{chunk-6GSUU65D.js → chunk-ZT5B42I6.js} +2 -2
- package/build/{dev-KS2OTEXB.js → dev-OHJZWTJ3.js} +26 -24
- package/build/{dev-KS2OTEXB.js.map → dev-OHJZWTJ3.js.map} +1 -1
- package/build/{env-pull-DS57QSQI.js → env-pull-4FGXVGD4.js} +13 -13
- package/build/{execa-4CVWA4D5.js → execa-MR2E3266.js} +3 -2
- package/build/index.js +23 -23
- package/build/{install-XHQJGNSY.js → install-W3UPQLJF.js} +17 -16
- package/build/{install-XHQJGNSY.js.map → install-W3UPQLJF.js.map} +1 -1
- package/build/{preview-CTFYUQYT.js → preview-J2VHIOW6.js} +19 -18
- package/build/{preview-CTFYUQYT.js.map → preview-J2VHIOW6.js.map} +1 -1
- package/build/{publish-UYXDXAJ2.js → publish-MZFIZUAS.js} +21 -17
- package/build/{publish-UYXDXAJ2.js.map → publish-MZFIZUAS.js.map} +1 -1
- package/build/{render-command-ZYQ762CC.js → render-command-4PNWKKJS.js} +10 -10
- package/build/{render-command-LZAIPJQS.js → render-command-5FD4ZDM6.js} +11 -11
- package/build/{render-command-GC5M477M.js → render-command-SPWPJIS5.js} +10 -10
- package/build/{render-command-5VDNAXTP.js → render-command-TKUCFULY.js} +10 -10
- package/build/{render-command-LZLXAPTJ.js → render-command-VF63TJ6P.js} +11 -11
- package/build/{run-command-LY3OSHGO.js → run-command-JNTKZGIY.js} +6 -6
- package/build/{src-ATQPFIAX.js → src-2J6LGO3L.js} +3 -3
- package/build/{src-NXE7P7H4.js → src-4VOUM44Q.js} +16 -16
- package/build/{src-KS2HXFOE.js → src-7QFM3YRG.js} +5 -5
- package/build/{src-6WPDBAIM.js → src-IQVO6HFK.js} +29 -29
- package/build/{src-3KZZZJ3H.js → src-KJJPDMUK.js} +13 -13
- package/build/{src-GA5OFATI.js → src-RU2QCCEK.js} +5 -4
- package/build/{src-6UQ5GS34.js → src-YUFFOHXE.js} +5 -5
- package/build/{src-BDYMKDQI.js → src-ZYQEMBH5.js} +3 -2
- package/build/{sync-types-B47N5WP2.js → sync-types-KJRJG6D2.js} +11 -10
- package/build/{uninstall-2UZH5ABJ.js → uninstall-5T62IZPL.js} +17 -16
- package/build/{uninstall-2UZH5ABJ.js.map → uninstall-5T62IZPL.js.map} +1 -1
- package/package.json +2 -2
- package/templates/astro/custom-element/dependencies.json +13 -0
- package/templates/astro/custom-element/files/element.module.css.ejs +35 -0
- package/templates/astro/custom-element/files/element.tsx.ejs +39 -0
- package/templates/astro/custom-element/files/extension.ts.ejs +28 -0
- package/templates/astro/custom-element/files/panel.tsx.ejs +57 -0
- package/templates/astro/dashboard-menu-plugin/files/extension.ts.ejs +20 -0
- package/templates/astro/dashboard-modal/files/extension.ts.ejs +13 -0
- package/templates/astro/dashboard-modal/files/modal.config.ts.ejs +8 -0
- package/templates/astro/dashboard-modal/files/modal.tsx.ejs +3 -3
- package/templates/astro/dashboard-page/files/extension.ts.ejs +11 -0
- package/templates/astro/dashboard-page/files/page.tsx.ejs +4 -4
- package/templates/astro/dashboard-plugin/files/extensions.ts.ejs +11 -0
- package/templates/astro/dashboard-plugin/files/widget.tsx.ejs +1 -1
- package/templates/astro/embedded-script/files/embedded.html.ejs +5 -0
- package/templates/astro/embedded-script/files/extension.ts.ejs +12 -0
- package/templates/astro/embedded-script/files/logger.ts +1 -0
- package/templates/astro/event/files/event.ts.ejs +2 -2
- package/templates/astro/event/files/extension.ts.ejs +9 -0
- package/templates/astro/service-plugin/ecom-additional-fees/files/extension.ts.ejs +10 -0
- package/templates/astro/service-plugin/ecom-additional-fees/files/plugin.ts.ejs +1 -1
- package/templates/astro/service-plugin/ecom-discounts-trigger/files/extension.ts.ejs +10 -0
- package/templates/astro/service-plugin/ecom-discounts-trigger/files/plugin.ts.ejs +1 -1
- package/templates/astro/service-plugin/ecom-payment-settings/files/extension.ts.ejs +11 -0
- package/templates/astro/service-plugin/ecom-payment-settings/files/plugin.ts.ejs +1 -1
- package/templates/astro/service-plugin/ecom-shipping-rates/files/extension.ts.ejs +12 -0
- package/templates/astro/service-plugin/ecom-shipping-rates/files/plugin.ts.ejs +1 -1
- package/templates/astro/service-plugin/ecom-validations/files/extension.ts.ejs +11 -0
- package/templates/astro/service-plugin/ecom-validations/files/plugin.ts.ejs +1 -1
- package/templates/astro/service-plugin/gift-cards-provider/files/extension.ts.ejs +10 -0
- package/templates/astro/service-plugin/gift-cards-provider/files/plugin.ts.ejs +1 -1
- package/build/GenerateCommand-WI7ILK6G.js +0 -10452
- package/build/GenerateCommand-WI7ILK6G.js.map +0 -1
- package/build/ReleaseCommand-TP4LUVYC.js.map +0 -1
- package/build/chunk-3DWQFSNW.js.map +0 -1
- package/build/chunk-HZRGNT6A.js.map +0 -1
- package/build/chunk-MB2DJ4WP.js.map +0 -1
- package/build/chunk-MT4UEZWE.js.map +0 -1
- package/build/chunk-POJ57ZT2.js.map +0 -1
- package/build/chunk-RWTQFIPN.js.map +0 -1
- package/build/chunk-XBR2M7HM.js +0 -33
- package/build/chunk-XBR2M7HM.js.map +0 -1
- package/templates/astro/dashboard-menu-plugin/files/extension.json.ejs +0 -4
- package/templates/astro/dashboard-modal/files/extension.json.ejs +0 -4
- package/templates/astro/dashboard-page/files/extension.json.ejs +0 -4
- package/templates/astro/dashboard-plugin/files/extensions.json.ejs +0 -4
- package/templates/astro/event/files/extension.json.ejs +0 -4
- package/templates/astro/service-plugin/ecom-additional-fees/files/extension.json.ejs +0 -4
- package/templates/astro/service-plugin/ecom-discounts-trigger/files/extension.json.ejs +0 -4
- package/templates/astro/service-plugin/ecom-payment-settings/files/extension.json.ejs +0 -4
- package/templates/astro/service-plugin/ecom-shipping-rates/files/extension.json.ejs +0 -4
- package/templates/astro/service-plugin/ecom-validations/files/extension.json.ejs +0 -4
- package/templates/astro/service-plugin/gift-cards-provider/files/extension.json.ejs +0 -4
- /package/build/{EnvPullCommand-FSET3QAR.js.map → EnvPullCommand-YIMMKCWN.js.map} +0 -0
- /package/build/{EnvRemoveCommand-FT5NPEKI.js.map → EnvRemoveCommand-ZCXNUXNH.js.map} +0 -0
- /package/build/{EnvSetCommand-7LPLV7GL.js.map → EnvSetCommand-RHEKCVUN.js.map} +0 -0
- /package/build/{LoginCommand-VKQBW5EI.js.map → LoginCommand-5MF5W7AI.js.map} +0 -0
- /package/build/{LogoutCommand-NKY5NWUQ.js.map → LogoutCommand-M6RIRJSL.js.map} +0 -0
- /package/build/{PreviewCommand-X7P2AHBY.js.map → PreviewCommand-GUJ76CAT.js.map} +0 -0
- /package/build/{PreviewCommand-W22KLFOH.js.map → PreviewCommand-U3WITMSP.js.map} +0 -0
- /package/build/{PublishCommand-3MDL6QC4.js.map → PublishCommand-PSVM5BRB.js.map} +0 -0
- /package/build/{WhoamiCommand-H4GCFFMW.js.map → WhoamiCommand-LO267Q7N.js.map} +0 -0
- /package/build/{chunk-BEKFXS6A.js.map → chunk-2JV5CPZB.js.map} +0 -0
- /package/build/{chunk-KUETLEOF.js.map → chunk-32I3PHOS.js.map} +0 -0
- /package/build/{chunk-KJC2IRIO.js.map → chunk-44ID64NH.js.map} +0 -0
- /package/build/{chunk-EYBSRZFX.js.map → chunk-4ANLJVRU.js.map} +0 -0
- /package/build/{chunk-3RVONWI7.js.map → chunk-4WVAKXRQ.js.map} +0 -0
- /package/build/{chunk-TL7UQCUX.js.map → chunk-5IEF6RZY.js.map} +0 -0
- /package/build/{chunk-5Z6Q4IJX.js.map → chunk-5WGVTKXX.js.map} +0 -0
- /package/build/{chunk-4QGQ7FU5.js.map → chunk-6CAKDLZN.js.map} +0 -0
- /package/build/{chunk-YSTEUOSI.js.map → chunk-6NYCJJLW.js.map} +0 -0
- /package/build/{chunk-66VZCA5Y.js.map → chunk-AU6SEMLX.js.map} +0 -0
- /package/build/{chunk-BAXAZXTT.js.map → chunk-BXLLE2UC.js.map} +0 -0
- /package/build/{chunk-PH4BOMTV.js.map → chunk-DBD3AN3F.js.map} +0 -0
- /package/build/{chunk-DTJ6JGVE.js.map → chunk-EHGVJH6O.js.map} +0 -0
- /package/build/{chunk-QYUVUKJH.js.map → chunk-EVROMEWT.js.map} +0 -0
- /package/build/{chunk-N2YYKEKV.js.map → chunk-F3NTGDLO.js.map} +0 -0
- /package/build/{chunk-KRZQM5IB.js.map → chunk-G2YYCYGR.js.map} +0 -0
- /package/build/{chunk-KFP5IROQ.js.map → chunk-GWFVDY6V.js.map} +0 -0
- /package/build/{chunk-MWPS57J5.js.map → chunk-HST5K3MT.js.map} +0 -0
- /package/build/{chunk-5OQDBYCC.js.map → chunk-JS5GX6CV.js.map} +0 -0
- /package/build/{chunk-DQULLGU7.js.map → chunk-KNO67D7N.js.map} +0 -0
- /package/build/{chunk-34MTX547.js.map → chunk-NAYRT7D7.js.map} +0 -0
- /package/build/{chunk-ZBGLF76X.js.map → chunk-OAXVMHAX.js.map} +0 -0
- /package/build/{chunk-763CNX5X.js.map → chunk-PJCXC7XI.js.map} +0 -0
- /package/build/{chunk-VLGQTAVU.js.map → chunk-QWD63IH3.js.map} +0 -0
- /package/build/{chunk-OWJ2DBNB.js.map → chunk-RFIG2TYJ.js.map} +0 -0
- /package/build/{chunk-PBUFZ6OU.js.map → chunk-RKR6GAIH.js.map} +0 -0
- /package/build/{chunk-QKIGR4DS.js.map → chunk-RQ3P4TXY.js.map} +0 -0
- /package/build/{chunk-MA6ZMAQU.js.map → chunk-S2NJ72RN.js.map} +0 -0
- /package/build/{chunk-6XQIBCEG.js.map → chunk-SFVKP2JY.js.map} +0 -0
- /package/build/{chunk-PDB7C6G4.js.map → chunk-SLXRJIGZ.js.map} +0 -0
- /package/build/{chunk-HGBT2YDL.js.map → chunk-SSOJHG2R.js.map} +0 -0
- /package/build/{chunk-OZKGZAOZ.js.map → chunk-THTKKN7Y.js.map} +0 -0
- /package/build/{chunk-LYSRG3GF.js.map → chunk-VJSDBG2C.js.map} +0 -0
- /package/build/{chunk-JMUBTRYQ.js.map → chunk-XFUTMCAZ.js.map} +0 -0
- /package/build/{chunk-26B5E4UO.js.map → chunk-XNCMJVRR.js.map} +0 -0
- /package/build/{chunk-XKEFEPF6.js.map → chunk-XWBYECTV.js.map} +0 -0
- /package/build/{chunk-XEKM4VLO.js.map → chunk-YYIQJYOB.js.map} +0 -0
- /package/build/{chunk-PETG4TB5.js.map → chunk-ZCDEIFN6.js.map} +0 -0
- /package/build/{chunk-6GSUU65D.js.map → chunk-ZT5B42I6.js.map} +0 -0
- /package/build/{env-pull-DS57QSQI.js.map → env-pull-4FGXVGD4.js.map} +0 -0
- /package/build/{execa-4CVWA4D5.js.map → execa-MR2E3266.js.map} +0 -0
- /package/build/{render-command-ZYQ762CC.js.map → render-command-4PNWKKJS.js.map} +0 -0
- /package/build/{render-command-LZAIPJQS.js.map → render-command-5FD4ZDM6.js.map} +0 -0
- /package/build/{render-command-GC5M477M.js.map → render-command-SPWPJIS5.js.map} +0 -0
- /package/build/{render-command-5VDNAXTP.js.map → render-command-TKUCFULY.js.map} +0 -0
- /package/build/{render-command-LZLXAPTJ.js.map → render-command-VF63TJ6P.js.map} +0 -0
- /package/build/{run-command-LY3OSHGO.js.map → run-command-JNTKZGIY.js.map} +0 -0
- /package/build/{src-ATQPFIAX.js.map → src-2J6LGO3L.js.map} +0 -0
- /package/build/{src-NXE7P7H4.js.map → src-4VOUM44Q.js.map} +0 -0
- /package/build/{src-BDYMKDQI.js.map → src-7QFM3YRG.js.map} +0 -0
- /package/build/{src-6WPDBAIM.js.map → src-IQVO6HFK.js.map} +0 -0
- /package/build/{src-3KZZZJ3H.js.map → src-KJJPDMUK.js.map} +0 -0
- /package/build/{src-GA5OFATI.js.map → src-RU2QCCEK.js.map} +0 -0
- /package/build/{src-6UQ5GS34.js.map → src-YUFFOHXE.js.map} +0 -0
- /package/build/{src-KS2HXFOE.js.map → src-ZYQEMBH5.js.map} +0 -0
- /package/build/{sync-types-B47N5WP2.js.map → sync-types-KJRJG6D2.js.map} +0 -0
|
@@ -2,60 +2,62 @@ import { createRequire as _createRequire } from 'node:module';
|
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
loadProjectGridAppContent
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-AU6SEMLX.js";
|
|
6
6
|
import {
|
|
7
7
|
saveProjectModel
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-SFVKP2JY.js";
|
|
9
9
|
import {
|
|
10
10
|
syncTypesWithAuth
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-SSOJHG2R.js";
|
|
12
12
|
import {
|
|
13
13
|
createLogger
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-NAYRT7D7.js";
|
|
15
15
|
import {
|
|
16
16
|
httpRequest
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-6CAKDLZN.js";
|
|
18
18
|
import {
|
|
19
19
|
createI18nT
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-GWFVDY6V.js";
|
|
21
21
|
import "./chunk-HEANTKSX.js";
|
|
22
22
|
import "./chunk-6EJNAOBP.js";
|
|
23
23
|
import {
|
|
24
24
|
authenticate
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-S2NJ72RN.js";
|
|
26
26
|
import {
|
|
27
27
|
createVeloCLIServer,
|
|
28
28
|
debounceQueue,
|
|
29
29
|
require_chokidar
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-5IEF6RZY.js";
|
|
31
31
|
import {
|
|
32
32
|
require_normalize_path
|
|
33
33
|
} from "./chunk-V23RKBE2.js";
|
|
34
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-NXWYNKVW.js";
|
|
35
|
+
import "./chunk-IGHRRWV4.js";
|
|
35
36
|
import {
|
|
36
37
|
updateFiles
|
|
37
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-G2YYCYGR.js";
|
|
38
39
|
import {
|
|
39
40
|
AppType,
|
|
40
41
|
GridAppLayout as GridAppLayout2,
|
|
41
42
|
createApp,
|
|
42
43
|
pagesDiff
|
|
43
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-XNCMJVRR.js";
|
|
44
45
|
import {
|
|
45
46
|
GridAppLayout
|
|
46
47
|
} from "./chunk-MVBGFP6D.js";
|
|
47
48
|
import {
|
|
48
49
|
TunnelClient,
|
|
49
50
|
launchTunnel
|
|
50
|
-
} from "./chunk-
|
|
51
|
-
import "./chunk-
|
|
52
|
-
import "./chunk-
|
|
53
|
-
import "./chunk-
|
|
51
|
+
} from "./chunk-SLXRJIGZ.js";
|
|
52
|
+
import "./chunk-SC2W3WT3.js";
|
|
53
|
+
import "./chunk-IRKCE3VI.js";
|
|
54
|
+
import "./chunk-2R5BII2J.js";
|
|
54
55
|
import "./chunk-W54PG6O5.js";
|
|
55
|
-
import "./chunk-
|
|
56
|
+
import "./chunk-YLWTNITT.js";
|
|
57
|
+
import "./chunk-4WVAKXRQ.js";
|
|
56
58
|
import "./chunk-HWVLWVTF.js";
|
|
57
|
-
import "./chunk-
|
|
58
|
-
import "./chunk-
|
|
59
|
+
import "./chunk-ZT5B42I6.js";
|
|
60
|
+
import "./chunk-EVROMEWT.js";
|
|
59
61
|
import {
|
|
60
62
|
ErrorViewer,
|
|
61
63
|
createHttpClient,
|
|
@@ -64,7 +66,7 @@ import {
|
|
|
64
66
|
openBrowser,
|
|
65
67
|
pLimit,
|
|
66
68
|
writeCrashReport
|
|
67
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-KNO67D7N.js";
|
|
68
70
|
import {
|
|
69
71
|
wixCliCliMessageDisplayed,
|
|
70
72
|
wixCliCodeHasBeenChanged,
|
|
@@ -72,11 +74,11 @@ import {
|
|
|
72
74
|
wixCliReadyForReloadAfterCodeChange,
|
|
73
75
|
wixCliUserResponseToCliMessage
|
|
74
76
|
} from "./chunk-WMCHVSMU.js";
|
|
75
|
-
import "./chunk-
|
|
77
|
+
import "./chunk-32I3PHOS.js";
|
|
76
78
|
import "./chunk-KJ37XZQA.js";
|
|
77
79
|
import {
|
|
78
80
|
renderSync
|
|
79
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-ET7C64VQ.js";
|
|
80
82
|
import {
|
|
81
83
|
require_react
|
|
82
84
|
} from "./chunk-NRAQAV6T.js";
|
|
@@ -88,7 +90,7 @@ import {
|
|
|
88
90
|
getPagesFolder,
|
|
89
91
|
getSourceFolder,
|
|
90
92
|
getTypesDir
|
|
91
|
-
} from "./chunk-
|
|
93
|
+
} from "./chunk-XWBYECTV.js";
|
|
92
94
|
import "./chunk-II7O6SCF.js";
|
|
93
95
|
import {
|
|
94
96
|
getTestOverrides
|
|
@@ -96,7 +98,7 @@ import {
|
|
|
96
98
|
import {
|
|
97
99
|
outputFile,
|
|
98
100
|
pathExists
|
|
99
|
-
} from "./chunk-
|
|
101
|
+
} from "./chunk-PJCXC7XI.js";
|
|
100
102
|
import "./chunk-F43XHKVL.js";
|
|
101
103
|
import {
|
|
102
104
|
CliError,
|
|
@@ -821,4 +823,4 @@ async function dev(initialModel, { biLogger, errorReporter }, {
|
|
|
821
823
|
export {
|
|
822
824
|
dev
|
|
823
825
|
};
|
|
824
|
-
//# sourceMappingURL=dev-
|
|
826
|
+
//# sourceMappingURL=dev-OHJZWTJ3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../cli-site-old/src/dev/index.ts","../../cli-site-old/src/dev/dev.ts","../../../node_modules/exit-hook/index.js","../../cli-site-old/src/environment.ts","../../cli-site-old/src/gridapp/createGridApp.ts","../../cli-site-old/src/gridapp/error-handlers/maxFileSizeErrorHandler.ts","../../cli-site-old/src/gridapp/startGridAppUpdater.ts","../../cli-site-old/src/key-watcher.ts","../../cli-site-old/src/bi.ts","../../cli-site-old/src/dev/sync-all-to-revision.ts","../../cli-site-old/src/sources/index.ts","../../cli-site-old/src/sources/pages-diff.ts"],"sourcesContent":["export { dev } from './dev.js';\n","import { createVeloCLIServer } from '@wix/editor-velo-cli-comm-api';\nimport { openBrowser } from '@wix/user-browser';\nimport { asyncExitHook } from 'exit-hook';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { ErrorViewer } from '@wix/cli-error-reporting';\nimport { writeCrashReport } from '@wix/cli-debug-log';\nimport { getDebugLogFilePath } from '@wix/cli-core-definitions';\nimport type { CommandServices } from '@wix/cli-command-contract';\nimport { createElement } from 'react';\nimport { renderSync } from '@wix/cli-ui-kit';\nimport { createHttpClient, isHttpError } from '@wix/cli-http-client';\nimport type { Connection } from '@wix/cli-tunnel';\nimport { TunnelClient, launchTunnel } from '@wix/cli-tunnel';\nimport { getDevEditorBaseUrl } from '../environment.js';\nimport { createMutableGridApp } from '../gridapp/createGridApp.js';\nimport { startGridAppUpdater } from '../gridapp/startGridAppUpdater.js';\nimport { KeyWatcher } from '../key-watcher.js';\nimport type { ProjectModel } from '../model.js';\nimport { saveProjectModel } from '../model.js';\nimport { createLogger } from '../logger.js';\nimport { sitesBiEvents } from '../bi.js';\nimport { createI18nT } from '../i18n.js';\nimport { authenticate } from '../authentication.js';\nimport { syncAllToRevision } from './sync-all-to-revision.js';\n\nexport async function dev(\n initialModel: ProjectModel,\n { biLogger, errorReporter }: CommandServices,\n {\n https = false,\n tunnel: useTunnel = false,\n }: {\n https?: boolean;\n tunnel?: boolean;\n }\n) {\n let model = initialModel;\n const authState = await authenticate({\n metaSiteId: model.metaSiteId,\n biLogger,\n errorReporter,\n });\n\n const t = createI18nT();\n const logger = createLogger({ t });\n const biEvents = sitesBiEvents(biLogger);\n\n const server = createVeloCLIServer({ https });\n\n let gridAppId: string;\n try {\n gridAppId = await createMutableGridApp(model.projectFolder, {\n authState,\n });\n } catch (error) {\n const message = isHttpError(error)\n ? error.response?.data?.message\n : undefined;\n\n throw new CliError({\n code: CliErrorCode.FailedToCreateGridApp({\n error: message,\n }),\n cause: error,\n });\n }\n\n await syncAllToRevision(model, { authState }, logger);\n\n const { close } = startGridAppUpdater(\n model,\n gridAppId,\n {\n authState,\n onError(error) {\n logger.logNewLine();\n errorReporter.reportError(error);\n writeCrashReport(\n getDebugLogFilePath(model.projectFolder),\n error,\n new Date()\n );\n renderSync(createElement(ErrorViewer, { error }));\n },\n },\n logger,\n biEvents\n );\n\n const onServerDisconnected = (devEditorUrl: string) => {\n const message = logger.logNoOpenedTab(devEditorUrl);\n biEvents.messageDisplayed({ model, message });\n };\n\n const onSyncDevEditorChanges = async (revision: string) => {\n if (revision !== model.revision) {\n const newModel = { ...model, revision };\n\n await saveProjectModel(newModel);\n const message = logger.logUpdatedLocalCodeToRevision({\n revision: newModel.revision,\n });\n biEvents.messageDisplayed({ message, model });\n\n await syncAllToRevision(newModel, { authState }, logger);\n\n model = newModel;\n }\n };\n\n const openLocalEditor = async (serverPort: number) => {\n biEvents.userResponse({\n action: 'Browser opened',\n message: 'Opening the Local Editor',\n model,\n });\n\n const devEditorUrl = getDevEditorUrl(serverPort);\n\n if (https) {\n await openBrowser(new URL(`https://localhost:${serverPort}`).href);\n } else {\n await openBrowser(devEditorUrl);\n }\n };\n\n let keyWatcher: KeyWatcher | undefined;\n let tunnel: Connection | undefined;\n\n const getDevEditorUrl = (serverPort: number) => {\n const url = new URL(model.metaSiteId, getDevEditorBaseUrl());\n\n if (tunnel) {\n url.searchParams.append('localEditorDestination', tunnel.domain);\n } else {\n url.searchParams.append('localPort', serverPort.toString());\n }\n\n url.searchParams.append('secureSocket', https.toString());\n\n return url.toString();\n };\n\n try {\n const { port: serverPort } = await server.serve(gridAppId, {\n getDevEditorUrl,\n });\n\n if (useTunnel) {\n const httpClient = createHttpClient({\n type: 'backoffice',\n getAppToken: authState.getAccessToken,\n });\n const tunnelClient = new TunnelClient(httpClient);\n tunnel = await launchTunnel(serverPort, tunnelClient);\n }\n\n const devEditorUrl = getDevEditorUrl(serverPort);\n\n server.on('disconnected', () => onServerDisconnected(devEditorUrl));\n server.on('syncDevEditorChanges', onSyncDevEditorChanges);\n\n keyWatcher = new KeyWatcher();\n\n logger.logOpeningBrowser(https);\n\n await openLocalEditor(serverPort);\n const { ctrlCPromise } = keyWatcher.watch();\n keyWatcher.on('e', () => openLocalEditor(serverPort));\n\n asyncExitHook(\n async () => {\n await server.close();\n tunnel?.close();\n },\n { wait: 500 }\n );\n await ctrlCPromise;\n } finally {\n keyWatcher?.unwatch();\n await Promise.all([server.close(), close(), tunnel?.close()]);\n }\n}\n","import process from 'node:process';\n\nconst asyncCallbacks = new Set();\nconst callbacks = new Set();\n\nlet isCalled = false;\nlet isRegistered = false;\n\nasync function exit(shouldManuallyExit, isSynchronous, signal) {\n\tif (isCalled) {\n\t\treturn;\n\t}\n\n\tisCalled = true;\n\n\tif (asyncCallbacks.size > 0 && isSynchronous) {\n\t\tconsole.error([\n\t\t\t'SYNCHRONOUS TERMINATION NOTICE:',\n\t\t\t'When explicitly exiting the process via process.exit or via a parent process,',\n\t\t\t'asynchronous tasks in your exitHooks will not run. Either remove these tasks,',\n\t\t\t'use gracefulExit() instead of process.exit(), or ensure your parent process',\n\t\t\t'sends a SIGINT to the process running this code.',\n\t\t].join(' '));\n\t}\n\n\tconst exitCode = 128 + signal;\n\n\tconst done = (force = false) => {\n\t\tif (force === true || shouldManuallyExit === true) {\n\t\t\tprocess.exit(exitCode); // eslint-disable-line unicorn/no-process-exit\n\t\t}\n\t};\n\n\tfor (const callback of callbacks) {\n\t\tcallback(exitCode);\n\t}\n\n\tif (isSynchronous) {\n\t\tdone();\n\t\treturn;\n\t}\n\n\tconst promises = [];\n\tlet forceAfter = 0;\n\tfor (const [callback, wait] of asyncCallbacks) {\n\t\tforceAfter = Math.max(forceAfter, wait);\n\t\tpromises.push(Promise.resolve(callback(exitCode)));\n\t}\n\n\t// Force exit if we exceeded our wait value\n\tconst asyncTimer = setTimeout(() => {\n\t\tdone(true);\n\t}, forceAfter);\n\n\tawait Promise.all(promises);\n\tclearTimeout(asyncTimer);\n\tdone();\n}\n\nfunction addHook(options) {\n\tconst {onExit, wait, isSynchronous} = options;\n\tconst asyncCallbackConfig = [onExit, wait];\n\n\tif (isSynchronous) {\n\t\tcallbacks.add(onExit);\n\t} else {\n\t\tasyncCallbacks.add(asyncCallbackConfig);\n\t}\n\n\tif (!isRegistered) {\n\t\tisRegistered = true;\n\n\t\t// Exit cases that support asynchronous handling\n\t\tprocess.once('beforeExit', exit.bind(undefined, true, false, -128));\n\t\tprocess.once('SIGINT', exit.bind(undefined, true, false, 2));\n\t\tprocess.once('SIGTERM', exit.bind(undefined, true, false, 15));\n\n\t\t// Explicit exit events. Calling will force an immediate exit and run all\n\t\t// synchronous hooks. Explicit exits must not extend the node process\n\t\t// artificially. Will log errors if asynchronous calls exist.\n\t\tprocess.once('exit', exit.bind(undefined, false, true, 0));\n\n\t\t// PM2 Cluster shutdown message. Caught to support async handlers with pm2,\n\t\t// needed because explicitly calling process.exit() doesn't trigger the\n\t\t// beforeExit event, and the exit event cannot support async handlers,\n\t\t// since the event loop is never called after it.\n\t\tprocess.on('message', message => {\n\t\t\tif (message === 'shutdown') {\n\t\t\t\texit(true, true, -128);\n\t\t\t}\n\t\t});\n\t}\n\n\treturn () => {\n\t\tif (isSynchronous) {\n\t\t\tcallbacks.delete(onExit);\n\t\t} else {\n\t\t\tasyncCallbacks.delete(asyncCallbackConfig);\n\t\t}\n\t};\n}\n\nexport default function exitHook(onExit) {\n\tif (typeof onExit !== 'function') {\n\t\tthrow new TypeError('onExit must be a function');\n\t}\n\n\treturn addHook({\n\t\tonExit,\n\t\tisSynchronous: true,\n\t});\n}\n\nexport function asyncExitHook(onExit, options = {}) {\n\tif (typeof onExit !== 'function') {\n\t\tthrow new TypeError('onExit must be a function');\n\t}\n\n\tif (!(typeof options.wait === 'number' && options.wait > 0)) {\n\t\tthrow new TypeError('wait must be set to a positive numeric value');\n\t}\n\n\treturn addHook({\n\t\tonExit,\n\t\twait: options.wait,\n\t\tisSynchronous: false,\n\t});\n}\n\nexport function gracefulExit(signal = 0) {\n\texit(true, false, -128 + signal);\n}\n","import { getTestOverrides } from '@wix/cli-test-overrides';\n\nconst DEV_EDITOR_BASE_URL = 'https://wix.com/editor/';\n\nexport function getDevEditorBaseUrl(): string {\n return getTestOverrides().devEditorBaseUrl ?? DEV_EDITOR_BASE_URL;\n}\n","import type { AuthState } from '@wix/cli-auth';\nimport { createApp } from '@wix/ambassador-velo-apps-v1-app/http';\nimport type {\n App,\n CreateAppRequest,\n} from '@wix/ambassador-velo-apps-v1-app/types';\nimport { AppType } from '@wix/ambassador-velo-apps-v1-app/types';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { httpRequest } from '../http-request.js';\nimport { catchFilesMaxSizeError } from './error-handlers/maxFileSizeErrorHandler.js';\nimport { loadProjectGridAppContent } from './loadProjectGridAppContent.js';\n\nasync function createAppWithParams(\n params: CreateAppRequest,\n opts: {\n authState: AuthState;\n }\n): Promise<string> {\n let app: App | undefined;\n\n try {\n const response = await httpRequest(\n { type: 'code', authState: opts.authState },\n createApp(params)\n );\n app = response.data.app;\n } catch (err) {\n catchFilesMaxSizeError(err, params.content?.files);\n\n throw err;\n }\n\n if (!app?.id) {\n throw new CliError({\n code: CliErrorCode.InvalidCreateAppResponse(),\n info: { app },\n cause: null,\n });\n }\n\n return app.id;\n}\n\nexport async function createMutableGridApp(\n projectFolder: string,\n opts: {\n authState: AuthState;\n }\n) {\n const content = await loadProjectGridAppContent(projectFolder);\n\n return createAppWithParams(\n {\n app: {\n mutable: true,\n appType: AppType.VELO_ISOLATED,\n },\n content,\n },\n opts\n );\n}\n","import type { File } from '@wix/ambassador-velo-apps-v1-app/types';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { extractHttpError } from '@wix/cli-http-client';\n\nexport function catchFilesMaxSizeError(err: unknown, files: File[] = []) {\n if (!files.length) {\n return;\n }\n\n const httpError = extractHttpError(err);\n\n if (!httpError) {\n return;\n }\n\n const filesMaxSizeRawViolations =\n httpError.response?.data?.details?.validationError?.fieldViolations?.filter(\n (v: { violatedRule: string }) => v.violatedRule === 'MAX_LENGTH'\n );\n\n if (!filesMaxSizeRawViolations?.length) {\n return;\n }\n\n const maxSizeViolationsData = tryExtractMaxSizeViolationMetadata(\n filesMaxSizeRawViolations\n );\n\n throw new CliError({\n code: CliErrorCode.GridAppFilesMaxLengthExceeded({\n maxSizeViolationsData,\n filePaths: files.map((f) => f.path ?? '[unknown file path]'),\n }),\n cause: httpError,\n });\n}\n\nfunction tryExtractMaxSizeViolationMetadata(\n filesMaxSizeViolations: Array<{ field: string; description: string }>\n) {\n const fileIndexRegex = /\\[(?<fileIndex>\\d+)\\].content/;\n const expectedAndReceivedSizeRegex =\n /has size (?<receivedSize>\\d+), expected (?<expectedSize>\\d+) or less/;\n const violationsData: {\n expectedSize?: number;\n files: Array<{ fileIndex: number; receivedSize: number }>;\n } = {\n expectedSize: undefined,\n files: [],\n };\n\n for (const filesMaxSizeViolation of filesMaxSizeViolations) {\n const fileIndexMatchResult = fileIndexRegex.exec(\n filesMaxSizeViolation.field\n );\n const expectedAndReceivedSizeMatchResult =\n expectedAndReceivedSizeRegex.exec(filesMaxSizeViolation.description);\n\n if (\n !(\n fileIndexMatchResult?.groups?.fileIndex &&\n expectedAndReceivedSizeMatchResult?.groups?.receivedSize &&\n expectedAndReceivedSizeMatchResult.groups.expectedSize\n )\n ) {\n return null;\n }\n\n violationsData.expectedSize ??= Math.trunc(\n parseInt(expectedAndReceivedSizeMatchResult.groups.expectedSize, 10) /\n 1000\n );\n\n violationsData.files.push({\n receivedSize: Math.trunc(\n parseInt(expectedAndReceivedSizeMatchResult.groups.receivedSize, 10) /\n 1000\n ),\n fileIndex: parseInt(fileIndexMatchResult.groups.fileIndex, 10),\n });\n }\n\n return violationsData;\n}\n","import { readFile } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport type { AuthState } from '@wix/cli-auth';\nimport { updateFiles } from '@wix/ambassador-velo-ide-v1-gridapp-filestructure/http';\nimport { GridAppLayout } from '@wix/ambassador-velo-ide-v1-gridapp-filestructure/types';\nimport { getSourceFolder } from '@wix/velo-github-layout-definitions';\nimport { watch } from 'chokidar';\nimport { debounceQueue } from '@wix/debounce-queue';\nimport pLimit from 'p-limit';\nimport normalizePath from 'normalize-path';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { httpRequest } from '../http-request.js';\nimport type { ProjectModel } from '../model.js';\nimport type { Logger } from '../logger.js';\nimport type { SitesBiEvents } from '../bi.js';\nimport { catchFilesMaxSizeError } from './error-handlers/maxFileSizeErrorHandler.js';\n\ntype ChokidarEventParams = [\n 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir',\n string,\n];\n\nconst WATCH_FS_EVENTS_DEBOUNCE_TIME = 1000;\n\nconst getSectionName = (path: string) => {\n if (path.startsWith('src/pages')) {\n return 'public';\n }\n if (path.startsWith('src/backend')) {\n return 'backend';\n }\n return 'other';\n};\n\nexport function startGridAppUpdater(\n model: ProjectModel,\n gridAppId: string,\n opts: {\n onError: (e: CliError) => void;\n authState: AuthState;\n },\n logger: Logger,\n biEvents: SitesBiEvents\n) {\n const { projectFolder } = model;\n const limit = pLimit(1);\n\n const watcher = watch(getSourceFolder(projectFolder), {\n disableGlobbing: true,\n cwd: projectFolder,\n ignoreInitial: true,\n })\n .on(\n 'all',\n debounceQueue(async (events: ChokidarEventParams[]) => {\n await limit(async () => {\n const logSynced = logger.logSyncingLocalCode();\n const { added, changed, removed } =\n normalizeChokidarBatchedEvents(events);\n const addedArray = Array.from(added.values()).map((path) => ({\n path,\n type: 'create',\n }));\n const changedArray = Array.from(changed.values()).map((path) => ({\n path,\n type: 'update',\n }));\n const removedArray = Array.from(removed.values()).map((path) => ({\n path,\n type: 'delete',\n }));\n\n for (const val of [...addedArray, ...changedArray, ...removedArray]) {\n biEvents.file({\n model,\n action: val.type as 'create' | 'update' | 'delete',\n path: val.path,\n oldPath: '',\n sectionName: getSectionName(val.path),\n });\n if (val.type === 'update') {\n biEvents.codeChanged(model, val.path);\n }\n }\n\n try {\n await writeFiles({\n filesToUpdate: await Promise.all(\n addedArray.concat(changedArray).map(async (val) => ({\n path: normalizePath(val.path),\n content: await readFile(\n join(projectFolder, val.path),\n 'utf8'\n ),\n }))\n ),\n removedArray,\n gridAppId,\n authState: opts.authState,\n });\n\n const message = logSynced.success();\n biEvents.messageDisplayed({ message, model });\n biEvents.readyForReloadAfterCodeChanged(model);\n } catch (e) {\n logSynced.fail();\n const error = new CliError({\n code: CliErrorCode.GridAppFailedToUpdateFiles(),\n cause: e,\n info: {\n added,\n changed,\n removed,\n },\n });\n opts.onError(error);\n }\n });\n }, WATCH_FS_EVENTS_DEBOUNCE_TIME)\n )\n .on('error', (e) => {\n const error = new CliError({\n code: CliErrorCode.FailedToWatchFiles(),\n cause: e,\n });\n\n opts.onError(error);\n });\n\n return { close: () => watcher.close() };\n}\n\nfunction normalizeChokidarBatchedEvents(events: ChokidarEventParams[]) {\n return events.reduce(\n (result, [eventType, filePath]) => {\n switch (eventType) {\n case 'add': {\n result.added.add(filePath);\n break;\n }\n case 'change': {\n result.changed.add(filePath);\n break;\n }\n case 'unlink': {\n result.added.delete(filePath);\n result.changed.delete(filePath);\n result.removed.add(filePath);\n break;\n }\n case 'unlinkDir': {\n const filePathAsDir = filePath.endsWith('/')\n ? filePath\n : `${filePath}/`;\n for (const filePath of result.added) {\n if (filePath.startsWith(filePathAsDir)) {\n result.added.delete(filePath);\n }\n }\n for (const filePath of result.changed) {\n if (filePath.startsWith(filePathAsDir)) {\n result.changed.delete(filePath);\n }\n }\n result.removed.add(filePath);\n break;\n }\n case 'addDir': {\n break;\n }\n }\n return result;\n },\n {\n added: new Set<string>(),\n changed: new Set<string>(),\n removed: new Set<string>(),\n }\n );\n}\n\nasync function writeFiles({\n filesToUpdate,\n removedArray,\n gridAppId,\n authState,\n}: {\n filesToUpdate: Array<{ path: string; content: string }>;\n removedArray: Array<{ path: string; type: string }>;\n gridAppId: string;\n authState: AuthState;\n}) {\n try {\n await httpRequest(\n {\n type: 'code',\n authState,\n },\n updateFiles({\n gridAppId,\n layout: GridAppLayout.GITHUB,\n filesToUpdate,\n ignoreForbiddenPaths: true,\n pathsToDelete: removedArray.map((val) => val.path),\n })\n );\n } catch (err) {\n catchFilesMaxSizeError(err, filesToUpdate);\n throw err;\n }\n}\n","import readline from 'node:readline';\nimport { stdin } from 'node:process';\n\ninterface Key {\n ctrl: boolean;\n name: string;\n sequence: string;\n meta: boolean;\n shift: boolean;\n}\n\ntype Callback = (key: Key) => void;\nexport class KeyWatcher {\n private actions = new Map<string, Callback>();\n\n private watchExitProcess() {\n return new Promise<void>((resolve) => {\n this.on('c', (key) => {\n if (key.ctrl) {\n resolve();\n }\n });\n });\n }\n\n on(key: string, callback: Callback) {\n this.actions.set(key, callback);\n }\n\n watch() {\n const rl = readline.createInterface(stdin);\n\n readline.emitKeypressEvents(stdin, rl);\n\n if (stdin.isTTY) {\n // This is required since in test we don't have a terminal and setRawMode is undefined\n stdin.setRawMode(true);\n stdin.setEncoding('utf8');\n }\n\n stdin.on('keypress', this.handleKeyPress);\n\n return {\n ctrlCPromise: this.watchExitProcess(),\n };\n }\n\n unwatch() {\n if (stdin.isTTY) {\n // This is required since in test we don't have a terminal and setRawMode is undefined\n stdin.setRawMode(false);\n }\n stdin.off('keypress', this.handleKeyPress);\n stdin.pause();\n this.actions.clear();\n }\n\n handleKeyPress = (_: string, key: Key) => {\n this.actions.get(key.name)?.(key);\n };\n}\n","import { randomUUID } from 'node:crypto';\nimport {\n wixCliFileFolderCreatedRenamedDeleted,\n wixCliCliMessageDisplayed,\n wixCliCodeHasBeenChanged,\n wixCliUserResponseToCliMessage,\n wixCliReadyForReloadAfterCodeChange,\n} from '@wix/bi-logger-wix-cli/v2';\nimport type { BiLogger } from '@wix/cli-telemetry';\nimport type { ProjectModel } from './model.js';\n\nexport const sitesBiEvents = (biLogger: BiLogger) => ({\n file: ({\n model,\n action,\n path,\n sectionName,\n oldPath,\n }: {\n model: ProjectModel;\n action: 'create' | 'update' | 'delete';\n path: string;\n sectionName: string;\n oldPath: string;\n }) => {\n void biLogger.report(\n wixCliFileFolderCreatedRenamedDeleted({\n action,\n path,\n sectionName,\n oldPath,\n siteRevision: Number(model.revision),\n })\n );\n },\n codeChanged: (model: ProjectModel, fileName: string) => {\n void biLogger.report(\n wixCliCodeHasBeenChanged({\n fileName,\n siteRevision: Number(model.revision),\n })\n );\n },\n readyForReloadAfterCodeChanged: (model: ProjectModel) => {\n void biLogger.report(\n wixCliReadyForReloadAfterCodeChange({\n siteRevision: Number(model.revision),\n })\n );\n },\n messageDisplayed: ({\n message,\n model,\n }: {\n message: string;\n model: ProjectModel;\n }) => {\n void biLogger.report(\n wixCliCliMessageDisplayed({\n message,\n messageId: randomUUID(),\n siteRevision: Number(model.revision),\n })\n );\n },\n userResponse: ({\n model,\n action,\n message,\n }: {\n model: ProjectModel;\n action: 'Browser opened';\n message: string;\n }) => {\n void biLogger.report(\n wixCliUserResponseToCliMessage({\n action,\n message,\n messageId: randomUUID(),\n siteRevision: Number(model.revision),\n })\n );\n },\n});\n\nexport type SitesBiEvents = ReturnType<typeof sitesBiEvents>;\n","import { rm } from 'node:fs/promises';\nimport type { AuthState } from '@wix/cli-auth';\nimport { writeCrashReport } from '@wix/cli-debug-log';\nimport { getTypesDir } from '@wix/velo-github-layout-definitions';\nimport { getDebugLogFilePath } from '@wix/cli-core-definitions';\nimport type { ProjectModel } from '../model.js';\nimport { syncPages } from '../sources/index.js';\nimport { syncTypesWithAuth } from '../sync-types/index.js';\nimport type { Logger } from '../logger.js';\n\nexport async function syncAllToRevision(\n model: ProjectModel,\n opts: {\n authState: AuthState;\n },\n logger: Logger\n) {\n const logTypesSynced = logger.logSyncingTypesToRevision(model.revision);\n try {\n await syncTypesWithAuth(model, { authState: opts.authState });\n logTypesSynced.success();\n } catch (error) {\n // As a workaround until the types sync can handle large projects, this error is recoverable\n writeCrashReport(\n getDebugLogFilePath(model.projectFolder),\n error,\n new Date()\n );\n logTypesSynced.fail();\n await rm(getTypesDir(model.projectFolder), {\n recursive: true,\n force: true,\n }).catch((e: unknown) => {\n writeCrashReport(getDebugLogFilePath(model.projectFolder), e, new Date());\n logger.logRecoverableFailureToRemoveTypesDir(e);\n });\n }\n\n const logPagesSynced = logger.logSyncingPagesToRevision(model.revision);\n try {\n await syncPages(model, { authState: opts.authState });\n logPagesSynced.success();\n } catch (error) {\n logPagesSynced.fail();\n throw error;\n }\n}\n","import { readdir } from 'node:fs/promises';\nimport { pagesDiff } from '@wix/ambassador-velo-apps-v1-app/http';\nimport type { PagesDiffRequest } from '@wix/ambassador-velo-apps-v1-app/types';\nimport { GridAppLayout } from '@wix/ambassador-velo-apps-v1-app/types';\nimport {\n getPagesFolder,\n getSourceFolder,\n} from '@wix/velo-github-layout-definitions';\nimport type { AuthState } from '@wix/cli-auth';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { pathExists } from '@wix/cli-fs';\nimport { httpRequest } from '../http-request.js';\nimport type { ProjectModel } from '../model.js';\nimport { createPages, deletePages, renamePages } from './pages-diff.js';\n\nexport async function syncPages(\n model: ProjectModel,\n opts: {\n authState: AuthState;\n }\n): Promise<void> {\n const pagesFolder = getPagesFolder(model.projectFolder);\n\n if (!(await pathExists(pagesFolder))) {\n throw new CliError({\n code: CliErrorCode.NoPagesDirectoryFound({\n srcDir: getSourceFolder(model.projectFolder),\n }),\n cause: null,\n });\n }\n\n const params: PagesDiffRequest = {\n layout: GridAppLayout.GITHUB,\n sourcePagesPaths: await readdir(pagesFolder),\n targetRevision: model.revision,\n };\n const { data } = await httpRequest(\n {\n authState: opts.authState,\n type: 'code',\n },\n pagesDiff(params)\n ).catch((e: unknown) => {\n throw new CliError({\n code: CliErrorCode.FailedToGetPagesDiff(),\n cause: e,\n info: { ...params },\n });\n });\n\n await Promise.all([\n createPages(model.projectFolder, data.pagesDiff?.created ?? []),\n renamePages(model.projectFolder, data.pagesDiff?.renamed ?? []),\n deletePages(model.projectFolder, data.pagesDiff?.deleted ?? []),\n ]);\n}\n","import { join } from 'node:path';\nimport { rm, rename } from 'node:fs/promises';\nimport type {\n NewPage,\n RenamedPage,\n PageId,\n} from '@wix/ambassador-velo-apps-v1-app/types';\nimport { pathExists, outputFile } from '@wix/cli-fs';\n\nexport async function createPages(\n projectFolder: string,\n pages: NewPage[]\n): Promise<void> {\n await Promise.all(\n pages.map((page) => {\n if (!page.pageId?.path || !page.content) {\n return Promise.resolve();\n }\n\n return outputFile(join(projectFolder, page.pageId.path), page.content);\n })\n );\n}\n\nexport async function renamePages(\n projectFolder: string,\n pages: RenamedPage[]\n): Promise<void> {\n await Promise.all(\n pages.map(async (page) => {\n if (!page.sourcePath?.path || !page.targetPath?.path) {\n return;\n }\n\n const sourcePath = join(projectFolder, page.sourcePath.path);\n const targetPath = join(projectFolder, page.targetPath.path);\n\n if (await pathExists(targetPath)) {\n return rm(sourcePath, { force: true });\n }\n\n return rename(sourcePath, targetPath);\n })\n );\n}\n\nexport async function deletePages(\n projectFolder: string,\n pages: PageId[]\n): Promise<void> {\n await Promise.all(\n pages.map((page) => {\n if (!page.path) {\n return Promise.resolve();\n }\n\n return rm(join(projectFolder, page.path), { force: true });\n })\n );\n}\n"],"mappings":"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","names":["normalizePath","filePath","rm","join","join","GridAppLayout","rm"]}
|
|
1
|
+
{"version":3,"sources":["../../cli-site-old/src/dev/index.ts","../../cli-site-old/src/dev/dev.ts","../../../node_modules/exit-hook/index.js","../../cli-site-old/src/environment.ts","../../cli-site-old/src/gridapp/createGridApp.ts","../../cli-site-old/src/gridapp/error-handlers/maxFileSizeErrorHandler.ts","../../cli-site-old/src/gridapp/startGridAppUpdater.ts","../../cli-site-old/src/key-watcher.ts","../../cli-site-old/src/bi.ts","../../cli-site-old/src/dev/sync-all-to-revision.ts","../../cli-site-old/src/sources/index.ts","../../cli-site-old/src/sources/pages-diff.ts"],"sourcesContent":["export { dev } from './dev.js';\n","import { createVeloCLIServer } from '@wix/editor-velo-cli-comm-api';\nimport { openBrowser } from '@wix/user-browser';\nimport { asyncExitHook } from 'exit-hook';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { ErrorViewer } from '@wix/cli-error-reporting';\nimport { writeCrashReport } from '@wix/cli-debug-log';\nimport { getDebugLogFilePath } from '@wix/cli-core-definitions';\nimport type { CommandServices } from '@wix/cli-command-contract';\nimport { createElement } from 'react';\nimport { renderSync } from '@wix/cli-ui-kit';\nimport { createHttpClient, isHttpError } from '@wix/cli-http-client';\nimport type { Connection } from '@wix/cli-tunnel';\nimport { TunnelClient, launchTunnel } from '@wix/cli-tunnel';\nimport { getDevEditorBaseUrl } from '../environment.js';\nimport { createMutableGridApp } from '../gridapp/createGridApp.js';\nimport { startGridAppUpdater } from '../gridapp/startGridAppUpdater.js';\nimport { KeyWatcher } from '../key-watcher.js';\nimport type { ProjectModel } from '../model.js';\nimport { saveProjectModel } from '../model.js';\nimport { createLogger } from '../logger.js';\nimport { sitesBiEvents } from '../bi.js';\nimport { createI18nT } from '../i18n.js';\nimport { authenticate } from '../authentication.js';\nimport { syncAllToRevision } from './sync-all-to-revision.js';\n\nexport async function dev(\n initialModel: ProjectModel,\n { biLogger, errorReporter }: CommandServices,\n {\n https = false,\n tunnel: useTunnel = false,\n }: {\n https?: boolean;\n tunnel?: boolean;\n }\n) {\n let model = initialModel;\n const authState = await authenticate({\n metaSiteId: model.metaSiteId,\n biLogger,\n errorReporter,\n });\n\n const t = createI18nT();\n const logger = createLogger({ t });\n const biEvents = sitesBiEvents(biLogger);\n\n const server = createVeloCLIServer({ https });\n\n let gridAppId: string;\n try {\n gridAppId = await createMutableGridApp(model.projectFolder, {\n authState,\n });\n } catch (error) {\n const message = isHttpError(error)\n ? error.response?.data?.message\n : undefined;\n\n throw new CliError({\n code: CliErrorCode.FailedToCreateGridApp({\n error: message,\n }),\n cause: error,\n });\n }\n\n await syncAllToRevision(model, { authState }, logger);\n\n const { close } = startGridAppUpdater(\n model,\n gridAppId,\n {\n authState,\n onError(error) {\n logger.logNewLine();\n errorReporter.reportError(error);\n writeCrashReport(\n getDebugLogFilePath(model.projectFolder),\n error,\n new Date()\n );\n renderSync(createElement(ErrorViewer, { error }));\n },\n },\n logger,\n biEvents\n );\n\n const onServerDisconnected = (devEditorUrl: string) => {\n const message = logger.logNoOpenedTab(devEditorUrl);\n biEvents.messageDisplayed({ model, message });\n };\n\n const onSyncDevEditorChanges = async (revision: string) => {\n if (revision !== model.revision) {\n const newModel = { ...model, revision };\n\n await saveProjectModel(newModel);\n const message = logger.logUpdatedLocalCodeToRevision({\n revision: newModel.revision,\n });\n biEvents.messageDisplayed({ message, model });\n\n await syncAllToRevision(newModel, { authState }, logger);\n\n model = newModel;\n }\n };\n\n const openLocalEditor = async (serverPort: number) => {\n biEvents.userResponse({\n action: 'Browser opened',\n message: 'Opening the Local Editor',\n model,\n });\n\n const devEditorUrl = getDevEditorUrl(serverPort);\n\n if (https) {\n await openBrowser(new URL(`https://localhost:${serverPort}`).href);\n } else {\n await openBrowser(devEditorUrl);\n }\n };\n\n let keyWatcher: KeyWatcher | undefined;\n let tunnel: Connection | undefined;\n\n const getDevEditorUrl = (serverPort: number) => {\n const url = new URL(model.metaSiteId, getDevEditorBaseUrl());\n\n if (tunnel) {\n url.searchParams.append('localEditorDestination', tunnel.domain);\n } else {\n url.searchParams.append('localPort', serverPort.toString());\n }\n\n url.searchParams.append('secureSocket', https.toString());\n\n return url.toString();\n };\n\n try {\n const { port: serverPort } = await server.serve(gridAppId, {\n getDevEditorUrl,\n });\n\n if (useTunnel) {\n const httpClient = createHttpClient({\n type: 'backoffice',\n getAppToken: authState.getAccessToken,\n });\n const tunnelClient = new TunnelClient(httpClient);\n tunnel = await launchTunnel(serverPort, tunnelClient);\n }\n\n const devEditorUrl = getDevEditorUrl(serverPort);\n\n server.on('disconnected', () => onServerDisconnected(devEditorUrl));\n server.on('syncDevEditorChanges', onSyncDevEditorChanges);\n\n keyWatcher = new KeyWatcher();\n\n logger.logOpeningBrowser(https);\n\n await openLocalEditor(serverPort);\n const { ctrlCPromise } = keyWatcher.watch();\n keyWatcher.on('e', () => openLocalEditor(serverPort));\n\n asyncExitHook(\n async () => {\n await server.close();\n tunnel?.close();\n },\n { wait: 500 }\n );\n await ctrlCPromise;\n } finally {\n keyWatcher?.unwatch();\n await Promise.all([server.close(), close(), tunnel?.close()]);\n }\n}\n","import process from 'node:process';\n\nconst asyncCallbacks = new Set();\nconst callbacks = new Set();\n\nlet isCalled = false;\nlet isRegistered = false;\n\nasync function exit(shouldManuallyExit, isSynchronous, signal) {\n\tif (isCalled) {\n\t\treturn;\n\t}\n\n\tisCalled = true;\n\n\tif (asyncCallbacks.size > 0 && isSynchronous) {\n\t\tconsole.error([\n\t\t\t'SYNCHRONOUS TERMINATION NOTICE:',\n\t\t\t'When explicitly exiting the process via process.exit or via a parent process,',\n\t\t\t'asynchronous tasks in your exitHooks will not run. Either remove these tasks,',\n\t\t\t'use gracefulExit() instead of process.exit(), or ensure your parent process',\n\t\t\t'sends a SIGINT to the process running this code.',\n\t\t].join(' '));\n\t}\n\n\tconst exitCode = 128 + signal;\n\n\tconst done = (force = false) => {\n\t\tif (force === true || shouldManuallyExit === true) {\n\t\t\tprocess.exit(exitCode); // eslint-disable-line unicorn/no-process-exit\n\t\t}\n\t};\n\n\tfor (const callback of callbacks) {\n\t\tcallback(exitCode);\n\t}\n\n\tif (isSynchronous) {\n\t\tdone();\n\t\treturn;\n\t}\n\n\tconst promises = [];\n\tlet forceAfter = 0;\n\tfor (const [callback, wait] of asyncCallbacks) {\n\t\tforceAfter = Math.max(forceAfter, wait);\n\t\tpromises.push(Promise.resolve(callback(exitCode)));\n\t}\n\n\t// Force exit if we exceeded our wait value\n\tconst asyncTimer = setTimeout(() => {\n\t\tdone(true);\n\t}, forceAfter);\n\n\tawait Promise.all(promises);\n\tclearTimeout(asyncTimer);\n\tdone();\n}\n\nfunction addHook(options) {\n\tconst {onExit, wait, isSynchronous} = options;\n\tconst asyncCallbackConfig = [onExit, wait];\n\n\tif (isSynchronous) {\n\t\tcallbacks.add(onExit);\n\t} else {\n\t\tasyncCallbacks.add(asyncCallbackConfig);\n\t}\n\n\tif (!isRegistered) {\n\t\tisRegistered = true;\n\n\t\t// Exit cases that support asynchronous handling\n\t\tprocess.once('beforeExit', exit.bind(undefined, true, false, -128));\n\t\tprocess.once('SIGINT', exit.bind(undefined, true, false, 2));\n\t\tprocess.once('SIGTERM', exit.bind(undefined, true, false, 15));\n\n\t\t// Explicit exit events. Calling will force an immediate exit and run all\n\t\t// synchronous hooks. Explicit exits must not extend the node process\n\t\t// artificially. Will log errors if asynchronous calls exist.\n\t\tprocess.once('exit', exit.bind(undefined, false, true, 0));\n\n\t\t// PM2 Cluster shutdown message. Caught to support async handlers with pm2,\n\t\t// needed because explicitly calling process.exit() doesn't trigger the\n\t\t// beforeExit event, and the exit event cannot support async handlers,\n\t\t// since the event loop is never called after it.\n\t\tprocess.on('message', message => {\n\t\t\tif (message === 'shutdown') {\n\t\t\t\texit(true, true, -128);\n\t\t\t}\n\t\t});\n\t}\n\n\treturn () => {\n\t\tif (isSynchronous) {\n\t\t\tcallbacks.delete(onExit);\n\t\t} else {\n\t\t\tasyncCallbacks.delete(asyncCallbackConfig);\n\t\t}\n\t};\n}\n\nexport default function exitHook(onExit) {\n\tif (typeof onExit !== 'function') {\n\t\tthrow new TypeError('onExit must be a function');\n\t}\n\n\treturn addHook({\n\t\tonExit,\n\t\tisSynchronous: true,\n\t});\n}\n\nexport function asyncExitHook(onExit, options = {}) {\n\tif (typeof onExit !== 'function') {\n\t\tthrow new TypeError('onExit must be a function');\n\t}\n\n\tif (!(typeof options.wait === 'number' && options.wait > 0)) {\n\t\tthrow new TypeError('wait must be set to a positive numeric value');\n\t}\n\n\treturn addHook({\n\t\tonExit,\n\t\twait: options.wait,\n\t\tisSynchronous: false,\n\t});\n}\n\nexport function gracefulExit(signal = 0) {\n\texit(true, false, -128 + signal);\n}\n","import { getTestOverrides } from '@wix/cli-test-overrides';\n\nconst DEV_EDITOR_BASE_URL = 'https://wix.com/editor/';\n\nexport function getDevEditorBaseUrl(): string {\n return getTestOverrides().devEditorBaseUrl ?? DEV_EDITOR_BASE_URL;\n}\n","import type { AuthState } from '@wix/cli-auth';\nimport { createApp } from '@wix/ambassador-velo-apps-v1-app/http';\nimport type {\n App,\n CreateAppRequest,\n} from '@wix/ambassador-velo-apps-v1-app/types';\nimport { AppType } from '@wix/ambassador-velo-apps-v1-app/types';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { httpRequest } from '../http-request.js';\nimport { catchFilesMaxSizeError } from './error-handlers/maxFileSizeErrorHandler.js';\nimport { loadProjectGridAppContent } from './loadProjectGridAppContent.js';\n\nasync function createAppWithParams(\n params: CreateAppRequest,\n opts: {\n authState: AuthState;\n }\n): Promise<string> {\n let app: App | undefined;\n\n try {\n const response = await httpRequest(\n { type: 'code', authState: opts.authState },\n createApp(params)\n );\n app = response.data.app;\n } catch (err) {\n catchFilesMaxSizeError(err, params.content?.files);\n\n throw err;\n }\n\n if (!app?.id) {\n throw new CliError({\n code: CliErrorCode.InvalidCreateAppResponse(),\n info: { app },\n cause: null,\n });\n }\n\n return app.id;\n}\n\nexport async function createMutableGridApp(\n projectFolder: string,\n opts: {\n authState: AuthState;\n }\n) {\n const content = await loadProjectGridAppContent(projectFolder);\n\n return createAppWithParams(\n {\n app: {\n mutable: true,\n appType: AppType.VELO_ISOLATED,\n },\n content,\n },\n opts\n );\n}\n","import type { File } from '@wix/ambassador-velo-apps-v1-app/types';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { extractHttpError } from '@wix/cli-http-client';\n\nexport function catchFilesMaxSizeError(err: unknown, files: File[] = []) {\n if (!files.length) {\n return;\n }\n\n const httpError = extractHttpError(err);\n\n if (!httpError) {\n return;\n }\n\n const filesMaxSizeRawViolations =\n httpError.response?.data?.details?.validationError?.fieldViolations?.filter(\n (v: { violatedRule: string }) => v.violatedRule === 'MAX_LENGTH'\n );\n\n if (!filesMaxSizeRawViolations?.length) {\n return;\n }\n\n const maxSizeViolationsData = tryExtractMaxSizeViolationMetadata(\n filesMaxSizeRawViolations\n );\n\n throw new CliError({\n code: CliErrorCode.GridAppFilesMaxLengthExceeded({\n maxSizeViolationsData,\n filePaths: files.map((f) => f.path ?? '[unknown file path]'),\n }),\n cause: httpError,\n });\n}\n\nfunction tryExtractMaxSizeViolationMetadata(\n filesMaxSizeViolations: Array<{ field: string; description: string }>\n) {\n const fileIndexRegex = /\\[(?<fileIndex>\\d+)\\].content/;\n const expectedAndReceivedSizeRegex =\n /has size (?<receivedSize>\\d+), expected (?<expectedSize>\\d+) or less/;\n const violationsData: {\n expectedSize?: number;\n files: Array<{ fileIndex: number; receivedSize: number }>;\n } = {\n expectedSize: undefined,\n files: [],\n };\n\n for (const filesMaxSizeViolation of filesMaxSizeViolations) {\n const fileIndexMatchResult = fileIndexRegex.exec(\n filesMaxSizeViolation.field\n );\n const expectedAndReceivedSizeMatchResult =\n expectedAndReceivedSizeRegex.exec(filesMaxSizeViolation.description);\n\n if (\n !(\n fileIndexMatchResult?.groups?.fileIndex &&\n expectedAndReceivedSizeMatchResult?.groups?.receivedSize &&\n expectedAndReceivedSizeMatchResult.groups.expectedSize\n )\n ) {\n return null;\n }\n\n violationsData.expectedSize ??= Math.trunc(\n parseInt(expectedAndReceivedSizeMatchResult.groups.expectedSize, 10) /\n 1000\n );\n\n violationsData.files.push({\n receivedSize: Math.trunc(\n parseInt(expectedAndReceivedSizeMatchResult.groups.receivedSize, 10) /\n 1000\n ),\n fileIndex: parseInt(fileIndexMatchResult.groups.fileIndex, 10),\n });\n }\n\n return violationsData;\n}\n","import { readFile } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport type { AuthState } from '@wix/cli-auth';\nimport { updateFiles } from '@wix/ambassador-velo-ide-v1-gridapp-filestructure/http';\nimport { GridAppLayout } from '@wix/ambassador-velo-ide-v1-gridapp-filestructure/types';\nimport { getSourceFolder } from '@wix/velo-github-layout-definitions';\nimport { watch } from 'chokidar';\nimport { debounceQueue } from '@wix/debounce-queue';\nimport pLimit from 'p-limit';\nimport normalizePath from 'normalize-path';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { httpRequest } from '../http-request.js';\nimport type { ProjectModel } from '../model.js';\nimport type { Logger } from '../logger.js';\nimport type { SitesBiEvents } from '../bi.js';\nimport { catchFilesMaxSizeError } from './error-handlers/maxFileSizeErrorHandler.js';\n\ntype ChokidarEventParams = [\n 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir',\n string,\n];\n\nconst WATCH_FS_EVENTS_DEBOUNCE_TIME = 1000;\n\nconst getSectionName = (path: string) => {\n if (path.startsWith('src/pages')) {\n return 'public';\n }\n if (path.startsWith('src/backend')) {\n return 'backend';\n }\n return 'other';\n};\n\nexport function startGridAppUpdater(\n model: ProjectModel,\n gridAppId: string,\n opts: {\n onError: (e: CliError) => void;\n authState: AuthState;\n },\n logger: Logger,\n biEvents: SitesBiEvents\n) {\n const { projectFolder } = model;\n const limit = pLimit(1);\n\n const watcher = watch(getSourceFolder(projectFolder), {\n disableGlobbing: true,\n cwd: projectFolder,\n ignoreInitial: true,\n })\n .on(\n 'all',\n debounceQueue(async (events: ChokidarEventParams[]) => {\n await limit(async () => {\n const logSynced = logger.logSyncingLocalCode();\n const { added, changed, removed } =\n normalizeChokidarBatchedEvents(events);\n const addedArray = Array.from(added.values()).map((path) => ({\n path,\n type: 'create',\n }));\n const changedArray = Array.from(changed.values()).map((path) => ({\n path,\n type: 'update',\n }));\n const removedArray = Array.from(removed.values()).map((path) => ({\n path,\n type: 'delete',\n }));\n\n for (const val of [...addedArray, ...changedArray, ...removedArray]) {\n biEvents.file({\n model,\n action: val.type as 'create' | 'update' | 'delete',\n path: val.path,\n oldPath: '',\n sectionName: getSectionName(val.path),\n });\n if (val.type === 'update') {\n biEvents.codeChanged(model, val.path);\n }\n }\n\n try {\n await writeFiles({\n filesToUpdate: await Promise.all(\n addedArray.concat(changedArray).map(async (val) => ({\n path: normalizePath(val.path),\n content: await readFile(\n join(projectFolder, val.path),\n 'utf8'\n ),\n }))\n ),\n removedArray,\n gridAppId,\n authState: opts.authState,\n });\n\n const message = logSynced.success();\n biEvents.messageDisplayed({ message, model });\n biEvents.readyForReloadAfterCodeChanged(model);\n } catch (e) {\n logSynced.fail();\n const error = new CliError({\n code: CliErrorCode.GridAppFailedToUpdateFiles(),\n cause: e,\n info: {\n added,\n changed,\n removed,\n },\n });\n opts.onError(error);\n }\n });\n }, WATCH_FS_EVENTS_DEBOUNCE_TIME)\n )\n .on('error', (e) => {\n const error = new CliError({\n code: CliErrorCode.FailedToWatchFiles(),\n cause: e,\n });\n\n opts.onError(error);\n });\n\n return { close: () => watcher.close() };\n}\n\nfunction normalizeChokidarBatchedEvents(events: ChokidarEventParams[]) {\n return events.reduce(\n (result, [eventType, filePath]) => {\n switch (eventType) {\n case 'add': {\n result.added.add(filePath);\n break;\n }\n case 'change': {\n result.changed.add(filePath);\n break;\n }\n case 'unlink': {\n result.added.delete(filePath);\n result.changed.delete(filePath);\n result.removed.add(filePath);\n break;\n }\n case 'unlinkDir': {\n const filePathAsDir = filePath.endsWith('/')\n ? filePath\n : `${filePath}/`;\n for (const filePath of result.added) {\n if (filePath.startsWith(filePathAsDir)) {\n result.added.delete(filePath);\n }\n }\n for (const filePath of result.changed) {\n if (filePath.startsWith(filePathAsDir)) {\n result.changed.delete(filePath);\n }\n }\n result.removed.add(filePath);\n break;\n }\n case 'addDir': {\n break;\n }\n }\n return result;\n },\n {\n added: new Set<string>(),\n changed: new Set<string>(),\n removed: new Set<string>(),\n }\n );\n}\n\nasync function writeFiles({\n filesToUpdate,\n removedArray,\n gridAppId,\n authState,\n}: {\n filesToUpdate: Array<{ path: string; content: string }>;\n removedArray: Array<{ path: string; type: string }>;\n gridAppId: string;\n authState: AuthState;\n}) {\n try {\n await httpRequest(\n {\n type: 'code',\n authState,\n },\n updateFiles({\n gridAppId,\n layout: GridAppLayout.GITHUB,\n filesToUpdate,\n ignoreForbiddenPaths: true,\n pathsToDelete: removedArray.map((val) => val.path),\n })\n );\n } catch (err) {\n catchFilesMaxSizeError(err, filesToUpdate);\n throw err;\n }\n}\n","import readline from 'node:readline';\nimport { stdin } from 'node:process';\n\ninterface Key {\n ctrl: boolean;\n name: string;\n sequence: string;\n meta: boolean;\n shift: boolean;\n}\n\ntype Callback = (key: Key) => void;\nexport class KeyWatcher {\n private actions = new Map<string, Callback>();\n\n private watchExitProcess() {\n return new Promise<void>((resolve) => {\n this.on('c', (key) => {\n if (key.ctrl) {\n resolve();\n }\n });\n });\n }\n\n on(key: string, callback: Callback) {\n this.actions.set(key, callback);\n }\n\n watch() {\n const rl = readline.createInterface(stdin);\n\n readline.emitKeypressEvents(stdin, rl);\n\n if (stdin.isTTY) {\n // This is required since in test we don't have a terminal and setRawMode is undefined\n stdin.setRawMode(true);\n stdin.setEncoding('utf8');\n }\n\n stdin.on('keypress', this.handleKeyPress);\n\n return {\n ctrlCPromise: this.watchExitProcess(),\n };\n }\n\n unwatch() {\n if (stdin.isTTY) {\n // This is required since in test we don't have a terminal and setRawMode is undefined\n stdin.setRawMode(false);\n }\n stdin.off('keypress', this.handleKeyPress);\n stdin.pause();\n this.actions.clear();\n }\n\n handleKeyPress = (_: string, key: Key) => {\n this.actions.get(key.name)?.(key);\n };\n}\n","import { randomUUID } from 'node:crypto';\nimport {\n wixCliFileFolderCreatedRenamedDeleted,\n wixCliCliMessageDisplayed,\n wixCliCodeHasBeenChanged,\n wixCliUserResponseToCliMessage,\n wixCliReadyForReloadAfterCodeChange,\n} from '@wix/bi-logger-wix-cli/v2';\nimport type { BiLogger } from '@wix/cli-telemetry';\nimport type { ProjectModel } from './model.js';\n\nexport const sitesBiEvents = (biLogger: BiLogger) => ({\n file: ({\n model,\n action,\n path,\n sectionName,\n oldPath,\n }: {\n model: ProjectModel;\n action: 'create' | 'update' | 'delete';\n path: string;\n sectionName: string;\n oldPath: string;\n }) => {\n void biLogger.report(\n wixCliFileFolderCreatedRenamedDeleted({\n action,\n path,\n sectionName,\n oldPath,\n siteRevision: Number(model.revision),\n })\n );\n },\n codeChanged: (model: ProjectModel, fileName: string) => {\n void biLogger.report(\n wixCliCodeHasBeenChanged({\n fileName,\n siteRevision: Number(model.revision),\n })\n );\n },\n readyForReloadAfterCodeChanged: (model: ProjectModel) => {\n void biLogger.report(\n wixCliReadyForReloadAfterCodeChange({\n siteRevision: Number(model.revision),\n })\n );\n },\n messageDisplayed: ({\n message,\n model,\n }: {\n message: string;\n model: ProjectModel;\n }) => {\n void biLogger.report(\n wixCliCliMessageDisplayed({\n message,\n messageId: randomUUID(),\n siteRevision: Number(model.revision),\n })\n );\n },\n userResponse: ({\n model,\n action,\n message,\n }: {\n model: ProjectModel;\n action: 'Browser opened';\n message: string;\n }) => {\n void biLogger.report(\n wixCliUserResponseToCliMessage({\n action,\n message,\n messageId: randomUUID(),\n siteRevision: Number(model.revision),\n })\n );\n },\n});\n\nexport type SitesBiEvents = ReturnType<typeof sitesBiEvents>;\n","import { rm } from 'node:fs/promises';\nimport type { AuthState } from '@wix/cli-auth';\nimport { writeCrashReport } from '@wix/cli-debug-log';\nimport { getTypesDir } from '@wix/velo-github-layout-definitions';\nimport { getDebugLogFilePath } from '@wix/cli-core-definitions';\nimport type { ProjectModel } from '../model.js';\nimport { syncPages } from '../sources/index.js';\nimport { syncTypesWithAuth } from '../sync-types/index.js';\nimport type { Logger } from '../logger.js';\n\nexport async function syncAllToRevision(\n model: ProjectModel,\n opts: {\n authState: AuthState;\n },\n logger: Logger\n) {\n const logTypesSynced = logger.logSyncingTypesToRevision(model.revision);\n try {\n await syncTypesWithAuth(model, { authState: opts.authState });\n logTypesSynced.success();\n } catch (error) {\n // As a workaround until the types sync can handle large projects, this error is recoverable\n writeCrashReport(\n getDebugLogFilePath(model.projectFolder),\n error,\n new Date()\n );\n logTypesSynced.fail();\n await rm(getTypesDir(model.projectFolder), {\n recursive: true,\n force: true,\n }).catch((e: unknown) => {\n writeCrashReport(getDebugLogFilePath(model.projectFolder), e, new Date());\n logger.logRecoverableFailureToRemoveTypesDir(e);\n });\n }\n\n const logPagesSynced = logger.logSyncingPagesToRevision(model.revision);\n try {\n await syncPages(model, { authState: opts.authState });\n logPagesSynced.success();\n } catch (error) {\n logPagesSynced.fail();\n throw error;\n }\n}\n","import { readdir } from 'node:fs/promises';\nimport { pagesDiff } from '@wix/ambassador-velo-apps-v1-app/http';\nimport type { PagesDiffRequest } from '@wix/ambassador-velo-apps-v1-app/types';\nimport { GridAppLayout } from '@wix/ambassador-velo-apps-v1-app/types';\nimport {\n getPagesFolder,\n getSourceFolder,\n} from '@wix/velo-github-layout-definitions';\nimport type { AuthState } from '@wix/cli-auth';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { pathExists } from '@wix/cli-fs';\nimport { httpRequest } from '../http-request.js';\nimport type { ProjectModel } from '../model.js';\nimport { createPages, deletePages, renamePages } from './pages-diff.js';\n\nexport async function syncPages(\n model: ProjectModel,\n opts: {\n authState: AuthState;\n }\n): Promise<void> {\n const pagesFolder = getPagesFolder(model.projectFolder);\n\n if (!(await pathExists(pagesFolder))) {\n throw new CliError({\n code: CliErrorCode.NoPagesDirectoryFound({\n srcDir: getSourceFolder(model.projectFolder),\n }),\n cause: null,\n });\n }\n\n const params: PagesDiffRequest = {\n layout: GridAppLayout.GITHUB,\n sourcePagesPaths: await readdir(pagesFolder),\n targetRevision: model.revision,\n };\n const { data } = await httpRequest(\n {\n authState: opts.authState,\n type: 'code',\n },\n pagesDiff(params)\n ).catch((e: unknown) => {\n throw new CliError({\n code: CliErrorCode.FailedToGetPagesDiff(),\n cause: e,\n info: { ...params },\n });\n });\n\n await Promise.all([\n createPages(model.projectFolder, data.pagesDiff?.created ?? []),\n renamePages(model.projectFolder, data.pagesDiff?.renamed ?? []),\n deletePages(model.projectFolder, data.pagesDiff?.deleted ?? []),\n ]);\n}\n","import { join } from 'node:path';\nimport { rm, rename } from 'node:fs/promises';\nimport type {\n NewPage,\n RenamedPage,\n PageId,\n} from '@wix/ambassador-velo-apps-v1-app/types';\nimport { pathExists, outputFile } from '@wix/cli-fs';\n\nexport async function createPages(\n projectFolder: string,\n pages: NewPage[]\n): Promise<void> {\n await Promise.all(\n pages.map((page) => {\n if (!page.pageId?.path || !page.content) {\n return Promise.resolve();\n }\n\n return outputFile(join(projectFolder, page.pageId.path), page.content);\n })\n );\n}\n\nexport async function renamePages(\n projectFolder: string,\n pages: RenamedPage[]\n): Promise<void> {\n await Promise.all(\n pages.map(async (page) => {\n if (!page.sourcePath?.path || !page.targetPath?.path) {\n return;\n }\n\n const sourcePath = join(projectFolder, page.sourcePath.path);\n const targetPath = join(projectFolder, page.targetPath.path);\n\n if (await pathExists(targetPath)) {\n return rm(sourcePath, { force: true });\n }\n\n return rename(sourcePath, targetPath);\n })\n );\n}\n\nexport async function deletePages(\n projectFolder: string,\n pages: PageId[]\n): Promise<void> {\n await Promise.all(\n pages.map((page) => {\n if (!page.path) {\n return Promise.resolve();\n }\n\n return rm(join(projectFolder, page.path), { force: true });\n })\n );\n}\n"],"mappings":"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","names":["normalizePath","filePath","rm","join","join","GridAppLayout","rm"]}
|
|
@@ -3,31 +3,31 @@ const require = _createRequire(import.meta.url);
|
|
|
3
3
|
import {
|
|
4
4
|
executeCommand,
|
|
5
5
|
log
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-RQ3P4TXY.js";
|
|
7
7
|
import {
|
|
8
8
|
EnvPullCommand
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-OAXVMHAX.js";
|
|
10
|
+
import "./chunk-ZCDEIFN6.js";
|
|
11
11
|
import "./chunk-J5YVHTPQ.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-NEIDBKO4.js";
|
|
13
|
+
import "./chunk-4WVAKXRQ.js";
|
|
14
|
+
import "./chunk-ZT5B42I6.js";
|
|
15
|
+
import "./chunk-EVROMEWT.js";
|
|
16
|
+
import "./chunk-KNO67D7N.js";
|
|
17
17
|
import "./chunk-WMCHVSMU.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-32I3PHOS.js";
|
|
19
19
|
import "./chunk-KJ37XZQA.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-ET7C64VQ.js";
|
|
21
21
|
import {
|
|
22
22
|
require_react
|
|
23
23
|
} from "./chunk-NRAQAV6T.js";
|
|
24
24
|
import "./chunk-SQ3KPTIH.js";
|
|
25
25
|
import "./chunk-Z4MHKCET.js";
|
|
26
26
|
import "./chunk-C4SUTB4O.js";
|
|
27
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-XWBYECTV.js";
|
|
28
28
|
import "./chunk-II7O6SCF.js";
|
|
29
29
|
import "./chunk-RL7RA2JG.js";
|
|
30
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-PJCXC7XI.js";
|
|
31
31
|
import "./chunk-F43XHKVL.js";
|
|
32
32
|
import "./chunk-CU77QH5G.js";
|
|
33
33
|
import {
|
|
@@ -45,4 +45,4 @@ async function nonInteractiveEnvPull(services, model) {
|
|
|
45
45
|
export {
|
|
46
46
|
nonInteractiveEnvPull
|
|
47
47
|
};
|
|
48
|
-
//# sourceMappingURL=env-pull-
|
|
48
|
+
//# sourceMappingURL=env-pull-4FGXVGD4.js.map
|
|
@@ -7,8 +7,9 @@ import {
|
|
|
7
7
|
execaCommandSync,
|
|
8
8
|
execaNode,
|
|
9
9
|
execaSync
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-2R5BII2J.js";
|
|
11
11
|
import "./chunk-W54PG6O5.js";
|
|
12
|
+
import "./chunk-YLWTNITT.js";
|
|
12
13
|
import "./chunk-4EFJZ3GQ.js";
|
|
13
14
|
export {
|
|
14
15
|
$,
|
|
@@ -18,4 +19,4 @@ export {
|
|
|
18
19
|
execaNode,
|
|
19
20
|
execaSync
|
|
20
21
|
};
|
|
21
|
-
//# sourceMappingURL=execa-
|
|
22
|
+
//# sourceMappingURL=execa-MR2E3266.js.map
|
package/build/index.js
CHANGED
|
@@ -14,12 +14,12 @@ import {
|
|
|
14
14
|
import "./chunk-HWVLWVTF.js";
|
|
15
15
|
import {
|
|
16
16
|
createPanorama
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-ZT5B42I6.js";
|
|
18
18
|
import {
|
|
19
19
|
createBiLogger,
|
|
20
20
|
package_default
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-
|
|
21
|
+
} from "./chunk-WHTEK23Z.js";
|
|
22
|
+
import "./chunk-EVROMEWT.js";
|
|
23
23
|
import {
|
|
24
24
|
OutdatedVersionMessage,
|
|
25
25
|
createErrorHandler,
|
|
@@ -30,13 +30,13 @@ import {
|
|
|
30
30
|
require_prerelease,
|
|
31
31
|
require_semver,
|
|
32
32
|
writeCrashReport
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-KNO67D7N.js";
|
|
34
34
|
import "./chunk-WMCHVSMU.js";
|
|
35
|
-
import "./chunk-
|
|
35
|
+
import "./chunk-32I3PHOS.js";
|
|
36
36
|
import "./chunk-KJ37XZQA.js";
|
|
37
37
|
import {
|
|
38
38
|
render
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-ET7C64VQ.js";
|
|
40
40
|
import {
|
|
41
41
|
require_react
|
|
42
42
|
} from "./chunk-NRAQAV6T.js";
|
|
@@ -52,7 +52,7 @@ import {
|
|
|
52
52
|
getDebugLogFilePath,
|
|
53
53
|
getUserFeedbackCacheFilePath,
|
|
54
54
|
getWixConfigFilePath
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-XWBYECTV.js";
|
|
56
56
|
import "./chunk-II7O6SCF.js";
|
|
57
57
|
import {
|
|
58
58
|
getTestOverrides,
|
|
@@ -61,7 +61,7 @@ import {
|
|
|
61
61
|
import {
|
|
62
62
|
pathExists,
|
|
63
63
|
readJson
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-PJCXC7XI.js";
|
|
65
65
|
import {
|
|
66
66
|
external_exports
|
|
67
67
|
} from "./chunk-F43XHKVL.js";
|
|
@@ -4216,9 +4216,9 @@ var login = (services) => {
|
|
|
4216
4216
|
"Authenticate using an API key for automations and CI environments"
|
|
4217
4217
|
).action(async (options, command) => {
|
|
4218
4218
|
const { apiKey } = options;
|
|
4219
|
-
const { getUserInfo: getUserInfo2 } = await import("./src-
|
|
4220
|
-
const { LoginCommand } = await import("./LoginCommand-
|
|
4221
|
-
const { renderCommand } = await import("./render-command-
|
|
4219
|
+
const { getUserInfo: getUserInfo2 } = await import("./src-7QFM3YRG.js");
|
|
4220
|
+
const { LoginCommand } = await import("./LoginCommand-5MF5W7AI.js");
|
|
4221
|
+
const { renderCommand } = await import("./render-command-TKUCFULY.js");
|
|
4222
4222
|
const userInfo = await getUserInfo2();
|
|
4223
4223
|
await renderCommand(
|
|
4224
4224
|
command,
|
|
@@ -4233,9 +4233,9 @@ init_esm_shims();
|
|
|
4233
4233
|
var import_react2 = __toESM(require_react(), 1);
|
|
4234
4234
|
var logout = (services) => {
|
|
4235
4235
|
return createCommand("logout").description("Log out of your Wix account").action(async (_, command) => {
|
|
4236
|
-
const { getUserInfo: getUserInfo2 } = await import("./src-
|
|
4237
|
-
const { LogoutCommand } = await import("./LogoutCommand-
|
|
4238
|
-
const { renderCommand } = await import("./render-command-
|
|
4236
|
+
const { getUserInfo: getUserInfo2 } = await import("./src-7QFM3YRG.js");
|
|
4237
|
+
const { LogoutCommand } = await import("./LogoutCommand-M6RIRJSL.js");
|
|
4238
|
+
const { renderCommand } = await import("./render-command-TKUCFULY.js");
|
|
4239
4239
|
const userInfo = await getUserInfo2();
|
|
4240
4240
|
await renderCommand(
|
|
4241
4241
|
command,
|
|
@@ -4251,9 +4251,9 @@ var telemetry = () => {
|
|
|
4251
4251
|
return createCommand("telemetry").description(
|
|
4252
4252
|
"Opt in/out of sending anonymous usage information (telemetry) to Wix"
|
|
4253
4253
|
).addArgument(new Argument("<state>", "").choices(["on", "off"])).action(async (state) => {
|
|
4254
|
-
const { updateUserConfig } = await import("./src-
|
|
4254
|
+
const { updateUserConfig } = await import("./src-2J6LGO3L.js");
|
|
4255
4255
|
const { CliError: CliError2, CliErrorCode: CliErrorCode2 } = await import("./src-JP7XE6WI.js");
|
|
4256
|
-
const { createLogger } = await import("./src-
|
|
4256
|
+
const { createLogger } = await import("./src-ZYQEMBH5.js");
|
|
4257
4257
|
const logger = createLogger();
|
|
4258
4258
|
try {
|
|
4259
4259
|
const telemetryEnabled = state === "on";
|
|
@@ -4273,9 +4273,9 @@ init_esm_shims();
|
|
|
4273
4273
|
var import_react3 = __toESM(require_react(), 1);
|
|
4274
4274
|
var whoami = (services) => {
|
|
4275
4275
|
return createCommand("whoami").description("Display the email of the logged in Wix user").action(async (_, command) => {
|
|
4276
|
-
const { getUserInfo: getUserInfo2 } = await import("./src-
|
|
4277
|
-
const { WhoamiCommand } = await import("./WhoamiCommand-
|
|
4278
|
-
const { renderCommand } = await import("./render-command-
|
|
4276
|
+
const { getUserInfo: getUserInfo2 } = await import("./src-7QFM3YRG.js");
|
|
4277
|
+
const { WhoamiCommand } = await import("./WhoamiCommand-LO267Q7N.js");
|
|
4278
|
+
const { renderCommand } = await import("./render-command-TKUCFULY.js");
|
|
4279
4279
|
const userInfo = await getUserInfo2();
|
|
4280
4280
|
await renderCommand(
|
|
4281
4281
|
command,
|
|
@@ -4416,7 +4416,7 @@ async function importCliAstro(config, projectFolder2) {
|
|
|
4416
4416
|
if (Object.hasOwn(config, "appId")) {
|
|
4417
4417
|
const astroExists = await hasAstroConfigurationFile(projectFolder2);
|
|
4418
4418
|
if (astroExists) {
|
|
4419
|
-
return import("./src-
|
|
4419
|
+
return import("./src-IQVO6HFK.js");
|
|
4420
4420
|
}
|
|
4421
4421
|
}
|
|
4422
4422
|
return null;
|
|
@@ -4437,12 +4437,12 @@ async function importCliSite(config) {
|
|
|
4437
4437
|
return null;
|
|
4438
4438
|
}
|
|
4439
4439
|
if (env.WIX_CLI_SITE_LIVE === "true" && Object.hasOwn(config, "veloAppId")) {
|
|
4440
|
-
return import("./src-
|
|
4440
|
+
return import("./src-YUFFOHXE.js");
|
|
4441
4441
|
}
|
|
4442
4442
|
if (!Object.hasOwn(config, "uiVersion")) {
|
|
4443
|
-
return import("./src-
|
|
4443
|
+
return import("./src-KJJPDMUK.js");
|
|
4444
4444
|
}
|
|
4445
|
-
return import("./src-
|
|
4445
|
+
return import("./src-4VOUM44Q.js");
|
|
4446
4446
|
}
|
|
4447
4447
|
|
|
4448
4448
|
// src/files/wix.config.ts
|
|
@@ -4,40 +4,41 @@ import {
|
|
|
4
4
|
migrateToAnyNpmIfNeeded,
|
|
5
5
|
resolveNpmDependencies,
|
|
6
6
|
resolvePackageManager
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-QWD63IH3.js";
|
|
8
8
|
import "./chunk-5AY2TF4R.js";
|
|
9
9
|
import {
|
|
10
10
|
createLogger
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-NAYRT7D7.js";
|
|
12
|
+
import "./chunk-6CAKDLZN.js";
|
|
13
13
|
import {
|
|
14
14
|
createI18nT
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-GWFVDY6V.js";
|
|
16
16
|
import "./chunk-HEANTKSX.js";
|
|
17
17
|
import "./chunk-6EJNAOBP.js";
|
|
18
18
|
import {
|
|
19
19
|
authenticate
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-S2NJ72RN.js";
|
|
21
21
|
import "./chunk-CH52GF36.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-RFIG2TYJ.js";
|
|
23
|
+
import "./chunk-IRKCE3VI.js";
|
|
24
|
+
import "./chunk-THTKKN7Y.js";
|
|
25
|
+
import "./chunk-2R5BII2J.js";
|
|
26
26
|
import "./chunk-W54PG6O5.js";
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-YLWTNITT.js";
|
|
28
|
+
import "./chunk-EVROMEWT.js";
|
|
29
|
+
import "./chunk-KNO67D7N.js";
|
|
29
30
|
import "./chunk-WMCHVSMU.js";
|
|
30
|
-
import "./chunk-
|
|
31
|
+
import "./chunk-32I3PHOS.js";
|
|
31
32
|
import "./chunk-KJ37XZQA.js";
|
|
32
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-ET7C64VQ.js";
|
|
33
34
|
import "./chunk-NRAQAV6T.js";
|
|
34
35
|
import "./chunk-SQ3KPTIH.js";
|
|
35
36
|
import "./chunk-Z4MHKCET.js";
|
|
36
37
|
import "./chunk-C4SUTB4O.js";
|
|
37
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-XWBYECTV.js";
|
|
38
39
|
import "./chunk-II7O6SCF.js";
|
|
39
40
|
import "./chunk-RL7RA2JG.js";
|
|
40
|
-
import "./chunk-
|
|
41
|
+
import "./chunk-PJCXC7XI.js";
|
|
41
42
|
import "./chunk-F43XHKVL.js";
|
|
42
43
|
import "./chunk-CU77QH5G.js";
|
|
43
44
|
import {
|
|
@@ -80,4 +81,4 @@ async function install(model, { biLogger, errorReporter }, options, initialPacka
|
|
|
80
81
|
export {
|
|
81
82
|
install
|
|
82
83
|
};
|
|
83
|
-
//# sourceMappingURL=install-
|
|
84
|
+
//# sourceMappingURL=install-W3UPQLJF.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../cli-site-old/src/install/index.ts","../../cli-site-old/src/install/install.ts"],"sourcesContent":["export { install } from './install.js';\n","import type { CommandServices } from '@wix/cli-command-contract';\nimport { createI18nT } from '../i18n.js';\nimport { createLogger } from '../logger.js';\nimport type { ProjectModel } from '../model.js';\nimport { authenticate } from '../authentication.js';\nimport {\n resolvePackageManager,\n resolveNpmDependencies,\n migrateToAnyNpmIfNeeded,\n} from '../velo-npm/index.js';\n\nexport async function install(\n model: ProjectModel,\n { biLogger, errorReporter }: CommandServices,\n options: {\n yarn?: boolean;\n npm?: boolean;\n },\n initialPackageName?: string\n) {\n const authState = await authenticate({\n metaSiteId: model.metaSiteId,\n biLogger,\n errorReporter,\n });\n\n const t = createI18nT();\n const logger = createLogger({ t });\n const packageName = initialPackageName?.trim() ?? null;\n\n await migrateToAnyNpmIfNeeded(model.projectFolder, logger);\n\n const logInstalled = packageName\n ? logger.logDependencyInstalling(packageName)\n : logger.logAllDependenciesInstalling();\n\n try {\n const packageManager = await resolvePackageManager(\n model.projectFolder,\n options\n );\n\n if (packageName) {\n await packageManager.runInstallPackage(model.projectFolder, packageName);\n } else {\n await packageManager.runInstall(model.projectFolder);\n }\n\n await resolveNpmDependencies(model.projectFolder, { authState });\n\n logInstalled.success();\n } catch (error) {\n logInstalled.fail();\n throw error;\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../cli-site-old/src/install/index.ts","../../cli-site-old/src/install/install.ts"],"sourcesContent":["export { install } from './install.js';\n","import type { CommandServices } from '@wix/cli-command-contract';\nimport { createI18nT } from '../i18n.js';\nimport { createLogger } from '../logger.js';\nimport type { ProjectModel } from '../model.js';\nimport { authenticate } from '../authentication.js';\nimport {\n resolvePackageManager,\n resolveNpmDependencies,\n migrateToAnyNpmIfNeeded,\n} from '../velo-npm/index.js';\n\nexport async function install(\n model: ProjectModel,\n { biLogger, errorReporter }: CommandServices,\n options: {\n yarn?: boolean;\n npm?: boolean;\n },\n initialPackageName?: string\n) {\n const authState = await authenticate({\n metaSiteId: model.metaSiteId,\n biLogger,\n errorReporter,\n });\n\n const t = createI18nT();\n const logger = createLogger({ t });\n const packageName = initialPackageName?.trim() ?? null;\n\n await migrateToAnyNpmIfNeeded(model.projectFolder, logger);\n\n const logInstalled = packageName\n ? logger.logDependencyInstalling(packageName)\n : logger.logAllDependenciesInstalling();\n\n try {\n const packageManager = await resolvePackageManager(\n model.projectFolder,\n options\n );\n\n if (packageName) {\n await packageManager.runInstallPackage(model.projectFolder, packageName);\n } else {\n await packageManager.runInstall(model.projectFolder);\n }\n\n await resolveNpmDependencies(model.projectFolder, { authState });\n\n logInstalled.success();\n } catch (error) {\n logInstalled.fail();\n throw error;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;ACAA;AAWA,eAAsB,QACpB,OACA,EAAE,UAAU,cAAc,GAC1B,SAIA,oBACA;AACA,QAAM,YAAY,MAAM,aAAa;AAAA,IACnC,YAAY,MAAM;AAAA,IAClB;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,IAAI,YAAY;AACtB,QAAM,SAAS,aAAa,EAAE,EAAE,CAAC;AACjC,QAAM,cAAc,oBAAoB,KAAK,KAAK;AAElD,QAAM,wBAAwB,MAAM,eAAe,MAAM;AAEzD,QAAM,eAAe,cACjB,OAAO,wBAAwB,WAAW,IAC1C,OAAO,6BAA6B;AAExC,MAAI;AACF,UAAM,iBAAiB,MAAM;AAAA,MAC3B,MAAM;AAAA,MACN;AAAA,IACF;AAEA,QAAI,aAAa;AACf,YAAM,eAAe,kBAAkB,MAAM,eAAe,WAAW;AAAA,IACzE,OAAO;AACL,YAAM,eAAe,WAAW,MAAM,aAAa;AAAA,IACrD;AAEA,UAAM,uBAAuB,MAAM,eAAe,EAAE,UAAU,CAAC;AAE/D,iBAAa,QAAQ;AAAA,EACvB,SAAS,OAAO;AACd,iBAAa,KAAK;AAClB,UAAM;AAAA,EACR;AACF;","names":[]}
|