From 819691f51c41fc9769a2fd0e91e8cf49f4b6a2b5 Mon Sep 17 00:00:00 2001 From: Kenny Daniel Date: Fri, 29 Dec 2023 10:48:43 -0800 Subject: [PATCH] eslint --- .eslintrc.json | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 6 +++++- 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 .eslintrc.json diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..0e46490 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,49 @@ +{ + "parser": "@typescript-eslint/parser", + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended" + ], + "plugins": ["import", "jsdoc"], + "rules": { + "@typescript-eslint/no-explicit-any": "warn", + "arrow-spacing": "error", + "camelcase": "error", + "comma-spacing": "error", + "comma-dangle": ["error", "always-multiline"], + "eol-last": "error", + "eqeqeq": "error", + "func-style": ["error", "declaration"], + "import/order": [ + "error", + { + "alphabetize": { + "caseInsensitive": true, + "order": "asc" + }, + "groups": [["builtin", "external"], "internal", "parent", "sibling", "index"] + } + ], + "indent": ["error", 2], + "jsdoc/check-param-names": "error", + "jsdoc/check-property-names": "error", + "jsdoc/check-tag-names": "error", + "jsdoc/no-types": "error", + "jsdoc/sort-tags": "error", + "no-multi-spaces": "error", + "no-trailing-spaces": "error", + "no-var": "error", + "object-curly-spacing": ["error", "always"], + "prefer-const": "error", + "prefer-destructuring": ["error", {"object": true, "array": false}], + "prefer-promise-reject-errors": "error", + "require-await": "error", + "quotes": ["error", "single"], + "semi": ["error", "never"], + "sort-imports": ["error", { + "ignoreDeclarationSort": true, + "ignoreMemberSort": false, + "memberSyntaxSortOrder": ["none", "all", "multiple", "single"] + }] + } +} diff --git a/package.json b/package.json index d61321f..a0a3c1d 100644 --- a/package.json +++ b/package.json @@ -18,9 +18,13 @@ "type": "module", "types": "dist/hyparquet.d.ts", "scripts": { - "build": "tsc" + "build": "tsc", + "lint": "eslint . --ext .ts" }, "devDependencies": { + "eslint": "8.56.0", + "eslint-plugin-import": "2.29.1", + "eslint-plugin-jsdoc": "46.9.1", "typescript": "5.3.3" } }