Summary: This diffs refactors tsc projects structure and structure of our custom typings to allow producing typescript typings for "flipper" package. In next diffs I'm going to use the produced typings to check compatibility of plugins with certain versions of Flipper, e.g. to check whether plugin is compatible with current "stable" and "insiders" version. Reviewed By: passy Differential Revision: D26997158 fbshipit-source-id: a0416c7139bf08ec9d175730da4c4c2a8768eeb7
39 lines
1.0 KiB
TypeScript
39 lines
1.0 KiB
TypeScript
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @format
|
|
*/
|
|
|
|
import './global';
|
|
import {createStore} from 'redux';
|
|
import reducers, {Actions, State as StoreState, Store} from './reducers/index';
|
|
import {stateSanitizer} from './utils/reduxDevToolsConfig';
|
|
import isProduction from './utils/isProduction';
|
|
import {_SandyPluginDefinition} from 'flipper-plugin';
|
|
export const store: Store = createStore<StoreState, Actions, any, any>(
|
|
rootReducer,
|
|
// @ts-ignore Type definition mismatch
|
|
window.__REDUX_DEVTOOLS_EXTENSION__
|
|
? window.__REDUX_DEVTOOLS_EXTENSION__({
|
|
// @ts-ignore: stateSanitizer is not part of type definition.
|
|
stateSanitizer,
|
|
})
|
|
: undefined,
|
|
);
|
|
|
|
export function rootReducer(
|
|
state: StoreState | undefined,
|
|
action: Actions,
|
|
): StoreState {
|
|
return reducers(state, action);
|
|
}
|
|
|
|
if (!isProduction()) {
|
|
// For debugging purposes only
|
|
// @ts-ignore
|
|
window.flipperStore = store;
|
|
}
|