Skip to content

Commit f677744

Browse files
committed
update
1 parent a01ede5 commit f677744

16 files changed

+275
-63
lines changed

docs/.vuepress/components/eslint-code-block.vue

+6
Original file line numberDiff line numberDiff line change
@@ -174,10 +174,16 @@ export default {
174174
setFileContents(
175175
this.$resourceGroup ? this.$resourceGroup.getFileContents() : {}
176176
)
177+
},
178+
lint() {
179+
this.$refs.editor.lint()
177180
}
178181
},
179182
180183
async mounted() {
184+
if (this.$resourceGroup) {
185+
this.$resourceGroup.addEditor(this)
186+
}
181187
this.code = `${this.computeCodeFromSlot(this.$slots.default).trim()}\n`
182188
this.$refs.editor.$watch('monaco', monaco => {
183189
monaco.languages.register({ id: 'yaml' })

docs/.vuepress/components/resource-group.vue

+16-1
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,32 @@
88
import Vue from 'vue'
99
export default {
1010
provide() {
11+
let waitSeq = 0
1112
const data = Vue.observable({ fileContents: {} })
13+
const editors = new Set()
1214
return {
1315
$resourceGroup: {
14-
set(fileName, code) {
16+
async set(fileName, code) {
1517
Vue.set(data.fileContents, fileName, code)
18+
19+
const timeSeq = ++waitSeq
20+
await Vue.nextTick()
21+
if (timeSeq !== waitSeq) {
22+
return
23+
}
24+
25+
for (const editor of editors) {
26+
editor.lint()
27+
}
1628
},
1729
getFileContents() {
1830
return data.fileContents
1931
},
2032
getFiles() {
2133
return Object.keys(data.fileContents)
34+
},
35+
addEditor(editor) {
36+
editors.add(editor)
2237
}
2338
}
2439
}

docs/rules/key-format-style.md

+8
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
---
2+
title: @intlify/vue-i18n/key-format-style
3+
description: enforce specific casing for localization keys
4+
---
15
# @intlify/vue-i18n/key-format-style
26

37
> enforce specific casing for localization keys
@@ -147,3 +151,7 @@ app-title: I18N Management System
147151

148152
</eslint-code-block>
149153

154+
## :mag: Implementation
155+
156+
- [Rule source](https://github.com/intlify/eslint-plugin-vue-i18n/blob/master/lib/rules/key-format-style.ts)
157+
- [Test source](https://github.com/intlify/eslint-plugin-vue-i18n/tree/master/tests/lib/rules/key-format-style.ts)

docs/rules/no-duplicate-keys-in-locale.md

+9
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
---
2+
title: @intlify/vue-i18n/no-duplicate-keys-in-locale
3+
description: disallow duplicate localization keys within the same locale
4+
---
15
# @intlify/vue-i18n/no-duplicate-keys-in-locale
26

37
> disallow duplicate localization keys within the same locale
@@ -102,3 +106,8 @@ locale messages:
102106
## :couple: Related Rules
103107

104108
- [@intlify/vue-i18n/no-missing-keys-in-other-locales](./no-missing-keys-in-other-locales.md)
109+
110+
## :mag: Implementation
111+
112+
- [Rule source](https://github.com/intlify/eslint-plugin-vue-i18n/blob/master/lib/rules/no-duplicate-keys-in-locale.ts)
113+
- [Test source](https://github.com/intlify/eslint-plugin-vue-i18n/tree/master/tests/lib/rules/no-duplicate-keys-in-locale.ts)

docs/rules/no-dynamic-keys.md

+8
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
---
2+
title: @intlify/vue-i18n/no-dynamic-keys
3+
description: disallow localization dynamic keys at localization methods
4+
---
15
# @intlify/vue-i18n/no-dynamic-keys
26

37
> disallow localization dynamic keys at localization methods
@@ -135,3 +139,7 @@ i18n.t('hello')
135139

136140
</eslint-code-block>
137141

142+
## :mag: Implementation
143+
144+
- [Rule source](https://github.com/intlify/eslint-plugin-vue-i18n/blob/master/lib/rules/no-dynamic-keys.ts)
145+
- [Test source](https://github.com/intlify/eslint-plugin-vue-i18n/tree/master/tests/lib/rules/no-dynamic-keys.ts)

docs/rules/no-html-messages.md

+9
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
---
2+
title: @intlify/vue-i18n/no-html-messages
3+
description: disallow use HTML localization messages
4+
---
15
# @intlify/vue-i18n/no-html-messages
26

37
> disallow use HTML localization messages
@@ -144,3 +148,8 @@ If you are certain the localization message is trusted, you can disable this rul
144148

145149
- [XSS in Vue.js](https://blog.sqreen.io/xss-in-vue-js/)
146150
- [Analysis of a Supply Chain Attack](https://medium.com/@hkparker/analysis-of-a-supply-chain-attack-2bd8fa8286ac)
151+
152+
## :mag: Implementation
153+
154+
- [Rule source](https://github.com/intlify/eslint-plugin-vue-i18n/blob/master/lib/rules/no-html-messages.ts)
155+
- [Test source](https://github.com/intlify/eslint-plugin-vue-i18n/tree/master/tests/lib/rules/no-html-messages.ts)

docs/rules/no-missing-keys-in-other-locales.md

+9
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
---
2+
title: @intlify/vue-i18n/no-missing-keys-in-other-locales
3+
description: disallow missing locale message keys in other locales
4+
---
15
# @intlify/vue-i18n/no-missing-keys-in-other-locales
26

37
> disallow missing locale message keys in other locales
@@ -80,3 +84,8 @@ locale messages:
8084

8185
- [@intlify/vue-i18n/no-duplicate-keys-in-locale](./no-duplicate-keys-in-locale.md)
8286
- [@intlify/vue-i18n/no-missing-keys](./no-missing-keys.md)
87+
88+
## :mag: Implementation
89+
90+
- [Rule source](https://github.com/intlify/eslint-plugin-vue-i18n/blob/master/lib/rules/no-missing-keys-in-other-locales.ts)
91+
- [Test source](https://github.com/intlify/eslint-plugin-vue-i18n/tree/master/tests/lib/rules/no-missing-keys-in-other-locales.ts)

docs/rules/no-missing-keys.md

+9
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
---
2+
title: @intlify/vue-i18n/no-missing-keys
3+
description: disallow missing locale message key at localization methods
4+
---
15
# @intlify/vue-i18n/no-missing-keys
26

37
> disallow missing locale message key at localization methods
@@ -164,3 +168,8 @@ For SFC.
164168

165169
- [@intlify/vue-i18n/no-missing-keys-in-other-locales](./no-missing-keys-in-other-locales.md)
166170
- [@intlify/vue-i18n/no-unused-keys](./no-unused-keys.md)
171+
172+
## :mag: Implementation
173+
174+
- [Rule source](https://github.com/intlify/eslint-plugin-vue-i18n/blob/master/lib/rules/no-missing-keys.ts)
175+
- [Test source](https://github.com/intlify/eslint-plugin-vue-i18n/tree/master/tests/lib/rules/no-missing-keys.ts)

docs/rules/no-raw-text.md

+9
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
---
2+
title: @intlify/vue-i18n/no-raw-text
3+
description: disallow to string literal in template or JSX
4+
---
15
# @intlify/vue-i18n/no-raw-text
26

37
> disallow to string literal in template or JSX
@@ -125,3 +129,8 @@ export default {
125129
- `ignoreNodes`: specify nodes to ignore such as icon components
126130
- `ignorePattern`: specify a regexp pattern that matches strings to ignore
127131
- `ignoreText`: specify an array of strings to ignore
132+
133+
## :mag: Implementation
134+
135+
- [Rule source](https://github.com/intlify/eslint-plugin-vue-i18n/blob/master/lib/rules/no-raw-text.ts)
136+
- [Test source](https://github.com/intlify/eslint-plugin-vue-i18n/tree/master/tests/lib/rules/no-raw-text.ts)

docs/rules/no-unused-keys.md

+9
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
---
2+
title: @intlify/vue-i18n/no-unused-keys
3+
description: disallow unused localization keys
4+
---
15
# @intlify/vue-i18n/no-unused-keys
26

37
> disallow unused localization keys
@@ -159,3 +163,8 @@ i18n.t('hi')
159163
## :couple: Related Rules
160164

161165
- [@intlify/vue-i18n/no-missing-keys-in-other-locales](./no-missing-keys-in-other-locales.md)
166+
167+
## :mag: Implementation
168+
169+
- [Rule source](https://github.com/intlify/eslint-plugin-vue-i18n/blob/master/lib/rules/no-unused-keys.ts)
170+
- [Test source](https://github.com/intlify/eslint-plugin-vue-i18n/tree/master/tests/lib/rules/no-unused-keys.ts)

docs/rules/no-v-html.md

+9
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
---
2+
title: @intlify/vue-i18n/no-v-html
3+
description: disallow use of localization methods on v-html to prevent XSS attack
4+
---
15
# @intlify/vue-i18n/no-v-html
26

37
> disallow use of localization methods on v-html to prevent XSS attack
@@ -77,3 +81,8 @@ If you are certain the content passed to `v-html` is trusted HTML you can disabl
7781
## :books: Further reading
7882

7983
- [XSS in Vue.js](https://blog.sqreen.io/xss-in-vue-js/)
84+
85+
## :mag: Implementation
86+
87+
- [Rule source](https://github.com/intlify/eslint-plugin-vue-i18n/blob/master/lib/rules/no-v-html.ts)
88+
- [Test source](https://github.com/intlify/eslint-plugin-vue-i18n/tree/master/tests/lib/rules/no-v-html.ts)

docs/rules/prefer-linked-key-with-paren.md

+8
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
---
2+
title: @intlify/vue-i18n/prefer-linked-key-with-paren
3+
description: enforce linked key to be enclosed in parentheses
4+
---
15
# @intlify/vue-i18n/prefer-linked-key-with-paren
26

37
> enforce linked key to be enclosed in parentheses
@@ -57,3 +61,7 @@ locale messages (for vue-i18n v8):
5761

5862
</eslint-code-block>
5963

64+
## :mag: Implementation
65+
66+
- [Rule source](https://github.com/intlify/eslint-plugin-vue-i18n/blob/master/lib/rules/prefer-linked-key-with-paren.ts)
67+
- [Test source](https://github.com/intlify/eslint-plugin-vue-i18n/tree/master/tests/lib/rules/prefer-linked-key-with-paren.ts)

docs/rules/valid-message-syntax.md

+9
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
---
2+
title: @intlify/vue-i18n/valid-message-syntax
3+
description: disallow invalid message syntax
4+
---
15
# @intlify/vue-i18n/valid-message-syntax
26

37
> disallow invalid message syntax
@@ -44,3 +48,8 @@ This rule is useful localization leaks with incorrect message syntax.
4448
## :couple: Related Rules
4549

4650
- [@intlify/vue-i18n/no-html-messages](./no-html-messages.md)
51+
52+
## :mag: Implementation
53+
54+
- [Rule source](https://github.com/intlify/eslint-plugin-vue-i18n/blob/master/lib/rules/valid-message-syntax.ts)
55+
- [Test source](https://github.com/intlify/eslint-plugin-vue-i18n/tree/master/tests/lib/rules/valid-message-syntax.ts)

scripts/update-docs-headers.ts

-61
This file was deleted.

0 commit comments

Comments
 (0)