scope-attribute.js 657 B

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