2022-09-12 02:41:50 -07:00
|
|
|
/**
|
|
|
|
* @type {import('@types/eslint').ESLint.ConfigData}
|
|
|
|
*/
|
|
|
|
module.exports = {
|
|
|
|
plugins: ['vue'],
|
|
|
|
|
2022-11-09 08:32:05 -08:00
|
|
|
extends: ['plugin:vue/essential', '@vue/typescript', './base'],
|
2022-09-12 02:41:50 -07:00
|
|
|
|
|
|
|
env: {
|
|
|
|
browser: true,
|
|
|
|
es6: true,
|
|
|
|
node: true,
|
|
|
|
},
|
|
|
|
|
2022-11-15 09:20:54 -08:00
|
|
|
ignorePatterns: ['**/*.js', '**/*.d.ts', 'vite.config.ts', '**/*.ts.snap'],
|
2022-09-12 02:41:50 -07:00
|
|
|
|
|
|
|
rules: {
|
|
|
|
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
|
|
|
|
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
|
|
|
|
semi: [2, 'always'],
|
|
|
|
'comma-dangle': ['error', 'always-multiline'],
|
|
|
|
'no-tabs': 0,
|
|
|
|
'no-labels': 0,
|
2022-11-18 05:59:31 -08:00
|
|
|
'vue/no-deprecated-slot-attribute': 'error',
|
|
|
|
'vue/no-deprecated-slot-scope-attribute': 'error',
|
|
|
|
'vue/no-multiple-template-root': 'error',
|
|
|
|
'vue/v-slot-style': 'error',
|
2023-05-16 02:43:46 -07:00
|
|
|
|
|
|
|
// TODO: remove these
|
|
|
|
'vue/no-unused-components': 'warn',
|
|
|
|
'vue/return-in-computed-property': 'warn',
|
|
|
|
'vue/no-mutating-props': 'warn',
|
|
|
|
'@typescript-eslint/no-floating-promises': 'warn',
|
2022-09-12 02:41:50 -07:00
|
|
|
},
|
|
|
|
};
|