module.exports = {
	root: true,
	env: {
		"node": false
	},
	parser: "vue-eslint-parser",
	parserOptions: {
		"parser": "@typescript-eslint/parser",
		tsconfigRootDir: __dirname,
		//project: ['./tsconfig.json'],
	},
	extends: [
		//"../shared/.eslintrc.js",
		"plugin:vue/vue3-recommended"
	],
	rules: {
		// window の禁止理由: グローバルスコープと衝突し、予期せぬ結果を招くため
		// data の禁止理由: 抽象的すぎるため
		// e の禁止理由: error や event など、複数のキーワードの頭文字であり分かりにくいため
		"id-denylist": ["error", "window", "data", "e"],
		'eqeqeq': ['error', 'always', { 'null': 'ignore' }],
		"no-shadow": ["warn"],
		"vue/attributes-order": ["error", {
			"alphabetical": false
		}],
		"vue/no-use-v-if-with-v-for": ["error", {
			"allowUsingIterationVar": false
		}],
		"vue/no-ref-as-operand": "error",
		"vue/no-multi-spaces": ["error", {
			"ignoreProperties": false
		}],
		"vue/no-v-html": "error",
		"vue/order-in-components": "error",
		"vue/html-indent": ["warn", "tab", {
			"attribute": 1,
			"baseIndent": 0,
			"closeBracket": 0,
			"alignAttributesVertically": true,
			"ignores": []
		}],
		"vue/html-closing-bracket-spacing": ["warn", {
			"startTag": "never",
			"endTag": "never",
			"selfClosingTag": "never"
		}],
		"vue/multi-word-component-names": "warn",
		"vue/require-v-for-key": "warn",
		"vue/no-unused-components": "warn",
		"vue/valid-v-for": "warn",
		"vue/return-in-computed-property": "warn",
		"vue/no-setup-props-destructure": "warn",
		"vue/max-attributes-per-line": "off",
		"vue/html-self-closing": "off",
		"vue/singleline-html-element-content-newline": "off",
	},
	globals: {
		"require": false,
		"_DEV_": false,
		"_LANGS_": false,
		"_VERSION_": false,
		"_ENV_": false,
		"_PERF_PREFIX_": false,
		"_DATA_TRANSFER_DRIVE_FILE_": false,
		"_DATA_TRANSFER_DRIVE_FOLDER_": false,
		"_DATA_TRANSFER_DECK_COLUMN_": false
	}
}