diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 4199381..0000000 --- a/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -build/*.js diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5d8e608..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,52 +0,0 @@ -module.exports = { - parser: 'babel-eslint', - extends: 'airbnb', - globals: { - FileReader: true, - XMLHttpRequest: true, - FormData: true, - Image: true, - Audio: true, - document: true, - }, - rules: { - camelcase: 1, - 'function-paren-newline': 0, - 'object-curly-newline': [2, { consistent: true }], - 'max-len': [ - 2, - { - ignoreTrailingComments: true, - ignoreComments: true, - ignorePattern: '["`\']$', - tabWidth: 2, - code: 120, - }, - ], - 'jsx-a11y/label-has-for': [ - 'error', - { - required: { - some: ['nesting', 'id'], - }, - }, - ], - 'arrow-body-style': 0, - 'arrow-parens': 0, - indent: [2, 2], - quotes: [2, 'single'], - 'linebreak-style': [2, 'unix'], - semi: [2, 'never'], - 'comma-dangle': [2, 'always-multiline'], - 'no-param-reassign': 0, - 'no-restricted-syntax': [0], - 'no-underscore-dangle': 0, - 'no-labels': 0, - 'no-continue': 0, - 'react/sort-comp': 0, - 'react/forbid-prop-types': 0, - 'react/require-default-props': 0, - 'react/jsx-filename-extension': 0, - 'jsx-a11y/no-static-element-interactions': 0, - }, -} diff --git a/package.json b/package.json index 61c3dd8..c9f4edc 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,6 @@ "@types/react": "^16.8.10", "@types/react-dom": "^16.8.3", "babel-core": "^7.0.0-bridge.0", - "babel-eslint": "^7.2.3", "babel-jest": "^23.6.0", "babel-loader": "^8.0.4", "babel-polyfill": "^6.26.0", @@ -46,11 +45,6 @@ "docusaurus-init": "^1.0.2", "enzyme": "^3.7.0", "enzyme-adapter-react-16": "^1.7.0", - "eslint": "^4.3.0", - "eslint-config-airbnb": "^15.1.0", - "eslint-plugin-import": "^2.7.0", - "eslint-plugin-jsx-a11y": "^5.1.1", - "eslint-plugin-react": "^7.7.0", "html5-file-selector": "^2.1.0", "husky": "^1.3.1", "jest": "^23.6.0", @@ -83,15 +77,15 @@ "build-styleguide-quickstart": "tsc && styleguidist build --config styleguide-quickstart.config.js", "build-docs": "./build_docs.sh", "test": "tsc && jest --coverage", - "lint": "prettier --check 'src/**/*.js' && eslint src", - "prettier": "prettier --write 'src/**/*.tsx'" + "prettier-check": "prettier --check src/**/*.ts src/**/*.tsx", + "prettier": "prettier --write src/**/*.ts src/**/*.tsx" }, "dependencies": { "@babel/runtime": "^7.1.2" }, "husky": { "hooks": { - "pre-push": "npm run lint && npm run test" + "pre-push": "npm run prettier-check" } } } diff --git a/src/types.ts b/src/types.ts index 523a3fe..5aba6fb 100644 --- a/src/types.ts +++ b/src/types.ts @@ -216,4 +216,3 @@ export interface IDropzoneProps { InputComponent?: ReactComponent SubmitButtonComponent?: ReactComponent } - diff --git a/src/utils.ts b/src/utils.ts index 3edca76..18096bd 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,5 +1,5 @@ import React from 'react' -import {IStyleCustomization } from './types.js'; +import { IStyleCustomization } from './types.js' export const formatBytes = (b: number) => { const units = ['bytes', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] @@ -26,7 +26,7 @@ export const formatDuration = (seconds: number) => { // returns true if file.name is empty and accept string is something like ".csv", // because file comes from dataTransferItem for drag events, and // dataTransferItem.name is always empty -export const accepts = (file: File , accept: string) => { +export const accepts = (file: File, accept: string) => { if (!accept || accept === '*') return true const mimeType = file.type || '' @@ -49,7 +49,7 @@ export const accepts = (file: File , accept: string) => { type ResolveFn = (...args: any[]) => T export const resolveValue = (value: ResolveFn | T, ...args: any[]) => { - if (typeof value === 'function') return (value as ResolveFn)( ...args) + if (typeof value === 'function') return (value as ResolveFn)(...args) return value } @@ -95,7 +95,7 @@ export const getFilesFromEvent = ( event: React.DragEvent | React.ChangeEvent, ): Promise> => { let items: FileList | DataTransferItemList - + if ('dataTransfer' in event) { const dt = event.dataTransfer diff --git a/tests/.eslintrc.js b/tests/.eslintrc.js deleted file mode 100644 index 3a5cd5c..0000000 --- a/tests/.eslintrc.js +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - "extends": "../.eslintrc.js", - "env": { - "jest": true - }, - "rules": { - "import/no-extraneous-dependencies": "error" - } -}; diff --git a/tsconfig.json b/tsconfig.json index f845b60..602b992 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,6 +4,9 @@ "esModuleInterop": true, "jsx": "react", "skipLibCheck": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "strict": true }, "include": ["examples/src/index.tsx", "src/*.tsx"], "exclude": ["**/node_modules/*"]