Skip to content

Commit c4b20ca

Browse files
add rule template
1 parent 9b55f3c commit c4b20ca

File tree

3 files changed

+121
-0
lines changed

3 files changed

+121
-0
lines changed
+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
pageClass: rule-details
3+
sidebarDepth: 0
4+
title: vue/force-types-on-object-props
5+
description: xxx
6+
---
7+
# vue/force-types-on-object-props
8+
9+
> xxx
10+
11+
- :exclamation: <badge text="This rule has not been released yet." vertical="middle" type="error"> ***This rule has not been released yet.*** </badge>
12+
13+
## :book: Rule Details
14+
15+
This rule ....
16+
17+
<eslint-code-block :rules="{'vue/force-types-on-object-props': ['error']}">
18+
19+
```vue
20+
<template>
21+
22+
</template>
23+
```
24+
25+
</eslint-code-block>
26+
27+
## :wrench: Options
28+
29+
Nothing.
30+
+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
/**
2+
* @author *****your name*****
3+
* See LICENSE file in root directory for full license.
4+
*/
5+
'use strict'
6+
7+
// ------------------------------------------------------------------------------
8+
// Requirements
9+
// ------------------------------------------------------------------------------
10+
11+
const utils = require('../utils')
12+
13+
// ------------------------------------------------------------------------------
14+
// Helpers
15+
// ------------------------------------------------------------------------------
16+
17+
// ...
18+
19+
// ------------------------------------------------------------------------------
20+
// Rule Definition
21+
// ------------------------------------------------------------------------------
22+
23+
module.exports = {
24+
meta: {
25+
type: 'problem',
26+
docs: {
27+
description: '',
28+
categories: undefined,
29+
url: ''
30+
},
31+
fixable: null,
32+
schema: [],
33+
messages: {
34+
// ...
35+
}
36+
},
37+
/** @param {RuleContext} context */
38+
create(context) {
39+
// ...
40+
41+
return utils.defineTemplateBodyVisitor(context, {
42+
// ...
43+
})
44+
}
45+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
/**
2+
* @author *****your name*****
3+
* See LICENSE file in root directory for full license.
4+
*/
5+
'use strict'
6+
7+
const RuleTester = require('eslint').RuleTester
8+
const rule = require('../../../lib/rules/force-types-on-object-props')
9+
10+
const tester = new RuleTester({
11+
parser: require.resolve('vue-eslint-parser'),
12+
parserOptions: {
13+
ecmaVersion: 2020,
14+
sourceType: 'module'
15+
}
16+
})
17+
18+
tester.run('force-types-on-object-props', rule, {
19+
valid: [
20+
{
21+
filename: 'test.vue',
22+
code: `
23+
<template>
24+
25+
</template>
26+
`
27+
},
28+
],
29+
invalid: [
30+
{
31+
filename: 'test.vue',
32+
code: `
33+
<template>
34+
35+
</template>
36+
`,
37+
errors: [
38+
{
39+
message: '...',
40+
line: 'line',
41+
column: 'col'
42+
},
43+
]
44+
}
45+
]
46+
})

0 commit comments

Comments
 (0)