diff --git a/lib/rules/order-in-components.js b/lib/rules/order-in-components.js
index cf9dba9d4..50e270625 100644
--- a/lib/rules/order-in-components.js
+++ b/lib/rules/order-in-components.js
@@ -334,8 +334,18 @@ module.exports = {
}
}
- return utils.executeOnVue(context, (obj) => {
- checkOrder(obj.properties)
- })
+ return utils.compositingVisitors(
+ utils.executeOnVue(context, (obj) => {
+ checkOrder(obj.properties)
+ }),
+ utils.defineScriptSetupVisitor(context, {
+ onDefineOptionsEnter(node) {
+ if (node.arguments.length === 0) return
+ const define = node.arguments[0]
+ if (define.type !== 'ObjectExpression') return
+ checkOrder(define.properties)
+ }
+ })
+ )
}
}
diff --git a/tests/lib/rules/order-in-components.js b/tests/lib/rules/order-in-components.js
index 873df3b0f..b12c41a33 100644
--- a/tests/lib/rules/order-in-components.js
+++ b/tests/lib/rules/order-in-components.js
@@ -165,6 +165,19 @@ ruleTester.run('order-in-components', rule, {
new Vue()
`,
parserOptions: { ecmaVersion: 6 }
+ },
+ {
+ filename: 'example.vue',
+ code: `
+
+ `,
+ parser: require.resolve('vue-eslint-parser'),
+ parserOptions
}
],
@@ -943,6 +956,34 @@ ruleTester.run('order-in-components', rule, {
line: 5
}
]
+ },
+ {
+ filename: 'example.vue',
+ code: `
+
+ `,
+ parser: require.resolve('vue-eslint-parser'),
+ parserOptions,
+ output: `
+
+ `,
+ errors: [
+ {
+ message:
+ 'The "name" property should be above the "inheritAttrs" property on line 4.',
+ line: 5
+ }
+ ]
}
]
})