mirror of
https://github.com/djdevin/recflare.git
synced 2026-09-10 07:31:27 -07:00
Initial commit
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
import { Command } from '@commander-js/extra-typings'
|
||||
|
||||
import { getRepoRoot } from '../path'
|
||||
|
||||
export const devCmd = new Command('dev')
|
||||
.description(
|
||||
'Run development server for Workers projects, etc. Use --runx-help to see all options.'
|
||||
)
|
||||
.argument(
|
||||
'[args...]',
|
||||
'Arguments to pass to the dev script. May need to use -- to pass options to the dev script.'
|
||||
)
|
||||
.allowUnknownOption()
|
||||
// allow passing --help to the dev script
|
||||
.helpOption('--runx-help')
|
||||
.action(async (args) => {
|
||||
const cwd = process.cwd()
|
||||
const repoRoot = getRepoRoot()
|
||||
const isRepoRoot = cwd === repoRoot
|
||||
|
||||
const [hasDevScript, hasWranglerJsonc] = await Promise.all([
|
||||
fs
|
||||
.readJson('./package.json')
|
||||
.then((packageJson) => packageJson.scripts?.dev !== undefined)
|
||||
.catch(() => {
|
||||
return false
|
||||
}),
|
||||
fs.pathExists('./wrangler.jsonc'),
|
||||
])
|
||||
|
||||
$.stdio = 'inherit'
|
||||
|
||||
if (!isRepoRoot && (hasWranglerJsonc || hasDevScript)) {
|
||||
await $`pnpm dev ${args}`
|
||||
} else {
|
||||
const argsWithSeparator = args.length > 0 ? ['--', ...args] : args
|
||||
await $`pnpm turbo dev ${argsWithSeparator}`
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user