@wix/cli 1.1.162 → 1.1.164
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/{ConnectWixVibeCommand-GZM2BJVW.js → ConnectWixVibeCommand-4XHLQYZ5.js} +20 -20
- package/build/{DevCommand-IHLJIGCS.js → DevCommand-ASNRXLTZ.js} +23 -24
- package/build/{DevCommand-IHLJIGCS.js.map → DevCommand-ASNRXLTZ.js.map} +1 -1
- package/build/{DevCommand-POGXYBHH.js → DevCommand-SJBSOK7T.js} +18 -18
- package/build/{DevCommand-MTZ46PZQ.js → DevCommand-THGMHHIF.js} +22 -23
- package/build/{DevCommand-MTZ46PZQ.js.map → DevCommand-THGMHHIF.js.map} +1 -1
- package/build/EnvPullCommand-GRDIMTLW.js +29 -0
- package/build/{EnvRemoveCommand-3QDI5QXP.js → EnvRemoveCommand-6GI7RH2R.js} +14 -14
- package/build/{EnvSetCommand-Y4JMQX5W.js → EnvSetCommand-Q7GEW4RY.js} +14 -14
- package/build/{GenerateCommand-EFRVZD4J.js → GenerateCommand-HVYR5MHK.js} +17 -18
- package/build/{GenerateCommand-EFRVZD4J.js.map → GenerateCommand-HVYR5MHK.js.map} +1 -1
- package/build/{InstallCommand-LJUPLKMR.js → InstallCommand-G5FXBH5Q.js} +20 -20
- package/build/{LoginCommand-2EOCKUKN.js → LoginCommand-ORVYJYOS.js} +21 -12
- package/build/LoginCommand-ORVYJYOS.js.map +1 -0
- package/build/{LogoutCommand-ZVIHWCRX.js → LogoutCommand-G47JBBFS.js} +9 -9
- package/build/{PreviewCommand-MGYVAWPC.js → PreviewCommand-DGMBSICC.js} +22 -22
- package/build/{PreviewCommand-O4CKUQVC.js → PreviewCommand-OBBFJGUQ.js} +22 -22
- package/build/PreviewCommand-YLPWZEMC.js +43 -0
- package/build/{PromoteCommand-MCKKRXGO.js → PromoteCommand-PLVURYER.js} +23 -24
- package/build/{PromoteCommand-MCKKRXGO.js.map → PromoteCommand-PLVURYER.js.map} +1 -1
- package/build/{PublishCommand-7UDY3YX5.js → PublishCommand-G5HWA5PZ.js} +22 -22
- package/build/{ReleaseCommand-OX2OUZ7W.js → ReleaseCommand-NNWGUEYK.js} +24 -25
- package/build/{ReleaseCommand-OX2OUZ7W.js.map → ReleaseCommand-NNWGUEYK.js.map} +1 -1
- package/build/TranslationPullCommand-FS3QN74M.js +29 -0
- package/build/TranslationPushCommand-NEOH52KG.js +30 -0
- package/build/{UninstallCommand-BAQJ6HNB.js → UninstallCommand-EFF46BDP.js} +20 -20
- package/build/{WhoamiCommand-FUJMEXWC.js → WhoamiCommand-DF33ENPJ.js} +4 -4
- package/build/chunk-2ANZIGHU.js +105 -0
- package/build/chunk-2ANZIGHU.js.map +1 -0
- package/build/{chunk-DPJYSQSN.js → chunk-2XEZHOLA.js} +5 -5
- package/build/{chunk-YA2DF5A6.js → chunk-3PEVLNRY.js} +2 -1
- package/build/{chunk-YA2DF5A6.js.map → chunk-3PEVLNRY.js.map} +1 -1
- package/build/{chunk-JEU6SJVE.js → chunk-5SEWR3PB.js} +5 -6
- package/build/chunk-5SEWR3PB.js.map +1 -0
- package/build/{chunk-EICIL6XT.js → chunk-5UJEY4Q7.js} +2 -2
- package/build/{chunk-WDXANXXO.js → chunk-66HL2PNX.js} +4 -2
- package/build/chunk-66HL2PNX.js.map +1 -0
- package/build/{chunk-GSO2OENC.js → chunk-66I4J42K.js} +7 -7
- package/build/{chunk-HRZWURZ7.js → chunk-6DZD7DRZ.js} +3 -3
- package/build/{chunk-JGRJQSRZ.js → chunk-6NF2HKQS.js} +2 -2
- package/build/{chunk-Y4PPMYXL.js → chunk-6USOQTB4.js} +2 -2
- package/build/{chunk-ZJ2JSHSQ.js → chunk-6XF3DDZW.js} +7 -7
- package/build/{chunk-JYJC52KV.js → chunk-7MVNTDAN.js} +8 -8
- package/build/{chunk-P7DWJGFN.js → chunk-BTHY3ZNU.js} +8 -8
- package/build/{chunk-XMXQ64GU.js → chunk-BYULDYFN.js} +5 -5
- package/build/{chunk-GXMSV4HT.js → chunk-C3LL76ZH.js} +4 -4
- package/build/{chunk-ZNBWZUQQ.js → chunk-C7POGZVN.js} +3 -3
- package/build/{chunk-REKK2OPM.js → chunk-CWUGUMMQ.js} +10 -10
- package/build/{chunk-LE3SM7RD.js → chunk-DKSRO7VG.js} +3 -3
- package/build/{chunk-KZQCUU7O.js → chunk-DNUQORQC.js} +4 -4
- package/build/{chunk-NTSKP6JZ.js → chunk-EFXBT7NB.js} +2 -2
- package/build/{chunk-LEKNX4UD.js → chunk-ELREEQRR.js} +6 -6
- package/build/{chunk-2XGTYRGY.js → chunk-F6VIKSMX.js} +3 -3
- package/build/{chunk-3EBCS7OL.js → chunk-G4TKXSB6.js} +4 -4
- package/build/{chunk-5EDINUD6.js → chunk-GJ27N3WF.js} +4 -4
- package/build/{chunk-E4VJBLJV.js → chunk-H2CDITJN.js} +4 -4
- package/build/{chunk-7PGFDSUE.js → chunk-JYNRLKFA.js} +2 -2
- package/build/{chunk-X5V2JOK7.js → chunk-KXGHA3TO.js} +4 -4
- package/build/{chunk-WMCHVSMU.js → chunk-LZKP5LN2.js} +36 -12
- package/build/chunk-LZKP5LN2.js.map +1 -0
- package/build/{chunk-OKJMVIRM.js → chunk-MAATDIDJ.js} +3 -3
- package/build/{chunk-RSL55MAQ.js → chunk-NVF2BV46.js} +17 -21
- package/build/chunk-NVF2BV46.js.map +1 -0
- package/build/{chunk-EH7XGC6N.js → chunk-OCYXX3Z5.js} +2 -2
- package/build/{chunk-EKIVV2LE.js → chunk-OG42BXOB.js} +6 -6
- package/build/chunk-OG42BXOB.js.map +1 -0
- package/build/{chunk-L44BZKAP.js → chunk-OM2JULO3.js} +9 -9
- package/build/{chunk-HMYE5P5S.js → chunk-ORKRBQNO.js} +7 -5
- package/build/{chunk-HMYE5P5S.js.map → chunk-ORKRBQNO.js.map} +1 -1
- package/build/{chunk-QIB67OE6.js → chunk-ORZLBFKW.js} +5 -5
- package/build/{chunk-4NCQ63AG.js → chunk-OT7REYUY.js} +4 -4
- package/build/{chunk-7WINPKBT.js → chunk-P6QBPX6M.js} +3 -3
- package/build/{chunk-N3M7MJJF.js → chunk-PNF6FZJ3.js} +3 -3
- package/build/{chunk-3YJXKQBT.js → chunk-PQ6JKRN6.js} +7 -7
- package/build/{chunk-O7YLCWI5.js → chunk-QLJR2J2W.js} +9 -9
- package/build/{chunk-FUCZMIJE.js → chunk-RBJW2W34.js} +2 -2
- package/build/{chunk-AAC7Q5IA.js → chunk-SUXCR67B.js} +7 -7
- package/build/{chunk-GJPBL3NK.js → chunk-SVZPDYZV.js} +3 -3
- package/build/{chunk-H5IYD2UO.js → chunk-TL4PSTZ7.js} +2 -2
- package/build/{chunk-ZYUKHN7N.js → chunk-TLECWCRL.js} +7 -7
- package/build/{chunk-JSGUJDS3.js → chunk-TVHQ5HIS.js} +550 -421
- package/build/chunk-TVHQ5HIS.js.map +1 -0
- package/build/{chunk-GPV26EWK.js → chunk-UWJIJB7T.js} +15 -15
- package/build/{chunk-G6P33ZGR.js → chunk-W7ECM3AU.js} +2 -2
- package/build/{chunk-CEMO64GF.js → chunk-WQOKSYYM.js} +2 -2
- package/build/{chunk-GFZU5OPF.js → chunk-WS7F7UM2.js} +8 -8
- package/build/{chunk-MQC2BZ7W.js → chunk-XNPJVGQN.js} +6 -6
- package/build/{chunk-SOOXGPJM.js → chunk-XUVPP4PG.js} +10 -10
- package/build/{chunk-C5PTSUGF.js → chunk-YAAQDCIO.js} +2 -2
- package/build/{chunk-SSQMNRLT.js → chunk-Z5HGNDCN.js} +7 -7
- package/build/{dev-ZDHKXB6F.js → dev-WRULFOWC.js} +25 -26
- package/build/{dev-ZDHKXB6F.js.map → dev-WRULFOWC.js.map} +1 -1
- package/build/{env-pull-QFBMIIRV.js → env-pull-JTSHQRDF.js} +17 -17
- package/build/index.js +52 -31
- package/build/index.js.map +1 -1
- package/build/{install-MPMCQDPG.js → install-3B5536Q6.js} +18 -18
- package/build/{preview-YKV5EWM4.js → preview-CHQVNH7H.js} +25 -26
- package/build/{preview-YKV5EWM4.js.map → preview-CHQVNH7H.js.map} +1 -1
- package/build/{publish-QOTPZCMC.js → publish-CNBOHWDW.js} +19 -19
- package/build/{render-command-OY2PNJAU.js → render-command-7L5DLT6D.js} +19 -19
- package/build/render-command-7L5DLT6D.js.map +1 -0
- package/build/{render-command-XHK2T2CY.js → render-command-ASCI3VTA.js} +14 -14
- package/build/render-command-UIF4VGNQ.js +31 -0
- package/build/{render-command-I756BW6A.js → render-command-UOJMGM4A.js} +17 -18
- package/build/render-command-UOJMGM4A.js.map +1 -0
- package/build/{render-command-B33ZAPE2.js → render-command-XYRBD357.js} +15 -15
- package/build/run-command-V7CNIYRU.js +22 -0
- package/build/{src-NZ5MTHG5.js → src-CQTHKU3D.js} +15 -15
- package/build/{src-RSS2KIVG.js → src-FWHVER5E.js} +18 -18
- package/build/{src-COWESTMT.js → src-GP7BHIGX.js} +7 -7
- package/build/{src-X4XCTWJQ.js → src-IXN4BZKI.js} +2 -2
- package/build/{src-NFPLXAQF.js → src-J4QVC3AN.js} +11 -9
- package/build/{src-PSLCPHEL.js → src-N3WPT255.js} +45 -60
- package/build/{src-PSLCPHEL.js.map → src-N3WPT255.js.map} +1 -1
- package/build/{src-7C4GHGYZ.js → src-NI55CHWW.js} +6 -6
- package/build/{src-42NHSBW5.js → src-PNY4FBX3.js} +4 -4
- package/build/{sync-types-TG7SH3UH.js → sync-types-T2R62G7D.js} +14 -14
- package/build/{translation-pull-SORARTJZ.js → translation-pull-IYMWFFVE.js} +17 -17
- package/build/{translation-push-ZAHQXD2A.js → translation-push-B5UHZA5C.js} +18 -19
- package/build/{translation-push-ZAHQXD2A.js.map → translation-push-B5UHZA5C.js.map} +1 -1
- package/build/{uninstall-432A7W5U.js → uninstall-3WIANACC.js} +18 -18
- package/package.json +4 -3
- package/build/EnvPullCommand-OXO3VW3F.js +0 -29
- package/build/LoginCommand-2EOCKUKN.js.map +0 -1
- package/build/PreviewCommand-T5AARIDY.js +0 -44
- package/build/TranslationPullCommand-OW5P7WQQ.js +0 -29
- package/build/TranslationPushCommand-4GYA7S5J.js +0 -31
- package/build/chunk-5KG46TLQ.js +0 -109
- package/build/chunk-5KG46TLQ.js.map +0 -1
- package/build/chunk-EKIVV2LE.js.map +0 -1
- package/build/chunk-JEU6SJVE.js.map +0 -1
- package/build/chunk-JSGUJDS3.js.map +0 -1
- package/build/chunk-RSL55MAQ.js.map +0 -1
- package/build/chunk-SC2W3WT3.js +0 -36
- package/build/chunk-SC2W3WT3.js.map +0 -1
- package/build/chunk-WDXANXXO.js.map +0 -1
- package/build/chunk-WMCHVSMU.js.map +0 -1
- package/build/render-command-AENKFQBD.js +0 -31
- package/build/render-command-I756BW6A.js.map +0 -1
- package/build/render-command-OY2PNJAU.js.map +0 -1
- package/build/run-command-GNQUXT4K.js +0 -22
- /package/build/{ConnectWixVibeCommand-GZM2BJVW.js.map → ConnectWixVibeCommand-4XHLQYZ5.js.map} +0 -0
- /package/build/{DevCommand-POGXYBHH.js.map → DevCommand-SJBSOK7T.js.map} +0 -0
- /package/build/{EnvPullCommand-OXO3VW3F.js.map → EnvPullCommand-GRDIMTLW.js.map} +0 -0
- /package/build/{EnvRemoveCommand-3QDI5QXP.js.map → EnvRemoveCommand-6GI7RH2R.js.map} +0 -0
- /package/build/{EnvSetCommand-Y4JMQX5W.js.map → EnvSetCommand-Q7GEW4RY.js.map} +0 -0
- /package/build/{InstallCommand-LJUPLKMR.js.map → InstallCommand-G5FXBH5Q.js.map} +0 -0
- /package/build/{LogoutCommand-ZVIHWCRX.js.map → LogoutCommand-G47JBBFS.js.map} +0 -0
- /package/build/{PreviewCommand-MGYVAWPC.js.map → PreviewCommand-DGMBSICC.js.map} +0 -0
- /package/build/{PreviewCommand-O4CKUQVC.js.map → PreviewCommand-OBBFJGUQ.js.map} +0 -0
- /package/build/{PreviewCommand-T5AARIDY.js.map → PreviewCommand-YLPWZEMC.js.map} +0 -0
- /package/build/{PublishCommand-7UDY3YX5.js.map → PublishCommand-G5HWA5PZ.js.map} +0 -0
- /package/build/{TranslationPullCommand-OW5P7WQQ.js.map → TranslationPullCommand-FS3QN74M.js.map} +0 -0
- /package/build/{TranslationPushCommand-4GYA7S5J.js.map → TranslationPushCommand-NEOH52KG.js.map} +0 -0
- /package/build/{UninstallCommand-BAQJ6HNB.js.map → UninstallCommand-EFF46BDP.js.map} +0 -0
- /package/build/{WhoamiCommand-FUJMEXWC.js.map → WhoamiCommand-DF33ENPJ.js.map} +0 -0
- /package/build/{chunk-DPJYSQSN.js.map → chunk-2XEZHOLA.js.map} +0 -0
- /package/build/{chunk-EICIL6XT.js.map → chunk-5UJEY4Q7.js.map} +0 -0
- /package/build/{chunk-GSO2OENC.js.map → chunk-66I4J42K.js.map} +0 -0
- /package/build/{chunk-HRZWURZ7.js.map → chunk-6DZD7DRZ.js.map} +0 -0
- /package/build/{chunk-JGRJQSRZ.js.map → chunk-6NF2HKQS.js.map} +0 -0
- /package/build/{chunk-Y4PPMYXL.js.map → chunk-6USOQTB4.js.map} +0 -0
- /package/build/{chunk-ZJ2JSHSQ.js.map → chunk-6XF3DDZW.js.map} +0 -0
- /package/build/{chunk-JYJC52KV.js.map → chunk-7MVNTDAN.js.map} +0 -0
- /package/build/{chunk-P7DWJGFN.js.map → chunk-BTHY3ZNU.js.map} +0 -0
- /package/build/{chunk-XMXQ64GU.js.map → chunk-BYULDYFN.js.map} +0 -0
- /package/build/{chunk-GXMSV4HT.js.map → chunk-C3LL76ZH.js.map} +0 -0
- /package/build/{chunk-ZNBWZUQQ.js.map → chunk-C7POGZVN.js.map} +0 -0
- /package/build/{chunk-REKK2OPM.js.map → chunk-CWUGUMMQ.js.map} +0 -0
- /package/build/{chunk-LE3SM7RD.js.map → chunk-DKSRO7VG.js.map} +0 -0
- /package/build/{chunk-KZQCUU7O.js.map → chunk-DNUQORQC.js.map} +0 -0
- /package/build/{chunk-NTSKP6JZ.js.map → chunk-EFXBT7NB.js.map} +0 -0
- /package/build/{chunk-LEKNX4UD.js.map → chunk-ELREEQRR.js.map} +0 -0
- /package/build/{chunk-2XGTYRGY.js.map → chunk-F6VIKSMX.js.map} +0 -0
- /package/build/{chunk-3EBCS7OL.js.map → chunk-G4TKXSB6.js.map} +0 -0
- /package/build/{chunk-5EDINUD6.js.map → chunk-GJ27N3WF.js.map} +0 -0
- /package/build/{chunk-E4VJBLJV.js.map → chunk-H2CDITJN.js.map} +0 -0
- /package/build/{chunk-7PGFDSUE.js.map → chunk-JYNRLKFA.js.map} +0 -0
- /package/build/{chunk-X5V2JOK7.js.map → chunk-KXGHA3TO.js.map} +0 -0
- /package/build/{chunk-OKJMVIRM.js.map → chunk-MAATDIDJ.js.map} +0 -0
- /package/build/{chunk-EH7XGC6N.js.map → chunk-OCYXX3Z5.js.map} +0 -0
- /package/build/{chunk-L44BZKAP.js.map → chunk-OM2JULO3.js.map} +0 -0
- /package/build/{chunk-QIB67OE6.js.map → chunk-ORZLBFKW.js.map} +0 -0
- /package/build/{chunk-4NCQ63AG.js.map → chunk-OT7REYUY.js.map} +0 -0
- /package/build/{chunk-7WINPKBT.js.map → chunk-P6QBPX6M.js.map} +0 -0
- /package/build/{chunk-N3M7MJJF.js.map → chunk-PNF6FZJ3.js.map} +0 -0
- /package/build/{chunk-3YJXKQBT.js.map → chunk-PQ6JKRN6.js.map} +0 -0
- /package/build/{chunk-O7YLCWI5.js.map → chunk-QLJR2J2W.js.map} +0 -0
- /package/build/{chunk-FUCZMIJE.js.map → chunk-RBJW2W34.js.map} +0 -0
- /package/build/{chunk-AAC7Q5IA.js.map → chunk-SUXCR67B.js.map} +0 -0
- /package/build/{chunk-GJPBL3NK.js.map → chunk-SVZPDYZV.js.map} +0 -0
- /package/build/{chunk-H5IYD2UO.js.map → chunk-TL4PSTZ7.js.map} +0 -0
- /package/build/{chunk-ZYUKHN7N.js.map → chunk-TLECWCRL.js.map} +0 -0
- /package/build/{chunk-GPV26EWK.js.map → chunk-UWJIJB7T.js.map} +0 -0
- /package/build/{chunk-G6P33ZGR.js.map → chunk-W7ECM3AU.js.map} +0 -0
- /package/build/{chunk-CEMO64GF.js.map → chunk-WQOKSYYM.js.map} +0 -0
- /package/build/{chunk-GFZU5OPF.js.map → chunk-WS7F7UM2.js.map} +0 -0
- /package/build/{chunk-MQC2BZ7W.js.map → chunk-XNPJVGQN.js.map} +0 -0
- /package/build/{chunk-SOOXGPJM.js.map → chunk-XUVPP4PG.js.map} +0 -0
- /package/build/{chunk-C5PTSUGF.js.map → chunk-YAAQDCIO.js.map} +0 -0
- /package/build/{chunk-SSQMNRLT.js.map → chunk-Z5HGNDCN.js.map} +0 -0
- /package/build/{env-pull-QFBMIIRV.js.map → env-pull-JTSHQRDF.js.map} +0 -0
- /package/build/{install-MPMCQDPG.js.map → install-3B5536Q6.js.map} +0 -0
- /package/build/{publish-QOTPZCMC.js.map → publish-CNBOHWDW.js.map} +0 -0
- /package/build/{render-command-XHK2T2CY.js.map → render-command-ASCI3VTA.js.map} +0 -0
- /package/build/{render-command-AENKFQBD.js.map → render-command-UIF4VGNQ.js.map} +0 -0
- /package/build/{render-command-B33ZAPE2.js.map → render-command-XYRBD357.js.map} +0 -0
- /package/build/{run-command-GNQUXT4K.js.map → run-command-V7CNIYRU.js.map} +0 -0
- /package/build/{src-NZ5MTHG5.js.map → src-CQTHKU3D.js.map} +0 -0
- /package/build/{src-RSS2KIVG.js.map → src-FWHVER5E.js.map} +0 -0
- /package/build/{src-COWESTMT.js.map → src-GP7BHIGX.js.map} +0 -0
- /package/build/{src-42NHSBW5.js.map → src-IXN4BZKI.js.map} +0 -0
- /package/build/{src-7C4GHGYZ.js.map → src-J4QVC3AN.js.map} +0 -0
- /package/build/{src-NFPLXAQF.js.map → src-NI55CHWW.js.map} +0 -0
- /package/build/{src-X4XCTWJQ.js.map → src-PNY4FBX3.js.map} +0 -0
- /package/build/{sync-types-TG7SH3UH.js.map → sync-types-T2R62G7D.js.map} +0 -0
- /package/build/{translation-pull-SORARTJZ.js.map → translation-pull-IYMWFFVE.js.map} +0 -0
- /package/build/{uninstall-432A7W5U.js.map → uninstall-3WIANACC.js.map} +0 -0
|
@@ -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-dev-tools-data/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"]}
|
|
@@ -2,33 +2,33 @@ import { createRequire as _createRequire } from 'node:module';
|
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
EnvPullCommand
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-TLECWCRL.js";
|
|
6
6
|
import {
|
|
7
7
|
executeCommand,
|
|
8
8
|
log
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-BTHY3ZNU.js";
|
|
10
|
+
import "./chunk-66I4J42K.js";
|
|
11
|
+
import "./chunk-OT7REYUY.js";
|
|
12
|
+
import "./chunk-TL4PSTZ7.js";
|
|
13
|
+
import "./chunk-DKSRO7VG.js";
|
|
14
|
+
import "./chunk-OG42BXOB.js";
|
|
15
|
+
import "./chunk-TVHQ5HIS.js";
|
|
16
|
+
import "./chunk-LZKP5LN2.js";
|
|
17
|
+
import "./chunk-EFXBT7NB.js";
|
|
18
18
|
import "./chunk-KJ37XZQA.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-C7POGZVN.js";
|
|
20
20
|
import {
|
|
21
21
|
require_react
|
|
22
22
|
} from "./chunk-NRAQAV6T.js";
|
|
23
23
|
import "./chunk-SQ3KPTIH.js";
|
|
24
24
|
import "./chunk-Z4MHKCET.js";
|
|
25
25
|
import "./chunk-C4SUTB4O.js";
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-MAATDIDJ.js";
|
|
27
|
+
import "./chunk-YAAQDCIO.js";
|
|
28
|
+
import "./chunk-66HL2PNX.js";
|
|
29
|
+
import "./chunk-6USOQTB4.js";
|
|
30
30
|
import "./chunk-F43XHKVL.js";
|
|
31
|
-
import "./chunk-
|
|
31
|
+
import "./chunk-3PEVLNRY.js";
|
|
32
32
|
import {
|
|
33
33
|
__toESM,
|
|
34
34
|
init_esm_shims
|
|
@@ -44,4 +44,4 @@ async function nonInteractiveEnvPull(services, model) {
|
|
|
44
44
|
export {
|
|
45
45
|
nonInteractiveEnvPull
|
|
46
46
|
};
|
|
47
|
-
//# sourceMappingURL=env-pull-
|
|
47
|
+
//# sourceMappingURL=env-pull-JTSHQRDF.js.map
|
package/build/index.js
CHANGED
|
@@ -10,16 +10,17 @@ import "./chunk-HWVLWVTF.js";
|
|
|
10
10
|
import {
|
|
11
11
|
Argument,
|
|
12
12
|
Command,
|
|
13
|
+
Option,
|
|
13
14
|
createCommand
|
|
14
15
|
} from "./chunk-J2EPR7DO.js";
|
|
15
16
|
import {
|
|
16
17
|
createPanorama
|
|
17
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-DKSRO7VG.js";
|
|
18
19
|
import {
|
|
19
20
|
createBiLogger,
|
|
20
21
|
package_default
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-
|
|
22
|
+
} from "./chunk-NVF2BV46.js";
|
|
23
|
+
import "./chunk-OG42BXOB.js";
|
|
23
24
|
import {
|
|
24
25
|
OutdatedVersionMessage,
|
|
25
26
|
createErrorHandler,
|
|
@@ -30,13 +31,13 @@ import {
|
|
|
30
31
|
require_prerelease,
|
|
31
32
|
require_semver,
|
|
32
33
|
writeCrashReport
|
|
33
|
-
} from "./chunk-
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
34
|
+
} from "./chunk-TVHQ5HIS.js";
|
|
35
|
+
import "./chunk-LZKP5LN2.js";
|
|
36
|
+
import "./chunk-EFXBT7NB.js";
|
|
36
37
|
import "./chunk-KJ37XZQA.js";
|
|
37
38
|
import {
|
|
38
39
|
render
|
|
39
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-C7POGZVN.js";
|
|
40
41
|
import {
|
|
41
42
|
require_react
|
|
42
43
|
} from "./chunk-NRAQAV6T.js";
|
|
@@ -52,16 +53,16 @@ import {
|
|
|
52
53
|
getDebugLogFilePath,
|
|
53
54
|
getUserFeedbackCacheFilePath,
|
|
54
55
|
getWixConfigFilePath
|
|
55
|
-
} from "./chunk-
|
|
56
|
-
import "./chunk-
|
|
56
|
+
} from "./chunk-MAATDIDJ.js";
|
|
57
|
+
import "./chunk-YAAQDCIO.js";
|
|
57
58
|
import {
|
|
58
59
|
getTestOverrides,
|
|
59
60
|
setupTestEnv
|
|
60
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-66HL2PNX.js";
|
|
61
62
|
import {
|
|
62
63
|
pathExists,
|
|
63
64
|
readJson
|
|
64
|
-
} from "./chunk-
|
|
65
|
+
} from "./chunk-6USOQTB4.js";
|
|
65
66
|
import {
|
|
66
67
|
external_exports
|
|
67
68
|
} from "./chunk-F43XHKVL.js";
|
|
@@ -69,7 +70,7 @@ import {
|
|
|
69
70
|
CliError,
|
|
70
71
|
CliErrorCode,
|
|
71
72
|
require_lib
|
|
72
|
-
} from "./chunk-
|
|
73
|
+
} from "./chunk-3PEVLNRY.js";
|
|
73
74
|
import {
|
|
74
75
|
__commonJS,
|
|
75
76
|
__dirname,
|
|
@@ -4184,6 +4185,9 @@ async function versionNotifier(packageJson2) {
|
|
|
4184
4185
|
};
|
|
4185
4186
|
}
|
|
4186
4187
|
|
|
4188
|
+
// src/index.tsx
|
|
4189
|
+
import { randomUUID } from "node:crypto";
|
|
4190
|
+
|
|
4187
4191
|
// src/commander-hooks.ts
|
|
4188
4192
|
init_esm_shims();
|
|
4189
4193
|
var getFullCommandName = (command) => {
|
|
@@ -4214,16 +4218,28 @@ var login = (services) => {
|
|
|
4214
4218
|
return createCommand("login").description("Log in to your Wix account").option(
|
|
4215
4219
|
"--api-key <token>",
|
|
4216
4220
|
"Authenticate using an API key for automations and CI environments"
|
|
4221
|
+
).addOption(
|
|
4222
|
+
new Option(
|
|
4223
|
+
"--refresh-token <token>",
|
|
4224
|
+
"Authenticate using an refresh token for automations and CI environments"
|
|
4225
|
+
).hideHelp().conflicts("apiKey")
|
|
4217
4226
|
).action(async (options, command) => {
|
|
4218
|
-
const { apiKey } = options;
|
|
4219
|
-
const { getUserInfo: getUserInfo2 } = await import("./src-
|
|
4220
|
-
const { LoginCommand } = await import("./LoginCommand-
|
|
4221
|
-
const { renderCommand } = await import("./render-command-
|
|
4227
|
+
const { apiKey, refreshToken } = options;
|
|
4228
|
+
const { getUserInfo: getUserInfo2 } = await import("./src-J4QVC3AN.js");
|
|
4229
|
+
const { LoginCommand } = await import("./LoginCommand-ORVYJYOS.js");
|
|
4230
|
+
const { renderCommand } = await import("./render-command-ASCI3VTA.js");
|
|
4222
4231
|
const userInfo = await getUserInfo2();
|
|
4223
4232
|
await renderCommand(
|
|
4224
4233
|
command,
|
|
4225
4234
|
services,
|
|
4226
|
-
/* @__PURE__ */ import_react.default.createElement(
|
|
4235
|
+
/* @__PURE__ */ import_react.default.createElement(
|
|
4236
|
+
LoginCommand,
|
|
4237
|
+
{
|
|
4238
|
+
apiKeyToken: apiKey,
|
|
4239
|
+
userInfo,
|
|
4240
|
+
refreshToken
|
|
4241
|
+
}
|
|
4242
|
+
)
|
|
4227
4243
|
);
|
|
4228
4244
|
});
|
|
4229
4245
|
};
|
|
@@ -4233,9 +4249,9 @@ init_esm_shims();
|
|
|
4233
4249
|
var import_react2 = __toESM(require_react(), 1);
|
|
4234
4250
|
var logout = (services) => {
|
|
4235
4251
|
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-
|
|
4252
|
+
const { getUserInfo: getUserInfo2 } = await import("./src-J4QVC3AN.js");
|
|
4253
|
+
const { LogoutCommand } = await import("./LogoutCommand-G47JBBFS.js");
|
|
4254
|
+
const { renderCommand } = await import("./render-command-ASCI3VTA.js");
|
|
4239
4255
|
const userInfo = await getUserInfo2();
|
|
4240
4256
|
await renderCommand(
|
|
4241
4257
|
command,
|
|
@@ -4251,8 +4267,8 @@ var telemetry = () => {
|
|
|
4251
4267
|
return createCommand("telemetry").description(
|
|
4252
4268
|
"Opt in/out of sending anonymous usage information (telemetry) to Wix"
|
|
4253
4269
|
).addArgument(new Argument("<state>", "").choices(["on", "off"])).action(async (state) => {
|
|
4254
|
-
const { updateUserConfig } = await import("./src-
|
|
4255
|
-
const { CliError: CliError2, CliErrorCode: CliErrorCode2 } = await import("./src-
|
|
4270
|
+
const { updateUserConfig } = await import("./src-NI55CHWW.js");
|
|
4271
|
+
const { CliError: CliError2, CliErrorCode: CliErrorCode2 } = await import("./src-IXN4BZKI.js");
|
|
4256
4272
|
const { createLogger } = await import("./src-ZYQEMBH5.js");
|
|
4257
4273
|
const logger = createLogger();
|
|
4258
4274
|
try {
|
|
@@ -4273,9 +4289,9 @@ init_esm_shims();
|
|
|
4273
4289
|
var import_react3 = __toESM(require_react(), 1);
|
|
4274
4290
|
var whoami = (services) => {
|
|
4275
4291
|
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-
|
|
4292
|
+
const { getUserInfo: getUserInfo2 } = await import("./src-J4QVC3AN.js");
|
|
4293
|
+
const { WhoamiCommand } = await import("./WhoamiCommand-DF33ENPJ.js");
|
|
4294
|
+
const { renderCommand } = await import("./render-command-ASCI3VTA.js");
|
|
4279
4295
|
const userInfo = await getUserInfo2();
|
|
4280
4296
|
await renderCommand(
|
|
4281
4297
|
command,
|
|
@@ -4416,7 +4432,7 @@ async function importCliAstro(config, projectFolder2) {
|
|
|
4416
4432
|
if (Object.hasOwn(config, "appId")) {
|
|
4417
4433
|
const astroExists = await hasAstroConfigurationFile(projectFolder2);
|
|
4418
4434
|
if (astroExists) {
|
|
4419
|
-
return import("./src-
|
|
4435
|
+
return import("./src-N3WPT255.js");
|
|
4420
4436
|
}
|
|
4421
4437
|
}
|
|
4422
4438
|
return null;
|
|
@@ -4437,12 +4453,12 @@ async function importCliSite(config) {
|
|
|
4437
4453
|
return null;
|
|
4438
4454
|
}
|
|
4439
4455
|
if (env.WIX_CLI_SITE_LIVE === "true" && Object.hasOwn(config, "veloAppId")) {
|
|
4440
|
-
return import("./src-
|
|
4456
|
+
return import("./src-GP7BHIGX.js");
|
|
4441
4457
|
}
|
|
4442
4458
|
if (!Object.hasOwn(config, "uiVersion")) {
|
|
4443
|
-
return import("./src-
|
|
4459
|
+
return import("./src-CQTHKU3D.js");
|
|
4444
4460
|
}
|
|
4445
|
-
return import("./src-
|
|
4461
|
+
return import("./src-FWHVER5E.js");
|
|
4446
4462
|
}
|
|
4447
4463
|
|
|
4448
4464
|
// src/files/wix.config.ts
|
|
@@ -4517,7 +4533,6 @@ async function createProgram({
|
|
|
4517
4533
|
program.helpCommand(false);
|
|
4518
4534
|
program.configureHelp(helpConfiguration);
|
|
4519
4535
|
const flow = await identifyProgramFlow(projectFolder2);
|
|
4520
|
-
errorReporter2.setTag("flow", flow.type);
|
|
4521
4536
|
await (0, import_variant3.match)(flow, {
|
|
4522
4537
|
APP: async ({ getRootCommand }) => {
|
|
4523
4538
|
const app = await getRootCommand(
|
|
@@ -4581,7 +4596,13 @@ try {
|
|
|
4581
4596
|
if (userInfo) {
|
|
4582
4597
|
errorReporter.setUser({ id: userInfo.userId });
|
|
4583
4598
|
}
|
|
4584
|
-
const
|
|
4599
|
+
const cliSessionId = randomUUID();
|
|
4600
|
+
errorReporter.setTag("cli.session_id", cliSessionId);
|
|
4601
|
+
const { biLogger } = await createBiLogger(
|
|
4602
|
+
cliSessionId,
|
|
4603
|
+
errorReporter,
|
|
4604
|
+
userInfo?.userId
|
|
4605
|
+
);
|
|
4585
4606
|
const panorama = await createPanorama({
|
|
4586
4607
|
artifact: package_default.wix.artifact,
|
|
4587
4608
|
version: package_default.version,
|