You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							33 lines
						
					
					
						
							972 B
						
					
					
				
			
		
		
	
	
							33 lines
						
					
					
						
							972 B
						
					
					
				/** | 
						|
 * @author Yosuke Ota | 
						|
 * See LICENSE file in root directory for full license. | 
						|
 */ | 
						|
'use strict' | 
						|
const { Range } = require('semver') | 
						|
const unsupported = new Range('<=2.5 || >=2.6.0') | 
						|
 | 
						|
module.exports = { | 
						|
  // >=2.6.0-beta.1 <=2.6.0-beta.3 | 
						|
  supported: (versionRange) => { | 
						|
    return !versionRange.intersects(unsupported) | 
						|
  }, | 
						|
  createTemplateBodyVisitor (context) { | 
						|
    /** | 
						|
     * Reports `.prop` shorthand node | 
						|
     * @param {VDirectiveKey} 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 | 
						|
    } | 
						|
  } | 
						|
}
 | 
						|
 |