@wix/cli 1.1.87 → 1.1.89

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 (190) hide show
  1. package/build/{DevCommand-LK2J4SHX.js → DevCommand-6PR5SHFL.js} +21 -18
  2. package/build/{DevCommand-LK2J4SHX.js.map → DevCommand-6PR5SHFL.js.map} +1 -1
  3. package/build/DevCommand-DSJBVCXP.js +103980 -0
  4. package/build/DevCommand-DSJBVCXP.js.map +1 -0
  5. package/build/{DevCommand-NPY7LRXR.js → DevCommand-SU6KLMXH.js} +31 -26
  6. package/build/{DevCommand-NPY7LRXR.js.map → DevCommand-SU6KLMXH.js.map} +1 -1
  7. package/build/EnvPullCommand-VA3TPRQO.js +467 -0
  8. package/build/EnvPullCommand-VA3TPRQO.js.map +1 -0
  9. package/build/EnvRemoveCommand-CKMRMF7J.js +83 -0
  10. package/build/EnvRemoveCommand-CKMRMF7J.js.map +1 -0
  11. package/build/EnvSetCommand-CLLES2MM.js +85 -0
  12. package/build/EnvSetCommand-CLLES2MM.js.map +1 -0
  13. package/build/{InstallCommand-HETKQTOF.js → InstallCommand-62NSOPA4.js} +24 -21
  14. package/build/{InstallCommand-HETKQTOF.js.map → InstallCommand-62NSOPA4.js.map} +1 -1
  15. package/build/{LoginCommand-6L33EWLY.js → LoginCommand-ZBVQG3GI.js} +14 -12
  16. package/build/{LoginCommand-6L33EWLY.js.map → LoginCommand-ZBVQG3GI.js.map} +1 -1
  17. package/build/{LogoutCommand-LKLIYJ4J.js → LogoutCommand-UFO55NX7.js} +10 -8
  18. package/build/{LogoutCommand-LKLIYJ4J.js.map → LogoutCommand-UFO55NX7.js.map} +1 -1
  19. package/build/{PreviewCommand-3BMR7D7L.js → PreviewCommand-57ESGZBQ.js} +28 -25
  20. package/build/{PreviewCommand-3BMR7D7L.js.map → PreviewCommand-57ESGZBQ.js.map} +1 -1
  21. package/build/{PreviewCommand-C4T25Z3E.js → PreviewCommand-7HPGH2OP.js} +22 -19
  22. package/build/{PreviewCommand-C4T25Z3E.js.map → PreviewCommand-7HPGH2OP.js.map} +1 -1
  23. package/build/PreviewCommand-ZJB3SZSN.js +31 -0
  24. package/build/{PublishCommand-O5NP2HRQ.js → PublishCommand-VC5MNHC5.js} +22 -19
  25. package/build/{PublishCommand-O5NP2HRQ.js.map → PublishCommand-VC5MNHC5.js.map} +1 -1
  26. package/build/ReleaseCommand-SBNT2ETF.js +4529 -0
  27. package/build/ReleaseCommand-SBNT2ETF.js.map +1 -0
  28. package/build/{UninstallCommand-CBFAJV2F.js → UninstallCommand-DW3T2JFF.js} +24 -21
  29. package/build/{UninstallCommand-CBFAJV2F.js.map → UninstallCommand-DW3T2JFF.js.map} +1 -1
  30. package/build/{WhoamiCommand-LPJGYXSP.js → WhoamiCommand-SHJAH27B.js} +5 -4
  31. package/build/{WhoamiCommand-LPJGYXSP.js.map → WhoamiCommand-SHJAH27B.js.map} +1 -1
  32. package/build/{chunk-Z4YQ7YWC.js → chunk-2H6EDYVV.js} +4 -4
  33. package/build/{chunk-E2POOOG2.js → chunk-3OG3PDAA.js} +51 -2
  34. package/build/{chunk-E2POOOG2.js.map → chunk-3OG3PDAA.js.map} +1 -1
  35. package/build/chunk-3VVLHRNT.js +92 -0
  36. package/build/chunk-3VVLHRNT.js.map +1 -0
  37. package/build/{chunk-6VFQIFXS.js → chunk-4D7HUJOJ.js} +5 -5
  38. package/build/{chunk-NOH6CVSC.js → chunk-4MGIAJ3I.js} +8 -8
  39. package/build/{chunk-4EBW6Y52.js → chunk-5RMA3ZDH.js} +4 -4
  40. package/build/{chunk-4EBW6Y52.js.map → chunk-5RMA3ZDH.js.map} +1 -1
  41. package/build/chunk-65JTHDMM.js +3782 -0
  42. package/build/chunk-65JTHDMM.js.map +1 -0
  43. package/build/chunk-7ICFZQAL.js +14 -0
  44. package/build/chunk-7ICFZQAL.js.map +1 -0
  45. package/build/chunk-7T7SLCFH.js +3454 -0
  46. package/build/chunk-7T7SLCFH.js.map +1 -0
  47. package/build/{chunk-YLK75XXM.js → chunk-7ZP5YH44.js} +2 -2
  48. package/build/{chunk-T5F7W3A3.js → chunk-AEDM4QQI.js} +11 -11
  49. package/build/{chunk-UF2OSZ32.js → chunk-AGLQGPAD.js} +16 -12
  50. package/build/{chunk-UF2OSZ32.js.map → chunk-AGLQGPAD.js.map} +1 -1
  51. package/build/{chunk-YMJB5UO3.js → chunk-AYTF4CUT.js} +6 -6
  52. package/build/chunk-COXRYL76.js +21 -0
  53. package/build/chunk-COXRYL76.js.map +1 -0
  54. package/build/{chunk-UTFSE4KU.js → chunk-DFC24E3J.js} +3 -3
  55. package/build/{chunk-RVMEYUY7.js → chunk-E4DQ4CV7.js} +2 -2
  56. package/build/{chunk-JUZMIMAT.js → chunk-F64BUTC2.js} +6 -4
  57. package/build/{chunk-JUZMIMAT.js.map → chunk-F64BUTC2.js.map} +1 -1
  58. package/build/{chunk-46OKYX3T.js → chunk-F6EKHXGO.js} +6 -6
  59. package/build/{chunk-P5ZYMUV4.js → chunk-GRTL4S3Y.js} +5 -5
  60. package/build/{chunk-QQCYRUA6.js → chunk-I5OLIQ4U.js} +49 -7
  61. package/build/{chunk-QQCYRUA6.js.map → chunk-I5OLIQ4U.js.map} +1 -1
  62. package/build/{chunk-LUAAKCVP.js → chunk-IBSXCOMX.js} +13 -13
  63. package/build/{chunk-XBFMXGMY.js → chunk-J2QEZEUE.js} +192 -142
  64. package/build/chunk-J2QEZEUE.js.map +1 -0
  65. package/build/{chunk-JHHGNLIV.js → chunk-JTAS7UOW.js} +3 -13
  66. package/build/chunk-JTAS7UOW.js.map +1 -0
  67. package/build/{chunk-CJHPYBMK.js → chunk-K2VIIDEO.js} +2 -2
  68. package/build/{chunk-RA6PTMIG.js → chunk-KK7IN3VX.js} +5 -5
  69. package/build/{chunk-UIA2B5XZ.js → chunk-KRH7ULXP.js} +4 -4
  70. package/build/{chunk-Z7JQD6EN.js → chunk-L2ALAYPX.js} +61 -20
  71. package/build/chunk-L2ALAYPX.js.map +1 -0
  72. package/build/chunk-L6ABBZNR.js +1753 -0
  73. package/build/chunk-L6ABBZNR.js.map +1 -0
  74. package/build/chunk-LG6PBN72.js +602 -0
  75. package/build/chunk-LG6PBN72.js.map +1 -0
  76. package/build/{chunk-K4AB7LGX.js → chunk-MOWGYB6X.js} +2 -2
  77. package/build/chunk-MWHZITF4.js +59 -0
  78. package/build/chunk-MWHZITF4.js.map +1 -0
  79. package/build/{chunk-RVGOK65D.js → chunk-NNJ3SLG4.js} +13 -9
  80. package/build/{chunk-RVGOK65D.js.map → chunk-NNJ3SLG4.js.map} +1 -1
  81. package/build/{chunk-OVWRYWLC.js → chunk-OVPU5FXS.js} +5 -5
  82. package/build/{chunk-7Y2EFSBJ.js → chunk-OXWNDWBN.js} +9 -7
  83. package/build/{chunk-7Y2EFSBJ.js.map → chunk-OXWNDWBN.js.map} +1 -1
  84. package/build/{chunk-GYIDIRSX.js → chunk-P7ZNMQUM.js} +2 -2
  85. package/build/{chunk-FTL2KYZQ.js → chunk-QEYQKR6R.js} +2 -2
  86. package/build/{chunk-KT2FHEZR.js → chunk-RIBACKJC.js} +3 -3
  87. package/build/{chunk-GO2GZJCK.js → chunk-SF2XPDVG.js} +2 -51
  88. package/build/chunk-SF2XPDVG.js.map +1 -0
  89. package/build/{chunk-74KZJOZH.js → chunk-SICO3I76.js} +15 -15
  90. package/build/chunk-U7RM5FAW.js +916 -0
  91. package/build/chunk-U7RM5FAW.js.map +1 -0
  92. package/build/{chunk-M3K72MEX.js → chunk-ULCE6HIP.js} +11 -3
  93. package/build/{chunk-M3K72MEX.js.map → chunk-ULCE6HIP.js.map} +1 -1
  94. package/build/chunk-VCVYBKDN.js +34 -0
  95. package/build/chunk-VCVYBKDN.js.map +1 -0
  96. package/build/chunk-WFKMTTHE.js +124 -0
  97. package/build/chunk-WFKMTTHE.js.map +1 -0
  98. package/build/{chunk-APJVRHWV.js → chunk-XMBDVE2N.js} +2 -2
  99. package/build/{chunk-J3OSZVAR.js → chunk-Y6LAXAGE.js} +4 -4
  100. package/build/{chunk-MXAPWPGN.js → chunk-YEJSNYOF.js} +2 -2
  101. package/build/{chunk-Q35JN7B7.js → chunk-YPV2HLJD.js} +4 -4
  102. package/build/{chunk-QEBMMR2W.js → chunk-YQSC6PKB.js} +3 -3
  103. package/build/{chunk-O2XYQA7P.js → chunk-YSJHY6MU.js} +95 -991
  104. package/build/chunk-YSJHY6MU.js.map +1 -0
  105. package/build/{chunk-6RXRVNVZ.js → chunk-ZU656JEZ.js} +2 -1
  106. package/build/{chunk-N4QBC52K.js → chunk-ZYOXKXUX.js} +4 -27
  107. package/build/chunk-ZYOXKXUX.js.map +1 -0
  108. package/build/{dev-XNYFRZT2.js → dev-HHXXZE7J.js} +41 -36
  109. package/build/{dev-XNYFRZT2.js.map → dev-HHXXZE7J.js.map} +1 -1
  110. package/build/execa-KAGZAUR3.js +21 -0
  111. package/build/index.js +411 -4174
  112. package/build/index.js.map +1 -1
  113. package/build/{install-T2VL2EW7.js → install-WET72ZAZ.js} +25 -23
  114. package/build/{install-T2VL2EW7.js.map → install-WET72ZAZ.js.map} +1 -1
  115. package/build/preview-6FKRNMCF.js +110 -0
  116. package/build/preview-6FKRNMCF.js.map +1 -0
  117. package/build/{publish-X4C2MV4G.js → publish-BHMYVPLP.js} +33 -31
  118. package/build/{publish-X4C2MV4G.js.map → publish-BHMYVPLP.js.map} +1 -1
  119. package/build/{render-command-6ZOFWK7J.js → render-command-2NWXXSWT.js} +19 -17
  120. package/build/{render-command-6ZOFWK7J.js.map → render-command-2NWXXSWT.js.map} +1 -1
  121. package/build/{render-command-3IKISL4W.js → render-command-HURH3IOZ.js} +14 -12
  122. package/build/{render-command-3IKISL4W.js.map → render-command-HURH3IOZ.js.map} +1 -1
  123. package/build/render-command-IPOJHSMF.js +31 -0
  124. package/build/{render-command-XJNWHPDB.js → render-command-OTA4NOXM.js} +17 -15
  125. package/build/{render-command-XJNWHPDB.js.map → render-command-OTA4NOXM.js.map} +1 -1
  126. package/build/{render-command-UIJELJ22.js → render-command-TBKSDNTA.js} +13 -11
  127. package/build/{render-command-UIJELJ22.js.map → render-command-TBKSDNTA.js.map} +1 -1
  128. package/build/run-command-FZKBF6U3.js +23 -0
  129. package/build/{src-OISHTUJS.js → src-E6BLP72K.js} +9 -8
  130. package/build/{src-OISHTUJS.js.map → src-E6BLP72K.js.map} +1 -1
  131. package/build/src-EPMGYHK6.js +18 -0
  132. package/build/{src-XPBBV4BR.js → src-GM36T6CH.js} +20 -19
  133. package/build/{src-XPBBV4BR.js.map → src-GM36T6CH.js.map} +1 -1
  134. package/build/src-QDMUFOW4.js +29 -0
  135. package/build/src-QDMUFOW4.js.map +1 -0
  136. package/build/src-TNW4DUIK.js +222 -0
  137. package/build/src-TNW4DUIK.js.map +1 -0
  138. package/build/{src-BTBURERG.js → src-V5FS522J.js} +17 -16
  139. package/build/{src-BTBURERG.js.map → src-V5FS522J.js.map} +1 -1
  140. package/build/{src-IM374B5V.js → src-X7PFNAOL.js} +10 -8
  141. package/build/src-X7PFNAOL.js.map +1 -0
  142. package/build/{src-SRRWPZCM.js → src-ZWUNO6IW.js} +2 -2
  143. package/build/src-ZWUNO6IW.js.map +1 -0
  144. package/build/sync-types-TCCFEAQO.js +34 -0
  145. package/build/sync-types-TCCFEAQO.js.map +1 -0
  146. package/build/{uninstall-TTKVW5BW.js → uninstall-T3GGTNCX.js} +25 -23
  147. package/build/{uninstall-TTKVW5BW.js.map → uninstall-T3GGTNCX.js.map} +1 -1
  148. package/package.json +2 -2
  149. package/build/chunk-GO2GZJCK.js.map +0 -1
  150. package/build/chunk-JHHGNLIV.js.map +0 -1
  151. package/build/chunk-N4QBC52K.js.map +0 -1
  152. package/build/chunk-O2XYQA7P.js.map +0 -1
  153. package/build/chunk-XBFMXGMY.js.map +0 -1
  154. package/build/chunk-Z7JQD6EN.js.map +0 -1
  155. package/build/run-command-3YWR7KR7.js +0 -21
  156. package/build/src-5V4GOPPO.js +0 -21
  157. package/build/src-5V4GOPPO.js.map +0 -1
  158. package/build/src-WA6BLDHT.js +0 -16
  159. package/build/sync-types-KIFWC5MO.js +0 -32
  160. /package/build/{run-command-3YWR7KR7.js.map → PreviewCommand-ZJB3SZSN.js.map} +0 -0
  161. /package/build/{chunk-Z4YQ7YWC.js.map → chunk-2H6EDYVV.js.map} +0 -0
  162. /package/build/{chunk-6VFQIFXS.js.map → chunk-4D7HUJOJ.js.map} +0 -0
  163. /package/build/{chunk-NOH6CVSC.js.map → chunk-4MGIAJ3I.js.map} +0 -0
  164. /package/build/{chunk-YLK75XXM.js.map → chunk-7ZP5YH44.js.map} +0 -0
  165. /package/build/{chunk-T5F7W3A3.js.map → chunk-AEDM4QQI.js.map} +0 -0
  166. /package/build/{chunk-YMJB5UO3.js.map → chunk-AYTF4CUT.js.map} +0 -0
  167. /package/build/{chunk-UTFSE4KU.js.map → chunk-DFC24E3J.js.map} +0 -0
  168. /package/build/{chunk-RVMEYUY7.js.map → chunk-E4DQ4CV7.js.map} +0 -0
  169. /package/build/{chunk-46OKYX3T.js.map → chunk-F6EKHXGO.js.map} +0 -0
  170. /package/build/{chunk-P5ZYMUV4.js.map → chunk-GRTL4S3Y.js.map} +0 -0
  171. /package/build/{chunk-LUAAKCVP.js.map → chunk-IBSXCOMX.js.map} +0 -0
  172. /package/build/{chunk-CJHPYBMK.js.map → chunk-K2VIIDEO.js.map} +0 -0
  173. /package/build/{chunk-RA6PTMIG.js.map → chunk-KK7IN3VX.js.map} +0 -0
  174. /package/build/{chunk-UIA2B5XZ.js.map → chunk-KRH7ULXP.js.map} +0 -0
  175. /package/build/{chunk-K4AB7LGX.js.map → chunk-MOWGYB6X.js.map} +0 -0
  176. /package/build/{chunk-OVWRYWLC.js.map → chunk-OVPU5FXS.js.map} +0 -0
  177. /package/build/{chunk-GYIDIRSX.js.map → chunk-P7ZNMQUM.js.map} +0 -0
  178. /package/build/{chunk-FTL2KYZQ.js.map → chunk-QEYQKR6R.js.map} +0 -0
  179. /package/build/{chunk-KT2FHEZR.js.map → chunk-RIBACKJC.js.map} +0 -0
  180. /package/build/{chunk-74KZJOZH.js.map → chunk-SICO3I76.js.map} +0 -0
  181. /package/build/{chunk-APJVRHWV.js.map → chunk-XMBDVE2N.js.map} +0 -0
  182. /package/build/{chunk-J3OSZVAR.js.map → chunk-Y6LAXAGE.js.map} +0 -0
  183. /package/build/{chunk-MXAPWPGN.js.map → chunk-YEJSNYOF.js.map} +0 -0
  184. /package/build/{chunk-Q35JN7B7.js.map → chunk-YPV2HLJD.js.map} +0 -0
  185. /package/build/{chunk-QEBMMR2W.js.map → chunk-YQSC6PKB.js.map} +0 -0
  186. /package/build/{chunk-6RXRVNVZ.js.map → chunk-ZU656JEZ.js.map} +0 -0
  187. /package/build/{src-IM374B5V.js.map → execa-KAGZAUR3.js.map} +0 -0
  188. /package/build/{src-SRRWPZCM.js.map → render-command-IPOJHSMF.js.map} +0 -0
  189. /package/build/{src-WA6BLDHT.js.map → run-command-FZKBF6U3.js.map} +0 -0
  190. /package/build/{sync-types-KIFWC5MO.js.map → src-EPMGYHK6.js.map} +0 -0
