Skip to content

Commit 995fb20

Browse files
committed
chore: ensure packageManagerOptions remains up-to-date
1 parent 24a2df2 commit 995fb20

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

src/commands/init.ts

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,20 @@ import { x } from 'tinyexec'
1313
import { logger } from '../utils/logger'
1414
import { cwdArgs } from './_shared'
1515

16-
const DEFAULT_REGISTRY
17-
= 'https://raw.githubusercontent.com/nuxt/starter/templates/templates'
16+
const DEFAULT_REGISTRY = 'https://raw.githubusercontent.com/nuxt/starter/templates/templates'
1817
const DEFAULT_TEMPLATE_NAME = 'v3'
1918

19+
const pms: Record<PackageManagerName, undefined> = {
20+
npm: undefined,
21+
pnpm: undefined,
22+
yarn: undefined,
23+
bun: undefined,
24+
deno: undefined,
25+
}
26+
27+
// this is for type safety to prompt updating code in nuxi when nypm adds a new package manager
28+
export const packageManagerOptions = Object.keys(pms) as PackageManagerName[]
29+
2030
export default defineCommand({
2131
meta: {
2232
name: 'init',
@@ -134,17 +144,8 @@ export default defineCommand({
134144
}
135145

136146
// Resolve package manager
137-
const packageManagerOptions: PackageManagerName[] = [
138-
'npm',
139-
'pnpm',
140-
'yarn',
141-
'bun',
142-
'deno',
143-
]
144147
const packageManagerArg = ctx.args.packageManager as PackageManagerName
145-
const selectedPackageManager = packageManagerOptions.includes(
146-
packageManagerArg,
147-
)
148+
const selectedPackageManager = packageManagerOptions.includes(packageManagerArg)
148149
? packageManagerArg
149150
: await logger.prompt('Which package manager would you like to use?', {
150151
type: 'select',

0 commit comments

Comments
 (0)