This commit is contained in:
Nathan Bierema 2021-11-06 00:50:30 -04:00
parent 16cad91ede
commit 702c7e8103
17 changed files with 142 additions and 98 deletions

View File

@ -0,0 +1,3 @@
{
"presets": ["@babel/preset-env", "@babel/preset-typescript"]
}

View File

@ -0,0 +1 @@
lib

View File

@ -0,0 +1,7 @@
module.exports = {
extends: '../../eslintrc.ts.base.json',
parserOptions: {
tsconfigRootDir: __dirname,
project: ['./tsconfig.json'],
},
};

View File

@ -7,14 +7,14 @@
Install:
```
npm install --save redux-devtools-extension
yarn add @redux-devtools/extension
```
and use like that:
```js
import { createStore, applyMiddleware } from 'redux';
import { composeWithDevTools } from 'redux-devtools-extension';
import { composeWithDevTools } from '@redux-devtools/extension';
const store = createStore(
reducer,
@ -25,11 +25,11 @@ const store = createStore(
);
```
or if needed to apply [extensions options](https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Arguments.md#windowdevtoolsextensionconfig):
or if needed to apply [extensions options](https://github.com/reduxjs/redux-devtools/blob/main/extension/docs/API/Arguments.md):
```js
import { createStore, applyMiddleware } from 'redux';
import { composeWithDevTools } from 'redux-devtools-extension';
import { composeWithDevTools } from '@redux-devtools/extension';
const composeEnhancers = composeWithDevTools({
// Specify here name, actionsDenylist, actionsCreators and other options
@ -43,7 +43,7 @@ const store = createStore(
);
```
Therere just [few lines of code](https://github.com/zalmoxisus/redux-devtools-extension/blob/master/npm-package/index.js). If you dont want to allow the extension in production, just use redux-devtools-extension/developmentOnly instead of redux-devtools-extension.
Therere just [few lines of code](https://github.com/reduxjs/redux-devtools/blob/main/packages/redux-devtools-extension/src/index.ts). If you dont want to allow the extension in production, just use @redux-devtools/extension/lib/developmentOnly instead of @redux-devtools/extension.
## License

View File

@ -1 +0,0 @@
export * from 'redux-devtools-extension';

View File

@ -1,22 +0,0 @@
'use strict';
var compose = require('redux').compose;
exports.__esModule = true;
exports.composeWithDevTools =
typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__
? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__
: function () {
if (arguments.length === 0) return undefined;
if (typeof arguments[0] === 'object') return compose;
return compose.apply(null, arguments);
};
exports.devToolsEnhancer =
typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__
? window.__REDUX_DEVTOOLS_EXTENSION__
: function () {
return function (noop) {
return noop;
};
};

View File

@ -1 +0,0 @@
export * from 'redux-devtools-extension';

View File

@ -1 +0,0 @@
export * from 'redux-devtools-extension';

View File

@ -1,15 +1,39 @@
{
"name": "redux-devtools-extension",
"name": "@redux-devtools/extension",
"version": "2.13.9",
"description": "Wrappers for Redux DevTools Extension.",
"main": "index.js",
"homepage": "https://github.com/reduxjs/redux-devtools/tree/master/packages/redux-devtools-extension",
"license": "MIT",
"author": "Mihail Diordiev <zalmoxisus@gmail.com> (https://github.com/zalmoxisus)",
"main": "lib/index.js",
"types": "lib/index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/zalmoxisus/redux-devtools-extension"
"url": "https://github.com/reduxjs/redux-devtools"
},
"scripts": {
"build": "yarn run build:types && yarn run build:js",
"build:types": "tsc --emitDeclarationOnly",
"build:js": "babel src --out-dir lib --extensions \".ts\" --source-maps inline",
"clean": "rimraf lib",
"lint": "eslint . --ext .ts",
"type-check": "tsc --noEmit",
"prepack": "yarn run clean && yarn run build",
"prepublish": "yarn run type-check && yarn run lint"
},
"devDependencies": {
"@babel/cli": "^7.16.0",
"@babel/core": "^7.16.0",
"@babel/preset-env": "^7.16.0",
"@babel/preset-typescript": "^7.16.0",
"@typescript-eslint/eslint-plugin": "^5.2.0",
"@typescript-eslint/parser": "^5.2.0",
"eslint": "^7.32.0",
"eslint-config-prettier": "^8.3.0",
"redux": "^4.1.2",
"rimraf": "^3.0.2",
"typescript": "~4.4.4"
},
"homepage": "https://github.com/zalmoxisus/redux-devtools-extension",
"author": "Mihail Diordiev <zalmoxisus@gmail.com> (https://github.com/zalmoxisus)",
"license": "MIT",
"peerDependencies": {
"redux": "^3.1.0 || ^4.0.0"
}

View File

@ -1,9 +1,9 @@
'use strict';
import { compose, StoreEnhancer } from 'redux';
import { EnhancerOptions } from './index';
var compose = require('redux').compose;
declare const process: any;
exports.__esModule = true;
exports.composeWithDevTools =
export const composeWithDevTools =
process.env.NODE_ENV !== 'production' &&
typeof window !== 'undefined' &&
window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__
@ -14,7 +14,7 @@ exports.composeWithDevTools =
return compose.apply(null, arguments);
};
exports.devToolsEnhancer =
export const devToolsEnhancer: (options?: EnhancerOptions) => StoreEnhancer =
process.env.NODE_ENV !== 'production' &&
typeof window !== 'undefined' &&
window.__REDUX_DEVTOOLS_EXTENSION__

View File

@ -1,4 +1,4 @@
import { Action, ActionCreator, StoreEnhancer, compose } from 'redux';
import { Action, ActionCreator, compose, StoreEnhancer } from 'redux';
export interface EnhancerOptions {
/**
@ -43,6 +43,7 @@ export interface EnhancerOptions {
symbol?: boolean;
map?: boolean;
set?: boolean;
// eslint-disable-next-line @typescript-eslint/ban-types
function?: boolean | Function;
};
/**
@ -179,8 +180,26 @@ export interface EnhancerOptions {
traceLimit?: number;
}
export function composeWithDevTools<StoreExt, StateExt>(
...funcs: Array<StoreEnhancer<StoreExt>>
): StoreEnhancer<StoreExt>;
export function composeWithDevTools(options: EnhancerOptions): typeof compose;
export function devToolsEnhancer(options: EnhancerOptions): StoreEnhancer<any>;
declare global {
interface Window {
__REDUX_DEVTOOLS_EXTENSION__?: (options?: EnhancerOptions) => StoreEnhancer;
}
}
export const composeWithDevTools =
typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__
? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__
: function () {
if (arguments.length === 0) return undefined;
if (typeof arguments[0] === 'object') return compose;
return compose.apply(null, arguments);
};
export const devToolsEnhancer: (options?: EnhancerOptions) => StoreEnhancer =
typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__
? window.__REDUX_DEVTOOLS_EXTENSION__
: function () {
return function (noop) {
return noop;
};
};

View File

@ -1,10 +1,9 @@
'use strict';
var assign = require('./utils/assign');
var compose = require('redux').compose;
import assign from './utils/assign';
import { compose, StoreEnhancer } from 'redux';
import { EnhancerOptions } from './index';
function enhancer() {
var config = arguments[0] || {};
const config = arguments[0] || {};
config.features = { pause: true, export: true, test: true };
config.type = 'redux';
if (config.autoPause === undefined) config.autoPause = true;
@ -12,14 +11,14 @@ function enhancer() {
return function (createStore) {
return function (reducer, preloadedState, enhancer) {
var store = createStore(reducer, preloadedState, enhancer);
var origDispatch = store.dispatch;
const store = createStore(reducer, preloadedState, enhancer);
const origDispatch = store.dispatch;
var devTools = window.__REDUX_DEVTOOLS_EXTENSION__.connect(config);
const devTools = window.__REDUX_DEVTOOLS_EXTENSION__.connect(config);
devTools.init(store.getState());
var dispatch = function (action) {
var r = origDispatch(action);
const dispatch = function (action) {
const r = origDispatch(action);
devTools.send(action, store.getState());
return r;
};
@ -36,8 +35,7 @@ function composeWithEnhancer(config) {
};
}
exports.__esModule = true;
exports.composeWithDevTools = function () {
export const composeWithDevTools = function () {
if (typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__) {
if (arguments.length === 0) return enhancer();
if (typeof arguments[0] === 'object')
@ -50,7 +48,7 @@ exports.composeWithDevTools = function () {
return compose.apply(null, arguments);
};
exports.devToolsEnhancer =
export const devToolsEnhancer: (options?: EnhancerOptions) => StoreEnhancer =
typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__
? enhancer
: function () {

View File

@ -1,10 +1,10 @@
'use strict';
import { compose, StoreEnhancer } from 'redux';
import * as logOnly from './logOnly';
import { EnhancerOptions } from './index';
var compose = require('redux').compose;
var logOnly = require('./logOnly');
declare const process: any;
exports.__esModule = true;
exports.composeWithDevTools =
export const composeWithDevTools =
process.env.NODE_ENV === 'production'
? logOnly.composeWithDevTools
: typeof window !== 'undefined' &&
@ -16,7 +16,7 @@ exports.composeWithDevTools =
return compose.apply(null, arguments);
};
exports.devToolsEnhancer =
export const devToolsEnhancer: (options?: EnhancerOptions) => StoreEnhancer =
process.env.NODE_ENV === 'production'
? logOnly.devToolsEnhancer
: typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__

View File

@ -0,0 +1,22 @@
const objectKeys =
Object.keys ||
function (obj) {
const keys = [];
for (const key in obj) {
if ({}.hasOwnProperty.call(obj, key)) keys.push(key);
}
return keys;
};
export default function assign(obj: {}, newKey, newValue) {
const keys = objectKeys(obj);
const copy = {};
for (let i = 0, l = keys.length; i < l; i++) {
const key = keys[i];
copy[key] = obj[key];
}
copy[newKey] = newValue;
return copy;
}

View File

@ -0,0 +1,7 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "lib"
},
"include": ["src"]
}

View File

@ -1,24 +0,0 @@
var objectKeys =
Object.keys ||
function (obj) {
var keys = [];
for (var key in obj) {
if ({}.hasOwnProperty.call(obj, key)) keys.push(key);
}
return keys;
};
function assign(obj, newKey, newValue) {
var keys = objectKeys(obj);
var copy = {};
for (var i = 0, l = keys.length; i < l; i++) {
var key = keys[i];
copy[key] = obj[key];
}
copy[newKey] = newValue;
return copy;
}
module.exports = assign;

View File

@ -4780,6 +4780,26 @@ __metadata:
languageName: unknown
linkType: soft
"@redux-devtools/extension@workspace:packages/redux-devtools-extension":
version: 0.0.0-use.local
resolution: "@redux-devtools/extension@workspace:packages/redux-devtools-extension"
dependencies:
"@babel/cli": ^7.16.0
"@babel/core": ^7.16.0
"@babel/preset-env": ^7.16.0
"@babel/preset-typescript": ^7.16.0
"@typescript-eslint/eslint-plugin": ^5.2.0
"@typescript-eslint/parser": ^5.2.0
eslint: ^7.32.0
eslint-config-prettier: ^8.3.0
redux: ^4.1.2
rimraf: ^3.0.2
typescript: ~4.4.4
peerDependencies:
redux: ^3.1.0 || ^4.0.0
languageName: unknown
linkType: soft
"@redux-devtools/inspector-monitor-test-tab@^0.7.2, @redux-devtools/inspector-monitor-test-tab@workspace:packages/redux-devtools-inspector-monitor-test-tab":
version: 0.0.0-use.local
resolution: "@redux-devtools/inspector-monitor-test-tab@workspace:packages/redux-devtools-inspector-monitor-test-tab"
@ -24596,14 +24616,6 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
"redux-devtools-extension@workspace:packages/redux-devtools-extension":
version: 0.0.0-use.local
resolution: "redux-devtools-extension@workspace:packages/redux-devtools-extension"
peerDependencies:
redux: ^3.1.0 || ^4.0.0
languageName: unknown
linkType: soft
"redux-devtools-themes@npm:^1.0.0":
version: 1.0.0
resolution: "redux-devtools-themes@npm:1.0.0"