@@ -1,25 +1,16 @@
1
1
  import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
3
  import {
4
- getTestOverrides,
5
4
  z
6
- } from "./chunk-GO2GZJCK.js";
5
+ } from "./chunk-SF2XPDVG.js";
7
6
  import {
8
7
  CliError,
9
8
  CliErrorCode
10
- } from "./chunk-M3K72MEX.js";
9
+ } from "./chunk-ULCE6HIP.js";
11
10
  import {
12
11
  init_esm_shims
13
12
  } from "./chunk-PYIAC2GK.js";
14
13
 
15
- // ../cli-data-dir/src/index.ts
16
- init_esm_shims();
17
- import { resolve } from "node:path";
18
- import { homedir } from "node:os";
19
- function getDataDirPath() {
20
- return getTestOverrides().dataDir ?? resolve(homedir(), ".wix");
21
- }
22
-
23
14
  // ../cli-fs/src/index.ts
24
15
  init_esm_shims();
25
16
  import {
@@ -128,7 +119,6 @@ function readPackageJsonContent(projectFolder) {
128
119
  }
129
120
 
130
121
  export {
131
- getDataDirPath,
132
122
  writeJson,
133
123
  readJson,
134
124
  readFile,
@@ -138,4 +128,4 @@ export {
138
128
  readPackageJson,
139
129
  readPackageJsonContent
140
130
  };
141
- //# sourceMappingURL=chunk-JHHGNLIV.js.map
131
+ //# sourceMappingURL=chunk-JTAS7UOW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../cli-fs/src/index.ts","../../cli-fs/src/schemas.ts"],"sourcesContent":["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","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});\n\nexport type PackageJson = z.infer<typeof packageJsonSchema>;\n"],"mappings":"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","names":[]}
@@ -4,7 +4,7 @@ import {
4
4
  resolveUrl,
5
5
  serializer,
6
6
  toURLSearchParams
7
- } from "./chunk-RVGOK65D.js";
7
+ } from "./chunk-NNJ3SLG4.js";
8
8
  import {
9
9
  init_esm_shims
10
10
  } from "./chunk-PYIAC2GK.js";
@@ -132,4 +132,4 @@ export {
132
132
  publishDeployment,
133
133
  getDeploymentPipelineDescription
134
134
  };
135
- //# sourceMappingURL=chunk-CJHPYBMK.js.map
135
+ //# sourceMappingURL=chunk-K2VIIDEO.js.map
@@ -2,17 +2,17 @@ import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  authenticate
5
- } from "./chunk-KT2FHEZR.js";
5
+ } from "./chunk-RIBACKJC.js";
6
6
  import {
7
7
  syncRevisionTypes
8
- } from "./chunk-NOH6CVSC.js";
8
+ } from "./chunk-4MGIAJ3I.js";
9
9
  import {
10
10
  writeJson
11
- } from "./chunk-JHHGNLIV.js";
11
+ } from "./chunk-JTAS7UOW.js";
12
12
  import {
13
13
  CliError,
14
14
  CliErrorCode
15
- } from "./chunk-M3K72MEX.js";
15
+ } from "./chunk-ULCE6HIP.js";
16
16
  import {
17
17
  init_esm_shims
18
18
  } from "./chunk-PYIAC2GK.js";
