@wix/cli 1.1.119 → 1.1.120
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-QDVPFDC3.js → DevCommand-2MEXMT5M.js} +492 -381
- package/build/DevCommand-2MEXMT5M.js.map +1 -0
- package/build/{DevCommand-SW5QG3EQ.js → DevCommand-DJOVM34F.js} +17 -17
- package/build/{DevCommand-PXHEAQAL.js → DevCommand-PGCNN5XY.js} +21 -21
- package/build/EnvPullCommand-ODAOSFNY.js +30 -0
- package/build/{EnvRemoveCommand-UZDY5CBA.js → EnvRemoveCommand-BZSR6QDV.js} +13 -13
- package/build/{EnvSetCommand-ZFJLWS6Z.js → EnvSetCommand-FT2XLNDB.js} +13 -13
- package/build/{GenerateCommand-WCLMXP6J.js → GenerateCommand-JRBHRQ57.js} +200 -154
- package/build/{GenerateCommand-WCLMXP6J.js.map → GenerateCommand-JRBHRQ57.js.map} +1 -1
- package/build/{InstallCommand-5WIU4KJI.js → InstallCommand-Z6PVUDZ2.js} +19 -19
- package/build/{LoginCommand-IB5AZVR6.js → LoginCommand-43V7K36C.js} +11 -11
- package/build/{LogoutCommand-AZNDP5US.js → LogoutCommand-YJIOC473.js} +8 -8
- package/build/{PreviewCommand-627KVG42.js → PreviewCommand-LIUZ4V3Q.js} +25 -25
- package/build/PreviewCommand-LIUZ4V3Q.js.map +1 -0
- package/build/{PreviewCommand-3HUO3OS7.js → PreviewCommand-PMRWVEXH.js} +22 -22
- package/build/{PreviewCommand-LBUDGW3Y.js → PreviewCommand-ZM4AEALO.js} +16 -16
- package/build/{PublishCommand-AYRG7EWO.js → PublishCommand-XH52PJUF.js} +22 -22
- package/build/{ReleaseCommand-HBHUINN2.js → ReleaseCommand-X23ZAHRS.js} +16 -16
- package/build/{UninstallCommand-WQUBAUAX.js → UninstallCommand-EDIVWWSN.js} +19 -19
- package/build/{WhoamiCommand-CBQ55746.js → WhoamiCommand-ERE5KRK5.js} +4 -4
- package/build/{chunk-MACNBB4Z.js → chunk-2ODMSMLQ.js} +2 -2
- package/build/{chunk-DPYSUDZL.js → chunk-45TMHMTJ.js} +6 -6
- package/build/{chunk-7DPHWL5Q.js → chunk-46UBNWDE.js} +9 -9
- package/build/{chunk-TMLDHPS6.js → chunk-6EJNAOBP.js} +8 -8
- package/build/{chunk-TMLDHPS6.js.map → chunk-6EJNAOBP.js.map} +1 -1
- package/build/{chunk-RPLKYT53.js → chunk-6OV37XZP.js} +23 -23
- package/build/{chunk-RPLKYT53.js.map → chunk-6OV37XZP.js.map} +1 -1
- package/build/{chunk-PF6OY5ZF.js → chunk-6RW52R4D.js} +18 -12
- package/build/{chunk-PF6OY5ZF.js.map → chunk-6RW52R4D.js.map} +1 -1
- package/build/{chunk-C57C5VQT.js → chunk-726LL6JB.js} +8 -8
- package/build/{chunk-2655XJHU.js → chunk-73MIX2O2.js} +4 -4
- package/build/{chunk-2ED6TC2C.js → chunk-7LCZ57SO.js} +1 -1
- package/build/{chunk-2ED6TC2C.js.map → chunk-7LCZ57SO.js.map} +1 -1
- package/build/{chunk-DJHDYTUX.js → chunk-AHOU27PT.js} +2 -2
- package/build/{chunk-SX5ANDWH.js → chunk-AU7LQEOT.js} +8 -8
- package/build/{chunk-OHYPEB2V.js → chunk-AV2QWD2T.js} +32 -32
- package/build/{chunk-OHYPEB2V.js.map → chunk-AV2QWD2T.js.map} +1 -1
- package/build/{chunk-3O4FYLKE.js → chunk-AXD3UW3R.js} +7 -7
- package/build/{chunk-BBSCL7QD.js → chunk-B5WA4Z63.js} +4 -4
- package/build/{chunk-JFQWMWVU.js → chunk-CDY6L7PA.js} +3 -3
- package/build/{chunk-RFG42N5O.js → chunk-CM2XSGSM.js} +8 -8
- package/build/{chunk-OWYUMYID.js → chunk-CPSZ7QTC.js} +3 -3
- package/build/{chunk-OZ7FYGCP.js → chunk-DR4RSQZ7.js} +3 -3
- package/build/{chunk-UOIFOI6P.js → chunk-E3K64ZZV.js} +2 -2
- package/build/{chunk-7ABASOTN.js → chunk-E7EAMFQD.js} +8 -2
- package/build/chunk-E7EAMFQD.js.map +1 -0
- package/build/{chunk-Y5R2NROG.js → chunk-EUL3GKZI.js} +3 -3
- package/build/{chunk-ZXYGJZOO.js → chunk-F43XHKVL.js} +233 -231
- package/build/chunk-F43XHKVL.js.map +1 -0
- package/build/{chunk-5DS3BZB2.js → chunk-FHQ23JQX.js} +8 -8
- package/build/{chunk-AKWVTYTC.js → chunk-FUDRK2JS.js} +7 -7
- package/build/{chunk-AKWVTYTC.js.map → chunk-FUDRK2JS.js.map} +1 -1
- package/build/chunk-H7756NJ6.js +48 -0
- package/build/{chunk-JJ6PVZ7K.js.map → chunk-H7756NJ6.js.map} +1 -1
- package/build/{chunk-A5I45GO6.js → chunk-II7O6SCF.js} +2 -2
- package/build/{chunk-NSZZBK3V.js → chunk-IQ26UZAH.js} +3 -3
- package/build/{chunk-NSZZBK3V.js.map → chunk-IQ26UZAH.js.map} +1 -1
- package/build/{chunk-OEFE6BTD.js → chunk-IUJ26DW6.js} +3 -3
- package/build/{chunk-IO36MUVK.js → chunk-IWQIW4GL.js} +8 -8
- package/build/{chunk-IO36MUVK.js.map → chunk-IWQIW4GL.js.map} +1 -1
- package/build/{chunk-LY7WPKIJ.js → chunk-JEYKAALI.js} +2 -2
- package/build/{chunk-LG7HFD33.js → chunk-KNBTUAEM.js} +49 -49
- package/build/{chunk-LG7HFD33.js.map → chunk-KNBTUAEM.js.map} +1 -1
- package/build/{chunk-CTIL75KV.js → chunk-KONVQLDI.js} +191 -106
- package/build/chunk-KONVQLDI.js.map +1 -0
- package/build/{chunk-S5HPLGCO.js → chunk-N2KKXUSW.js} +2 -2
- package/build/{chunk-UC64G5TK.js → chunk-O3R4SBGX.js} +8 -8
- package/build/{chunk-UC64G5TK.js.map → chunk-O3R4SBGX.js.map} +1 -1
- package/build/{chunk-REUV6BGH.js → chunk-OA3CO5CH.js} +4 -4
- package/build/{chunk-SW2F4TAT.js → chunk-OHMQSHHI.js} +2 -2
- package/build/{chunk-4MG6XKFC.js → chunk-PPGFVRTJ.js} +19 -19
- package/build/{chunk-4MG6XKFC.js.map → chunk-PPGFVRTJ.js.map} +1 -1
- package/build/{chunk-36DUOWOE.js → chunk-QDWLTWDB.js} +261 -286
- package/build/{chunk-36DUOWOE.js.map → chunk-QDWLTWDB.js.map} +1 -1
- package/build/{chunk-22NYLYKP.js → chunk-R5RJYQCX.js} +3 -3
- package/build/chunk-RL7RA2JG.js +63 -0
- package/build/chunk-RL7RA2JG.js.map +1 -0
- package/build/{chunk-2WDDWGYF.js → chunk-TXS6FIYJ.js} +11 -2
- package/build/chunk-TXS6FIYJ.js.map +1 -0
- package/build/{chunk-V43UCNDB.js → chunk-UBVEF7HP.js} +3 -3
- package/build/{chunk-K4R5HGYL.js → chunk-UD7IBXRB.js} +514 -502
- package/build/chunk-UD7IBXRB.js.map +1 -0
- package/build/{chunk-6VUT2YWH.js → chunk-WYF75ZKD.js} +37 -34
- package/build/{chunk-6VUT2YWH.js.map → chunk-WYF75ZKD.js.map} +1 -1
- package/build/{chunk-LXKRWX4K.js → chunk-Y7PQOTYY.js} +11 -2
- package/build/{chunk-LXKRWX4K.js.map → chunk-Y7PQOTYY.js.map} +1 -1
- package/build/{chunk-7J6ML7GO.js → chunk-Z2CMHMLR.js} +5 -5
- package/build/{chunk-EKIOJ6JP.js → chunk-ZUSQSFTR.js} +8 -8
- package/build/{chunk-EKIOJ6JP.js.map → chunk-ZUSQSFTR.js.map} +1 -1
- package/build/{chunk-LLFDPUTB.js → chunk-ZW47BBFN.js} +7 -7
- package/build/{chunk-LLFDPUTB.js.map → chunk-ZW47BBFN.js.map} +1 -1
- package/build/{dev-AFEUGIXK.js → dev-LDM6OLLM.js} +36 -28
- package/build/dev-LDM6OLLM.js.map +1 -0
- package/build/{env-pull-V7KPXSNR.js → env-pull-3ZQSRNUH.js} +16 -16
- package/build/index.js +31 -31
- package/build/index.js.map +1 -1
- package/build/{install-E3SPSIL6.js → install-ZDOXIHH4.js} +20 -20
- package/build/{preview-CAK23HJ5.js → preview-HURWRYHS.js} +18 -18
- package/build/{publish-HTEOPPWC.js → publish-VVW4FJOF.js} +22 -22
- package/build/{publish-HTEOPPWC.js.map → publish-VVW4FJOF.js.map} +1 -1
- package/build/{render-command-L2ANKHFZ.js → render-command-4MA6YZOY.js} +13 -13
- package/build/{render-command-FLIYZR72.js → render-command-4OBSK4BJ.js} +13 -13
- package/build/render-command-DCPQETAV.js +31 -0
- package/build/{render-command-3K4YEWKB.js → render-command-MISU5ZPA.js} +15 -15
- package/build/{render-command-M2UXLXTM.js → render-command-XWYG7PUO.js} +13 -13
- package/build/run-command-YEACE77L.js +22 -0
- package/build/{src-JCAHG5G6.js → src-5F475KDA.js} +32 -32
- package/build/{src-JCAHG5G6.js.map → src-5F475KDA.js.map} +1 -1
- package/build/{src-WHDDPOJQ.js → src-CX7XY6QB.js} +18 -18
- package/build/{src-MXAHA5ST.js → src-DKZYL2FY.js} +4 -4
- package/build/{src-ETJJ43OG.js → src-KRCQLOLK.js} +8 -8
- package/build/{src-EORJLJ3C.js → src-MAT27XAW.js} +6 -6
- package/build/{src-EDQ37VLS.js → src-NUAMLSQ2.js} +15 -15
- package/build/{src-QMP46QVT.js → src-ZBCEMLKE.js} +7 -7
- package/build/{sync-types-N4G6WV5Z.js → sync-types-XZO4O6WO.js} +13 -13
- package/build/{uninstall-QXPPP7M3.js → uninstall-IR66L6TR.js} +20 -20
- package/package.json +2 -2
- package/build/DevCommand-QDVPFDC3.js.map +0 -1
- package/build/EnvPullCommand-I52BDY3D.js +0 -30
- package/build/PreviewCommand-627KVG42.js.map +0 -1
- package/build/chunk-2WDDWGYF.js.map +0 -1
- package/build/chunk-7ABASOTN.js.map +0 -1
- package/build/chunk-CTIL75KV.js.map +0 -1
- package/build/chunk-JJ6PVZ7K.js +0 -48
- package/build/chunk-K4R5HGYL.js.map +0 -1
- package/build/chunk-OSPXR5PI.js +0 -60
- package/build/chunk-OSPXR5PI.js.map +0 -1
- package/build/chunk-ZXYGJZOO.js.map +0 -1
- package/build/dev-AFEUGIXK.js.map +0 -1
- package/build/render-command-KSKCNAIE.js +0 -31
- package/build/run-command-EE6XIELH.js +0 -22
- /package/build/{DevCommand-SW5QG3EQ.js.map → DevCommand-DJOVM34F.js.map} +0 -0
- /package/build/{DevCommand-PXHEAQAL.js.map → DevCommand-PGCNN5XY.js.map} +0 -0
- /package/build/{EnvPullCommand-I52BDY3D.js.map → EnvPullCommand-ODAOSFNY.js.map} +0 -0
- /package/build/{EnvRemoveCommand-UZDY5CBA.js.map → EnvRemoveCommand-BZSR6QDV.js.map} +0 -0
- /package/build/{EnvSetCommand-ZFJLWS6Z.js.map → EnvSetCommand-FT2XLNDB.js.map} +0 -0
- /package/build/{InstallCommand-5WIU4KJI.js.map → InstallCommand-Z6PVUDZ2.js.map} +0 -0
- /package/build/{LoginCommand-IB5AZVR6.js.map → LoginCommand-43V7K36C.js.map} +0 -0
- /package/build/{LogoutCommand-AZNDP5US.js.map → LogoutCommand-YJIOC473.js.map} +0 -0
- /package/build/{PreviewCommand-3HUO3OS7.js.map → PreviewCommand-PMRWVEXH.js.map} +0 -0
- /package/build/{PreviewCommand-LBUDGW3Y.js.map → PreviewCommand-ZM4AEALO.js.map} +0 -0
- /package/build/{PublishCommand-AYRG7EWO.js.map → PublishCommand-XH52PJUF.js.map} +0 -0
- /package/build/{ReleaseCommand-HBHUINN2.js.map → ReleaseCommand-X23ZAHRS.js.map} +0 -0
- /package/build/{UninstallCommand-WQUBAUAX.js.map → UninstallCommand-EDIVWWSN.js.map} +0 -0
- /package/build/{WhoamiCommand-CBQ55746.js.map → WhoamiCommand-ERE5KRK5.js.map} +0 -0
- /package/build/{chunk-MACNBB4Z.js.map → chunk-2ODMSMLQ.js.map} +0 -0
- /package/build/{chunk-DPYSUDZL.js.map → chunk-45TMHMTJ.js.map} +0 -0
- /package/build/{chunk-7DPHWL5Q.js.map → chunk-46UBNWDE.js.map} +0 -0
- /package/build/{chunk-C57C5VQT.js.map → chunk-726LL6JB.js.map} +0 -0
- /package/build/{chunk-2655XJHU.js.map → chunk-73MIX2O2.js.map} +0 -0
- /package/build/{chunk-DJHDYTUX.js.map → chunk-AHOU27PT.js.map} +0 -0
- /package/build/{chunk-SX5ANDWH.js.map → chunk-AU7LQEOT.js.map} +0 -0
- /package/build/{chunk-3O4FYLKE.js.map → chunk-AXD3UW3R.js.map} +0 -0
- /package/build/{chunk-BBSCL7QD.js.map → chunk-B5WA4Z63.js.map} +0 -0
- /package/build/{chunk-JFQWMWVU.js.map → chunk-CDY6L7PA.js.map} +0 -0
- /package/build/{chunk-RFG42N5O.js.map → chunk-CM2XSGSM.js.map} +0 -0
- /package/build/{chunk-OWYUMYID.js.map → chunk-CPSZ7QTC.js.map} +0 -0
- /package/build/{chunk-OZ7FYGCP.js.map → chunk-DR4RSQZ7.js.map} +0 -0
- /package/build/{chunk-UOIFOI6P.js.map → chunk-E3K64ZZV.js.map} +0 -0
- /package/build/{chunk-Y5R2NROG.js.map → chunk-EUL3GKZI.js.map} +0 -0
- /package/build/{chunk-5DS3BZB2.js.map → chunk-FHQ23JQX.js.map} +0 -0
- /package/build/{chunk-A5I45GO6.js.map → chunk-II7O6SCF.js.map} +0 -0
- /package/build/{chunk-OEFE6BTD.js.map → chunk-IUJ26DW6.js.map} +0 -0
- /package/build/{chunk-LY7WPKIJ.js.map → chunk-JEYKAALI.js.map} +0 -0
- /package/build/{chunk-S5HPLGCO.js.map → chunk-N2KKXUSW.js.map} +0 -0
- /package/build/{chunk-REUV6BGH.js.map → chunk-OA3CO5CH.js.map} +0 -0
- /package/build/{chunk-SW2F4TAT.js.map → chunk-OHMQSHHI.js.map} +0 -0
- /package/build/{chunk-22NYLYKP.js.map → chunk-R5RJYQCX.js.map} +0 -0
- /package/build/{chunk-V43UCNDB.js.map → chunk-UBVEF7HP.js.map} +0 -0
- /package/build/{chunk-7J6ML7GO.js.map → chunk-Z2CMHMLR.js.map} +0 -0
- /package/build/{env-pull-V7KPXSNR.js.map → env-pull-3ZQSRNUH.js.map} +0 -0
- /package/build/{install-E3SPSIL6.js.map → install-ZDOXIHH4.js.map} +0 -0
- /package/build/{preview-CAK23HJ5.js.map → preview-HURWRYHS.js.map} +0 -0
- /package/build/{render-command-L2ANKHFZ.js.map → render-command-4MA6YZOY.js.map} +0 -0
- /package/build/{render-command-FLIYZR72.js.map → render-command-4OBSK4BJ.js.map} +0 -0
- /package/build/{render-command-KSKCNAIE.js.map → render-command-DCPQETAV.js.map} +0 -0
- /package/build/{render-command-3K4YEWKB.js.map → render-command-MISU5ZPA.js.map} +0 -0
- /package/build/{render-command-M2UXLXTM.js.map → render-command-XWYG7PUO.js.map} +0 -0
- /package/build/{run-command-EE6XIELH.js.map → run-command-YEACE77L.js.map} +0 -0
- /package/build/{src-WHDDPOJQ.js.map → src-CX7XY6QB.js.map} +0 -0
- /package/build/{src-EORJLJ3C.js.map → src-DKZYL2FY.js.map} +0 -0
- /package/build/{src-ETJJ43OG.js.map → src-KRCQLOLK.js.map} +0 -0
- /package/build/{src-MXAHA5ST.js.map → src-MAT27XAW.js.map} +0 -0
- /package/build/{src-EDQ37VLS.js.map → src-NUAMLSQ2.js.map} +0 -0
- /package/build/{src-QMP46QVT.js.map → src-ZBCEMLKE.js.map} +0 -0
- /package/build/{sync-types-N4G6WV5Z.js.map → sync-types-XZO4O6WO.js.map} +0 -0
- /package/build/{uninstall-QXPPP7M3.js.map → uninstall-IR66L6TR.js.map} +0 -0
|
@@ -3,7 +3,7 @@ const require = _createRequire(import.meta.url);
|
|
|
3
3
|
import {
|
|
4
4
|
resolveUrl,
|
|
5
5
|
serializer
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-KONVQLDI.js";
|
|
7
7
|
import {
|
|
8
8
|
init_esm_shims
|
|
9
9
|
} from "./chunk-4EFJZ3GQ.js";
|
|
@@ -96,6 +96,9 @@ function pagesDiff(payload) {
|
|
|
96
96
|
entityFqdn: "wix.velo.apps.v1.app",
|
|
97
97
|
method: "POST",
|
|
98
98
|
methodFqn: "wix.velo.apps.v1.LifecycleService.PagesDiff",
|
|
99
|
+
migrationOptions: {
|
|
100
|
+
optInTransformResponse: true
|
|
101
|
+
},
|
|
99
102
|
url: resolveWixVeloAppsV1LifecycleServiceUrl({
|
|
100
103
|
protoPath: "/v1/pages-diff",
|
|
101
104
|
data: serializedData,
|
|
@@ -120,6 +123,9 @@ function createApp(payload) {
|
|
|
120
123
|
entityFqdn: "wix.velo.apps.v1.app",
|
|
121
124
|
method: "POST",
|
|
122
125
|
methodFqn: "wix.velo.apps.v1.LifecycleService.CreateApp",
|
|
126
|
+
migrationOptions: {
|
|
127
|
+
optInTransformResponse: true
|
|
128
|
+
},
|
|
123
129
|
url: resolveWixVeloAppsV1LifecycleServiceUrl({
|
|
124
130
|
protoPath: "/v1/apps",
|
|
125
131
|
data: serializedData,
|
|
@@ -144,6 +150,9 @@ function deployApp(payload) {
|
|
|
144
150
|
entityFqdn: "wix.velo.apps.v1.app",
|
|
145
151
|
method: "POST",
|
|
146
152
|
methodFqn: "wix.velo.apps.v1.LifecycleService.DeployApp",
|
|
153
|
+
migrationOptions: {
|
|
154
|
+
optInTransformResponse: true
|
|
155
|
+
},
|
|
147
156
|
url: resolveWixVeloAppsV1LifecycleServiceUrl({
|
|
148
157
|
protoPath: "/v1/apps/deploy",
|
|
149
158
|
data: serializedData,
|
|
@@ -168,4 +177,4 @@ export {
|
|
|
168
177
|
createApp,
|
|
169
178
|
deployApp
|
|
170
179
|
};
|
|
171
|
-
//# sourceMappingURL=chunk-
|
|
180
|
+
//# sourceMappingURL=chunk-Y7PQOTYY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/@wix/ambassador-velo-apps-v1-app/types.impl.ts","../../../node_modules/@wix/ambassador-velo-apps-v1-app/http.impl.ts"],"sourcesContent":[null,null],"mappings":";;;;;;;;;;;AAsBA;AACA,IAAY;CAAZ,SAAYA,UAAO;AAEjB,EAAAA,SAAA,MAAA,IAAA;AAKA,EAAAA,SAAA,eAAA,IAAA;AACF,GARY,YAAA,UAAO,CAAA,EAAA;AAsDnB,IAAY;CAAZ,SAAYC,gBAAa;AAEvB,EAAAA,eAAA,yBAAA,IAAA;AAEA,EAAAA,eAAA,QAAA,IAAA;AAEA,EAAAA,eAAA,QAAA,IAAA;AAEA,EAAAA,eAAA,eAAA,IAAA;AAEA,EAAAA,eAAA,SAAA,IAAA;AACF,GAXY,kBAAA,gBAAa,CAAA,EAAA;AA6MzB,IAAY;CAAZ,SAAYC,sBAAmB;AAE7B,EAAAA,qBAAA,SAAA,IAAA;AAEA,EAAAA,qBAAA,IAAA,IAAA;AAEA,EAAAA,qBAAA,IAAA,IAAA;AACF,GAPY,wBAAA,sBAAmB,CAAA,EAAA;AAc/B,IAAY;CAAZ,SAAYC,UAAO;AAEjB,EAAAA,SAAA,SAAA,IAAA;AAEA,EAAAA,SAAA,SAAA,IAAA;AACF,GALY,YAAA,UAAO,CAAA,EAAA;AA6WnB,IAAY;CAAZ,SAAYC,sBAAmB;AAC7B,EAAAA,qBAAA,SAAA,IAAA;AACA,EAAAA,qBAAA,mBAAA,IAAA;AACA,EAAAA,qBAAA,QAAA,IAAA;AACA,EAAAA,qBAAA,UAAA,IAAA;AACA,EAAAA,qBAAA,KAAA,IAAA;AACF,GANY,wBAAA,sBAAmB,CAAA,EAAA;;;ACpnB/B;AAQA,IAAM,oBAAoB,CAAA;AAC1B,IAAM,qBAAqB,CAAA;AAC3B,IAAM,oBAAoB,CAAA;AAC1B,IAAM,qBAAqB,CAAA;AAS3B,IAAM,oBAAoB,CAAA;AAC1B,IAAM,qBAAqB,CAAA;AAI3B,SAAS,wCACP,MAA8C;AAE9C,MAAM,mBAAmB;IACvB,sBAAsB;MACpB;QACE,SAAS;QACT,UAAU;;;IAGd,wBAAwB;MACtB;QACE,SAAS;QACT,UAAU;;;IAGd,wBAAwB;MACtB;QACE,SAAS;QACT,UAAU;;;IAGd,kBAAkB;MAChB;QACE,SAAS;QACT,UAAU;;;IAGd,wBAAwB;MACtB;QACE,SAAS;QACT,UAAU;;;;AAKhB,SAAO,WAAW,OAAO,OAAO,MAAM,EAAE,iBAAgB,CAAE,CAAC;AAC7D;AAMM,SAAU,UACd,SAAyB;AAEnB,MAAA,KAAuC,WAC3C,mBACA,CAAA,CAAE,GAFY,QAAK,GAAA,QAAY,UAAO,GAAA;AAIhC,MAAU,UAAY,WAAW,oBAAoB,CAAA,CAAE,EAAC;AAEhE,WAAS,YAAYC,KAAa;QAAX,OAAIA,IAAA;AACzB,QAAM,iBAAiB,MAAM,OAAO;AACpC,QAAM,WAAW;MACf,YAAY;MACZ,QAAQ;MACR,WAAW;MACX,KAAK,wCAAwC;QAC3C,WAAW;QACX,MAAM;QACN;OACD;MACD,MAAM;MACN,mBAAmB;;AAGrB,WAAO;EACT;AAEA,cAAY,UAAU;AACtB,cAAY,iBAAiB;AAC7B,SAAO;AACT;AAQM,SAAU,UAAU,SAAyB;AAK3C,MAAA,KAAuC,WAC3C,mBACA,CAAA,CAAE,GAFY,QAAK,GAAA,QAAY,UAAO,GAAA;AAIhC,MAAU,UAAY,WAAW,oBAAoB,CAAA,CAAE,EAAC;AAEhE,WAAS,YAAYA,KAAa;QAAX,OAAIA,IAAA;AACzB,QAAM,iBAAiB,MAAM,OAAO;AACpC,QAAM,WAAW;MACf,YAAY;MACZ,QAAQ;MACR,WAAW;MACX,KAAK,wCAAwC;QAC3C,WAAW;QACX,MAAM;QACN;OACD;MACD,MAAM;MACN,mBAAmB;;AAGrB,WAAO;EACT;AAEA,cAAY,UAAU;AACtB,cAAY,iBAAiB;AAC7B,SAAO;AACT;
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/@wix/ambassador-velo-apps-v1-app/types.impl.ts","../../../node_modules/@wix/ambassador-velo-apps-v1-app/http.impl.ts"],"sourcesContent":[null,null],"mappings":"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","names":["AppType","GridAppLayout","DeploymentOperation","RcLabel","WebhookIdentityType","_a","_a"]}
|
|
@@ -5,18 +5,18 @@ import {
|
|
|
5
5
|
} from "./chunk-V23RKBE2.js";
|
|
6
6
|
import {
|
|
7
7
|
GridAppLayout
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-Y7PQOTYY.js";
|
|
9
9
|
import {
|
|
10
10
|
extractHttpError,
|
|
11
11
|
isHttpApplicationError
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-KONVQLDI.js";
|
|
13
13
|
import {
|
|
14
14
|
WIX_LOCK_FILENAME,
|
|
15
15
|
getSourceFolder
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-IWQIW4GL.js";
|
|
17
17
|
import {
|
|
18
18
|
pathExists
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-ZUSQSFTR.js";
|
|
20
20
|
import {
|
|
21
21
|
CliError,
|
|
22
22
|
CliErrorCode
|
|
@@ -108,4 +108,4 @@ export {
|
|
|
108
108
|
isSiteNotPublishedError,
|
|
109
109
|
loadProjectGridAppContent
|
|
110
110
|
};
|
|
111
|
-
//# sourceMappingURL=chunk-
|
|
111
|
+
//# sourceMappingURL=chunk-Z2CMHMLR.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createRequire as _createRequire } from 'node:module';
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
|
-
|
|
5
|
-
} from "./chunk-
|
|
4
|
+
external_exports
|
|
5
|
+
} from "./chunk-F43XHKVL.js";
|
|
6
6
|
import {
|
|
7
7
|
CliError,
|
|
8
8
|
CliErrorCode
|
|
@@ -365,11 +365,11 @@ var import_dotenv = __toESM(require_main(), 1);
|
|
|
365
365
|
|
|
366
366
|
// ../cli-fs/src/schemas.ts
|
|
367
367
|
init_esm_shims();
|
|
368
|
-
var packageJsonSchema =
|
|
369
|
-
dependencies:
|
|
370
|
-
devDependencies:
|
|
371
|
-
peerDependencies:
|
|
372
|
-
scripts:
|
|
368
|
+
var packageJsonSchema = external_exports.object({
|
|
369
|
+
dependencies: external_exports.record(external_exports.string()).optional(),
|
|
370
|
+
devDependencies: external_exports.record(external_exports.string()).optional(),
|
|
371
|
+
peerDependencies: external_exports.record(external_exports.string()).optional(),
|
|
372
|
+
scripts: external_exports.record(external_exports.string()).optional()
|
|
373
373
|
});
|
|
374
374
|
|
|
375
375
|
// ../cli-fs/src/index.ts
|
|
@@ -496,4 +496,4 @@ export {
|
|
|
496
496
|
writePackageJson,
|
|
497
497
|
updateEnvFile
|
|
498
498
|
};
|
|
499
|
-
//# sourceMappingURL=chunk-
|
|
499
|
+
//# sourceMappingURL=chunk-ZUSQSFTR.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/dotenv/package.json","../../../node_modules/dotenv/lib/main.js","../../cli-fs/src/index.ts","../../cli-fs/src/schemas.ts"],"sourcesContent":["{\n \"name\": \"dotenv\",\n \"version\": \"16.5.0\",\n \"description\": \"Loads environment variables from .env file\",\n \"main\": \"lib/main.js\",\n \"types\": \"lib/main.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./lib/main.d.ts\",\n \"require\": \"./lib/main.js\",\n \"default\": \"./lib/main.js\"\n },\n \"./config\": \"./config.js\",\n \"./config.js\": \"./config.js\",\n \"./lib/env-options\": \"./lib/env-options.js\",\n \"./lib/env-options.js\": \"./lib/env-options.js\",\n \"./lib/cli-options\": \"./lib/cli-options.js\",\n \"./lib/cli-options.js\": \"./lib/cli-options.js\",\n \"./package.json\": \"./package.json\"\n },\n \"scripts\": {\n \"dts-check\": \"tsc --project tests/types/tsconfig.json\",\n \"lint\": \"standard\",\n \"pretest\": \"npm run lint && npm run dts-check\",\n \"test\": \"tap run --allow-empty-coverage --disable-coverage --timeout=60000\",\n \"test:coverage\": \"tap run --show-full-coverage --timeout=60000 --coverage-report=lcov\",\n \"prerelease\": \"npm test\",\n \"release\": \"standard-version\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git://github.com/motdotla/dotenv.git\"\n },\n \"homepage\": \"https://github.com/motdotla/dotenv#readme\",\n \"funding\": \"https://dotenvx.com\",\n \"keywords\": [\n \"dotenv\",\n \"env\",\n \".env\",\n \"environment\",\n \"variables\",\n \"config\",\n \"settings\"\n ],\n \"readmeFilename\": \"README.md\",\n \"license\": \"BSD-2-Clause\",\n \"devDependencies\": {\n \"@types/node\": \"^18.11.3\",\n \"decache\": \"^4.6.2\",\n \"sinon\": \"^14.0.1\",\n \"standard\": \"^17.0.0\",\n \"standard-version\": \"^9.5.0\",\n \"tap\": \"^19.2.0\",\n \"typescript\": \"^4.8.4\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"browser\": {\n \"fs\": false\n }\n}\n","const fs = require('fs')\nconst path = require('path')\nconst os = require('os')\nconst crypto = require('crypto')\nconst packageJson = require('../package.json')\n\nconst version = packageJson.version\n\nconst LINE = /(?:^|^)\\s*(?:export\\s+)?([\\w.-]+)(?:\\s*=\\s*?|:\\s+?)(\\s*'(?:\\\\'|[^'])*'|\\s*\"(?:\\\\\"|[^\"])*\"|\\s*`(?:\\\\`|[^`])*`|[^#\\r\\n]+)?\\s*(?:#.*)?(?:$|$)/mg\n\n// Parse src into an Object\nfunction parse (src) {\n const obj = {}\n\n // Convert buffer to string\n let lines = src.toString()\n\n // Convert line breaks to same format\n lines = lines.replace(/\\r\\n?/mg, '\\n')\n\n let match\n while ((match = LINE.exec(lines)) != null) {\n const key = match[1]\n\n // Default undefined or null to empty string\n let value = (match[2] || '')\n\n // Remove whitespace\n value = value.trim()\n\n // Check if double quoted\n const maybeQuote = value[0]\n\n // Remove surrounding quotes\n value = value.replace(/^(['\"`])([\\s\\S]*)\\1$/mg, '$2')\n\n // Expand newlines if double quoted\n if (maybeQuote === '\"') {\n value = value.replace(/\\\\n/g, '\\n')\n value = value.replace(/\\\\r/g, '\\r')\n }\n\n // Add to object\n obj[key] = value\n }\n\n return obj\n}\n\nfunction _parseVault (options) {\n const vaultPath = _vaultPath(options)\n\n // Parse .env.vault\n const result = DotenvModule.configDotenv({ path: vaultPath })\n if (!result.parsed) {\n const err = new Error(`MISSING_DATA: Cannot parse ${vaultPath} for an unknown reason`)\n err.code = 'MISSING_DATA'\n throw err\n }\n\n // handle scenario for comma separated keys - for use with key rotation\n // example: DOTENV_KEY=\"dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=prod,dotenv://:key_7890@dotenvx.com/vault/.env.vault?environment=prod\"\n const keys = _dotenvKey(options).split(',')\n const length = keys.length\n\n let decrypted\n for (let i = 0; i < length; i++) {\n try {\n // Get full key\n const key = keys[i].trim()\n\n // Get instructions for decrypt\n const attrs = _instructions(result, key)\n\n // Decrypt\n decrypted = DotenvModule.decrypt(attrs.ciphertext, attrs.key)\n\n break\n } catch (error) {\n // last key\n if (i + 1 >= length) {\n throw error\n }\n // try next key\n }\n }\n\n // Parse decrypted .env string\n return DotenvModule.parse(decrypted)\n}\n\nfunction _warn (message) {\n console.log(`[dotenv@${version}][WARN] ${message}`)\n}\n\nfunction _debug (message) {\n console.log(`[dotenv@${version}][DEBUG] ${message}`)\n}\n\nfunction _dotenvKey (options) {\n // prioritize developer directly setting options.DOTENV_KEY\n if (options && options.DOTENV_KEY && options.DOTENV_KEY.length > 0) {\n return options.DOTENV_KEY\n }\n\n // secondary infra already contains a DOTENV_KEY environment variable\n if (process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0) {\n return process.env.DOTENV_KEY\n }\n\n // fallback to empty string\n return ''\n}\n\nfunction _instructions (result, dotenvKey) {\n // Parse DOTENV_KEY. Format is a URI\n let uri\n try {\n uri = new URL(dotenvKey)\n } catch (error) {\n if (error.code === 'ERR_INVALID_URL') {\n const err = new Error('INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n }\n\n throw error\n }\n\n // Get decrypt key\n const key = uri.password\n if (!key) {\n const err = new Error('INVALID_DOTENV_KEY: Missing key part')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n }\n\n // Get environment\n const environment = uri.searchParams.get('environment')\n if (!environment) {\n const err = new Error('INVALID_DOTENV_KEY: Missing environment part')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n }\n\n // Get ciphertext payload\n const environmentKey = `DOTENV_VAULT_${environment.toUpperCase()}`\n const ciphertext = result.parsed[environmentKey] // DOTENV_VAULT_PRODUCTION\n if (!ciphertext) {\n const err = new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${environmentKey} in your .env.vault file.`)\n err.code = 'NOT_FOUND_DOTENV_ENVIRONMENT'\n throw err\n }\n\n return { ciphertext, key }\n}\n\nfunction _vaultPath (options) {\n let possibleVaultPath = null\n\n if (options && options.path && options.path.length > 0) {\n if (Array.isArray(options.path)) {\n for (const filepath of options.path) {\n if (fs.existsSync(filepath)) {\n possibleVaultPath = filepath.endsWith('.vault') ? filepath : `${filepath}.vault`\n }\n }\n } else {\n possibleVaultPath = options.path.endsWith('.vault') ? options.path : `${options.path}.vault`\n }\n } else {\n possibleVaultPath = path.resolve(process.cwd(), '.env.vault')\n }\n\n if (fs.existsSync(possibleVaultPath)) {\n return possibleVaultPath\n }\n\n return null\n}\n\nfunction _resolveHome (envPath) {\n return envPath[0] === '~' ? path.join(os.homedir(), envPath.slice(1)) : envPath\n}\n\nfunction _configVault (options) {\n const debug = Boolean(options && options.debug)\n if (debug) {\n _debug('Loading env from encrypted .env.vault')\n }\n\n const parsed = DotenvModule._parseVault(options)\n\n let processEnv = process.env\n if (options && options.processEnv != null) {\n processEnv = options.processEnv\n }\n\n DotenvModule.populate(processEnv, parsed, options)\n\n return { parsed }\n}\n\nfunction configDotenv (options) {\n const dotenvPath = path.resolve(process.cwd(), '.env')\n let encoding = 'utf8'\n const debug = Boolean(options && options.debug)\n\n if (options && options.encoding) {\n encoding = options.encoding\n } else {\n if (debug) {\n _debug('No encoding is specified. UTF-8 is used by default')\n }\n }\n\n let optionPaths = [dotenvPath] // default, look for .env\n if (options && options.path) {\n if (!Array.isArray(options.path)) {\n optionPaths = [_resolveHome(options.path)]\n } else {\n optionPaths = [] // reset default\n for (const filepath of options.path) {\n optionPaths.push(_resolveHome(filepath))\n }\n }\n }\n\n // Build the parsed data in a temporary object (because we need to return it). Once we have the final\n // parsed data, we will combine it with process.env (or options.processEnv if provided).\n let lastError\n const parsedAll = {}\n for (const path of optionPaths) {\n try {\n // Specifying an encoding returns a string instead of a buffer\n const parsed = DotenvModule.parse(fs.readFileSync(path, { encoding }))\n\n DotenvModule.populate(parsedAll, parsed, options)\n } catch (e) {\n if (debug) {\n _debug(`Failed to load ${path} ${e.message}`)\n }\n lastError = e\n }\n }\n\n let processEnv = process.env\n if (options && options.processEnv != null) {\n processEnv = options.processEnv\n }\n\n DotenvModule.populate(processEnv, parsedAll, options)\n\n if (lastError) {\n return { parsed: parsedAll, error: lastError }\n } else {\n return { parsed: parsedAll }\n }\n}\n\n// Populates process.env from .env file\nfunction config (options) {\n // fallback to original dotenv if DOTENV_KEY is not set\n if (_dotenvKey(options).length === 0) {\n return DotenvModule.configDotenv(options)\n }\n\n const vaultPath = _vaultPath(options)\n\n // dotenvKey exists but .env.vault file does not exist\n if (!vaultPath) {\n _warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${vaultPath}. Did you forget to build it?`)\n\n return DotenvModule.configDotenv(options)\n }\n\n return DotenvModule._configVault(options)\n}\n\nfunction decrypt (encrypted, keyStr) {\n const key = Buffer.from(keyStr.slice(-64), 'hex')\n let ciphertext = Buffer.from(encrypted, 'base64')\n\n const nonce = ciphertext.subarray(0, 12)\n const authTag = ciphertext.subarray(-16)\n ciphertext = ciphertext.subarray(12, -16)\n\n try {\n const aesgcm = crypto.createDecipheriv('aes-256-gcm', key, nonce)\n aesgcm.setAuthTag(authTag)\n return `${aesgcm.update(ciphertext)}${aesgcm.final()}`\n } catch (error) {\n const isRange = error instanceof RangeError\n const invalidKeyLength = error.message === 'Invalid key length'\n const decryptionFailed = error.message === 'Unsupported state or unable to authenticate data'\n\n if (isRange || invalidKeyLength) {\n const err = new Error('INVALID_DOTENV_KEY: It must be 64 characters long (or more)')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n } else if (decryptionFailed) {\n const err = new Error('DECRYPTION_FAILED: Please check your DOTENV_KEY')\n err.code = 'DECRYPTION_FAILED'\n throw err\n } else {\n throw error\n }\n }\n}\n\n// Populate process.env with parsed values\nfunction populate (processEnv, parsed, options = {}) {\n const debug = Boolean(options && options.debug)\n const override = Boolean(options && options.override)\n\n if (typeof parsed !== 'object') {\n const err = new Error('OBJECT_REQUIRED: Please check the processEnv argument being passed to populate')\n err.code = 'OBJECT_REQUIRED'\n throw err\n }\n\n // Set process.env\n for (const key of Object.keys(parsed)) {\n if (Object.prototype.hasOwnProperty.call(processEnv, key)) {\n if (override === true) {\n processEnv[key] = parsed[key]\n }\n\n if (debug) {\n if (override === true) {\n _debug(`\"${key}\" is already defined and WAS overwritten`)\n } else {\n _debug(`\"${key}\" is already defined and was NOT overwritten`)\n }\n }\n } else {\n processEnv[key] = parsed[key]\n }\n }\n}\n\nconst DotenvModule = {\n configDotenv,\n _configVault,\n _parseVault,\n config,\n decrypt,\n parse,\n populate\n}\n\nmodule.exports.configDotenv = DotenvModule.configDotenv\nmodule.exports._configVault = DotenvModule._configVault\nmodule.exports._parseVault = DotenvModule._parseVault\nmodule.exports.config = DotenvModule.config\nmodule.exports.decrypt = DotenvModule.decrypt\nmodule.exports.parse = DotenvModule.parse\nmodule.exports.populate = DotenvModule.populate\n\nmodule.exports = DotenvModule\n","import {\n access,\n readFile as fsReadFile,\n writeFile,\n mkdir,\n} from 'node:fs/promises';\nimport { dirname, join, relative } from 'node:path';\nimport { EOL } from 'node:os';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport dotenv from 'dotenv';\nimport { packageJsonSchema } from './schemas.js';\nimport type { PackageJson } from './schemas.js';\n\nexport function toJsonString(object: unknown, opts?: { spaces: number }) {\n return JSON.stringify(object, null, opts?.spaces).concat(EOL);\n}\n\nexport async function writeJson(\n filePath: string,\n object: unknown,\n opts?: { spaces: number }\n) {\n const str = toJsonString(object, opts);\n await outputDir(dirname(filePath));\n\n try {\n await writeFile(filePath, str, 'utf-8');\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToWriteJson({ filePath }),\n cause: e,\n });\n }\n}\n\nexport async function readJson(file: string): Promise<unknown> {\n let content = null;\n try {\n content = await fsReadFile(file, 'utf-8');\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToReadJson({ filePath: file }),\n cause: e,\n });\n }\n\n try {\n return JSON.parse(content);\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.InvalidJsonFile({ filePath: file }),\n cause: e,\n });\n }\n}\n\nexport async function readFile(file: string): Promise<Buffer>;\nexport async function readFile(\n file: string,\n encoding: 'utf-8'\n): Promise<string>;\nexport async function readFile(file: string, encoding?: 'utf-8') {\n try {\n return await fsReadFile(file, encoding);\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToReadFile({ filePath: file }),\n cause: e,\n });\n }\n}\n\nexport function pathExists(path: string) {\n return access(path)\n .then(() => true)\n .catch(() => false);\n}\n\nexport async function outputFile(file: string, content: string | Uint8Array) {\n await outputDir(dirname(file));\n\n try {\n await writeFile(file, content, 'utf-8');\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToWriteFile({ filePath: file }),\n cause: e,\n });\n }\n}\n\nexport async function outputDir(dir: string) {\n try {\n await mkdir(dir, { recursive: true });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToCreateDir({ dirPath: dir }),\n cause: e,\n });\n }\n}\n\nexport async function readPackageJson(projectFolder: string) {\n const packageJsonPath = join(projectFolder, 'package.json');\n\n const json = await readJson(packageJsonPath);\n const parsedPackageJson = await packageJsonSchema.safeParseAsync(json);\n\n if (!parsedPackageJson.success) {\n throw new CliError({\n code: CliErrorCode.InvalidConfigSchemaError({\n configPath: packageJsonPath,\n zodError: parsedPackageJson.error,\n }),\n cause: parsedPackageJson.error,\n });\n }\n\n /**\n * Returning original json because zod clone object and change the order of keys.\n * It's safe to return the original json because we already validated it.\n */\n return json as PackageJson;\n}\n\nexport function readPackageJsonContent(projectFolder: string) {\n return readFile(join(projectFolder, 'package.json'), 'utf-8');\n}\n\nexport async function writePackageJson(\n projectFolder: string,\n packageJson: PackageJson\n) {\n const packageJsonPath = join(projectFolder, 'package.json');\n\n await writeJson(packageJsonPath, packageJson, { spaces: 2 });\n}\n\nexport function relativeFolderName(rootFolder: string, filePath: string) {\n return relative(rootFolder, dirname(filePath));\n}\n\nexport { type PackageJson } from './schemas.js';\n\nexport async function readEnvFile(source: string) {\n if (await pathExists(source)) {\n try {\n const content = await readFile(source);\n return dotenv.parse(content);\n } catch {\n return {};\n }\n }\n return {};\n}\n\nexport async function updateEnvFile(\n target: string,\n variables: Record<string, string>\n) {\n const mergedEnvVars = {\n ...(await readEnvFile(target)),\n ...variables,\n };\n\n const outputEnvVar = Object.entries(mergedEnvVars)\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join('\\n');\n\n await outputFile(target, outputEnvVar);\n}\n","import { z } from 'zod';\n\nexport const packageJsonSchema = z.object({\n dependencies: z.record(z.string()).optional(),\n devDependencies: z.record(z.string()).optional(),\n peerDependencies: z.record(z.string()).optional(),\n scripts: z.record(z.string()).optional(),\n});\n\nexport type PackageJson = z.infer<typeof packageJsonSchema>;\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,MACE,MAAQ;AAAA,MACR,SAAW;AAAA,MACX,aAAe;AAAA,MACf,MAAQ;AAAA,MACR,OAAS;AAAA,MACT,SAAW;AAAA,QACT,KAAK;AAAA,UACH,OAAS;AAAA,UACT,SAAW;AAAA,UACX,SAAW;AAAA,QACb;AAAA,QACA,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,qBAAqB;AAAA,QACrB,wBAAwB;AAAA,QACxB,qBAAqB;AAAA,QACrB,wBAAwB;AAAA,QACxB,kBAAkB;AAAA,MACpB;AAAA,MACA,SAAW;AAAA,QACT,aAAa;AAAA,QACb,MAAQ;AAAA,QACR,SAAW;AAAA,QACX,MAAQ;AAAA,QACR,iBAAiB;AAAA,QACjB,YAAc;AAAA,QACd,SAAW;AAAA,MACb;AAAA,MACA,YAAc;AAAA,QACZ,MAAQ;AAAA,QACR,KAAO;AAAA,MACT;AAAA,MACA,UAAY;AAAA,MACZ,SAAW;AAAA,MACX,UAAY;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,gBAAkB;AAAA,MAClB,SAAW;AAAA,MACX,iBAAmB;AAAA,QACjB,eAAe;AAAA,QACf,SAAW;AAAA,QACX,OAAS;AAAA,QACT,UAAY;AAAA,QACZ,oBAAoB;AAAA,QACpB,KAAO;AAAA,QACP,YAAc;AAAA,MAChB;AAAA,MACA,SAAW;AAAA,QACT,MAAQ;AAAA,MACV;AAAA,MACA,SAAW;AAAA,QACT,IAAM;AAAA,MACR;AAAA,IACF;AAAA;AAAA;;;AC7DA;AAAA;AAAA;AAAA;AAAA,QAAM,KAAK,UAAQ,IAAI;AACvB,QAAM,OAAO,UAAQ,MAAM;AAC3B,QAAM,KAAK,UAAQ,IAAI;AACvB,QAAM,SAAS,UAAQ,QAAQ;AAC/B,QAAM,cAAc;AAEpB,QAAM,UAAU,YAAY;AAE5B,QAAM,OAAO;AAGb,aAAS,MAAO,KAAK;AACnB,YAAM,MAAM,CAAC;AAGb,UAAI,QAAQ,IAAI,SAAS;AAGzB,cAAQ,MAAM,QAAQ,WAAW,IAAI;AAErC,UAAI;AACJ,cAAQ,QAAQ,KAAK,KAAK,KAAK,MAAM,MAAM;AACzC,cAAM,MAAM,MAAM,CAAC;AAGnB,YAAI,QAAS,MAAM,CAAC,KAAK;AAGzB,gBAAQ,MAAM,KAAK;AAGnB,cAAM,aAAa,MAAM,CAAC;AAG1B,gBAAQ,MAAM,QAAQ,0BAA0B,IAAI;AAGpD,YAAI,eAAe,KAAK;AACtB,kBAAQ,MAAM,QAAQ,QAAQ,IAAI;AAClC,kBAAQ,MAAM,QAAQ,QAAQ,IAAI;AAAA,QACpC;AAGA,YAAI,GAAG,IAAI;AAAA,MACb;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,YAAa,SAAS;AAC7B,YAAM,YAAY,WAAW,OAAO;AAGpC,YAAM,SAAS,aAAa,aAAa,EAAE,MAAM,UAAU,CAAC;AAC5D,UAAI,CAAC,OAAO,QAAQ;AAClB,cAAM,MAAM,IAAI,MAAM,8BAA8B,SAAS,wBAAwB;AACrF,YAAI,OAAO;AACX,cAAM;AAAA,MACR;AAIA,YAAM,OAAO,WAAW,OAAO,EAAE,MAAM,GAAG;AAC1C,YAAM,SAAS,KAAK;AAEpB,UAAI;AACJ,eAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAC/B,YAAI;AAEF,gBAAM,MAAM,KAAK,CAAC,EAAE,KAAK;AAGzB,gBAAM,QAAQ,cAAc,QAAQ,GAAG;AAGvC,sBAAY,aAAa,QAAQ,MAAM,YAAY,MAAM,GAAG;AAE5D;AAAA,QACF,SAAS,OAAO;AAEd,cAAI,IAAI,KAAK,QAAQ;AACnB,kBAAM;AAAA,UACR;AAAA,QAEF;AAAA,MACF;AAGA,aAAO,aAAa,MAAM,SAAS;AAAA,IACrC;AAEA,aAAS,MAAO,SAAS;AACvB,cAAQ,IAAI,WAAW,OAAO,WAAW,OAAO,EAAE;AAAA,IACpD;AAEA,aAAS,OAAQ,SAAS;AACxB,cAAQ,IAAI,WAAW,OAAO,YAAY,OAAO,EAAE;AAAA,IACrD;AAEA,aAAS,WAAY,SAAS;AAE5B,UAAI,WAAW,QAAQ,cAAc,QAAQ,WAAW,SAAS,GAAG;AAClE,eAAO,QAAQ;AAAA,MACjB;AAGA,UAAI,QAAQ,IAAI,cAAc,QAAQ,IAAI,WAAW,SAAS,GAAG;AAC/D,eAAO,QAAQ,IAAI;AAAA,MACrB;AAGA,aAAO;AAAA,IACT;AAEA,aAAS,cAAe,QAAQ,WAAW;AAEzC,UAAI;AACJ,UAAI;AACF,cAAM,IAAI,IAAI,SAAS;AAAA,MACzB,SAAS,OAAO;AACd,YAAI,MAAM,SAAS,mBAAmB;AACpC,gBAAM,MAAM,IAAI,MAAM,4IAA4I;AAClK,cAAI,OAAO;AACX,gBAAM;AAAA,QACR;AAEA,cAAM;AAAA,MACR;AAGA,YAAM,MAAM,IAAI;AAChB,UAAI,CAAC,KAAK;AACR,cAAM,MAAM,IAAI,MAAM,sCAAsC;AAC5D,YAAI,OAAO;AACX,cAAM;AAAA,MACR;AAGA,YAAM,cAAc,IAAI,aAAa,IAAI,aAAa;AACtD,UAAI,CAAC,aAAa;AAChB,cAAM,MAAM,IAAI,MAAM,8CAA8C;AACpE,YAAI,OAAO;AACX,cAAM;AAAA,MACR;AAGA,YAAM,iBAAiB,gBAAgB,YAAY,YAAY,CAAC;AAChE,YAAM,aAAa,OAAO,OAAO,cAAc;AAC/C,UAAI,CAAC,YAAY;AACf,cAAM,MAAM,IAAI,MAAM,2DAA2D,cAAc,2BAA2B;AAC1H,YAAI,OAAO;AACX,cAAM;AAAA,MACR;AAEA,aAAO,EAAE,YAAY,IAAI;AAAA,IAC3B;AAEA,aAAS,WAAY,SAAS;AAC5B,UAAI,oBAAoB;AAExB,UAAI,WAAW,QAAQ,QAAQ,QAAQ,KAAK,SAAS,GAAG;AACtD,YAAI,MAAM,QAAQ,QAAQ,IAAI,GAAG;AAC/B,qBAAW,YAAY,QAAQ,MAAM;AACnC,gBAAI,GAAG,WAAW,QAAQ,GAAG;AAC3B,kCAAoB,SAAS,SAAS,QAAQ,IAAI,WAAW,GAAG,QAAQ;AAAA,YAC1E;AAAA,UACF;AAAA,QACF,OAAO;AACL,8BAAoB,QAAQ,KAAK,SAAS,QAAQ,IAAI,QAAQ,OAAO,GAAG,QAAQ,IAAI;AAAA,QACtF;AAAA,MACF,OAAO;AACL,4BAAoB,KAAK,QAAQ,QAAQ,IAAI,GAAG,YAAY;AAAA,MAC9D;AAEA,UAAI,GAAG,WAAW,iBAAiB,GAAG;AACpC,eAAO;AAAA,MACT;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,aAAc,SAAS;AAC9B,aAAO,QAAQ,CAAC,MAAM,MAAM,KAAK,KAAK,GAAG,QAAQ,GAAG,QAAQ,MAAM,CAAC,CAAC,IAAI;AAAA,IAC1E;AAEA,aAAS,aAAc,SAAS;AAC9B,YAAM,QAAQ,QAAQ,WAAW,QAAQ,KAAK;AAC9C,UAAI,OAAO;AACT,eAAO,uCAAuC;AAAA,MAChD;AAEA,YAAM,SAAS,aAAa,YAAY,OAAO;AAE/C,UAAI,aAAa,QAAQ;AACzB,UAAI,WAAW,QAAQ,cAAc,MAAM;AACzC,qBAAa,QAAQ;AAAA,MACvB;AAEA,mBAAa,SAAS,YAAY,QAAQ,OAAO;AAEjD,aAAO,EAAE,OAAO;AAAA,IAClB;AAEA,aAAS,aAAc,SAAS;AAC9B,YAAM,aAAa,KAAK,QAAQ,QAAQ,IAAI,GAAG,MAAM;AACrD,UAAI,WAAW;AACf,YAAM,QAAQ,QAAQ,WAAW,QAAQ,KAAK;AAE9C,UAAI,WAAW,QAAQ,UAAU;AAC/B,mBAAW,QAAQ;AAAA,MACrB,OAAO;AACL,YAAI,OAAO;AACT,iBAAO,oDAAoD;AAAA,QAC7D;AAAA,MACF;AAEA,UAAI,cAAc,CAAC,UAAU;AAC7B,UAAI,WAAW,QAAQ,MAAM;AAC3B,YAAI,CAAC,MAAM,QAAQ,QAAQ,IAAI,GAAG;AAChC,wBAAc,CAAC,aAAa,QAAQ,IAAI,CAAC;AAAA,QAC3C,OAAO;AACL,wBAAc,CAAC;AACf,qBAAW,YAAY,QAAQ,MAAM;AACnC,wBAAY,KAAK,aAAa,QAAQ,CAAC;AAAA,UACzC;AAAA,QACF;AAAA,MACF;AAIA,UAAI;AACJ,YAAM,YAAY,CAAC;AACnB,iBAAWA,SAAQ,aAAa;AAC9B,YAAI;AAEF,gBAAM,SAAS,aAAa,MAAM,GAAG,aAAaA,OAAM,EAAE,SAAS,CAAC,CAAC;AAErE,uBAAa,SAAS,WAAW,QAAQ,OAAO;AAAA,QAClD,SAAS,GAAG;AACV,cAAI,OAAO;AACT,mBAAO,kBAAkBA,KAAI,IAAI,EAAE,OAAO,EAAE;AAAA,UAC9C;AACA,sBAAY;AAAA,QACd;AAAA,MACF;AAEA,UAAI,aAAa,QAAQ;AACzB,UAAI,WAAW,QAAQ,cAAc,MAAM;AACzC,qBAAa,QAAQ;AAAA,MACvB;AAEA,mBAAa,SAAS,YAAY,WAAW,OAAO;AAEpD,UAAI,WAAW;AACb,eAAO,EAAE,QAAQ,WAAW,OAAO,UAAU;AAAA,MAC/C,OAAO;AACL,eAAO,EAAE,QAAQ,UAAU;AAAA,MAC7B;AAAA,IACF;AAGA,aAAS,OAAQ,SAAS;AAExB,UAAI,WAAW,OAAO,EAAE,WAAW,GAAG;AACpC,eAAO,aAAa,aAAa,OAAO;AAAA,MAC1C;AAEA,YAAM,YAAY,WAAW,OAAO;AAGpC,UAAI,CAAC,WAAW;AACd,cAAM,+DAA+D,SAAS,+BAA+B;AAE7G,eAAO,aAAa,aAAa,OAAO;AAAA,MAC1C;AAEA,aAAO,aAAa,aAAa,OAAO;AAAA,IAC1C;AAEA,aAAS,QAAS,WAAW,QAAQ;AACnC,YAAM,MAAM,OAAO,KAAK,OAAO,MAAM,GAAG,GAAG,KAAK;AAChD,UAAI,aAAa,OAAO,KAAK,WAAW,QAAQ;AAEhD,YAAM,QAAQ,WAAW,SAAS,GAAG,EAAE;AACvC,YAAM,UAAU,WAAW,SAAS,GAAG;AACvC,mBAAa,WAAW,SAAS,IAAI,GAAG;AAExC,UAAI;AACF,cAAM,SAAS,OAAO,iBAAiB,eAAe,KAAK,KAAK;AAChE,eAAO,WAAW,OAAO;AACzB,eAAO,GAAG,OAAO,OAAO,UAAU,CAAC,GAAG,OAAO,MAAM,CAAC;AAAA,MACtD,SAAS,OAAO;AACd,cAAM,UAAU,iBAAiB;AACjC,cAAM,mBAAmB,MAAM,YAAY;AAC3C,cAAM,mBAAmB,MAAM,YAAY;AAE3C,YAAI,WAAW,kBAAkB;AAC/B,gBAAM,MAAM,IAAI,MAAM,6DAA6D;AACnF,cAAI,OAAO;AACX,gBAAM;AAAA,QACR,WAAW,kBAAkB;AAC3B,gBAAM,MAAM,IAAI,MAAM,iDAAiD;AACvE,cAAI,OAAO;AACX,gBAAM;AAAA,QACR,OAAO;AACL,gBAAM;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAGA,aAAS,SAAU,YAAY,QAAQ,UAAU,CAAC,GAAG;AACnD,YAAM,QAAQ,QAAQ,WAAW,QAAQ,KAAK;AAC9C,YAAM,WAAW,QAAQ,WAAW,QAAQ,QAAQ;AAEpD,UAAI,OAAO,WAAW,UAAU;AAC9B,cAAM,MAAM,IAAI,MAAM,gFAAgF;AACtG,YAAI,OAAO;AACX,cAAM;AAAA,MACR;AAGA,iBAAW,OAAO,OAAO,KAAK,MAAM,GAAG;AACrC,YAAI,OAAO,UAAU,eAAe,KAAK,YAAY,GAAG,GAAG;AACzD,cAAI,aAAa,MAAM;AACrB,uBAAW,GAAG,IAAI,OAAO,GAAG;AAAA,UAC9B;AAEA,cAAI,OAAO;AACT,gBAAI,aAAa,MAAM;AACrB,qBAAO,IAAI,GAAG,0CAA0C;AAAA,YAC1D,OAAO;AACL,qBAAO,IAAI,GAAG,8CAA8C;AAAA,YAC9D;AAAA,UACF;AAAA,QACF,OAAO;AACL,qBAAW,GAAG,IAAI,OAAO,GAAG;AAAA,QAC9B;AAAA,MACF;AAAA,IACF;AAEA,QAAM,eAAe;AAAA,MACnB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,WAAO,QAAQ,eAAe,aAAa;AAC3C,WAAO,QAAQ,eAAe,aAAa;AAC3C,WAAO,QAAQ,cAAc,aAAa;AAC1C,WAAO,QAAQ,SAAS,aAAa;AACrC,WAAO,QAAQ,UAAU,aAAa;AACtC,WAAO,QAAQ,QAAQ,aAAa;AACpC,WAAO,QAAQ,WAAW,aAAa;AAEvC,WAAO,UAAU;AAAA;AAAA;;;ACvWjB;AAAA;AAAA,EACE;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,OACK;AACP,SAAS,SAAS,MAAM,gBAAgB;AACxC,SAAS,WAAW;AAEpB,oBAAmB;;;ACTnB;AAEO,IAAM,oBAAoB,EAAE,OAAO;AAAA,EACxC,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EAC5C,iBAAiB,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EAC/C,kBAAkB,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EAChD,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,SAAS;AACzC,CAAC;;;ADMM,SAAS,aAAa,QAAiB,MAA2B;AACvE,SAAO,KAAK,UAAU,QAAQ,MAAM,MAAM,MAAM,EAAE,OAAO,GAAG;AAC9D;AAEA,eAAsB,UACpB,UACA,QACA,MACA;AACA,QAAM,MAAM,aAAa,QAAQ,IAAI;AACrC,QAAM,UAAU,QAAQ,QAAQ,CAAC;AAEjC,MAAI;AACF,UAAM,UAAU,UAAU,KAAK,OAAO;AAAA,EACxC,SAAS,GAAG;AACV,UAAM,IAAI,SAAS;AAAA,MACjB,MAAM,aAAa,kBAAkB,EAAE,SAAS,CAAC;AAAA,MACjD,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AACF;AAEA,eAAsB,SAAS,MAAgC;AAC7D,MAAI,UAAU;AACd,MAAI;AACF,cAAU,MAAM,WAAW,MAAM,OAAO;AAAA,EAC1C,SAAS,GAAG;AACV,UAAM,IAAI,SAAS;AAAA,MACjB,MAAM,aAAa,iBAAiB,EAAE,UAAU,KAAK,CAAC;AAAA,MACtD,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AAEA,MAAI;AACF,WAAO,KAAK,MAAM,OAAO;AAAA,EAC3B,SAAS,GAAG;AACV,UAAM,IAAI,SAAS;AAAA,MACjB,MAAM,aAAa,gBAAgB,EAAE,UAAU,KAAK,CAAC;AAAA,MACrD,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AACF;AAOA,eAAsB,SAAS,MAAc,UAAoB;AAC/D,MAAI;AACF,WAAO,MAAM,WAAW,MAAM,QAAQ;AAAA,EACxC,SAAS,GAAG;AACV,UAAM,IAAI,SAAS;AAAA,MACjB,MAAM,aAAa,iBAAiB,EAAE,UAAU,KAAK,CAAC;AAAA,MACtD,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AACF;AAEO,SAAS,WAAW,MAAc;AACvC,SAAO,OAAO,IAAI,EACf,KAAK,MAAM,IAAI,EACf,MAAM,MAAM,KAAK;AACtB;AAEA,eAAsB,WAAW,MAAc,SAA8B;AAC3E,QAAM,UAAU,QAAQ,IAAI,CAAC;AAE7B,MAAI;AACF,UAAM,UAAU,MAAM,SAAS,OAAO;AAAA,EACxC,SAAS,GAAG;AACV,UAAM,IAAI,SAAS;AAAA,MACjB,MAAM,aAAa,kBAAkB,EAAE,UAAU,KAAK,CAAC;AAAA,MACvD,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AACF;AAEA,eAAsB,UAAU,KAAa;AAC3C,MAAI;AACF,UAAM,MAAM,KAAK,EAAE,WAAW,KAAK,CAAC;AAAA,EACtC,SAAS,GAAG;AACV,UAAM,IAAI,SAAS;AAAA,MACjB,MAAM,aAAa,kBAAkB,EAAE,SAAS,IAAI,CAAC;AAAA,MACrD,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AACF;AAEA,eAAsB,gBAAgB,eAAuB;AAC3D,QAAM,kBAAkB,KAAK,eAAe,cAAc;AAE1D,QAAM,OAAO,MAAM,SAAS,eAAe;AAC3C,QAAM,oBAAoB,MAAM,kBAAkB,eAAe,IAAI;AAErE,MAAI,CAAC,kBAAkB,SAAS;AAC9B,UAAM,IAAI,SAAS;AAAA,MACjB,MAAM,aAAa,yBAAyB;AAAA,QAC1C,YAAY;AAAA,QACZ,UAAU,kBAAkB;AAAA,MAC9B,CAAC;AAAA,MACD,OAAO,kBAAkB;AAAA,IAC3B,CAAC;AAAA,EACH;AAMA,SAAO;AACT;AAEO,SAAS,uBAAuB,eAAuB;AAC5D,SAAO,SAAS,KAAK,eAAe,cAAc,GAAG,OAAO;AAC9D;AAEA,eAAsB,iBACpB,eACA,aACA;AACA,QAAM,kBAAkB,KAAK,eAAe,cAAc;AAE1D,QAAM,UAAU,iBAAiB,aAAa,EAAE,QAAQ,EAAE,CAAC;AAC7D;AAQA,eAAsB,YAAY,QAAgB;AAChD,MAAI,MAAM,WAAW,MAAM,GAAG;AAC5B,QAAI;AACF,YAAM,UAAU,MAAM,SAAS,MAAM;AACrC,aAAO,cAAAC,QAAO,MAAM,OAAO;AAAA,IAC7B,QAAQ;AACN,aAAO,CAAC;AAAA,IACV;AAAA,EACF;AACA,SAAO,CAAC;AACV;AAEA,eAAsB,cACpB,QACA,WACA;AACA,QAAM,gBAAgB;AAAA,IACpB,GAAI,MAAM,YAAY,MAAM;AAAA,IAC5B,GAAG;AAAA,EACL;AAEA,QAAM,eAAe,OAAO,QAAQ,aAAa,EAC9C,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,GAAG,GAAG,KAAK,KAAK,GAAG,EACzC,KAAK,IAAI;AAEZ,QAAM,WAAW,QAAQ,YAAY;AACvC;","names":["path","dotenv"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/dotenv/package.json","../../../node_modules/dotenv/lib/main.js","../../cli-fs/src/index.ts","../../cli-fs/src/schemas.ts"],"sourcesContent":["{\n \"name\": \"dotenv\",\n \"version\": \"16.5.0\",\n \"description\": \"Loads environment variables from .env file\",\n \"main\": \"lib/main.js\",\n \"types\": \"lib/main.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./lib/main.d.ts\",\n \"require\": \"./lib/main.js\",\n \"default\": \"./lib/main.js\"\n },\n \"./config\": \"./config.js\",\n \"./config.js\": \"./config.js\",\n \"./lib/env-options\": \"./lib/env-options.js\",\n \"./lib/env-options.js\": \"./lib/env-options.js\",\n \"./lib/cli-options\": \"./lib/cli-options.js\",\n \"./lib/cli-options.js\": \"./lib/cli-options.js\",\n \"./package.json\": \"./package.json\"\n },\n \"scripts\": {\n \"dts-check\": \"tsc --project tests/types/tsconfig.json\",\n \"lint\": \"standard\",\n \"pretest\": \"npm run lint && npm run dts-check\",\n \"test\": \"tap run --allow-empty-coverage --disable-coverage --timeout=60000\",\n \"test:coverage\": \"tap run --show-full-coverage --timeout=60000 --coverage-report=lcov\",\n \"prerelease\": \"npm test\",\n \"release\": \"standard-version\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git://github.com/motdotla/dotenv.git\"\n },\n \"homepage\": \"https://github.com/motdotla/dotenv#readme\",\n \"funding\": \"https://dotenvx.com\",\n \"keywords\": [\n \"dotenv\",\n \"env\",\n \".env\",\n \"environment\",\n \"variables\",\n \"config\",\n \"settings\"\n ],\n \"readmeFilename\": \"README.md\",\n \"license\": \"BSD-2-Clause\",\n \"devDependencies\": {\n \"@types/node\": \"^18.11.3\",\n \"decache\": \"^4.6.2\",\n \"sinon\": \"^14.0.1\",\n \"standard\": \"^17.0.0\",\n \"standard-version\": \"^9.5.0\",\n \"tap\": \"^19.2.0\",\n \"typescript\": \"^4.8.4\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"browser\": {\n \"fs\": false\n }\n}\n","const fs = require('fs')\nconst path = require('path')\nconst os = require('os')\nconst crypto = require('crypto')\nconst packageJson = require('../package.json')\n\nconst version = packageJson.version\n\nconst LINE = /(?:^|^)\\s*(?:export\\s+)?([\\w.-]+)(?:\\s*=\\s*?|:\\s+?)(\\s*'(?:\\\\'|[^'])*'|\\s*\"(?:\\\\\"|[^\"])*\"|\\s*`(?:\\\\`|[^`])*`|[^#\\r\\n]+)?\\s*(?:#.*)?(?:$|$)/mg\n\n// Parse src into an Object\nfunction parse (src) {\n const obj = {}\n\n // Convert buffer to string\n let lines = src.toString()\n\n // Convert line breaks to same format\n lines = lines.replace(/\\r\\n?/mg, '\\n')\n\n let match\n while ((match = LINE.exec(lines)) != null) {\n const key = match[1]\n\n // Default undefined or null to empty string\n let value = (match[2] || '')\n\n // Remove whitespace\n value = value.trim()\n\n // Check if double quoted\n const maybeQuote = value[0]\n\n // Remove surrounding quotes\n value = value.replace(/^(['\"`])([\\s\\S]*)\\1$/mg, '$2')\n\n // Expand newlines if double quoted\n if (maybeQuote === '\"') {\n value = value.replace(/\\\\n/g, '\\n')\n value = value.replace(/\\\\r/g, '\\r')\n }\n\n // Add to object\n obj[key] = value\n }\n\n return obj\n}\n\nfunction _parseVault (options) {\n const vaultPath = _vaultPath(options)\n\n // Parse .env.vault\n const result = DotenvModule.configDotenv({ path: vaultPath })\n if (!result.parsed) {\n const err = new Error(`MISSING_DATA: Cannot parse ${vaultPath} for an unknown reason`)\n err.code = 'MISSING_DATA'\n throw err\n }\n\n // handle scenario for comma separated keys - for use with key rotation\n // example: DOTENV_KEY=\"dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=prod,dotenv://:key_7890@dotenvx.com/vault/.env.vault?environment=prod\"\n const keys = _dotenvKey(options).split(',')\n const length = keys.length\n\n let decrypted\n for (let i = 0; i < length; i++) {\n try {\n // Get full key\n const key = keys[i].trim()\n\n // Get instructions for decrypt\n const attrs = _instructions(result, key)\n\n // Decrypt\n decrypted = DotenvModule.decrypt(attrs.ciphertext, attrs.key)\n\n break\n } catch (error) {\n // last key\n if (i + 1 >= length) {\n throw error\n }\n // try next key\n }\n }\n\n // Parse decrypted .env string\n return DotenvModule.parse(decrypted)\n}\n\nfunction _warn (message) {\n console.log(`[dotenv@${version}][WARN] ${message}`)\n}\n\nfunction _debug (message) {\n console.log(`[dotenv@${version}][DEBUG] ${message}`)\n}\n\nfunction _dotenvKey (options) {\n // prioritize developer directly setting options.DOTENV_KEY\n if (options && options.DOTENV_KEY && options.DOTENV_KEY.length > 0) {\n return options.DOTENV_KEY\n }\n\n // secondary infra already contains a DOTENV_KEY environment variable\n if (process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0) {\n return process.env.DOTENV_KEY\n }\n\n // fallback to empty string\n return ''\n}\n\nfunction _instructions (result, dotenvKey) {\n // Parse DOTENV_KEY. Format is a URI\n let uri\n try {\n uri = new URL(dotenvKey)\n } catch (error) {\n if (error.code === 'ERR_INVALID_URL') {\n const err = new Error('INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n }\n\n throw error\n }\n\n // Get decrypt key\n const key = uri.password\n if (!key) {\n const err = new Error('INVALID_DOTENV_KEY: Missing key part')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n }\n\n // Get environment\n const environment = uri.searchParams.get('environment')\n if (!environment) {\n const err = new Error('INVALID_DOTENV_KEY: Missing environment part')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n }\n\n // Get ciphertext payload\n const environmentKey = `DOTENV_VAULT_${environment.toUpperCase()}`\n const ciphertext = result.parsed[environmentKey] // DOTENV_VAULT_PRODUCTION\n if (!ciphertext) {\n const err = new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${environmentKey} in your .env.vault file.`)\n err.code = 'NOT_FOUND_DOTENV_ENVIRONMENT'\n throw err\n }\n\n return { ciphertext, key }\n}\n\nfunction _vaultPath (options) {\n let possibleVaultPath = null\n\n if (options && options.path && options.path.length > 0) {\n if (Array.isArray(options.path)) {\n for (const filepath of options.path) {\n if (fs.existsSync(filepath)) {\n possibleVaultPath = filepath.endsWith('.vault') ? filepath : `${filepath}.vault`\n }\n }\n } else {\n possibleVaultPath = options.path.endsWith('.vault') ? options.path : `${options.path}.vault`\n }\n } else {\n possibleVaultPath = path.resolve(process.cwd(), '.env.vault')\n }\n\n if (fs.existsSync(possibleVaultPath)) {\n return possibleVaultPath\n }\n\n return null\n}\n\nfunction _resolveHome (envPath) {\n return envPath[0] === '~' ? path.join(os.homedir(), envPath.slice(1)) : envPath\n}\n\nfunction _configVault (options) {\n const debug = Boolean(options && options.debug)\n if (debug) {\n _debug('Loading env from encrypted .env.vault')\n }\n\n const parsed = DotenvModule._parseVault(options)\n\n let processEnv = process.env\n if (options && options.processEnv != null) {\n processEnv = options.processEnv\n }\n\n DotenvModule.populate(processEnv, parsed, options)\n\n return { parsed }\n}\n\nfunction configDotenv (options) {\n const dotenvPath = path.resolve(process.cwd(), '.env')\n let encoding = 'utf8'\n const debug = Boolean(options && options.debug)\n\n if (options && options.encoding) {\n encoding = options.encoding\n } else {\n if (debug) {\n _debug('No encoding is specified. UTF-8 is used by default')\n }\n }\n\n let optionPaths = [dotenvPath] // default, look for .env\n if (options && options.path) {\n if (!Array.isArray(options.path)) {\n optionPaths = [_resolveHome(options.path)]\n } else {\n optionPaths = [] // reset default\n for (const filepath of options.path) {\n optionPaths.push(_resolveHome(filepath))\n }\n }\n }\n\n // Build the parsed data in a temporary object (because we need to return it). Once we have the final\n // parsed data, we will combine it with process.env (or options.processEnv if provided).\n let lastError\n const parsedAll = {}\n for (const path of optionPaths) {\n try {\n // Specifying an encoding returns a string instead of a buffer\n const parsed = DotenvModule.parse(fs.readFileSync(path, { encoding }))\n\n DotenvModule.populate(parsedAll, parsed, options)\n } catch (e) {\n if (debug) {\n _debug(`Failed to load ${path} ${e.message}`)\n }\n lastError = e\n }\n }\n\n let processEnv = process.env\n if (options && options.processEnv != null) {\n processEnv = options.processEnv\n }\n\n DotenvModule.populate(processEnv, parsedAll, options)\n\n if (lastError) {\n return { parsed: parsedAll, error: lastError }\n } else {\n return { parsed: parsedAll }\n }\n}\n\n// Populates process.env from .env file\nfunction config (options) {\n // fallback to original dotenv if DOTENV_KEY is not set\n if (_dotenvKey(options).length === 0) {\n return DotenvModule.configDotenv(options)\n }\n\n const vaultPath = _vaultPath(options)\n\n // dotenvKey exists but .env.vault file does not exist\n if (!vaultPath) {\n _warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${vaultPath}. Did you forget to build it?`)\n\n return DotenvModule.configDotenv(options)\n }\n\n return DotenvModule._configVault(options)\n}\n\nfunction decrypt (encrypted, keyStr) {\n const key = Buffer.from(keyStr.slice(-64), 'hex')\n let ciphertext = Buffer.from(encrypted, 'base64')\n\n const nonce = ciphertext.subarray(0, 12)\n const authTag = ciphertext.subarray(-16)\n ciphertext = ciphertext.subarray(12, -16)\n\n try {\n const aesgcm = crypto.createDecipheriv('aes-256-gcm', key, nonce)\n aesgcm.setAuthTag(authTag)\n return `${aesgcm.update(ciphertext)}${aesgcm.final()}`\n } catch (error) {\n const isRange = error instanceof RangeError\n const invalidKeyLength = error.message === 'Invalid key length'\n const decryptionFailed = error.message === 'Unsupported state or unable to authenticate data'\n\n if (isRange || invalidKeyLength) {\n const err = new Error('INVALID_DOTENV_KEY: It must be 64 characters long (or more)')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n } else if (decryptionFailed) {\n const err = new Error('DECRYPTION_FAILED: Please check your DOTENV_KEY')\n err.code = 'DECRYPTION_FAILED'\n throw err\n } else {\n throw error\n }\n }\n}\n\n// Populate process.env with parsed values\nfunction populate (processEnv, parsed, options = {}) {\n const debug = Boolean(options && options.debug)\n const override = Boolean(options && options.override)\n\n if (typeof parsed !== 'object') {\n const err = new Error('OBJECT_REQUIRED: Please check the processEnv argument being passed to populate')\n err.code = 'OBJECT_REQUIRED'\n throw err\n }\n\n // Set process.env\n for (const key of Object.keys(parsed)) {\n if (Object.prototype.hasOwnProperty.call(processEnv, key)) {\n if (override === true) {\n processEnv[key] = parsed[key]\n }\n\n if (debug) {\n if (override === true) {\n _debug(`\"${key}\" is already defined and WAS overwritten`)\n } else {\n _debug(`\"${key}\" is already defined and was NOT overwritten`)\n }\n }\n } else {\n processEnv[key] = parsed[key]\n }\n }\n}\n\nconst DotenvModule = {\n configDotenv,\n _configVault,\n _parseVault,\n config,\n decrypt,\n parse,\n populate\n}\n\nmodule.exports.configDotenv = DotenvModule.configDotenv\nmodule.exports._configVault = DotenvModule._configVault\nmodule.exports._parseVault = DotenvModule._parseVault\nmodule.exports.config = DotenvModule.config\nmodule.exports.decrypt = DotenvModule.decrypt\nmodule.exports.parse = DotenvModule.parse\nmodule.exports.populate = DotenvModule.populate\n\nmodule.exports = DotenvModule\n","import {\n access,\n readFile as fsReadFile,\n writeFile,\n mkdir,\n} from 'node:fs/promises';\nimport { dirname, join, relative } from 'node:path';\nimport { EOL } from 'node:os';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport dotenv from 'dotenv';\nimport { packageJsonSchema } from './schemas.js';\nimport type { PackageJson } from './schemas.js';\n\nexport function toJsonString(object: unknown, opts?: { spaces: number }) {\n return JSON.stringify(object, null, opts?.spaces).concat(EOL);\n}\n\nexport async function writeJson(\n filePath: string,\n object: unknown,\n opts?: { spaces: number }\n) {\n const str = toJsonString(object, opts);\n await outputDir(dirname(filePath));\n\n try {\n await writeFile(filePath, str, 'utf-8');\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToWriteJson({ filePath }),\n cause: e,\n });\n }\n}\n\nexport async function readJson(file: string): Promise<unknown> {\n let content = null;\n try {\n content = await fsReadFile(file, 'utf-8');\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToReadJson({ filePath: file }),\n cause: e,\n });\n }\n\n try {\n return JSON.parse(content);\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.InvalidJsonFile({ filePath: file }),\n cause: e,\n });\n }\n}\n\nexport async function readFile(file: string): Promise<Buffer>;\nexport async function readFile(\n file: string,\n encoding: 'utf-8'\n): Promise<string>;\nexport async function readFile(file: string, encoding?: 'utf-8') {\n try {\n return await fsReadFile(file, encoding);\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToReadFile({ filePath: file }),\n cause: e,\n });\n }\n}\n\nexport function pathExists(path: string) {\n return access(path)\n .then(() => true)\n .catch(() => false);\n}\n\nexport async function outputFile(file: string, content: string | Uint8Array) {\n await outputDir(dirname(file));\n\n try {\n await writeFile(file, content, 'utf-8');\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToWriteFile({ filePath: file }),\n cause: e,\n });\n }\n}\n\nexport async function outputDir(dir: string) {\n try {\n await mkdir(dir, { recursive: true });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToCreateDir({ dirPath: dir }),\n cause: e,\n });\n }\n}\n\nexport async function readPackageJson(projectFolder: string) {\n const packageJsonPath = join(projectFolder, 'package.json');\n\n const json = await readJson(packageJsonPath);\n const parsedPackageJson = await packageJsonSchema.safeParseAsync(json);\n\n if (!parsedPackageJson.success) {\n throw new CliError({\n code: CliErrorCode.InvalidConfigSchemaError({\n configPath: packageJsonPath,\n zodError: parsedPackageJson.error,\n }),\n cause: parsedPackageJson.error,\n });\n }\n\n /**\n * Returning original json because zod clone object and change the order of keys.\n * It's safe to return the original json because we already validated it.\n */\n return json as PackageJson;\n}\n\nexport function readPackageJsonContent(projectFolder: string) {\n return readFile(join(projectFolder, 'package.json'), 'utf-8');\n}\n\nexport async function writePackageJson(\n projectFolder: string,\n packageJson: PackageJson\n) {\n const packageJsonPath = join(projectFolder, 'package.json');\n\n await writeJson(packageJsonPath, packageJson, { spaces: 2 });\n}\n\nexport function relativeFolderName(rootFolder: string, filePath: string) {\n return relative(rootFolder, dirname(filePath));\n}\n\nexport { type PackageJson } from './schemas.js';\n\nexport async function readEnvFile(source: string) {\n if (await pathExists(source)) {\n try {\n const content = await readFile(source);\n return dotenv.parse(content);\n } catch {\n return {};\n }\n }\n return {};\n}\n\nexport async function updateEnvFile(\n target: string,\n variables: Record<string, string>\n) {\n const mergedEnvVars = {\n ...(await readEnvFile(target)),\n ...variables,\n };\n\n const outputEnvVar = Object.entries(mergedEnvVars)\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join('\\n');\n\n await outputFile(target, outputEnvVar);\n}\n","import { z } from 'zod';\n\nexport const packageJsonSchema = z.object({\n dependencies: z.record(z.string()).optional(),\n devDependencies: z.record(z.string()).optional(),\n peerDependencies: z.record(z.string()).optional(),\n scripts: z.record(z.string()).optional(),\n});\n\nexport type PackageJson = z.infer<typeof packageJsonSchema>;\n"],"mappings":"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","names":["path","dotenv"]}
|
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
pathExists,
|
|
8
8
|
readJson,
|
|
9
9
|
writeJson
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-ZUSQSFTR.js";
|
|
11
11
|
import {
|
|
12
|
-
|
|
13
|
-
} from "./chunk-
|
|
12
|
+
external_exports
|
|
13
|
+
} from "./chunk-F43XHKVL.js";
|
|
14
14
|
import {
|
|
15
15
|
CliError,
|
|
16
16
|
CliErrorCode,
|
|
@@ -277,9 +277,9 @@ var Yarn = class {
|
|
|
277
277
|
}
|
|
278
278
|
};
|
|
279
279
|
async function getPackagesRelativePaths(rootDir, yarnVersion) {
|
|
280
|
-
const workspacesSchema =
|
|
281
|
-
|
|
282
|
-
location:
|
|
280
|
+
const workspacesSchema = external_exports.array(
|
|
281
|
+
external_exports.object({
|
|
282
|
+
location: external_exports.string()
|
|
283
283
|
})
|
|
284
284
|
);
|
|
285
285
|
if (yarnVersion === "yarn-berry") {
|
|
@@ -394,4 +394,4 @@ export {
|
|
|
394
394
|
Yarn,
|
|
395
395
|
createPackageManager
|
|
396
396
|
};
|
|
397
|
-
//# sourceMappingURL=chunk-
|
|
397
|
+
//# sourceMappingURL=chunk-ZW47BBFN.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../package-manager/src/index.ts","../../package-manager/src/package-manager.ts","../../package-manager/src/adapters/npm.ts","../../package-manager/src/shell/index.ts","../../package-manager/src/shell/shell-client.ts","../../package-manager/src/repo-type.ts","../../package-manager/src/git-service.ts","../../package-manager/src/adapters/yarn.ts"],"sourcesContent":["export { createPackageManager } from './package-manager.js';\nexport { NPM } from './adapters/npm.js';\nexport { Yarn } from './adapters/yarn.js';\nexport type { IPackageManager } from './types.js';\nexport { getRepoType, RepoType } from './repo-type.js';\nexport {\n gitClone,\n gitCommit,\n gitInit,\n getGitLatestCommitHash,\n isInsideGitRepo,\n} from './git-service.js';\n","import { env } from 'node:process';\nimport { pathExists } from '@wix/cli-fs';\nimport { join } from 'node:path';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { matcher } from 'variant';\nimport { NPM } from './adapters/npm.js';\nimport { Yarn, resolveYarnVersion } from './adapters/yarn.js';\nimport type { IPackageManager, PackageManagerName } from './types.js';\nimport { RepoType } from './repo-type.js';\n\nexport async function createPackageManager(\n repoType: RepoType\n): Promise<IPackageManager> {\n const packageManagerName = await getPackageManagerName(repoType);\n\n switch (packageManagerName) {\n case 'yarn-berry':\n return new Yarn(repoType, 'yarn-berry');\n case 'yarn':\n return new Yarn(repoType, 'yarn');\n case 'npm':\n return new NPM(repoType);\n }\n}\n\nasync function getPackageManagerName(\n repoType: RepoType\n): Promise<PackageManagerName> {\n // In case of an existing repo we first check for relevant package manager files.\n // this is an extra layer of identification that should prevent errors when the\n // user runs create-app using a package manager other than the one used in the project\n\n const getByEnv = (): PackageManagerName => {\n if (env.npm_config_user_agent?.startsWith('yarn/1')) {\n return 'yarn';\n }\n\n // yarn v2+\n if (env.npm_config_user_agent?.startsWith('yarn')) {\n return 'yarn-berry';\n }\n\n if (env.npm_config_user_agent?.startsWith('npm')) {\n return 'npm';\n }\n\n throw new CliError({\n code: CliErrorCode.UnsupportedPackageManager({\n packageManagerName: env.npm_config_user_agent,\n }),\n cause: null,\n });\n };\n\n return matcher(repoType)\n .when(RepoType.None, getByEnv)\n .when(\n [RepoType.Polyrepo, RepoType.Monorepo],\n async ({ rootDir }): Promise<PackageManagerName> => {\n const [hasYarnRc, hasYarnLock, hasPackageLock] = await Promise.all([\n pathExists(join(rootDir, '.yarnrc.yml')),\n pathExists(join(rootDir, 'yarn.lock')),\n pathExists(join(rootDir, 'package-lock.json')),\n ]);\n\n if (hasYarnRc || hasYarnLock) {\n const yarnVersion = await resolveYarnVersion(rootDir);\n return yarnVersion.startsWith('1') ? 'yarn' : 'yarn-berry';\n }\n\n if (hasPackageLock) {\n return 'npm';\n }\n\n return getByEnv();\n }\n )\n .complete();\n}\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport { isType } from 'variant';\nimport { runCommand } from '../shell/index.js';\nimport type { IPackageManager } from '../types.js';\nimport { RepoType } from '../repo-type.js';\n\nexport class NPM implements IPackageManager {\n readonly name = 'npm';\n\n constructor(private readonly repoType: RepoType) {}\n\n getUsage(name: string): string {\n return `npm init ${name.replace('create-', '')}`;\n }\n\n getInstallCmd(): string {\n return 'npm install';\n }\n\n getRunCmd(): string {\n return 'npm run';\n }\n\n getRunBinaryCmd(args: string[]): { file: string; args: string[] } {\n return {\n file: 'npx',\n args: ['--no-install'].concat(args),\n };\n }\n\n async setup(_cwd: string): Promise<void> {\n if (isType(this.repoType, RepoType.Monorepo)) {\n throw new CliError({\n code: CliErrorCode.UnsupportedPackageManagerWorkspaces({\n packageManagerName: this.name,\n }),\n cause: null,\n });\n }\n }\n\n async runInstall(cwd: string): Promise<void> {\n try {\n await runCommand(this.getInstallCmd(), { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToInstallPackages(),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n\n async runInstallPackage(cwd: string, packageName: string): Promise<void> {\n try {\n await runCommand(`npm install ${packageName}`, { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToInstallPackage({ packageName }),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n\n async runUninstallPackage(cwd: string, packageName: string): Promise<void> {\n try {\n await runCommand(`npm uninstall ${packageName}`, { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToUninstallPackage({ packageName }),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n}\n","export { runCommand } from './shell-client.js';\n","import { execaCommand } from 'execa';\nimport type { Options } from './types.js';\n\nexport async function runCommand(command: string, opts?: Options) {\n const commandProcess = execaCommand(command, {\n /**\n * DO NOT USE `shell: true`!\n * It's a security risk that leads to injections and should be avoided.\n * ref: https://github.com/sindresorhus/execa/tree/main#shell\n */\n shell: false,\n cwd: opts?.cwd,\n env: opts?.env,\n });\n\n if (opts?.output) {\n commandProcess.stdout?.pipe(opts.output);\n }\n\n const { stdout } = await commandProcess;\n\n return stdout;\n}\n","import { readJson } from '@wix/cli-fs';\nimport { join } from 'node:path';\nimport { variant, fields } from 'variant';\nimport type { VariantOf } from 'variant';\nimport type { PackageJson } from 'type-fest';\nimport { getGitRoot, isInsideGitRepo } from './git-service.js';\n\nexport const RepoType = variant({\n None: {},\n Polyrepo: fields<{ rootDir: string }>(),\n Monorepo: fields<{ rootDir: string }>(),\n});\n\nexport type RepoType = VariantOf<typeof RepoType>;\n\nexport async function getRepoType(\n targetParentFolder: string\n): Promise<RepoType> {\n if (!(await isInsideGitRepo(targetParentFolder))) {\n return RepoType.None();\n }\n\n const rootDir = await getGitRoot(targetParentFolder);\n\n if (await isUsingWorkspaces(rootDir)) {\n return RepoType.Monorepo({\n rootDir,\n });\n }\n\n return RepoType.Polyrepo({\n rootDir,\n });\n}\n\nasync function isUsingWorkspaces(rootDir: string) {\n return readJson(join(rootDir, 'package.json'))\n .then((pkgJson) => Boolean((pkgJson as PackageJson).workspaces))\n .catch(() => false);\n}\n","import { runCommand } from './shell/index.js';\n\nexport function isInsideGitRepo(cwd: string) {\n return runCommand('git rev-parse --is-inside-work-tree', { cwd })\n .then(() => true)\n .catch(() => false);\n}\n\nexport async function getGitRoot(cwd: string) {\n return runCommand('git rev-parse --show-toplevel', { cwd });\n}\n\nexport async function getGitLatestCommitHash(cwd: string) {\n try {\n return await runCommand('git rev-parse --verify HEAD', { cwd });\n } catch {\n // This command can fail if there are no commits, so we can just return undefined\n }\n}\n\nexport async function gitInit(cwd: string) {\n await runCommand('git init', { cwd });\n}\n\nexport async function gitCommit(cwd: string) {\n await runCommand('git add -A', { cwd });\n await runCommand(\n `git commit -m Initial\\\\ commit\\\\ from\\\\ Create\\\\ Wix\\\\ App --no-verify`,\n { cwd }\n );\n}\n\nexport async function gitClone(url: string, path: string) {\n await runCommand(`git clone --depth 1 ${url} ${path}`, {\n env: {\n /*\n * This is to prevent git from prompting for credentials.\n * `git clone` uses a subprocess for the authentication, so we can't attach the main process to its stdio.\n * This leads to:\n * - the spinners \"swallow\" its output.\n * - after answering with the username and pressing \"Enter\", the first line of the output is being duplicated.\n * That's why we're disabling the prompt, so user should be pre-authenticated.\n */\n GIT_TERMINAL_PROMPT: '0',\n },\n });\n}\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport { readJson, writeJson } from '@wix/cli-fs';\nimport { join, relative } from 'node:path';\nimport { matcher } from 'variant';\nimport { EOL } from 'node:os';\nimport { z } from 'zod';\nimport { writeFile } from 'node:fs/promises';\nimport type { PackageJson } from 'type-fest';\nimport { runCommand } from '../shell/index.js';\nimport type { IPackageManager } from '../types.js';\nimport type { RepoType } from '../repo-type.js';\n\ntype YarnVersion = 'yarn' | 'yarn-berry';\n\nexport async function resolveYarnVersion(cwd: string) {\n const stdout = await runCommand('yarn --version', { cwd });\n return stdout.trim();\n}\n\nexport class Yarn implements IPackageManager {\n constructor(\n private readonly repoType: RepoType,\n readonly name: YarnVersion\n ) {}\n\n getUsage(name: string): string {\n return `yarn create ${name.replace('create-', '')}`;\n }\n\n getInstallCmd(): string {\n return 'yarn install';\n }\n\n getRunCmd(): string {\n return 'yarn';\n }\n\n getRunBinaryCmd(args: string[]): { file: string; args: string[] } {\n return {\n file: 'yarn',\n args: ['run'].concat(args),\n };\n }\n\n async setup(packageFolder: string): Promise<void> {\n return matcher(this.repoType)\n .when(['None', 'Polyrepo'], async () => {\n if (this.name === 'yarn-berry') {\n // if yarn berry encounters a package.json in a parent folder, it\n // complains that our project needs to be part of that parent project.\n // An official way to tell yarn that this is a standalone project is\n // to create an empty lockfile.\n // A similar thing was done in create-astro: https://github.com/withastro/astro/pull/8028\n await writeFile(join(packageFolder, 'yarn.lock'), '');\n }\n })\n .when('Monorepo', async ({ rootDir }) => {\n try {\n await addPackageToWorkspaces({\n rootDir,\n packageFolder,\n yarnVersion: this.name,\n });\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedAddingPackageToWorkspace(),\n cause: error,\n });\n }\n })\n .complete();\n }\n\n async runInstall(cwd: string): Promise<void> {\n try {\n await runCommand(this.getInstallCmd(), { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToInstallPackages(),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n\n async runInstallPackage(cwd: string, packageName: string): Promise<void> {\n try {\n await runCommand(`yarn add ${packageName}`, { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToInstallPackage({ packageName }),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n\n async runUninstallPackage(cwd: string, packageName: string): Promise<void> {\n try {\n await runCommand(`yarn remove ${packageName}`, { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToUninstallPackage({ packageName }),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n}\n\nasync function getPackagesRelativePaths(\n rootDir: string,\n yarnVersion: YarnVersion\n): Promise<string[]> {\n const workspacesSchema = z.array(\n z.object({\n location: z.string(),\n })\n );\n\n if (yarnVersion === 'yarn-berry') {\n const packages = await runCommand('yarn workspaces list --json', {\n cwd: rootDir,\n });\n\n const parsedPackages = workspacesSchema.parse(\n packages\n .split(EOL)\n .filter(Boolean)\n .map((pkg) => JSON.parse(pkg))\n );\n\n return parsedPackages.map((pkg) => pkg.location);\n }\n\n const packages = await runCommand('yarn --json workspaces info', {\n cwd: rootDir,\n });\n\n const parsedPackages = workspacesSchema.parse(\n Object.values(JSON.parse(JSON.parse(packages).data))\n );\n return parsedPackages.map((pkg) => pkg.location);\n}\n\nasync function addPackageToWorkspaces({\n rootDir,\n packageFolder,\n yarnVersion,\n}: {\n rootDir: string;\n packageFolder: string;\n yarnVersion: YarnVersion;\n}) {\n const relativePackagePath = relative(rootDir, packageFolder);\n const packages = await getPackagesRelativePaths(rootDir, yarnVersion);\n\n if (packages.includes(relativePackagePath)) {\n return;\n }\n\n const packageJson = (await readJson(\n join(rootDir, 'package.json')\n )) as PackageJson;\n\n if (Array.isArray(packageJson.workspaces)) {\n packageJson.workspaces.push(relativePackagePath);\n } else if (typeof packageJson.workspaces === 'object') {\n packageJson.workspaces = {\n ...packageJson.workspaces,\n packages: [\n ...(packageJson.workspaces.packages ?? []),\n relativePackagePath,\n ],\n };\n } else {\n throw new Error(\n `Failed to read workspaces structure. Expected an array or object but got ${JSON.stringify(\n packageJson.workspaces\n )}`\n );\n }\n\n await writeJson(join(rootDir, 'package.json'), packageJson, { spaces: 2 });\n}\n"],"mappings":"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","names":["join","import_variant","import_variant","import_variant","join","join","packages","parsedPackages","join"]}
|
|
1
|
+
{"version":3,"sources":["../../package-manager/src/index.ts","../../package-manager/src/package-manager.ts","../../package-manager/src/adapters/npm.ts","../../package-manager/src/shell/index.ts","../../package-manager/src/shell/shell-client.ts","../../package-manager/src/repo-type.ts","../../package-manager/src/git-service.ts","../../package-manager/src/adapters/yarn.ts"],"sourcesContent":["export { createPackageManager } from './package-manager.js';\nexport { NPM } from './adapters/npm.js';\nexport { Yarn } from './adapters/yarn.js';\nexport type { IPackageManager } from './types.js';\nexport { getRepoType, RepoType } from './repo-type.js';\nexport {\n gitClone,\n gitCommit,\n gitInit,\n getGitLatestCommitHash,\n isInsideGitRepo,\n} from './git-service.js';\n","import { env } from 'node:process';\nimport { pathExists } from '@wix/cli-fs';\nimport { join } from 'node:path';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { matcher } from 'variant';\nimport { NPM } from './adapters/npm.js';\nimport { Yarn, resolveYarnVersion } from './adapters/yarn.js';\nimport type { IPackageManager, PackageManagerName } from './types.js';\nimport { RepoType } from './repo-type.js';\n\nexport async function createPackageManager(\n repoType: RepoType\n): Promise<IPackageManager> {\n const packageManagerName = await getPackageManagerName(repoType);\n\n switch (packageManagerName) {\n case 'yarn-berry':\n return new Yarn(repoType, 'yarn-berry');\n case 'yarn':\n return new Yarn(repoType, 'yarn');\n case 'npm':\n return new NPM(repoType);\n }\n}\n\nasync function getPackageManagerName(\n repoType: RepoType\n): Promise<PackageManagerName> {\n // In case of an existing repo we first check for relevant package manager files.\n // this is an extra layer of identification that should prevent errors when the\n // user runs create-app using a package manager other than the one used in the project\n\n const getByEnv = (): PackageManagerName => {\n if (env.npm_config_user_agent?.startsWith('yarn/1')) {\n return 'yarn';\n }\n\n // yarn v2+\n if (env.npm_config_user_agent?.startsWith('yarn')) {\n return 'yarn-berry';\n }\n\n if (env.npm_config_user_agent?.startsWith('npm')) {\n return 'npm';\n }\n\n throw new CliError({\n code: CliErrorCode.UnsupportedPackageManager({\n packageManagerName: env.npm_config_user_agent,\n }),\n cause: null,\n });\n };\n\n return matcher(repoType)\n .when(RepoType.None, getByEnv)\n .when(\n [RepoType.Polyrepo, RepoType.Monorepo],\n async ({ rootDir }): Promise<PackageManagerName> => {\n const [hasYarnRc, hasYarnLock, hasPackageLock] = await Promise.all([\n pathExists(join(rootDir, '.yarnrc.yml')),\n pathExists(join(rootDir, 'yarn.lock')),\n pathExists(join(rootDir, 'package-lock.json')),\n ]);\n\n if (hasYarnRc || hasYarnLock) {\n const yarnVersion = await resolveYarnVersion(rootDir);\n return yarnVersion.startsWith('1') ? 'yarn' : 'yarn-berry';\n }\n\n if (hasPackageLock) {\n return 'npm';\n }\n\n return getByEnv();\n }\n )\n .complete();\n}\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport { isType } from 'variant';\nimport { runCommand } from '../shell/index.js';\nimport type { IPackageManager } from '../types.js';\nimport { RepoType } from '../repo-type.js';\n\nexport class NPM implements IPackageManager {\n readonly name = 'npm';\n\n constructor(private readonly repoType: RepoType) {}\n\n getUsage(name: string): string {\n return `npm init ${name.replace('create-', '')}`;\n }\n\n getInstallCmd(): string {\n return 'npm install';\n }\n\n getRunCmd(): string {\n return 'npm run';\n }\n\n getRunBinaryCmd(args: string[]): { file: string; args: string[] } {\n return {\n file: 'npx',\n args: ['--no-install'].concat(args),\n };\n }\n\n async setup(_cwd: string): Promise<void> {\n if (isType(this.repoType, RepoType.Monorepo)) {\n throw new CliError({\n code: CliErrorCode.UnsupportedPackageManagerWorkspaces({\n packageManagerName: this.name,\n }),\n cause: null,\n });\n }\n }\n\n async runInstall(cwd: string): Promise<void> {\n try {\n await runCommand(this.getInstallCmd(), { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToInstallPackages(),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n\n async runInstallPackage(cwd: string, packageName: string): Promise<void> {\n try {\n await runCommand(`npm install ${packageName}`, { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToInstallPackage({ packageName }),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n\n async runUninstallPackage(cwd: string, packageName: string): Promise<void> {\n try {\n await runCommand(`npm uninstall ${packageName}`, { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToUninstallPackage({ packageName }),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n}\n","export { runCommand } from './shell-client.js';\n","import { execaCommand } from 'execa';\nimport type { Options } from './types.js';\n\nexport async function runCommand(command: string, opts?: Options) {\n const commandProcess = execaCommand(command, {\n /**\n * DO NOT USE `shell: true`!\n * It's a security risk that leads to injections and should be avoided.\n * ref: https://github.com/sindresorhus/execa/tree/main#shell\n */\n shell: false,\n cwd: opts?.cwd,\n env: opts?.env,\n });\n\n if (opts?.output) {\n commandProcess.stdout?.pipe(opts.output);\n }\n\n const { stdout } = await commandProcess;\n\n return stdout;\n}\n","import { readJson } from '@wix/cli-fs';\nimport { join } from 'node:path';\nimport { variant, fields } from 'variant';\nimport type { VariantOf } from 'variant';\nimport type { PackageJson } from 'type-fest';\nimport { getGitRoot, isInsideGitRepo } from './git-service.js';\n\nexport const RepoType = variant({\n None: {},\n Polyrepo: fields<{ rootDir: string }>(),\n Monorepo: fields<{ rootDir: string }>(),\n});\n\nexport type RepoType = VariantOf<typeof RepoType>;\n\nexport async function getRepoType(\n targetParentFolder: string\n): Promise<RepoType> {\n if (!(await isInsideGitRepo(targetParentFolder))) {\n return RepoType.None();\n }\n\n const rootDir = await getGitRoot(targetParentFolder);\n\n if (await isUsingWorkspaces(rootDir)) {\n return RepoType.Monorepo({\n rootDir,\n });\n }\n\n return RepoType.Polyrepo({\n rootDir,\n });\n}\n\nasync function isUsingWorkspaces(rootDir: string) {\n return readJson(join(rootDir, 'package.json'))\n .then((pkgJson) => Boolean((pkgJson as PackageJson).workspaces))\n .catch(() => false);\n}\n","import { runCommand } from './shell/index.js';\n\nexport function isInsideGitRepo(cwd: string) {\n return runCommand('git rev-parse --is-inside-work-tree', { cwd })\n .then(() => true)\n .catch(() => false);\n}\n\nexport async function getGitRoot(cwd: string) {\n return runCommand('git rev-parse --show-toplevel', { cwd });\n}\n\nexport async function getGitLatestCommitHash(cwd: string) {\n try {\n return await runCommand('git rev-parse --verify HEAD', { cwd });\n } catch {\n // This command can fail if there are no commits, so we can just return undefined\n }\n}\n\nexport async function gitInit(cwd: string) {\n await runCommand('git init', { cwd });\n}\n\nexport async function gitCommit(cwd: string) {\n await runCommand('git add -A', { cwd });\n await runCommand(\n `git commit -m Initial\\\\ commit\\\\ from\\\\ Create\\\\ Wix\\\\ App --no-verify`,\n { cwd }\n );\n}\n\nexport async function gitClone(url: string, path: string) {\n await runCommand(`git clone --depth 1 ${url} ${path}`, {\n env: {\n /*\n * This is to prevent git from prompting for credentials.\n * `git clone` uses a subprocess for the authentication, so we can't attach the main process to its stdio.\n * This leads to:\n * - the spinners \"swallow\" its output.\n * - after answering with the username and pressing \"Enter\", the first line of the output is being duplicated.\n * That's why we're disabling the prompt, so user should be pre-authenticated.\n */\n GIT_TERMINAL_PROMPT: '0',\n },\n });\n}\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport { readJson, writeJson } from '@wix/cli-fs';\nimport { join, relative } from 'node:path';\nimport { matcher } from 'variant';\nimport { EOL } from 'node:os';\nimport { z } from 'zod';\nimport { writeFile } from 'node:fs/promises';\nimport type { PackageJson } from 'type-fest';\nimport { runCommand } from '../shell/index.js';\nimport type { IPackageManager } from '../types.js';\nimport type { RepoType } from '../repo-type.js';\n\ntype YarnVersion = 'yarn' | 'yarn-berry';\n\nexport async function resolveYarnVersion(cwd: string) {\n const stdout = await runCommand('yarn --version', { cwd });\n return stdout.trim();\n}\n\nexport class Yarn implements IPackageManager {\n constructor(\n private readonly repoType: RepoType,\n readonly name: YarnVersion\n ) {}\n\n getUsage(name: string): string {\n return `yarn create ${name.replace('create-', '')}`;\n }\n\n getInstallCmd(): string {\n return 'yarn install';\n }\n\n getRunCmd(): string {\n return 'yarn';\n }\n\n getRunBinaryCmd(args: string[]): { file: string; args: string[] } {\n return {\n file: 'yarn',\n args: ['run'].concat(args),\n };\n }\n\n async setup(packageFolder: string): Promise<void> {\n return matcher(this.repoType)\n .when(['None', 'Polyrepo'], async () => {\n if (this.name === 'yarn-berry') {\n // if yarn berry encounters a package.json in a parent folder, it\n // complains that our project needs to be part of that parent project.\n // An official way to tell yarn that this is a standalone project is\n // to create an empty lockfile.\n // A similar thing was done in create-astro: https://github.com/withastro/astro/pull/8028\n await writeFile(join(packageFolder, 'yarn.lock'), '');\n }\n })\n .when('Monorepo', async ({ rootDir }) => {\n try {\n await addPackageToWorkspaces({\n rootDir,\n packageFolder,\n yarnVersion: this.name,\n });\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedAddingPackageToWorkspace(),\n cause: error,\n });\n }\n })\n .complete();\n }\n\n async runInstall(cwd: string): Promise<void> {\n try {\n await runCommand(this.getInstallCmd(), { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToInstallPackages(),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n\n async runInstallPackage(cwd: string, packageName: string): Promise<void> {\n try {\n await runCommand(`yarn add ${packageName}`, { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToInstallPackage({ packageName }),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n\n async runUninstallPackage(cwd: string, packageName: string): Promise<void> {\n try {\n await runCommand(`yarn remove ${packageName}`, { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToUninstallPackage({ packageName }),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n}\n\nasync function getPackagesRelativePaths(\n rootDir: string,\n yarnVersion: YarnVersion\n): Promise<string[]> {\n const workspacesSchema = z.array(\n z.object({\n location: z.string(),\n })\n );\n\n if (yarnVersion === 'yarn-berry') {\n const packages = await runCommand('yarn workspaces list --json', {\n cwd: rootDir,\n });\n\n const parsedPackages = workspacesSchema.parse(\n packages\n .split(EOL)\n .filter(Boolean)\n .map((pkg) => JSON.parse(pkg))\n );\n\n return parsedPackages.map((pkg) => pkg.location);\n }\n\n const packages = await runCommand('yarn --json workspaces info', {\n cwd: rootDir,\n });\n\n const parsedPackages = workspacesSchema.parse(\n Object.values(JSON.parse(JSON.parse(packages).data))\n );\n return parsedPackages.map((pkg) => pkg.location);\n}\n\nasync function addPackageToWorkspaces({\n rootDir,\n packageFolder,\n yarnVersion,\n}: {\n rootDir: string;\n packageFolder: string;\n yarnVersion: YarnVersion;\n}) {\n const relativePackagePath = relative(rootDir, packageFolder);\n const packages = await getPackagesRelativePaths(rootDir, yarnVersion);\n\n if (packages.includes(relativePackagePath)) {\n return;\n }\n\n const packageJson = (await readJson(\n join(rootDir, 'package.json')\n )) as PackageJson;\n\n if (Array.isArray(packageJson.workspaces)) {\n packageJson.workspaces.push(relativePackagePath);\n } else if (typeof packageJson.workspaces === 'object') {\n packageJson.workspaces = {\n ...packageJson.workspaces,\n packages: [\n ...(packageJson.workspaces.packages ?? []),\n relativePackagePath,\n ],\n };\n } else {\n throw new Error(\n `Failed to read workspaces structure. Expected an array or object but got ${JSON.stringify(\n packageJson.workspaces\n )}`\n );\n }\n\n await writeJson(join(rootDir, 'package.json'), packageJson, { spaces: 2 });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;ACAA;AAAA,SAAS,WAAW;AAEpB,SAAS,QAAAA,aAAY;AAErB,IAAAC,kBAAwB;;;ACJxB;AACA,IAAAC,kBAAuB;;;ACDvB;;;ACAA;AAGA,eAAsB,WAAW,SAAiB,MAAgB;AAChE,QAAM,iBAAiB,aAAa,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM3C,OAAO;AAAA,IACP,KAAK,MAAM;AAAA,IACX,KAAK,MAAM;AAAA,EACb,CAAC;AAED,MAAI,MAAM,QAAQ;AAChB,mBAAe,QAAQ,KAAK,KAAK,MAAM;AAAA,EACzC;AAEA,QAAM,EAAE,OAAO,IAAI,MAAM;AAEzB,SAAO;AACT;;;ACtBA;AAEA,qBAAgC;AADhC,SAAS,YAAY;;;ACDrB;AAEO,SAAS,gBAAgB,KAAa;AAC3C,SAAO,WAAW,uCAAuC,EAAE,IAAI,CAAC,EAC7D,KAAK,MAAM,IAAI,EACf,MAAM,MAAM,KAAK;AACtB;AAEA,eAAsB,WAAW,KAAa;AAC5C,SAAO,WAAW,iCAAiC,EAAE,IAAI,CAAC;AAC5D;AAEA,eAAsB,uBAAuB,KAAa;AACxD,MAAI;AACF,WAAO,MAAM,WAAW,+BAA+B,EAAE,IAAI,CAAC;AAAA,EAChE,QAAQ;AAAA,EAER;AACF;AAEA,eAAsB,QAAQ,KAAa;AACzC,QAAM,WAAW,YAAY,EAAE,IAAI,CAAC;AACtC;AAEA,eAAsB,UAAU,KAAa;AAC3C,QAAM,WAAW,cAAc,EAAE,IAAI,CAAC;AACtC,QAAM;AAAA,IACJ;AAAA,IACA,EAAE,IAAI;AAAA,EACR;AACF;AAEA,eAAsB,SAAS,KAAa,MAAc;AACxD,QAAM,WAAW,uBAAuB,GAAG,IAAI,IAAI,IAAI;AAAA,IACrD,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MASH,qBAAqB;AAAA,IACvB;AAAA,EACF,CAAC;AACH;;;ADvCO,IAAM,eAAW,wBAAQ;AAAA,EAC9B,MAAM,CAAC;AAAA,EACP,cAAU,uBAA4B;AAAA,EACtC,cAAU,uBAA4B;AACxC,CAAC;AAID,eAAsB,YACpB,oBACmB;AACnB,MAAI,CAAE,MAAM,gBAAgB,kBAAkB,GAAI;AAChD,WAAO,SAAS,KAAK;AAAA,EACvB;AAEA,QAAM,UAAU,MAAM,WAAW,kBAAkB;AAEnD,MAAI,MAAM,kBAAkB,OAAO,GAAG;AACpC,WAAO,SAAS,SAAS;AAAA,MACvB;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO,SAAS,SAAS;AAAA,IACvB;AAAA,EACF,CAAC;AACH;AAEA,eAAe,kBAAkB,SAAiB;AAChD,SAAO,SAAS,KAAK,SAAS,cAAc,CAAC,EAC1C,KAAK,CAAC,YAAY,QAAS,QAAwB,UAAU,CAAC,EAC9D,MAAM,MAAM,KAAK;AACtB;;;AHjCO,IAAM,MAAN,MAAqC;AAAA,EAG1C,YAA6B,UAAoB;AAApB;AAAA,EAAqB;AAAA,EAFzC,OAAO;AAAA,EAIhB,SAAS,MAAsB;AAC7B,WAAO,YAAY,KAAK,QAAQ,WAAW,EAAE,CAAC;AAAA,EAChD;AAAA,EAEA,gBAAwB;AACtB,WAAO;AAAA,EACT;AAAA,EAEA,YAAoB;AAClB,WAAO;AAAA,EACT;AAAA,EAEA,gBAAgB,MAAkD;AAChE,WAAO;AAAA,MACL,MAAM;AAAA,MACN,MAAM,CAAC,cAAc,EAAE,OAAO,IAAI;AAAA,IACpC;AAAA,EACF;AAAA,EAEA,MAAM,MAAM,MAA6B;AACvC,YAAI,wBAAO,KAAK,UAAU,SAAS,QAAQ,GAAG;AAC5C,YAAM,IAAI,SAAS;AAAA,QACjB,MAAM,aAAa,oCAAoC;AAAA,UACrD,oBAAoB,KAAK;AAAA,QAC3B,CAAC;AAAA,QACD,OAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,MAAM,WAAW,KAA4B;AAC3C,QAAI;AACF,YAAM,WAAW,KAAK,cAAc,GAAG,EAAE,IAAI,CAAC;AAAA,IAChD,SAAS,GAAG;AACV,YAAM,IAAI,SAAS;AAAA,QACjB,MAAM,aAAa,wBAAwB;AAAA,QAC3C,MAAM,EAAE,gBAAgB,KAAK,KAAK;AAAA,QAClC,OAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,MAAM,kBAAkB,KAAa,aAAoC;AACvE,QAAI;AACF,YAAM,WAAW,eAAe,WAAW,IAAI,EAAE,IAAI,CAAC;AAAA,IACxD,SAAS,GAAG;AACV,YAAM,IAAI,SAAS;AAAA,QACjB,MAAM,aAAa,uBAAuB,EAAE,YAAY,CAAC;AAAA,QACzD,MAAM,EAAE,gBAAgB,KAAK,KAAK;AAAA,QAClC,OAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,MAAM,oBAAoB,KAAa,aAAoC;AACzE,QAAI;AACF,YAAM,WAAW,iBAAiB,WAAW,IAAI,EAAE,IAAI,CAAC;AAAA,IAC1D,SAAS,GAAG;AACV,YAAM,IAAI,SAAS;AAAA,QACjB,MAAM,aAAa,yBAAyB,EAAE,YAAY,CAAC;AAAA,QAC3D,MAAM,EAAE,gBAAgB,KAAK,KAAK;AAAA,QAClC,OAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,EACF;AACF;;;AK5EA;AAGA,IAAAC,kBAAwB;AADxB,SAAS,QAAAC,OAAM,gBAAgB;AAE/B,SAAS,WAAW;AAEpB,SAAS,iBAAiB;AAQ1B,eAAsB,mBAAmB,KAAa;AACpD,QAAM,SAAS,MAAM,WAAW,kBAAkB,EAAE,IAAI,CAAC;AACzD,SAAO,OAAO,KAAK;AACrB;AAEO,IAAM,OAAN,MAAsC;AAAA,EAC3C,YACmB,UACR,MACT;AAFiB;AACR;AAAA,EACR;AAAA,EAEH,SAAS,MAAsB;AAC7B,WAAO,eAAe,KAAK,QAAQ,WAAW,EAAE,CAAC;AAAA,EACnD;AAAA,EAEA,gBAAwB;AACtB,WAAO;AAAA,EACT;AAAA,EAEA,YAAoB;AAClB,WAAO;AAAA,EACT;AAAA,EAEA,gBAAgB,MAAkD;AAChE,WAAO;AAAA,MACL,MAAM;AAAA,MACN,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI;AAAA,IAC3B;AAAA,EACF;AAAA,EAEA,MAAM,MAAM,eAAsC;AAChD,eAAO,yBAAQ,KAAK,QAAQ,EACzB,KAAK,CAAC,QAAQ,UAAU,GAAG,YAAY;AACtC,UAAI,KAAK,SAAS,cAAc;AAM9B,cAAM,UAAUC,MAAK,eAAe,WAAW,GAAG,EAAE;AAAA,MACtD;AAAA,IACF,CAAC,EACA,KAAK,YAAY,OAAO,EAAE,QAAQ,MAAM;AACvC,UAAI;AACF,cAAM,uBAAuB;AAAA,UAC3B;AAAA,UACA;AAAA,UACA,aAAa,KAAK;AAAA,QACpB,CAAC;AAAA,MACH,SAAS,OAAO;AACd,cAAM,IAAI,SAAS;AAAA,UACjB,MAAM,aAAa,+BAA+B;AAAA,UAClD,OAAO;AAAA,QACT,CAAC;AAAA,MACH;AAAA,IACF,CAAC,EACA,SAAS;AAAA,EACd;AAAA,EAEA,MAAM,WAAW,KAA4B;AAC3C,QAAI;AACF,YAAM,WAAW,KAAK,cAAc,GAAG,EAAE,IAAI,CAAC;AAAA,IAChD,SAAS,GAAG;AACV,YAAM,IAAI,SAAS;AAAA,QACjB,MAAM,aAAa,wBAAwB;AAAA,QAC3C,MAAM,EAAE,gBAAgB,KAAK,KAAK;AAAA,QAClC,OAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,MAAM,kBAAkB,KAAa,aAAoC;AACvE,QAAI;AACF,YAAM,WAAW,YAAY,WAAW,IAAI,EAAE,IAAI,CAAC;AAAA,IACrD,SAAS,GAAG;AACV,YAAM,IAAI,SAAS;AAAA,QACjB,MAAM,aAAa,uBAAuB,EAAE,YAAY,CAAC;AAAA,QACzD,MAAM,EAAE,gBAAgB,KAAK,KAAK;AAAA,QAClC,OAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,MAAM,oBAAoB,KAAa,aAAoC;AACzE,QAAI;AACF,YAAM,WAAW,eAAe,WAAW,IAAI,EAAE,IAAI,CAAC;AAAA,IACxD,SAAS,GAAG;AACV,YAAM,IAAI,SAAS;AAAA,QACjB,MAAM,aAAa,yBAAyB,EAAE,YAAY,CAAC;AAAA,QAC3D,MAAM,EAAE,gBAAgB,KAAK,KAAK;AAAA,QAClC,OAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAEA,eAAe,yBACb,SACA,aACmB;AACnB,QAAM,mBAAmB,iBAAE;AAAA,IACzB,iBAAE,OAAO;AAAA,MACP,UAAU,iBAAE,OAAO;AAAA,IACrB,CAAC;AAAA,EACH;AAEA,MAAI,gBAAgB,cAAc;AAChC,UAAMC,YAAW,MAAM,WAAW,+BAA+B;AAAA,MAC/D,KAAK;AAAA,IACP,CAAC;AAED,UAAMC,kBAAiB,iBAAiB;AAAA,MACtCD,UACG,MAAM,GAAG,EACT,OAAO,OAAO,EACd,IAAI,CAAC,QAAQ,KAAK,MAAM,GAAG,CAAC;AAAA,IACjC;AAEA,WAAOC,gBAAe,IAAI,CAAC,QAAQ,IAAI,QAAQ;AAAA,EACjD;AAEA,QAAM,WAAW,MAAM,WAAW,+BAA+B;AAAA,IAC/D,KAAK;AAAA,EACP,CAAC;AAED,QAAM,iBAAiB,iBAAiB;AAAA,IACtC,OAAO,OAAO,KAAK,MAAM,KAAK,MAAM,QAAQ,EAAE,IAAI,CAAC;AAAA,EACrD;AACA,SAAO,eAAe,IAAI,CAAC,QAAQ,IAAI,QAAQ;AACjD;AAEA,eAAe,uBAAuB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AACF,GAIG;AACD,QAAM,sBAAsB,SAAS,SAAS,aAAa;AAC3D,QAAM,WAAW,MAAM,yBAAyB,SAAS,WAAW;AAEpE,MAAI,SAAS,SAAS,mBAAmB,GAAG;AAC1C;AAAA,EACF;AAEA,QAAM,cAAe,MAAM;AAAA,IACzBF,MAAK,SAAS,cAAc;AAAA,EAC9B;AAEA,MAAI,MAAM,QAAQ,YAAY,UAAU,GAAG;AACzC,gBAAY,WAAW,KAAK,mBAAmB;AAAA,EACjD,WAAW,OAAO,YAAY,eAAe,UAAU;AACrD,gBAAY,aAAa;AAAA,MACvB,GAAG,YAAY;AAAA,MACf,UAAU;AAAA,QACR,GAAI,YAAY,WAAW,YAAY,CAAC;AAAA,QACxC;AAAA,MACF;AAAA,IACF;AAAA,EACF,OAAO;AACL,UAAM,IAAI;AAAA,MACR,4EAA4E,KAAK;AAAA,QAC/E,YAAY;AAAA,MACd,CAAC;AAAA,IACH;AAAA,EACF;AAEA,QAAM,UAAUA,MAAK,SAAS,cAAc,GAAG,aAAa,EAAE,QAAQ,EAAE,CAAC;AAC3E;;;AN9KA,eAAsB,qBACpB,UAC0B;AAC1B,QAAM,qBAAqB,MAAM,sBAAsB,QAAQ;AAE/D,UAAQ,oBAAoB;AAAA,IAC1B,KAAK;AACH,aAAO,IAAI,KAAK,UAAU,YAAY;AAAA,IACxC,KAAK;AACH,aAAO,IAAI,KAAK,UAAU,MAAM;AAAA,IAClC,KAAK;AACH,aAAO,IAAI,IAAI,QAAQ;AAAA,EAC3B;AACF;AAEA,eAAe,sBACb,UAC6B;AAK7B,QAAM,WAAW,MAA0B;AACzC,QAAI,IAAI,uBAAuB,WAAW,QAAQ,GAAG;AACnD,aAAO;AAAA,IACT;AAGA,QAAI,IAAI,uBAAuB,WAAW,MAAM,GAAG;AACjD,aAAO;AAAA,IACT;AAEA,QAAI,IAAI,uBAAuB,WAAW,KAAK,GAAG;AAChD,aAAO;AAAA,IACT;AAEA,UAAM,IAAI,SAAS;AAAA,MACjB,MAAM,aAAa,0BAA0B;AAAA,QAC3C,oBAAoB,IAAI;AAAA,MAC1B,CAAC;AAAA,MACD,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AAEA,aAAO,yBAAQ,QAAQ,EACpB,KAAK,SAAS,MAAM,QAAQ,EAC5B;AAAA,IACC,CAAC,SAAS,UAAU,SAAS,QAAQ;AAAA,IACrC,OAAO,EAAE,QAAQ,MAAmC;AAClD,YAAM,CAAC,WAAW,aAAa,cAAc,IAAI,MAAM,QAAQ,IAAI;AAAA,QACjE,WAAWG,MAAK,SAAS,aAAa,CAAC;AAAA,QACvC,WAAWA,MAAK,SAAS,WAAW,CAAC;AAAA,QACrC,WAAWA,MAAK,SAAS,mBAAmB,CAAC;AAAA,MAC/C,CAAC;AAED,UAAI,aAAa,aAAa;AAC5B,cAAM,cAAc,MAAM,mBAAmB,OAAO;AACpD,eAAO,YAAY,WAAW,GAAG,IAAI,SAAS;AAAA,MAChD;AAEA,UAAI,gBAAgB;AAClB,eAAO;AAAA,MACT;AAEA,aAAO,SAAS;AAAA,IAClB;AAAA,EACF,EACC,SAAS;AACd;","names":["join","import_variant","import_variant","import_variant","join","join","packages","parsedPackages","join"]}
|
|
@@ -2,60 +2,60 @@ 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-Z2CMHMLR.js";
|
|
6
6
|
import {
|
|
7
7
|
syncTypesWithAuth
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-OA3CO5CH.js";
|
|
9
9
|
import {
|
|
10
10
|
createLogger
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-73MIX2O2.js";
|
|
12
12
|
import {
|
|
13
13
|
httpRequest
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-R5RJYQCX.js";
|
|
15
15
|
import {
|
|
16
16
|
createI18nT
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-E3K64ZZV.js";
|
|
18
18
|
import {
|
|
19
19
|
authenticate
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-DR4RSQZ7.js";
|
|
21
21
|
import {
|
|
22
22
|
saveProjectModel
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-B5WA4Z63.js";
|
|
24
24
|
import "./chunk-HEANTKSX.js";
|
|
25
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-6EJNAOBP.js";
|
|
26
26
|
import {
|
|
27
27
|
createVeloCLIServer,
|
|
28
28
|
debounceQueue,
|
|
29
29
|
require_chokidar
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-QDWLTWDB.js";
|
|
31
31
|
import {
|
|
32
32
|
require_normalize_path
|
|
33
33
|
} from "./chunk-V23RKBE2.js";
|
|
34
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-KNBTUAEM.js";
|
|
35
35
|
import {
|
|
36
36
|
updateFiles
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-JEYKAALI.js";
|
|
38
38
|
import {
|
|
39
39
|
AppType,
|
|
40
40
|
GridAppLayout as GridAppLayout2,
|
|
41
41
|
createApp,
|
|
42
42
|
pagesDiff
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-Y7PQOTYY.js";
|
|
44
44
|
import {
|
|
45
45
|
GridAppLayout
|
|
46
46
|
} from "./chunk-MVBGFP6D.js";
|
|
47
47
|
import {
|
|
48
48
|
TunnelClient,
|
|
49
49
|
launchTunnel
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-6RW52R4D.js";
|
|
51
51
|
import "./chunk-YFLJHEC7.js";
|
|
52
52
|
import "./chunk-MB2DJ4WP.js";
|
|
53
53
|
import "./chunk-RWTQFIPN.js";
|
|
54
54
|
import "./chunk-W54PG6O5.js";
|
|
55
|
-
import "./chunk-
|
|
55
|
+
import "./chunk-OHMQSHHI.js";
|
|
56
56
|
import "./chunk-HWVLWVTF.js";
|
|
57
|
-
import "./chunk-
|
|
58
|
-
import "./chunk-
|
|
57
|
+
import "./chunk-IUJ26DW6.js";
|
|
58
|
+
import "./chunk-CPSZ7QTC.js";
|
|
59
59
|
import {
|
|
60
60
|
ErrorViewer,
|
|
61
61
|
createHttpClient,
|
|
@@ -64,7 +64,7 @@ import {
|
|
|
64
64
|
openBrowser,
|
|
65
65
|
pLimit,
|
|
66
66
|
writeCrashReport
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-KONVQLDI.js";
|
|
68
68
|
import {
|
|
69
69
|
wixCliCliMessageDisplayed,
|
|
70
70
|
wixCliCodeHasBeenChanged,
|
|
@@ -72,11 +72,11 @@ import {
|
|
|
72
72
|
wixCliReadyForReloadAfterCodeChange,
|
|
73
73
|
wixCliUserResponseToCliMessage
|
|
74
74
|
} from "./chunk-WZOSCHKD.js";
|
|
75
|
-
import "./chunk-
|
|
75
|
+
import "./chunk-N2KKXUSW.js";
|
|
76
76
|
import "./chunk-KJ37XZQA.js";
|
|
77
77
|
import {
|
|
78
78
|
renderSync
|
|
79
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-AHOU27PT.js";
|
|
80
80
|
import {
|
|
81
81
|
require_react
|
|
82
82
|
} from "./chunk-NRAQAV6T.js";
|
|
@@ -88,16 +88,16 @@ import {
|
|
|
88
88
|
getPagesFolder,
|
|
89
89
|
getSourceFolder,
|
|
90
90
|
getTypesDir
|
|
91
|
-
} from "./chunk-
|
|
92
|
-
import "./chunk-
|
|
91
|
+
} from "./chunk-IWQIW4GL.js";
|
|
92
|
+
import "./chunk-II7O6SCF.js";
|
|
93
93
|
import {
|
|
94
94
|
getTestOverrides
|
|
95
|
-
} from "./chunk-
|
|
95
|
+
} from "./chunk-RL7RA2JG.js";
|
|
96
96
|
import {
|
|
97
97
|
outputFile,
|
|
98
98
|
pathExists
|
|
99
|
-
} from "./chunk-
|
|
100
|
-
import "./chunk-
|
|
99
|
+
} from "./chunk-ZUSQSFTR.js";
|
|
100
|
+
import "./chunk-F43XHKVL.js";
|
|
101
101
|
import {
|
|
102
102
|
CliError,
|
|
103
103
|
CliErrorCode
|
|
@@ -671,13 +671,17 @@ async function syncAllToRevision(model, opts, logger) {
|
|
|
671
671
|
await syncTypesWithAuth(model, { authState: opts.authState });
|
|
672
672
|
logTypesSynced.success();
|
|
673
673
|
} catch (error) {
|
|
674
|
-
writeCrashReport(
|
|
674
|
+
writeCrashReport(
|
|
675
|
+
getDebugLogFilePath(model.projectFolder),
|
|
676
|
+
error,
|
|
677
|
+
/* @__PURE__ */ new Date()
|
|
678
|
+
);
|
|
675
679
|
logTypesSynced.fail();
|
|
676
680
|
await rm2(getTypesDir(model.projectFolder), {
|
|
677
681
|
recursive: true,
|
|
678
682
|
force: true
|
|
679
683
|
}).catch((e) => {
|
|
680
|
-
writeCrashReport(getDebugLogFilePath(model.projectFolder), e);
|
|
684
|
+
writeCrashReport(getDebugLogFilePath(model.projectFolder), e, /* @__PURE__ */ new Date());
|
|
681
685
|
logger.logRecoverableFailureToRemoveTypesDir(e);
|
|
682
686
|
});
|
|
683
687
|
}
|
|
@@ -729,7 +733,11 @@ async function dev(initialModel, { biLogger, errorReporter }, {
|
|
|
729
733
|
onError(error) {
|
|
730
734
|
logger.logNewLine();
|
|
731
735
|
errorReporter.reportError(error);
|
|
732
|
-
writeCrashReport(
|
|
736
|
+
writeCrashReport(
|
|
737
|
+
getDebugLogFilePath(model.projectFolder),
|
|
738
|
+
error,
|
|
739
|
+
/* @__PURE__ */ new Date()
|
|
740
|
+
);
|
|
733
741
|
renderSync((0, import_react.createElement)(ErrorViewer, { error }));
|
|
734
742
|
}
|
|
735
743
|
},
|
|
@@ -813,4 +821,4 @@ async function dev(initialModel, { biLogger, errorReporter }, {
|
|
|
813
821
|
export {
|
|
814
822
|
dev
|
|
815
823
|
};
|
|
816
|
-
//# sourceMappingURL=dev-
|
|
824
|
+
//# sourceMappingURL=dev-LDM6OLLM.js.map
|