-
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
cc674db
commit 777dbf5
Showing
15 changed files
with
249 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
6 changes: 1 addition & 5 deletions
6
docs/content/project-setup.md → docs/content/concepts/index.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# コマンドラインインターフェイス | ||
|
||
::: tip このページのゴール | ||
✅ Viteのコマンドラインインターフェースが担う責任を理解しましょう | ||
::: | ||
|
||
開発者は2種類の方法でViteを使用できます。ひとつは[JavaScript API](https://ja.vitejs.dev/guide/api-javascript.html)で、もうひとつは[コマンドラインインターフェース](https://ja.vitejs.dev/guide/cli.html)(以下、Vite CLIまたは単にCLIと表記します)です。 | ||
|
||
JavaScript APIではプリミティブなレベルでViteを使うことができ、Viteを使ったフレームワークの開発や複雑なビルドプロセスの実装をおこなうことができます。 | ||
|
||
一方、ほとんどのアプリケーション開発者はCLIを通してViteを使うだけで事足ります。実際のところ、ViteのCLIはJavaScript APIのラッパーでありユーティリティです。 | ||
|
||
## Vite CLIの責任 | ||
|
||
Vite CLI自体はほとんど処理をおこなっていません。コマンドライン引数を処理して、JavaScript APIを呼び出すだけです。 | ||
|
||
コマンドライン引数の処理は、[cac](https://github.com/cacjs/cac)によって実現されています。 | ||
|
||
::: info `vite.js` について | ||
実は `vite` コマンドはcacを直接呼び出すのではなく、`vite.js` を呼び出してパフォーマンス計測やデバッグのためのセットアップをおこないます。 | ||
|
||
chibiviteでもViteにならい `chibivite.js` を作成しますが、パフォーマンス計測機能やデバック機能は実装しません。 | ||
::: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# 開発サーバー | ||
|
||
TBD |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# Viteの構成要素 | ||
|
||
Viteの開発者体験は非常に洗練されているため、開発者がViteを使うときに、その内部実装を意識する必要はほとんどありません。 | ||
|
||
このことから、Viteが難解な技術と複雑な実装によって実現されていると考えるかもしれません。しかし、実際にViteを細かく分解していくと、ひとつひとつの構成要素は既存の技術の応用であることがわかります。 | ||
|
||
この章でViteを実現している構成要素ひとつひとつを理解し、chibiviteを実装するための知識を獲得しましょう。 | ||
|
||
- [コマンドラインインターフェイス](/ja/concepts/command-line-interface) | ||
- [開発サーバー](/ja/concepts/dev-server) | ||
- [プレビューサーバー](/ja/concepts/preview-server) | ||
- [プラグインコンテナー](/ja/concepts/plugin-container) | ||
- [モジュールグラフ](/ja/concepts/module-graph) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# モジュールグラフ | ||
|
||
TBD |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# プラグインコンテナー | ||
|
||
TBD |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# プレビューサーバー | ||
|
||
TBD |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# ビルドのセットアップ | ||
|
||
::: tip このページのゴール | ||
✅ chibiviteの[コマンドラインインターフェース](/ja/concepts/command-line-interface)にコマンドを追加しましょう | ||
|
||
✅ chibiviteをRollupでビルドするための設定を整えましょう | ||
::: | ||
|
||
--- | ||
|
||
まずは、必要な依存をインストールします。 | ||
|
||
```bash | ||
cd packages/chibivite | ||
``` | ||
|
||
```bash | ||
pnpm install --dev cac | ||
``` | ||
|
||
::: info なぜ `--dev/-D` フラグが必要か | ||
上記のコマンドでは、cacは `package.json` の `devDependencies` に追加されます。 | ||
|
||
chibiviteはcacに依存しているので `pnpm install cac` を実行して `package.json` の `dependencies` に追加したくなるかもしれません。 | ||
|
||
しかし、実はViteでもcacは `devDependencies` に追加されており `pnpm install vite` を実行してもcacはインストールされません。 | ||
それでもVite CLIが実行できるのは、cacのソースコードがViteのコードの一部としてバンドルされているためです。 | ||
|
||
Viteは可能な限り `devDependencies` に依存を追加し、Viteの一部としてビルドしています。詳しくは[Viteコントリビューションガイド](https://github.com/vitejs/vite/blob/main/CONTRIBUTING.md#notes-on-dependencies)を参照してください。 | ||
::: | ||
|
||
--- | ||
|
||
--- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
# Hello, chibivite! | ||
|
||
::: tip このページのゴール | ||
✅ chibiviteのパッケージ[コマンドラインインターフェース](/ja/concepts/command-line-interface)を実装しましょう | ||
::: | ||
|
||
さあ、chibiviteの実装をはじめましょう! | ||
|
||
このハンズオンでは、最初にコマンドラインインターフェース(以下、chibivite CLIまたは単にCLIと表記します)を実装します。 | ||
|
||
--- | ||
|
||
まず、chibivite CLIの実体として `packages/chibivite/bin/chibivite.js` を作成して、以下のコードをコピーしましょう。 | ||
|
||
```js | ||
#!/usr/bin/env node | ||
|
||
function start() { | ||
console.log('Hello, chibivite!') | ||
} | ||
|
||
start() | ||
``` | ||
|
||
chibiviteをパッケージマネージャーでインストールした開発者がこのファイルを実行できるようにするため、`package.json` に以下の内容を設定しましょう。 | ||
|
||
```json | ||
{ | ||
"name": "chibivite", | ||
"private": true, | ||
"version": "0.0.0", | ||
"type": "module", | ||
"sideEffects": false, | ||
"engines": { | ||
"node": ">=20.12.0" | ||
}, | ||
"packageManager": "[email protected]", | ||
"bin": "bin/chibivite.js", // [!code ++] | ||
"scripts": {}, | ||
"dependencies": {}, | ||
"devDependencies": {} | ||
} | ||
``` | ||
|
||
これで、chibiviteをインストールした開発者は `package.json` の `scripts` フィールドで `chibivite` コマンドを利用できるようになりました。 | ||
|
||
--- | ||
|
||
では、実際に `chibivite` コマンドが使えることを確かめましょう。 | ||
|
||
モノレポにchibiviteをインストールして使うパッケージを追加しましょう。ここでは `playground` という名前のパッケージを `pnpm-workspace.yaml` に追加しましょう。 | ||
|
||
```yaml | ||
packages: | ||
- packages/* | ||
- playground // [!code ++] | ||
``` | ||
つぎに `playground/package.json` を作成して、以下のコードをコピーしましょう。 | ||
|
||
```json | ||
{ | ||
"name": "playground", | ||
"private": true, | ||
"version": "0.0.0", | ||
"type": "module", | ||
"sideEffects": false, | ||
"scripts": {}, | ||
"devDependencies": { | ||
"chibivite": "workspace:*" | ||
} | ||
} | ||
``` | ||
|
||
プロジェクトルートまたはいずれかのパッケージルートで以下のコマンドを実行し、依存関係を解決しましょう。 | ||
|
||
```bash | ||
pnpm install | ||
``` | ||
|
||
`playground` ディレクトリに `node_modules` ディレクトリが作成されれば成功です。 | ||
|
||
::: details `node_modules` の中身 | ||
|
||
- `node_modules/.bin/chibivite` | ||
|
||
`pnpm exec chibivite` で実行されるファイルで、内部で `chibivite/bin/chibivite.js` を実行します。 | ||
|
||
- `node_modules/chibivite` | ||
|
||
`packages/chibivite` へのシンボリックリンクです。 | ||
|
||
::: | ||
|
||
インストールしたchibiviteパッケージのコマンドを実行するためのnpm scriptを追加しましょう。 | ||
|
||
```json | ||
{ | ||
"name": "playground", | ||
"private": true, | ||
"version": "0.0.0", | ||
"type": "module", | ||
"sideEffects": false, | ||
"scripts": {}, // [!code --] | ||
"scripts": { | ||
// [!code ++] | ||
"dev": "chibivite" // [!code ++] | ||
}, // [!code ++] | ||
"devDependencies": { | ||
"chibivite": "workspace:*" | ||
} | ||
} | ||
``` | ||
|
||
`playground` ディレクトリで以下のコマンドを実行しましょう。ターミナルに `Hello, chibivite!` と表示されれば成功です。 | ||
|
||
```bash | ||
pnpm run dev | ||
``` | ||
|
||
--- | ||
|
||
おめでとうございます、これでchibiviteパッケージをインストールして `chibivite` コマンドを利用できるようになりました!🎉 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# ハンズオン | ||
|
||
TBD |
6 changes: 5 additions & 1 deletion
6
docs/content/ja/project-setup.md → docs/content/ja/hands-on/project-setup.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
14 changes: 4 additions & 10 deletions
14
docs/content/ja/tools.md → docs/content/ja/hands-on/tool-setup.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters