@shopify/create-app
Version:
A CLI tool to create a new Shopify app.
118 lines (115 loc) • 4.66 kB
JavaScript
import {
treeKill
} from "./chunk-VJHCFG5K.js";
import {
init_cjs_shims
} from "./chunk-3XNI6LP4.js";
// ../cli-kit/dist/public/node/hooks/postrun.js
init_cjs_shims();
var postRunHookCompleted = !1;
function postRunHookHasCompleted() {
return postRunHookCompleted;
}
function waitForPostRunHookAndExit() {
let elapsed = 0, terminating = !1, handle = setInterval(() => {
if (!terminating) {
if (postRunHookHasCompleted() || elapsed >= 12e4) {
terminating = !0, clearInterval(handle), treeKill(process.pid, "SIGINT", !1, () => {
process.exit(0);
});
return;
}
elapsed += 100;
}
}, 100);
}
var hook = async ({ config, Command }) => {
await detectStopCommand(Command);
let metadata = await import("./metadata-4WOIDT2F.js"), { commandStartOptions } = metadata.getAllSensitiveMetadata();
commandStartOptions && await metadata.addSensitiveMetadata(() => ({
commandStartOptions: {
...commandStartOptions,
endTime: (/* @__PURE__ */ new Date()).getTime()
}
}));
let { postrun: deprecationsHook } = await import("./deprecations-37ZUNG4Z.js");
deprecationsHook(Command);
let { outputDebug } = await import("./output-2RGSJNA6.js"), command = Command.id.replace(/:/g, " ");
outputDebug(`Completed command ${command}`), !command.includes("notifications") && !command.includes("upgrade") && !command.includes("send-analytics") && await autoUpgradeIfNeeded();
let { reportAnalyticsEvent } = await import("./analytics-CVOS4X5D.js");
await reportAnalyticsEvent({ config, exitMode: "ok" }), postRunHookCompleted = !0;
};
async function autoUpgradeIfNeeded() {
let { versionToAutoUpgrade, warnIfUpgradeAvailable } = await import("./upgrade-QE6OI6PW.js"), newerVersion = versionToAutoUpgrade();
if (!newerVersion) {
await warnIfUpgradeAvailable();
return;
}
if (process.env.SHOPIFY_CLI_FORCE_AUTO_UPGRADE === "1")
await performAutoUpgrade(newerVersion);
else {
let { runAtMinimumInterval } = await import("./conf-store-NT7HUXZL.js");
await runAtMinimumInterval("auto-upgrade", { days: 1 }, async () => {
await performAutoUpgrade(newerVersion);
});
}
}
async function performAutoUpgrade(newerVersion) {
let [{ CLI_KIT_VERSION }, { isMajorVersionChange }, { outputWarn, outputDebug }, { getOutputUpdateCLIReminder, runCLIUpgrade, hasBlockingAutoUpgradeNotification }, metadata] = await Promise.all([
import("./version-AALUTWIR.js"),
import("./version-6CVFB4SF.js"),
import("./output-2RGSJNA6.js"),
import("./upgrade-QE6OI6PW.js"),
import("./metadata-4WOIDT2F.js")
]);
if (isMajorVersionChange(CLI_KIT_VERSION, newerVersion)) {
outputWarn(getOutputUpdateCLIReminder(newerVersion, !0)), await metadata.addPublicMetadata(() => ({
env_auto_upgrade_skipped_reason: "major_version"
}));
return;
}
if (await hasBlockingAutoUpgradeNotification()) {
await metadata.addPublicMetadata(() => ({
env_auto_upgrade_skipped_reason: "blocked_by_notification"
}));
return;
}
try {
await runCLIUpgrade({ autoupgrade: !0 }), await metadata.addPublicMetadata(() => ({ env_auto_upgrade_success: !0 }));
} catch (error) {
let errorMessage = `Auto-upgrade failed: ${error}`;
outputDebug(errorMessage), outputWarn(getOutputUpdateCLIReminder(newerVersion)), await metadata.addPublicMetadata(() => ({ env_auto_upgrade_success: !1 }));
let [{ sendErrorToBugsnag }, { inferPackageManagerForGlobalCLI }] = await Promise.all([
import("./error-handler-GGBOXL7F.js"),
import("./is-global-DL3ZQWOO.js")
]), enrichedError = Object.assign(new Error(errorMessage), {
packageManager: inferPackageManagerForGlobalCLI(),
platform: process.platform,
cliVersion: CLI_KIT_VERSION
});
await sendErrorToBugsnag(enrichedError, "expected_error");
}
}
async function detectStopCommand(commandClass) {
let currentTime = (/* @__PURE__ */ new Date()).getTime();
if (commandClass && "analyticsStopCommand" in commandClass && typeof commandClass.analyticsStopCommand == "function") {
let stopCommand = commandClass.analyticsStopCommand();
if (stopCommand) {
let metadata = await import("./metadata-4WOIDT2F.js"), { commandStartOptions } = metadata.getAllSensitiveMetadata();
if (!commandStartOptions)
return;
await metadata.addSensitiveMetadata(() => ({
commandStartOptions: {
...commandStartOptions,
startTime: currentTime,
startCommand: stopCommand
}
}));
}
}
}
export {
waitForPostRunHookAndExit,
hook
};
//# sourceMappingURL=chunk-A67PO4UO.js.map