diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..2186947 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,3 @@ +dist/ +lib/ +node_modules/ \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..4300404 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,57 @@ +{ + "plugins": ["jest", "@typescript-eslint"], + "extends": ["plugin:github/recommended"], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 9, + "sourceType": "module", + "project": "./tsconfig.json" + }, + "rules": { + "camelcase": "off", + "eslint-comments/no-use": "off", + "import/no-namespace": "off", + "no-shadow": "off", + "no-unused-vars": "off", + "prefer-template": "off", + "semi": [ "error", "never"], + "@typescript-eslint/explicit-member-accessibility": ["error", {"accessibility": "no-public"}], + "@typescript-eslint/array-type": "error", + "@typescript-eslint/await-thenable": "error", + "@typescript-eslint/ban-ts-comment": "error", + "@typescript-eslint/consistent-type-assertions": "error", + "@typescript-eslint/explicit-function-return-type": ["error", {"allowExpressions": true}], + "@typescript-eslint/func-call-spacing": ["error", "never"], + "@typescript-eslint/no-array-constructor": "error", + "@typescript-eslint/no-empty-interface": "error", + "@typescript-eslint/no-explicit-any": "error", + "@typescript-eslint/no-extraneous-class": "error", + "@typescript-eslint/no-for-in-array": "error", + "@typescript-eslint/no-inferrable-types": "error", + "@typescript-eslint/no-misused-new": "error", + "@typescript-eslint/no-namespace": "error", + "@typescript-eslint/no-require-imports": "error", + "@typescript-eslint/no-shadow": "error", + "@typescript-eslint/no-non-null-assertion": "warn", + "@typescript-eslint/no-unnecessary-qualifier": "error", + "@typescript-eslint/no-unnecessary-type-assertion": "error", + "@typescript-eslint/no-unused-vars": ["error", {"varsIgnorePattern": "^_"}], + "@typescript-eslint/no-useless-constructor": "error", + "@typescript-eslint/no-var-requires": "error", + "@typescript-eslint/prefer-for-of": "warn", + "@typescript-eslint/prefer-function-type": "warn", + "@typescript-eslint/prefer-includes": "error", + "@typescript-eslint/prefer-string-starts-ends-with": "error", + "@typescript-eslint/promise-function-async": "error", + "@typescript-eslint/require-array-sort-compare": "error", + "@typescript-eslint/restrict-plus-operands": "error", + "@typescript-eslint/semi": ["error", "never"], + "@typescript-eslint/type-annotation-spacing": "error", + "@typescript-eslint/unbound-method": "error" + }, + "env": { + "node": true, + "es6": true, + "jest/globals": true + } + } \ No newline at end of file diff --git a/package.json b/package.json index 133051d..49c972d 100644 --- a/package.json +++ b/package.json @@ -5,9 +5,9 @@ "main": "lib/nextcloud-artifacts.js", "scripts": { "build": "npx tsc", - "format": "npx prettier --write **/*.ts", - "format-check": "npx prettier --check **/*.ts", - "lint": "npx eslint src/**/*.ts", + "format": "prettier --write **/*.ts", + "format-check": "prettier --check **/*.ts", + "lint": "eslint src/**/*.ts", "package": "npx ncc build --source-map --license licenses.txt" }, "repository": { @@ -42,15 +42,15 @@ "@types/uuid": "^8.3.0", "@typescript-eslint/eslint-plugin": "^4.16.1", "@typescript-eslint/parser": "^4.16.1", - "typescript": "^4.3.2", "eslint": "^7.21.0", - "eslint-plugin-github": "^4.1.2", + "eslint-plugin-github": "^4.1.3", "eslint-plugin-jest": "^24.1.7", "jest": "^26.6.3", "jest-circus": "^26.6.3", "jest-junit": "^12.0.0", "js-yaml": "^4.0.0", "prettier": "2.2.1", - "ts-jest": "^26.5.3" + "ts-jest": "^26.5.3", + "typescript": "^4.3.2" } }