Merge pull request #544 from keisuke-umezawa/fix/delete-npm-lint-warnings

Delete npm lint warnings and check it in CI
This commit is contained in:
c-bata
2023-08-07 09:48:32 +09:00
committed by GitHub
8 changed files with 65 additions and 28 deletions
+8 -2
View File
@@ -34,6 +34,7 @@ type LocalStorageReloadInterval = {
reloadInterval?: number
}
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
export const actionCreator = () => {
const { enqueueSnackbar } = useSnackbar()
const [studySummaries, setStudySummaries] =
@@ -432,8 +433,13 @@ export const actionCreator = () => {
const reader = new FileReader()
setUploading(true)
reader.readAsDataURL(file)
reader.onload = (upload: any) => {
uploadArtifactAPI(studyId, trialId, file.name, upload.target.result)
reader.onload = (upload: ProgressEvent<FileReader>) => {
uploadArtifactAPI(
studyId,
trialId,
file.name,
upload.target?.result as string
)
.then((res) => {
setUploading(false)
const index = studyDetails[studyId].trials.findIndex(
+7 -4
View File
@@ -19,6 +19,9 @@ import { Clear } from "@mui/icons-material"
type Order = "asc" | "desc"
// eslint-disable-next-line @typescript-eslint/no-explicit-any
type Value = any
const defaultRowsPerPageOption = [10, 50, 100, { label: "All", value: -1 }]
interface DataGridColumn<T> {
@@ -33,7 +36,7 @@ interface DataGridColumn<T> {
interface RowFilter {
columnIdx: number
value: any
value: Value
}
function DataGrid<T>(props: {
@@ -45,7 +48,7 @@ function DataGrid<T>(props: {
initialRowsPerPage?: number
rowsPerPageOption?: Array<number | { value: number; label: string }>
defaultFilter?: (row: T) => boolean
}) {
}): React.ReactElement {
const { columns, rows, keyField, dense, collapseBody, defaultFilter } = props
let { initialRowsPerPage, rowsPerPageOption } = props
const [order, setOrder] = React.useState<Order>("asc")
@@ -81,7 +84,7 @@ function DataGrid<T>(props: {
const fieldAlreadyFiltered = (columnIdx: number): boolean =>
filters.some((f) => f.columnIdx === columnIdx)
const handleClickFilterCell = (columnIdx: number, value: any) => {
const handleClickFilterCell = (columnIdx: number, value: Value) => {
if (fieldAlreadyFiltered(columnIdx)) {
return
}
@@ -242,7 +245,7 @@ function DataGridRow<T>(props: {
row: T
keyField: keyof T
collapseBody?: (rowIndex: number) => React.ReactNode
handleClickFilterCell: (columnIdx: number, value: any) => void
handleClickFilterCell: (columnIdx: number, value: Value) => void
}) {
const {
columns,
@@ -17,10 +17,8 @@ import {
} from "@mui/material"
import { plotlyDarkTemplate } from "./PlotlyDarkMode"
import {
useFilteredTrials,
useFilteredTrialsFromStudies,
Target,
useObjectiveAndUserAttrTargets,
useObjectiveAndUserAttrTargetsFromStudies,
} from "../trialFilter"
@@ -216,8 +214,8 @@ const plotHistory = (
return xAxis === "number"
? trial.number
: xAxis === "datetime_start"
? trial.datetime_start!
: trial.datetime_complete!
? trial.datetime_start ?? new Date()
: trial.datetime_complete ?? new Date()
}
const plotData: Partial<plotly.PlotData>[] = []
@@ -114,8 +114,12 @@ const makeScatterObject = (
): Partial<plotly.PlotData> => {
const marker = makeMarker(trials, dominated, feasible, mode)
return {
x: trials.map((t) => t.values![objectiveXId] as number),
y: trials.map((t) => t.values![objectiveYId] as number),
x: trials.map((t) =>
t.values ? (t.values[objectiveXId] as number) : null
),
y: trials.map((t) =>
t.values ? (t.values[objectiveYId] as number) : null
),
text: trials.map((t) => makeHovertext(t)),
mode: "markers",
hovertemplate: hovertemplate,
+1 -1
View File
@@ -7,7 +7,7 @@
"scripts": {
"fmt": "prettier --write \"{optuna_dashboard/ts,typescript_tests,standalone_app/src,vscode/src}/**/*.{ts,tsx}\"",
"lint": "npm run lint:eslint && npm run lint:fmt",
"lint:eslint": "eslint . --ext .ts,.tsx",
"lint:eslint": "eslint . --ext .ts,.tsx --max-warnings 0",
"lint:fmt": "prettier --list-different \"{optuna_dashboard/ts,typescript_tests,standalone_app/src,vscode/src}/**/*.{ts,tsx}\"",
"watch": "NODE_ENV=development TYPESCRIPT_LOADER=esbuild-loader webpack --watch",
"build": "webpack",
+7 -4
View File
@@ -19,6 +19,9 @@ import { Clear } from "@mui/icons-material"
type Order = "asc" | "desc"
// eslint-disable-next-line @typescript-eslint/no-explicit-any
type Value = any
const defaultRowsPerPageOption = [10, 50, 100, { label: "All", value: -1 }]
interface DataGridColumn<T> {
@@ -33,7 +36,7 @@ interface DataGridColumn<T> {
interface RowFilter {
columnIdx: number
value: any
value: Value
}
function DataGrid<T>(props: {
@@ -45,7 +48,7 @@ function DataGrid<T>(props: {
initialRowsPerPage?: number
rowsPerPageOption?: Array<number | { value: number; label: string }>
defaultFilter?: (row: T) => boolean
}) {
}): React.ReactElement {
const { columns, rows, keyField, dense, collapseBody, defaultFilter } = props
let { initialRowsPerPage, rowsPerPageOption } = props
const [order, setOrder] = React.useState<Order>("asc")
@@ -81,7 +84,7 @@ function DataGrid<T>(props: {
const fieldAlreadyFiltered = (columnIdx: number): boolean =>
filters.some((f) => f.columnIdx === columnIdx)
const handleClickFilterCell = (columnIdx: number, value: any) => {
const handleClickFilterCell = (columnIdx: number, value: Value) => {
if (fieldAlreadyFiltered(columnIdx)) {
return
}
@@ -242,7 +245,7 @@ function DataGridRow<T>(props: {
row: T
keyField: keyof T
collapseBody?: (rowIndex: number) => React.ReactNode
handleClickFilterCell: (columnIdx: number, value: any) => void
handleClickFilterCell: (columnIdx: number, value: Value) => void
}) {
const {
columns,
+27 -11
View File
@@ -231,8 +231,23 @@ const plotHistory = (
return xAxis === "number"
? trial.number
: xAxis === "datetime_start"
? trial.datetime_start!
: trial.datetime_complete!
? trial.datetime_start ?? new Date()
: trial.datetime_complete ?? new Date()
}
const getValue = (trial: Trial, objectiveId: number): number | null => {
if (
objectiveId === null ||
trial.values === undefined ||
trial.values.length <= objectiveId
) {
return null
}
const value = trial.values[objectiveId]
if (value === "inf" || value === "-inf") {
return null
}
return value
}
const xForLinePlot: (number | Date)[] = []
@@ -240,34 +255,35 @@ const plotHistory = (
let currentBest: number | null = null
for (let i = 0; i < filteredTrials.length; i++) {
const t = filteredTrials[i]
const v = getValue(t, objectiveId) as number
if (currentBest === null) {
currentBest = t.values![objectiveId] as number
currentBest = v
xForLinePlot.push(getAxisX(t))
yForLinePlot.push(t.values![objectiveId] as number)
yForLinePlot.push(v)
} else if (
study.directions[objectiveId] === "maximize" &&
t.values![objectiveId] > currentBest
v > currentBest
) {
const p = filteredTrials[i - 1]
if (!xForLinePlot.includes(getAxisX(p))) {
xForLinePlot.push(getAxisX(p))
yForLinePlot.push(currentBest)
}
currentBest = t.values![objectiveId] as number
currentBest = v
xForLinePlot.push(getAxisX(t))
yForLinePlot.push(t.values![objectiveId] as number)
yForLinePlot.push(v)
} else if (
study.directions[objectiveId] === "minimize" &&
t.values![objectiveId] < currentBest
v < currentBest
) {
const p = filteredTrials[i - 1]
if (!xForLinePlot.includes(getAxisX(p))) {
xForLinePlot.push(getAxisX(p))
yForLinePlot.push(currentBest)
}
currentBest = t.values![objectiveId] as number
currentBest = v
xForLinePlot.push(getAxisX(t))
yForLinePlot.push(t.values![objectiveId] as number)
yForLinePlot.push(v)
}
}
xForLinePlot.push(getAxisX(filteredTrials[filteredTrials.length - 1]))
@@ -277,7 +293,7 @@ const plotHistory = (
{
x: filteredTrials.map(getAxisX),
y: filteredTrials.map(
(t: Trial): number => t.values![objectiveId] as number
(t: Trial): number => getValue(t, objectiveId) as number
),
name: "Objective Value",
mode: "markers",
+7
View File
@@ -7,9 +7,11 @@ export const loadStorage = (
setter: SetterOrUpdater<Study[]>
): void => {
sqlite3InitModule({
// eslint-disable-next-line @typescript-eslint/no-explicit-any
print: (...args: any): void => {
console.log(args)
},
// eslint-disable-next-line @typescript-eslint/no-explicit-any
printErr: (...args: any): void => {
console.log(args)
},
@@ -32,6 +34,7 @@ export const loadStorage = (
let supported = true
db.exec({
sql: "SELECT schema_version FROM version_info LIMIT 1",
// eslint-disable-next-line @typescript-eslint/no-explicit-any
callback: (vals: any[]) => {
if (vals[0] != 12) {
supported = false
@@ -49,6 +52,7 @@ export const loadStorage = (
"SELECT s.study_id, s.study_name, sd.direction, sd.objective" +
" FROM studies AS s INNER JOIN study_directions AS sd" +
" ON s.study_id = sd.study_id ORDER BY sd.study_direction_id",
// eslint-disable-next-line @typescript-eslint/no-explicit-any
callback: (vals: any[]) => {
const study_id = vals[0]
const study_name = vals[1]
@@ -82,6 +86,7 @@ export const loadStorage = (
" FROM trials AS t LEFT JOIN trial_values AS tv ON tv.trial_id = t.trial_id" +
` WHERE t.study_id = ${s.study_id}` +
" ORDER BY t.number",
// eslint-disable-next-line @typescript-eslint/no-explicit-any
callback: (vals: any[]) => {
const state: TrialState =
vals[3] === "COMPLETE"
@@ -115,6 +120,7 @@ export const loadStorage = (
sql:
"SELECT param_name, param_value" +
` FROM trial_params WHERE trial_id = ${trial.trial_id}`,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
callback: (vals: any[]) => {
const param_name = vals[0]
params.push({
@@ -151,6 +157,7 @@ export const loadStorage = (
"SELECT value, value_type" +
` FROM trial_values WHERE trial_id = ${trial.trial_id}` +
" ORDER BY objective",
// eslint-disable-next-line @typescript-eslint/no-explicit-any
callback: (vals: any[]) => {
values.push(
vals[1] === "INF_NEG"