@shopify/cli 3.63.2 → 3.64.0

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 (130) hide show
  1. package/dist/assets/cli-ruby/lib/shopify_cli/reporting_configuration_controller.rb +2 -37
  2. package/dist/assets/cli-ruby/lib/shopify_cli/theme/file.rb +5 -1
  3. package/dist/assets/dev-console/extensions/dev-console/assets/index-Cgb-oKsM.css +1 -0
  4. package/dist/assets/dev-console/extensions/dev-console/assets/{index-Dui3DO9f.js → index-D7F9wNys.js} +12 -12
  5. package/dist/assets/dev-console/index.html +2 -2
  6. package/dist/assets/hydrogen/starter/CHANGELOG.md +98 -5
  7. package/dist/assets/hydrogen/starter/app/components/AddToCartButton.tsx +37 -0
  8. package/dist/assets/hydrogen/starter/app/components/CartLineItem.tsx +150 -0
  9. package/dist/assets/hydrogen/starter/app/components/CartMain.tsx +68 -0
  10. package/dist/assets/hydrogen/starter/app/components/CartSummary.tsx +101 -0
  11. package/dist/assets/hydrogen/starter/app/components/Header.tsx +3 -3
  12. package/dist/assets/hydrogen/starter/app/components/PageLayout.tsx +1 -1
  13. package/dist/assets/hydrogen/starter/app/components/ProductForm.tsx +80 -0
  14. package/dist/assets/hydrogen/starter/app/components/ProductImage.tsx +23 -0
  15. package/dist/assets/hydrogen/starter/app/components/ProductPrice.tsx +27 -0
  16. package/dist/assets/hydrogen/starter/app/components/Search.tsx +1 -0
  17. package/dist/assets/hydrogen/starter/app/root.tsx +11 -17
  18. package/dist/assets/hydrogen/starter/app/routes/cart.tsx +2 -2
  19. package/dist/assets/hydrogen/starter/app/routes/products.$handle.tsx +51 -232
  20. package/dist/assets/hydrogen/starter/package.json +11 -11
  21. package/dist/assets/hydrogen/tailwind/package.json +1 -6
  22. package/dist/assets/hydrogen/tailwind/tailwind.css +6 -3
  23. package/dist/assets/hydrogen/vanilla-extract/package.json +2 -3
  24. package/dist/assets/hydrogen/virtual-routes/components/{Layout.jsx → PageLayout.jsx} +2 -2
  25. package/dist/assets/hydrogen/virtual-routes/virtual-root.jsx +8 -30
  26. package/dist/{chunk-K3CVGV3F.js → chunk-2TZRSXDZ.js} +3 -3
  27. package/dist/{chunk-EARPFFS7.js → chunk-5A6QTLMF.js} +241 -4
  28. package/dist/{chunk-3TGMDPDI.js → chunk-6LPAIJ4Y.js} +2 -2
  29. package/dist/{chunk-3MDI6LZT.js → chunk-6TPBPH6V.js} +905 -896
  30. package/dist/{chunk-PNFEODLY.js → chunk-7GYETEC3.js} +3 -3
  31. package/dist/{chunk-UNPXLODI.js → chunk-B7RN7IRD.js} +3 -4
  32. package/dist/{chunk-EQR6CWKL.js → chunk-BKBHZTOE.js} +3 -3
  33. package/dist/{chunk-A2UVOX6O.js → chunk-C2AKAEMR.js} +7066 -6051
  34. package/dist/{chunk-R5KML52V.js → chunk-CLBFKLWA.js} +4 -4
  35. package/dist/{chunk-6UDFXWNE.js → chunk-EJITPGUJ.js} +21 -4
  36. package/dist/{chunk-NPLAQVTF.js → chunk-G4TC4KHZ.js} +3 -3
  37. package/dist/{chunk-7OCUVNSF.js → chunk-GEAZ65AU.js} +1429 -2847
  38. package/dist/{chunk-23OKKZ5V.js → chunk-GUB3OCYR.js} +4 -4
  39. package/dist/{chunk-VQTHQBEC.js → chunk-H66NIXGL.js} +9 -14
  40. package/dist/chunk-I6HNYSMO.js +29 -0
  41. package/dist/{chunk-IRWSC76I.js → chunk-JSLLI5MY.js} +3 -3
  42. package/dist/{chunk-7AVKIH7O.js → chunk-KDK32T2A.js} +5 -5
  43. package/dist/{chunk-EZYMDZPN.js → chunk-L5WUZYLP.js} +5 -5
  44. package/dist/{chunk-MCT2524Y.js → chunk-LHP5F5LY.js} +4 -4
  45. package/dist/{chunk-GPMHDCWK.js → chunk-LP2H26NY.js} +3 -3
  46. package/dist/{chunk-T54B5GJP.js → chunk-LQX3GDBO.js} +2 -2
  47. package/dist/{chunk-VZUWS5IH.js → chunk-LVLKZYIC.js} +3 -3
  48. package/dist/{chunk-WADS2TV5.js → chunk-NO7MYZEO.js} +5 -4
  49. package/dist/{chunk-LH533WG4.js → chunk-NPH2SXRO.js} +2 -2
  50. package/dist/{chunk-UQUO22Q5.js → chunk-PIJQNKK6.js} +5 -5
  51. package/dist/{chunk-S4VBXFXP.js → chunk-PWYMBX34.js} +220 -16
  52. package/dist/{chunk-QEOBHRRQ.js → chunk-QCK4QLB3.js} +17912 -17444
  53. package/dist/{chunk-UJYIV6JP.js → chunk-QI5O2CU6.js} +5 -5
  54. package/dist/{chunk-DIZHFZTJ.js → chunk-RX7VCI62.js} +4 -4
  55. package/dist/{chunk-PQKGBYDC.js → chunk-T7DHXEC7.js} +3 -3
  56. package/dist/{chunk-YMPGWFWU.js → chunk-TCQUNDAY.js} +3 -3
  57. package/dist/{chunk-CM4H6QMH.js → chunk-TSZPIP7J.js} +3 -3
  58. package/dist/{chunk-5BLMIE7F.js → chunk-UTXBNNRZ.js} +4 -4
  59. package/dist/{chunk-XER2L725.js → chunk-VPPZXHAK.js} +2 -2
  60. package/dist/{chunk-YAYFJITA.js → chunk-W26344X5.js} +3 -3
  61. package/dist/{chunk-EQPYUHNM.js → chunk-WIG6CPGR.js} +1497 -112
  62. package/dist/{chunk-UZUD5DRI.js → chunk-X34BQYQP.js} +2 -2
  63. package/dist/chunk-YLPSXWEZ.js +12 -0
  64. package/dist/cli/commands/auth/logout.js +14 -19
  65. package/dist/cli/commands/auth/logout.test.js +17 -21
  66. package/dist/cli/commands/debug/command-flags.js +11 -15
  67. package/dist/cli/commands/demo/catalog.js +13 -18
  68. package/dist/cli/commands/demo/generate-file.js +13 -18
  69. package/dist/cli/commands/demo/index.js +13 -18
  70. package/dist/cli/commands/demo/print-ai-prompt.js +13 -18
  71. package/dist/cli/commands/docs/generate.js +11 -15
  72. package/dist/cli/commands/docs/generate.test.js +11 -15
  73. package/dist/cli/commands/help.js +11 -15
  74. package/dist/cli/commands/kitchen-sink/async.js +12 -16
  75. package/dist/cli/commands/kitchen-sink/async.test.js +12 -16
  76. package/dist/cli/commands/kitchen-sink/index.js +14 -18
  77. package/dist/cli/commands/kitchen-sink/index.test.js +14 -18
  78. package/dist/cli/commands/kitchen-sink/prompts.js +12 -16
  79. package/dist/cli/commands/kitchen-sink/prompts.test.js +12 -16
  80. package/dist/cli/commands/kitchen-sink/static.js +12 -16
  81. package/dist/cli/commands/kitchen-sink/static.test.js +12 -16
  82. package/dist/cli/commands/search.js +12 -16
  83. package/dist/cli/commands/upgrade.js +11 -15
  84. package/dist/cli/commands/version.js +12 -16
  85. package/dist/cli/commands/version.test.js +12 -16
  86. package/dist/cli/services/commands/search.js +4 -4
  87. package/dist/cli/services/commands/search.test.js +4 -4
  88. package/dist/cli/services/commands/version.js +6 -7
  89. package/dist/cli/services/commands/version.test.js +7 -8
  90. package/dist/cli/services/demo.js +5 -6
  91. package/dist/cli/services/demo.test.js +5 -6
  92. package/dist/cli/services/kitchen-sink/async.js +4 -4
  93. package/dist/cli/services/kitchen-sink/prompts.js +4 -4
  94. package/dist/cli/services/kitchen-sink/static.js +4 -4
  95. package/dist/cli/services/upgrade.js +5 -6
  96. package/dist/cli/services/upgrade.test.js +7 -8
  97. package/dist/{constants-3CLHB4LQ.js → constants-EVER32LA.js} +3 -3
  98. package/dist/{custom-oclif-loader-D4H5EJW6.js → custom-oclif-loader-F5UKFNJS.js} +13 -6
  99. package/dist/{error-handler-HUI4HW3X.js → error-handler-GCSQB44R.js} +10 -8
  100. package/dist/hooks/postrun.js +12 -14
  101. package/dist/hooks/prerun.js +8 -11
  102. package/dist/index.js +7705 -7450
  103. package/dist/{local-7IRDZWLW.js → local-VDSO2Y52.js} +4 -4
  104. package/dist/{morph-6NYGHGNT.js → morph-DQWX4LPS.js} +9 -9
  105. package/dist/{node-UIH7JP3D.js → node-3B62KLPY.js} +21 -19
  106. package/dist/{node-package-manager-2LWT2MNN.js → node-package-manager-QLAS6UPG.js} +5 -6
  107. package/dist/{path-JVVXOELJ.js → path-KUSF6CYC.js} +2 -2
  108. package/dist/{system-4HHX42JS.js → system-CPU6ZDBW.js} +4 -4
  109. package/dist/templates/ui-extensions/projects/web_pixel_extension/package.json.liquid +1 -1
  110. package/dist/tsconfig.tsbuildinfo +1 -1
  111. package/dist/{ui-NFBKMC4P.js → ui-Y4GW3DUK.js} +4 -4
  112. package/dist/{workerd-4HFD3PS4.js → workerd-LSXMDY5M.js} +22 -19
  113. package/oclif.manifest.json +265 -4
  114. package/package.json +7 -10
  115. package/dist/assets/dev-console/extensions/dev-console/assets/index-Bi7y6lI5.css +0 -1
  116. package/dist/assets/hydrogen/css-modules/package.json +0 -6
  117. package/dist/assets/hydrogen/postcss/package.json +0 -10
  118. package/dist/assets/hydrogen/postcss/postcss.config.js +0 -8
  119. package/dist/assets/hydrogen/starter/app/components/Cart.tsx +0 -364
  120. package/dist/assets/hydrogen/tailwind/postcss.config.js +0 -10
  121. package/dist/assets/hydrogen/tailwind/tailwind.config.js +0 -8
  122. package/dist/chunk-4WBV3WP3.js +0 -221
  123. package/dist/chunk-OWICSMFV.js +0 -12
  124. package/dist/chunk-QCDYZY46.js +0 -1070
  125. package/dist/chunk-QEKTVN5A.js +0 -4385
  126. package/dist/chunk-QOUOFEGO.js +0 -35
  127. package/dist/chunk-WP234IUO.js +0 -265
  128. package/dist/chunk-XLPMGRR3.js +0 -496
  129. package/dist/chunk-XSKJYEAZ.js +0 -1453
  130. package/dist/error-handler-QDDLQDOJ.js +0 -43
