@shopify/cli 3.63.1 → 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.
- package/dist/assets/cli-ruby/lib/shopify_cli/reporting_configuration_controller.rb +2 -37
- package/dist/assets/cli-ruby/lib/shopify_cli/theme/file.rb +12 -30
- package/dist/assets/dev-console/extensions/dev-console/assets/index-Cgb-oKsM.css +1 -0
- package/dist/assets/dev-console/extensions/dev-console/assets/{index-Dui3DO9f.js → index-D7F9wNys.js} +12 -12
- package/dist/assets/dev-console/index.html +2 -2
- package/dist/assets/hydrogen/starter/CHANGELOG.md +98 -5
- package/dist/assets/hydrogen/starter/app/components/AddToCartButton.tsx +37 -0
- package/dist/assets/hydrogen/starter/app/components/CartLineItem.tsx +150 -0
- package/dist/assets/hydrogen/starter/app/components/CartMain.tsx +68 -0
- package/dist/assets/hydrogen/starter/app/components/CartSummary.tsx +101 -0
- package/dist/assets/hydrogen/starter/app/components/Header.tsx +3 -3
- package/dist/assets/hydrogen/starter/app/components/PageLayout.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/components/ProductForm.tsx +80 -0
- package/dist/assets/hydrogen/starter/app/components/ProductImage.tsx +23 -0
- package/dist/assets/hydrogen/starter/app/components/ProductPrice.tsx +27 -0
- package/dist/assets/hydrogen/starter/app/components/Search.tsx +1 -0
- package/dist/assets/hydrogen/starter/app/root.tsx +11 -17
- package/dist/assets/hydrogen/starter/app/routes/cart.tsx +2 -2
- package/dist/assets/hydrogen/starter/app/routes/products.$handle.tsx +51 -232
- package/dist/assets/hydrogen/starter/package.json +11 -11
- package/dist/assets/hydrogen/tailwind/package.json +1 -6
- package/dist/assets/hydrogen/tailwind/tailwind.css +6 -3
- package/dist/assets/hydrogen/vanilla-extract/package.json +2 -3
- package/dist/assets/hydrogen/virtual-routes/components/{Layout.jsx → PageLayout.jsx} +2 -2
- package/dist/assets/hydrogen/virtual-routes/virtual-root.jsx +8 -30
- package/dist/{chunk-TD4ZV7BS.js → chunk-2TZRSXDZ.js} +3 -3
- package/dist/{chunk-EARPFFS7.js → chunk-5A6QTLMF.js} +241 -4
- package/dist/{chunk-SRLLZENE.js → chunk-6LPAIJ4Y.js} +2 -2
- package/dist/{chunk-TYOQQCHN.js → chunk-6TPBPH6V.js} +905 -896
- package/dist/{chunk-UZ3EKGD4.js → chunk-7GYETEC3.js} +3 -3
- package/dist/{chunk-UNPXLODI.js → chunk-B7RN7IRD.js} +3 -4
- package/dist/{chunk-SML7F4EL.js → chunk-BKBHZTOE.js} +3 -3
- package/dist/{chunk-A2UVOX6O.js → chunk-C2AKAEMR.js} +7066 -6051
- package/dist/{chunk-HZUY7I72.js → chunk-CLBFKLWA.js} +4 -4
- package/dist/{chunk-6UDFXWNE.js → chunk-EJITPGUJ.js} +21 -4
- package/dist/{chunk-SCKZAIMH.js → chunk-G4TC4KHZ.js} +3 -3
- package/dist/{chunk-ZSWSHFDT.js → chunk-GEAZ65AU.js} +1429 -2847
- package/dist/{chunk-HCYSYR53.js → chunk-GUB3OCYR.js} +4 -4
- package/dist/{chunk-QCB66M7L.js → chunk-H66NIXGL.js} +9 -14
- package/dist/chunk-I6HNYSMO.js +29 -0
- package/dist/{chunk-GICOHCP4.js → chunk-JSLLI5MY.js} +3 -3
- package/dist/{chunk-N5XLVLT2.js → chunk-KDK32T2A.js} +5 -5
- package/dist/{chunk-CBNQDBKA.js → chunk-L5WUZYLP.js} +5 -5
- package/dist/{chunk-OVW3UN2A.js → chunk-LHP5F5LY.js} +4 -4
- package/dist/{chunk-TOO3W2BY.js → chunk-LP2H26NY.js} +3 -3
- package/dist/{chunk-NIEJLNRY.js → chunk-LQX3GDBO.js} +2 -2
- package/dist/{chunk-WJ6UGHRU.js → chunk-LVLKZYIC.js} +3 -3
- package/dist/{chunk-WADS2TV5.js → chunk-NO7MYZEO.js} +5 -4
- package/dist/{chunk-LH533WG4.js → chunk-NPH2SXRO.js} +2 -2
- package/dist/{chunk-IJ3PP7ZN.js → chunk-PIJQNKK6.js} +5 -5
- package/dist/{chunk-S4VBXFXP.js → chunk-PWYMBX34.js} +220 -16
- package/dist/{chunk-DIRL62CL.js → chunk-QCK4QLB3.js} +17912 -17444
- package/dist/{chunk-5D3LUZSS.js → chunk-QI5O2CU6.js} +5 -5
- package/dist/{chunk-BZUV56IY.js → chunk-RX7VCI62.js} +4 -4
- package/dist/{chunk-HULX6T4O.js → chunk-T7DHXEC7.js} +3 -3
- package/dist/{chunk-VB3O7QTH.js → chunk-TCQUNDAY.js} +3 -3
- package/dist/{chunk-CM4H6QMH.js → chunk-TSZPIP7J.js} +3 -3
- package/dist/{chunk-OHZL7KKD.js → chunk-UTXBNNRZ.js} +4 -4
- package/dist/{chunk-QAB3YP77.js → chunk-VPPZXHAK.js} +2 -2
- package/dist/{chunk-ARLG6JTK.js → chunk-W26344X5.js} +3 -3
- package/dist/{chunk-EQPYUHNM.js → chunk-WIG6CPGR.js} +1497 -112
- package/dist/{chunk-MMRWTLF3.js → chunk-X34BQYQP.js} +2 -2
- package/dist/chunk-YLPSXWEZ.js +12 -0
- package/dist/cli/commands/auth/logout.js +14 -19
- package/dist/cli/commands/auth/logout.test.js +17 -21
- package/dist/cli/commands/debug/command-flags.js +11 -15
- package/dist/cli/commands/demo/catalog.js +13 -18
- package/dist/cli/commands/demo/generate-file.js +13 -18
- package/dist/cli/commands/demo/index.js +13 -18
- package/dist/cli/commands/demo/print-ai-prompt.js +13 -18
- package/dist/cli/commands/docs/generate.js +11 -15
- package/dist/cli/commands/docs/generate.test.js +11 -15
- package/dist/cli/commands/help.js +11 -15
- package/dist/cli/commands/kitchen-sink/async.js +12 -16
- package/dist/cli/commands/kitchen-sink/async.test.js +12 -16
- package/dist/cli/commands/kitchen-sink/index.js +14 -18
- package/dist/cli/commands/kitchen-sink/index.test.js +14 -18
- package/dist/cli/commands/kitchen-sink/prompts.js +12 -16
- package/dist/cli/commands/kitchen-sink/prompts.test.js +12 -16
- package/dist/cli/commands/kitchen-sink/static.js +12 -16
- package/dist/cli/commands/kitchen-sink/static.test.js +12 -16
- package/dist/cli/commands/search.js +12 -16
- package/dist/cli/commands/upgrade.js +11 -15
- package/dist/cli/commands/version.js +12 -16
- package/dist/cli/commands/version.test.js +12 -16
- package/dist/cli/services/commands/search.js +4 -4
- package/dist/cli/services/commands/search.test.js +4 -4
- package/dist/cli/services/commands/version.js +6 -7
- package/dist/cli/services/commands/version.test.js +7 -8
- package/dist/cli/services/demo.js +5 -6
- package/dist/cli/services/demo.test.js +5 -6
- package/dist/cli/services/kitchen-sink/async.js +4 -4
- package/dist/cli/services/kitchen-sink/prompts.js +4 -4
- package/dist/cli/services/kitchen-sink/static.js +4 -4
- package/dist/cli/services/upgrade.js +5 -6
- package/dist/cli/services/upgrade.test.js +7 -8
- package/dist/{constants-3CLHB4LQ.js → constants-EVER32LA.js} +3 -3
- package/dist/{custom-oclif-loader-T44V63XJ.js → custom-oclif-loader-F5UKFNJS.js} +13 -6
- package/dist/{error-handler-5KEL3EJC.js → error-handler-GCSQB44R.js} +10 -8
- package/dist/hooks/postrun.js +12 -14
- package/dist/hooks/prerun.js +8 -11
- package/dist/index.js +7708 -7452
- package/dist/{local-LBAOYPL4.js → local-VDSO2Y52.js} +4 -4
- package/dist/{morph-6NYGHGNT.js → morph-DQWX4LPS.js} +9 -9
- package/dist/{node-3X5EZ2GL.js → node-3B62KLPY.js} +21 -19
- package/dist/{node-package-manager-BU3KHLYT.js → node-package-manager-QLAS6UPG.js} +5 -6
- package/dist/{path-JVVXOELJ.js → path-KUSF6CYC.js} +2 -2
- package/dist/{system-GPQDWNIQ.js → system-CPU6ZDBW.js} +4 -4
- package/dist/templates/ui-extensions/projects/web_pixel_extension/package.json.liquid +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/{ui-4ZQNF2YQ.js → ui-Y4GW3DUK.js} +4 -4
- package/dist/{workerd-66AMV47V.js → workerd-LSXMDY5M.js} +22 -19
- package/oclif.manifest.json +265 -4
- package/package.json +7 -10
- package/dist/assets/dev-console/extensions/dev-console/assets/index-Bi7y6lI5.css +0 -1
- package/dist/assets/hydrogen/css-modules/package.json +0 -6
- package/dist/assets/hydrogen/postcss/package.json +0 -10
- package/dist/assets/hydrogen/postcss/postcss.config.js +0 -8
- package/dist/assets/hydrogen/starter/app/components/Cart.tsx +0 -364
- package/dist/assets/hydrogen/tailwind/postcss.config.js +0 -10
- package/dist/assets/hydrogen/tailwind/tailwind.config.js +0 -8
- package/dist/chunk-6EIVOQYP.js +0 -1070
- package/dist/chunk-GITQBCE5.js +0 -4385
- package/dist/chunk-HNAZOLMG.js +0 -1453
- package/dist/chunk-MO3UHUJB.js +0 -221
- package/dist/chunk-NBSFQYKI.js +0 -496
- package/dist/chunk-NVFSN34M.js +0 -265
- package/dist/chunk-QOUOFEGO.js +0 -35
- package/dist/chunk-WLZZJLBE.js +0 -12
- package/dist/error-handler-QVRMTAG7.js +0 -43
package/dist/chunk-MO3UHUJB.js
DELETED
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
require_notifier
|
|
3
|
-
} from "./chunk-S4VBXFXP.js";
|
|
4
|
-
import {
|
|
5
|
-
fanoutHooks,
|
|
6
|
-
reportAnalyticsEvent
|
|
7
|
-
} from "./chunk-6EIVOQYP.js";
|
|
8
|
-
import {
|
|
9
|
-
getEnvironmentData
|
|
10
|
-
} from "./chunk-QCB66M7L.js";
|
|
11
|
-
import {
|
|
12
|
-
CLI_KIT_VERSION
|
|
13
|
-
} from "./chunk-WLZZJLBE.js";
|
|
14
|
-
import {
|
|
15
|
-
AbortSilentError,
|
|
16
|
-
CancelExecution,
|
|
17
|
-
cleanSingleStackTracePath,
|
|
18
|
-
errorMapper,
|
|
19
|
-
getAllPublicMetadata,
|
|
20
|
-
getAllSensitiveMetadata,
|
|
21
|
-
handler,
|
|
22
|
-
outputDebug,
|
|
23
|
-
outputInfo,
|
|
24
|
-
printEventsJson,
|
|
25
|
-
require_stacktracey,
|
|
26
|
-
shouldReportError
|
|
27
|
-
} from "./chunk-TYOQQCHN.js";
|
|
28
|
-
import {
|
|
29
|
-
bugsnagApiKey
|
|
30
|
-
} from "./chunk-WADS2TV5.js";
|
|
31
|
-
import {
|
|
32
|
-
require_lib
|
|
33
|
-
} from "./chunk-GEN4RXTD.js";
|
|
34
|
-
import {
|
|
35
|
-
cwd,
|
|
36
|
-
isAbsolutePath,
|
|
37
|
-
joinPath,
|
|
38
|
-
normalizePath,
|
|
39
|
-
relativePath
|
|
40
|
-
} from "./chunk-UNPXLODI.js";
|
|
41
|
-
import {
|
|
42
|
-
__toESM,
|
|
43
|
-
init_cjs_shims
|
|
44
|
-
} from "./chunk-ZPL24Y2D.js";
|
|
45
|
-
|
|
46
|
-
// ../cli-kit/src/public/node/error-handler.ts
|
|
47
|
-
init_cjs_shims();
|
|
48
|
-
var import_core = __toESM(require_lib(), 1);
|
|
49
|
-
var import_stacktracey = __toESM(require_stacktracey(), 1);
|
|
50
|
-
var import_js = __toESM(require_notifier(), 1);
|
|
51
|
-
import { realpath } from "fs/promises";
|
|
52
|
-
async function errorHandler(error, config) {
|
|
53
|
-
if (error instanceof CancelExecution) {
|
|
54
|
-
if (error.message && error.message !== "") {
|
|
55
|
-
outputInfo(`\u2728 ${error.message}`);
|
|
56
|
-
}
|
|
57
|
-
} else if (error instanceof AbortSilentError) {
|
|
58
|
-
printEventsJson();
|
|
59
|
-
} else {
|
|
60
|
-
return errorMapper(error).then((error2) => {
|
|
61
|
-
return handler(error2);
|
|
62
|
-
}).then((mappedError) => {
|
|
63
|
-
printEventsJson();
|
|
64
|
-
return reportError(mappedError, config);
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
var reportError = async (error, config) => {
|
|
69
|
-
let exitMode = "expected_error";
|
|
70
|
-
if (shouldReportError(error))
|
|
71
|
-
exitMode = "unexpected_error";
|
|
72
|
-
if (config !== void 0) {
|
|
73
|
-
await reportAnalyticsEvent({ config, errorMessage: error instanceof Error ? error.message : void 0, exitMode });
|
|
74
|
-
}
|
|
75
|
-
await sendErrorToBugsnag(error, exitMode);
|
|
76
|
-
};
|
|
77
|
-
async function sendErrorToBugsnag(error, exitMode) {
|
|
78
|
-
if (import_core.settings.debug) {
|
|
79
|
-
outputDebug(`Skipping Bugsnag report`);
|
|
80
|
-
return { reported: false, error, unhandled: void 0 };
|
|
81
|
-
}
|
|
82
|
-
const unhandled = exitMode === "unexpected_error";
|
|
83
|
-
let reportableError;
|
|
84
|
-
let stacktrace;
|
|
85
|
-
let report = false;
|
|
86
|
-
if (error instanceof Error) {
|
|
87
|
-
report = true;
|
|
88
|
-
reportableError = new Error(error.message);
|
|
89
|
-
stacktrace = error.stack;
|
|
90
|
-
} else if (typeof error === "string" && error.trim().length !== 0) {
|
|
91
|
-
report = true;
|
|
92
|
-
reportableError = new Error(error);
|
|
93
|
-
stacktrace = reportableError.stack;
|
|
94
|
-
} else {
|
|
95
|
-
report = false;
|
|
96
|
-
reportableError = new Error("Unknown error");
|
|
97
|
-
}
|
|
98
|
-
const formattedStacktrace = new import_stacktracey.default(stacktrace ?? "").clean().items.map((item) => {
|
|
99
|
-
const filePath = cleanSingleStackTracePath(item.file);
|
|
100
|
-
return ` at ${item.callee} (${filePath}:${item.line}:${item.column})`;
|
|
101
|
-
}).join("\n");
|
|
102
|
-
reportableError.stack = `Error: ${reportableError.message}
|
|
103
|
-
${formattedStacktrace}`;
|
|
104
|
-
if (report) {
|
|
105
|
-
initializeBugsnag();
|
|
106
|
-
await new Promise((resolve, reject) => {
|
|
107
|
-
outputDebug(`Reporting ${unhandled ? "unhandled" : "handled"} error to Bugsnag: ${reportableError.message}`);
|
|
108
|
-
const eventHandler = (event) => {
|
|
109
|
-
event.severity = "error";
|
|
110
|
-
event.unhandled = unhandled;
|
|
111
|
-
};
|
|
112
|
-
const errorHandler2 = (error2) => {
|
|
113
|
-
if (error2) {
|
|
114
|
-
reject(error2);
|
|
115
|
-
} else {
|
|
116
|
-
resolve(reportableError);
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
import_js.default.notify(reportableError, eventHandler, errorHandler2);
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
return { error: reportableError, reported: report, unhandled };
|
|
123
|
-
}
|
|
124
|
-
function cleanStackFrameFilePath({
|
|
125
|
-
currentFilePath,
|
|
126
|
-
projectRoot,
|
|
127
|
-
pluginLocations
|
|
128
|
-
}) {
|
|
129
|
-
const fullLocation = isAbsolutePath(currentFilePath) ? currentFilePath : joinPath(projectRoot, currentFilePath);
|
|
130
|
-
const matchingPluginPath = pluginLocations.filter(({ pluginPath }) => fullLocation.indexOf(pluginPath) === 0)[0];
|
|
131
|
-
if (matchingPluginPath !== void 0) {
|
|
132
|
-
return joinPath(matchingPluginPath.name, relativePath(matchingPluginPath.pluginPath, fullLocation));
|
|
133
|
-
}
|
|
134
|
-
return currentFilePath.replace(/.*node_modules\//, "");
|
|
135
|
-
}
|
|
136
|
-
async function registerCleanBugsnagErrorsFromWithinPlugins(config) {
|
|
137
|
-
const bugsnagConfigProjectRoot = import_js.default?._client?._config?.projectRoot ?? cwd();
|
|
138
|
-
const projectRoot = normalizePath(bugsnagConfigProjectRoot);
|
|
139
|
-
const pluginLocations = await Promise.all(
|
|
140
|
-
[...config.plugins].map(async ([_, plugin]) => {
|
|
141
|
-
const followSymlinks = await realpath(plugin.root);
|
|
142
|
-
return { name: plugin.name, pluginPath: normalizePath(followSymlinks) };
|
|
143
|
-
})
|
|
144
|
-
);
|
|
145
|
-
initializeBugsnag();
|
|
146
|
-
import_js.default.addOnError(async (event) => {
|
|
147
|
-
event.errors.forEach((error) => {
|
|
148
|
-
error.stacktrace.forEach((stackFrame) => {
|
|
149
|
-
stackFrame.file = cleanStackFrameFilePath({ currentFilePath: stackFrame.file, projectRoot, pluginLocations });
|
|
150
|
-
});
|
|
151
|
-
});
|
|
152
|
-
try {
|
|
153
|
-
await addBugsnagMetadata(event, config);
|
|
154
|
-
} catch (metadataError) {
|
|
155
|
-
outputDebug(`There was an error adding metadata to the Bugsnag report; Ignoring and carrying on ${metadataError}`);
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
async function addBugsnagMetadata(event, config) {
|
|
160
|
-
const publicData = getAllPublicMetadata();
|
|
161
|
-
const { commandStartOptions } = getAllSensitiveMetadata();
|
|
162
|
-
const { startCommand } = commandStartOptions ?? {};
|
|
163
|
-
const { "@shopify/app": appPublic, ...otherPluginsPublic } = await fanoutHooks(config, "public_command_metadata", {});
|
|
164
|
-
const environment = await getEnvironmentData(config);
|
|
165
|
-
const allMetadata = {
|
|
166
|
-
command: startCommand,
|
|
167
|
-
...appPublic,
|
|
168
|
-
...publicData,
|
|
169
|
-
...environment,
|
|
170
|
-
pluginData: otherPluginsPublic
|
|
171
|
-
};
|
|
172
|
-
const appData = {};
|
|
173
|
-
const commandData = {};
|
|
174
|
-
const environmentData = {};
|
|
175
|
-
const miscData = {};
|
|
176
|
-
const appKeys = ["api_key", "partner_id", "project_type"];
|
|
177
|
-
const commandKeys = ["command"];
|
|
178
|
-
const environmentKeys = ["cli_version", "node_version", "ruby_version", "uname"];
|
|
179
|
-
Object.entries(allMetadata).forEach(([key, value]) => {
|
|
180
|
-
if (key.startsWith("app_") || appKeys.includes(key)) {
|
|
181
|
-
appData[key] = value;
|
|
182
|
-
} else if (key.startsWith("cmd_") || commandKeys.includes(key)) {
|
|
183
|
-
commandData[key] = value;
|
|
184
|
-
} else if (key.startsWith("env_") || environmentKeys) {
|
|
185
|
-
environmentData[key] = value;
|
|
186
|
-
} else {
|
|
187
|
-
miscData[key] = value;
|
|
188
|
-
}
|
|
189
|
-
});
|
|
190
|
-
const bugsnagMetadata = {
|
|
191
|
-
"Shopify App": appData,
|
|
192
|
-
Command: commandData,
|
|
193
|
-
Environment: environmentData,
|
|
194
|
-
Misc: miscData
|
|
195
|
-
};
|
|
196
|
-
Object.entries(bugsnagMetadata).forEach(([section, values]) => {
|
|
197
|
-
event.addMetadata(section, values);
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
function initializeBugsnag() {
|
|
201
|
-
if (import_js.default.isStarted()) {
|
|
202
|
-
return;
|
|
203
|
-
}
|
|
204
|
-
import_js.default.start({
|
|
205
|
-
appType: "node",
|
|
206
|
-
apiKey: bugsnagApiKey,
|
|
207
|
-
logger: null,
|
|
208
|
-
appVersion: CLI_KIT_VERSION,
|
|
209
|
-
autoTrackSessions: false,
|
|
210
|
-
autoDetectErrors: false
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
export {
|
|
215
|
-
errorHandler,
|
|
216
|
-
sendErrorToBugsnag,
|
|
217
|
-
cleanStackFrameFilePath,
|
|
218
|
-
registerCleanBugsnagErrorsFromWithinPlugins,
|
|
219
|
-
addBugsnagMetadata
|
|
220
|
-
};
|
|
221
|
-
//# sourceMappingURL=chunk-MO3UHUJB.js.map
|
package/dist/chunk-NBSFQYKI.js
DELETED
|
@@ -1,496 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Conf,
|
|
3
|
-
latestVersion
|
|
4
|
-
} from "./chunk-DIRL62CL.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-TYOQQCHN.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-NBSFQYKI.js.map
|