@wix/cli 1.1.70 → 1.1.71

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.
Files changed (133) hide show
  1. package/build/{DevCommand-5YJ7JVFI.js → DevCommand-BUCFQZ4V.js} +16 -15
  2. package/build/{DevCommand-5YJ7JVFI.js.map → DevCommand-BUCFQZ4V.js.map} +1 -1
  3. package/build/{DevCommand-3LUFW2FP.js → DevCommand-UXSOKVIV.js} +21 -18
  4. package/build/{DevCommand-3LUFW2FP.js.map → DevCommand-UXSOKVIV.js.map} +1 -1
  5. package/build/InstallCommand-ZXVGHZMT.js +111 -0
  6. package/build/InstallCommand-ZXVGHZMT.js.map +1 -0
  7. package/build/{LoginCommand-5XDVZ44E.js → LoginCommand-LQDJPLIG.js} +13 -13
  8. package/build/{LogoutCommand-6X3V6YFR.js → LogoutCommand-AQ4FFG6S.js} +9 -9
  9. package/build/{PreviewCommand-SZN5FNW2.js → PreviewCommand-PF63VX7E.js} +19 -17
  10. package/build/{PreviewCommand-SZN5FNW2.js.map → PreviewCommand-PF63VX7E.js.map} +1 -1
  11. package/build/{PublishCommand-WLNU4ZTZ.js → PublishCommand-QIUB5P27.js} +19 -17
  12. package/build/{PublishCommand-WLNU4ZTZ.js.map → PublishCommand-QIUB5P27.js.map} +1 -1
  13. package/build/{WhoamiCommand-LMVW2K4G.js → WhoamiCommand-C2BQLEZK.js} +5 -5
  14. package/build/{chunk-SEOIN2A6.js → chunk-2CPXK3HU.js} +2 -2
  15. package/build/{chunk-ZSEFFYYF.js → chunk-2G7FRAIA.js} +2 -2
  16. package/build/{chunk-VPOJLQYV.js → chunk-7EAHB7TU.js} +5 -5
  17. package/build/{chunk-XW5SMEWV.js → chunk-7VND5WMC.js} +23 -12
  18. package/build/{chunk-XW5SMEWV.js.map → chunk-7VND5WMC.js.map} +1 -1
  19. package/build/chunk-BALHGZ6G.js +106 -0
  20. package/build/chunk-BALHGZ6G.js.map +1 -0
  21. package/build/{chunk-2VWITZHD.js → chunk-CKRI4KAC.js} +6 -6
  22. package/build/{chunk-V7ZC4LPC.js → chunk-CVJG3VZM.js} +3 -2
  23. package/build/{chunk-V7ZC4LPC.js.map → chunk-CVJG3VZM.js.map} +1 -1
  24. package/build/chunk-D4CWTPCC.js +215 -0
  25. package/build/chunk-D4CWTPCC.js.map +1 -0
  26. package/build/{chunk-5P7JTOX6.js → chunk-DDC4C6V6.js} +2 -2
  27. package/build/{chunk-2PPYTGTP.js → chunk-DRTGGSXY.js} +11 -9
  28. package/build/{chunk-2PPYTGTP.js.map → chunk-DRTGGSXY.js.map} +1 -1
  29. package/build/{chunk-GV6YQJVG.js → chunk-E2POOOG2.js} +18 -399
  30. package/build/chunk-E2POOOG2.js.map +1 -0
  31. package/build/{chunk-DCQOM2Z7.js → chunk-E56WW2OA.js} +99 -15
  32. package/build/chunk-E56WW2OA.js.map +1 -0
  33. package/build/{chunk-3GHXATUB.js → chunk-F6DVF5WQ.js} +31 -4
  34. package/build/chunk-F6DVF5WQ.js.map +1 -0
  35. package/build/{chunk-PX2L3CCA.js → chunk-GNB7T7J7.js} +2 -1
  36. package/build/chunk-GNB7T7J7.js.map +1 -0
  37. package/build/{chunk-EDW5U5CN.js → chunk-GXQQXURF.js} +4 -4
  38. package/build/{chunk-EDW5U5CN.js.map → chunk-GXQQXURF.js.map} +1 -1
  39. package/build/chunk-HGBMRF3C.js +68 -0
  40. package/build/chunk-HGBMRF3C.js.map +1 -0
  41. package/build/{chunk-Y4ZVXLXY.js → chunk-IBISICD2.js} +2 -2
  42. package/build/{chunk-OVP6B64S.js → chunk-K4EZRW26.js} +6 -6
  43. package/build/{chunk-2F3GQZWA.js → chunk-KQMZOXQO.js} +5 -40
  44. package/build/chunk-KQMZOXQO.js.map +1 -0
  45. package/build/{chunk-I2MVJLFR.js → chunk-KU7XWHFR.js} +5 -5
  46. package/build/{chunk-STMV4YQN.js → chunk-KWG4MUE3.js} +4 -4
  47. package/build/{chunk-UQM2YHYJ.js → chunk-LUSZJ34N.js} +8 -2
  48. package/build/chunk-LUSZJ34N.js.map +1 -0
  49. package/build/{chunk-ISDQRGI5.js → chunk-LZJPV4CP.js} +2 -2
  50. package/build/{chunk-R63OCR7B.js → chunk-O25O35J2.js} +11 -11
  51. package/build/{chunk-FP6XJXLI.js → chunk-OH3G6JMX.js} +9 -9
  52. package/build/{chunk-XFBRJSRX.js → chunk-PAPTRQZR.js} +3 -3
  53. package/build/{chunk-UEWDARJV.js → chunk-Q6F4OGQT.js} +6 -6
  54. package/build/{chunk-73EOTPNH.js → chunk-QKXNIB4D.js} +2 -2
  55. package/build/chunk-RNE7RRCK.js +403 -0
  56. package/build/chunk-RNE7RRCK.js.map +1 -0
  57. package/build/{chunk-7BZASUF6.js → chunk-SELMNFDT.js} +5 -5
  58. package/build/{chunk-SNATPUJN.js → chunk-SNWTG76C.js} +2 -2
  59. package/build/chunk-TZ6REBY4.js +348 -0
  60. package/build/chunk-TZ6REBY4.js.map +1 -0
  61. package/build/{chunk-7UNZZYHX.js → chunk-VSMZTFUW.js} +3 -3
  62. package/build/{chunk-OYWDVG4X.js → chunk-XVW7HYN2.js} +4 -3
  63. package/build/{chunk-OYWDVG4X.js.map → chunk-XVW7HYN2.js.map} +1 -1
  64. package/build/{chunk-ZDRNDE67.js → chunk-YNXR6XGC.js} +12 -10
  65. package/build/{chunk-ZDRNDE67.js.map → chunk-YNXR6XGC.js.map} +1 -1
  66. package/build/{dev-ZADTCBAY.js → dev-UIDEVHB2.js} +32 -30
  67. package/build/{dev-ZADTCBAY.js.map → dev-UIDEVHB2.js.map} +1 -1
  68. package/build/index.js +26 -26
  69. package/build/install-BBZ5FFHR.js +79 -0
  70. package/build/install-BBZ5FFHR.js.map +1 -0
  71. package/build/{preview-J2P3H55N.js → preview-DRHNY7LY.js} +23 -22
  72. package/build/{preview-J2P3H55N.js.map → preview-DRHNY7LY.js.map} +1 -1
  73. package/build/{publish-EVX4FLPC.js → publish-YUV5OQNQ.js} +24 -23
  74. package/build/{publish-EVX4FLPC.js.map → publish-YUV5OQNQ.js.map} +1 -1
  75. package/build/{render-command-M42WI2DW.js → render-command-3A5DVPI7.js} +12 -12
  76. package/build/{render-command-BKK2MPBU.js → render-command-NSPTH47K.js} +14 -14
  77. package/build/render-command-NSPTH47K.js.map +1 -0
  78. package/build/{render-command-QQZQXMCT.js → render-command-Y754GZT4.js} +13 -13
  79. package/build/{run-command-3W35JGKO.js → run-command-JLCXAJNF.js} +9 -9
  80. package/build/{src-FRXUOTRK.js → src-GTDYBSPF.js} +2 -2
  81. package/build/{src-PPNZSRDE.js → src-H6NM7SBV.js} +8 -8
  82. package/build/{src-VXJEDAVH.js → src-SEHXPEGQ.js} +30 -13
  83. package/build/src-SEHXPEGQ.js.map +1 -0
  84. package/build/{src-RZCJMZGT.js → src-X4WDRIUX.js} +18 -18
  85. package/build/{src-WLXQYADV.js → src-YKFOEDGA.js} +7 -7
  86. package/build/{src-ZKWO2KZB.js → src-ZQHFQ5TA.js} +6 -6
  87. package/build/{sync-types-FZK6FRJH.js → sync-types-HI4GZPY7.js} +14 -14
  88. package/build/{uninstall-BDYHXWAO.js → uninstall-Z4L27S7G.js} +33 -37
  89. package/build/uninstall-Z4L27S7G.js.map +1 -0
  90. package/package.json +2 -2
  91. package/build/chunk-2F3GQZWA.js.map +0 -1
  92. package/build/chunk-3GHXATUB.js.map +0 -1
  93. package/build/chunk-6IE2UX3U.js +0 -338
  94. package/build/chunk-6IE2UX3U.js.map +0 -1
  95. package/build/chunk-DCQOM2Z7.js.map +0 -1
  96. package/build/chunk-GV6YQJVG.js.map +0 -1
  97. package/build/chunk-PX2L3CCA.js.map +0 -1
  98. package/build/chunk-UQM2YHYJ.js.map +0 -1
  99. package/build/install-R344LMIP.js +0 -152
  100. package/build/install-R344LMIP.js.map +0 -1
  101. package/build/render-command-BKK2MPBU.js.map +0 -1
  102. package/build/src-VXJEDAVH.js.map +0 -1
  103. package/build/uninstall-BDYHXWAO.js.map +0 -1
  104. /package/build/{LoginCommand-5XDVZ44E.js.map → LoginCommand-LQDJPLIG.js.map} +0 -0
  105. /package/build/{LogoutCommand-6X3V6YFR.js.map → LogoutCommand-AQ4FFG6S.js.map} +0 -0
  106. /package/build/{WhoamiCommand-LMVW2K4G.js.map → WhoamiCommand-C2BQLEZK.js.map} +0 -0
  107. /package/build/{chunk-SEOIN2A6.js.map → chunk-2CPXK3HU.js.map} +0 -0
  108. /package/build/{chunk-ZSEFFYYF.js.map → chunk-2G7FRAIA.js.map} +0 -0
  109. /package/build/{chunk-VPOJLQYV.js.map → chunk-7EAHB7TU.js.map} +0 -0
  110. /package/build/{chunk-2VWITZHD.js.map → chunk-CKRI4KAC.js.map} +0 -0
  111. /package/build/{chunk-5P7JTOX6.js.map → chunk-DDC4C6V6.js.map} +0 -0
  112. /package/build/{chunk-Y4ZVXLXY.js.map → chunk-IBISICD2.js.map} +0 -0
  113. /package/build/{chunk-OVP6B64S.js.map → chunk-K4EZRW26.js.map} +0 -0
  114. /package/build/{chunk-I2MVJLFR.js.map → chunk-KU7XWHFR.js.map} +0 -0
  115. /package/build/{chunk-STMV4YQN.js.map → chunk-KWG4MUE3.js.map} +0 -0
  116. /package/build/{chunk-ISDQRGI5.js.map → chunk-LZJPV4CP.js.map} +0 -0
  117. /package/build/{chunk-R63OCR7B.js.map → chunk-O25O35J2.js.map} +0 -0
  118. /package/build/{chunk-FP6XJXLI.js.map → chunk-OH3G6JMX.js.map} +0 -0
  119. /package/build/{chunk-XFBRJSRX.js.map → chunk-PAPTRQZR.js.map} +0 -0
  120. /package/build/{chunk-UEWDARJV.js.map → chunk-Q6F4OGQT.js.map} +0 -0
  121. /package/build/{chunk-73EOTPNH.js.map → chunk-QKXNIB4D.js.map} +0 -0
  122. /package/build/{chunk-7BZASUF6.js.map → chunk-SELMNFDT.js.map} +0 -0
  123. /package/build/{chunk-SNATPUJN.js.map → chunk-SNWTG76C.js.map} +0 -0
  124. /package/build/{chunk-7UNZZYHX.js.map → chunk-VSMZTFUW.js.map} +0 -0
  125. /package/build/{render-command-M42WI2DW.js.map → render-command-3A5DVPI7.js.map} +0 -0
  126. /package/build/{render-command-QQZQXMCT.js.map → render-command-Y754GZT4.js.map} +0 -0
  127. /package/build/{run-command-3W35JGKO.js.map → run-command-JLCXAJNF.js.map} +0 -0
  128. /package/build/{src-FRXUOTRK.js.map → src-GTDYBSPF.js.map} +0 -0
  129. /package/build/{src-PPNZSRDE.js.map → src-H6NM7SBV.js.map} +0 -0
  130. /package/build/{src-RZCJMZGT.js.map → src-X4WDRIUX.js.map} +0 -0
  131. /package/build/{src-WLXQYADV.js.map → src-YKFOEDGA.js.map} +0 -0
  132. /package/build/{src-ZKWO2KZB.js.map → src-ZQHFQ5TA.js.map} +0 -0
  133. /package/build/{sync-types-FZK6FRJH.js.map → sync-types-HI4GZPY7.js.map} +0 -0
