• Stars
    star
    976
  • Rank 45,053 (Top 1.0 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 11 years ago
  • Updated 25 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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 yarn global add ember-cli
  • run yarn install
  • run yarn 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 yarn global add ember-cli
  • run yarn install
  • run yarn build to build the dist directory
  • Visit about:debugging in Firefox
  • Click on 'Load Temporary Addon-on'
  • Choose the dist/firefox/manifest.json file in the cloned repo

Opera

  • Clone the repository
  • cd into the repo directory
  • run yarn global add ember-cli
  • run yarn install
  • run yarn 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:

  • run yarn serve:bookmarklet
  • create a bookmark (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); }());

Building and Testing:

Run `yarn install && yarn global add ember-cli to install the required modules.

  • yarn build to build the files in the dist directory
  • yarn watch To watch the files and re-build in dist when anything changes (useful during development).
  • yarn test To run the tests in the terminal
  • yarn start To start the test server at localhost:4200/testing/tests

Deploy new version:

See RELEASE.md

Locking a version

We can take a snapshot of the current inspector version to support a specific Ember version range. This allows us to stop supporting old Ember versions in main without breaking the published inspector for old Ember apps. It works by serving a different inspector version based on the current app's Ember version.

The Ember versions supported by the current inspector are indicated in the emberVersionsSupported array in package.json.

Here are the steps to lock an inspector version:

  • Release a new version (See "Minor and major versions") if there are unreleased commits in main. Skip this step if there are not new commits after the last release.
  • Makes sure you have a config/secrets.json file with the correct AWS credentials to push to S3. You can use config/secrets.json.sample as a starting point.
  • Create a new branch (from main) named after the Ember version range that will be supported by this branch. The min version in the range is the first element in the emberVersionsSupported array in package.json. The max version in the range is the first version that will not be supported. For example, a branch named ember-0.0.0-2.7.0 means it supports Ember 0.0.0 -> 2.6.0, and a branch named ember-2.7.0-3.4.0 means it supports Ember 2.7.0 -> Ember 3.3.2.
  • Update package.json's emberVersionsSupported: add a second element that indicates the minimum Ember version the main branch will not support.
  • Commit the branch.
  • Run yarn lock-version. This will build, and compress the panes.
  • To upload the panes to GitHub:
  • Checkout the main branch.
  • Update package.json's previousEmberVersionsSupported: add the first Ember version supported by the recently locked snapshot (the first element in the emberVersionsSupported array).
  • Update package.json's emberVersionsSupported: Take the last element from previousEmberVersionsSupported and set it as the first element in this array. Set an empty string as the second element to indicate there's currently no maximum Ember version supported yet. emberVersionsSupported array length should always be 2 indicating a [min, max] range.
  • Commit.
Example scenario

Below is an example scenario that assumes the current main branch supports Ember version 2.7.0+ and we want to lock the version such that main will support 3.4.0+. It also assumes the last Ember Inspector version released was 3.9.0.

  • Release a new inspector version 3.10.0 if there are unreleased commits in main.
  • Create a new branch from main called ember-2.7.0-3.4.0.
  • Update package.json's emberVersionsSupported from ["2.7.0", ""] to ["2.7.0", "3.4.0"].
  • Commit with message "Lock Ember version at 2.7.0-3.4.0" and push the branch.
  • Run yarn lock-version.
  • Checkout the main branch.
  • Create a new branch from main called lock-3.4.0 (branch name here is not important).
  • Update package.json's previousEmberVersionsSupported from ["0.0.0"] to ["0.0.0", "2.7.0"].
  • Update package.json's emberVersionsSupported from ["2.7.0", ""] to ["3.4.0", ""].
  • Commit and open a PR against main.

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.

More Repositories

1

ember.js

Ember.js - A JavaScript framework for creating ambitious web applications
JavaScript
22,427
star
2

data

A lightweight reactive data library for javascript applications. Designed over composable primitives.
JavaScript
3,036
star
3

ember-rails

Ember for Rails 3.1+
Ruby
1,363
star
4

rfcs

RFCs for changes to Ember
793
star
5

website

Source for emberjs.com
HTML
642
star
6

list-view

An incremental rendering list view for Ember.js
JavaScript
465
star
7

starter-kit

A starter kit for Ember
JavaScript
373
star
8

guides

This repository is DEPRECATED!
CSS
283
star
9

ember-qunit

QUnit test helpers for Ember
JavaScript
260
star
10

ember-test-helpers

Test-framework-agnostic helpers for testing Ember.js applications
JavaScript
189
star
11

ember-cli-babel

Ember CLI plugin for Babel
JavaScript
153
star
12

core-notes

Meeting minutes from the Ember.js core teams
151
star
13

ember-mocha

Mocha helpers for testing Ember.js applications
JavaScript
130
star
14

ember-inflector

ember-inflector goal is to be rails compatible.
JavaScript
107
star
15

group-helper

An experimental helper to change the granularity of bindings.
JavaScript
87
star
16

ember-render-modifiers

Implements did-insert / did-update / will-destroy modifiers for emberjs/rfcs#415
JavaScript
82
star
17

ember-states

JavaScript
52
star
18

ember-gem

Development tools for Ember.js
JavaScript
40
star
19

ember-optional-features

JavaScript
40
star
20

ember-dev

Development Tools for Ember Packages
JavaScript
40
star
21

emberjs.github.com

Ember.js Website - DO NOT OPEN ISSUES/PRs HERE!!! Please send them to https://github.com/emberjs/website instead.
HTML
34
star
22

ember-test-waiters

An Ember addon to allow @ember/test-helpers to manage asynchronous operations
TypeScript
27
star
23

quickstart-code-sample

Code samples from the quickstart guide
CSS
22
star
24

ember-legacy-views

Extended support for Ember.View and friends until Ember 2.4
JavaScript
18
star
25

ember-jquery

JavaScript
15
star
26

rfc-tracking

This project is no longer maintained
12
star
27

log-manager

Hierarchical Logging + multiple appenders -- Basis for Ember.js logging
JavaScript
12
star
28

ember-classic-decorator

JavaScript
12
star
29

emberjs-build

Build pipeline for Ember.js
JavaScript
12
star
30

ember-data-fixture-adapter

JavaScript
11
star
31

babel-plugin-ember-template-compilation

Babel implementation of Ember's low-level template-compilation API
TypeScript
9
star
32

ember-legacy-controllers

JavaScript
8
star
33

ember-octanify

JavaScript
8
star
34

ember-2-legacy

JavaScript
8
star
35

ember-module-unification-blueprint

Ember CLI blueprint for initializing a Ember application with a module unification layout.
JavaScript
7
star
36

ember-string

Ember addon with String-related utilities
JavaScript
6
star
37

ember-legacy-built-in-components

TypeScript
5
star
38

ember-debug

JavaScript
5
star
39

ember-copy

JavaScript
4
star
40

ember-edition-utils

JavaScript
4
star
41

whiteboard

For experimental design projects, efforts, proposals, etc.
4
star
42

guides.emberjs.com

A repo to contain versioned guides
HTML
3
star
43

ember-ordered-set

JavaScript
3
star
44

eslint-plugin-ember-internal

ESLint rules used internally by Ember.js
JavaScript
2
star
45

ember-mocha-builds

Dist repo for ember-mocha
JavaScript
1
star
46

tracking-polaris

Repo for tracking Polaris project
1
star
47

ember

The Ember.js npm module
JavaScript
1
star
48

testem-failure-only-reporter

A testem reporter that only outputs failures
JavaScript
1
star