MCPcopy Index your code
hub / github.com/emberjs/ember-inspector

github.com/emberjs/ember-inspector @v4.17.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v4.17.0 ↗ · + Follow
1,370 symbols 3,009 edges 224 files 120 documented · 9%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Ember Inspector Build Status

Adds an Ember tab to the browser's Developer Tools that allows you to inspect Ember objects in your application.

Installation

Chrome

Install the extension from the Chrome Web Store.

OR:

  • Clone the repository
  • cd into the repo directory
  • run pnpm add -g ember-cli
  • run pnpm install
  • run pnpm build to build the dist directory
  • Visit chrome://extensions in Chrome
  • Make sure Developer mode is checked
  • Click on 'Load unpacked extension...'
  • Choose the dist/chrome folder in the cloned repo
  • Close and re-open developer tools if it's already open

Firefox

Install the Firefox addon.

OR:

  • Clone the repository
  • cd into the repo directory
  • run pnpm add -g ember-cli
  • run pnpm install
  • run pnpm build to build the dist directory
  • Visit about:debugging#/runtime/this-firefox in Firefox
  • Click on 'Load Temporary Add-on…'
  • Choose the dist/firefox/manifest.json file in the cloned repo

Opera

  • Clone the repository
  • cd into the repo directory
  • run pnpm add -g ember-cli
  • run pnpm install
  • run pnpm build to build the dist directory
  • Visit chrome://extensions in Opera
  • Make sure Developer mode is checked
  • Click on 'Load unpacked extension...'
  • Choose the dist/chrome folder in the cloned repo
  • Close and re-open developer tools if it's already open

Bookmarklet (All Browsers)

javascript: (function() { var s = document.createElement('script'); s.src = '//ember-extension.s3.amazonaws.com/dist_bookmarklet/load_inspector.js'; document.body.appendChild(s); }());

Internet explorer will open an iframe instead of a popup due to the lack of support for cross-origin messaging.

For development:

  • In a terminal:
  • run pnpm serve:bookmarklet
  • In your browser:
  • If Ember Inspector is installed as an active extension, deactivate it
  • Visit the Ember app you want to inspect
  • Open the developer tool console and execute the following (make sure you unblock the popup when you run the bookmarklet):
javascript: (function() { var s = document.createElement('script'); s.src = 'http://localhost:9191/bookmarklet/load_inspector.js'; document.body.appendChild(s); }());

Or to do this more easily in the future, create a new bookmark in your browser, and copy the above script as the URL.

The expected behavior is a new window opening with the URL http://localhost:9191/bookmarklet/<pane-root>/index.html?inspectedWindowURL=<inspected-app-url>, running your local ember-inspector. The content should be the same as the one you see when using the published extension, but not properly styled.

Vite Support

If your Ember app is running on Vite, you may need @embroider/legacy-inspector-support to get things working in your app.

Window Messages

The Ember Inspector uses window messages, so if you are using window messages in your application code, make sure you verify the sender and add checks to your event listener so as not to conflict with the inspector's messages.

Development

Want to work on inspector? See DEVELOPMENT.md

Extension points exported contracts — how you extend this code

Array (Interface)
(no doc)
types/ember-inspector/index.d.ts
RenderItemArgs (Interface)
(no doc)
app/components/render-item.ts
Profile (Interface)
(no doc)
app/routes/render-tree.ts
ModelType (Interface)
(no doc)
app/services/port.ts
SerializedPromise (Interface)
(no doc)
app/libs/promise-assembler.ts
ListContentSignature (Interface)
(no doc)
app/components/list-content.ts
RenderTreeModel (Interface)
(no doc)
app/routes/render-tree.ts
RecordType (Interface)
(no doc)
app/services/port.ts

Core symbols most depended-on inside this repo

respondWith
called by 121
tests/test-adapter.js
create
called by 60
tests/integration/injection-test.js
sendMessage
called by 49
tests/test-adapter.js
map
called by 48
ember_debug/libs/source-map.js
sendMessage
called by 43
ember_debug/debug-port.js
send
called by 41
app/controllers/component-tree.js
on
called by 40
app/services/port.ts
emberSafeRequire
called by 40
ember_debug/utils/ember.js

Shape

Method 779
Function 323
Class 258
Interface 10

Languages

TypeScript100%

Modules by API surface

app/controllers/component-tree.js68 symbols
tests/ember_debug/object-inspector-test.js49 symbols
ember_debug/object-inspector.js49 symbols
ember_debug/libs/render-tree.js39 symbols
ember_debug/libs/view-inspection.js31 symbols
tests/ember_debug/view-debug-test.js30 symbols
ember_debug/view-debug.js30 symbols
ember_debug/models/profile-manager.js26 symbols
app/models/promise.ts25 symbols
ember_debug/promise-debug.js23 symbols
ember_debug/data-debug.js23 symbols
app/libs/resizable-columns.js22 symbols

For agents

$ claude mcp add ember-inspector \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page