mirror of
https://github.com/reduxjs/redux-devtools.git
synced 2024-11-22 01:26:48 +03:00
chore(extension): upgrade gulp (#662)
* Update upath * Upgrade gulp * Fix core-js * stash * prettier
This commit is contained in:
parent
e1bd517519
commit
9cf69bcc63
|
@ -1,4 +1,5 @@
|
|||
{
|
||||
"root": true,
|
||||
"extends": "eslint-config-airbnb",
|
||||
"globals": {
|
||||
"chrome": true,
|
||||
|
|
|
@ -18,7 +18,7 @@ function copy(dest) {
|
|||
/*
|
||||
* common tasks
|
||||
*/
|
||||
gulp.task('replace-webpack-code', () => {
|
||||
gulp.task('replace-webpack-code', (done) => {
|
||||
const replaceTasks = [
|
||||
{
|
||||
from: './webpack/replace/JsonpMainTemplate.runtime.js',
|
||||
|
@ -32,6 +32,7 @@ gulp.task('replace-webpack-code', () => {
|
|||
replaceTasks.forEach((task) =>
|
||||
fs.writeFileSync(task.to, fs.readFileSync(task.from))
|
||||
);
|
||||
done();
|
||||
});
|
||||
|
||||
/*
|
||||
|
@ -48,7 +49,7 @@ gulp.task('webpack:dev', (callback) => {
|
|||
callback();
|
||||
});
|
||||
|
||||
gulp.task('views:dev', () => {
|
||||
gulp.task('views:dev', (done) => {
|
||||
gulp
|
||||
.src('./src/browser/views/*.pug')
|
||||
.pipe(
|
||||
|
@ -57,14 +58,16 @@ gulp.task('views:dev', () => {
|
|||
})
|
||||
)
|
||||
.pipe(gulp.dest('./dev'));
|
||||
done();
|
||||
});
|
||||
|
||||
gulp.task('copy:dev', () => {
|
||||
gulp.task('copy:dev', (done) => {
|
||||
gulp
|
||||
.src('./src/browser/extension/manifest.json')
|
||||
.pipe(rename('manifest.json'))
|
||||
.pipe(gulp.dest('./dev'));
|
||||
copy('./dev');
|
||||
done();
|
||||
});
|
||||
|
||||
/*
|
||||
|
@ -95,7 +98,7 @@ gulp.task('webpack:build:extension', (callback) => {
|
|||
});
|
||||
});
|
||||
|
||||
gulp.task('views:build:extension', () => {
|
||||
gulp.task('views:build:extension', (done) => {
|
||||
gulp
|
||||
.src(['./src/browser/views/*.pug'])
|
||||
.pipe(
|
||||
|
@ -104,47 +107,36 @@ gulp.task('views:build:extension', () => {
|
|||
})
|
||||
)
|
||||
.pipe(gulp.dest('./build/extension'));
|
||||
done();
|
||||
});
|
||||
|
||||
gulp.task('copy:build:extension', () => {
|
||||
gulp.task('copy:build:extension', (done) => {
|
||||
gulp
|
||||
.src('./src/browser/extension/manifest.json')
|
||||
.pipe(rename('manifest.json'))
|
||||
.pipe(gulp.dest('./build/extension'));
|
||||
copy('./build/extension');
|
||||
});
|
||||
|
||||
gulp.task('copy:build:firefox', ['build:extension'], () => {
|
||||
gulp
|
||||
.src([
|
||||
'./build/extension/**',
|
||||
'!./build/extension/js/redux-devtools-extension.js',
|
||||
])
|
||||
.pipe(gulp.dest('./build/firefox'))
|
||||
.on('finish', function () {
|
||||
gulp
|
||||
.src('./src/browser/firefox/manifest.json')
|
||||
.pipe(gulp.dest('./build/firefox'));
|
||||
});
|
||||
copy('./build/firefox');
|
||||
done();
|
||||
});
|
||||
|
||||
/*
|
||||
* compress task
|
||||
*/
|
||||
|
||||
gulp.task('compress:extension', () => {
|
||||
gulp.task('compress:extension', (done) => {
|
||||
gulp
|
||||
.src('build/extension/**')
|
||||
.pipe(zip('extension.zip'))
|
||||
.pipe(gulp.dest('./build'));
|
||||
done();
|
||||
});
|
||||
|
||||
gulp.task('compress:firefox', () => {
|
||||
gulp.task('compress:firefox', (done) => {
|
||||
gulp
|
||||
.src('build/firefox/**')
|
||||
.pipe(zip('firefox.zip'))
|
||||
.pipe(gulp.dest('./build'));
|
||||
done();
|
||||
});
|
||||
|
||||
/*
|
||||
|
@ -152,13 +144,13 @@ gulp.task('compress:firefox', () => {
|
|||
*/
|
||||
|
||||
gulp.task('views:watch', () => {
|
||||
gulp.watch('./src/browser/views/*.pug', ['views:dev']);
|
||||
gulp.watch('./src/browser/views/*.pug', gulp.series('views:dev'));
|
||||
});
|
||||
|
||||
gulp.task('copy:watch', () => {
|
||||
gulp.watch(
|
||||
['./src/browser/extension/manifest.json', './src/assets/**/*'],
|
||||
['copy:dev']
|
||||
gulp.series('copy:dev')
|
||||
);
|
||||
});
|
||||
|
||||
|
@ -178,18 +170,42 @@ gulp.task('test:electron', () => {
|
|||
.on('end', () => crdv.stop());
|
||||
});
|
||||
|
||||
gulp.task('default', [
|
||||
'replace-webpack-code',
|
||||
'webpack:dev',
|
||||
'views:dev',
|
||||
'copy:dev',
|
||||
'views:watch',
|
||||
'copy:watch',
|
||||
]);
|
||||
gulp.task('build:extension', [
|
||||
'replace-webpack-code',
|
||||
'webpack:build:extension',
|
||||
'views:build:extension',
|
||||
'copy:build:extension',
|
||||
]);
|
||||
gulp.task('build:firefox', ['copy:build:firefox']);
|
||||
gulp.task(
|
||||
'default',
|
||||
gulp.parallel(
|
||||
'replace-webpack-code',
|
||||
'webpack:dev',
|
||||
'views:dev',
|
||||
'copy:dev',
|
||||
'views:watch',
|
||||
'copy:watch'
|
||||
)
|
||||
);
|
||||
gulp.task(
|
||||
'build:extension',
|
||||
gulp.parallel(
|
||||
'replace-webpack-code',
|
||||
'webpack:build:extension',
|
||||
'views:build:extension',
|
||||
'copy:build:extension'
|
||||
)
|
||||
);
|
||||
gulp.task(
|
||||
'copy:build:firefox',
|
||||
gulp.series('build:extension', (done) => {
|
||||
gulp
|
||||
.src([
|
||||
'./build/extension/**',
|
||||
'!./build/extension/js/redux-devtools-extension.js',
|
||||
])
|
||||
.pipe(gulp.dest('./build/firefox'))
|
||||
.on('finish', function () {
|
||||
gulp
|
||||
.src('./src/browser/firefox/manifest.json')
|
||||
.pipe(gulp.dest('./build/firefox'));
|
||||
});
|
||||
copy('./build/firefox');
|
||||
done();
|
||||
})
|
||||
);
|
||||
gulp.task('build:firefox', gulp.series('copy:build:firefox'));
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
"eslint-plugin-react": "^3.2.3",
|
||||
"expect": "^1.20.1",
|
||||
"gitbook-cli": "^2.3.0",
|
||||
"gulp": "^3.9.1",
|
||||
"gulp": "^4.0.2",
|
||||
"gulp-mocha": "^3.0.1",
|
||||
"gulp-pug": "^3.1.0",
|
||||
"gulp-rename": "^1.2.2",
|
||||
|
|
|
@ -31,8 +31,9 @@ export function isFiltered(action, localFilter) {
|
|||
if (
|
||||
noFiltersApplied(localFilter) ||
|
||||
(typeof action !== 'string' && typeof action.type.match !== 'function')
|
||||
)
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const { whitelist, blacklist } = localFilter || window.devToolsOptions || {};
|
||||
const actionType = action.type || action;
|
||||
|
@ -67,9 +68,9 @@ export function filterState(
|
|||
nextActionId,
|
||||
predicate
|
||||
) {
|
||||
if (type === 'ACTION')
|
||||
if (type === 'ACTION') {
|
||||
return !stateSanitizer ? state : stateSanitizer(state, nextActionId - 1);
|
||||
else if (type !== 'STATE') return state;
|
||||
} else if (type !== 'STATE') return state;
|
||||
|
||||
if (predicate || !noFiltersApplied(localFilter)) {
|
||||
const filteredStagedActionIds = [];
|
||||
|
@ -151,8 +152,9 @@ export function startingFrom(
|
|||
if (
|
||||
(predicate && !predicate(currState.state, currAction.action)) ||
|
||||
isFiltered(currAction.action, localFilter)
|
||||
)
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
filteredStagedActionIds.push(key);
|
||||
if (i < index) continue;
|
||||
}
|
||||
|
|
|
@ -3,9 +3,10 @@ import jsan from 'jsan';
|
|||
import seralizeImmutable from 'remotedev-serialize/immutable/serialize';
|
||||
|
||||
function deprecate(param) {
|
||||
// eslint-disable-next-line no-console
|
||||
console.warn(
|
||||
`\`${param}\` parameter for Redux DevTools Extension is deprecated. Use \`serialize\` parameter instead: https://github.com/zalmoxisus/redux-devtools-extension/releases/tag/v2.12.1`
|
||||
); // eslint-disable-line
|
||||
);
|
||||
}
|
||||
|
||||
export default function importState(
|
||||
|
@ -34,8 +35,9 @@ export default function importState(
|
|||
let preloadedState;
|
||||
let nextLiftedState = parse(state);
|
||||
if (nextLiftedState.payload) {
|
||||
if (nextLiftedState.preloadedState)
|
||||
if (nextLiftedState.preloadedState) {
|
||||
preloadedState = parse(nextLiftedState.preloadedState);
|
||||
}
|
||||
nextLiftedState = parse(nextLiftedState.payload);
|
||||
}
|
||||
if (deserializeState) {
|
||||
|
|
|
@ -21,8 +21,9 @@ function tryCatchStringify(obj) {
|
|||
return JSON.stringify(obj);
|
||||
} catch (err) {
|
||||
/* eslint-disable no-console */
|
||||
if (process.env.NODE_ENV !== 'production')
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
console.log('Failed to stringify', err);
|
||||
}
|
||||
/* eslint-enable no-console */
|
||||
return jsan.stringify(obj, windowReplacer, null, {
|
||||
circular: '[CIRCULAR]',
|
||||
|
@ -71,8 +72,9 @@ export function getSeralizeParameter(config, param) {
|
|||
: immutableSerializer.options,
|
||||
};
|
||||
}
|
||||
if (!serialize.replacer && !serialize.reviver)
|
||||
if (!serialize.replacer && !serialize.reviver) {
|
||||
return { options: serialize.options };
|
||||
}
|
||||
return {
|
||||
replacer: serialize.replacer,
|
||||
reviver: serialize.reviver,
|
||||
|
@ -82,9 +84,10 @@ export function getSeralizeParameter(config, param) {
|
|||
|
||||
const value = config[param];
|
||||
if (typeof value === 'undefined') return undefined;
|
||||
// eslint-disable-next-line no-console
|
||||
console.warn(
|
||||
`\`${param}\` parameter for Redux DevTools Extension is deprecated. Use \`serialize\` parameter instead: https://github.com/zalmoxisus/redux-devtools-extension/releases/tag/v2.12.1`
|
||||
); // eslint-disable-line
|
||||
);
|
||||
|
||||
if (typeof serializeState === 'boolean') return { options: value };
|
||||
if (typeof serializeState === 'function') return { replacer: value };
|
||||
|
@ -133,8 +136,9 @@ function getStackTrace(config, toExcludeFromTrace) {
|
|||
function amendActionType(action, config, toExcludeFromTrace) {
|
||||
let timestamp = Date.now();
|
||||
let stack = getStackTrace(config, toExcludeFromTrace);
|
||||
if (typeof action === 'string')
|
||||
if (typeof action === 'string') {
|
||||
return { action: { type: action }, timestamp, stack };
|
||||
}
|
||||
if (!action.type) return { action: { type: 'update' }, timestamp, stack };
|
||||
if (action.action) return stack ? { stack, ...action } : action;
|
||||
return { action, timestamp, stack };
|
||||
|
@ -187,17 +191,19 @@ export function sendMessage(action, state, config, instanceId, name) {
|
|||
}
|
||||
|
||||
function handleMessages(event) {
|
||||
if (process.env.BABEL_ENV !== 'test' && (!event || event.source !== window))
|
||||
if (process.env.BABEL_ENV !== 'test' && (!event || event.source !== window)) {
|
||||
return;
|
||||
}
|
||||
const message = event.data;
|
||||
if (!message || message.source !== '@devtools-extension') return;
|
||||
Object.keys(listeners).forEach((id) => {
|
||||
if (message.id && id !== message.id) return;
|
||||
if (typeof listeners[id] === 'function') listeners[id](message);
|
||||
else
|
||||
else {
|
||||
listeners[id].forEach((fn) => {
|
||||
fn(message);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -229,9 +235,10 @@ export function connect(preConfig) {
|
|||
const config = preConfig || {};
|
||||
const id = generateId(config.instanceId);
|
||||
if (!config.instanceId) config.instanceId = id;
|
||||
if (!config.name)
|
||||
if (!config.name) {
|
||||
config.name =
|
||||
document.title && id === 1 ? document.title : `Instance ${id}`;
|
||||
}
|
||||
if (config.serialize) config.serialize = getSeralizeParameter(config);
|
||||
const actionCreators = config.actionCreators || {};
|
||||
const latency = config.latency;
|
||||
|
@ -306,8 +313,9 @@ export function connect(preConfig) {
|
|||
timestamp: Date.now(),
|
||||
};
|
||||
}
|
||||
} else if (config.actionSanitizer)
|
||||
} else if (config.actionSanitizer) {
|
||||
amendedAction = config.actionSanitizer(action);
|
||||
}
|
||||
amendedAction = amendActionType(amendedAction, config, send);
|
||||
if (latency) {
|
||||
delayedActions.push(amendedAction);
|
||||
|
|
|
@ -34,8 +34,9 @@ function catchErrors(e) {
|
|||
if (
|
||||
(window.devToolsOptions && !window.devToolsOptions.shouldCatchErrors) ||
|
||||
e.timeStamp - lastTime < nextErrorTimeout()
|
||||
)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
lastTime = e.timeStamp;
|
||||
nextErrorTimeout(true);
|
||||
postError(e.message);
|
||||
|
|
|
@ -31,8 +31,9 @@ export default class Monitor {
|
|||
isPaused = () => {
|
||||
if (this.paused) {
|
||||
if (this.lastAction !== 'BLOCKED') {
|
||||
if (!window.__REDUX_DEVTOOLS_EXTENSION_LOCKED__)
|
||||
if (!window.__REDUX_DEVTOOLS_EXTENSION_LOCKED__) {
|
||||
this.lastAction = 'BLOCKED';
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -9,8 +9,9 @@ export default function openDevToolsWindow(position) {
|
|||
lastPosition = position;
|
||||
} else {
|
||||
let params = { focused: true };
|
||||
if (lastPosition !== position && position !== 'devtools-panel')
|
||||
if (lastPosition !== position && position !== 'devtools-panel') {
|
||||
params = { ...params, ...customOptions };
|
||||
}
|
||||
chrome.windows.update(windows[position], params, () => {
|
||||
lastPosition = null;
|
||||
if (chrome.runtime.lastError) callback();
|
||||
|
|
|
@ -93,8 +93,9 @@ function tryCatch(fn, args) {
|
|||
}
|
||||
handleDisconnect();
|
||||
/* eslint-disable no-console */
|
||||
if (process.env.NODE_ENV !== 'production')
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
console.error('Failed to send message', err);
|
||||
}
|
||||
/* eslint-enable no-console */
|
||||
}
|
||||
}
|
||||
|
@ -112,8 +113,9 @@ function send(message) {
|
|||
// Resend messages from the page to the background script
|
||||
function handleMessages(event) {
|
||||
if (!isAllowed()) return;
|
||||
if (!event || event.source !== window || typeof event.data !== 'object')
|
||||
if (!event || event.source !== window || typeof event.data !== 'object') {
|
||||
return;
|
||||
}
|
||||
const message = event.data;
|
||||
if (message.source !== pageSource) return;
|
||||
if (message.type === 'DISCONNECT') {
|
||||
|
|
|
@ -164,8 +164,9 @@ const __REDUX_DEVTOOLS_EXTENSION__ = function (
|
|||
isFiltered(action, localFilter) ||
|
||||
(predicate &&
|
||||
!predicate(computedStates[computedStates.length - 1].state, action))
|
||||
)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
const state =
|
||||
liftedState.computedStates[liftedState.computedStates.length - 1].state;
|
||||
relay(
|
||||
|
@ -233,8 +234,9 @@ const __REDUX_DEVTOOLS_EXTENSION__ = function (
|
|||
if (
|
||||
!features.jump &&
|
||||
(type === 'JUMP_TO_STATE' || type === 'JUMP_TO_ACTION')
|
||||
)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
if (!features.skip && type === 'TOGGLE_ACTION') return;
|
||||
if (!features.reorder && type === 'REORDER_ACTION') return;
|
||||
if (!features.import && type === 'IMPORT_STATE') return;
|
||||
|
@ -297,8 +299,13 @@ const __REDUX_DEVTOOLS_EXTENSION__ = function (
|
|||
const filteredActionIds = []; // simple circular buffer of non-excluded actions with fixed maxAge-1 length
|
||||
const getMaxAge = (liftedAction, liftedState) => {
|
||||
let m = (config && config.maxAge) || window.devToolsOptions.maxAge || 50;
|
||||
if (!liftedAction || noFiltersApplied(localFilter) || !liftedAction.action)
|
||||
if (
|
||||
!liftedAction ||
|
||||
noFiltersApplied(localFilter) ||
|
||||
!liftedAction.action
|
||||
) {
|
||||
return m;
|
||||
}
|
||||
if (!maxAge || maxAge < m) maxAge = m; // it can be modified in process on options page
|
||||
if (isFiltered(liftedAction.action, localFilter)) {
|
||||
// TODO: check also predicate && !predicate(state, action) with current state
|
||||
|
@ -347,8 +354,9 @@ const __REDUX_DEVTOOLS_EXTENSION__ = function (
|
|||
relayAction();
|
||||
return;
|
||||
}
|
||||
if (monitor.isPaused() || monitor.isLocked() || monitor.isTimeTraveling())
|
||||
if (monitor.isPaused() || monitor.isLocked() || monitor.isTimeTraveling()) {
|
||||
return;
|
||||
}
|
||||
const liftedState = store.liftedStore.getState();
|
||||
if (
|
||||
errorOccurred &&
|
||||
|
@ -361,8 +369,9 @@ const __REDUX_DEVTOOLS_EXTENSION__ = function (
|
|||
|
||||
const enhance = () => (next) => {
|
||||
return (reducer_, initialState_, enhancer_) => {
|
||||
if (!isAllowed(window.devToolsOptions))
|
||||
if (!isAllowed(window.devToolsOptions)) {
|
||||
return next(reducer_, initialState_, enhancer_);
|
||||
}
|
||||
|
||||
store = stores[instanceId] = configureStore(next, monitor.reducer, {
|
||||
...config,
|
||||
|
|
|
@ -16,8 +16,9 @@ getPreloadedState(position, (state) => {
|
|||
chrome.runtime.getBackgroundPage(({ store }) => {
|
||||
const localStore = configureStore(store, position, preloadedState);
|
||||
let name = 'monitor';
|
||||
if (chrome && chrome.devtools && chrome.devtools.inspectedWindow)
|
||||
if (chrome && chrome.devtools && chrome.devtools.inspectedWindow) {
|
||||
name += chrome.devtools.inspectedWindow.tabId;
|
||||
}
|
||||
const bg = chrome.runtime.connect({ name });
|
||||
const update = (action) => {
|
||||
localStore.dispatch(action || { type: UPDATE_STATE });
|
||||
|
|
1414
extension/yarn.lock
1414
extension/yarn.lock
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user