diff --git a/extension/CHANGELOG.md b/extension/CHANGELOG.md index 2c47a05f..f5ad9b89 100644 --- a/extension/CHANGELOG.md +++ b/extension/CHANGELOG.md @@ -1,5 +1,24 @@ # remotedev-redux-devtools-extension +## 3.1.4 + +### Patch Changes + +- Updated dependencies [e57bcb39] + - @redux-devtools/app@4.0.0 + +## 3.1.3 + +### Patch Changes + +- bca76009: Fix missing CSS for code editor + +## 3.1.2 + +### Patch Changes + +- 64ed81b0: Fix extension in Firefox and Chrome Incognito + ## 3.1.1 ### Patch Changes diff --git a/extension/chrome/manifest.json b/extension/chrome/manifest.json index 682becd9..e61f37da 100644 --- a/extension/chrome/manifest.json +++ b/extension/chrome/manifest.json @@ -1,5 +1,5 @@ { - "version": "3.1.1", + "version": "3.1.3", "name": "Redux DevTools", "description": "Redux DevTools for debugging application's state changes.", "homepage_url": "https://github.com/reduxjs/redux-devtools", diff --git a/extension/edge/manifest.json b/extension/edge/manifest.json index 48246ca6..3337ff41 100644 --- a/extension/edge/manifest.json +++ b/extension/edge/manifest.json @@ -1,5 +1,5 @@ { - "version": "3.1.1", + "version": "3.1.3", "name": "Redux DevTools", "description": "Redux DevTools for debugging application's state changes.", "homepage_url": "https://github.com/reduxjs/redux-devtools", diff --git a/extension/firefox/manifest.json b/extension/firefox/manifest.json index 01bb2d6b..9e0bd68d 100644 --- a/extension/firefox/manifest.json +++ b/extension/firefox/manifest.json @@ -1,5 +1,5 @@ { - "version": "3.1.1", + "version": "3.1.3", "name": "Redux DevTools", "manifest_version": 2, "description": "Redux Developer Tools for debugging application state changes.", diff --git a/extension/package.json b/extension/package.json index 2c8d1cb3..a755d7b4 100644 --- a/extension/package.json +++ b/extension/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "remotedev-redux-devtools-extension", - "version": "3.1.1", + "version": "3.1.4", "description": "Redux Developer Tools for debugging application state changes.", "homepage": "https://github.com/reduxjs/redux-devtools/tree/master/extension", "license": "MIT", @@ -24,7 +24,7 @@ }, "dependencies": { "@babel/polyfill": "^7.12.1", - "@redux-devtools/app": "^3.0.0", + "@redux-devtools/app": "^4.0.0", "@redux-devtools/core": "^3.13.0", "@redux-devtools/instrument": "^2.1.0", "@redux-devtools/serialize": "^0.4.1", diff --git a/extension/src/devpanel/devpanel.pug b/extension/src/devpanel/devpanel.pug index 4aa1268d..bf5105d3 100644 --- a/extension/src/devpanel/devpanel.pug +++ b/extension/src/devpanel/devpanel.pug @@ -12,4 +12,5 @@ html body #root + link(href='/devpanel.bundle.css', rel='stylesheet') script(src='/devpanel.bundle.js') diff --git a/extension/src/devpanel/store/panelReducer.ts b/extension/src/devpanel/store/panelReducer.ts index 568a080f..9dc14c71 100644 --- a/extension/src/devpanel/store/panelReducer.ts +++ b/extension/src/devpanel/store/panelReducer.ts @@ -12,6 +12,8 @@ import { ReportsState, section, SectionState, + StateTreeSettings, + stateTreeSettings, StoreAction, theme, ThemeState, @@ -25,6 +27,7 @@ export interface StoreStateWithoutSocket { readonly instances: InstancesState; readonly reports: ReportsState; readonly notification: NotificationState; + readonly stateTreeSettings: StateTreeSettings; } const rootReducer: Reducer = @@ -36,6 +39,7 @@ const rootReducer: Reducer = section, theme, connection, + stateTreeSettings, }); export default rootReducer; diff --git a/extension/src/remote/remote.pug b/extension/src/remote/remote.pug index 259bd8f4..a64a926e 100644 --- a/extension/src/remote/remote.pug +++ b/extension/src/remote/remote.pug @@ -8,4 +8,5 @@ html body #root + link(href='/remote.bundle.css', rel='stylesheet') script(src='/remote.bundle.js') diff --git a/extension/src/window/window.pug b/extension/src/window/window.pug index 630a3edf..efda47db 100644 --- a/extension/src/window/window.pug +++ b/extension/src/window/window.pug @@ -14,4 +14,5 @@ html height=300, width=350, style='position: absolute; top: 50%; left: 50%; margin-top: -175px; margin-left: -175px;' ) + link(href='/window.bundle.css', rel='stylesheet') script(src='/window.bundle.js') diff --git a/packages/redux-devtools-app/CHANGELOG.md b/packages/redux-devtools-app/CHANGELOG.md index f2ddb20b..569ff233 100644 --- a/packages/redux-devtools-app/CHANGELOG.md +++ b/packages/redux-devtools-app/CHANGELOG.md @@ -1,5 +1,41 @@ # Change Log +## 4.0.0 + +### Major Changes + +- e57bcb39: The UMD bundle now exports the same thing as the library and includes the CSS in a sperate file. Therfore, the new usage is: + + ```diff + + + + + Redux DevTools + + + + +
+ + + + + + + + ``` + ## 3.0.0 ### Major Changes diff --git a/packages/redux-devtools-app/buildUmd.mjs b/packages/redux-devtools-app/buildUmd.mjs new file mode 100644 index 00000000..8c3db4a7 --- /dev/null +++ b/packages/redux-devtools-app/buildUmd.mjs @@ -0,0 +1,67 @@ +import * as esbuild from 'esbuild'; + +const args = process.argv.slice(2); +const prod = !args.includes('--dev'); + +await esbuild.build({ + bundle: true, + logLevel: 'info', + format: 'iife', + globalName: 'ReduxDevToolsApp', + outfile: prod ? 'umd/redux-devtools-app.min.js' : 'umd/redux-devtools-app.js', + minify: prod, + sourcemap: true, + define: { + 'process.env.NODE_ENV': prod ? '"production"' : '"development"', + }, + entryPoints: ['src/index.tsx'], + loader: { + '.woff2': 'dataurl', + }, + plugins: [ + importAsGlobals({ + react: 'React', + 'react-dom': 'ReactDOM', + }), + ], +}); + +// https://github.com/evanw/esbuild/issues/337#issuecomment-954633403 +function importAsGlobals(mapping) { + // https://stackoverflow.com/a/3561711/153718 + const escRe = (s) => s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); + const filter = new RegExp( + Object.keys(mapping) + .map((mod) => `^${escRe(mod)}$`) + .join('|'), + ); + + return { + name: 'global-imports', + setup(build) { + build.onResolve({ filter }, (args) => { + if (!mapping[args.path]) { + throw new Error('Unknown global: ' + args.path); + } + return { + path: args.path, + namespace: 'external-global', + }; + }); + + build.onLoad( + { + filter, + namespace: 'external-global', + }, + async (args) => { + const global = mapping[args.path]; + return { + contents: `module.exports = ${global};`, + loader: 'js', + }; + }, + ); + }, + }; +} diff --git a/packages/redux-devtools-app/package.json b/packages/redux-devtools-app/package.json index 5d33343c..57072eba 100644 --- a/packages/redux-devtools-app/package.json +++ b/packages/redux-devtools-app/package.json @@ -1,6 +1,6 @@ { "name": "@redux-devtools/app", - "version": "3.0.0", + "version": "4.0.0", "description": "Redux DevTools app", "homepage": "https://github.com/reduxjs/redux-devtools/tree/master/packages/redux-devtools-app", "bugs": { @@ -30,8 +30,8 @@ "build:esm": "babel src --config-file ./babel.config.esm.json --extensions \".ts,.tsx\" --out-dir lib/esm", "build:types": "tsc --emitDeclarationOnly", "build:web": "cross-env TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack --env platform=web", - "build:umd": "cross-env TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack --config webpack.config.umd.ts", - "build:umd:min": "cross-env TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack --env production --config webpack.config.umd.ts", + "build:umd": "node buildUmd.mjs --dev", + "build:umd:min": "node buildUmd.mjs", "clean": "rimraf build lib umd", "test": "jest", "lint": "eslint . --ext .ts,.tsx", @@ -93,6 +93,7 @@ "babel-loader": "^9.1.3", "cross-env": "^7.0.3", "css-loader": "^6.8.1", + "esbuild": "^0.19.2", "eslint": "^8.48.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-jest": "^27.2.3", diff --git a/packages/redux-devtools-app/src/store/configureStore.ts b/packages/redux-devtools-app/src/store/configureStore.ts index c5470ebd..aee3e094 100644 --- a/packages/redux-devtools-app/src/store/configureStore.ts +++ b/packages/redux-devtools-app/src/store/configureStore.ts @@ -35,14 +35,6 @@ export default function configureStore( } ).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__; } - if (module.hot) { - // Enable Webpack hot module replacement for reducers - module.hot.accept('../reducers', () => { - // eslint-disable-next-line @typescript-eslint/no-var-requires - const nextReducer = require('../reducers'); // eslint-disable-line global-require - store.replaceReducer(nextReducer as Reducer); - }); - } } const store = createStore( diff --git a/packages/redux-devtools-app/tsconfig.json b/packages/redux-devtools-app/tsconfig.json index bfbbbab0..4b076071 100644 --- a/packages/redux-devtools-app/tsconfig.json +++ b/packages/redux-devtools-app/tsconfig.json @@ -2,7 +2,7 @@ "extends": "../../tsconfig.react.base.json", "compilerOptions": { "outDir": "lib/types", - "types": ["webpack-env"] + "types": [] }, "include": ["src"] } diff --git a/packages/redux-devtools-app/tsconfig.webpack.json b/packages/redux-devtools-app/tsconfig.webpack.json index d02c0a8f..d728d6be 100644 --- a/packages/redux-devtools-app/tsconfig.webpack.json +++ b/packages/redux-devtools-app/tsconfig.webpack.json @@ -3,5 +3,5 @@ "compilerOptions": { "types": ["node", "webpack-dev-server"] }, - "include": ["webpack.config.ts", "webpack.config.umd.ts"] + "include": ["webpack.config.ts"] } diff --git a/packages/redux-devtools-app/webpack.config.umd.ts b/packages/redux-devtools-app/webpack.config.umd.ts deleted file mode 100644 index d3f4e829..00000000 --- a/packages/redux-devtools-app/webpack.config.umd.ts +++ /dev/null @@ -1,69 +0,0 @@ -import * as path from 'path'; -import * as webpack from 'webpack'; -import ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin'; - -export default (env: { production?: boolean } = {}): webpack.Configuration => ({ - mode: env.production ? 'production' : 'development', - entry: { - app: ['./src/index'], - }, - output: { - library: 'ReduxDevToolsApp', - libraryExport: 'Root', - libraryTarget: 'umd', - path: path.resolve(__dirname, 'umd'), - filename: env.production - ? 'redux-devtools-app.min.js' - : 'redux-devtools-app.js', - }, - module: { - rules: [ - { - test: /\.(js|ts)x?$/, - loader: 'babel-loader', - exclude: /node_modules/, - }, - { - test: /\.html$/, - loader: 'html-loader', - }, - { - test: /\.css$/, - use: [{ loader: 'style-loader' }, { loader: 'css-loader' }], - }, - { - test: /\.woff2$/, - type: 'asset/inline', - }, - ], - }, - resolve: { - extensions: ['.js', '.jsx', '.ts', '.tsx'], - }, - plugins: [ - new webpack.DefinePlugin({ - 'process.env': { - PLATFORM: JSON.stringify('web'), - }, - }), - new ForkTsCheckerWebpackPlugin({ - typescript: { - configFile: 'tsconfig.json', - }, - }), - ], - externals: { - react: { - root: 'React', - commonjs2: 'react', - commonjs: 'react', - amd: 'react', - }, - 'react-dom': { - root: 'ReactDOM', - commonjs2: 'react-dom', - commonjs: 'react-dom', - amd: 'react-dom', - }, - }, -}); diff --git a/packages/redux-devtools-cli/CHANGELOG.md b/packages/redux-devtools-cli/CHANGELOG.md index 428ecb19..8e01213a 100644 --- a/packages/redux-devtools-cli/CHANGELOG.md +++ b/packages/redux-devtools-cli/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log +## 3.0.2 + +### Patch Changes + +- Updated dependencies [e57bcb39] + - @redux-devtools/app@4.0.0 + ## 3.0.1 ### Patch Changes diff --git a/packages/redux-devtools-cli/app/index.html b/packages/redux-devtools-cli/app/index.html index b884f7ae..a8364246 100644 --- a/packages/redux-devtools-cli/app/index.html +++ b/packages/redux-devtools-cli/app/index.html @@ -23,6 +23,7 @@ height: 100%; } +
@@ -32,7 +33,7 @@