From ae80b6049e93d52282c0a09a87dfe9ce51dc6761 Mon Sep 17 00:00:00 2001 From: yosuke ota Date: Thu, 1 Jul 2021 18:59:03 +0900 Subject: [PATCH 1/4] Add `vue/script-setup-uses-vars` rule --- .../components/eslint-code-block.vue | 1 + docs/rules/README.md | 1 + docs/rules/jsx-uses-vars.md | 5 + docs/rules/script-setup-uses-vars.md | 60 ++++ lib/configs/base.js | 3 +- lib/index.js | 1 + lib/rules/no-reserved-component-names.js | 27 +- lib/rules/no-unregistered-components.js | 11 +- lib/rules/script-setup-uses-vars.js | 124 +++++++++ lib/utils/index.js | 52 +++- lib/utils/vue2-builtin-components.js | 12 + lib/utils/vue3-builtin-components.js | 7 + tests/lib/rules/jsx-uses-vars.js | 62 +++-- tests/lib/rules/script-setup-uses-vars.js | 258 ++++++++++++++++++ .../util-types/parser-services.ts | 5 +- 15 files changed, 565 insertions(+), 64 deletions(-) create mode 100644 docs/rules/script-setup-uses-vars.md create mode 100644 lib/rules/script-setup-uses-vars.js create mode 100644 lib/utils/vue2-builtin-components.js create mode 100644 lib/utils/vue3-builtin-components.js create mode 100644 tests/lib/rules/script-setup-uses-vars.js diff --git a/docs/.vuepress/components/eslint-code-block.vue b/docs/.vuepress/components/eslint-code-block.vue index 381d9985f..3c37c9234 100644 --- a/docs/.vuepress/components/eslint-code-block.vue +++ b/docs/.vuepress/components/eslint-code-block.vue @@ -135,6 +135,7 @@ export default { linter.defineRule(`vue/${ruleId}`, rules[ruleId]) } linter.defineRule('no-undef', coreRules['no-undef']) + linter.defineRule('no-unused-vars', coreRules['no-unused-vars']) linter.defineParser('vue-eslint-parser', { parseForESLint }) } diff --git a/docs/rules/README.md b/docs/rules/README.md index c5b80f1f7..1a0a5fe35 100644 --- a/docs/rules/README.md +++ b/docs/rules/README.md @@ -25,6 +25,7 @@ Enforce all the rules in this category, as well as all higher priority rules, wi |:--------|:------------|:---| | [vue/comment-directive](./comment-directive.md) | support comment-directives in ` ` + }, + + // TopLevel await + { + filename: 'test.vue', + code: ` + + + + `, + parserOptions: { + ecmaVersion: 2022, + sourceType: 'module' + } } ],