@@ -58,4 +58,4 @@ export {
58
58
  syncTypesWithAuth,
59
59
  syncTypes
60
60
  };
61
- //# sourceMappingURL=chunk-RA6PTMIG.js.map
61
+ //# sourceMappingURL=chunk-KK7IN3VX.js.map
@@ -2,20 +2,20 @@ import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  VELO_DEPENDENCIES_CONFIG_FILENAME
5
- } from "./chunk-RVMEYUY7.js";
5
+ } from "./chunk-E4DQ4CV7.js";
6
6
  import {
7
7
  createLogger
8
8
  } from "./chunk-CNXKF7E3.js";
9
9
  import {
10
10
  terminalLink
11
- } from "./chunk-XBFMXGMY.js";
11
+ } from "./chunk-J2QEZEUE.js";
12
12
  import {
13
13
  source_default
14
14
  } from "./chunk-2K5KKUL3.js";
15
15
  import {
16
16
  WIX_CONFIG_FILENAME,
17
17
  WIX_LOCK_FILENAME
18
- } from "./chunk-YLK75XXM.js";
18
+ } from "./chunk-7ZP5YH44.js";
19
19
  import {
20
20
  init_esm_shims
21
21
  } from "./chunk-PYIAC2GK.js";
@@ -370,4 +370,4 @@ function getErrorMessage(cause) {
370
370
  export {
371
371
  createLogger2 as createLogger
372
372
  };
373
- //# sourceMappingURL=chunk-UIA2B5XZ.js.map
373
+ //# sourceMappingURL=chunk-KRH7ULXP.js.map
@@ -2,32 +2,37 @@ import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  execaCommand
5
- } from "./chunk-E2POOOG2.js";
5
+ } from "./chunk-3OG3PDAA.js";
6
6
  import {
7
7
  pathExists,
8
8
  readJson,
9
9
  writeJson
10
- } from "./chunk-JHHGNLIV.js";
10
+ } from "./chunk-JTAS7UOW.js";
11
11
  import {
12
12
  z
13
- } from "./chunk-GO2GZJCK.js";
13
+ } from "./chunk-SF2XPDVG.js";
14
14
  import {
15
15
  CliError,
16
16
  CliErrorCode,
17
17
  require_lib
18
- } from "./chunk-M3K72MEX.js";
18
+ } from "./chunk-ULCE6HIP.js";
19
19
  import {
20
20
  __toESM,
21
21
  init_esm_shims
22
22
  } from "./chunk-PYIAC2GK.js";
