UNPKG

vercel

Version:

The command-line interface for Vercel

91 lines (88 loc) 2.75 kB
import { createRequire as __createRequire } from 'node:module'; import { fileURLToPath as __fileURLToPath } from 'node:url'; import { dirname as __dirname_ } from 'node:path'; const require = __createRequire(import.meta.url); const __filename = __fileURLToPath(import.meta.url); const __dirname = __dirname_(__filename); import { VERCEL_DIR, VERCEL_DIR_PROJECT, require_lib } from "./chunk-X775BOSL.js"; import { require_dist } from "./chunk-ZQKJVHXY.js"; import { __toESM } from "./chunk-TZ2YI2VH.js"; // src/util/projects/project-settings.ts var import_fs_extra = __toESM(require_lib(), 1); import { join } from "path"; var import_error_utils = __toESM(require_dist(), 1); async function writeProjectSettings(cwd, project, org, isRepoLinked) { let analyticsId; if (project.analytics?.id && (!project.analytics.disabledAt || project.analytics.enabledAt && project.analytics.enabledAt > project.analytics.disabledAt)) { analyticsId = project.analytics.id; } const projectLinkAndSettings = { projectId: isRepoLinked ? void 0 : project.id, orgId: isRepoLinked ? void 0 : org.id, projectName: isRepoLinked ? void 0 : project.name, settings: { createdAt: project.createdAt, framework: project.framework, devCommand: project.devCommand, installCommand: project.installCommand, buildCommand: project.buildCommand, outputDirectory: project.outputDirectory, rootDirectory: project.rootDirectory, directoryListing: project.directoryListing, nodeVersion: project.nodeVersion, analyticsId } }; const path = join(cwd, VERCEL_DIR, VERCEL_DIR_PROJECT); return await (0, import_fs_extra.outputJSON)(path, projectLinkAndSettings, { spaces: 2 }); } async function readProjectSettings(vercelDir) { try { return JSON.parse( await (0, import_fs_extra.readFile)(join(vercelDir, VERCEL_DIR_PROJECT), "utf8") ); } catch (err) { if ((0, import_error_utils.isErrnoException)(err) && err.code && ["ENOENT", "ENOTDIR"].includes(err.code)) { return null; } if ((0, import_error_utils.isError)(err) && err.name === "SyntaxError") { return null; } throw err; } } function pickOverrides(vercelConfig) { const overrides = {}; for (const prop of [ "buildCommand", "devCommand", "framework", "ignoreCommand", "installCommand", "outputDirectory" ]) { if (typeof vercelConfig[prop] !== "undefined") { if (prop === "ignoreCommand") { overrides.commandForIgnoringBuildStep = vercelConfig[prop]; } else { overrides[prop] = vercelConfig[prop]; } } } return overrides; } export { writeProjectSettings, readProjectSettings, pickOverrides };