genを実際に読んでみようと思います。
検証方法
デバッグ方法をついでに書こうと思ったら、いい具合にいい記事が合ったので紹介。
vscodeでやる方法もあります。
cli.ts
cliを叩くところから
/lib/cli.js examples -Do --port 9000 --library glamorous
最初にmeow
が動いて、
const cli = meow(helpMessage, options)
入力された設定の読み込み、
// cliから入力された第一引数をlocalDirnameに格納, なければcliを叩いた位置
const [localDirname = process.cwd()] = cli.input
// https://github.com/sindresorhus/read-pkg-up
// localDirnameから最も近い位置にあるpackage.jsonをreadする
const userPkg = readPkgUp.sync({ cwd: localDirname }) || {}
// ここに型を当てておいたほうが良さそう
const localOpts = {
// https://github.com/sindresorhus/dot-prop
// . でobjectを探索
...dot.get(userPkg, 'pkg.gen'),
// meowで定義したoptionsを展開
...cli.flags,
// 出力ディレクトリを指定
outDir: path.join(process.cwd(), cli.flags.outDir || ''),
}
dev-serverかhtmlの生成か
if (localOpts.dev) {
// 開発サーバーの立ち上げ
server(localDirname, localOpts)
} else {
// 静的サイトの生成
create(localDirname, localOpts)
}
ざっくりとこんな感じ。
依存Package
ざっくりと5つ
- https://github.com/sindresorhus/meow
- https://github.com/sindresorhus/dot-prop
- https://github.com/sindresorhus/meow
- https://github.com/sindresorhus/opn
- https://github.com/sindresorhus/read-pkg-up
ん?同じ作者 ... !
にゃー
寝よう