@shopify/create-app
Version:
A CLI tool to create a new Shopify app.
56 lines (53 loc) • 1.73 kB
JavaScript
import {
captureOutput,
require_lib
} from "./chunk-TGZSJFOF.js";
import {
require_semver
} from "./chunk-OQ3KXXGH.js";
import {
__toESM,
init_cjs_shims
} from "./chunk-3XNI6LP4.js";
// ../cli-kit/dist/public/node/version.js
init_cjs_shims();
var import_which = __toESM(require_lib(), 1), import_semver = __toESM(require_semver(), 1);
async function localCLIVersion(directory) {
try {
return (await captureOutput("npm", ["list", "@shopify/cli"], { cwd: directory })).match(/@shopify\/cli@([\w.-]*)/)?.[1];
} catch {
return;
}
}
async function globalCLIVersion() {
try {
let env = { ...process.env, SHOPIFY_CLI_NO_ANALYTICS: "1" }, shopifyBinaries = import_which.default.sync("shopify", { all: !0 }).filter((path) => !path.includes("node_modules"));
if (!shopifyBinaries[0])
return;
let versionMatch = (await captureOutput(shopifyBinaries[0], [], { env })).match(/@shopify\/cli\/([^\s]+)/);
if (versionMatch && versionMatch[1]) {
let version = versionMatch[1];
if ((0, import_semver.satisfies)(version, ">=3.59.0") || isPreReleaseVersion(version))
return version;
}
return;
} catch {
return;
}
}
function isPreReleaseVersion(version) {
return version.startsWith("0.0.0");
}
function isMajorVersionChange(currentVersion, newerVersion) {
if (isPreReleaseVersion(currentVersion) || isPreReleaseVersion(newerVersion))
return !1;
let currentSemVer = new import_semver.SemVer(currentVersion), newerSemVer = new import_semver.SemVer(newerVersion);
return currentSemVer.major !== newerSemVer.major;
}
export {
localCLIVersion,
globalCLIVersion,
isPreReleaseVersion,
isMajorVersionChange
};
//# sourceMappingURL=chunk-XYNOPL42.js.map