Skip to content

Commit b5e96d3

Browse files
authored
Merge pull request #2 from zenn-dev/feat-monorepo-info
feat: zenn-editor のドキュメントを新しい Monorepo 環境に対応させました
2 parents 83e462c + 0af2bfb commit b5e96d3

File tree

6 files changed

+62
-26
lines changed

6 files changed

+62
-26
lines changed

docs/guides/zenn-editor/index.md

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,56 @@ zenn-editor リポジトリで管理されているパッケージの開発ガ
44

55
## セットアップ
66

7-
zenn-editor リポジトリは [lerna](https://github.com/lerna/lerna) によるモノレポ構成です。
7+
zenn-editor リポジトリは [pnpm](https://pnpm.io/ja/) + [Turborepo](https://turbo.build/repo) + [lerna-lite](https://github.com/lerna-lite/lerna-lite) によるモノレポ構成です。
88

99
それぞれのプロジェクトは `./packages` に配置されています。
1010

11-
リポジトリをクローンし、プロジェクトルートで `yarn install` を実行することで、`./packages` にある全てのプロジェクトの依存モジュールがインストールされます。
11+
リポジトリをクローンし、プロジェクトルートで `pnpm install` を実行することで、`./packages` にある全てのプロジェクトの依存モジュールがインストールされます。
1212

1313
```shell
1414
$ git clone https://github.com/zenn-dev/zenn-editor.git
15-
$ yarn install
15+
$ pnpm install
1616
```
1717

18-
同様に、テストやビルドもプロジェクトのルートで `yarn test``yarn build` を実行することで、`./packages` にある全てのプロジェクトに対して行うことができます。これは依存するモジュールに対するテストや動作確認をしたい時に便利です。
18+
:::caution
19+
上記のコマンドを実行するには、事前に pnpm のインストールが必要です。<br />
20+
インストール方法: https://pnpm.io/ja/installation
21+
:::
22+
23+
24+
同様に、テストやビルドもプロジェクトのルートで `pnpm test``pnpm build` を実行することで、`./packages` にある全てのプロジェクトに対して行うことができます。これは依存するモジュールに対するテストや動作確認をしたい時に便利です。
1925

2026
## ブランチ
2127

2228
- `canary`: 開発用のブランチです。通常は`canary`ブランチから新しいブランチを切って、PRで`canary`ブランチにマージします。マージされると、`X.Y.Z-alpha.0`のようなバージョンが自動的にリリースされます。
2329
- `main`: リリース用のブランチです。通常は`canary`ブランチから`main`ブランチにマージします。マージされると、`X.Y.Z`のようなバージョンが自動的にリリースされます。
30+
31+
32+
## Monorepo で使用しているライブラリ
33+
34+
zenn-editor では以下のライブラリを使用して、Monorepo 環境を構築しています。
35+
36+
### pnpm
37+
38+
**公式サイト:** https://pnpm.io/ja/
39+
40+
npm、yarn などと同じパッケージマネージャーです。
41+
シンボリックリンクを利用した独自構成で node_modules を管理することにより、高速で安全なパッケージ管理を可能とします。
42+
zenn-editor では、workspace 機能によって Monorepo のパッケージを管理しています。
43+
44+
45+
### Turborepo
46+
47+
**公式サイト:** https://turbo.build/repo
48+
49+
管理している workspace を依存関係を考慮してコマンドを実行するツールです。
50+
zenn-editor では、ビルドやテストなどを実行する時に使用しています。
51+
52+
53+
### lerna-lite
54+
55+
**公式サイト:** https://github.com/lerna-lite/lerna-lite
56+
57+
[lerna](https://lerna.js.org/) から `version``publish` 機能だけを抜き出したバージョン管理ツールです。
58+
基本的な使い方は lerna と一緒ですが、多くの Monorepo 機能はデフォルトでは含まれていないことに注意してください。
59+
zenn-editor では、workspace をリリースする際に使用しています。

docs/guides/zenn-editor/zenn-cli.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,27 +22,27 @@ zenn-cli は記事や本のテンプレートを作成するコマンドツー
2222

2323
## 開発環境
2424

25-
`yarn dev` を実行することでクライアントとサーバーが起動します。クライアントは [vite](https://vitejs.dev/) でホスティングされ、サーバーはExpressサーバーを [nodemon](https://nodemon.io/) で監視することで、ホットリロードを実現します。
25+
`pnpm dev` を実行することでクライアントとサーバーが起動します。クライアントは [vite](https://vitejs.dev/) でホスティングされ、サーバーはExpressサーバーを [nodemon](https://nodemon.io/) で監視することで、ホットリロードを実現します。
2626

2727
### その他のコマンドを開発環境で動かす
2828

29-
`yarn build` でビルドを実行したうえで、`yarn zenn **` コマンドを実行します。
29+
`pnpm build` でビルドを実行したうえで、`pnpm zenn **` コマンドを実行します。
3030

3131
```shell
32-
$ yarn build
33-
$ yarn zenn # = npx zenn
34-
$ yarn zenn preview # = npx zenn preview (.mdの変更に伴うホットリロードも有効になります)
35-
$ yarn zenn new:article --slug foo-bar-baz-qux # = npx zenn new:article --slug foo-bar-baz-qux
36-
$ yarn zenn new:book --slug foo-bar-baz-qux # = npx zenn new:book --slug foo-bar-baz-qux
37-
$ yarn zenn --help # = npx zenn --help
32+
$ pnpm build
33+
$ pnpm zenn # = npx zenn
34+
$ pnpm zenn preview # = npx zenn preview (.mdの変更に伴うホットリロードも有効になります)
35+
$ pnpm zenn new:article --slug foo-bar-baz-qux # = npx zenn new:article --slug foo-bar-baz-qux
36+
$ pnpm zenn new:book --slug foo-bar-baz-qux # = npx zenn new:book --slug foo-bar-baz-qux
37+
$ pnpm zenn --help # = npx zenn --help
3838
```
3939

4040
## ビルド
4141

42-
`yarn build``./dist` に生成されたファイルをnpmのリリース時に含めるようにします。( `package.json``files` に指定)
42+
`pnpm build``./dist` に生成されたファイルをnpmのリリース時に含めるようにします。( `package.json``files` に指定)
4343

4444
```shell
45-
$ yarn build
45+
$ pnpm build
4646
```
4747

4848
### webpackの使用について
@@ -57,8 +57,8 @@ zenn-cli では、依存関係(package.json の dependencies)を無くすた
5757

5858
## テスト
5959

60-
`yarn test` で実行します。
60+
`pnpm test` で実行します。
6161

6262
## lint
6363

64-
`yarn lint:fix` で実行します。
64+
`pnpm lint:fix` で実行します。

docs/guides/zenn-editor/zenn-content-css.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ zenn-content-css は、 zenn-markdown-html で markdown から変換された HT
1616

1717
## 開発環境
1818

19-
`yarn dev` を実行することで、変更を検出して自動的に `./lib/index.css` にビルドファイルが生成されます。
19+
`pnpm dev` を実行することで、変更を検出して自動的に `./lib/index.css` にビルドファイルが生成されます。
2020

2121
## ビルド
2222

23-
`yarn build` で実行します。
23+
`pnpm build` で実行します。
2424

2525
## テスト
2626

docs/guides/zenn-editor/zenn-embed-elements.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,12 +132,12 @@ zenn-embed-elements で変換された HTML:
132132

133133
## ビルド
134134

135-
`yarn build` で実行します。
135+
`pnpm build` で実行します。
136136

137137
## テスト
138138

139139
未実装。
140140

141141
## lint
142142

143-
`yarn lint:fix` で実行します。
143+
`pnpm lint:fix` で実行します。

docs/guides/zenn-editor/zenn-markdown-html.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,19 +56,19 @@ zenn-markdown-html は、Zenn独自の記法を含む markdown を HTML に変
5656

5757
## ビルド
5858

59-
`yarn build` で実行します。
59+
`pnpm build` で実行します。
6060

6161
### Babelの使用について
6262

6363
zenn-markdown-html では、`PrismJS` の言語プラグインを予め全て読み込むために `babel-plugin-prismjs` を使用しているため、ソースコードのビルドには `babel` を使用し、型ファイル(*.d.ts)のビルドには `tsc` を使用してビルドしています。
6464

6565
## テスト
6666

67-
`yarn test` で実行します。
67+
`pnpm test` で実行します。
6868

6969
## lint
7070

71-
`yarn lint:fix` で実行します。
71+
`pnpm lint:fix` で実行します。
7272

7373
## 開発方針
7474

docs/guides/zenn-editor/zenn-validator.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@
1212

1313
## ビルド
1414

15-
`yarn build` で実行します。
15+
`pnpm build` で実行します。
1616

1717
## テスト
1818

19-
`yarn test` で実行します。
19+
`pnpm test` で実行します。
2020

2121
## lint
2222

23-
`yarn lint:fix` で実行します。
23+
`pnpm lint:fix` で実行します。

0 commit comments

Comments
 (0)