summaryrefslogtreecommitdiff
path: root/eslint.config.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'eslint.config.mjs')
-rw-r--r--eslint.config.mjs38
1 files changed, 38 insertions, 0 deletions
diff --git a/eslint.config.mjs b/eslint.config.mjs
new file mode 100644
index 0000000..e0ebb84
--- /dev/null
+++ b/eslint.config.mjs
@@ -0,0 +1,38 @@
+// @ts-check
+
+import eslint from '@eslint/js';
+import tseslint from 'typescript-eslint';
+import { defineConfig } from 'eslint/config';
+
+export default defineConfig(
+ {
+ ignores: ['dist/**'],
+ },
+ {
+ rules: {
+ 'quotes': ['error', 'single'],
+ 'indent': ['error', 2, { 'SwitchCase': 0 }],
+ 'linebreak-style': ['error', 'unix'],
+ 'semi': ['error', 'always'],
+ 'comma-dangle': ['error', 'always-multiline'],
+ 'dot-notation': 'error',
+ 'eqeqeq': ['error', 'smart'],
+ 'curly': ['error', 'all'],
+ 'brace-style': ['error'],
+ 'prefer-arrow-callback': 'warn',
+ 'max-len': ['warn', 160],
+ 'object-curly-spacing': ['error', 'always'],
+ 'no-use-before-define': 'off',
+ '@typescript-eslint/no-use-before-define': ['error', { 'classes': false, 'enums': false }],
+ '@typescript-eslint/no-unused-vars': ['error', { 'caughtErrors': 'none' }],
+ },
+ },
+ {
+ languageOptions: {
+ ecmaVersion: 2022,
+ sourceType: 'module',
+ },
+ },
+ eslint.configs.recommended,
+ tseslint.configs.recommended,
+);