import antfu from '@antfu/eslint-config';

export default antfu(
	{
		ignores: [
			'common/**',
			'static/**',
		],
		vue: true,
		// jsonc/yaml/toml stay off: assets/*.yaml are data files, not source, and weren't linted before.
		jsonc: false,
		yaml: false,
		toml: false,
		stylistic: {
			indent: 'tab',
			quotes: 'single',
			semi: true,
		},
	},
	{
		languageOptions: {
			globals: {
				CONFIG: 'readonly',
			},
		},
		rules: {
			'default-param-last': 'off',
			'no-underscore-dangle': 'off',
			'no-console': 'off',
			'style/arrow-parens': ['error', 'always'],
			'no-param-reassign': ['error', {
				props: true,
				ignorePropertyModificationsFor: ['state', 'acc', 'req'],
			}],
			'prefer-destructuring': 'off',
			'import/prefer-default-export': 'off',
			'unused-imports/no-unused-vars': ['error', {
				args: 'after-used',
				argsIgnorePattern: '^_',
				varsIgnorePattern: '^_',
				ignoreRestSiblings: true,
				caughtErrors: 'none',
			}],
			'vue/multi-word-component-names': 'off',
			'vue/no-reserved-component-names': 'off',
			'vue/multiline-html-element-content-newline': 'off',
			'vue/singleline-html-element-content-newline': 'off',
		},
	},
);