@@ -1,496 +0,0 @@
1
- import {
2
- Conf,
3
- latestVersion
4
- } from "./chunk-QEOBHRRQ.js";
5
- import {
6
- require_semver
7
- } from "./chunk-PRJ3U7MR.js";
8
- import {
9
- AbortController,
10
- AbortError,
11
- BugError,
12
- captureOutput,
13
- exec,
14
- fileExists,
15
- findPathUp,
16
- glob,
17
- outputContent,
18
- outputDebug,
19
- outputToken,
20
- readFile,
21
- runWithTimer,
22
- writeFile
23
- } from "./chunk-3MDI6LZT.js";
24
- import {
25
- dirname,
26
- joinPath
27
- } from "./chunk-UNPXLODI.js";
28
- import {
29
- __export,
30
- __toESM,
31
- init_cjs_shims
32
- } from "./chunk-ZPL24Y2D.js";
33
-
34
- // ../cli-kit/src/public/node/node-package-manager.ts
35
- var node_package_manager_exports = {};
36
- __export(node_package_manager_exports, {
37
- FindUpAndReadPackageJsonNotFoundError: () => FindUpAndReadPackageJsonNotFoundError,
38
- PackageJsonNotFoundError: () => PackageJsonNotFoundError,
39
- UnknownPackageManagerError: () => UnknownPackageManagerError,
40
- addNPMDependencies: () => addNPMDependencies,
41
- addNPMDependenciesIfNeeded: () => addNPMDependenciesIfNeeded,
42
- addNPMDependenciesWithoutVersionIfNeeded: () => addNPMDependenciesWithoutVersionIfNeeded,
43
- addResolutionOrOverride: () => addResolutionOrOverride,
44
- bunLockfile: () => bunLockfile,
45
- checkForNewVersion: () => checkForNewVersion,
46
- findUpAndReadPackageJson: () => findUpAndReadPackageJson,
47
- getDependencies: () => getDependencies,
48
- getPackageManager: () => getPackageManager,
49
- getPackageName: () => getPackageName,
50
- getPackageVersion: () => getPackageVersion,
51
- installNPMDependenciesRecursively: () => installNPMDependenciesRecursively,
52
- installNodeModules: () => installNodeModules,
53
- lockfiles: () => lockfiles,
54
- npmLockfile: () => npmLockfile,
55
- packageManager: () => packageManager,
56
- packageManagerFromUserAgent: () => packageManagerFromUserAgent,
57
- pnpmLockfile: () => pnpmLockfile,
58
- pnpmWorkspaceFile: () => pnpmWorkspaceFile,
59
- readAndParsePackageJson: () => readAndParsePackageJson,
60
- usesWorkspaces: () => usesWorkspaces,
61
- versionSatisfies: () => versionSatisfies,
62
- writePackageJSON: () => writePackageJSON,
63
- yarnLockfile: () => yarnLockfile
64
- });
65
- init_cjs_shims();
66
-
67
- // ../cli-kit/src/private/node/conf-store.ts
68
- init_cjs_shims();
69
-
70
- // ../cli-kit/src/public/node/local-storage.ts
71
- init_cjs_shims();
72
- var LocalStorage = class {
73
- constructor(options) {
74
- this.config = new Conf(options);
75
- }
76
- /**
77
- * Get a value from the local storage.
78
- *
79
- * @param key - The key to get.
80
- * @returns The value.
81
- */
82
- get(key) {
83
- return this.config.get(key);
84
- }
85
- /**
86
- * Set a value in the local storage.
87
- *
88
- * @param key - The key to set.
89
- * @param value - The value to set.
90
- */
91
- set(key, value) {
92
- this.config.set(key, value);
93
- }
94
- /**
95
- * Delete a value from the local storage.
96
- *
97
- * @param key - The key to delete.
98
- */
99
- delete(key) {
100
- this.config.delete(key);
101
- }
102
- /**
103
- * Clear the local storage (delete all values).
104
- */
105
- clear() {
106
- this.config.clear();
107
- }
108
- };
109
-
110
- // ../cli-kit/src/private/node/conf-store.ts
111
- var _instance;
112
- function cliKitStore() {
113
- if (!_instance) {
114
- _instance = new LocalStorage({ projectName: "shopify-cli-kit" });
115
- }
116
- return _instance;
117
- }
118
- function getSession(config = cliKitStore()) {
119
- outputDebug(outputContent`Getting session store...`);
120
- return config.get("sessionStore");
121
- }
122
- function setSession(session, config = cliKitStore()) {
123
- outputDebug(outputContent`Setting session store...`);
124
- config.set("sessionStore", session);
125
- }
126
- function removeSession(config = cliKitStore()) {
127
- outputDebug(outputContent`Removing session store...`);
128
- config.delete("sessionStore");
129
- }
130
- async function cacheRetrieveOrRepopulate(key, fn, timeout, config = cliKitStore()) {
131
- const cache = config.get("cache") || {};
132
- const cached = cache[key];
133
- if (cached?.value !== void 0 && (timeout === void 0 || Date.now() - cached.timestamp < timeout)) {
134
- return cached.value;
135
- }
136
- const value = await fn();
137
- cache[key] = { value, timestamp: Date.now() };
138
- config.set("cache", cache);
139
- return value;
140
- }
141
-
142
- // ../cli-kit/src/public/node/node-package-manager.ts
143
- var import_semver = __toESM(require_semver(), 1);
144
- var yarnLockfile = "yarn.lock";
145
- var npmLockfile = "package-lock.json";
146
- var pnpmLockfile = "pnpm-lock.yaml";
147
- var bunLockfile = "bun.lockb";
148
- var pnpmWorkspaceFile = "pnpm-workspace.yaml";
149
- var lockfiles = [yarnLockfile, pnpmLockfile, npmLockfile, bunLockfile];
150
- var packageManager = ["yarn", "npm", "pnpm", "bun", "unknown"];
151
- var UnknownPackageManagerError = class extends AbortError {
152
- constructor() {
153
- super("Unknown package manager");
154
- }
155
- };
156
- var PackageJsonNotFoundError = class extends AbortError {
157
- constructor(directory) {
158
- super(outputContent`The directory ${outputToken.path(directory)} doesn't have a package.json.`);
159
- }
160
- };
161
- var FindUpAndReadPackageJsonNotFoundError = class extends BugError {
162
- constructor(directory) {
163
- super(outputContent`Couldn't find a a package.json traversing directories from ${outputToken.path(directory)}`);
164
- }
165
- };
166
- function packageManagerFromUserAgent(env = process.env) {
167
- if (env.npm_config_user_agent?.includes("yarn")) {
168
- return "yarn";
169
- } else if (env.npm_config_user_agent?.includes("pnpm")) {
170
- return "pnpm";
171
- } else if (env.npm_config_user_agent?.includes("bun")) {
172
- return "bun";
173
- } else if (env.npm_config_user_agent?.includes("npm")) {
174
- return "npm";
175
- }
176
- return "unknown";
177
- }
178
- async function getPackageManager(fromDirectory) {
179
- const directory = await captureOutput("npm", ["prefix"], { cwd: fromDirectory });
180
- outputDebug(outputContent`Obtaining the dependency manager in directory ${outputToken.path(directory)}...`);
181
- const packageJson = joinPath(directory, "package.json");
182
- if (!await fileExists(packageJson)) {
183
- return packageManagerFromUserAgent();
184
- }
185
- const yarnLockPath = joinPath(directory, yarnLockfile);
186
- const pnpmLockPath = joinPath(directory, pnpmLockfile);
187
- const bunLockPath = joinPath(directory, bunLockfile);
188
- if (await fileExists(yarnLockPath)) {
189
- return "yarn";
190
- } else if (await fileExists(pnpmLockPath)) {
191
- return "pnpm";
192
- } else if (await fileExists(bunLockPath)) {
193
- return "bun";
194
- } else {
195
- return "npm";
196
- }
197
- }
198
- async function installNPMDependenciesRecursively(options) {
199
- const packageJsons = await glob(joinPath(options.directory, "**/package.json"), {
200
- ignore: [joinPath(options.directory, "node_modules/**/package.json")],
201
- cwd: options.directory,
202
- onlyFiles: true,
203
- deep: options.deep
204
- });
205
- const abortController = new AbortController();
206
- try {
207
- await Promise.all(
208
- packageJsons.map(async (packageJsonPath) => {
209
- const directory = dirname(packageJsonPath);
210
- await installNodeModules({
211
- directory,
212
- packageManager: options.packageManager,
213
- stdout: void 0,
214
- stderr: void 0,
215
- signal: abortController.signal,
216
- args: []
217
- });
218
- })
219
- );
220
- } catch (error) {
221
- abortController.abort();
222
- throw error;
223
- }
224
- }
225
- async function installNodeModules(options) {
226
- const execOptions = {
227
- cwd: options.directory,
228
- stdin: void 0,
229
- stdout: options.stdout,
230
- stderr: options.stderr,
231
- signal: options.signal
232
- };
233
- let args = ["install"];
234
- if (options.args) {
235
- args = args.concat(options.args);
236
- }
237
- await runWithTimer("cmd_all_timing_network_ms")(async () => {
238
- await exec(options.packageManager, args, execOptions);
239
- });
240
- }
241
- async function getPackageName(packageJsonPath) {
242
- const packageJsonContent = await readAndParsePackageJson(packageJsonPath);
243
- return packageJsonContent.name;
244
- }
245
- async function getPackageVersion(packageJsonPath) {
246
- const packageJsonContent = await readAndParsePackageJson(packageJsonPath);
247
- return packageJsonContent.version;
248
- }
249
- async function getDependencies(packageJsonPath) {
250
- const packageJsonContent = await readAndParsePackageJson(packageJsonPath);
251
- const dependencies = packageJsonContent.dependencies ?? {};
252
- const devDependencies = packageJsonContent.devDependencies ?? {};
253
- return { ...dependencies, ...devDependencies };
254
- }
255
- async function usesWorkspaces(appDirectory) {
256
- const packageJsonPath = joinPath(appDirectory, "package.json");
257
- const packageJsonContent = await readAndParsePackageJson(packageJsonPath);
258
- const pnpmWorkspacePath = joinPath(appDirectory, pnpmWorkspaceFile);
259
- return Boolean(packageJsonContent.workspaces) || fileExists(pnpmWorkspacePath);
260
- }
261
- async function checkForNewVersion(dependency, currentVersion, { cacheExpiryInHours = 0 } = {}) {
262
- const getLatestVersion = async () => {
263
- outputDebug(outputContent`Checking if there's a version of ${dependency} newer than ${currentVersion}`);
264
- return getLatestNPMPackageVersion(dependency);
265
- };
266
- const cacheKey = `npm-package-${dependency}`;
267
- let lastVersion;
268
- try {
269
- lastVersion = await cacheRetrieveOrRepopulate(cacheKey, getLatestVersion, cacheExpiryInHours * 24 * 1e3);
270
- } catch (error) {
271
- return void 0;
272
- }
273
- if (lastVersion && new import_semver.SemVer(currentVersion).compare(lastVersion) < 0) {
274
- return lastVersion;
275
- } else {
276
- return void 0;
277
- }
278
- }
279
- function versionSatisfies(version, requirements) {
280
- return (0, import_semver.satisfies)(version, requirements);
281
- }
282
- async function readAndParsePackageJson(packageJsonPath) {
283
- if (!await fileExists(packageJsonPath)) {
284
- throw new PackageJsonNotFoundError(dirname(packageJsonPath));
285
- }
286
- return JSON.parse(await readFile(packageJsonPath));
287
- }
288
- async function addNPMDependenciesIfNeeded(dependencies, options) {
289
- outputDebug(outputContent`Adding the following dependencies if needed:
290
- ${outputToken.json(dependencies)}
291
- With options:
292
- ${outputToken.json(options)}
293
- `);
294
- const packageJsonPath = joinPath(options.directory, "package.json");
295
- if (!await fileExists(packageJsonPath)) {
296
- throw new PackageJsonNotFoundError(options.directory);
297
- }
298
- const existingDependencies = Object.keys(await getDependencies(packageJsonPath));
299
- const dependenciesToAdd = dependencies.filter((dep) => {
300
- return !existingDependencies.includes(dep.name);
301
- });
302
- if (dependenciesToAdd.length === 0) {
303
- return;
304
- }
305
- await addNPMDependencies(dependenciesToAdd, options);
306
- }
307
- async function addNPMDependencies(dependencies, options) {
308
- const dependenciesWithVersion = dependencies.map((dep) => {
309
- return dep.version ? `${dep.name}@${dep.version}` : dep.name;
310
- });
311
- options.stdout?.write(`Installing ${[dependenciesWithVersion].join(" ")} with ${options.packageManager}`);
312
- switch (options.packageManager) {
313
- case "npm":
314
- for (const dep of dependenciesWithVersion) {
315
- await installDependencies(options, argumentsToAddDependenciesWithNPM(dep, options.type));
316
- }
317
- break;
318
- case "yarn":
319
- await installDependencies(
320
- options,
321
- argumentsToAddDependenciesWithYarn(dependenciesWithVersion, options.type, Boolean(options.addToRootDirectory))
322
- );
323
- break;
324
- case "pnpm":
325
- await installDependencies(
326
- options,
327
- argumentsToAddDependenciesWithPNPM(dependenciesWithVersion, options.type, Boolean(options.addToRootDirectory))
328
- );
329
- break;
330
- case "bun":
331
- await installDependencies(options, argumentsToAddDependenciesWithBun(dependenciesWithVersion, options.type));
332
- await installDependencies(options, ["install"]);
333
- break;
334
- case "unknown":
335
- throw new UnknownPackageManagerError();
336
- }
337
- }
338
- async function installDependencies(options, args) {
339
- return runWithTimer("cmd_all_timing_network_ms")(async () => {
340
- return exec(options.packageManager, args, {
341
- cwd: options.directory,
342
- stdout: options.stdout,
343
- stderr: options.stderr,
344
- signal: options.signal
345
- });
346
- });
347
- }
348
- async function addNPMDependenciesWithoutVersionIfNeeded(dependencies, options) {
349
- await addNPMDependenciesIfNeeded(
350
- dependencies.map((dependency) => {
351
- return { name: dependency, version: void 0 };
352
- }),
353
- options
354
- );
355
- }
356
- function argumentsToAddDependenciesWithNPM(dependency, type) {
357
- let command = ["install"];
358
- command = command.concat(dependency);
359
- switch (type) {
360
- case "dev":
361
- command.push("--save-dev");
362
- break;
363
- case "peer":
364
- command.push("--save-peer");
365
- break;
366
- case "prod":
367
- command.push("--save-prod");
368
- break;
369
- }
370
- if (dependency.match(/@\d/g)) {
371
- command.push("--save-exact");
372
- }
373
- return command;
374
- }
375
- function argumentsToAddDependenciesWithYarn(dependencies, type, addAtRoot = false) {
376
- let command = ["add"];
377
- if (addAtRoot) {
378
- command.push("-W");
379
- }
380
- command = command.concat(dependencies);
381
- switch (type) {
382
- case "dev":
383
- command.push("--dev");
384
- break;
385
- case "peer":
386
- command.push("--peer");
387
- break;
388
- case "prod":
389
- command.push("--prod");
390
- break;
391
- }
392
- return command;
393
- }
394
- function argumentsToAddDependenciesWithPNPM(dependencies, type, addAtRoot = false) {
395
- let command = ["add"];
396
- if (addAtRoot) {
397
- command.push("-w");
398
- }
399
- command = command.concat(dependencies);
400
- switch (type) {
401
- case "dev":
402
- command.push("--save-dev");
403
- break;
404
- case "peer":
405
- command.push("--save-peer");
406
- break;
407
- case "prod":
408
- command.push("--save-prod");
409
- break;
410
- }
411
- return command;
412
- }
413
- function argumentsToAddDependenciesWithBun(dependencies, type) {
414
- let command = ["add"];
415
- command = command.concat(dependencies);
416
- switch (type) {
417
- case "dev":
418
- command.push("--development");
419
- break;
420
- case "peer":
421
- command.push("--optional");
422
- break;
423
- case "prod":
424
- break;
425
- }
426
- return command;
427
- }
428
- async function findUpAndReadPackageJson(fromDirectory) {
429
- const packageJsonPath = await findPathUp("package.json", { cwd: fromDirectory, type: "file" });
430
- if (packageJsonPath) {
431
- const packageJson = JSON.parse(await readFile(packageJsonPath));
432
- return { path: packageJsonPath, content: packageJson };
433
- } else {
434
- throw new FindUpAndReadPackageJsonNotFoundError(fromDirectory);
435
- }
436
- }
437
- async function addResolutionOrOverride(directory, dependencies) {
438
- const packageManager2 = await getPackageManager(directory);
439
- const packageJsonPath = joinPath(directory, "package.json");
440
- const packageJsonContent = await readAndParsePackageJson(packageJsonPath);
441
- if (packageManager2 === "yarn") {
442
- packageJsonContent.resolutions = packageJsonContent.resolutions ? { ...packageJsonContent.resolutions, ...dependencies } : dependencies;
443
- }
444
- if (packageManager2 === "npm" || packageManager2 === "pnpm" || packageManager2 === "bun") {
445
- packageJsonContent.overrides = packageJsonContent.overrides ? { ...packageJsonContent.overrides, ...dependencies } : dependencies;
446
- }
447
- await writeFile(packageJsonPath, JSON.stringify(packageJsonContent, null, 2));
448
- }
449
- async function getLatestNPMPackageVersion(name) {
450
- outputDebug(outputContent`Getting the latest version of NPM package: ${outputToken.raw(name)}`);
451
- return runWithTimer("cmd_all_timing_network_ms")(() => {
452
- return latestVersion(name);
453
- });
454
- }
455
- async function writePackageJSON(directory, packageJSON) {
456
- outputDebug(outputContent`JSON-encoding and writing content to package.json at ${outputToken.path(directory)}...`);
457
- const packagePath = joinPath(directory, "package.json");
458
- await writeFile(packagePath, JSON.stringify(packageJSON, null, 2));
459
- }
460
-
461
- export {
462
- LocalStorage,
463
- getSession,
464
- setSession,
465
- removeSession,
466
- cacheRetrieveOrRepopulate,
467
- yarnLockfile,
468
- npmLockfile,
469
- pnpmLockfile,
470
- bunLockfile,
471
- pnpmWorkspaceFile,
472
- lockfiles,
473
- packageManager,
474
- UnknownPackageManagerError,
475
- PackageJsonNotFoundError,
476
- FindUpAndReadPackageJsonNotFoundError,
477
- packageManagerFromUserAgent,
478
- getPackageManager,
479
- installNPMDependenciesRecursively,
480
- installNodeModules,
481
- getPackageName,
482
- getPackageVersion,
483
- getDependencies,
484
- usesWorkspaces,
485
- checkForNewVersion,
486
- versionSatisfies,
487
- readAndParsePackageJson,
488
- addNPMDependenciesIfNeeded,
489
- addNPMDependencies,
490
- addNPMDependenciesWithoutVersionIfNeeded,
491
- findUpAndReadPackageJson,
492
- addResolutionOrOverride,
493
- writePackageJSON,
494
- node_package_manager_exports
495
- };
496
- //# sourceMappingURL=chunk-XLPMGRR3.js.map