UNPKG

convex

Version:

Client for the Convex Cloud

89 lines (88 loc) 2.38 kB
"use strict"; import chalk from "chalk"; import ora from "ora"; import { Command, Option } from "commander"; import { getUrlAndAdminKey } from "./lib/api.js"; import { validateOrSelectProject, validateOrSelectTeam } from "./lib/utils.js"; import { configName, pullConfig, readProjectConfig, writeProjectConfig } from "./lib/config.js"; import { oneoffContext } from "./lib/context.js"; import { doCodegen } from "./lib/codegen.js"; export const reinit = new Command("reinit").description( "Reinitialize a Convex project in the local directory if you've lost your convex.json file" ).addOption( new Option( "--team <team_slug>", "The identifier of the team the project belongs to." ) ).addOption( new Option( "--project <project_slug>", "The identifier of the project you'd like to reinitialize." ) ).action(async (options) => { const ctx = oneoffContext; const configFn = configName(); if (ctx.fs.exists(configFn)) { console.error(chalk.red(`File "${configFn}" already exists.`)); console.error( "If you'd like to regenerate it, delete the file and rerun `npx convex reinit`" ); return await ctx.fatalError(1, "fs"); } const teamSlug = await validateOrSelectTeam( ctx, options.team, "Choose which team the project belongs to:" ); const projectSlug = await validateOrSelectProject( ctx, options.project, teamSlug, "Reinitialize project:", "Choose which project to reinitialize:" ); if (!projectSlug) { console.log("Aborted"); return; } const spinner = ctx.spinner = ora({ text: `Reinitializing project ${projectSlug}... `, stream: process.stdout }).start(); const { url, adminKey } = await getUrlAndAdminKey( ctx, projectSlug, teamSlug, "prod" ); { const { projectConfig: projectConfig2 } = await pullConfig( ctx, projectSlug, teamSlug, url, adminKey ); await writeProjectConfig(ctx, projectConfig2); } const { projectConfig, configPath } = await readProjectConfig(ctx); await doCodegen({ ctx, projectConfig, configPath, typeCheckMode: "disable", quiet: true }); spinner.succeed(`Successfully reinitialized ${projectSlug}!`); console.log( "Configuration settings have been written to", chalk.bold(configFn) ); }); //# sourceMappingURL=reinit.js.map