Chrome Dev Tools formatter for the Immutable JS library
npm install immutable-devtoolsList
Map & OrderedMap
Set & OrderedSet
Stack
Range (let me know if you use this :-), add :+1: to #21)
Repeat (if you wish this, add :+1: to #22)
Record
Seq — I do not have an idea how to display it. If you know, write it down into #23
npm install --save-dev immutable-devtools
`
And enable with:
`js
var Immutable = require("immutable");
var installDevTools = require("immutable-devtools");
installDevTools(Immutable);
`
Note: You probably only want this library for debug builds, so perhaps wrap with if (DEBUG) {...} or similar.
Chrome Extension
Matt Zeunert created a Chrome Extension based on this project. It automatically installs the formatters when you open the DevTools. (Install from Chrome Web Store).
Using with webpack
You could use webpack.DefinePlugin to create a condition that will be allowed to install immutable-devtools in the debug build but unreachable in the production build:
`javascript
// webpack.config.js
var webpack = require('webpack');
module.exports = {
// ...
plugins: [
new webpack.DefinePlugin({
__DEV__: JSON.stringify(process.env.NODE_ENV !== 'production')
})
],
};
`
In your source you'd have something like this...
`javascript
// index.js
var immutable = require('immutable');
if (__DEV__) {
var installDevTools = require('immutable-devtools');
installDevTools(immutable);
}
`
And then by adding the -p shortcut to webpack for production mode which enables dead code elimination, the condition that requires immutable-devtools will be removed.
`
NODE_ENV=production webpack -p index.js
``