Skip to content

Commit f8ef446

Browse files
committed
chore: migrate minimist to cac
1 parent 4ef2e1d commit f8ef446

File tree

4 files changed

+18
-37
lines changed

4 files changed

+18
-37
lines changed

packages/cli/package.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,9 @@
4343
"dependencies": {
4444
"@shikijs/vscode-textmate": "catalog:prod",
4545
"ansis": "catalog:prod",
46-
"minimist": "catalog:prod",
46+
"cac": "catalog:prod",
4747
"shiki": "workspace:*"
4848
},
4949
"devDependencies": {
50-
"@types/minimist": "catalog:types"
5150
}
5251
}

packages/cli/src/cli.ts

+15-10
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,29 @@ import type { BundledLanguage } from 'shiki'
22
import fs from 'node:fs/promises'
33
import { parse } from 'node:path'
44
import process from 'node:process'
5-
import minimist from 'minimist'
5+
import cac from 'cac'
6+
import { version } from '../package.json'
67
import { codeToANSI } from './code-to-ansi'
78

89
export async function run(
9-
argv = process.argv.slice(2),
10+
argv = process.argv,
1011
log = console.log,
1112
): Promise<void> {
12-
const options = minimist(argv)
13-
const {
14-
theme = 'vitesse-dark',
15-
lang = undefined,
16-
_: files = [],
17-
} = options
13+
const cli = cac('shiki')
14+
15+
cli
16+
.option('--theme <theme>', 'Color theme to use', { default: 'vitesse-dark' })
17+
.option('--lang <lang>', 'Programming language')
18+
.help()
19+
.version(version)
20+
21+
const { options, args } = cli.parse(argv)
22+
const files = args
1823

1924
const codes = await Promise.all(files.map(async (path) => {
2025
const content = await fs.readFile(path, 'utf-8')
21-
const ext = lang || parse(path).ext.slice(1)
22-
return await codeToANSI(content, ext as BundledLanguage, theme)
26+
const ext = options.lang || parse(path).ext.slice(1)
27+
return await codeToANSI(content, ext as BundledLanguage, options.theme)
2328
}))
2429

2530
for (const code of codes)

pnpm-lock.yaml

+2-22
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pnpm-workspace.yaml

-3
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,6 @@ catalogs:
8686
'@shikijs/vscode-textmate': ^10.0.2
8787
ansis: ^3.17.0
8888
cac: ^6.7.14
89-
# TODO: replace this with cac
90-
minimist: ^1.2.8
9189
oniguruma-to-es: ^4.1.0
9290

9391
testing:
@@ -106,7 +104,6 @@ catalogs:
106104
'@types/js-yaml': ^4.0.9
107105
'@types/markdown-it': ^14.1.2
108106
'@types/mdast': ^4.0.4
109-
'@types/minimist': ^1.2.5
110107
'@types/node': ^22.13.10
111108
'@types/unist': ^3.0.3
112109

0 commit comments

Comments
 (0)