spectra-ui
Version:
Spectra UI is a component library built in Vue 3 and TypeScript.
93 lines (92 loc) • 2.17 kB
JavaScript
module.exports = {
root: true,
env: {
node: true,
},
extends: [
'plugin:vue/vue3-essential',
'@vue/standard',
'@vue/typescript/recommended',
],
parserOptions: {
ecmaVersion: 2020,
},
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'no-useless-constructor': 'off',
'@typescript-eslint/no-useless-constructor': ['error'],
'vue/no-multiple-template-root': 0,
'@typescript-eslint/no-explicit-any': 0,
'@typescript-eslint/explicit-member-accessibility': ['error'],
'@typescript-eslint/interface-name-prefix': 0,
'@typescript-eslint/camelcase': 0,
'@typescript-eslint/naming-convention': ['error',
{
selector: 'default',
format: ['PascalCase', 'camelCase', 'snake_case', 'UPPER_CASE'],
},
{
selector: 'function',
format: ['PascalCase', 'camelCase'],
leadingUnderscore: 'forbid',
},
{
selector: 'variable',
format: ['snake_case', 'camelCase'],
leadingUnderscore: 'allow',
},
{
selector: 'memberLike',
format: ['camelCase', 'PascalCase', 'UPPER_CASE', 'snake_case'],
leadingUnderscore: 'allow',
},
],
'no-trailing-spaces': ['error', {
ignoreComments: true,
skipBlankLines: false,
}],
'space-before-function-paren': ['error', {
anonymous: 'never',
named: 'never',
asyncArrow: 'always',
}],
'padded-blocks': 0,
indent: ['error', 'tab'],
'no-tabs': 0,
'no-useless-return': 0,
'comma-dangle': ['error', {
arrays: 'always-multiline',
objects: 'always-multiline',
imports: 'always-multiline',
exports: 'always',
functions: 'always-multiline',
}],
semi: ['error', 'always'],
'vue/script-indent': ['error', 'tab', {
baseIndent: 1,
}],
quotes: ['error', 'single'],
'keyword-spacing': ['error', {
overrides: {
catch: {
before: true,
after: false,
},
},
}],
'array-bracket-spacing': 0,
'generator-star-spacing': 0,
'@typescript-eslint/no-this-alias': 0,
'one-var': 0,
'prefer-rest-params': 0,
},
overrides: [
{
files: ['*.vue'],
rules: {
indent: 'off',
},
},
],
};