diff --git a/package.json b/package.json deleted file mode 100644 index f995973..0000000 --- a/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "devDependencies": { - "@eslint/js": "^9.36.0", - "@typescript-eslint/eslint-plugin": "^8.44.1", - "@typescript-eslint/parser": "^8.44.1", - "eslint": "^9.36.0", - "typescript-eslint": "^8.44.1" - } -} diff --git a/src/eslint.config.js b/src/eslint.config.js new file mode 100644 index 0000000..5b8cab6 --- /dev/null +++ b/src/eslint.config.js @@ -0,0 +1,55 @@ +import js from '@eslint/js'; +import ts from 'typescript-eslint'; + +export default [ + js.configs.recommended, + ...ts.configs.recommended, + { + languageOptions: { + ecmaVersion: 'latest', + }, + rules: { + 'arrow-spacing': ['warn', { before: true, after: true }], + 'brace-style': ['error', 'stroustrup', { allowSingleLine: true }], + 'comma-dangle': ['error', 'always-multiline'], + 'comma-spacing': 'error', + 'comma-style': 'error', + curly: ['error', 'multi-line', 'consistent'], + 'dot-location': ['error', 'property'], + 'handle-callback-err': 'off', + indent: ['error', 'tab'], + 'keyword-spacing': 'error', + 'max-nested-callbacks': ['error', { max: 4 }], + 'max-statements-per-line': ['error', { max: 2 }], + 'no-console': 'off', + 'no-empty-function': 'error', + 'no-floating-decimal': 'error', + 'no-inline-comments': 'error', + 'no-lonely-if': 'error', + 'no-multi-spaces': 'error', + 'no-multiple-empty-lines': ['error', { max: 2, maxEOF: 1, maxBOF: 0 }], + 'no-shadow': ['error', { allow: ['err', 'resolve', 'reject'] }], + 'no-trailing-spaces': ['error'], + 'no-var': 'error', + 'no-undef': 'off', + 'object-curly-spacing': ['error', 'always'], + 'prefer-const': 'error', + quotes: ['error', 'single'], + semi: ['error', 'always'], + 'space-before-blocks': 'error', + 'space-before-function-paren': [ + 'error', + { + anonymous: 'never', + named: 'never', + asyncArrow: 'always', + }, + ], + 'space-in-parens': 'error', + 'space-infix-ops': 'error', + 'space-unary-ops': 'error', + 'spaced-comment': 'error', + yoda: 'error', + }, + }, +]; diff --git a/src/package.json b/src/package.json index 8e8f7ea..ceab98f 100644 --- a/src/package.json +++ b/src/package.json @@ -14,7 +14,12 @@ "install-all": "npm install" }, "devDependencies": { - "rimraf": "^5.0.1" + "rimraf": "^5.0.1", + "@eslint/js": "^9.36.0", + "@typescript-eslint/eslint-plugin": "^8.44.1", + "@typescript-eslint/parser": "^8.44.1", + "eslint": "^9.36.0", + "typescript-eslint": "^8.44.1" }, "dependencies": { "bindings": "^1.5.0"