23
23
 
24
- // ../package-manager/src/repo-type.ts
24
+ // ../package-manager/src/index.ts
25
25
  init_esm_shims();
26
- var import_variant = __toESM(require_lib(), 1);
27
- import { join } from "node:path";
28
26
 
29
- // ../package-manager/src/git-service.ts
27
+ // ../package-manager/src/package-manager.ts
28
+ init_esm_shims();
29
+ import { env } from "node:process";
30
+ import { join as join3 } from "node:path";
31
+ var import_variant4 = __toESM(require_lib(), 1);
32
+
33
+ // ../package-manager/src/adapters/npm.ts
30
34
  init_esm_shims();
35
+ var import_variant2 = __toESM(require_lib(), 1);
31
36
 
32
37
  // ../package-manager/src/shell/index.ts
33
38
  init_esm_shims();
@@ -52,13 +57,44 @@ async function runCommand(command, opts) {
52
57
  return stdout;
53
58
  }
54
59
 
60
+ // ../package-manager/src/repo-type.ts
61
+ init_esm_shims();
62
+ var import_variant = __toESM(require_lib(), 1);
63
+ import { join } from "node:path";
64
+
55
65
  // ../package-manager/src/git-service.ts
66
+ init_esm_shims();
56
67
  function isInsideGitRepo(cwd) {
57
68
  return runCommand("git rev-parse --is-inside-work-tree", { cwd }).then(() => true).catch(() => false);
58
69
  }
