vue.js
1.12 KB
/**
* Vue 专属 flat config 片段 —— `eslint-plugin-vue` + 浏览器全局。
*
* 只持有「Vue 包相对 node 预设额外需要的」默认数据:plugin-vue 的 flat 推荐配置 +
* 浏览器运行时全局。与 node 预设是**数据拼接**关系(`presetVue = [...presetNode, ...vueBlocks]`),
* 无运行时逻辑耦合(§4 职责边界)。
*/
import pluginVue from 'eslint-plugin-vue'
import { BROWSER_GLOBALS } from '../../../tools/eslint-rules/config.js'
export { BROWSER_GLOBALS }
/**
* Vue flat config 片段数组(plugin-vue 的 flat 推荐 + 浏览器全局注入)。
* `eslint-plugin-vue` 的 `flat/recommended` 已是 flat config 数组,直接平铺。
* @returns {import('eslint').Linter.Config[]}
*/
export function buildVueBlocks() {
const recommended = pluginVue.configs['flat/recommended'] || []
return [
...recommended,
{
files: ['**/*.vue', '**/*.js'],
languageOptions: {
globals: { ...BROWSER_GLOBALS },
},
},
]
}
/** plugin-vue 是否真的进了预设(供测试静态断言)。 */
export const VUE_PLUGIN_NAME = 'eslint-plugin-vue'