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": []
      }]
    }
  }
]