Skip to content

Commit 125238f

Browse files
authored
Merge pull request #53 from reactjs/update/textlint
Update textlint
2 parents 30c79a4 + 0b96a80 commit 125238f

File tree

5 files changed

+66
-7
lines changed

5 files changed

+66
-7
lines changed

lint-staged.config.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
module.exports = {
2-
'*.md': ['textlint --rulesdir textlint/rules'],
2+
linters: {
3+
'*.md': ['textlint --rulesdir textlint/rules'],
4+
},
5+
ignore: ['textlint/fixtures/*'],
36
};

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,8 @@
8686
"prettier": "yarn format:source && yarn format:examples",
8787
"prettier:diff": "yarn nit:source && yarn nit:examples",
8888
"reset": "rimraf ./.cache",
89-
"test:textlint": "mocha textlint/tests/**/*.spec.js"
89+
"test:textlint": "mocha textlint/tests/**/*.spec.js",
90+
"test:textlint-cli": "textlint --rulesdir textlint/rules textlint/fixtures/*.md --format stylish"
9091
},
9192
"devDependencies": {
9293
"@babel/preset-flow": "^7.0.0",

textlint/fixtures/terminology.md

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Terminology Fixtures
2+
3+
> Markdown for verifying textlint CLI result
4+
5+
- 메서드
6+
- 서드파티와 써드파티와 써드 파티
7+
- 예제
8+
- 응용프로그램과 어플리케이션
9+
- 함수형 컴포넌트
10+
- 라이프사이클

textlint/rules/terminology.js

+25-3
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,35 @@ const g = args => args.map(arg => new RegExp(arg, 'g'));
4242
*/
4343
const terms = [
4444
{
45+
// http://www.korean.go.kr/front/onlineQna/onlineQnaView.do?mn_id=61&qna_seq=11976
4546
value: '메서드',
4647
expressions: [//, //],
4748
message: 'method는 메서드가 올바른 표현입니다',
4849
},
4950
{
50-
value: '서드파티',
51-
expressions: [//],
52-
message: 'third party는 서드파티가 올바른 표현입니다',
51+
// https://opendict.korean.go.kr/dictionary/view?sense_no=1251028
52+
value: '서드 파티',
53+
expressions: [//, //, / /],
54+
message: 'third party는 서드 파티가 올바른 표현입니다',
55+
},
56+
{
57+
value: '예시',
58+
expressions: [//],
59+
message: 'example은 예시로 표현합니다.',
60+
},
61+
{
62+
value: '애플리케이션',
63+
expressions: [//, //],
64+
message: 'application은 애플리케이션으로 표현합니다.',
65+
},
66+
{
67+
value: '함수 컴포넌트',
68+
expressions: [/ /],
69+
message: 'function(al) component는 함수 컴포넌트로 표현합니다.',
70+
},
71+
{
72+
value: '생명주기',
73+
expressions: [//],
74+
message: 'life cycle은 생명주기로 표현합니다.',
5375
},
5476
].map(term => ({...term, expressions: g(term.expressions)}));

textlint/tests/terminology.spec.js

+25-2
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,37 @@ const rule = require('../rules/terminology');
44
const tester = new TextLintTester();
55

66
tester.run('terminology', rule, {
7-
valid: ['메서드', '서드파티'],
7+
valid: [
8+
'메서드',
9+
'서드 파티',
10+
'예시',
11+
'애플리케이션',
12+
'함수 컴포넌트',
13+
'생명주기',
14+
],
815
invalid: [
916
{
1017
text: '한 문장에 연속하는 용어 메소드와 메소드와 메쏘드를 테스트합니다.',
1118
errors: [{index: 14}, {index: 19}, {index: 24}],
1219
},
1320
{
14-
text: '써드파티',
21+
text: '서드파티와 써드파티와 써드 파티',
22+
errors: [{index: 0}, {index: 6}, {index: 12}],
23+
},
24+
{
25+
text: '예제',
26+
errors: [{index: 0}],
27+
},
28+
{
29+
text: '응용프로그램과 어플리케이션',
30+
errors: [{index: 0}, {index: 8}],
31+
},
32+
{
33+
text: '함수형 컴포넌트',
34+
errors: [{index: 0}],
35+
},
36+
{
37+
text: '라이프사이클',
1538
errors: [{index: 0}],
1639
},
1740
],

0 commit comments

Comments
 (0)