generated from ttipo/project-base
Initial commit
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
import pluginVue from 'eslint-plugin-vue'
|
||||
import vueTsEslintConfig from '@vue/eslint-config-typescript'
|
||||
|
||||
// Flat config — Vue 3 + TypeScript 표준 권장 룰
|
||||
// .claude/skills/vue3/SKILL.md 의 규칙 중 기계적으로 강제 가능한 것을 여기에 담는다.
|
||||
export default [
|
||||
...pluginVue.configs['flat/recommended'],
|
||||
...vueTsEslintConfig(),
|
||||
{
|
||||
rules: {
|
||||
// 컴포넌트 단어 수 강제 해제 (HomePage 등 단일 컴포넌트도 허용)
|
||||
'vue/multi-word-component-names': 'off',
|
||||
|
||||
// Composition API + <script setup> 강제 — Options API 금지
|
||||
'vue/component-api-style': ['error', ['script-setup']],
|
||||
|
||||
// 인라인 스타일 금지 → <style scoped> 사용
|
||||
'vue/no-static-inline-styles': ['error', { allowBinding: false }],
|
||||
|
||||
// 콘솔 출력 금지 (운영 빌드에 디버그 로그가 남지 않도록)
|
||||
'no-console': 'error',
|
||||
|
||||
// 명시적 타입 선언 — any 금지
|
||||
'@typescript-eslint/no-explicit-any': 'error',
|
||||
},
|
||||
},
|
||||
{
|
||||
// 생성 파일은 스크립트가 만든 산출물이므로 포맷 규칙 대상에서 제외
|
||||
files: ['src/**/*.generated.ts'],
|
||||
rules: {
|
||||
'@typescript-eslint/no-explicit-any': 'off',
|
||||
},
|
||||
},
|
||||
{
|
||||
ignores: ['dist/**', 'node_modules/**', 'coverage/**'],
|
||||
},
|
||||
]
|
||||
Reference in New Issue
Block a user