liusuyi
2024-07-12 d89e0182ad825d0926f4bc98e87d3b966056aac7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/**
 * @author Yosuke Ota
 * See LICENSE file in root directory for full license.
 */
'use strict'
module.exports = {
  deprecated: '2.5.0',
  supported: '<3.0.0',
  /** @param {RuleContext} context @returns {TemplateListener} */
  createTemplateBodyVisitor(context) {
    /**
     * Reports `scope` node
     * @param {VDirectiveKey} scopeKey node of `scope`
     * @returns {void}
     */
    function reportScope(scopeKey) {
      context.report({
        node: scopeKey,
        messageId: 'forbiddenScopeAttribute',
        // fix to use `slot-scope`
        fix: (fixer) => fixer.replaceText(scopeKey, 'slot-scope')
      })
    }
 
    return {
      "VAttribute[directive=true] > VDirectiveKey[name.name='scope']": reportScope
    }
  }
}