インストール#
Ovellum は単一の npm パッケージ(ovellum)として提供されます。これはビルド時の CLI であり、
ランタイムのバンドルには何も追加しません。
必要条件#
- Node.js 20 以降。 Node 18 は 2025年4月にサポート終了を迎えました。私たちは これをサポートしません。
- TypeScript または JavaScript のプロジェクト。 Ovellum はどちらでも動作します。
マニュアルモードでは
tsconfig.jsonは不要です。
プロジェクトへの追加#
pnpm#
pnpm add -D ovellum
npm#
npm install --save-dev ovellum
yarn#
yarn add --dev ovellum
bun#
bun add -d ovellum
インストールせずに使う#
Ovellum を依存関係としてコミットしたくない場合は、npx を介して実行できます:
npx ovellum build
最初の呼び出しでパッケージがダウンロードされ、キャッシュされます。以降の実行では
キャッシュが再利用されます。これは一度きりの生成には便利ですが、パッケージマネージャーが
実行ごとに再解決しなければならないため、CI を遅くします。繰り返しビルドする場合は、
--save-dev でのインストールを推奨します。
グローバルインストール#
プロジェクトローカルの依存関係(上記)を推奨します。プロジェクトごとにバージョンを固定でき、
CI ビルドの再現性を保てます。とはいえ、ovellum コマンドをどこでも使えるようにしたい場合
(スキャフォールディングや一度きりのビルドに便利)は、グローバルにインストールしてください:
npm install -g ovellum
# or:
pnpm add -g ovellum
yarn global add ovellum
bun add -g ovellum
その後は npx なしで直接実行できます:
ovellum --version
ovellum build
グローバルインストールは、すべてのプロジェクトに対して単一のバージョンを PATH に置きます。
2つのプロジェクトで異なるバージョンが必要な場合は、それぞれが自分のバージョンを固定できるよう、
代わりにプロジェクトローカルのインストールを使ってください。(どちらの場合も Node 20 以降です。)
インストールの確認#
インストール後、次を実行します:
npx ovellum build --help # project-local; for a global install, drop `npx`
build サブコマンドの概要が表示されるはずです。「command not found」と表示される場合は、
インストールしたプロジェクト内にいることと、パッケージマネージャーのバイナリが PATH に
あることを確認してください(pnpm では追加で pnpm setup が必要なことがあります)。
アップグレード#
組み込みコマンドが npm で最新リリースを確認し、お使いのパッケージマネージャーで 再インストールします:
ovellum upgrade # プロジェクト内から → プロジェクトのローカルコピーをアップグレード
upgrade は、ローカル依存を見つけたら必ずそちらを対象にします — カレントディレクトリの
package.json が ovellum を宣言していれば(あるいは既に node_modules にあれば)、
グローバルバイナリで呼び出した場合でも、プロジェクトに対して … add -D ovellum@latest を
実行します。そうしたプロジェクトの外にいるときだけ、グローバルインストールにフォールバック
します。どちらを更新しようとしているかは表示されます:
Update available: 0.10.0 → 0.10.1 (this project's local dependency).
Run `pnpm add -D ovellum@latest`?
パッケージマネージャーはプロジェクトのロックファイル(pnpm-lock.yaml、yarn.lock など)
から判定されるので、pnpm プロジェクトは素のグローバルバイナリからでも pnpm で
アップグレードされます。--dry-run でプレビューしたり、--yes で確認をスキップしたり
できます。(upgrade リファレンスを参照してください。)
また Ovellum は、より新しいバージョンが存在するとき、コマンドの実行後に
「update available」 の通知を一行で表示します(キャッシュされます。設定で
update: { check: false } を指定すると無効化できます)。
手動でアップグレードする#
パッケージマネージャーを自分で実行したい場合は、明示的に @latest を
インストールしてください:
pnpm add -D ovellum@latest
# or: npm install -D ovellum@latest · yarn add -D ovellum@latest · bun add -d ovellum@latest
なぜ
npm updateではなく@latestなのか? Ovellum はまだ 1.0 より前であり、 キャレット範囲 —"ovellum": "^0.9.0"、インストーラーがデフォルトで書き込むもの — は0.xバージョンでは>=0.9.0 <0.10.0を意味します。つまりマイナーを固定するのです。 そのためnpm update ovellum/pnpm update ovellumは0.9.xのパッチは取得しますが、0.10.0には上げてくれません。ovellum@latestをインストールすると範囲が書き換えられ、 最新リリースを取得できます。(ovellum upgradeはこれを代わりに行います。)
グローバルインストールの場合は、インストールしたときと同じ方法でアップグレードします:
npm install -g ovellum@latest(自分のパッケージマネージャーに置き換えてください)。
グローバル vs. プロジェクトローカル#
ovellum upgrade は宣言されたローカル依存を優先するため、かつての落とし穴 — 素の
ovellum upgrade がプロジェクトを固定したままグローバルインストールだけをこっそり
更新してしまう — は、通常のプロジェクト内ではもう起きません。判定は単純で、「このディレクトリの
package.json は ovellum に言及しているか?」だけです。言及していれば、プロジェクトが
優先されます。
知っておくべきエッジケースが 2 つあります:
- 依存が宣言されていないプロジェクト。 ディレクトリの
package.jsonにovellumが なく、node_modulesにもない場合、upgradeはグローバルインストールとして扱います。 先にプロジェクトへ追加(npm install -D ovellum)してから再実行してください。 - 本当にグローバルを更新したい場合。 Ovellum プロジェクトではないディレクトリから
upgradeを実行するか、手動でインストールしてください:npm install -g ovellum@latest。
どちらのコピーを使っているか確認するには:
grep ovellum package.json # プロジェクトが固定している範囲
npx ovellum --version # `npx` はローカルコピーを実行
CI へプッシュする? 更新した
package.jsonとロックファイル (package-lock.json/pnpm-lock.yaml/yarn.lock/bun.lock)の両方をコミット してください。npm ciのような CI ステップはロックファイルから厳密にインストールするため、 ロックファイルが古いまたは存在しないと、CI は古い Ovellum でビルドする(または不一致で 失敗する)ことになります。
Ovellum は semver に従います。1.0 より前のリリースでは、マイナーバージョンでも 破壊的変更が含まれることがあります。バージョンを上げる前に リリースノートを確認してください。
アンインストール#
pnpm remove ovellum
出力ディレクトリ(dist/、docs/、または output で指定した場所)はあなたのものです。
Ovellum をアンインストールしても、それは手つかずのまま残ります。準備ができたときに
いつでも手動で削除できます。