Skip to content

Commit 93bafa4

Browse files
authored
style(all): 表記揺れを修正 (#124)
* style(textlint): 漢字の開きについての表記揺れルールを追加 https://github.com/vvakame/prh/blob/master/misc/techbooster.yml ベース * style(all): 表記揺れを修正 > $(npm bin)/summary-to-path | xargs $(npm bin)/textlint --experimental --fix -f diff close #122 * chore(CONTRIBUTING): new issueの内容をシンプルに * style(CONTRIBUTING): であるを削除 * chore(prh): 改行を追加 * chore(prh): 余分なルールを削除
1 parent 1260b62 commit 93bafa4

10 files changed

Lines changed: 254 additions & 88 deletions

File tree

CONTRIBUTING.md

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
### 表示の確認
1616

17-
`npm start`でGitBookのローカルサーバを立ち上げて表示を確認出来ます
17+
`npm start`でGitBookのローカルサーバを立ち上げて表示を確認できます
1818

1919
npm start
2020

@@ -34,7 +34,7 @@
3434

3535
![coverage graph](https://codecov.io/github/azu/JavaScript-Plugin-Architecture/branch.svg?branch=master)
3636

37-
現在の文章カバレッジは以下のコマンドでも確認することができます
37+
現在の文章カバレッジは次のコマンドでも確認することができます
3838

3939
```
4040
npm run textlint:coverage
@@ -54,21 +54,21 @@ typoなどを見つけた場合は、1文字の修正からでも問題無いの
5454
表記揺れを発見した場合は単純にIssueを立ててもらうか、Pull Requestでの修正をいただけると嬉しいです。
5555

5656
また、この書籍では[test/prh-rule.yaml](test/prh-rule.yaml)で定義した辞書を使い表記揺れを辞書でテストできるようにしています。
57-
辞書による表記揺れの検知が可能そうであるなら、そちらも合わせてご指摘いただけるとありがたいです。
57+
辞書による表記揺れの検知が可能なら、そちらも合わせてご指摘いただけるとありがたいです。
5858

5959
- [textlint + prhで表記ゆれを検出する | Web Scratch](http://efcl.info/2015/09/14/textlint-rule-prh/ "textlint + prhで表記ゆれを検出する | Web Scratch")
6060

61+
```
6162
## Proposalの書き方
6263
6364
Proposalとは、書籍に載せたいプラグインアーキテクチャについてのIssueを立てることを言います。
6465
65-
例えば、XXXというライブラリ/ツールのアーキテクチャについてのIssueを立てる場合、
66-
以下のような事が1行とかでもいいので書かれていれば参考になります
66+
たとえば、XXXというライブラリ/ツールのアーキテクチャについてのIssueを立てる場合、
67+
次のようなことが1行とかでもいいので書かれていれば参考になります
6768
6869
仕組みについて調べるのが大変な場合は飛ばしても問題ありません。
6970
JavaScriptはとにかく柔軟な言語なので、こういうプラグインの形式を取ってるというのを知らせるだけでも有用だと思います。
7071
71-
```
7272
# XXXのアーキテクチャ
7373
7474
## どう書ける?
@@ -81,40 +81,39 @@ JavaScriptはとにかく柔軟な言語なので、こういうプラグイン
8181
- その機構のコードへのリンク
8282
- その仕組みやプラグインについてドキュメントへのリンク
8383
84-
## どういう事に向いている?
84+
## どういうことに向いている?
8585
8686
- どういう用途で使われてる(ユースケース)
87-
- 変換する毎にファイルとして吐き出さないので、高速に複数の変換をするのに向いている 等
87+
- 変換する毎にファイルとして吐き出さないので、高速に複数の変換をするのに向いている等
8888
89-
## どういう事に向いていない?
89+
## どういうことに向いていない?
9090
91-
- 変換の仕組み上書き換え等を行うプラグインを扱いにくい 等
91+
- 変換の仕組み上書き換え等を行うプラグインを扱いにくい等
9292
93-
## この仕組みを使ってるもの
93+
## この仕組みを使っているもの
9494
95-
- XXX以外にも同様の仕組みを使ってるものがあるなら
95+
- XXX以外にも同様の仕組みを使っているものがあるなら
9696
9797
----
9898
9999
## チェックリスト
100100
101101
- [ ] どう書ける?
102102
- [ ] どういう仕組み?
103-
- [ ] どういう事に向いている?
104-
- [ ] どういう事に向いていない?
103+
- [ ] どういうことに向いている?
104+
- [ ] どういうことに向いていない?
105105
- [ ] この仕組みを使っているもの
106106
- [ ] 実装してみよう
107107
- [ ] エコシステム
108-
109108
```
110109

111-
以下からこのテンプレートで使ったIssueを立てることが出来ます
110+
以下からこのテンプレートで使ったIssueを立てることができます
112111

113-
- [新しいProposalを書く](https://github.com/azu/JavaScript-Plugin-Architecture/issues/new?title=XXX&body=%23+XXX%E3%81%AE%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3%0D%0AURL%3A+%0D%0A%0D%0A%23%23+%E3%81%A9%E3%81%86%E6%9B%B8%E3%81%91%E3%82%8B%3F%0D%0A%0D%0A%23%23+%E3%81%A9%E3%81%86%E3%81%84%E3%81%86%E4%BB%95%E7%B5%84%E3%81%BF%3F%0D%0A%0D%0A%23%23+%E3%81%A9%E3%81%86%E3%81%84%E3%81%86%E4%BA%8B%E3%81%AB%E5%90%91%E3%81%84%E3%81%A6%E3%82%8B%3F%0D%0A%0D%0A%23%23+%E3%81%93%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%8B%E3%82%82%E3%81%AE%0D%0A)
112+
- [新しいProposalを書く](https://github.com/azu/JavaScript-Plugin-Architecture/issues/new?title=Proposal:XXX&body=%23+XXXのアーキテクチャ%0D%0AURL%3A)
114113

115114
### Proposalの具体例
116115

117-
現在ある[Proposal一覧](https://github.com/azu/JavaScript-Plugin-Architecture/labels/proposal)を参考にしてみると良いかもしれません
116+
現在ある[Proposal一覧](https://github.com/azu/JavaScript-Plugin-Architecture/labels/proposal)を参考にしてみるとよいかもしれません
118117

119118
- [jQuery Plugin · Issue #8 · azu/JavaScript-Plugin-Architecture](https://github.com/azu/JavaScript-Plugin-Architecture/issues/8 "jQuery Plugin · Issue #8 · azu/JavaScript-Plugin-Architecture")
120119

@@ -134,7 +133,7 @@ AngularJSのGit Commit Guidelinesをベースとしています。
134133

135134
- [conventional-changelog/angular.md at master · ajoslin/conventional-changelog](https://github.com/ajoslin/conventional-changelog/blob/master/conventions/angular.md "conventional-changelog/angular.md at master · ajoslin/conventional-changelog")
136135

137-
以下のような形で1行目に概要、3行目から本文、最後に関連するIssue(任意)を書きます。
136+
次のような形で1行目に概要、3行目から本文、最後に関連するIssue(任意)を書きます。
138137

139138
```
140139
feat(ngInclude): add template url parameter to events
@@ -163,7 +162,7 @@ Closes #8454
163162
issues Closes #8454
164163
```
165164

166-
1行の`feat``fix`といったcommit typeは、迷ったらとりあえず`chore`と書いて、`scope`も省略して問題ないので以下のような形でも問題ありません
165+
1行の`feat``fix`といったcommit typeは、迷ったらとりあえず`chore`と書いて、`scope`も省略して問題ないので次のような形でも問題ありません
167166

168167
```
169168
chore: コミットメッセージ
@@ -172,7 +171,7 @@ chore: コミットメッセージ
172171
このコミットメッセージの規約は[conventional-changelog](https://github.com/ajoslin/conventional-changelog "conventional-changelog")による自動生成のためでもありますが、
173172
取り込むときに調整できるので無視してもらっても問題はありません。
174173

175-
以下を見てみると良いかもしれません
174+
以下を見てみるとよいかもしれません
176175

177176
- [良いChangeLog、良くないChangeLog | Web Scratch](http://efcl.info/2015/06/18/good-changelog/ "良いChangeLog、良くないChangeLog | Web Scratch")
178177
- [われわれは、いかにして変更点を追うか](http://azu.github.io/slide/cto/changelog.html "われわれは、いかにして変更点を追うか")

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# JavaScript Plugin Architecture [![Build Status](https://travis-ci.org/azu/JavaScript-Plugin-Architecture.svg?branch=master)](https://travis-ci.org/azu/JavaScript-Plugin-Architecture)
22

3-
この書籍はJavaScriptのライブラリやツールにおけるプラグインアーキテクチャについて見ていく事を目的としたものです
3+
この書籍はJavaScriptのライブラリやツールにおけるプラグインアーキテクチャについて見ていくことを目的としたものです
44

5-
以下の形式で読むことができます
5+
次の形式で読むことができます
66

77
- [Web版](https://azu.gitbooks.io/javascript-plugin-architecture/content/)
88
- [PDF形式](https://www.gitbook.com/download/pdf/book/azu/javascript-plugin-architecture)
@@ -27,7 +27,7 @@ Twitterのハッシュタグは[#js_plugin_book](https://twitter.com/search?f=tw
2727

2828
JavaScriptの世界では1つの大きなライブラリよりも小さいなものを組み合わせていくようなスタイルが多く見られます。
2929
小さなものを組み合わせて作るためには、プラグインと呼ばれる拡張の仕組みが必要となります。
30-
またそのようなプラグインがたくさんあるエコシステムの土台を作るには、プラグインアーキテクチャが重要になると言えます
30+
またそのようなプラグインがたくさんあるエコシステムの土台を作るには、プラグインアーキテクチャが重要になるといえます
3131

3232
> ソフトウェアの構造に「プラグイン機構」を設け、ユーザコミュニティから開発者コミュニティへの質的な転換を図るのは、ソフトウェア設計からエコシステム設計へとつながる
3333
> -- [OSS開発の活発さの維持と良いソフトウェア設計の間には緊張関係があるのだろうか? - t-wadaのブログ](http://t-wada.hatenablog.jp/entry/active-oss-development-vs-simplicity "OSS開発の活発さの維持と良いソフトウェア設計の間には緊張関係があるのだろうか? - t-wadaのブログ")
@@ -73,7 +73,7 @@ Pull Request、コミットのやりかたなどが書かれています。
7373

7474
間違いやライブラリのアップデートへの追従など何かあれば、IssueやPull Requestをよろしくお願いします。
7575

76-
ソースコードは全てGitHubに公開されています
76+
ソースコードはすべてGitHubに公開されています
7777

7878
- [azu/JavaScript-Plugin-Architecture](https://github.com/azu/JavaScript-Plugin-Architecture)
7979

SUMMARY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@
66
* [Connect](ja/connect/README.md)
77
* [gulp](ja/gulp/README.md)
88
* [Redux](ja/Redux/README.md)
9+
* [CONTRIBUTING](./CONTRIBUTING.md)

ja/ESLint/README.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
大まかな動作としては、検証したいJavaScriptのコードをパースしてできたAST(抽象構文木)をルールで検証し、エラーや警告を出力します。
88

9-
このルールがプラグインとして書くことができ、ESLintの全てのルールはプラグインとして実装されています
9+
このルールがプラグインとして書くことができ、ESLintのすべてのルールはプラグインとして実装されています
1010

1111
> The pluggable linting utility for JavaScript and JSX
1212
@@ -21,21 +21,21 @@ ESLintでは`.eslintrc`という設定ファイルに利用するルールの設
2121

2222
- [Documentation - ESLint - Pluggable JavaScript linter](http://eslint.org/docs/user-guide/configuring "Documentation - ESLint - Pluggable JavaScript linter")
2323

24-
ESLintにおけるルールとは、以下のような関数をexportしたモジュールです
24+
ESLintにおけるルールとは、次のような関数をexportしたモジュールです
2525
関数には`context`オブジェクトが渡されるので、それに対して1つのオブジェクトを返すようにします。
2626

2727
[import, no-console.js](../../src/ESLint/no-console.js)
2828

2929
ESLintではコードを文字列ではなくASTを元にチェックしていきます。
3030
ASTについてはここでは詳細を省きますが、コードをJavaScriptのオブジェクトで表現した木構造のデータだと思えば問題ないと思います。
3131

32-
例えば
32+
たとえば
3333

3434
```js
3535
console.log("Hello!");
3636
```
3737

38-
というコードをパースしてASTにすると以下のようなオブジェクトとして取得できます
38+
というコードをパースしてASTにすると次のようなオブジェクトとして取得できます
3939

4040
```json
4141
{
@@ -81,7 +81,7 @@ ESLintではこのASTを使って、[no-console.js](#no-console.js)のように`
8181
このオブジェクトはNodeのtypeをキーとしたメソッドを持っています。
8282
そして、ASTを探索しながら「`"MemberExpression"` typeのNodeに到達した」と登録したルールに対して通知(メソッド呼び出し)を繰り返しています。
8383

84-
先ほどの`console.log`のASTにおける`MemberExpression` typeのNodeとは以下のオブジェクトのことを言います
84+
先ほどの`console.log`のASTにおける`MemberExpression` typeのNodeとは次のオブジェクトのことを言います
8585

8686
```json
8787
{
@@ -101,7 +101,7 @@ ESLintではこのASTを使って、[no-console.js](#no-console.js)のように`
101101
[no-console.js](#no-console.js)のルールを見ると`MemberExpression` typeのNodeが `node.object.name === "console"` となった場合に、
102102
`console`が残ってると判断してエラーレポートすると読めてくると思います。
103103

104-
ASTの探索がイメージしにくい場合は以下のルールで探索の動作を見てみると分かりやすいかもしれません
104+
ASTの探索がイメージしにくい場合は次のルールで探索の動作を見てみると分かりやすいかもしれません
105105

106106
- [azu.github.io/visualize_estraverse/](http://azu.github.io/visualize_estraverse/ "visualize estraverse step")
107107

@@ -118,7 +118,7 @@ debug("Hello");
118118
<p>動画を再生するには、webmまたはmp4をサポートしたブラウザが必要です。</p>
119119
</video>
120120

121-
その他、ESLintのルールの書き方についてはドキュメントや以下の記事を見てみるといいでしょう
121+
その他、ESLintのルールの書き方についてはドキュメントや次の記事を見てみるといいでしょう
122122

123123
- [Documentation - ESLint - Pluggable JavaScript linter](http://eslint.org/docs/developer-guide/working-with-rules "Documentation - ESLint - Pluggable JavaScript linter")
124124
- [コードのバグはコードで見つけよう!|サイバーエージェント 公式エンジニアブログ](http://ameblo.jp/principia-ca/entry-11837554210.html "コードのバグはコードで見つけよう!|サイバーエージェント 公式エンジニアブログ")
@@ -139,7 +139,7 @@ ESLintのLintは次のような3つの手順で行われています。
139139
このイベントの登録と発火にはEventEmitterを使い、
140140
ESLint本体に対してルールは複数あるので、典型的なPub/Subパターンとなっています。
141141

142-
擬似的なコードで表現すると以下のような流れでLintの処理が行われています
142+
擬似的なコードで表現すると次のような流れでLintの処理が行われています
143143

144144
```js
145145
import {parse} from "esprima";
@@ -197,7 +197,7 @@ Pub/Subパターンを上手く使うことで、ASTを走査するのが一度
197197

198198
### MyLinter
199199

200-
MyLinterは単純な2つのメソッドを持つクラスとして実装しました
200+
MyLinterは単純な2つのメソッドをもつクラスとして実装しました
201201

202202
- `MyLinter#loadRule(rule): void`
203203
- 利用するルールを登録する処理
@@ -206,7 +206,7 @@ MyLinterは単純な2つのメソッドを持つクラスとして実装しま
206206
- `code`を受け取りルールによってLintした結果を返す
207207
- Lint結果はエラーメッセージの配列とする
208208

209-
実装したものが以下のようになっています
209+
実装したものが次のようになっています
210210

211211
[import, src/ESLint/MyLinter.js](../../src/ESLint/MyLinter.js)
212212

@@ -224,7 +224,7 @@ add(1, 3);
224224

225225
[import, src/ESLint/MyLinter-example.js](../../src/ESLint/MyLinter-example.js)
226226

227-
コードには`console`という名前のオブジェクトが含まれているので、 _"Unexpected console statement."_ というエラーメッセージが取得出来ました
227+
コードには`console`という名前のオブジェクトが含まれているので、 _"Unexpected console statement."_ というエラーメッセージが取得できました
228228

229229
### RuleContext
230230

@@ -248,7 +248,7 @@ ESLintのように与えられたコードを読み取ってチェックする
248248
つまり、read-onlyなプラグインアーキテクチャとしてはパフォーマンスも期待できると思います。
249249

250250
また、ルールは `context` という与えられたものだけを使うようになっているため、ルールと本体が密結合にはなりにくいです。
251-
そのため`context`に何を与えるかを決める事で、ルールが行える範囲を制御しやすいと言えます
251+
そのため`context`に何を与えるかを決めることで、ルールが行える範囲を制御しやすいといえます
252252

253253
## どういう用途に向いていない?
254254

@@ -293,15 +293,15 @@ ESLint公式の設定として`eslint:recommended`が用意されています。
293293
設定なしで使えると一番楽ですが、設定なしだと誰でも使えるツールにするのは難しいです。
294294
それを解消するために柔軟な設定のしくみと設定を共有しやすくしています。
295295

296-
これは_The pluggable linting utility_を表現している仕組みと言えるかもしれません
296+
これは_The pluggable linting utility_を表現している仕組みといえるかもしれません
297297

298298
## まとめ
299299

300300
ここではESLintのプラグインアーキテクチャについて学びました。
301301

302302
- ESLintはJavaScriptでルールを書ける
303303
- ASTの木構造を走査しながらPub/Subパターンでチェックする
304-
- ルールは`context`を受け取る以外は本体の実装の詳細を知らなくて良い
304+
- ルールは`context`を受け取る以外は本体の実装の詳細を知らなくてよい
305305
- ルールがread-onlyだと簡単で効率的
306306
- read-writeとする場合は気を付ける必要がある
307307
- 設定をJavaScriptで表現できる

0 commit comments

Comments
 (0)