59
70
  async function getGitRoot(cwd) {
60
71
  return runCommand("git rev-parse --show-toplevel", { cwd });
61
72
  }
73
+ async function gitInit(cwd) {
74
+ await runCommand("git init", { cwd });
75
+ }
76
+ async function gitCommit(cwd) {
77
+ await runCommand("git add -A", { cwd });
78
+ await runCommand(
79
+ `git commit -m Initial\\ commit\\ from\\ Create\\ Wix\\ App --no-verify`,
80
+ { cwd }
81
+ );
82
+ }
83
+ async function gitClone(url, path) {
84
+ await runCommand(`git clone --depth 1 ${url} ${path}`, {
85
+ env: {
86
+ /*
87
+ * This is to prevent git from prompting for credentials.
88
+ * `git clone` uses a subprocess for the authentication, so we can't attach the main process to its stdio.
89
+ * This leads to:
90
+ * - the spinners "swallow" its output.
91
+ * - after answering with the username and pressing "Enter", the first line of the output is being duplicated.
92
+ * That's why we're disabling the prompt, so user should be pre-authenticated.
93
+ */
94
+ GIT_TERMINAL_PROMPT: "0"
95
+ }
96
+ });
97
+ }
62
98
 
63
99
  // ../package-manager/src/repo-type.ts
