Upgrade typescript and other dependencies (#13762)

* Bump zustand, licenses

* Bump TypeScript, Eslint, use type imports

* Switch to react-shallow-renderer from enzyme

* Update ts-loader
This commit is contained in:
John Gozde 2023-02-07 00:12:54 -07:00 committed by GitHub
parent 2d3bee8545
commit b33962cab7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
248 changed files with 1369 additions and 3091 deletions

View File

@ -6537,6 +6537,16 @@ license_file_path: licenses/bin/upper-case.MIT
---
name: "use-sync-external-store"
license_category: binary
module: web-console
license_name: MIT License
copyright: Facebook, Inc. and its affiliates.
version: 1.2.0
license_file_path: licenses/bin/use-sync-external-store.MIT
---
name: "value-equal"
license_category: binary
module: web-console
@ -6572,6 +6582,6 @@ license_category: binary
module: web-console
license_name: MIT License
copyright: Paul Henschel
version: 3.7.2
version: 4.3.2
license_file_path: licenses/bin/zustand.MIT
# Web console modules end

View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) Facebook, Inc. and its affiliates.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -30,6 +30,7 @@ module.exports = {
},
},
rules: {
'@typescript-eslint/consistent-type-imports': ['warn', { prefer: 'type-imports' }],
'header/header': [
2,
'block',

View File

@ -17,10 +17,10 @@
*/
import path from 'path';
import * as playwright from 'playwright-chromium';
import type * as playwright from 'playwright-chromium';
import { CompactionConfig } from './component/datasources/compaction';
import { Datasource } from './component/datasources/datasource';
import type { Datasource } from './component/datasources/datasource';
import { DatasourcesOverview } from './component/datasources/overview';
import { HashedPartitionsSpec } from './component/load-data/config/partition';
import { saveScreenshotIfError } from './util/debug';

View File

@ -16,7 +16,7 @@
* limitations under the License.
*/
import * as playwright from 'playwright-chromium';
import type * as playwright from 'playwright-chromium';
import { QueryOverview } from './component/query/overview';
import { saveScreenshotIfError } from './util/debug';

View File

@ -16,7 +16,7 @@
* limitations under the License.
*/
import { PartitionsSpec } from '../load-data/config/partition';
import type { PartitionsSpec } from '../load-data/config/partition';
/**
* Datasource compaction configuration

View File

@ -16,7 +16,7 @@
* limitations under the License.
*/
import * as playwright from 'playwright-chromium';
import type * as playwright from 'playwright-chromium';
import { clickButton, getLabeledInput, setLabeledInput } from '../../util/playwright';
import { extractTable } from '../../util/table';

View File

@ -16,7 +16,7 @@
* limitations under the License.
*/
import * as playwright from 'playwright-chromium';
import type * as playwright from 'playwright-chromium';
import { extractTable } from '../../util/table';

View File

@ -18,7 +18,7 @@
/* eslint-disable max-classes-per-file */
import * as playwright from 'playwright-chromium';
import type * as playwright from 'playwright-chromium';
import {
getLabeledInput,

View File

@ -16,7 +16,7 @@
* limitations under the License.
*/
import * as playwright from 'playwright-chromium';
import type * as playwright from 'playwright-chromium';
import { clickButton } from '../../../util/playwright';

View File

@ -16,11 +16,12 @@
* limitations under the License.
*/
import * as playwright from 'playwright-chromium';
import type * as playwright from 'playwright-chromium';
import { setLabeledInput } from '../../../util/playwright';
import { clickApplyButton, DataConnector } from './data-connector';
import type { DataConnector } from './data-connector';
import { clickApplyButton } from './data-connector';
/**
* Local file connector for data loader input data.

View File

@ -16,11 +16,12 @@
* limitations under the License.
*/
import * as playwright from 'playwright-chromium';
import type * as playwright from 'playwright-chromium';
import { setLabeledInput } from '../../../util/playwright';
import { clickApplyButton, DataConnector } from './data-connector';
import type { DataConnector } from './data-connector';
import { clickApplyButton } from './data-connector';
/**
* Reindexing connector for data loader input data.

View File

@ -16,15 +16,15 @@
* limitations under the License.
*/
import * as playwright from 'playwright-chromium';
import type * as playwright from 'playwright-chromium';
import { clickButton, setLabeledInput, setLabeledTextarea } from '../../util/playwright';
import { ConfigureSchemaConfig } from './config/configure-schema';
import { ConfigureTimestampConfig } from './config/configure-timestamp';
import { PartitionConfig } from './config/partition';
import { PublishConfig } from './config/publish';
import { DataConnector } from './data-connector/data-connector';
import type { ConfigureSchemaConfig } from './config/configure-schema';
import type { ConfigureTimestampConfig } from './config/configure-timestamp';
import type { PartitionConfig } from './config/partition';
import type { PublishConfig } from './config/publish';
import type { DataConnector } from './data-connector/data-connector';
/**
* Represents load data tab.

View File

@ -16,7 +16,7 @@
* limitations under the License.
*/
import * as playwright from 'playwright-chromium';
import type * as playwright from 'playwright-chromium';
import { clickButton, clickText } from '../../util/playwright';
import { extractTable } from '../../util/table';

View File

@ -16,7 +16,7 @@
* limitations under the License.
*/
import * as playwright from 'playwright-chromium';
import type * as playwright from 'playwright-chromium';
import { clickButton } from '../../util/playwright';
import { extractTable } from '../../util/table';

View File

@ -16,7 +16,7 @@
* limitations under the License.
*/
import * as playwright from 'playwright-chromium';
import type * as playwright from 'playwright-chromium';
import { WorkbenchOverview } from './component/workbench/overview';
import { saveScreenshotIfError } from './util/debug';

View File

@ -17,7 +17,7 @@
*/
import path from 'path';
import * as playwright from 'playwright-chromium';
import type * as playwright from 'playwright-chromium';
import { DatasourcesOverview } from './component/datasources/overview';
import { IngestionOverview } from './component/ingestion/overview';

View File

@ -17,7 +17,7 @@
*/
import { T } from 'druid-query-toolkit';
import * as playwright from 'playwright-chromium';
import type * as playwright from 'playwright-chromium';
import { DatasourcesOverview } from './component/datasources/overview';
import { IngestionOverview } from './component/ingestion/overview';

View File

@ -16,7 +16,7 @@
* limitations under the License.
*/
import * as playwright from 'playwright-chromium';
import type * as playwright from 'playwright-chromium';
export async function saveScreenshotIfError(
filenamePrefix: string,

View File

@ -16,7 +16,7 @@
* limitations under the License.
*/
import * as playwright from 'playwright-chromium';
import type * as playwright from 'playwright-chromium';
/**
* Extracts an HTML table into a text representation.

View File

@ -22,7 +22,6 @@ module.exports = Object.assign(common, {
moduleNameMapper: {
'\\.s?css$': 'identity-obj-proxy',
},
snapshotSerializers: ['enzyme-to-json/serializer'],
setupFilesAfterEnv: ['<rootDir>src/setup-tests.ts'],
testMatch: ['**/src/**/?(*.)+(spec).(ts|tsx)'],
});

File diff suppressed because it is too large Load Diff

View File

@ -101,10 +101,10 @@
"react-table": "~6.10.3",
"regenerator-runtime": "^0.13.7",
"tslib": "^2.3.1",
"zustand": "^3.6.5"
"zustand": "^4.3.2"
},
"devDependencies": {
"@awesome-code-style/eslint-config": "^4.0.0",
"@awesome-code-style/eslint-config": "^4.1.0",
"@awesome-code-style/prettier-config": "^4.0.0",
"@awesome-code-style/stylelint-config": "^4.0.0",
"@babel/core": "^7.14.3",
@ -131,15 +131,13 @@
"@types/react-splitter-layout": "^3.0.0",
"@types/react-table": "6.8.5",
"@types/uuid": "^7.0.2",
"@typescript-eslint/eslint-plugin": "^5.11.0",
"@typescript-eslint/eslint-plugin": "^5.51.0",
"@typescript-eslint/parser": "^5.51.0",
"autoprefixer": "^10.2.6",
"babel-loader": "^8.2.2",
"browserslist": "^4.16.6",
"codecov": "^3.8.2",
"css-loader": "^5.2.1",
"enzyme": "^3.10.0",
"enzyme-adapter-react-16": "^1.15.1",
"enzyme-to-json": "^3.4.3",
"eslint": "^8.8.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-header": "^3.1.1",
@ -160,15 +158,16 @@
"postcss-loader": "^5.3.0",
"postcss-preset-env": "^6.7.0",
"prettier": "^2.5.1",
"react-shallow-renderer": "^16.15.0",
"replace": "^1.2.2",
"sass-loader": "^11.1.0",
"snarkdown": "^2.0.0",
"style-loader": "^2.0.0",
"stylelint": "^13.12.0",
"ts-jest": "^27.1.3",
"ts-loader": "^8.1.0",
"ts-loader": "^9.4.2",
"ts-node": "^10.9.1",
"typescript": "^4.5.5",
"typescript": "^4.9.5",
"uuid": "^7.0.2",
"webpack": "^5.33.2",
"webpack-bundle-analyzer": "^4.4.1",

View File

@ -143,9 +143,10 @@ writeFile(
* limitations under the License.
*/
import { shallow } from 'enzyme';
import React from 'react';
import { shallow } from '../../utils/shallow-renderer';
import { ${camelName} } from './${name}';
describe('${camelName}', () => {
@ -153,7 +154,7 @@ describe('${camelName}', () => {
const ${snakeName} = shallow(
<${camelName}/>
);
expect(${snakeName}).toMatchSnapshot();
});
});

View File

@ -17,7 +17,8 @@
*/
import React from 'react';
import { Filter, ReactTableDefaults } from 'react-table';
import type { Filter } from 'react-table';
import { ReactTableDefaults } from 'react-table';
import { Loader } from '../components';
import {

View File

@ -21,7 +21,8 @@ import { IconNames } from '@blueprintjs/icons';
import { Popover2 } from '@blueprintjs/popover2';
import React from 'react';
import { BasicAction, basicActionsToMenu } from '../../utils/basic-action';
import type { BasicAction } from '../../utils/basic-action';
import { basicActionsToMenu } from '../../utils/basic-action';
import { ActionIcon } from '../action-icon/action-icon';
import './action-cell.scss';

View File

@ -16,7 +16,8 @@
* limitations under the License.
*/
import { Icon, IconName } from '@blueprintjs/core';
import type { IconName } from '@blueprintjs/core';
import { Icon } from '@blueprintjs/core';
import classNames from 'classnames';
import React from 'react';

View File

@ -16,14 +16,16 @@
* limitations under the License.
*/
import { Button, Intent, Position, TextArea } from '@blueprintjs/core';
import type { Intent } from '@blueprintjs/core';
import { Button, Position, TextArea } from '@blueprintjs/core';
import { IconNames } from '@blueprintjs/icons';
import { Popover2 } from '@blueprintjs/popover2';
import classNames from 'classnames';
import React, { useState } from 'react';
import { compact } from '../../utils';
import { Suggestion, SuggestionMenu } from '../suggestion-menu/suggestion-menu';
import type { Suggestion } from '../suggestion-menu/suggestion-menu';
import { SuggestionMenu } from '../suggestion-menu/suggestion-menu';
import './array-input.scss';

View File

@ -5,7 +5,6 @@ exports[`AutoForm matches snapshot 1`] = `
className="auto-form"
>
<Memo(FormGroupWithInfo)
key="testNumber"
label="Test number"
>
<Memo(NumericInputWithDefault)
@ -18,7 +17,6 @@ exports[`AutoForm matches snapshot 1`] = `
/>
</Memo(FormGroupWithInfo)>
<Memo(FormGroupWithInfo)
key="testSizeBytes"
label="Test size bytes"
>
<Blueprint4.NumericInput
@ -40,7 +38,6 @@ exports[`AutoForm matches snapshot 1`] = `
/>
</Memo(FormGroupWithInfo)>
<Memo(FormGroupWithInfo)
key="testString"
label="Test string"
>
<Memo(SuggestibleInput)
@ -53,7 +50,6 @@ exports[`AutoForm matches snapshot 1`] = `
/>
</Memo(FormGroupWithInfo)>
<Memo(FormGroupWithInfo)
key="testStringWithDefault"
label="Test string with default"
>
<Memo(SuggestibleInput)
@ -66,7 +62,6 @@ exports[`AutoForm matches snapshot 1`] = `
/>
</Memo(FormGroupWithInfo)>
<Memo(FormGroupWithInfo)
key="testStringWithMultiline"
label="Test string with multiline"
>
<Memo(SuggestibleInput)
@ -79,7 +74,6 @@ exports[`AutoForm matches snapshot 1`] = `
/>
</Memo(FormGroupWithInfo)>
<Memo(FormGroupWithInfo)
key="testBoolean"
label="Test boolean"
>
<Blueprint4.ButtonGroup>
@ -100,7 +94,6 @@ exports[`AutoForm matches snapshot 1`] = `
</Blueprint4.ButtonGroup>
</Memo(FormGroupWithInfo)>
<Memo(FormGroupWithInfo)
key="testBooleanWithDefault"
label="Test boolean with default"
>
<Blueprint4.ButtonGroup>
@ -121,7 +114,6 @@ exports[`AutoForm matches snapshot 1`] = `
</Blueprint4.ButtonGroup>
</Memo(FormGroupWithInfo)>
<Memo(FormGroupWithInfo)
key="testStringArray"
label="Test string array"
>
<Memo(ArrayInput)
@ -132,7 +124,6 @@ exports[`AutoForm matches snapshot 1`] = `
/>
</Memo(FormGroupWithInfo)>
<Memo(FormGroupWithInfo)
key="testStringArrayWithDefault"
label="Test string array with default"
>
<Memo(ArrayInput)
@ -148,7 +139,6 @@ exports[`AutoForm matches snapshot 1`] = `
/>
</Memo(FormGroupWithInfo)>
<Memo(FormGroupWithInfo)
key="testJson"
label="Test json"
>
<Memo(JsonInput)
@ -157,7 +147,6 @@ exports[`AutoForm matches snapshot 1`] = `
/>
</Memo(FormGroupWithInfo)>
<Memo(FormGroupWithInfo)
key="testStringRequiredAndDefaultValue"
label="Test string required and default value"
>
<Memo(SuggestibleInput)
@ -170,9 +159,7 @@ exports[`AutoForm matches snapshot 1`] = `
value=""
/>
</Memo(FormGroupWithInfo)>
<Blueprint4.FormGroup
key="more-or-less"
>
<Blueprint4.FormGroup>
<Blueprint4.Button
fill={true}
minimal={true}

View File

@ -16,10 +16,10 @@
* limitations under the License.
*/
import { shallow } from 'enzyme';
import React from 'react';
import { COMPACTION_CONFIG_FIELDS } from '../../druid-models';
import { shallow } from '../../utils/shallow-renderer';
import { AutoForm } from './auto-form';

View File

@ -35,7 +35,7 @@ import { JsonInput } from '../json-input/json-input';
import { NumericInputWithDefault } from '../numeric-input-with-default/numeric-input-with-default';
import { PopoverText } from '../popover-text/popover-text';
import { SuggestibleInput } from '../suggestible-input/suggestible-input';
import { Suggestion } from '../suggestion-menu/suggestion-menu';
import type { Suggestion } from '../suggestion-menu/suggestion-menu';
import './auto-form.scss';

View File

@ -16,9 +16,10 @@
* limitations under the License.
*/
import { shallow } from 'enzyme';
import React from 'react';
import { shallow } from '../../utils/shallow-renderer';
import { BracedText } from './braced-text';
describe('BracedText', () => {

View File

@ -18,20 +18,12 @@
import { Menu, MenuItem } from '@blueprintjs/core';
import { IconNames } from '@blueprintjs/icons';
import {
C,
Column,
L,
SqlComparison,
SqlExpression,
SqlLiteral,
SqlQuery,
SqlRecord,
trimString,
} from 'druid-query-toolkit';
import type { Column, SqlExpression, SqlQuery } from 'druid-query-toolkit';
import { C, L, SqlComparison, SqlLiteral, SqlRecord, trimString } from 'druid-query-toolkit';
import React from 'react';
import { copyAndAlert, prettyPrintSql, QueryAction, stringifyValue } from '../../utils';
import type { QueryAction } from '../../utils';
import { copyAndAlert, prettyPrintSql, stringifyValue } from '../../utils';
function sqlLiteralForColumnValue(column: Column, value: unknown): SqlLiteral | undefined {
if (column.sqlType === 'TIMESTAMP') {

View File

@ -16,7 +16,8 @@
* limitations under the License.
*/
import React, { ReactNode } from 'react';
import type { ReactNode } from 'react';
import React from 'react';
import './center-message.scss';

View File

@ -17,7 +17,8 @@
*/
import { Button, InputGroup, Popover, Position } from '@blueprintjs/core';
import { DateRange, DateRangePicker } from '@blueprintjs/datetime';
import type { DateRange } from '@blueprintjs/datetime';
import { DateRangePicker } from '@blueprintjs/datetime';
import { IconNames } from '@blueprintjs/icons';
import React, { useState } from 'react';

View File

@ -16,7 +16,8 @@
* limitations under the License.
*/
import React, { ReactNode } from 'react';
import type { ReactNode } from 'react';
import React from 'react';
export interface ExternalLinkProps {
href: string;

View File

@ -34,9 +34,11 @@
* limitations under the License.
*/
import { Button, Icon, IconName, Intent } from '@blueprintjs/core';
import type { IconName } from '@blueprintjs/core';
import { Button, Icon, Intent } from '@blueprintjs/core';
import classNames from 'classnames';
import React, { ReactNode } from 'react';
import type { ReactNode } from 'react';
import React from 'react';
import { filterMap } from '../../utils';

View File

@ -16,9 +16,10 @@
* limitations under the License.
*/
import { shallow } from 'enzyme';
import React from 'react';
import { shallow } from '../../utils/shallow-renderer';
import { FormJsonSelector } from './form-json-selector';
describe('FormJsonSelector', () => {

View File

@ -16,12 +16,13 @@
* limitations under the License.
*/
import { InputGroup, InputGroupProps2, Intent, TextArea } from '@blueprintjs/core';
import type { InputGroupProps2 } from '@blueprintjs/core';
import { InputGroup, Intent, TextArea } from '@blueprintjs/core';
import { Tooltip2 } from '@blueprintjs/popover2';
import classNames from 'classnames';
import React, { useState } from 'react';
import { Formatter } from '../../utils';
import type { Formatter } from '../../utils';
import './formatted-input.scss';

View File

@ -16,10 +16,10 @@
* limitations under the License.
*/
import { shallow } from 'enzyme';
import React from 'react';
import { Capabilities } from '../../helpers';
import { shallow } from '../../utils/shallow-renderer';
import { HeaderBar } from './header-bar';

View File

@ -16,9 +16,10 @@
* limitations under the License.
*/
import { shallow } from 'enzyme';
import React from 'react';
import { shallow } from '../../utils/shallow-renderer';
import { HighlightText } from './highlight-text';
describe('HighlightText', () => {

View File

@ -16,8 +16,10 @@
* limitations under the License.
*/
import { Button, InputGroup, Intent, Position } from '@blueprintjs/core';
import { DateRange, DateRangePicker, TimePrecision } from '@blueprintjs/datetime';
import type { Intent } from '@blueprintjs/core';
import { Button, InputGroup, Position } from '@blueprintjs/core';
import type { DateRange } from '@blueprintjs/datetime';
import { DateRangePicker, TimePrecision } from '@blueprintjs/datetime';
import { IconNames } from '@blueprintjs/icons';
import { Popover2 } from '@blueprintjs/popover2';
import React from 'react';

View File

@ -16,10 +16,11 @@
* limitations under the License.
*/
import { shallow } from 'enzyme';
import * as JSONBig from 'json-bigint-native';
import React from 'react';
import { shallow } from '../../utils/shallow-renderer';
import { JsonCollapse } from './json-collapse';
describe('JsonCollapse', () => {

View File

@ -16,7 +16,7 @@
* limitations under the License.
*/
import { Ace } from 'ace-builds';
import type { Ace } from 'ace-builds';
import classNames from 'classnames';
import Hjson from 'hjson';
import * as JSONBig from 'json-bigint-native';

View File

@ -16,7 +16,8 @@
* limitations under the License.
*/
import { MenuItem, MenuItemProps } from '@blueprintjs/core';
import type { MenuItemProps } from '@blueprintjs/core';
import { MenuItem } from '@blueprintjs/core';
import classNames from 'classnames';
import React from 'react';

View File

@ -16,7 +16,8 @@
* limitations under the License.
*/
import { MenuItem, MenuItemProps } from '@blueprintjs/core';
import type { MenuItemProps } from '@blueprintjs/core';
import { MenuItem } from '@blueprintjs/core';
import classNames from 'classnames';
import React from 'react';

View File

@ -16,9 +16,10 @@
* limitations under the License.
*/
import { shallow } from 'enzyme';
import React from 'react';
import { shallow } from '../../utils/shallow-renderer';
import { NumericInputWithDefault } from './numeric-input-with-default';
describe('NumericInputWithDefault', () => {

View File

@ -16,7 +16,8 @@
* limitations under the License.
*/
import { HTMLInputProps, NumericInput, NumericInputProps } from '@blueprintjs/core';
import type { HTMLInputProps, NumericInputProps } from '@blueprintjs/core';
import { NumericInput } from '@blueprintjs/core';
import React, { useState } from 'react';
export type NumericInputWithDefaultProps = HTMLInputProps & NumericInputProps;

View File

@ -16,9 +16,10 @@
* limitations under the License.
*/
import { shallow } from 'enzyme';
import React from 'react';
import { shallow } from '../../utils/shallow-renderer';
import { QueryErrorPane } from './query-error-pane';
describe('QueryErrorPane', () => {

View File

@ -18,7 +18,7 @@
import React, { useState } from 'react';
import { DruidError, RowColumn } from '../../utils';
import type { DruidError, RowColumn } from '../../utils';
import { HighlightText } from '../highlight-text/highlight-text';
import './query-error-pane.scss';

View File

@ -20,19 +20,20 @@ import { Button, Icon } from '@blueprintjs/core';
import { IconNames } from '@blueprintjs/icons';
import { Popover2 } from '@blueprintjs/popover2';
import classNames from 'classnames';
import { Column, QueryResult } from 'druid-query-toolkit';
import type { Column, QueryResult } from 'druid-query-toolkit';
import React, { useEffect, useState } from 'react';
import type { RowRenderProps } from 'react-table';
import ReactTable from 'react-table';
import { ShowValueDialog } from '../../dialogs/show-value-dialog/show-value-dialog';
import { SMALL_TABLE_PAGE_SIZE, SMALL_TABLE_PAGE_SIZE_OPTIONS } from '../../react-table';
import type { Pagination } from '../../utils';
import {
columnToIcon,
columnToWidth,
filterMap,
formatNumber,
getNumericColumnBraces,
Pagination,
} from '../../utils';
import { BracedText } from '../braced-text/braced-text';
import { CellFilterMenu } from '../cell-filter-menu/cell-filter-menu';
@ -149,7 +150,7 @@ export const RecordTablePane = React.memo(function RecordTablePane(props: Record
},
headerClassName: getHeaderClassName(h),
accessor: String(i),
Cell(row) {
Cell(row: RowRenderProps) {
const value = row.value;
return (
<div>

View File

@ -19,8 +19,9 @@
import { IconNames } from '@blueprintjs/icons';
import React from 'react';
import { LocalStorageKeys } from '../../utils';
import { DelayLabel, TimedButton } from '../timed-button/timed-button';
import type { LocalStorageKeys } from '../../utils';
import type { DelayLabel } from '../timed-button/timed-button';
import { TimedButton } from '../timed-button/timed-button';
const DELAYS: DelayLabel[] = [
{ label: '5 seconds', delay: 5000 },

View File

@ -31,7 +31,8 @@ import { IconNames } from '@blueprintjs/icons';
import React, { useState } from 'react';
import { durationSanitizer } from '../../utils';
import { Rule, RuleUtil } from '../../utils/load-rule';
import type { Rule } from '../../utils/load-rule';
import { RuleUtil } from '../../utils/load-rule';
import { SuggestibleInput } from '../suggestible-input/suggestible-input';
import './rule-editor.scss';

View File

@ -16,11 +16,11 @@
* limitations under the License.
*/
import { AxisScale } from 'd3-axis';
import type { AxisScale } from 'd3-axis';
import React from 'react';
import { BarUnit } from './bar-unit';
import { BarUnitData, HoveredBarInfo } from './stacked-bar-chart';
import type { BarUnitData, HoveredBarInfo } from './stacked-bar-chart';
interface BarGroupProps {
dataToRender: BarUnitData[];

View File

@ -16,19 +16,13 @@
* limitations under the License.
*/
import {
FormGroup,
HTMLSelect,
IResizeEntry,
Radio,
RadioGroup,
ResizeSensor,
} from '@blueprintjs/core';
import { AxisScale } from 'd3-axis';
import type { IResizeEntry } from '@blueprintjs/core';
import { FormGroup, HTMLSelect, Radio, RadioGroup, ResizeSensor } from '@blueprintjs/core';
import type { AxisScale } from 'd3-axis';
import { scaleLinear, scaleUtc } from 'd3-scale';
import React from 'react';
import { Capabilities } from '../../helpers';
import type { Capabilities } from '../../helpers';
import { Api } from '../../singletons';
import {
ceilToUtcDay,
@ -41,7 +35,8 @@ import {
import { DateRangeSelector } from '../date-range-selector/date-range-selector';
import { Loader } from '../loader/loader';
import { BarUnitData, StackedBarChart } from './stacked-bar-chart';
import type { BarUnitData } from './stacked-bar-chart';
import { StackedBarChart } from './stacked-bar-chart';
import './segment-timeline.scss';

View File

@ -16,7 +16,8 @@
* limitations under the License.
*/
import { axisBottom, axisLeft, AxisScale } from 'd3-axis';
import type { AxisScale } from 'd3-axis';
import { axisBottom, axisLeft } from 'd3-axis';
import React, { useState } from 'react';
import { BarGroup } from './bar-group';

View File

@ -21,7 +21,8 @@ import * as JSONBig from 'json-bigint-native';
import React, { useState } from 'react';
import { DiffDialog } from '../../dialogs';
import { cleanSpec, IngestionSpec } from '../../druid-models';
import type { IngestionSpec } from '../../druid-models';
import { cleanSpec } from '../../druid-models';
import { useQueryManager } from '../../hooks';
import { Api } from '../../singletons';
import { deepSet } from '../../utils';

View File

@ -23,8 +23,10 @@ import classNames from 'classnames';
import React, { useRef } from 'react';
import { JSON_STRING_FORMATTER } from '../../utils';
import { FormattedInput, FormattedInputProps } from '../formatted-input/formatted-input';
import { Suggestion, SuggestionMenu } from '../suggestion-menu/suggestion-menu';
import type { FormattedInputProps } from '../formatted-input/formatted-input';
import { FormattedInput } from '../formatted-input/formatted-input';
import type { Suggestion } from '../suggestion-menu/suggestion-menu';
import { SuggestionMenu } from '../suggestion-menu/suggestion-menu';
export interface SuggestibleInputProps extends Omit<FormattedInputProps, 'formatter'> {
onFinalize?: () => void;

View File

@ -16,9 +16,11 @@
* limitations under the License.
*/
import { Icon, IconName } from '@blueprintjs/core';
import type { IconName } from '@blueprintjs/core';
import { Icon } from '@blueprintjs/core';
import classNames from 'classnames';
import React, { MouseEventHandler, ReactNode } from 'react';
import type { MouseEventHandler, ReactNode } from 'react';
import React from 'react';
import './table-clickable-cell.scss';

View File

@ -18,10 +18,12 @@
import { Menu, MenuDivider, MenuItem } from '@blueprintjs/core';
import { Popover2 } from '@blueprintjs/popover2';
import React, { ReactNode } from 'react';
import { Filter } from 'react-table';
import type { ReactNode } from 'react';
import React from 'react';
import type { Filter } from 'react-table';
import { addFilter, FilterMode, filterModeToIcon } from '../../react-table';
import type { FilterMode } from '../../react-table';
import { addFilter, filterModeToIcon } from '../../react-table';
import { Deferred } from '../deferred/deferred';
import './table-filterable-cell.scss';

View File

@ -16,9 +16,10 @@
* limitations under the License.
*/
import { shallow } from 'enzyme';
import React from 'react';
import { shallow } from '../../utils/shallow-renderer';
import { TimedButton } from './timed-button';
describe('TimedButton', () => {

View File

@ -16,14 +16,16 @@
* limitations under the License.
*/
import { Button, ButtonGroup, ButtonProps, Menu, MenuDivider, MenuItem } from '@blueprintjs/core';
import type { ButtonProps } from '@blueprintjs/core';
import { Button, ButtonGroup, Menu, MenuDivider, MenuItem } from '@blueprintjs/core';
import { IconNames } from '@blueprintjs/icons';
import { Popover2 } from '@blueprintjs/popover2';
import classNames from 'classnames';
import React, { useState } from 'react';
import { useInterval } from '../../hooks';
import { isInBackground, localStorageGet, LocalStorageKeys, localStorageSet } from '../../utils';
import type { LocalStorageKeys } from '../../utils';
import { isInBackground, localStorageGet, localStorageSet } from '../../utils';
export interface DelayLabel {
label: string;

View File

@ -16,7 +16,8 @@
* limitations under the License.
*/
import React, { ReactNode } from 'react';
import type { ReactNode } from 'react';
import React from 'react';
import './view-control-bar.scss';

View File

@ -17,7 +17,8 @@
*/
import { Switch } from '@blueprintjs/core';
import React, { ReactNode, useState } from 'react';
import type { ReactNode } from 'react';
import React, { useState } from 'react';
export interface WarningChecklistProps {
checks: ReactNode[];

View File

@ -20,11 +20,13 @@ import { HotkeysProvider, Intent } from '@blueprintjs/core';
import { IconNames } from '@blueprintjs/icons';
import classNames from 'classnames';
import React from 'react';
import { Redirect, RouteComponentProps } from 'react-router';
import type { RouteComponentProps } from 'react-router';
import { Redirect } from 'react-router';
import { HashRouter, Route, Switch } from 'react-router-dom';
import { HeaderActiveTab, HeaderBar, Loader } from './components';
import { DruidEngine, QueryWithContext } from './druid-models';
import type { HeaderActiveTab } from './components';
import { HeaderBar, Loader } from './components';
import type { DruidEngine, QueryWithContext } from './druid-models';
import { Capabilities } from './helpers';
import { AppToaster } from './singletons';
import { localStorageGetJson, LocalStorageKeys, QueryManager } from './utils';

View File

@ -16,19 +16,12 @@
* limitations under the License.
*/
import {
Button,
Classes,
Dialog,
FormGroup,
Icon,
IconName,
Intent,
ProgressBar,
} from '@blueprintjs/core';
import type { IconName } from '@blueprintjs/core';
import { Button, Classes, Dialog, FormGroup, Icon, Intent, ProgressBar } from '@blueprintjs/core';
import { IconNames } from '@blueprintjs/icons';
import classNames from 'classnames';
import React, { ReactNode, useState } from 'react';
import type { ReactNode } from 'react';
import React, { useState } from 'react';
import { WarningChecklist } from '../../components';
import { AppToaster } from '../../singletons';
@ -132,7 +125,7 @@ export const AsyncActionDialog = React.memo(function AsyncActionDialog(
<Button
intent={intent}
text={confirmButtonText}
onClick={handleConfirm}
onClick={() => void handleConfirm()}
disabled={confirmButtonDisabled || needsMoreChecks}
/>
<Button text={cancelButtonText || 'Cancel'} onClick={onClose} />

View File

@ -16,9 +16,10 @@
* limitations under the License.
*/
import { shallow } from 'enzyme';
import React from 'react';
import { shallow } from '../../utils/shallow-renderer';
import { CompactionDialog } from './compaction-dialog';
describe('CompactionDialog', () => {

View File

@ -19,10 +19,11 @@
import { Button, Callout, Classes, Code, Dialog, Intent } from '@blueprintjs/core';
import React, { useState } from 'react';
import { AutoForm, FormJsonSelector, FormJsonTabs, JsonInput } from '../../components';
import type { FormJsonTabs } from '../../components';
import { AutoForm, FormJsonSelector, JsonInput } from '../../components';
import type { CompactionConfig } from '../../druid-models';
import {
COMPACTION_CONFIG_FIELDS,
CompactionConfig,
compactionConfigHasLegacyInputSegmentSizeBytesSet,
} from '../../druid-models';
import { deepDelete, formatBytesCompact } from '../../utils';
@ -31,7 +32,7 @@ import './compaction-dialog.scss';
export interface CompactionDialogProps {
onClose: () => void;
onSave: (compactionConfig: CompactionConfig) => void;
onSave: (compactionConfig: CompactionConfig) => void | Promise<void>;
onDelete: () => void;
datasource: string;
compactionConfig: CompactionConfig | undefined;
@ -105,7 +106,7 @@ export const CompactionDialog = React.memo(function CompactionDialog(props: Comp
text="Submit"
intent={Intent.PRIMARY}
disabled={disableSubmit}
onClick={() => onSave(currentConfig)}
onClick={() => void onSave(currentConfig)}
/>
</div>
</div>

View File

@ -16,9 +16,10 @@
* limitations under the License.
*/
import { shallow } from 'enzyme';
import React from 'react';
import { shallow } from '../../utils/shallow-renderer';
import { CoordinatorDynamicConfigDialog } from './coordinator-dynamic-config-dialog';
describe('CoordinatorDynamicConfigDialog', () => {

View File

@ -20,15 +20,10 @@ import { Intent } from '@blueprintjs/core';
import { IconNames } from '@blueprintjs/icons';
import React, { useState } from 'react';
import {
AutoForm,
ExternalLink,
FormJsonSelector,
FormJsonTabs,
JsonInput,
Loader,
} from '../../components';
import { COORDINATOR_DYNAMIC_CONFIG_FIELDS, CoordinatorDynamicConfig } from '../../druid-models';
import type { FormJsonTabs } from '../../components';
import { AutoForm, ExternalLink, FormJsonSelector, JsonInput, Loader } from '../../components';
import type { CoordinatorDynamicConfig } from '../../druid-models';
import { COORDINATOR_DYNAMIC_CONFIG_FIELDS } from '../../druid-models';
import { useQueryManager } from '../../hooks';
import { getLink } from '../../links';
import { Api, AppToaster } from '../../singletons';
@ -102,7 +97,7 @@ export const CoordinatorDynamicConfigDialog = React.memo(function CoordinatorDyn
<SnitchDialog
className="coordinator-dynamic-config-dialog"
saveDisabled={Boolean(jsonError)}
onSave={saveConfig}
onSave={comment => void saveConfig(comment)}
onClose={onClose}
title="Coordinator dynamic config"
historyRecords={historyRecordsState.data}

View File

@ -16,12 +16,13 @@
* limitations under the License.
*/
import { shallow } from 'enzyme';
import React from 'react';
import { QueryState } from '../../../utils';
import { shallow } from '../../../utils/shallow-renderer';
import { DatasourceColumnsTable, DatasourceColumnsTableRow } from './datasource-columns-table';
import type { DatasourceColumnsTableRow } from './datasource-columns-table';
import { DatasourceColumnsTable } from './datasource-columns-table';
let columnsState: QueryState<DatasourceColumnsTableRow[]> = QueryState.INIT;
jest.mock('../../../hooks', () => {

View File

@ -23,7 +23,8 @@ import ReactTable from 'react-table';
import { Loader } from '../../../components';
import { useQueryManager } from '../../../hooks';
import { SMALL_TABLE_PAGE_SIZE, SMALL_TABLE_PAGE_SIZE_OPTIONS } from '../../../react-table';
import { ColumnMetadata, queryDruidSql } from '../../../utils';
import type { ColumnMetadata } from '../../../utils';
import { queryDruidSql } from '../../../utils';
import './datasource-columns-table.scss';

View File

@ -16,7 +16,8 @@
* limitations under the License.
*/
import { QueryResult, QueryRunner, T } from 'druid-query-toolkit';
import type { QueryResult } from 'druid-query-toolkit';
import { QueryRunner, T } from 'druid-query-toolkit';
import React from 'react';
import { Loader, RecordTablePane } from '../../../components';

View File

@ -19,8 +19,9 @@
import { IconNames } from '@blueprintjs/icons';
import React, { useState } from 'react';
import { BasicAction } from '../../utils/basic-action';
import { SideButtonMetaData, TableActionDialog } from '../table-action-dialog/table-action-dialog';
import type { BasicAction } from '../../utils/basic-action';
import type { SideButtonMetaData } from '../table-action-dialog/table-action-dialog';
import { TableActionDialog } from '../table-action-dialog/table-action-dialog';
import { DatasourceColumnsTable } from './datasource-columns-table/datasource-columns-table';
import { DatasourcePreviewPane } from './datasource-preview-pane/datasource-preview-pane';

View File

@ -19,7 +19,8 @@
import { Button, Classes, Dialog, HTMLSelect } from '@blueprintjs/core';
import * as JSONBig from 'json-bigint-native';
import React, { useState } from 'react';
import ReactDiffViewer, { ReactDiffViewerStylesOverride } from 'react-diff-viewer';
import type { ReactDiffViewerStylesOverride } from 'react-diff-viewer';
import ReactDiffViewer from 'react-diff-viewer';
import './diff-dialog.scss';

View File

@ -168,7 +168,7 @@ export class DoctorDialog extends React.PureComponent<DoctorDialogProps, DoctorD
text="Analyze Druid cluster"
intent={Intent.PRIMARY}
fill
onClick={() => this.doChecks()}
onClick={() => void this.doChecks()}
/>
</div>
);

View File

@ -21,7 +21,7 @@ import Hjson from 'hjson';
import * as JSONBig from 'json-bigint-native';
import React, { useState } from 'react';
import { QueryContext } from '../../druid-models';
import type { QueryContext } from '../../druid-models';
import './edit-context-dialog.scss';

View File

@ -16,9 +16,10 @@
* limitations under the License.
*/
import { shallow } from 'enzyme';
import React from 'react';
import { shallow } from '../../utils/shallow-renderer';
import { IndexSpecDialog } from './index-spec-dialog';
describe('IndexSpecDialog', () => {

View File

@ -19,8 +19,10 @@
import { Button, Classes, Dialog, Intent } from '@blueprintjs/core';
import React, { useState } from 'react';
import { AutoForm, FormJsonSelector, FormJsonTabs, JsonInput } from '../../components';
import { INDEX_SPEC_FIELDS, IndexSpec } from '../../druid-models';
import type { FormJsonTabs } from '../../components';
import { AutoForm, FormJsonSelector, JsonInput } from '../../components';
import type { IndexSpec } from '../../druid-models';
import { INDEX_SPEC_FIELDS } from '../../druid-models';
import './index-spec-dialog.scss';

View File

@ -31,13 +31,11 @@ exports[`LookupEditDialog matches snapshot 1`] = `
value="test"
>
<option
key="__default"
value="__default"
>
__default
</option>
<option
key="alt-tier"
value="alt-tier"
>
alt-tier

View File

@ -16,9 +16,10 @@
* limitations under the License.
*/
import { shallow } from 'enzyme';
import React from 'react';
import { shallow } from '../../utils/shallow-renderer';
import { LookupEditDialog } from './lookup-edit-dialog';
describe('LookupEditDialog', () => {

View File

@ -27,8 +27,10 @@ import {
} from '@blueprintjs/core';
import React, { useState } from 'react';
import { AutoForm, FormJsonSelector, FormJsonTabs, JsonInput } from '../../components';
import { isLookupInvalid, LOOKUP_FIELDS, LookupSpec } from '../../druid-models';
import type { FormJsonTabs } from '../../components';
import { AutoForm, FormJsonSelector, JsonInput } from '../../components';
import type { LookupSpec } from '../../druid-models';
import { isLookupInvalid, LOOKUP_FIELDS } from '../../druid-models';
import './lookup-edit-dialog.scss';

View File

@ -18,8 +18,9 @@
import React, { useState } from 'react';
import { BasicAction } from '../../utils/basic-action';
import { SideButtonMetaData, TableActionDialog } from '../table-action-dialog/table-action-dialog';
import type { BasicAction } from '../../utils/basic-action';
import type { SideButtonMetaData } from '../table-action-dialog/table-action-dialog';
import { TableActionDialog } from '../table-action-dialog/table-action-dialog';
import { LookupValuesTable } from './lookup-values-table/lookup-values-table';

View File

@ -16,9 +16,10 @@
* limitations under the License.
*/
import { shallow } from 'enzyme';
import React from 'react';
import { shallow } from '../../utils/shallow-renderer';
import { OverlordDynamicConfigDialog } from './overlord-dynamic-config-dialog';
describe('OverlordDynamicConfigDialog', () => {

View File

@ -21,7 +21,8 @@ import { IconNames } from '@blueprintjs/icons';
import React, { useState } from 'react';
import { AutoForm, ExternalLink, Loader } from '../../components';
import { OVERLORD_DYNAMIC_CONFIG_FIELDS, OverlordDynamicConfig } from '../../druid-models';
import type { OverlordDynamicConfig } from '../../druid-models';
import { OVERLORD_DYNAMIC_CONFIG_FIELDS } from '../../druid-models';
import { useQueryManager } from '../../hooks';
import { getLink } from '../../links';
import { Api, AppToaster } from '../../singletons';

View File

@ -25,7 +25,8 @@ import { useQueryManager } from '../../hooks';
import { getLink } from '../../links';
import { Api } from '../../singletons';
import { swapElements } from '../../utils';
import { Rule, RuleUtil } from '../../utils/load-rule';
import type { Rule } from '../../utils/load-rule';
import { RuleUtil } from '../../utils/load-rule';
import { SnitchDialog } from '..';
import './retention-dialog.scss';
@ -37,7 +38,7 @@ export interface RetentionDialogProps {
tiers: string[];
onEditDefaults: () => void;
onCancel: () => void;
onSave: (datasource: string, newRules: Rule[], comment: string) => void;
onSave: (datasource: string, newRules: Rule[], comment: string) => void | Promise<void>;
}
export const RetentionDialog = React.memo(function RetentionDialog(props: RetentionDialogProps) {
@ -58,7 +59,7 @@ export const RetentionDialog = React.memo(function RetentionDialog(props: Retent
function saveHandler(comment: string) {
const { datasource, onSave } = props;
onSave(datasource, currentRules, comment);
void onSave(datasource, currentRules, comment);
}
function addRule() {

View File

@ -21,8 +21,9 @@ import React, { useState } from 'react';
import { ShowJson } from '../../components';
import { Api } from '../../singletons';
import { BasicAction } from '../../utils/basic-action';
import { SideButtonMetaData, TableActionDialog } from '../table-action-dialog/table-action-dialog';
import type { BasicAction } from '../../utils/basic-action';
import type { SideButtonMetaData } from '../table-action-dialog/table-action-dialog';
import { TableActionDialog } from '../table-action-dialog/table-action-dialog';
import { SegmentsPreviewPane } from './segments-preview-pane/segments-preview-pane';

View File

@ -16,7 +16,8 @@
* limitations under the License.
*/
import { QueryResult, QueryRunner } from 'druid-query-toolkit';
import type { QueryResult } from 'druid-query-toolkit';
import { QueryRunner } from 'druid-query-toolkit';
import React from 'react';
import { Loader, RecordTablePane } from '../../../components';

View File

@ -28,7 +28,7 @@ import './snitch-dialog.scss';
export interface SnitchDialogProps {
title: string;
className?: string;
onSave: (comment: string) => void;
onSave: (comment: string) => void | Promise<void>;
saveDisabled?: boolean;
onReset?: () => void;
onClose: () => void;
@ -56,7 +56,7 @@ export class SnitchDialog extends React.PureComponent<SnitchDialogProps, SnitchD
const { onSave, onClose } = this.props;
const { comment } = this.state;
onSave(comment);
void onSave(comment);
if (onClose) onClose();
};

View File

@ -26,7 +26,7 @@ import { validJson } from '../../utils';
import './spec-dialog.scss';
export interface SpecDialogProps {
onSubmit: (spec: JSON) => void;
onSubmit: (spec: JSON) => void | Promise<void>;
onClose: () => void;
title: string;
initSpec?: any;
@ -40,7 +40,7 @@ export const SpecDialog = React.memo(function SpecDialog(props: SpecDialogProps)
function postSpec(): void {
if (!validJson(spec)) return;
onSubmit(JSON.parse(spec));
void onSubmit(JSON.parse(spec));
onClose();
}

View File

@ -18,7 +18,8 @@
import { Button, Classes, Dialog, Intent } from '@blueprintjs/core';
import React, { useState } from 'react';
import ReactTable, { Filter } from 'react-table';
import type { Filter } from 'react-table';
import ReactTable from 'react-table';
import { Loader, TableFilterableCell } from '../../components';
import { useQueryManager } from '../../hooks';

View File

@ -16,15 +16,15 @@
* limitations under the License.
*/
import { shallow } from 'enzyme';
import React from 'react';
import { QueryState } from '../../../utils';
import { shallow } from '../../../utils/shallow-renderer';
import type { SupervisorStatisticsTableRow } from './supervisor-statistics-table';
import {
normalizeSupervisorStatisticsResults,
SupervisorStatisticsTable,
SupervisorStatisticsTableRow,
} from './supervisor-statistics-table';
let supervisorStatisticsState: QueryState<SupervisorStatisticsTableRow[]> = QueryState.INIT;

View File

@ -18,7 +18,8 @@
import { Button, ButtonGroup } from '@blueprintjs/core';
import React from 'react';
import ReactTable, { CellInfo, Column } from 'react-table';
import type { CellInfo, Column } from 'react-table';
import ReactTable from 'react-table';
import { Loader } from '../../../components/loader/loader';
import { useQueryManager } from '../../../hooks';

View File

@ -23,8 +23,9 @@ import { ShowHistory } from '../../components/show-history/show-history';
import { cleanSpec } from '../../druid-models';
import { Api } from '../../singletons';
import { deepGet } from '../../utils';
import { BasicAction } from '../../utils/basic-action';
import { SideButtonMetaData, TableActionDialog } from '../table-action-dialog/table-action-dialog';
import type { BasicAction } from '../../utils/basic-action';
import type { SideButtonMetaData } from '../table-action-dialog/table-action-dialog';
import { TableActionDialog } from '../table-action-dialog/table-action-dialog';
import { SupervisorStatisticsTable } from './supervisor-statistics-table/supervisor-statistics-table';

View File

@ -16,12 +16,15 @@
* limitations under the License.
*/
import { Button, Classes, Dialog, Icon, IconName, Intent } from '@blueprintjs/core';
import type { IconName } from '@blueprintjs/core';
import { Button, Classes, Dialog, Icon, Intent } from '@blueprintjs/core';
import { IconNames } from '@blueprintjs/icons';
import { Popover2 } from '@blueprintjs/popover2';
import React, { ReactNode } from 'react';
import type { ReactNode } from 'react';
import React from 'react';
import { BasicAction, basicActionsToMenu } from '../../utils/basic-action';
import type { BasicAction } from '../../utils/basic-action';
import { basicActionsToMenu } from '../../utils/basic-action';
import './table-action-dialog.scss';

View File

@ -21,8 +21,9 @@ import React, { useState } from 'react';
import { ShowJson, ShowLog } from '../../components';
import { Api } from '../../singletons';
import { deepGet } from '../../utils';
import { BasicAction } from '../../utils/basic-action';
import { SideButtonMetaData, TableActionDialog } from '../table-action-dialog/table-action-dialog';
import type { BasicAction } from '../../utils/basic-action';
import type { SideButtonMetaData } from '../table-action-dialog/table-action-dialog';
import { TableActionDialog } from '../table-action-dialog/table-action-dialog';
interface TaskTableActionDialogProps {
taskId: string;

View File

@ -19,7 +19,7 @@
import { Code } from '@blueprintjs/core';
import React from 'react';
import { Field } from '../../components';
import type { Field } from '../../components';
import { deepGet, deepSet, oneOf } from '../../utils';
export interface CompactionConfig {

View File

@ -16,9 +16,10 @@
* limitations under the License.
*/
import { CompactionConfig } from '../compaction-config/compaction-config';
import type { CompactionConfig } from '../compaction-config/compaction-config';
import { CompactionStatus, formatCompactionInfo, zeroCompactionStatus } from './compaction-status';
import type { CompactionStatus } from './compaction-status';
import { formatCompactionInfo, zeroCompactionStatus } from './compaction-status';
describe('compaction status', () => {
const BASIC_CONFIG: CompactionConfig = {

View File

@ -17,10 +17,8 @@
*/
import { formatBytesCompact, pluralIfNeeded } from '../../utils';
import {
CompactionConfig,
compactionConfigHasLegacyInputSegmentSizeBytesSet,
} from '../compaction-config/compaction-config';
import type { CompactionConfig } from '../compaction-config/compaction-config';
import { compactionConfigHasLegacyInputSegmentSizeBytesSet } from '../compaction-config/compaction-config';
function capitalizeFirst(str: string): string {
return str.slice(0, 1).toUpperCase() + str.slice(1).toLowerCase();

View File

@ -19,7 +19,7 @@
import { Code } from '@blueprintjs/core';
import React from 'react';
import { Field } from '../../components';
import type { Field } from '../../components';
export interface CoordinatorDynamicConfig {
maxSegmentsToMove?: number;

Some files were not shown because too many files have changed in this diff Show More