Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions packages/cli/src/commands/setup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import * as setupJobs from './setup/jobs/jobs.js'
import * as setupMailer from './setup/mailer/mailer.js'
import * as setupMiddleware from './setup/middleware/middleware.js'
import * as setupMonitoring from './setup/monitoring/monitoring.js'
import * as setupNeon from './setup/neon/neon.js'
// @ts-expect-error - Types not available for JS files
import * as setupPackage from './setup/package/package.js'
// @ts-expect-error - Types not available for JS files
Expand Down Expand Up @@ -55,6 +56,7 @@ export const builder = (yargs: Argv) =>
.command(setupMiddleware)
// @ts-expect-error - Yargs TS types aren't very good
.command(setupMonitoring)
.command(setupNeon)
.command(setupPackage)
.command(setupRealtime)
.command(setupServerFile)
Expand Down
30 changes: 30 additions & 0 deletions packages/cli/src/commands/setup/neon/neon.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import type { Argv } from 'yargs'

import { recordTelemetryAttributes } from '@cedarjs/cli-helpers'

export const command = 'neon'
export const description =
'Provision a Neon Postgres database and configure your project'

export function builder(yargs: Argv) {
return yargs.option('force', {
alias: 'f',
default: false,
description: 'Overwrite existing DATABASE_URL in .env',
type: 'boolean',
})
}

export interface Args {
force: boolean
}

export async function handler({ force }: Args) {
recordTelemetryAttributes({
command: 'setup neon',
force,
})

const { handler } = await import('./neonHandler.js')
return handler({ force })
}
Loading
Loading