41 lines
1.2 KiB
JavaScript
41 lines
1.2 KiB
JavaScript
import eslint from '@eslint/js';
|
|
import tseslint from 'typescript-eslint';
|
|
import pluginVue from 'eslint-plugin-vue';
|
|
|
|
|
|
export default [
|
|
eslint.configs.recommended,
|
|
...tseslint.configs.recommended,
|
|
...pluginVue.configs['flat/recommended'],
|
|
{
|
|
ignores: ["temp.js", "**/node_modules/*", "**/dist/*", "**/public/*", "**/build/*"],
|
|
rules: {
|
|
"no-console": ["error"],
|
|
"no-multiple-empty-lines": ["error", {max: 2, "maxBOF": 0}],
|
|
"vue/component-tags-order": ["error", {
|
|
"order": [ "script", "template", "style"]
|
|
}],
|
|
"vue/order-in-components": "error",
|
|
"indent": ["error", 2],
|
|
"no-mixed-spaces-and-tabs": "error",
|
|
"vue/attribute-hyphenation": "off",
|
|
"vue/html-self-closing": ["error", {
|
|
"html": {
|
|
"void": "never",
|
|
"normal": "always",
|
|
"component": "always"
|
|
},
|
|
"svg": "always",
|
|
"math": "always"
|
|
}],
|
|
"vue/no-reserved-component-names": "off",
|
|
"vue/html-indent": ["error", 2, {
|
|
"attribute": 1,
|
|
"baseIndent": 1,
|
|
"closeBracket": 0,
|
|
"alignAttributesVertically": true,
|
|
"ignores": []
|
|
}]
|
|
}
|
|
}
|
|
] |