64
100
  var RepoType = (0, import_variant.variant)({
@@ -84,15 +120,7 @@ async function isUsingWorkspaces(rootDir) {
84
120
  return readJson(join(rootDir, "package.json")).then((pkgJson) => Boolean(pkgJson.workspaces)).catch(() => false);
85
121
  }
86
122
 
87
- // ../package-manager/src/package-manager.ts
88
- init_esm_shims();
89
- import { env } from "node:process";
90
- import { join as join3 } from "node:path";
91
- var import_variant4 = __toESM(require_lib(), 1);
92
-
93
123
  // ../package-manager/src/adapters/npm.ts
94
- init_esm_shims();
95
- var import_variant2 = __toESM(require_lib(), 1);
96
124
  var NPM = class {
97
125
  constructor(repoType) {
98
126
  this.repoType = repoType;
@@ -107,6 +135,12 @@ var NPM = class {
107
135
  getRunCmd() {
108
136
  return "npm run";
109
137
  }
138
+ getRunBinaryCmd(args) {
139
+ return {
140
+ file: "npx",
141
+ args: ["--no-install"].concat(args)
142
+ };
143
+ }
110
144
  async setup(_cwd) {
111
145
  if ((0, import_variant2.isType)(this.repoType, RepoType.Monorepo)) {
112
146
  throw new CliError({
@@ -176,6 +210,12 @@ var Yarn = class {
176
210
  getRunCmd() {
177
211
  return "yarn";
178
212
  }
213
+ getRunBinaryCmd(args) {
214
+ return {
215
+ file: "yarn",
216
+ args: ["run"].concat(args)
217
+ };
218
+ }
179
219
  async setup(packageFolder) {
180
220
  return (0, import_variant3.matcher)(this.repoType).when(["None", "Polyrepo"], async () => {
181
221
  if (this.name === "yarn-berry") {
@@ -336,13 +376,14 @@ async function getPackageManagerName(repoType) {
336
376
  ).complete();
337
377
  }
338
378
 
339
- // ../package-manager/src/index.ts
340
- init_esm_shims();
341
-
342
379
  export {
380
+ gitInit,
381
+ gitCommit,
382
+ gitClone,
383
+ RepoType,
343
384
  getRepoType,
344
385
  NPM,
345
386
  Yarn,
346
387
  createPackageManager
347
388
  };
348
- //# sourceMappingURL=chunk-Z7JQD6EN.js.map
389
+ //# sourceMappingURL=chunk-L2ALAYPX.js.map
@@ -0,0 +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 { gitClone, gitCommit, gitInit } 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 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"]}