Skip to content

Commit c703efe

Browse files
committed
fix: skip rules on non-vue files
fixes #108
1 parent 1e3c28d commit c703efe

9 files changed

+36
-6
lines changed

src/rules/grid-unknown-attributes.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict'
22

3-
const { hyphenate, classify, getAttributes } = require('../util/helpers')
3+
const { hyphenate, classify, getAttributes, isVueTemplate } = require('../util/helpers')
44
const { isGridAttribute } = require('../util/grid-attributes')
55
const { addClass, removeAttr } = require('../util/fixers')
66

@@ -32,6 +32,8 @@ module.exports = {
3232
schema: [],
3333
},
3434
create (context) {
35+
if (!isVueTemplate(context)) return {}
36+
3537
return context.sourceCode.parserServices.defineTemplateBodyVisitor({
3638
VElement (element) {
3739
const tag = classify(element.rawName)

src/rules/icon-button-variant.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict'
22

3-
const { classify, getAttributes } = require('../util/helpers')
3+
const { classify, getAttributes, isVueTemplate } = require('../util/helpers')
44

55
// ------------------------------------------------------------------------------
66
// Rule Definition
@@ -22,6 +22,8 @@ module.exports = {
2222
},
2323

2424
create (context) {
25+
if (!isVueTemplate(context)) return {}
26+
2527
return context.sourceCode.parserServices.defineTemplateBodyVisitor({
2628
VElement (element) {
2729
const tag = classify(element.rawName)

src/rules/no-deprecated-classes.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
'use strict'
22

3+
const { isVueTemplate } = require('../util/helpers')
4+
35
/** @type {Map<RegExp, ((args: string[]) => string | false) | false> | Map<string, string | false>} */
46
const replacements = new Map([
57
[/^rounded-(r|l|tr|tl|br|bl)(-.*)?$/, ([side, rest]) => {
@@ -56,6 +58,8 @@ module.exports = {
5658
},
5759

5860
create (context) {
61+
if (!isVueTemplate(context)) return {}
62+
5963
return context.sourceCode.parserServices.defineTemplateBodyVisitor({
6064
'VAttribute[key.name="class"]' (node) {
6165
if (!node.value || !node.value.value) return

src/rules/no-deprecated-colors.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
'use strict'
22

3+
const { isVueTemplate } = require('../util/helpers')
4+
35
const cssColors = [
46
'red', 'pink', 'purple', 'deep-purple',
57
'indigo', 'blue', 'light-blue', 'cyan',
@@ -45,6 +47,8 @@ module.exports = {
4547
},
4648

4749
create (context) {
50+
if (!isVueTemplate(context)) return {}
51+
4852
const themeColors = ['primary', 'secondary', 'accent', 'error', 'warning', 'info', 'success', ...(context.options[0]?.themeColors || [])]
4953
const themeTextColors = themeColors.map(v => `${v}--text`)
5054

src/rules/no-deprecated-components.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict'
22

3-
const { hyphenate, classify } = require('../util/helpers')
3+
const { hyphenate, classify, isVueTemplate } = require('../util/helpers')
44

55
const replacements = {
66
VListTile: 'v-list-item',
@@ -55,6 +55,8 @@ module.exports = {
5555
},
5656
},
5757
create (context) {
58+
if (!isVueTemplate(context)) return {}
59+
5860
return context.sourceCode.parserServices.defineTemplateBodyVisitor({
5961
VElement (element) {
6062
const tag = classify(element.rawName)

src/rules/no-deprecated-events.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict'
22

3-
const { hyphenate, classify } = require('../util/helpers')
3+
const { hyphenate, classify, isVueTemplate } = require('../util/helpers')
44

55
const model = {
66
input: 'update:modelValue',
@@ -158,6 +158,8 @@ module.exports = {
158158
},
159159

160160
create (context) {
161+
if (!isVueTemplate(context)) return {}
162+
161163
return context.sourceCode.parserServices.defineTemplateBodyVisitor({
162164
VAttribute (attr) {
163165
if (!(attr.directive && attr.key.name.name === 'on' && attr.key.argument?.type === 'VIdentifier')) return

src/rules/no-deprecated-props.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict'
22

3-
const { hyphenate, classify } = require('../util/helpers')
3+
const { hyphenate, classify, isVueTemplate } = require('../util/helpers')
44

55
const size = {
66
maxHeight: false,
@@ -632,6 +632,8 @@ module.exports = {
632632
},
633633

634634
create (context) {
635+
if (!isVueTemplate(context)) return {}
636+
635637
return context.sourceCode.parserServices.defineTemplateBodyVisitor({
636638
VStartTag (tag) {
637639
const attrGroups = {}

src/rules/no-deprecated-slots.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict'
22

3-
const { classify, getAttributes } = require('../util/helpers')
3+
const { classify, getAttributes, isVueTemplate } = require('../util/helpers')
44

55
const groups = [
66
{
@@ -185,6 +185,8 @@ module.exports = {
185185
},
186186

187187
create (context) {
188+
if (!isVueTemplate(context)) return {}
189+
188190
let scopeStack
189191

190192
return context.sourceCode.parserServices.defineTemplateBodyVisitor({

src/util/helpers.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
'use strict'
22

3+
const path = require('node:path')
4+
35
function hyphenate (
46
/* istanbul ignore next */
57
str = ''
@@ -64,11 +66,19 @@ function mergeDeep (source, target) {
6466
return source
6567
}
6668

69+
function isVueTemplate (context) {
70+
if (context.sourceCode.parserServices.defineTemplateBodyVisitor == null) {
71+
return path.extname(context.getFilename()) === '.vue'
72+
}
73+
return true
74+
}
75+
6776
module.exports = {
6877
hyphenate,
6978
classify,
7079
isBuiltinAttribute,
7180
getAttributes,
7281
isObject,
7382
mergeDeep,
83+
isVueTemplate,
7484
}

0 commit comments

Comments
 (0)