diff --git a/frontend/.eslintrc.js b/frontend/.eslintrc.js index 63a06de..d75a8c5 100644 --- a/frontend/.eslintrc.js +++ b/frontend/.eslintrc.js @@ -1,29 +1,30 @@ module.exports = { - "env": { - "browser": true, - "es2021": true + env: { + browser: true, + es2021: true, + }, + extends: [ + 'eslint:recommended', + 'plugin:react/recommended', + 'plugin:@typescript-eslint/recommended', + ], + parser: '@typescript-eslint/parser', + parserOptions: { + ecmaFeatures: { + jsx: true, }, - "extends": [ - "eslint:recommended", - "plugin:react/recommended", - "plugin:@typescript-eslint/recommended" + ecmaVersion: 12, + sourceType: 'module', + }, + plugins: ['react', '@typescript-eslint'], + settings: { + version: 'detect', + }, + rules: { + 'react/react-in-jsx-scope': 'off', + '@typescript-eslint/no-unused-vars': [ + 'warn', + { varsIgnorePattern: '^_', argsIgnorePattern: '^_' }, ], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaFeatures": { - "jsx": true - }, - "ecmaVersion": 12, - "sourceType": "module" - }, - "plugins": [ - "react", - "@typescript-eslint" - ], - "settings": { - "version": "detect" - }, - "rules": { - "react/react-in-jsx-scope": "off" - } + }, }; diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index b860e20..adc06c8 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -4,7 +4,7 @@ import { Waveform } from './Waveform/Waveform'; const audioContext = new AudioContext(); -function App() { +function App(): JSX.Element { return (
diff --git a/frontend/src/Waveform/Thumbnails.tsx b/frontend/src/Waveform/Thumbnails.tsx index 8032b6e..2779a5b 100644 --- a/frontend/src/Waveform/Thumbnails.tsx +++ b/frontend/src/Waveform/Thumbnails.tsx @@ -1,5 +1,5 @@ import { useState, useEffect, useRef } from 'react'; -import { CanvasLogicalWidth, CanvasLogicalHeight, MediaSet } from './Waveform'; +import { CanvasLogicalWidth, MediaSet } from './Waveform'; interface Props { mediaSet: MediaSet; @@ -13,7 +13,7 @@ enum State { } export const Thumbnails: React.FC = ({ mediaSet, style }: Props) => { - const [image, setImage] = useState(new Image()); + const [image, _setImage] = useState(new Image()); const [state, setState] = useState(State.Loading); const canvasRef = useRef(null); diff --git a/frontend/src/Waveform/Waveform.tsx b/frontend/src/Waveform/Waveform.tsx index 4fe874a..779effa 100644 --- a/frontend/src/Waveform/Waveform.tsx +++ b/frontend/src/Waveform/Waveform.tsx @@ -51,7 +51,7 @@ export const Waveform: React.FC = ({ audioContext }: Props) => { const [mediaSet, setMediaSet] = useState(null); const [currentTime, setCurrentTime] = useState(0); // TODO: extract to player component. - const [audio, setAudio] = useState(new Audio()); + const [audio, _setAudio] = useState(new Audio()); const [zoomSettings, setZoomSettings] = useState(defaultZoomSettings); const [waveformPeaks, setWaveformPeaks] = useState(null); const [overviewPeaks, setOverviewPeaks] = useState(null); diff --git a/frontend/src/reportWebVitals.ts b/frontend/src/reportWebVitals.ts index 49a2a16..eb4be08 100644 --- a/frontend/src/reportWebVitals.ts +++ b/frontend/src/reportWebVitals.ts @@ -1,6 +1,6 @@ import { ReportHandler } from 'web-vitals'; -const reportWebVitals = (onPerfEntry?: ReportHandler) => { +const reportWebVitals = (onPerfEntry?: ReportHandler): void => { if (onPerfEntry && onPerfEntry instanceof Function) { import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { getCLS(onPerfEntry);