‘liusuyi’
2023-10-21 94023628bd9c5e6bf724c37371a19b60d338b291
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
30
31
32
33
/**
 * @author Yosuke Ota
 * See LICENSE file in root directory for full license.
 */
'use strict'
 
module.exports = {
  supported: '>=2.6.0-beta.1 <=2.6.0-beta.3',
  /** @param {RuleContext} context @returns {TemplateListener} */
  createTemplateBodyVisitor(context) {
    /**
     * Reports `.prop` shorthand node
     * @param { VDirectiveKey & { argument: VIdentifier } } bindPropKey node of `.prop` shorthand
     * @returns {void}
     */
    function reportPropModifierShorthand(bindPropKey) {
      context.report({
        node: bindPropKey,
        messageId: 'forbiddenVBindPropModifierShorthand',
        // fix to use `:x.prop` (downgrade)
        fix: (fixer) =>
          fixer.replaceText(
            bindPropKey,
            `:${bindPropKey.argument.rawName}.prop`
          )
      })
    }
 
    return {
      "VAttribute[directive=true] > VDirectiveKey[name.name='bind'][name.rawName='.']": reportPropModifierShorthand
    }
  }
}