Skip to content

Commit a640e73

Browse files
authored
fix(extension): fix types (#822)
1 parent 95fe2bb commit a640e73

File tree

8 files changed

+71
-24
lines changed

8 files changed

+71
-24
lines changed
Lines changed: 41 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,46 @@
11
import { combineReducers, Reducer } from 'redux';
2-
import instances from '@redux-devtools/app/lib/reducers/instances';
3-
import monitor from '@redux-devtools/app/lib/reducers/monitor';
4-
import notification from '@redux-devtools/app/lib/reducers/notification';
5-
import reports from '@redux-devtools/app/lib/reducers/reports';
6-
import section from '@redux-devtools/app/lib/reducers/section';
7-
import theme from '@redux-devtools/app/lib/reducers/theme';
8-
import connection from '@redux-devtools/app/lib/reducers/connection';
9-
import { StoreState } from '@redux-devtools/app/lib/reducers';
2+
import instances, {
3+
InstancesState,
4+
} from '@redux-devtools/app/lib/reducers/instances';
5+
import monitor, {
6+
MonitorState,
7+
} from '@redux-devtools/app/lib/reducers/monitor';
8+
import notification, {
9+
NotificationState,
10+
} from '@redux-devtools/app/lib/reducers/notification';
11+
import reports, {
12+
ReportsState,
13+
} from '@redux-devtools/app/lib/reducers/reports';
14+
import section, {
15+
SectionState,
16+
} from '@redux-devtools/app/lib/reducers/section';
17+
import theme, { ThemeState } from '@redux-devtools/app/lib/reducers/theme';
18+
import connection, {
19+
ConnectionState,
20+
} from '@redux-devtools/app/lib/reducers/connection';
1021
import { StoreActionWithTogglePersist } from '../../stores/windowStore';
1122

12-
const rootReducer: Reducer<StoreState, StoreActionWithTogglePersist> =
13-
combineReducers<StoreState>({
14-
instances,
15-
monitor,
16-
reports,
17-
notification,
18-
section,
19-
theme,
20-
connection,
21-
});
23+
export interface StoreStateWithoutSocket {
24+
readonly section: SectionState;
25+
readonly theme: ThemeState;
26+
readonly connection: ConnectionState;
27+
readonly monitor: MonitorState;
28+
readonly instances: InstancesState;
29+
readonly reports: ReportsState;
30+
readonly notification: NotificationState;
31+
}
32+
33+
const rootReducer: Reducer<
34+
StoreStateWithoutSocket,
35+
StoreActionWithTogglePersist
36+
> = combineReducers<StoreStateWithoutSocket>({
37+
instances,
38+
monitor,
39+
reports,
40+
notification,
41+
section,
42+
theme,
43+
connection,
44+
});
2245

2346
export default rootReducer;

extension/src/browser/extension/background/contextMenus.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import openDevToolsWindow from './openWindow';
1+
import openDevToolsWindow, { DevToolsPosition } from './openWindow';
22

33
export function createMenu() {
44
const menus = [
@@ -33,5 +33,5 @@ export function removeMenu() {
3333
}
3434

3535
chrome.contextMenus.onClicked.addListener(({ menuItemId }) => {
36-
openDevToolsWindow(menuItemId);
36+
openDevToolsWindow(menuItemId as DevToolsPosition);
3737
});

extension/src/browser/extension/devpanel/index.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { Action, PreloadedState, Store } from 'redux';
1111
import { StoreState } from '@redux-devtools/app/lib/reducers';
1212
import { PanelMessage } from '../../../app/middlewares/api';
1313
import { StoreActionWithTogglePersist } from '../../../app/stores/windowStore';
14+
import { StoreStateWithoutSocket } from '../../../app/reducers/panel';
1415

1516
const position = location.hash;
1617
const messageStyle: CSSProperties = {
@@ -20,7 +21,9 @@ const messageStyle: CSSProperties = {
2021
};
2122

2223
let rendered: boolean | undefined;
23-
let store: Store<StoreState, StoreActionWithTogglePersist> | undefined;
24+
let store:
25+
| Store<StoreStateWithoutSocket, StoreActionWithTogglePersist>
26+
| undefined;
2427
let bgConnection: chrome.runtime.Port;
2528
let naTimeout: NodeJS.Timeout;
2629
let preloadedState: PreloadedState<StoreState>;

extension/webpack/base.config.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import path from 'path';
22
import webpack from 'webpack';
33
import CopyPlugin from 'copy-webpack-plugin';
4+
import ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin';
45

56
const extpath = path.join(__dirname, '../src/browser/extension/');
67
const mock = `${extpath}chromeAPIMock`;
@@ -31,7 +32,15 @@ const baseConfig = (params) => ({
3132
},
3233
plugins: [
3334
new webpack.DefinePlugin(params.globals),
34-
...(params.plugins ? params.plugins : []),
35+
...(params.plugins
36+
? params.plugins
37+
: [
38+
new ForkTsCheckerWebpackPlugin({
39+
typescript: {
40+
configFile: 'tsconfig.json',
41+
},
42+
}),
43+
]),
3544
].concat(
3645
params.copy
3746
? new CopyPlugin({

packages/redux-devtools-app/.eslintrc.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@ module.exports = {
99
project: ['./tsconfig.json'],
1010
},
1111
},
12+
{
13+
files: ['demo/*.ts', 'demo/*.tsx'],
14+
extends: '../../eslintrc.ts.react.base.json',
15+
parserOptions: {
16+
tsconfigRootDir: __dirname,
17+
project: ['./tsconfig.demo.json'],
18+
},
19+
},
1220
{
1321
files: ['test/*.ts', 'test/*.tsx'],
1422
extends: '../../eslintrc.ts.react.jest.base.json',
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"extends": "../../tsconfig.react.base.json",
3+
"include": ["demo", "src"]
4+
}

packages/redux-devtools-app/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
"compilerOptions": {
44
"outDir": "lib"
55
},
6-
"include": ["demo", "src"]
6+
"include": ["src"]
77
}

packages/redux-devtools-app/webpack.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ module.exports = (env: { development?: boolean; platform?: string } = {}) => ({
6565
}),
6666
new ForkTsCheckerWebpackPlugin({
6767
typescript: {
68-
configFile: 'tsconfig.json',
68+
configFile: 'tsconfig.demo.json',
6969
},
7070
}),
7171
],

0 commit comments

Comments
 (0)