All Projects → mattzeunert → Immutable Object Formatter Extension

mattzeunert / Immutable Object Formatter Extension

Make ImmutableJS objects more readable when viewed in Chrome DevTools

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Immutable Object Formatter Extension

React Redux Card Game
A web version of Blizzard's Hearthstone game built with React, Redux and ImmutableJS
Stars: ✭ 85 (-32%)
Mutual labels:  immutablejs
Oh My Fullstack
🚀 Full stack web application skeleton (Next.js, Redux, RxJS, Immutable, Express)
Stars: ✭ 99 (-20.8%)
Mutual labels:  immutablejs
Capturecalls.js
captureCalls('document.getElementById') to show a stack trace for document.getElementById on its every call
Stars: ✭ 112 (-10.4%)
Mutual labels:  chrome-devtools
React Perftool
A browser developer tool extension, which will help you to inspect the performance of React Js components.
Stars: ✭ 90 (-28%)
Mutual labels:  chrome-devtools
Go Chrome
A golang library for interacting with the Chrome DevTools Protocol. https://chromedevtools.github.io/devtools-protocol/
Stars: ✭ 96 (-23.2%)
Mutual labels:  chrome-devtools
Redux Immutable Examples
A complete application showing use of redux-immutable.
Stars: ✭ 103 (-17.6%)
Mutual labels:  immutablejs
React Base
atSistemas React/Redux Isomorphic Platform
Stars: ✭ 82 (-34.4%)
Mutual labels:  immutablejs
Angular Rpg
RPG game built with Typescript, Angular, ngrx/store and rxjs
Stars: ✭ 120 (-4%)
Mutual labels:  immutablejs
Neteasecloudmusic
React 16.13.1 - Create React App 实现网易云音乐(网页版)
Stars: ✭ 98 (-21.6%)
Mutual labels:  immutablejs
Chrome Devtools Protocol
Chrome Devtools Protocol client for PHP
Stars: ✭ 112 (-10.4%)
Mutual labels:  chrome-devtools
Wp Php Console
📟 Implementation of PHP Console for WordPress.
Stars: ✭ 91 (-27.2%)
Mutual labels:  chrome-devtools
Molecule
⚛️ – :atom: – ⚛️ Boilerplate for cross platform web/native react apps with electron.
Stars: ✭ 95 (-24%)
Mutual labels:  immutablejs
Puppeteer Webperf
Automating Web Performance testing with Puppeteer 🎪
Stars: ✭ 1,392 (+1013.6%)
Mutual labels:  chrome-devtools
Go Stare
A fast & light web screenshot without headless browser but Chrome DevTools Protocol!
Stars: ✭ 87 (-30.4%)
Mutual labels:  chrome-devtools
Fetch Plus
🐕 Fetch+ is a convenient Fetch API replacement with first-class middleware support.
Stars: ✭ 116 (-7.2%)
Mutual labels:  immutablejs
React Eyepetizer
react版「Eyepetizer」开眼短视频
Stars: ✭ 83 (-33.6%)
Mutual labels:  immutablejs
Shopify Theme Inspector
A Chrome DevTools plugin that visualizes Shopify Liquid render profiling data so you can triage long-running code and reduce server response times!
Stars: ✭ 102 (-18.4%)
Mutual labels:  chrome-devtools
Chrome Devtools Java Client
Chrome DevTools java client.
Stars: ✭ 121 (-3.2%)
Mutual labels:  chrome-devtools
Polydev
Automatic web components profiling in chrome devtools
Stars: ✭ 118 (-5.6%)
Mutual labels:  chrome-devtools
Rod
A Devtools driver for web automation and scraping
Stars: ✭ 1,392 (+1013.6%)
Mutual labels:  chrome-devtools

Immutable.js Object Formatter (Chrome Extension)

Transforms Immutable JS objects to a more readable format when they are logged to the console.

Install the Chrome Extension

Based on immutable-devtools.

The Chrome extension will only work if you enable Custom Formatters in the DevTools settings.

Step 1: Open DevTools settings

Step 2: Enable custom formatters

How it works

The code in "/immutable-devtools" is essentially just a copy of immutable-devtools.

The two main differences are:

  1. We can't use instanceof Immutable.Record to detect if an object is a record, since we don't have access to the Immutable module that's loaded on the page. (We only have access to the one loaded in the extension.)
    We can still identify Records correctly, but the way we do it means there's a chance that an internal change in how Immutable.JS works could break that.
  2. The code can be loaded and unloaded several times on the same page, so we can't rely on variables inside the modules to detect if the formatters have already been injected into the page. Instead I'm setting a window.__ImmutableJSDevToolsFormattersInstalled property.

Then all that's left to do is to load the code in "devtools.js".

Running the code locally

  1. npm install
  2. npm run dev
  3. Load the "/extension" directory as an unpacked Chrome extension
  4. Open "/test-page/index.html" to check everything looks as expected

Make sure to reload the extension after any changes.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].