@@ -2,7 +2,7 @@ import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  messages_default
5
- } from "./chunk-UQM2YHYJ.js";
5
+ } from "./chunk-LUSZJ34N.js";
6
6
  import {
7
7
  Option,
8
8
  createCommand
@@ -10,11 +10,11 @@ import {
10
10
  import {
11
11
  createI18n,
12
12
  require_react
13
- } from "./chunk-FP6XJXLI.js";
14
- import "./chunk-2K5KKUL3.js";
13
+ } from "./chunk-OH3G6JMX.js";
15
14
  import "./chunk-W423UTD3.js";
16
- import "./chunk-PX2L3CCA.js";
17
- import "./chunk-V7ZC4LPC.js";
15
+ import "./chunk-2K5KKUL3.js";
16
+ import "./chunk-GNB7T7J7.js";
17
+ import "./chunk-CVJG3VZM.js";
18
18
  import {
19
19
  __toESM,
20
20
  init_esm_shims
@@ -41,8 +41,8 @@ function createI18nT() {
41
41
  var devCommand = (services, cliVersion) => {
42
42
  const t = createI18nT();
43
43
  return createCommand("dev").description(t("site_dev_command_def.description")).action(async (options, command) => {
44
- const { renderCommand } = await import("./render-command-BKK2MPBU.js");
45
- const { DevCommand } = await import("./DevCommand-3LUFW2FP.js");
44
+ const { renderCommand } = await import("./render-command-NSPTH47K.js");
45
+ const { DevCommand } = await import("./DevCommand-UXSOKVIV.js");
46
46
  await renderCommand(command, services, cliVersion, /* @__PURE__ */ import_react.default.createElement(DevCommand, null));
47
47
  });
48
48
  };
@@ -53,8 +53,8 @@ var import_react2 = __toESM(require_react(), 1);
53
53
  var previewCommand = (services, cliVersion) => {
54
54
  const t = createI18nT();
55
55
  return createCommand("preview").description(t("site_preview_command_def.description")).action(async (options, command) => {
56
- const { renderCommand } = await import("./render-command-BKK2MPBU.js");
57
- const { PreviewCommand } = await import("./PreviewCommand-SZN5FNW2.js");
56
+ const { renderCommand } = await import("./render-command-NSPTH47K.js");
57
+ const { PreviewCommand } = await import("./PreviewCommand-PF63VX7E.js");
58
58
  await renderCommand(command, services, cliVersion, /* @__PURE__ */ import_react2.default.createElement(PreviewCommand, null));
59
59
  });
60
60
  };
@@ -71,8 +71,8 @@ var publishCommand = (services, cliVersion) => {
71
71
  ).conflicts("force")
72
72
  ).option("-f, --force", t("site_publish_command_def.option.force")).action(async (options, command) => {
73
73
  const { approvePreview = false, force = false } = options;
74
- const { renderCommand } = await import("./render-command-BKK2MPBU.js");
75
- const { PublishCommand } = await import("./PublishCommand-WLNU4ZTZ.js");
74
+ const { renderCommand } = await import("./render-command-NSPTH47K.js");
75
+ const { PublishCommand } = await import("./PublishCommand-QIUB5P27.js");
76
76
  await renderCommand(
77
77
  command,
78
78
  services,
@@ -82,11 +82,28 @@ var publishCommand = (services, cliVersion) => {
82
82
  });
83
83
  };
84
84
 
85
+ // ../cli-site/src/commands/install.tsx
86
+ init_esm_shims();
87
+ var import_react4 = __toESM(require_react(), 1);
88
+ var installCommand = (services, cliVersion) => {
89
+ const t = createI18nT();
90
+ return createCommand("install").description(t("site_install_command_def.description")).argument("[package]", t("site_install_command_def.argument.package")).action(async (packageName, _opts, command) => {
91
+ const { renderCommand } = await import("./render-command-NSPTH47K.js");
92
+ const { InstallCommand } = await import("./InstallCommand-ZXVGHZMT.js");
93
+ await renderCommand(
94
+ command,
95
+ services,
96
+ cliVersion,
97
+ /* @__PURE__ */ import_react4.default.createElement(InstallCommand, { packageName })
98
+ );
99
+ });
100
+ };
101
+
85
102
  // ../cli-site/src/commands/root-command.ts
86
103
  var getRootCommand = async function getRootCommand2(services, cliVersion) {
87
- return createCommand("site").addCommand(devCommand(services, cliVersion)).addCommand(previewCommand(services, cliVersion)).addCommand(publishCommand(services, cliVersion));
104
+ return createCommand("site").addCommand(devCommand(services, cliVersion)).addCommand(previewCommand(services, cliVersion)).addCommand(publishCommand(services, cliVersion)).addCommand(installCommand(services, cliVersion));
88
105
  };
89
106
  export {
90
107
  getRootCommand
91
108
  };
92
- //# sourceMappingURL=src-VXJEDAVH.js.map
109
+ //# sourceMappingURL=src-SEHXPEGQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../cli-site/src/index.ts","../../cli-site/src/commands/root-command.ts","../../cli-site/src/commands/dev.tsx","../../cli-site/src/i18n.ts","../../cli-site/src/commands/preview.tsx","../../cli-site/src/commands/publish.tsx","../../cli-site/src/commands/install.tsx"],"sourcesContent":["export { getRootCommand } from './commands/root-command.js';\n","import { createCommand } from '@commander-js/extra-typings';\nimport type { GetRootCommandFn } from '@wix/cli-command-contract';\nimport { devCommand } from './dev.js';\nimport { previewCommand } from './preview.js';\nimport { publishCommand } from './publish.js';\nimport { installCommand } from './install.js';\n\nexport const getRootCommand: GetRootCommandFn = async function getRootCommand(\n services,\n cliVersion\n) {\n return createCommand('site')\n .addCommand(devCommand(services, cliVersion))\n .addCommand(previewCommand(services, cliVersion))\n .addCommand(publishCommand(services, cliVersion))\n .addCommand(installCommand(services, cliVersion));\n};\n","import React from 'react';\nimport { createCommand } from '@commander-js/extra-typings';\nimport type { CommandServices } from '@wix/cli-command-contract';\nimport { createI18nT } from '../i18n.js';\n\nexport const devCommand = (services: CommandServices, cliVersion: string) => {\n const t = createI18nT();\n\n return createCommand('dev')\n .description(t('site_dev_command_def.description'))\n .action(async (options, command) => {\n const { renderCommand } = await import('./render-command.js');\n const { DevCommand } = await import(\n '../components/DevCommand/DevCommand.js'\n );\n\n await renderCommand(command, services, cliVersion, <DevCommand />);\n });\n};\n","import { createI18n as externalCreate } from '@wix/cli-i18n';\nimport messages from './messages.json';\n\nexport function createI18nT() {\n const i18n = externalCreate(messages);\n\n return i18n.t.bind(i18n);\n}\n","import React from 'react';\nimport { createCommand } from '@commander-js/extra-typings';\nimport type { CommandServices } from '@wix/cli-command-contract';\nimport { createI18nT } from '../i18n.js';\n\nexport const previewCommand = (\n services: CommandServices,\n cliVersion: string\n) => {\n const t = createI18nT();\n\n return createCommand('preview')\n .description(t('site_preview_command_def.description'))\n .action(async (options, command) => {\n const { renderCommand } = await import('./render-command.js');\n const { PreviewCommand } = await import(\n '../components/PreviewCommand/PreviewCommand.js'\n );\n\n await renderCommand(command, services, cliVersion, <PreviewCommand />);\n });\n};\n","import React from 'react';\nimport { createCommand, Option } from '@commander-js/extra-typings';\nimport type { CommandServices } from '@wix/cli-command-contract';\nimport { createI18nT } from '../i18n.js';\n\nexport const publishCommand = (\n services: CommandServices,\n cliVersion: string\n) => {\n const t = createI18nT();\n\n return createCommand('publish')\n .description(t('site_publish_command_def.description'))\n .addOption(\n new Option(\n '-y, --approve-preview',\n t('site_publish_command_def.option.approve_preview')\n ).conflicts('force')\n )\n .option('-f, --force', t('site_publish_command_def.option.force'))\n .action(async (options, command) => {\n const { approvePreview = false, force = false } = options;\n\n const { renderCommand } = await import('./render-command.js');\n const { PublishCommand } = await import(\n '../components/PublishCommand/PublishCommand.js'\n );\n\n await renderCommand(\n command,\n services,\n cliVersion,\n <PublishCommand approvePreview={approvePreview} force={force} />\n );\n });\n};\n","import React from 'react';\nimport { createCommand } from '@commander-js/extra-typings';\nimport type { CommandServices } from '@wix/cli-command-contract';\nimport { createI18nT } from '../i18n.js';\n\nexport const installCommand = (\n services: CommandServices,\n cliVersion: string\n) => {\n const t = createI18nT();\n\n return createCommand('install')\n .description(t('site_install_command_def.description'))\n .argument('[package]', t('site_install_command_def.argument.package'))\n .action(async (packageName, _opts, command) => {\n const { renderCommand } = await import('./render-command.js');\n const { InstallCommand } = await import(\n '../components/InstallCommand/InstallCommand.js'\n );\n\n await renderCommand(\n command,\n services,\n cliVersion,\n <InstallCommand packageName={packageName} />\n );\n });\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;ACAA;;;ACAA;AAAA,mBAAkB;;;ACAlB;AAGO,SAAS,cAAc;AAC5B,QAAM,OAAO,WAAe,gBAAQ;AAEpC,SAAO,KAAK,EAAE,KAAK,IAAI;AACzB;;;ADFO,IAAM,aAAa,CAAC,UAA2B,eAAuB;AAC3E,QAAM,IAAI,YAAY;AAEtB,SAAO,cAAc,KAAK,EACvB,YAAY,EAAE,kCAAkC,CAAC,EACjD,OAAO,OAAO,SAAS,YAAY;AAClC,UAAM,EAAE,cAAc,IAAI,MAAM,OAAO,8BAAqB;AAC5D,UAAM,EAAE,WAAW,IAAI,MAAM,OAC3B,0BACF;AAEA,UAAM,cAAc,SAAS,UAAU,YAAY,6BAAAA,QAAA,cAAC,gBAAW,CAAE;AAAA,EACnE,CAAC;AACL;;;AElBA;AAAA,IAAAC,gBAAkB;AAKX,IAAM,iBAAiB,CAC5B,UACA,eACG;AACH,QAAM,IAAI,YAAY;AAEtB,SAAO,cAAc,SAAS,EAC3B,YAAY,EAAE,sCAAsC,CAAC,EACrD,OAAO,OAAO,SAAS,YAAY;AAClC,UAAM,EAAE,cAAc,IAAI,MAAM,OAAO,8BAAqB;AAC5D,UAAM,EAAE,eAAe,IAAI,MAAM,OAC/B,8BACF;AAEA,UAAM,cAAc,SAAS,UAAU,YAAY,8BAAAC,QAAA,cAAC,oBAAe,CAAE;AAAA,EACvE,CAAC;AACL;;;ACrBA;AAAA,IAAAC,gBAAkB;AAKX,IAAM,iBAAiB,CAC5B,UACA,eACG;AACH,QAAM,IAAI,YAAY;AAEtB,SAAO,cAAc,SAAS,EAC3B,YAAY,EAAE,sCAAsC,CAAC,EACrD;AAAA,IACC,IAAI;AAAA,MACF;AAAA,MACA,EAAE,iDAAiD;AAAA,IACrD,EAAE,UAAU,OAAO;AAAA,EACrB,EACC,OAAO,eAAe,EAAE,uCAAuC,CAAC,EAChE,OAAO,OAAO,SAAS,YAAY;AAClC,UAAM,EAAE,iBAAiB,OAAO,QAAQ,MAAM,IAAI;AAElD,UAAM,EAAE,cAAc,IAAI,MAAM,OAAO,8BAAqB;AAC5D,UAAM,EAAE,eAAe,IAAI,MAAM,OAC/B,8BACF;AAEA,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA,8BAAAC,QAAA,cAAC,kBAAe,gBAAgC,OAAc;AAAA,IAChE;AAAA,EACF,CAAC;AACL;;;ACnCA;AAAA,IAAAC,gBAAkB;AAKX,IAAM,iBAAiB,CAC5B,UACA,eACG;AACH,QAAM,IAAI,YAAY;AAEtB,SAAO,cAAc,SAAS,EAC3B,YAAY,EAAE,sCAAsC,CAAC,EACrD,SAAS,aAAa,EAAE,2CAA2C,CAAC,EACpE,OAAO,OAAO,aAAa,OAAO,YAAY;AAC7C,UAAM,EAAE,cAAc,IAAI,MAAM,OAAO,8BAAqB;AAC5D,UAAM,EAAE,eAAe,IAAI,MAAM,OAC/B,8BACF;AAEA,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA,8BAAAC,QAAA,cAAC,kBAAe,aAA0B;AAAA,IAC5C;AAAA,EACF,CAAC;AACL;;;ALpBO,IAAM,iBAAmC,eAAeC,gBAC7D,UACA,YACA;AACA,SAAO,cAAc,MAAM,EACxB,WAAW,WAAW,UAAU,UAAU,CAAC,EAC3C,WAAW,eAAe,UAAU,UAAU,CAAC,EAC/C,WAAW,eAAe,UAAU,UAAU,CAAC,EAC/C,WAAW,eAAe,UAAU,UAAU,CAAC;AACpD;","names":["React","import_react","React","import_react","React","import_react","React","getRootCommand"]}
@@ -2,17 +2,17 @@ import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  createI18nT
5
- } from "./chunk-ZSEFFYYF.js";
5
+ } from "./chunk-2G7FRAIA.js";
6
6
  import {
7
7
  Option,
8
8
  createCommand,
9
9
  require_commander
10
10
  } from "./chunk-6RXRVNVZ.js";
11
- import "./chunk-FP6XJXLI.js";
12
- import "./chunk-2K5KKUL3.js";
11
+ import "./chunk-OH3G6JMX.js";
13
12
  import "./chunk-W423UTD3.js";
14
- import "./chunk-PX2L3CCA.js";
15
- import "./chunk-V7ZC4LPC.js";
13
+ import "./chunk-2K5KKUL3.js";
14
+ import "./chunk-GNB7T7J7.js";
15
+ import "./chunk-CVJG3VZM.js";
16
16
  import {
17
17
  __toESM,
18
18
  init_esm_shims
@@ -51,8 +51,8 @@ var devCommand = (services, cliVersion) => {
51
51
  return createCommand("dev").option("-s, --https", t("site_dev_command_def.option.https")).addOption(
52
52
  new Option2("--tunnel", t("site_dev_command_def.option.tunnel")).conflicts("https").hideHelp(true)
53
53
  ).description(t("site_dev_command_def.description")).action(async (options, command) => {
54
- const { runCommand } = await import("./run-command-3W35JGKO.js");
55
- const { dev } = await import("./dev-ZADTCBAY.js");
54
+ const { runCommand } = await import("./run-command-JLCXAJNF.js");
55
+ const { dev } = await import("./dev-UIDEVHB2.js");
56
56
  await runCommand(
57
57
  command,
58
58
  services,
@@ -67,8 +67,8 @@ init_esm_shims();
67
67
  var installCommand = (services, cliVersion) => {
68
68
  const t = createI18nT();
69
69
  return createCommand("install").description(t("site_install_command_def.description")).argument("[package]", t("site_install_command_def.argument.package")).option("--yarn", t("site_install_command_def.option.yarn")).option("--npm", t("site_install_command_def.option.npm")).action(async (packageName, opts, command) => {
70
- const { runCommand } = await import("./run-command-3W35JGKO.js");
71
- const { install } = await import("./install-R344LMIP.js");
70
+ const { runCommand } = await import("./run-command-JLCXAJNF.js");
71
+ const { install } = await import("./install-BBZ5FFHR.js");
72
72
  await runCommand(
73
73
  command,
74
74
  services,
@@ -88,8 +88,8 @@ var previewCommand = (services, cliVersion) => {
88
88
  t("site_preview_command_def.option.source")
89
89
  ).choices(["local", "remote"])
90
90
  ).action(async (options, command) => {
91
- const { runCommand } = await import("./run-command-3W35JGKO.js");
92
- const { preview } = await import("./preview-J2P3H55N.js");
91
+ const { runCommand } = await import("./run-command-JLCXAJNF.js");
92
+ const { preview } = await import("./preview-DRHNY7LY.js");
93
93
  await runCommand(
94
94
  command,
95
95
  services,
@@ -112,8 +112,8 @@ var publishCommand = (services, cliVersion) => {
112
112
  "-y, --approve-preview",
113
113
  t("site_publish_command_def.option.approve_preview")
114
114
  ).option("-f, --force", t("site_publish_command_def.option.force")).action(async (options, command) => {
115
- const { runCommand } = await import("./run-command-3W35JGKO.js");
116
- const { publish } = await import("./publish-EVX4FLPC.js");
115
+ const { runCommand } = await import("./run-command-JLCXAJNF.js");
116
+ const { publish } = await import("./publish-YUV5OQNQ.js");
117
117
  await runCommand(
118
118
  command,
119
119
  services,
@@ -126,8 +126,8 @@ var publishCommand = (services, cliVersion) => {
126
126
  // ../cli-site-old/src/commands/sync-types.ts
127
127
  init_esm_shims();
128
128
  var syncTypesCommand = (services, cliVersion) => createCommand("sync-types").action(async (_, command) => {
129
- const { runCommand } = await import("./run-command-3W35JGKO.js");
130
- const { syncTypes } = await import("./sync-types-FZK6FRJH.js");
129
+ const { runCommand } = await import("./run-command-JLCXAJNF.js");
130
+ const { syncTypes } = await import("./sync-types-HI4GZPY7.js");
131
131
  await runCommand(
132
132
  command,
133
133
  services,
@@ -141,8 +141,8 @@ init_esm_shims();
141
141
  var uninstallCommand = (services, cliVersion) => {
142
142
  const t = createI18nT();
143
143
  return createCommand("uninstall").description(t("site_uninstall_command_def.description")).argument("<package>", t("site_uninstall_command_def.argument.package")).option("--yarn", t("site_uninstall_command_def.option.yarn")).option("--npm", t("site_uninstall_command_def.option.npm")).action(async (packageName, opts, command) => {
144
- const { runCommand } = await import("./run-command-3W35JGKO.js");
145
- const { uninstall } = await import("./uninstall-BDYHXWAO.js");
144
+ const { runCommand } = await import("./run-command-JLCXAJNF.js");
145
+ const { uninstall } = await import("./uninstall-Z4L27S7G.js");
146
146
  await runCommand(
147
147
  command,
148
148
  services,
@@ -159,4 +159,4 @@ var getRootCommand = async function getRootCommand2(services, cliVersion) {
159
159
  export {
160
160
  getRootCommand
161
161
  };
162
- //# sourceMappingURL=src-RZCJMZGT.js.map
162
+ //# sourceMappingURL=src-X4WDRIUX.js.map
@@ -9,11 +9,11 @@ import {
9
9
  import {
10
10
  createI18n,
11
11
  require_react
12
- } from "./chunk-FP6XJXLI.js";
13
- import "./chunk-2K5KKUL3.js";
12
+ } from "./chunk-OH3G6JMX.js";
14
13
  import "./chunk-W423UTD3.js";
15
- import "./chunk-PX2L3CCA.js";
16
- import "./chunk-V7ZC4LPC.js";
14
+ import "./chunk-2K5KKUL3.js";
15
+ import "./chunk-GNB7T7J7.js";
16
+ import "./chunk-CVJG3VZM.js";
17
17
  import {
18
18
  __toESM,
19
19
  init_esm_shims
@@ -40,8 +40,8 @@ function createI18nT() {
40
40
  var devCommand = (services, cliVersion) => {
41
41
  const t = createI18nT();
42
42
  return createCommand("dev").description(t("site_dev_command_def.description")).action(async (options, command) => {
43
- const { renderCommand } = await import("./render-command-QQZQXMCT.js");
44
- const { DevCommand } = await import("./DevCommand-5YJ7JVFI.js");
43
+ const { renderCommand } = await import("./render-command-Y754GZT4.js");
44
+ const { DevCommand } = await import("./DevCommand-BUCFQZ4V.js");
45
45
  await renderCommand(command, services, cliVersion, /* @__PURE__ */ import_react.default.createElement(DevCommand, null));
46
46
  });
47
47
  };
@@ -53,4 +53,4 @@ var getRootCommand = async function getRootCommand2(services, cliVersion) {
53
53
  export {
54
54
  getRootCommand
55
55
  };
56
- //# sourceMappingURL=src-WLXQYADV.js.map
56
+ //# sourceMappingURL=src-YKFOEDGA.js.map
@@ -3,14 +3,14 @@ const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  readUserConfig,
5
5
  updateUserConfig
6
- } from "./chunk-7UNZZYHX.js";
7
- import "./chunk-SEOIN2A6.js";
8
- import "./chunk-3GHXATUB.js";
9
- import "./chunk-PX2L3CCA.js";
10
- import "./chunk-V7ZC4LPC.js";
6
+ } from "./chunk-VSMZTFUW.js";
7
+ import "./chunk-2CPXK3HU.js";
8
+ import "./chunk-F6DVF5WQ.js";
9
+ import "./chunk-GNB7T7J7.js";
10
+ import "./chunk-CVJG3VZM.js";
11
11
  import "./chunk-PYIAC2GK.js";
12
12
  export {
13
13
  readUserConfig,
14
14
  updateUserConfig
15
15
  };
16
- //# sourceMappingURL=src-ZKWO2KZB.js.map
16
+ //# sourceMappingURL=src-ZQHFQ5TA.js.map
@@ -3,28 +3,28 @@ const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  syncTypes,
5
5
  syncTypesWithAuth
6
- } from "./chunk-7BZASUF6.js";
7
- import "./chunk-XFBRJSRX.js";
8
- import "./chunk-VPOJLQYV.js";
6
+ } from "./chunk-SELMNFDT.js";
7
+ import "./chunk-PAPTRQZR.js";
8
+ import "./chunk-7EAHB7TU.js";
9
9
  import "./chunk-OJHDGJWP.js";
10
10
  import "./chunk-6LI4WGAW.js";
11
- import "./chunk-STMV4YQN.js";
12
- import "./chunk-R63OCR7B.js";
13
- import "./chunk-XW5SMEWV.js";
14
- import "./chunk-FP6XJXLI.js";
15
- import "./chunk-2K5KKUL3.js";
11
+ import "./chunk-KWG4MUE3.js";
12
+ import "./chunk-O25O35J2.js";
13
+ import "./chunk-7VND5WMC.js";
16
14
  import "./chunk-WN3D6AOY.js";
15
+ import "./chunk-OH3G6JMX.js";
17
16
  import "./chunk-W423UTD3.js";
17
+ import "./chunk-2K5KKUL3.js";
18
18
  import "./chunk-YU54OBFT.js";
19
19
  import "./chunk-XMTHMR2B.js";
20
- import "./chunk-7UNZZYHX.js";
21
- import "./chunk-SEOIN2A6.js";
22
- import "./chunk-3GHXATUB.js";
23
- import "./chunk-PX2L3CCA.js";
24
- import "./chunk-V7ZC4LPC.js";
20
+ import "./chunk-VSMZTFUW.js";
21
+ import "./chunk-2CPXK3HU.js";
22
+ import "./chunk-F6DVF5WQ.js";
23
+ import "./chunk-GNB7T7J7.js";
24
+ import "./chunk-CVJG3VZM.js";
25
25
  import "./chunk-PYIAC2GK.js";
26
26
  export {
27
27
  syncTypes,
28
28
  syncTypesWithAuth
29
29
  };
30
- //# sourceMappingURL=sync-types-FZK6FRJH.js.map
30
+ //# sourceMappingURL=sync-types-HI4GZPY7.js.map
@@ -1,40 +1,43 @@
1
1
  import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
3
  import {
4
- getDefaultPackageManager,
5
4
  resolveNpmDependencies,
6
- uninstallNpmPackage
7
- } from "./chunk-6IE2UX3U.js";
8
- import "./chunk-73EOTPNH.js";
5
+ resolvePackageManager
6
+ } from "./chunk-D4CWTPCC.js";
7
+ import "./chunk-IBISICD2.js";
8
+ import "./chunk-QKXNIB4D.js";
9
9
  import {
10
10
  createLogger
11
- } from "./chunk-GV6YQJVG.js";
11
+ } from "./chunk-RNE7RRCK.js";
12
+ import {
13
+ createI18nT
14
+ } from "./chunk-2G7FRAIA.js";
12
15
  import "./chunk-CNXKF7E3.js";
13
16
  import {
14
17
  authenticate
15
- } from "./chunk-XFBRJSRX.js";
16
- import {
17
- createI18nT
18
- } from "./chunk-ZSEFFYYF.js";
19
- import "./chunk-OJHDGJWP.js";
18
+ } from "./chunk-PAPTRQZR.js";
20
19
  import "./chunk-6XRFJZTQ.js";
21
- import "./chunk-STMV4YQN.js";
22
- import "./chunk-R63OCR7B.js";
23
- import "./chunk-XW5SMEWV.js";
24
- import "./chunk-FP6XJXLI.js";
25
- import "./chunk-2K5KKUL3.js";
20
+ import "./chunk-TZ6REBY4.js";
21
+ import "./chunk-E2POOOG2.js";
22
+ import "./chunk-OJHDGJWP.js";
23
+ import "./chunk-BALHGZ6G.js";
24
+ import "./chunk-KWG4MUE3.js";
25
+ import "./chunk-O25O35J2.js";
26
+ import "./chunk-7VND5WMC.js";
26
27
  import "./chunk-WN3D6AOY.js";
28
+ import "./chunk-OH3G6JMX.js";
27
29
  import "./chunk-W423UTD3.js";
30
+ import "./chunk-2K5KKUL3.js";
28
31
  import "./chunk-YU54OBFT.js";
29
32
  import "./chunk-XMTHMR2B.js";
30
- import "./chunk-7UNZZYHX.js";
31
- import "./chunk-SEOIN2A6.js";
32
- import "./chunk-3GHXATUB.js";
33
- import "./chunk-PX2L3CCA.js";
33
+ import "./chunk-VSMZTFUW.js";
34
+ import "./chunk-2CPXK3HU.js";
35
+ import "./chunk-F6DVF5WQ.js";
36
+ import "./chunk-GNB7T7J7.js";
34
37
  import {
35
38
  CliError,
36
39
  CliErrorCode
37
- } from "./chunk-V7ZC4LPC.js";
40
+ } from "./chunk-CVJG3VZM.js";
38
41
  import {
39
42
  init_esm_shims
40
43
  } from "./chunk-PYIAC2GK.js";
@@ -59,28 +62,21 @@ async function uninstall(model, services, options, initialPackageName) {
59
62
  cause: null
60
63
  });
61
64
  }
62
- let packageManager;
63
- if (options.yarn) {
64
- packageManager = "yarn";
65
- } else if (options.npm) {
66
- packageManager = "npm";
67
- } else {
68
- packageManager = await getDefaultPackageManager(model.projectFolder);
69
- }
70
65
  const logDependencyUninstalled = logger.logDependencyUninstalling(packageName);
71
66
  try {
72
- await uninstallNpmPackage(packageName, model.projectFolder, packageManager);
67
+ const packageManager = await resolvePackageManager(
68
+ model.projectFolder,
69
+ options
70
+ );
71
+ await packageManager.runUninstallPackage(model.projectFolder, packageName);
73
72
  await resolveNpmDependencies(model.projectFolder, { authState });
74
- } catch (e) {
75
- throw new CliError({
76
- code: CliErrorCode.FailedToUninstallPackage({ packageName }),
77
- cause: e,
78
- info: { model }
79
- });
73
+ logDependencyUninstalled.success();
74
+ } catch (error) {
75
+ logDependencyUninstalled.fail();
76
+ throw error;
80
77
  }
81
- logDependencyUninstalled();
82
78
  }
83
79
  export {
84
80
  uninstall
85
81
  };
86
- //# sourceMappingURL=uninstall-BDYHXWAO.js.map
82
+ //# sourceMappingURL=uninstall-Z4L27S7G.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../cli-site-old/src/uninstall/index.ts","../../cli-site-old/src/uninstall/uninstall.ts"],"sourcesContent":["export { uninstall } from './uninstall.js';\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { CommandServices } from '@wix/cli-command-contract';\nimport {\n resolvePackageManager,\n resolveNpmDependencies,\n} from '../velo-npm/index.js';\nimport { createLogger } from '../logger.js';\nimport { createI18nT } from '../i18n.js';\nimport type { ProjectModel } from '../model.js';\nimport { authenticate } from '../authentication.js';\n\nexport async function uninstall(\n model: ProjectModel,\n services: CommandServices,\n options: {\n yarn?: boolean;\n npm?: boolean;\n },\n initialPackageName: string\n) {\n const t = createI18nT();\n const logger = createLogger({ t });\n\n const authState = await authenticate({\n metaSiteId: model.metaSiteId,\n biLogger: services.biLogger,\n errorReporter: services.errorReporter,\n });\n\n const packageName = initialPackageName.trim();\n\n if (!packageName) {\n throw new CliError({\n code: CliErrorCode.WixUninstallMissingPackageName(),\n cause: null,\n });\n }\n\n const logDependencyUninstalled =\n logger.logDependencyUninstalling(packageName);\n\n try {\n const packageManager = await resolvePackageManager(\n model.projectFolder,\n options\n );\n await packageManager.runUninstallPackage(model.projectFolder, packageName);\n await resolveNpmDependencies(model.projectFolder, { authState });\n logDependencyUninstalled.success();\n } catch (error) {\n logDependencyUninstalled.fail();\n throw error;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;ACAA;AAWA,eAAsB,UACpB,OACA,UACA,SAIA,oBACA;AACA,QAAM,IAAI,YAAY;AACtB,QAAM,SAAS,aAAa,EAAE,EAAE,CAAC;AAEjC,QAAM,YAAY,MAAM,aAAa;AAAA,IACnC,YAAY,MAAM;AAAA,IAClB,UAAU,SAAS;AAAA,IACnB,eAAe,SAAS;AAAA,EAC1B,CAAC;AAED,QAAM,cAAc,mBAAmB,KAAK;AAE5C,MAAI,CAAC,aAAa;AAChB,UAAM,IAAI,SAAS;AAAA,MACjB,MAAM,aAAa,+BAA+B;AAAA,MAClD,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AAEA,QAAM,2BACJ,OAAO,0BAA0B,WAAW;AAE9C,MAAI;AACF,UAAM,iBAAiB,MAAM;AAAA,MAC3B,MAAM;AAAA,MACN;AAAA,IACF;AACA,UAAM,eAAe,oBAAoB,MAAM,eAAe,WAAW;AACzE,UAAM,uBAAuB,MAAM,eAAe,EAAE,UAAU,CAAC;AAC/D,6BAAyB,QAAQ;AAAA,EACnC,SAAS,OAAO;AACd,6BAAyB,KAAK;AAC9B,UAAM;AAAA,EACR;AACF;","names":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@wix/cli",
3
3
  "description": "CLI tool for building Wix sites and applications",
4
- "version": "1.1.70",
4
+ "version": "1.1.71",
5
5
  "bin": {
6
6
  "wix": "bin/wix.cjs"
7
7
  },
@@ -88,5 +88,5 @@
88
88
  ]
89
89
  }
90
90
  },
91
- "falconPackageHash": "b85a9a3de9bfca6266109f5da6afe1bde9c233fcff621127a69819eb"
91
+ "falconPackageHash": "0b06d88a64c374d47a38268a6c30528fbc7a73db1138c5923a9f7a12"
92
92
  }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../cli-site/src/site-fs-manager.ts","../../../node_modules/@wix/anyide-cli-file-structure/dist/index.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/wixSiteFSManager.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/code/index.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/code/code.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/code/utils/veloUtils.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/code/utils/constants.js","../../../node_modules/@wix/anyide-cli-file-structure/node_modules/@wix/velo-github-layout-definitions/build/index.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/types.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/document/index.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/document/document.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/document/utils/wmlUtils.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/document/externalUpdates.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/page/utils.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/state/state.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/state/siteFileStructure.js","../../../node_modules/@wix/anyide-template-layout/dist/index.js","../../../node_modules/@wix/anyide-template-layout/dist/code.js","../../../node_modules/@wix/anyide-template-layout/dist/configs/index.js","../../../node_modules/@wix/anyide-template-layout/dist/configs/blocksConfig.js","../../../node_modules/@wix/anyide-template-layout/dist/configs/editorConfig.js","../../../node_modules/@wix/anyide-template-layout/dist/page.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/state/siteFileSystem.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/state/stateBuilder.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/state/sitePagesState.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/applyFsUpdates.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/code/fsUpdates.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/page/fsUpdates.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/document/fsUpdates.js","../../cli-site/src/velo.ts","../../cli-site/src/files/wix.lock.ts"],"sourcesContent":["import { relative } from 'node:path';\nimport { WixSiteFSManager } from '@wix/anyide-cli-file-structure';\nimport { getSourceFolder } from '@wix/velo-github-layout-definitions';\nimport type {\n FSUpdate,\n WixSiteExternalUpdate,\n} from '@wix/anyide-cli-file-structure';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\n\nexport async function createSiteFsManager(projectFolder: string) {\n const srcFolder = getSourceFolder(projectFolder);\n const fsManager = await WixSiteFSManager.create(srcFolder, 'Editor').catch(\n (error: unknown) => {\n throw new CliError({\n code: CliErrorCode.FailedToInitializeSiteFsManager(),\n cause: error,\n });\n }\n );\n\n return {\n convertToOnlineLayout: fsManager.createConvertOnlineLayoutApi(\n relative(projectFolder, srcFolder)\n ),\n async getCode() {\n try {\n return await fsManager.getCode();\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToGetSiteFsManagerCode(),\n cause: error,\n });\n }\n },\n async getDocument() {\n try {\n return await fsManager.getDocument();\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToGetSiteFsManagerDocument(),\n cause: error,\n });\n }\n },\n async applyFsUpdates(updates: FSUpdate[]) {\n try {\n return await fsManager.applyFsUpdates(updates);\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToApplySiteFsManagerFsUpdates(),\n cause: error,\n });\n }\n },\n async applyExternalUpdates(update: WixSiteExternalUpdate) {\n try {\n await fsManager.applyExternalUpdates(update);\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToApplySiteFsManagerExternalUpdates(),\n cause: error,\n });\n }\n },\n };\n}\n","export * from './wixSiteFSManager.js';\n","import { convertOnlineLayout, getSiteCode } from './code/index.js';\nimport { applyDocumentExternalUpdates, getSiteDocument } from './document/index.js';\nimport { buildState } from './state/state.js';\nimport { applyFsUpdates } from './applyFsUpdates.js';\nexport class WixSiteFSManager {\n state;\n constructor(state) {\n this.state = state;\n }\n static async create(rootFolderPath, fileStructureType) {\n const state = await buildState(rootFolderPath, fileStructureType);\n return new WixSiteFSManager(state);\n }\n getCode = async () => getSiteCode(this.state);\n getDocument = async () => getSiteDocument(this.state);\n applyFsUpdates = async (updates) => applyFsUpdates(this.state, updates);\n applyExternalUpdates = async ({ code, document }) => {\n if (code) {\n throw new Error('external code updates are not supported');\n }\n if (document) {\n await applyDocumentExternalUpdates(this.state, document);\n }\n };\n createConvertOnlineLayoutApi = (basePath) => (onlinePath) => convertOnlineLayout(this.state, basePath, onlinePath);\n}\n","export { getSiteCode, convertOnlineLayout } from './code.js';\n","import path from 'path';\nimport { convertToGithubLayout, getPageCodeFilePath } from './utils/veloUtils.js';\nimport { foldersType } from '../types.js';\nconst readAllFilesInDir = async (state, dir, folderType) => {\n const entries = await state.fileSystem.readFolder(dir);\n const filePromises = entries.map(async (entry) => {\n const entryPath = path.join(dir, entry.name);\n if (entry.isFile()) {\n return {\n path: convertToGithubLayout(state, entryPath, folderType),\n content: await state.fileSystem.readFile(entryPath)\n };\n }\n return readAllFilesInDir(state, entryPath, folderType);\n });\n return (await Promise.all(filePromises)).flat();\n};\nconst readBackendFiles = async (state) => readAllFilesInDir(state, state.fileStructure.getBackendFolderPath(), foldersType.backend);\nconst readPublicFiles = async (state) => readAllFilesInDir(state, state.fileStructure.getPublicFolderPath(), foldersType.public);\nconst readStylesFiles = async (state) => readAllFilesInDir(state, state.fileStructure.getStylesFolderPath(), foldersType.styles);\nconst readPageCodeFiles = async (state) => {\n const codeFiles = [];\n const pages = state.pages.getAll();\n for (const { pageId, pagePath } of pages) {\n const page = state.fileStructure.getPageFilesPaths(pagePath);\n const content = await state.fileSystem.readFile(page.code);\n codeFiles.push({ path: getPageCodeFilePath(pageId), content });\n }\n return codeFiles;\n};\nexport const getSiteCode = async (state) => {\n const allFiles = await Promise.all([\n readBackendFiles(state),\n readPublicFiles(state),\n readStylesFiles(state),\n readPageCodeFiles(state)\n ]);\n return {\n files: allFiles.flat(),\n layout: 'GITHUB',\n ignoreForbiddenPaths: true\n };\n};\nconst onlinePathRegex = /^(public\\/pages|public|backend|styles)\\/?((.+)\\.js|.*)$/;\n/**\n * This api takes an online path and splits it to 3 parts:\n * 1. The folder (public / backend / pages)\n * 2. The relative file path from this folder\n * 3. Page id (only when the folder is pages)\n */\nconst splitOnlinePath = (onlinePath) => {\n const [, folderPath, relativeFilePath, pageId] = onlinePathRegex.exec(onlinePath) ?? [];\n return {\n folderPath,\n relativeFilePath,\n pageId\n };\n};\nconst buildCodeFilePath = (folderPath, relativeFilePath) => {\n if (!relativeFilePath) {\n return folderPath;\n }\n return path.join(folderPath, relativeFilePath);\n};\nconst buildPageCodeFilePath = ({ pages, fileStructure }, pageId) => {\n if (!pageId) {\n throw new Error('Invalid page code file path');\n }\n const pageFolderPath = pages.getFolderPath(pageId);\n if (!pageFolderPath) {\n throw new Error('Page does not exist');\n }\n return fileStructure.getPageFilesPaths(pageFolderPath).code;\n};\nconst convertOnlineLayoutToRelativePath = (state, onlinePath) => {\n const { fileStructure } = state;\n const { folderPath, relativeFilePath, pageId } = splitOnlinePath(onlinePath);\n switch (folderPath) {\n case 'public':\n return buildCodeFilePath(fileStructure.getPublicFolderPath(), relativeFilePath);\n case 'backend':\n return buildCodeFilePath(fileStructure.getBackendFolderPath(), relativeFilePath);\n case 'styles':\n return buildCodeFilePath(fileStructure.getStylesFolderPath(), relativeFilePath);\n case 'public/pages':\n return buildPageCodeFilePath(state, pageId);\n default:\n throw new Error('Unknown online path');\n }\n};\nexport const convertOnlineLayout = (state, basePath, onlinePath) => path.join(basePath, convertOnlineLayoutToRelativePath(state, onlinePath));\n","import { PAGE_CODE_TEMPLATE } from './constants.js';\nimport { getBackendFolder, getPagesFolder, getPublicFolder, getStylesFolder } from '@wix/velo-github-layout-definitions';\nimport { foldersType } from '../../types.js';\nexport const createDefaultPageCodeFile = async (siteFileSystem, filePath) => siteFileSystem.writeFile(filePath, PAGE_CODE_TEMPLATE);\nexport const getPageCodeFilePath = (pageId) => `${getPagesFolder()}/${pageId}.js`;\nexport const convertToGithubLayout = (state, path, folderType) => {\n switch (folderType) {\n case foldersType.backend:\n return transformPath(path, state.fileStructure.getBackendFolderPath(), getBackendFolder());\n case foldersType.public:\n return transformPath(path, state.fileStructure.getPublicFolderPath(), getPublicFolder());\n case foldersType.styles:\n return transformPath(path, state.fileStructure.getStylesFolderPath(), getStylesFolder());\n }\n};\nconst transformPath = (path, basePath, folderPrefix) => {\n const relativePath = path.replace(`${basePath}/`, '');\n return `${folderPrefix}/${relativePath}`;\n};\n","export const PAGE_CODE_TEMPLATE = `// API Reference: https://www.wix.com/velo/reference/api-overview/introduction\n// “Hello, World!” Example: https://learn-code.wix.com/en/article/hello-world\n\n$w.onReady(function () {\n // Write your JavaScript here\n\n // To select an element by ID use: $w('#elementID')\n\n // Click 'Preview' to run your code\n});\n`;\n","// src/index.ts\nimport { join } from \"node:path\";\nfunction getGitIgnoredFolder(projectFolder = \"\") {\n return join(projectFolder, \".wix\");\n}\nfunction getTypesDir(projectFolder) {\n return join(getGitIgnoredFolder(projectFolder), \"types\");\n}\nfunction getPageTypesDir(projectFolder, pageId) {\n return join(getTypesDir(projectFolder), pageId);\n}\nfunction getPageConfigFilename(projectFolder, pageId) {\n return join(getPageTypesDir(projectFolder, pageId), `jsconfig.json`);\n}\nfunction getBackendConfigPath(projectFolder) {\n return join(getTypesDir(projectFolder), \"backend\", \"jsconfig.json\");\n}\nfunction getPublicConfigPath(projectFolder) {\n return join(getTypesDir(projectFolder), \"public\", \"jsconfig.json\");\n}\nfunction getSourceFolder(projectFolder) {\n return join(projectFolder, \"src\");\n}\nfunction getPagesFolder(projectFolder = \"\") {\n return join(getSourceFolder(projectFolder), \"pages\");\n}\nfunction getPublicFolder(projectFolder = \"\") {\n return join(getSourceFolder(projectFolder), \"public\");\n}\nfunction getBackendFolder(projectFolder = \"\") {\n return join(getSourceFolder(projectFolder), \"backend\");\n}\nfunction getStylesFolder(projectFolder = \"\") {\n return join(getSourceFolder(projectFolder), \"styles\");\n}\nvar SLASH = \"/\";\nvar ENCODED_SLASH = \"\\\\\\\\\";\nfunction encodeSlash(string) {\n return string.replaceAll(new RegExp(SLASH, \"g\"), ENCODED_SLASH);\n}\nfunction getPageCodeFilePath(projectFolder, page, shouldEscapeSlash = false) {\n const pageTitle = shouldEscapeSlash ? encodeSlash(page.pageTitle) : page.pageTitle;\n return join(\n getPagesFolder(projectFolder),\n `${[pageTitle, page.pageMetaData.pageId].filter(Boolean).join(\".\")}.js`\n );\n}\nexport {\n encodeSlash,\n getBackendConfigPath,\n getBackendFolder,\n getGitIgnoredFolder,\n getPageCodeFilePath,\n getPageConfigFilename,\n getPageTypesDir,\n getPagesFolder,\n getPublicConfigPath,\n getPublicFolder,\n getSourceFolder,\n getStylesFolder,\n getTypesDir\n};\n","export const foldersType = {\n backend: 'backend',\n public: 'public',\n styles: 'styles'\n};\n","export { getSiteDocument } from './document.js';\nexport { applyDocumentExternalUpdates } from './externalUpdates.js';\n","import { readWml } from './utils/wmlUtils.js';\nconst getDocumentPages = async (state) => {\n const documentPages = {};\n const pages = state.pages.getAll();\n for (const { pageId, pagePath } of pages) {\n const page = state.fileStructure.getPageFilesPaths(pagePath);\n const data = await readWml(state.fileSystem, page.document);\n documentPages[pageId] = { data };\n }\n return documentPages;\n};\nexport const getSiteDocument = async (state) => {\n const documentPages = await getDocumentPages(state);\n const { masterPage, ...otherPages } = documentPages;\n if (!masterPage) {\n throw new Error('Missing master page');\n }\n return {\n pages: {\n masterPage,\n ...otherPages\n }\n };\n};\n","const pageIdRegex = /<(?:Master)?Page\\s[^>]*?(?<=\\s)id=\"(.+?)\".*?>/;\nexport const getPageId = async (siteFileSystem, { structure }) => {\n const structureXmlContent = await siteFileSystem.readFile(structure);\n const [match, pageId] = structureXmlContent.match(pageIdRegex) ?? [];\n if (!match) {\n throw new Error('pageId not found in wml');\n }\n return pageId;\n};\nconst mapWmlFiles = async (documentStructure, callbackFn) => {\n const [structure, data, style] = await Promise.all([\n callbackFn(documentStructure.structure, 'structure'),\n callbackFn(documentStructure.data, 'data'),\n callbackFn(documentStructure.style, 'style')\n ]);\n return { structure, data, style };\n};\nconst writeWmlFiles = async (siteFileSystem, documentStructure, wml) => {\n const filesContent = convertWmlExportToFiles(wml);\n await mapWmlFiles(documentStructure, (filePath, fileName) => siteFileSystem.writeFile(filePath, filesContent[fileName]));\n};\nconst removeWmlFiles = async (siteFileSystem, documentStructure) => {\n await mapWmlFiles(documentStructure, (filePath) => siteFileSystem.removeFile(filePath));\n};\nexport const writeWml = async (siteFileSystem, documentStructure, pageData) => {\n if (pageData === null) {\n return removeWmlFiles(siteFileSystem, documentStructure);\n }\n return writeWmlFiles(siteFileSystem, documentStructure, pageData.data);\n};\nexport const readWml = async (siteFileSystem, documentStructure) => {\n const filesContent = await mapWmlFiles(documentStructure, async (filePath) => await siteFileSystem.readFile(filePath));\n return convertFilesToWmlExport(filesContent);\n};\nconst indentedStringify = (data) => JSON.stringify(data, undefined, 2);\nexport const convertWmlExportToFiles = (wmlExport) => {\n const dataWithoutVersion = JSON.parse(wmlExport.data.content);\n const dataWithVersion = indentedStringify({ ...dataWithoutVersion, version: wmlExport.version });\n return {\n structure: wmlExport.structure.content,\n style: wmlExport.style.content,\n data: dataWithVersion\n };\n};\nexport const convertFilesToWmlExport = (filesContent) => {\n const { version, ...dataWithoutVersion } = JSON.parse(filesContent.data);\n return {\n structure: { type: 'xml', content: filesContent.structure },\n data: { type: 'json', content: indentedStringify(dataWithoutVersion) },\n style: { type: 'css', content: filesContent.style },\n version\n };\n};\n","import { createPage, removePage, updatePage } from '../page/utils.js';\nconst applyPageUpdate = async (state, pageId, pageData) => {\n if (pageData === null) {\n return removePage(state, pageId);\n }\n const existingPageFolder = state.pages.getFolderPath(pageId);\n if (existingPageFolder) {\n return updatePage(state, pageId, existingPageFolder, pageData);\n }\n return createPage(state, pageId, pageData);\n};\nexport const applyDocumentExternalUpdates = async (state, { pages }) => {\n for (const [pageId, pageData] of Object.entries(pages)) {\n await applyPageUpdate(state, pageId, pageData);\n }\n};\n","import { writeWml } from '../document/utils/wmlUtils.js';\nimport path from 'path';\nimport { createDefaultPageCodeFile } from '../code/utils/veloUtils.js';\nconst generatePageFolderPathByInfo = (state, pageInfo) => {\n const pagePath = state.fileStructure.getPagesPathsForType(pageInfo.type);\n return path.join(...pagePath.map(entry => entry.type === 'Folder' ? entry.name : pageInfo[entry.variableName]));\n};\nconst escapeRegexSpecialChars = (str) => str.replace(/[.*+?^=!:${}()|[\\]/\\\\]/g, '\\\\$&');\nconst isPathFormatMatching = (fullPath, basePath) => new RegExp(`^${escapeRegexSpecialChars(basePath)}(?: \\\\((\\\\d*)\\\\))?$`).test(fullPath);\nconst generateNewPagePath = (state, pageInfo, existingPageFolderPath) => {\n let pageFolderPath = generatePageFolderPathByInfo(state, pageInfo);\n if (existingPageFolderPath && isPathFormatMatching(existingPageFolderPath, pageFolderPath)) {\n return existingPageFolderPath;\n }\n while (state.pages.getPageId(pageFolderPath)) {\n pageFolderPath = incrementPathSuffix(pageFolderPath);\n }\n return pageFolderPath;\n};\nconst createPageFiles = async (state, folderPath, pageData) => {\n const pageStructure = state.fileStructure.getPageFilesPaths(folderPath);\n await Promise.all([\n writeWml(state.fileSystem, pageStructure.document, pageData),\n createDefaultPageCodeFile(state.fileSystem, pageStructure.code)\n ]);\n};\nexport const createPage = async (state, pageId, pageData) => {\n const newPageFolder = generateNewPagePath(state, pageData.info);\n await state.fileSystem.createFolder(newPageFolder);\n await createPageFiles(state, newPageFolder, pageData);\n state.pages.addPage(pageId, newPageFolder);\n};\nexport const removePage = async (state, pageId) => {\n const folderPath = state.pages.getFolderPath(pageId);\n if (!folderPath)\n return;\n await state.fileSystem.removeFolder(folderPath);\n state.pages.removePageById(pageId);\n};\nexport const updatePage = async (state, pageId, existingPageFolderPath, pageData) => {\n const expectedFolderPath = generateNewPagePath(state, pageData.info, existingPageFolderPath);\n if (existingPageFolderPath !== expectedFolderPath) {\n await removePage(state, pageId);\n await createPage(state, pageId, pageData);\n return;\n }\n const pageStructure = state.fileStructure.getPageFilesPaths(existingPageFolderPath);\n await writeWml(state.fileSystem, pageStructure.document, pageData);\n};\nexport const incrementPathSuffix = (path) => {\n const [, origPath, suffix = 1] = path.match(/^(.*?)(?: \\((\\d+)\\))?$/) ?? [];\n return `${origPath} (${Number(suffix) + 1})`;\n};\n","import { SiteFileStructure } from './siteFileStructure.js';\nimport { SiteFileSystem } from './siteFileSystem.js';\nimport { buildPagesState } from './stateBuilder.js';\nexport const buildState = async (rootFolderPath, fileStructureType) => {\n const fileSystem = new SiteFileSystem(rootFolderPath);\n const fileStructure = new SiteFileStructure(fileStructureType);\n const pages = await buildPagesState(fileStructure, fileSystem);\n return {\n fileSystem,\n fileStructure,\n pages\n };\n};\n","import { getBackendPath, getPageFilesPaths, getPageFilesNames, getPagesPaths, getPublicPath, getStylesPath } from '@wix/anyide-template-layout';\nimport { foldersType } from '../types.js';\nexport class SiteFileStructure {\n fileStructureType;\n folderStructure;\n constructor(fileStructureType) {\n this.fileStructureType = fileStructureType;\n this.folderStructure = [\n { path: this.generateFolderPath(getBackendPath), type: foldersType.backend },\n { path: this.generateFolderPath(getPublicPath), type: foldersType.public },\n { path: this.generateFolderPath(getStylesPath), type: foldersType.styles }\n ];\n }\n generateFolderPath(getPathFunction) {\n return `${getPathFunction(this.fileStructureType)}/`;\n }\n getBackendFolderPath() {\n return getBackendPath(this.fileStructureType);\n }\n getPublicFolderPath() {\n return getPublicPath(this.fileStructureType);\n }\n getStylesFolderPath() {\n return getStylesPath(this.fileStructureType);\n }\n getPagesPaths() {\n return getPagesPaths(this.fileStructureType);\n }\n getPagesPathsForType(type) {\n const paths = this.getPagesPaths();\n const pathForType = paths[type];\n if (!pathForType) {\n throw new Error(`page type \"${type}\" is invalid for structureType \"${this.fileStructureType}\"`);\n }\n return pathForType;\n }\n getPageFilesPaths(pageFolderPath) {\n return getPageFilesPaths(this.fileStructureType, pageFolderPath);\n }\n matchPagePath(filePath) {\n const pageFilesPath = this.getPagesPaths();\n const sortedPageFilesPath = Object.entries(pageFilesPath).sort((a, b) => b[1].length - a[1].length);\n for (const [type, pagePath] of sortedPageFilesPath) {\n const typeRegex = new RegExp(`^(${pagePath.map(entry => (entry.type === 'Folder' ? entry.name : '.+?')).join('/')})/(.+)`);\n const path = typeRegex.exec(filePath);\n if (path) {\n return {\n type,\n pagePath: path[1],\n fileName: path[2]\n };\n }\n }\n return null;\n }\n createCodeStructureInfo(folderType) {\n return { type: 'code', isPageFile: false, folderType: folderType };\n }\n getCodeStructureInfoByFolderPath(filePath) {\n for (const folder of this.folderStructure) {\n if (filePath.startsWith(folder.path)) {\n return this.createCodeStructureInfo(folder.type);\n }\n }\n }\n getStructureInfoByFilePath(filePath) {\n const folderStructure = this.getCodeStructureInfoByFolderPath(filePath);\n if (folderStructure) {\n return folderStructure;\n }\n const pageMatch = this.matchPagePath(filePath);\n if (pageMatch) {\n const { pagePath, fileName } = pageMatch;\n const codeFiles = getPageFilesNames(this.fileStructureType, 'code');\n if (codeFiles.has(fileName)) {\n return { type: 'code', isPageFile: true, pagePath };\n }\n const documentFiles = getPageFilesNames(this.fileStructureType, 'document');\n if (documentFiles.has(fileName)) {\n return { type: 'document', isPageFile: true, pagePath };\n }\n }\n return null;\n }\n}\n","export * from './code.js';\nexport * from './page.js';\n","import { getConfig } from './configs/index.js';\nexport const getBackendPath = (structureType) => getConfig(structureType).backend;\nexport const getPublicPath = (structureType) => getConfig(structureType).public;\nexport const getStylesPath = (structureType) => getConfig(structureType).styles;\n","import { blocksConfig } from './blocksConfig.js';\nimport { editorConfig } from './editorConfig.js';\nconst configs = {\n Editor: editorConfig,\n Blocks: blocksConfig\n};\nexport const getConfig = (structureType) => {\n const config = configs[structureType];\n if (!config) {\n throw new Error('Unknown file structure type: ' + structureType);\n }\n return config;\n};\n","export const blocksConfig = {\n backend: 'backend',\n public: 'public',\n styles: 'styles',\n pages: {\n structure: {\n code: 'index.js',\n document: {\n structure: 'structure.xml',\n data: 'data.json',\n style: 'style.wcss'\n }\n },\n folders: {\n Widget: [\n { name: 'widgets', type: 'Folder' },\n { variableName: 'widgetName', type: 'DynamicFolder' }\n ],\n Panel: [\n { name: 'widgets', type: 'Folder' },\n { variableName: 'widgetName', type: 'DynamicFolder' },\n { name: 'panels', type: 'Folder' },\n { variableName: 'panelName', type: 'DynamicFolder' }\n ]\n }\n }\n};\n","export const editorConfig = {\n backend: 'backend',\n public: 'public',\n styles: 'styles',\n pages: {\n structure: {\n code: 'index.js',\n document: {\n structure: 'structure.xml',\n data: 'data.json',\n style: 'style.wcss'\n }\n },\n folders: {\n Page: [\n { name: 'pages', type: 'Folder' },\n { variableName: 'title', type: 'DynamicFolder' }\n ]\n }\n }\n};\n","import { getConfig } from './configs/index.js';\nimport path from 'path';\nexport const getPagesPaths = (structureType) => getConfig(structureType).pages.folders;\nexport const getPageFilesPaths = (structureType, folderPath) => {\n const { pages } = getConfig(structureType);\n const { structure } = pages;\n return {\n code: path.join(folderPath, structure.code),\n document: {\n structure: path.join(folderPath, structure.document.structure),\n style: path.join(folderPath, structure.document.style),\n data: path.join(folderPath, structure.document.data)\n }\n };\n};\nexport const getPageFilesNames = (structureType, pageStructureType) => {\n const { pages } = getConfig(structureType);\n const { structure } = pages;\n if (pageStructureType === 'document') {\n return new Set([\n structure[pageStructureType].structure,\n structure[pageStructureType].data,\n structure[pageStructureType].style\n ]);\n }\n return new Set([structure[pageStructureType]]);\n};\n","import fs from 'fs/promises';\nimport path from 'path';\nexport class SiteFileSystem {\n rootFolderPath;\n constructor(rootFolderPath) {\n this.rootFolderPath = rootFolderPath;\n }\n getFullPath(relativePath) {\n return path.join(this.rootFolderPath, relativePath);\n }\n async readFile(filePath) {\n return fs.readFile(this.getFullPath(filePath), 'utf-8');\n }\n async writeFile(filePath, content) {\n return fs.writeFile(this.getFullPath(filePath), content);\n }\n async removeFile(filePath) {\n return fs.rm(this.getFullPath(filePath));\n }\n async readFolder(folderPath) {\n return fs.readdir(this.getFullPath(folderPath), { withFileTypes: true });\n }\n async createFolder(folderPath) {\n await fs.mkdir(this.getFullPath(folderPath), { recursive: true });\n }\n async removeFolder(folderPath) {\n return fs.rm(this.getFullPath(folderPath), { recursive: true });\n }\n}\n","import { SitePagesState } from './sitePagesState.js';\nimport path from 'path';\nimport { getPageId } from '../document/utils/wmlUtils.js';\nconst getFoldersInPath = async (siteFileSystem, dirPath) => {\n const entries = await siteFileSystem.readFolder(dirPath);\n return entries.filter(entry => entry.isDirectory()).map(({ name }) => name);\n};\nconst getMatchingPaths = (folderName, paths) => paths.filter(([first]) => first?.type === 'DynamicFolder' || first.name === folderName);\nconst isNonEmptyFolder = async (siteFileSystem, folderPath) => {\n const entries = await siteFileSystem.readFolder(folderPath);\n return entries.length > 0;\n};\nconst filterAsync = async (arr, predicate) => {\n const results = await Promise.all(arr.map(predicate));\n return arr.filter((_, index) => results[index]);\n};\nconst getPages = async (siteFileSystem, paths, rootPath = '') => {\n if (paths.length === 0)\n return [];\n const result = [];\n const rootFolders = await getFoldersInPath(siteFileSystem, rootPath);\n for (const folderName of rootFolders) {\n const matchingPaths = getMatchingPaths(folderName, paths);\n if (matchingPaths.length > 0) {\n const finalPaths = await filterAsync(matchingPaths.filter(p => p.length === 1).map(() => path.join(rootPath, folderName)), folderPath => isNonEmptyFolder(siteFileSystem, folderPath));\n const nonFinalPaths = matchingPaths.filter(p => p.length > 1).map(([, ...rest]) => rest);\n const nestedPages = await getPages(siteFileSystem, nonFinalPaths, path.join(rootPath, folderName));\n result.push(...finalPaths, ...nestedPages);\n }\n }\n return result;\n};\nconst getAllPageFolders = async (siteFileStructure, siteFileSystem) => {\n const paths = siteFileStructure.getPagesPaths();\n return await getPages(siteFileSystem, Object.values(paths));\n};\nexport const buildPagesState = async (siteFileStructure, siteFileSystem) => {\n const state = new SitePagesState();\n const pagesFolders = await getAllPageFolders(siteFileStructure, siteFileSystem);\n await Promise.all(pagesFolders.map(async (folderPath) => {\n const filePaths = siteFileStructure.getPageFilesPaths(folderPath);\n const pageId = await getPageId(siteFileSystem, filePaths.document);\n state.addPage(pageId, folderPath);\n }));\n return state;\n};\n","class CaseInsensitiveMap {\n map = new Map();\n normalizeKey(key) {\n return key.toLowerCase();\n }\n get(key) {\n return this.map.get(this.normalizeKey(key));\n }\n set(key, value) {\n this.map.set(this.normalizeKey(key), value);\n }\n delete(key) {\n this.map.delete(this.normalizeKey(key));\n }\n entries() {\n return this.map.entries();\n }\n}\nexport class SitePagesState {\n pageIdToFolderPath = new Map();\n folderPathToPageId = new CaseInsensitiveMap();\n validatePageIdExists(pageId) {\n if (this.pageIdToFolderPath.has(pageId)) {\n throw new Error(`Duplicated pageId found in structure.xml files: ${pageId}`);\n }\n }\n getAll() {\n const allPages = [];\n for (const [pageId, pagePath] of this.pageIdToFolderPath.entries()) {\n allPages.push({ pageId, pagePath });\n }\n return allPages;\n }\n addPage(pageId, folderPath) {\n this.validatePageIdExists(pageId);\n this.pageIdToFolderPath.set(pageId, folderPath);\n this.folderPathToPageId.set(folderPath, pageId);\n }\n removePageById(pageId) {\n const folderPath = this.pageIdToFolderPath.get(pageId);\n if (folderPath === undefined) {\n return;\n }\n this.pageIdToFolderPath.delete(pageId);\n this.folderPathToPageId.delete(folderPath);\n }\n removePageByPath(path) {\n const pageId = this.folderPathToPageId.get(path);\n if (pageId === undefined) {\n return;\n }\n this.pageIdToFolderPath.delete(pageId);\n this.folderPathToPageId.delete(path);\n }\n getFolderPath(pageId) {\n return this.pageIdToFolderPath.get(pageId);\n }\n getPageId(folderPath) {\n return this.folderPathToPageId.get(folderPath);\n }\n}\n","import { accumulateFsUpdateToVeloCodeUpdate } from './code/fsUpdates.js';\nimport { accumulatePageFsUpdateToWixSiteFSUpdate } from './page/fsUpdates.js';\nexport const applyFsUpdates = async (state, updates) => {\n const result = {};\n for (const { path, action } of updates) {\n const structureInfo = state.fileStructure.getStructureInfoByFilePath(path);\n if (structureInfo === null)\n continue;\n if (structureInfo.isPageFile) {\n const { document, code } = await accumulatePageFsUpdateToWixSiteFSUpdate(state, result, structureInfo, {\n path,\n action\n });\n result.code = code;\n result.document = document;\n }\n else if (structureInfo.type === 'code') {\n result.code = await accumulateFsUpdateToVeloCodeUpdate(state, result.code, structureInfo, { path, action });\n }\n }\n return result;\n};\n","import { convertToGithubLayout } from './utils/veloUtils.js';\nconst initVeloCodeUpdate = () => {\n return {\n layout: 'GITHUB',\n ignoreForbiddenPaths: true\n };\n};\nexport const applyDeleteCode = (codeUpdate, path) => {\n if (!codeUpdate) {\n codeUpdate = initVeloCodeUpdate();\n }\n codeUpdate.pathsToDelete ??= [];\n codeUpdate.pathsToDelete.push(path);\n return codeUpdate;\n};\nexport const applyUpdateCode = (codeUpdate, veloFile) => {\n if (!codeUpdate) {\n codeUpdate = initVeloCodeUpdate();\n }\n codeUpdate.filesToUpdate ??= [];\n codeUpdate.filesToUpdate.push(veloFile);\n return codeUpdate;\n};\nexport const accumulateFsUpdateToVeloCodeUpdate = async (state, veloCodeUpdate, structureInfo, { path, action }) => {\n let result = veloCodeUpdate;\n const pathInGithubLayout = convertToGithubLayout(state, path, structureInfo.folderType);\n if (action === 'DELETE') {\n result = applyDeleteCode(result, pathInGithubLayout);\n }\n else if (action === 'UPDATE') {\n result = applyUpdateCode(result, {\n path: pathInGithubLayout,\n content: await state.fileSystem.readFile(path)\n });\n }\n return result;\n};\n","import { getPageCodeFilePath } from '../code/utils/veloUtils.js';\nimport { readWml, getPageId } from '../document/utils/wmlUtils.js';\nimport { applyDeleteCode, applyUpdateCode } from '../code/fsUpdates.js';\nimport { applyDocumentUpdate } from '../document/fsUpdates.js';\nconst applyDeletePage = (siteFsUpdate, pageId) => {\n siteFsUpdate.document = applyDocumentUpdate(siteFsUpdate.document, pageId, null);\n const veloPath = getPageCodeFilePath(pageId);\n siteFsUpdate.code = applyDeleteCode(siteFsUpdate.code, veloPath);\n return siteFsUpdate;\n};\nconst applyCodeUpdateInPage = async (state, siteFsUpdate, pageId, path) => {\n siteFsUpdate.code = applyUpdateCode(siteFsUpdate.code, {\n path: getPageCodeFilePath(pageId),\n content: await state.fileSystem.readFile(path)\n });\n return siteFsUpdate;\n};\nexport const accumulatePageFsUpdateToWixSiteFSUpdate = async (state, siteFsUpdate, structureInfo, { action, path }) => {\n const result = siteFsUpdate;\n const pageId = state.pages.getPageId(structureInfo.pagePath);\n if (action === 'DELETE') {\n if (!pageId) {\n // page already removed\n return result;\n }\n const { document, code } = applyDeletePage(result, pageId);\n result.document = document;\n result.code = code;\n state.pages.removePageById(pageId);\n }\n else if (action === 'UPDATE') {\n const page = state.fileStructure.getPageFilesPaths(structureInfo.pagePath);\n if (structureInfo.type === 'document') {\n const wml = await readWml(state.fileSystem, page.document);\n const pageIdInDocument = await getPageId(state.fileSystem, page.document);\n const folderPathForPageIdInDocument = state.pages.getFolderPath(pageIdInDocument);\n // pageIdInDocument is reffering to existing page, which is not equal to the current one\n if (folderPathForPageIdInDocument && folderPathForPageIdInDocument !== structureInfo.pagePath) {\n throw new Error(`Duplicated pageId found in structure.xml files: ${pageIdInDocument}`);\n }\n // if pageId not equal, then we or add new page or change id in structure\n if (pageId !== pageIdInDocument) {\n if (pageId) {\n const { document, code } = applyDeletePage(result, pageId);\n result.document = document;\n result.code = code;\n await applyCodeUpdateInPage(state, result, pageIdInDocument, page.code);\n state.pages.removePageById(pageId);\n }\n state.pages.addPage(pageIdInDocument, structureInfo.pagePath);\n }\n result.document = applyDocumentUpdate(result.document, pageIdInDocument, { data: wml });\n }\n else if (structureInfo.type === 'code') {\n if (!pageId) {\n // no pageId for this code file, so just skip it\n return result;\n }\n await applyCodeUpdateInPage(state, result, pageId, path);\n }\n }\n return result;\n};\n","export const applyDocumentUpdate = (documentUpdate, pageId, value) => {\n documentUpdate ??= { pages: {} };\n documentUpdate.pages[pageId] = value;\n return documentUpdate;\n};\n","import { readPackageJsonContent } from '@wix/cli-fs';\nimport { WIX_LOCK_FILENAME } from '@wix/cli-core-definitions';\nimport { isWixLockExists, readWixLock } from './files/wix.lock.js';\n\nexport async function loadProjectRootFiles(projectFolder: string) {\n if (await isWixLockExists(projectFolder)) {\n const [packageJson, wixLock] = await Promise.all([\n readPackageJsonContent(projectFolder),\n readWixLock(projectFolder),\n ]);\n\n return [\n { path: 'package.json', content: packageJson },\n { path: WIX_LOCK_FILENAME, content: wixLock },\n ];\n }\n\n return [];\n}\n","import { getWixLockFilePath } from '@wix/cli-core-definitions';\nimport { pathExists, readFile } from '@wix/cli-fs';\n\nexport function isWixLockExists(projectFolder: string) {\n return pathExists(getWixLockFilePath(projectFolder));\n}\n\nexport function readWixLock(projectFolder: string) {\n return readFile(getWixLockFilePath(projectFolder), 'utf-8');\n}\n"],"mappings":"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","names":["getSourceFolder","path","path","path","path","path","path","path","path","path","path","path","path"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../cli-data-dir/src/index.ts","../../cli-fs/src/index.ts"],"sourcesContent":["import { mkdir } from 'node:fs/promises';\nimport { resolve } from 'node:path';\nimport { homedir } from 'node:os';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\n\nexport function getDataDirPath() {\n return getTestOverrides().dataDir ?? resolve(homedir(), '.wix');\n}\n\nexport async function ensureDataDirExists() {\n await mkdir(getDataDirPath(), { recursive: true });\n}\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 { 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) {\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"],"mappings":";;;;;;;;;;;;;;AAAA;AACA,SAAS,eAAe;AACxB,SAAS,eAAe;AAGjB,SAAS,iBAAiB;AAC/B,SAAO,iBAAiB,EAAE,WAAW,QAAQ,QAAQ,GAAG,MAAM;AAChE;;;ACPA;AAAA;AAAA,EACE;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,OACK;AACP,SAAS,SAAS,MAAM,gBAAgB;AACxC,SAAS,WAAW;AAKb,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,SAAiB;AAC9D,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;AAyBO,SAAS,uBAAuB,eAAuB;AAC5D,SAAO,SAAS,KAAK,eAAe,cAAc,GAAG,OAAO;AAC9D;","names":[]}