ember-inspector 4.13.1-alpha.2024.8.8 → 4.13.1-alpha.2025.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/PRIVACY.md +3 -0
- package/README.md +10 -2
- package/app/components/app-picker.hbs +2 -2
- package/app/components/component-tree-item.hbs +14 -14
- package/app/components/component-tree-toolbar.hbs +17 -3
- package/app/components/{date-property-field.js → date-property-field.ts} +6 -5
- package/app/components/deprecation-item-source.hbs +1 -1
- package/app/components/deprecation-item.hbs +1 -1
- package/app/components/deprecations-toolbar.hbs +1 -1
- package/app/components/item-types.hbs +7 -7
- package/app/components/list-cell.hbs +3 -3
- package/app/components/list-content.hbs +4 -3
- package/app/components/list-content.ts +96 -0
- package/app/components/list.hbs +3 -3
- package/app/components/list.js +7 -7
- package/app/components/model-types-toolbar.hbs +3 -3
- package/app/components/object-inspector/component-parents.hbs +33 -0
- package/app/components/object-inspector/component-parents.js +43 -0
- package/app/components/object-inspector/dependent-keys.hbs +4 -4
- package/app/components/object-inspector/errors.hbs +4 -4
- package/app/components/object-inspector/properties-all.hbs +1 -1
- package/app/components/object-inspector/properties-base.js +2 -0
- package/app/components/object-inspector/properties-grouped.hbs +5 -5
- package/app/components/object-inspector/property.hbs +36 -34
- package/app/components/object-inspector/property.ts +34 -17
- package/app/components/object-inspector/sort-properties.js +12 -4
- package/app/components/object-inspector/toggle.hbs +9 -0
- package/app/components/object-inspector/toggle.js +6 -0
- package/app/components/object-inspector.hbs +11 -9
- package/app/components/object-inspector.js +1 -1
- package/app/components/promise-item.hbs +11 -11
- package/app/components/promise-item.js +8 -6
- package/app/components/promise-tree-toolbar.hbs +5 -5
- package/app/components/records-toolbar.hbs +2 -2
- package/app/components/render-item.hbs +4 -4
- package/app/components/render-item.ts +12 -9
- package/app/components/render-tree-toolbar.hbs +1 -1
- package/app/components/route-cell-name.hbs +1 -1
- package/app/components/route-cell-name.js +3 -2
- package/app/components/route-tree-toolbar.hbs +2 -2
- package/app/components/scroll-container.js +2 -0
- package/app/components/side-nav.hbs +5 -5
- package/app/components/side-nav.js +1 -1
- package/{lib/ui/addon/components → app/components/ui}/drag-handle.hbs +4 -4
- package/{lib/ui/addon/components → app/components/ui}/drag-handle.js +3 -1
- package/{lib/ui/addon/components → app/components/ui}/empty-message.hbs +1 -1
- package/{lib/ui/addon/components → app/components/ui}/error-page.hbs +3 -3
- package/{lib/ui/addon/components → app/components/ui}/resizable-column.js +1 -1
- package/{lib/ui/addon/components → app/components/ui}/toolbar-clear-button.hbs +1 -1
- package/{lib/ui/addon/components → app/components/ui}/toolbar-reload-button.hbs +1 -1
- package/{lib/ui/addon/components → app/components/ui}/toolbar-search-field.hbs +2 -2
- package/app/computed/{debounce.js → debounce.ts} +7 -5
- package/app/config/environment.d.ts +5 -2
- package/app/controllers/app-config.js +1 -0
- package/app/controllers/application.js +36 -71
- package/app/controllers/component-tree.js +26 -7
- package/app/controllers/container-type.js +2 -1
- package/app/controllers/container-types/{index.js → index.ts} +5 -2
- package/app/controllers/container-types.js +3 -6
- package/app/controllers/deprecations.js +16 -11
- package/app/controllers/libraries.js +1 -0
- package/app/controllers/model-types.js +1 -0
- package/app/controllers/promise-tree.ts +149 -0
- package/app/controllers/records.js +18 -26
- package/app/controllers/{render-tree.js → render-tree.ts} +54 -45
- package/app/controllers/route-tree.js +7 -5
- package/app/helpers/build-style.js +1 -1
- package/app/index.html +1 -19
- package/app/initializers/setup.js +1 -1
- package/app/libs/promise-assembler.ts +249 -0
- package/app/libs/resizable-columns.js +10 -10
- package/app/models/{promise.js → promise.ts} +72 -69
- package/app/{router.js → router.ts} +1 -1
- package/app/routes/app-detected.js +3 -5
- package/app/routes/application.js +9 -13
- package/app/routes/deprecations.js +7 -16
- package/app/routes/launch.js +2 -1
- package/app/routes/libraries.js +2 -1
- package/app/routes/model-type.js +2 -3
- package/app/routes/model-types.ts +57 -0
- package/app/routes/promise-tree.ts +63 -0
- package/app/routes/records.ts +78 -0
- package/app/routes/render-tree.ts +93 -0
- package/app/routes/route-tree.js +0 -1
- package/app/routes/{tab.js → tab.ts} +9 -2
- package/app/routes/whats-new.js +2 -2
- package/app/services/adapters/{basic.js → basic.ts} +36 -30
- package/app/services/adapters/{bookmarklet.js → bookmarklet.ts} +17 -24
- package/app/services/adapters/{chrome.js → chrome.ts} +1 -2
- package/app/services/adapters/{web-extension.js → web-extension.ts} +46 -46
- package/app/services/adapters/websocket.ts +40 -0
- package/app/services/layout.ts +124 -0
- package/app/services/port.ts +195 -0
- package/app/services/storage/{local.js → local.ts} +7 -20
- package/app/services/storage/{memory.js → memory.ts} +6 -21
- package/app/services/{storage.js → storage.ts} +9 -20
- package/app/styles/app.scss +1 -0
- package/app/styles/base.scss +6 -2
- package/app/styles/colors.scss +33 -31
- package/app/styles/component_tree.scss +56 -51
- package/app/styles/dropdown.scss +2 -2
- package/app/styles/ember-table.scss +3 -3
- package/app/styles/mixin.scss +26 -26
- package/app/styles/object_inspector.scss +30 -21
- package/{lib/ui/addon/styles → app/styles/ui}/_disclosure-triangle.scss +3 -1
- package/{lib/ui/addon/styles → app/styles/ui}/_drag-handle.scss +7 -7
- package/{lib/ui/addon/styles → app/styles/ui}/_empty-message.scss +1 -1
- package/{lib/ui/addon/styles → app/styles/ui}/_error-page.scss +8 -7
- package/{lib/ui/addon/styles → app/styles/ui}/_list.scss +46 -45
- package/{lib/ui/addon/styles → app/styles/ui}/_nav.scss +29 -27
- package/app/styles/ui/_object-inspector-toggle.scss +4 -0
- package/{lib/ui/addon/styles → app/styles/ui}/_pill.scss +4 -4
- package/{lib/ui/addon/styles → app/styles/ui}/_send-to-console.scss +1 -1
- package/{lib/ui/addon/styles → app/styles/ui}/_split.scss +26 -20
- package/app/styles/ui/_ui.scss +13 -0
- package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_checkbox.scss +5 -5
- package/app/styles/ui/toolbar/_icon-button.scss +80 -0
- package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_index.scss +6 -5
- package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_radio.scss +10 -10
- package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_search.scss +5 -3
- package/app/styles/utils.scss +408 -122
- package/app/templates/application.hbs +21 -19
- package/app/templates/component-tree.hbs +4 -1
- package/app/templates/deprecations.hbs +2 -3
- package/app/templates/info.hbs +10 -10
- package/app/templates/promise-tree.hbs +1 -1
- package/app/templates/render-tree.hbs +1 -1
- package/app/templates/route-tree.hbs +1 -1
- package/app/utils/escape-reg-exp.ts +3 -2
- package/app/utils/nullish.ts +7 -0
- package/app/utils/parse-text.ts +4 -5
- package/app/utils/truncate.js +0 -1
- package/config/ember-cli-update.json +5 -3
- package/config/ember-try.js +117 -72
- package/config/environment.js +1 -1
- package/config/optional-features.json +2 -1
- package/dist/bookmarklet/load_inspector.js +31 -11
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.524.3530526ca8a0822af855.js +40 -0
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.582.0ae94a39ca88591dff80.js +42 -0
- package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.css +997 -156
- package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.js +557 -609
- package/dist/bookmarklet/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
- package/dist/bookmarklet/panes-3-16-0/assets/svg/focus-point-round.svg +9 -0
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-components.svg +2 -2
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-container.svg +1 -1
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-data.svg +1 -1
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-info.svg +3 -3
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
- package/dist/bookmarklet/panes-3-16-0/assets/svg/sidebar-toggle-trailing.svg +9 -0
- package/dist/bookmarklet/panes-3-16-0/assets/vendor.css +4 -841
- package/dist/bookmarklet/panes-3-16-0/assets/vendor.js +4277 -5152
- package/dist/bookmarklet/panes-3-16-0/base-object-HAEdWjmg.js +59 -0
- package/dist/bookmarklet/panes-3-16-0/basic-DfbgtngO.js +144 -0
- package/dist/bookmarklet/panes-3-16-0/basic-debug.js +6 -0
- package/dist/bookmarklet/panes-3-16-0/bookmarklet-debug.js +34 -0
- package/dist/bookmarklet/panes-3-16-0/chrome-debug.js +12 -0
- package/dist/bookmarklet/panes-3-16-0/ember.js +115 -0
- package/dist/bookmarklet/panes-3-16-0/ember_debug.js +24 -11011
- package/dist/bookmarklet/panes-3-16-0/evented-BCTya3yE.js +62 -0
- package/dist/bookmarklet/panes-3-16-0/firefox-debug.js +32 -0
- package/dist/bookmarklet/panes-3-16-0/index.html +4 -23
- package/dist/bookmarklet/panes-3-16-0/internals-CRmXMEzb.js +12 -0
- package/dist/bookmarklet/panes-3-16-0/main.js +7663 -0
- package/dist/bookmarklet/panes-3-16-0/port.js +108 -0
- package/dist/bookmarklet/panes-3-16-0/profile-node.js +60 -0
- package/dist/bookmarklet/panes-3-16-0/promise-assembler.js +218 -0
- package/dist/bookmarklet/panes-3-16-0/runloop-CF-Qpqgy.js +1138 -0
- package/dist/bookmarklet/panes-3-16-0/start-inspector-BPAW_WLv.js +376 -0
- package/dist/bookmarklet/panes-3-16-0/type-check.js +119 -0
- package/dist/bookmarklet/panes-3-16-0/version.js +90 -0
- package/dist/bookmarklet/panes-3-16-0/versions.js +4 -0
- package/dist/bookmarklet/panes-3-16-0/web-extension-C3pMNVSY.js +144 -0
- package/dist/bookmarklet/panes-3-16-0/websocket-debug.js +60 -0
- package/dist/chrome/background.js +26 -21
- package/dist/chrome/boot.js +1 -1
- package/dist/chrome/content-script.js +12 -11
- package/dist/chrome/devtools.js +12 -3
- package/dist/chrome/manifest.json +3 -3
- package/dist/chrome/options.js +17 -12
- package/dist/chrome/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
- package/dist/chrome/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
- package/dist/chrome/panes-3-16-0/assets/chunk.524.3530526ca8a0822af855.js +40 -0
- package/dist/chrome/panes-3-16-0/assets/chunk.582.0ae94a39ca88591dff80.js +42 -0
- package/dist/chrome/panes-3-16-0/assets/ember-inspector.css +997 -156
- package/dist/chrome/panes-3-16-0/assets/ember-inspector.js +557 -609
- package/dist/chrome/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
- package/dist/chrome/panes-3-16-0/assets/svg/focus-point-round.svg +9 -0
- package/dist/chrome/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
- package/dist/chrome/panes-3-16-0/assets/svg/nav-components.svg +2 -2
- package/dist/chrome/panes-3-16-0/assets/svg/nav-container.svg +1 -1
- package/dist/chrome/panes-3-16-0/assets/svg/nav-data.svg +1 -1
- package/dist/chrome/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
- package/dist/chrome/panes-3-16-0/assets/svg/nav-info.svg +3 -3
- package/dist/chrome/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
- package/dist/chrome/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
- package/dist/chrome/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
- package/dist/chrome/panes-3-16-0/assets/svg/sidebar-toggle-trailing.svg +9 -0
- package/dist/chrome/panes-3-16-0/assets/vendor.css +4 -841
- package/dist/chrome/panes-3-16-0/assets/vendor.js +4277 -5152
- package/dist/chrome/panes-3-16-0/base-object-HAEdWjmg.js +59 -0
- package/dist/chrome/panes-3-16-0/basic-DfbgtngO.js +144 -0
- package/dist/chrome/panes-3-16-0/basic-debug.js +6 -0
- package/dist/chrome/panes-3-16-0/bookmarklet-debug.js +34 -0
- package/dist/chrome/panes-3-16-0/chrome-debug.js +12 -0
- package/dist/chrome/panes-3-16-0/ember.js +115 -0
- package/dist/chrome/panes-3-16-0/ember_debug.js +12 -11021
- package/dist/chrome/panes-3-16-0/evented-BCTya3yE.js +62 -0
- package/dist/chrome/panes-3-16-0/firefox-debug.js +32 -0
- package/dist/chrome/panes-3-16-0/index.html +4 -23
- package/dist/chrome/panes-3-16-0/internals-CRmXMEzb.js +12 -0
- package/dist/chrome/panes-3-16-0/main.js +7663 -0
- package/dist/chrome/panes-3-16-0/port.js +108 -0
- package/dist/chrome/panes-3-16-0/profile-node.js +60 -0
- package/dist/chrome/panes-3-16-0/promise-assembler.js +218 -0
- package/dist/chrome/panes-3-16-0/runloop-CF-Qpqgy.js +1138 -0
- package/dist/chrome/panes-3-16-0/start-inspector-BPAW_WLv.js +376 -0
- package/dist/chrome/panes-3-16-0/type-check.js +119 -0
- package/dist/chrome/panes-3-16-0/version.js +90 -0
- package/dist/chrome/panes-3-16-0/versions.js +4 -0
- package/dist/chrome/panes-3-16-0/web-extension-C3pMNVSY.js +144 -0
- package/dist/chrome/panes-3-16-0/websocket-debug.js +60 -0
- package/dist/chrome/scripts/in-page-script.js +19 -13
- package/dist/firefox/background.js +26 -21
- package/dist/firefox/boot.js +1 -1
- package/dist/firefox/content-script.js +12 -11
- package/dist/firefox/devtools.js +12 -3
- package/dist/firefox/manifest.json +3 -3
- package/dist/firefox/options.js +17 -12
- package/dist/firefox/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
- package/dist/firefox/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
- package/dist/firefox/panes-3-16-0/assets/chunk.524.3530526ca8a0822af855.js +40 -0
- package/dist/firefox/panes-3-16-0/assets/chunk.582.0ae94a39ca88591dff80.js +42 -0
- package/dist/firefox/panes-3-16-0/assets/ember-inspector.css +997 -156
- package/dist/firefox/panes-3-16-0/assets/ember-inspector.js +557 -609
- package/dist/firefox/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
- package/dist/firefox/panes-3-16-0/assets/svg/focus-point-round.svg +9 -0
- package/dist/firefox/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
- package/dist/firefox/panes-3-16-0/assets/svg/nav-components.svg +2 -2
- package/dist/firefox/panes-3-16-0/assets/svg/nav-container.svg +1 -1
- package/dist/firefox/panes-3-16-0/assets/svg/nav-data.svg +1 -1
- package/dist/firefox/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
- package/dist/firefox/panes-3-16-0/assets/svg/nav-info.svg +3 -3
- package/dist/firefox/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
- package/dist/firefox/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
- package/dist/firefox/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
- package/dist/firefox/panes-3-16-0/assets/svg/sidebar-toggle-trailing.svg +9 -0
- package/dist/firefox/panes-3-16-0/assets/vendor.css +4 -841
- package/dist/firefox/panes-3-16-0/assets/vendor.js +4277 -5152
- package/dist/firefox/panes-3-16-0/base-object-HAEdWjmg.js +59 -0
- package/dist/firefox/panes-3-16-0/basic-DfbgtngO.js +144 -0
- package/dist/firefox/panes-3-16-0/basic-debug.js +6 -0
- package/dist/firefox/panes-3-16-0/bookmarklet-debug.js +34 -0
- package/dist/firefox/panes-3-16-0/chrome-debug.js +12 -0
- package/dist/firefox/panes-3-16-0/ember.js +115 -0
- package/dist/firefox/panes-3-16-0/ember_debug.js +27 -11016
- package/dist/firefox/panes-3-16-0/evented-BCTya3yE.js +62 -0
- package/dist/firefox/panes-3-16-0/firefox-debug.js +32 -0
- package/dist/firefox/panes-3-16-0/index.html +4 -23
- package/dist/firefox/panes-3-16-0/internals-CRmXMEzb.js +12 -0
- package/dist/firefox/panes-3-16-0/main.js +7663 -0
- package/dist/firefox/panes-3-16-0/port.js +108 -0
- package/dist/firefox/panes-3-16-0/profile-node.js +60 -0
- package/dist/firefox/panes-3-16-0/promise-assembler.js +218 -0
- package/dist/firefox/panes-3-16-0/runloop-CF-Qpqgy.js +1138 -0
- package/dist/firefox/panes-3-16-0/start-inspector-BPAW_WLv.js +376 -0
- package/dist/firefox/panes-3-16-0/type-check.js +119 -0
- package/dist/firefox/panes-3-16-0/version.js +90 -0
- package/dist/firefox/panes-3-16-0/versions.js +4 -0
- package/dist/firefox/panes-3-16-0/web-extension-C3pMNVSY.js +144 -0
- package/dist/firefox/panes-3-16-0/websocket-debug.js +60 -0
- package/dist/firefox/scripts/in-page-script.js +19 -13
- package/dist/websocket/assets/chunk.443.86a005e528b587663b78.js +1135 -0
- package/dist/websocket/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
- package/dist/websocket/assets/chunk.524.3530526ca8a0822af855.js +40 -0
- package/dist/websocket/assets/chunk.582.0ae94a39ca88591dff80.js +42 -0
- package/dist/websocket/assets/ember-inspector.css +997 -156
- package/dist/websocket/assets/ember-inspector.js +557 -609
- package/dist/websocket/assets/svg/ellipsis.svg +3 -3
- package/dist/websocket/assets/svg/focus-point-round.svg +9 -0
- package/dist/websocket/assets/svg/nav-bug.svg +1 -1
- package/dist/websocket/assets/svg/nav-components.svg +2 -2
- package/dist/websocket/assets/svg/nav-container.svg +1 -1
- package/dist/websocket/assets/svg/nav-data.svg +1 -1
- package/dist/websocket/assets/svg/nav-deprecations.svg +3 -3
- package/dist/websocket/assets/svg/nav-info.svg +3 -3
- package/dist/websocket/assets/svg/nav-promises.svg +2 -2
- package/dist/websocket/assets/svg/nav-render-performance.svg +2 -2
- package/dist/websocket/assets/svg/nav-route-tree.svg +7 -7
- package/dist/websocket/assets/svg/sidebar-toggle-trailing.svg +9 -0
- package/dist/websocket/assets/vendor.css +4 -841
- package/dist/websocket/assets/vendor.js +4277 -5152
- package/dist/websocket/base-object-HAEdWjmg.js +59 -0
- package/dist/websocket/basic-DfbgtngO.js +144 -0
- package/dist/websocket/basic-debug.js +6 -0
- package/dist/websocket/bookmarklet-debug.js +34 -0
- package/dist/websocket/chrome-debug.js +12 -0
- package/dist/websocket/ember.js +115 -0
- package/dist/websocket/ember_debug.js +48 -11009
- package/dist/websocket/evented-BCTya3yE.js +62 -0
- package/dist/websocket/firefox-debug.js +32 -0
- package/dist/websocket/index.html +4 -23
- package/dist/websocket/internals-CRmXMEzb.js +12 -0
- package/dist/websocket/main.js +7663 -0
- package/dist/websocket/port.js +108 -0
- package/dist/websocket/profile-node.js +60 -0
- package/dist/websocket/promise-assembler.js +218 -0
- package/dist/websocket/runloop-CF-Qpqgy.js +1138 -0
- package/dist/websocket/start-inspector-BPAW_WLv.js +376 -0
- package/dist/websocket/type-check.js +119 -0
- package/dist/websocket/version.js +90 -0
- package/dist/websocket/versions.js +4 -0
- package/dist/websocket/web-extension-C3pMNVSY.js +144 -0
- package/dist/websocket/websocket-debug.js +60 -0
- package/ember-cli-build.js +31 -140
- package/ember_debug/adapters/basic.js +10 -29
- package/ember_debug/adapters/bookmarklet.js +1 -0
- package/ember_debug/adapters/firefox.js +3 -3
- package/ember_debug/adapters/web-extension.js +6 -5
- package/ember_debug/adapters/websocket.js +2 -2
- package/ember_debug/babel.config.cjs +11 -0
- package/ember_debug/container-debug.js +1 -1
- package/ember_debug/data-debug.js +7 -8
- package/ember_debug/debug-port.js +1 -1
- package/ember_debug/deprecation-debug.js +14 -14
- package/ember_debug/entrypoints/basic-debug.js +6 -0
- package/ember_debug/entrypoints/bookmarklet-debug.js +6 -0
- package/ember_debug/entrypoints/chrome-debug.js +6 -0
- package/ember_debug/entrypoints/firefox-debug.js +6 -0
- package/ember_debug/entrypoints/websocket-debug.js +6 -0
- package/ember_debug/general-debug.js +4 -4
- package/ember_debug/lib/boot-ember-inspector.js +9 -0
- package/ember_debug/lib/get-applications.js +27 -0
- package/ember_debug/lib/load-ember-debug-in-webpage.js +30 -0
- package/ember_debug/lib/send-apps.js +14 -0
- package/ember_debug/lib/send-version-miss.js +39 -0
- package/ember_debug/lib/setup-instance-initializer.js +16 -0
- package/ember_debug/lib/start-inspector.js +211 -0
- package/ember_debug/lib/version-test.js +73 -0
- package/ember_debug/lib/versions.js +3 -0
- package/ember_debug/libs/capture-render-tree.js +1 -2
- package/ember_debug/libs/promise-assembler.js +5 -4
- package/ember_debug/libs/render-tree.js +37 -44
- package/ember_debug/libs/source-map.js +7 -6
- package/ember_debug/libs/view-inspection.js +25 -17
- package/ember_debug/main.js +18 -21
- package/ember_debug/models/profile-manager.js +6 -6
- package/ember_debug/models/profile-node.js +1 -1
- package/ember_debug/models/promise.js +2 -2
- package/ember_debug/object-inspector.js +71 -65
- package/ember_debug/package.json +27 -0
- package/ember_debug/port.js +5 -4
- package/ember_debug/promise-debug.js +5 -5
- package/ember_debug/render-debug.js +5 -5
- package/ember_debug/rollup.config.js +24 -0
- package/ember_debug/route-debug.js +10 -9
- package/ember_debug/services/session.js +2 -2
- package/ember_debug/utils/classify.js +1 -1
- package/ember_debug/utils/ember/object/internals.js +1 -11
- package/ember_debug/utils/ember/own-runloop.js +1 -1
- package/ember_debug/utils/ember/runloop.js +7 -10
- package/ember_debug/utils/ember-object-names.js +7 -8
- package/ember_debug/utils/ember.js +120 -14
- package/ember_debug/utils/evented.js +1 -1
- package/ember_debug/utils/get-object-name.js +3 -3
- package/ember_debug/utils/type-check.js +9 -5
- package/ember_debug/view-debug.js +12 -6
- package/eslint.config.mjs +173 -0
- package/gulpfile.js +1 -1
- package/package.json +97 -95
- package/pnpm-workspace.yaml +3 -0
- package/public/assets/svg/ellipsis.svg +3 -3
- package/public/assets/svg/focus-point-round.svg +9 -0
- package/public/assets/svg/nav-bug.svg +1 -1
- package/public/assets/svg/nav-components.svg +2 -2
- package/public/assets/svg/nav-container.svg +1 -1
- package/public/assets/svg/nav-data.svg +1 -1
- package/public/assets/svg/nav-deprecations.svg +3 -3
- package/public/assets/svg/nav-info.svg +3 -3
- package/public/assets/svg/nav-promises.svg +2 -2
- package/public/assets/svg/nav-render-performance.svg +2 -2
- package/public/assets/svg/nav-route-tree.svg +7 -7
- package/public/assets/svg/sidebar-toggle-trailing.svg +9 -0
- package/scripts/download-panes.js +1 -1
- package/skeletons/bookmarklet/load_inspector.js +31 -11
- package/skeletons/web-extension/background.js +26 -21
- package/skeletons/web-extension/boot.js +1 -1
- package/skeletons/web-extension/content-script.js +12 -11
- package/skeletons/web-extension/devtools.js +12 -3
- package/skeletons/web-extension/manifest.json +3 -3
- package/skeletons/web-extension/options.js +17 -12
- package/skeletons/web-extension/scripts/in-page-script.js +19 -13
- package/testem.js +0 -1
- package/tests/acceptance/app-picker-test.js +4 -4
- package/tests/acceptance/component-tree-test.js +96 -57
- package/tests/acceptance/container-test.js +0 -2
- package/tests/acceptance/data-test.js +8 -10
- package/tests/acceptance/deprecation-test.js +8 -12
- package/tests/acceptance/info-test.js +2 -2
- package/tests/acceptance/object-inspector-test.js +62 -110
- package/tests/acceptance/promise-test.js +1 -11
- package/tests/acceptance/render-tree-test.js +2 -2
- package/tests/acceptance/route-tree-test.js +12 -14
- package/tests/acceptance/whats-new-test.js +4 -4
- package/tests/ember_debug/container-debug-test.js +4 -4
- package/tests/ember_debug/deprecation-debug-test.js +8 -5
- package/tests/ember_debug/ember-debug-test.js +1 -4
- package/tests/ember_debug/object-inspector-test.js +108 -49
- package/tests/ember_debug/profile-manager-test.js +142 -169
- package/tests/ember_debug/profile-node-test.js +4 -4
- package/tests/ember_debug/promise-assembler-test.js +13 -10
- package/tests/ember_debug/promise-debug-test.js +5 -6
- package/tests/ember_debug/route-debug-test.js +8 -7
- package/tests/ember_debug/view-debug-test.js +257 -182
- package/tests/helpers/{index.js → index.ts} +6 -5
- package/tests/helpers/setup-ember-debug-test.js +14 -0
- package/tests/index.html +1 -2
- package/tests/integration/injection-test.js +14 -15
- package/tests/test-adapter.js +15 -15
- package/tests/test-helper.js +6 -4
- package/tests/unit/check-current-route-test.js +0 -4
- package/tests/unit/resizable-columns-test.js +53 -51
- package/tests/unit/utils/parse-text-test.js +3 -3
- package/tests/unit/utils/search-match-test.js +5 -5
- package/tests/unit/utils/type-check-test.js +22 -0
- package/tsconfig.json +3 -1
- package/types/ember-inspector/index.d.ts +2 -1
- package/types/global.d.ts +1 -7
- package/.editorconfig +0 -19
- package/.ember-cli +0 -15
- package/.eslintignore +0 -33
- package/.eslintrc.js +0 -86
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -30
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/.github/dependabot.yml +0 -14
- package/.github/pull_request_template.md +0 -4
- package/.github/workflows/build.yml +0 -339
- package/.github/workflows/plan-release.yml +0 -83
- package/.github/workflows/publish.yml +0 -60
- package/.prettierignore +0 -25
- package/.prettierrc.js +0 -14
- package/.release-plan.json +0 -17
- package/.stylelintrc.js +0 -3
- package/.template-lintrc.js +0 -12
- package/.tool-versions +0 -2
- package/.watchmanconfig +0 -3
- package/app/components/.gitkeep +0 -0
- package/app/components/list-content.js +0 -130
- package/app/controllers/.gitkeep +0 -0
- package/app/controllers/promise-tree.js +0 -130
- package/app/helpers/.gitkeep +0 -0
- package/app/libs/promise-assembler.js +0 -169
- package/app/models/.gitkeep +0 -0
- package/app/routes/.gitkeep +0 -0
- package/app/routes/model-types.js +0 -47
- package/app/routes/promise-tree.js +0 -48
- package/app/routes/records.js +0 -55
- package/app/routes/render-tree.js +0 -66
- package/app/services/adapters/websocket.js +0 -31
- package/app/services/layout.js +0 -39
- package/app/services/port.js +0 -90
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.143.152107b52f1d9b56abd2.js +0 -28
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.178.fd17fd3a54b4e3a24554.js +0 -9
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
- package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Bold.woff +0 -0
- package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Bold.woff2 +0 -0
- package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Regular.woff +0 -0
- package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Regular.woff2 +0 -0
- package/dist/chrome/panes-3-16-0/assets/chunk.143.152107b52f1d9b56abd2.js +0 -28
- package/dist/chrome/panes-3-16-0/assets/chunk.178.fd17fd3a54b4e3a24554.js +0 -9
- package/dist/chrome/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
- package/dist/chrome/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
- package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Bold.woff +0 -0
- package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Bold.woff2 +0 -0
- package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Regular.woff +0 -0
- package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Regular.woff2 +0 -0
- package/dist/firefox/panes-3-16-0/assets/chunk.143.152107b52f1d9b56abd2.js +0 -28
- package/dist/firefox/panes-3-16-0/assets/chunk.178.fd17fd3a54b4e3a24554.js +0 -9
- package/dist/firefox/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
- package/dist/firefox/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
- package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Bold.woff +0 -0
- package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Bold.woff2 +0 -0
- package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Regular.woff +0 -0
- package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Regular.woff2 +0 -0
- package/dist/websocket/assets/chunk.143.152107b52f1d9b56abd2.js +0 -28
- package/dist/websocket/assets/chunk.178.fd17fd3a54b4e3a24554.js +0 -9
- package/dist/websocket/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
- package/dist/websocket/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
- package/dist/websocket/assets/fonts/Inter-Bold.woff +0 -0
- package/dist/websocket/assets/fonts/Inter-Bold.woff2 +0 -0
- package/dist/websocket/assets/fonts/Inter-Regular.woff +0 -0
- package/dist/websocket/assets/fonts/Inter-Regular.woff2 +0 -0
- package/ember_debug/.eslintrc.js +0 -13
- package/ember_debug/utils/ember/debug.js +0 -20
- package/ember_debug/utils/ember/instrumentation.js +0 -11
- package/ember_debug/utils/ember/loader.js +0 -22
- package/ember_debug/utils/rsvp.js +0 -20
- package/ember_debug/vendor/loader.js +0 -54
- package/ember_debug/vendor/startup-wrapper.js +0 -399
- package/lib/ui/addon/styles/_object-inspector-toggle.scss +0 -12
- package/lib/ui/addon/styles/addon.scss +0 -13
- package/lib/ui/addon/styles/toolbar/_icon-button.scss +0 -61
- package/lib/ui/app/components/ui/disclosure-triangle.js +0 -1
- package/lib/ui/app/components/ui/disclosure.js +0 -1
- package/lib/ui/app/components/ui/drag-handle.js +0 -1
- package/lib/ui/app/components/ui/draggable-column.js +0 -1
- package/lib/ui/app/components/ui/empty-message.js +0 -1
- package/lib/ui/app/components/ui/error-page.js +0 -1
- package/lib/ui/app/components/ui/open-links-in-new-window.js +0 -1
- package/lib/ui/app/components/ui/resizable-column.js +0 -1
- package/lib/ui/app/components/ui/send-to-console.js +0 -1
- package/lib/ui/app/components/ui/toolbar-clear-button.js +0 -1
- package/lib/ui/app/components/ui/toolbar-divider.js +0 -1
- package/lib/ui/app/components/ui/toolbar-reload-button.js +0 -1
- package/lib/ui/app/components/ui/toolbar-search-field.js +0 -1
- package/lib/ui/app/components/ui/warning-message.js +0 -1
- package/lib/ui/index.js +0 -34
- package/lib/ui/package.json +0 -13
- package/public/assets/fonts/Inter-Bold.woff +0 -0
- package/public/assets/fonts/Inter-Bold.woff2 +0 -0
- package/public/assets/fonts/Inter-Regular.woff +0 -0
- package/public/assets/fonts/Inter-Regular.woff2 +0 -0
- package/tests/helpers/trigger-port.js +0 -6
- package/tests/unit/.gitkeep +0 -0
- /package/app/{app.js → app.ts} +0 -0
- /package/{lib/ui/addon/components → app/components/ui}/disclosure-triangle.hbs +0 -0
- /package/{lib/ui/addon/components → app/components/ui}/disclosure.hbs +0 -0
- /package/{lib/ui/addon/components → app/components/ui}/disclosure.js +0 -0
- /package/{lib/ui/addon/components → app/components/ui}/draggable-column.hbs +0 -0
- /package/{lib/ui/addon/components → app/components/ui}/draggable-column.js +0 -0
- /package/{lib/ui/addon/components → app/components/ui}/open-links-in-new-window.hbs +0 -0
- /package/{lib/ui/addon/components → app/components/ui}/open-links-in-new-window.js +0 -0
- /package/{lib/ui/addon/components → app/components/ui}/resizable-column.hbs +0 -0
- /package/{lib/ui/addon/components → app/components/ui}/send-to-console.hbs +0 -0
- /package/{lib/ui/addon/components → app/components/ui}/toolbar-divider.hbs +0 -0
- /package/{lib/ui/addon/components → app/components/ui}/toolbar-search-field.js +0 -0
- /package/{lib/ui/addon/components → app/components/ui}/warning-message.hbs +0 -0
- /package/app/controllers/{info.js → info.ts} +0 -0
- /package/app/services/adapters/{firefox.js → firefox.ts} +0 -0
- /package/{lib/ui/addon/styles → app/styles/ui}/_goto-source.scss +0 -0
- /package/{lib/ui/addon/styles → app/styles/ui}/_warning.scss +0 -0
- /package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_divider.scss +0 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { B as BasicAdapter } from './basic-DfbgtngO.js';
|
|
2
|
+
import { typeOf } from './type-check.js';
|
|
3
|
+
import { getEnv } from './ember.js';
|
|
4
|
+
import { r as run } from './runloop-CF-Qpqgy.js';
|
|
5
|
+
|
|
6
|
+
const {
|
|
7
|
+
isArray
|
|
8
|
+
} = Array;
|
|
9
|
+
const {
|
|
10
|
+
keys
|
|
11
|
+
} = Object;
|
|
12
|
+
class WebExtension extends BasicAdapter {
|
|
13
|
+
// eslint-disable-next-line ember/classic-decorator-hooks
|
|
14
|
+
init() {
|
|
15
|
+
this._channel = new MessageChannel();
|
|
16
|
+
this._chromePort = this._channel?.port1;
|
|
17
|
+
super.init();
|
|
18
|
+
}
|
|
19
|
+
connect() {
|
|
20
|
+
const channel = this._channel;
|
|
21
|
+
return super.connect().then(() => {
|
|
22
|
+
window.postMessage('debugger-client', '*', [channel.port2]);
|
|
23
|
+
this._listen();
|
|
24
|
+
}, null);
|
|
25
|
+
}
|
|
26
|
+
sendMessage(options = {}) {
|
|
27
|
+
// If prototype extensions are disabled, `Ember.A()` arrays
|
|
28
|
+
// would not be considered native arrays, so it's not possible to
|
|
29
|
+
// "clone" them through postMessage unless they are converted to a
|
|
30
|
+
// native array.
|
|
31
|
+
options = deepClone(options);
|
|
32
|
+
try {
|
|
33
|
+
this._chromePort.postMessage(options);
|
|
34
|
+
} catch (e) {
|
|
35
|
+
console.log('failed to send message', e);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Open the devtools "Elements" and select an DOM node.
|
|
41
|
+
*
|
|
42
|
+
* @param {Node|Function} value The DOM node to select
|
|
43
|
+
*/
|
|
44
|
+
inspectValue(value) {
|
|
45
|
+
// NOTE:
|
|
46
|
+
//
|
|
47
|
+
// Basically, we are just trying to call `inspect(node)` here.
|
|
48
|
+
// However, `inspect` is a special function that is in the global
|
|
49
|
+
// scope but not on the global object (i.e. `window.inspect`) does
|
|
50
|
+
// not work. This sometimes causes problems, because, e.g. if the
|
|
51
|
+
// page has a div with the ID `inspect`, `window.inspect` will point
|
|
52
|
+
// to that div and shadow the "global" inspect function with no way
|
|
53
|
+
// to get it back. That causes "`inspect` is not a function" errors.
|
|
54
|
+
//
|
|
55
|
+
// As it turns out, however, when the extension page evals, the
|
|
56
|
+
// `inspect` function does not get shadowed. So, we can ask the
|
|
57
|
+
// inspector extension page to call that function for us, using
|
|
58
|
+
// `inspected.Window.eval('inspect(node)')`.
|
|
59
|
+
//
|
|
60
|
+
// However, since we cannot just send the DOM node directly to the
|
|
61
|
+
// extension, we will have to store it in a temporary global variable
|
|
62
|
+
// so that the extension can find it.
|
|
63
|
+
|
|
64
|
+
let name = `__EMBER_INSPECTOR_${(Math.random() * 100000000).toFixed(0)}`;
|
|
65
|
+
window[name] = value;
|
|
66
|
+
this.namespace.port.send('view:inspectJSValue', {
|
|
67
|
+
name
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
_listen() {
|
|
71
|
+
let chromePort = this._chromePort;
|
|
72
|
+
chromePort.addEventListener('message', event => {
|
|
73
|
+
const message = event.data;
|
|
74
|
+
|
|
75
|
+
// We should generally not be run-wrapping here. Starting a runloop in
|
|
76
|
+
// ember-debug will cause the inspected app to revalidate/rerender. We
|
|
77
|
+
// are generally not intending to cause changes to the rendered output
|
|
78
|
+
// of the app, so this is generally unnecessary, and in big apps this
|
|
79
|
+
// could be quite slow. There is nothing special about the `view:*`
|
|
80
|
+
// messages – I (GC) just happened to have reviewed all of them recently
|
|
81
|
+
// and can be quite sure that they don't need the runloop. We should
|
|
82
|
+
// audit the rest of them and see if we can remove the else branch. I
|
|
83
|
+
// think we most likely can. In the limited cases (if any) where the
|
|
84
|
+
// runloop is needed, the callback code should just do the wrapping
|
|
85
|
+
// themselves.
|
|
86
|
+
if (message.type.startsWith('view:')) {
|
|
87
|
+
this._messageReceived(message);
|
|
88
|
+
} else {
|
|
89
|
+
run(() => {
|
|
90
|
+
this._messageReceived(message);
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
chromePort.start();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// On some older Ember version `Ember.ENV.EXTEND_PROTOTYPES` is not
|
|
99
|
+
// guarenteed to be an object. While this code only support 3.4+ (all
|
|
100
|
+
// of which normalizes `EXTEND_PROTOTYPES` for us), startup-wrapper.js
|
|
101
|
+
// eagerly require/load ember-debug modules, which ultimately causes
|
|
102
|
+
// this top-level code to run, even we are going to pick a different
|
|
103
|
+
// adapter later. See GH #1114.
|
|
104
|
+
const HAS_ARRAY_PROTOTYPE_EXTENSIONS = (() => {
|
|
105
|
+
try {
|
|
106
|
+
return getEnv().EXTEND_PROTOTYPES.Array === true;
|
|
107
|
+
} catch {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
})();
|
|
111
|
+
let deepClone;
|
|
112
|
+
if (HAS_ARRAY_PROTOTYPE_EXTENSIONS) {
|
|
113
|
+
deepClone = function deepClone(item) {
|
|
114
|
+
return item;
|
|
115
|
+
};
|
|
116
|
+
} else {
|
|
117
|
+
/**
|
|
118
|
+
* Recursively clones all arrays. Needed because Chrome
|
|
119
|
+
* refuses to clone Ember Arrays when extend prototypes is disabled.
|
|
120
|
+
*
|
|
121
|
+
* If the item passed is an array, a clone of the array is returned.
|
|
122
|
+
* If the item is an object or an array, or array properties/items are cloned.
|
|
123
|
+
*
|
|
124
|
+
* @param {Mixed} item The item to clone
|
|
125
|
+
* @return {Mixed}
|
|
126
|
+
*/
|
|
127
|
+
deepClone = function deepClone(item) {
|
|
128
|
+
let clone = item;
|
|
129
|
+
if (isArray(item)) {
|
|
130
|
+
clone = new Array(item.length);
|
|
131
|
+
item.forEach((child, key) => {
|
|
132
|
+
clone[key] = deepClone(child);
|
|
133
|
+
});
|
|
134
|
+
} else if (item && typeOf(item) === 'object') {
|
|
135
|
+
clone = {};
|
|
136
|
+
keys(item).forEach(key => {
|
|
137
|
+
clone[key] = deepClone(item[key]);
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
return clone;
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export { WebExtension as W };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { l as loadEmberDebugInWebpage, o as onEmberReady, s as startInspector } from './start-inspector-BPAW_WLv.js';
|
|
2
|
+
import { B as BasicAdapter, o as onReady } from './basic-DfbgtngO.js';
|
|
3
|
+
import { r as run } from './runloop-CF-Qpqgy.js';
|
|
4
|
+
import './versions.js';
|
|
5
|
+
import './base-object-HAEdWjmg.js';
|
|
6
|
+
import './ember.js';
|
|
7
|
+
|
|
8
|
+
class adapter extends BasicAdapter {
|
|
9
|
+
sendMessage(options = {}) {
|
|
10
|
+
this.socket.emit('emberInspectorMessage', options);
|
|
11
|
+
}
|
|
12
|
+
get socket() {
|
|
13
|
+
return window.EMBER_INSPECTOR_CONFIG.remoteDebugSocket;
|
|
14
|
+
}
|
|
15
|
+
_listen() {
|
|
16
|
+
this.socket.on('emberInspectorMessage', message => {
|
|
17
|
+
// We should generally not be run-wrapping here. Starting a runloop in
|
|
18
|
+
// ember-debug will cause the inspected app to revalidate/rerender. We
|
|
19
|
+
// are generally not intending to cause changes to the rendered output
|
|
20
|
+
// of the app, so this is generally unnecessary, and in big apps this
|
|
21
|
+
// could be quite slow. There is nothing special about the `view:*`
|
|
22
|
+
// messages – I (GC) just happened to have reviewed all of them recently
|
|
23
|
+
// and can be quite sure that they don't need the runloop. We should
|
|
24
|
+
// audit the rest of them and see if we can remove the else branch. I
|
|
25
|
+
// think we most likely can. In the limited cases (if any) where the
|
|
26
|
+
// runloop is needed, the callback code should just do the wrapping
|
|
27
|
+
// themselves.
|
|
28
|
+
if (message.type.startsWith('view:')) {
|
|
29
|
+
this._messageReceived(message);
|
|
30
|
+
} else {
|
|
31
|
+
run(() => {
|
|
32
|
+
this._messageReceived(message);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
_disconnect() {
|
|
38
|
+
this.socket.removeAllListeners('emberInspectorMessage');
|
|
39
|
+
}
|
|
40
|
+
connect() {
|
|
41
|
+
return new Promise((resolve, reject) => {
|
|
42
|
+
onReady(() => {
|
|
43
|
+
if (this.isDestroyed) {
|
|
44
|
+
reject();
|
|
45
|
+
}
|
|
46
|
+
const EMBER_INSPECTOR_CONFIG = window.EMBER_INSPECTOR_CONFIG;
|
|
47
|
+
if (typeof EMBER_INSPECTOR_CONFIG === 'object' && EMBER_INSPECTOR_CONFIG.remoteDebugSocket) {
|
|
48
|
+
resolve();
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}).then(() => {
|
|
52
|
+
this._listen();
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
willDestroy() {
|
|
56
|
+
this._disconnect();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
loadEmberDebugInWebpage(() => onEmberReady(startInspector(adapter)));
|
|
@@ -8,25 +8,28 @@
|
|
|
8
8
|
* @namespace EmberInspector/Shared
|
|
9
9
|
* @class InPageScript
|
|
10
10
|
*/
|
|
11
|
-
(function() {
|
|
12
|
-
|
|
11
|
+
(function () {
|
|
12
|
+
'use strict';
|
|
13
13
|
function onReady(callback) {
|
|
14
|
-
if (
|
|
14
|
+
if (
|
|
15
|
+
document.readyState === 'complete' ||
|
|
16
|
+
document.readyState === 'interactive'
|
|
17
|
+
) {
|
|
15
18
|
setTimeout(completed);
|
|
16
19
|
} else {
|
|
17
|
-
document.addEventListener(
|
|
20
|
+
document.addEventListener('DOMContentLoaded', completed, false);
|
|
18
21
|
// For some reason DOMContentLoaded doesn't always work
|
|
19
|
-
window.addEventListener(
|
|
22
|
+
window.addEventListener('load', completed, false);
|
|
20
23
|
}
|
|
21
24
|
|
|
22
25
|
function completed() {
|
|
23
|
-
document.removeEventListener(
|
|
24
|
-
window.removeEventListener(
|
|
26
|
+
document.removeEventListener('DOMContentLoaded', completed, false);
|
|
27
|
+
window.removeEventListener('load', completed, false);
|
|
25
28
|
callback();
|
|
26
29
|
}
|
|
27
30
|
}
|
|
28
31
|
|
|
29
|
-
onReady(function() {
|
|
32
|
+
onReady(function () {
|
|
30
33
|
let Ember;
|
|
31
34
|
try {
|
|
32
35
|
Ember = requireModule('ember')['default'];
|
|
@@ -43,10 +46,13 @@
|
|
|
43
46
|
}
|
|
44
47
|
|
|
45
48
|
var versions = Array.prototype.slice.call(libraries, 0);
|
|
46
|
-
window.postMessage(
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
49
|
+
window.postMessage(
|
|
50
|
+
{
|
|
51
|
+
type: 'emberVersion',
|
|
52
|
+
versions: versions,
|
|
53
|
+
},
|
|
54
|
+
'*',
|
|
55
|
+
);
|
|
50
56
|
}
|
|
51
57
|
});
|
|
52
|
-
}()
|
|
58
|
+
})();
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
* https://developer.chrome.com/extensions/background_pages
|
|
13
13
|
* https://developer.chrome.com/extensions/messaging
|
|
14
14
|
*/
|
|
15
|
-
(function() {
|
|
16
|
-
|
|
15
|
+
(function () {
|
|
16
|
+
'use strict';
|
|
17
17
|
|
|
18
18
|
var activeTabs = {},
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
activeTabId,
|
|
20
|
+
contextMenuAdded = false,
|
|
21
|
+
emberInspectorChromePorts = {};
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* Creates the tooltip string to show the version of libraries used in the ClientApp
|
|
@@ -26,9 +26,11 @@
|
|
|
26
26
|
* @return {String} - string of library names and versions
|
|
27
27
|
*/
|
|
28
28
|
function generateVersionsTooltip(versions) {
|
|
29
|
-
return versions
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
return versions
|
|
30
|
+
.map(function (lib) {
|
|
31
|
+
return lib.name + ' ' + lib.version;
|
|
32
|
+
})
|
|
33
|
+
.join('\n');
|
|
32
34
|
}
|
|
33
35
|
|
|
34
36
|
/**
|
|
@@ -38,7 +40,7 @@
|
|
|
38
40
|
function setActionTitle(tabId) {
|
|
39
41
|
void chrome.action.setTitle({
|
|
40
42
|
tabId: tabId,
|
|
41
|
-
title: generateVersionsTooltip(activeTabs[tabId])
|
|
43
|
+
title: generateVersionsTooltip(activeTabs[tabId]),
|
|
42
44
|
});
|
|
43
45
|
}
|
|
44
46
|
|
|
@@ -49,14 +51,14 @@
|
|
|
49
51
|
* @param {Number} tabId - the current tab
|
|
50
52
|
*/
|
|
51
53
|
function updateTabAction(tabId) {
|
|
52
|
-
chrome.storage.sync.get(
|
|
54
|
+
chrome.storage.sync.get('options', async function (data) {
|
|
53
55
|
void chrome.action.enable(tabId);
|
|
54
56
|
void chrome.action.setIcon({
|
|
55
57
|
tabId,
|
|
56
58
|
path: {
|
|
57
59
|
19: 'panes-3-16-0/assets/images/icon19.png',
|
|
58
60
|
38: 'panes-3-16-0/assets/images/icon38.png',
|
|
59
|
-
}
|
|
61
|
+
},
|
|
60
62
|
});
|
|
61
63
|
setActionTitle(tabId);
|
|
62
64
|
});
|
|
@@ -78,7 +80,7 @@
|
|
|
78
80
|
path: {
|
|
79
81
|
19: 'panes-3-16-0/assets/images/icon19_grey.png',
|
|
80
82
|
38: 'panes-3-16-0/assets/images/icon38_grey.png',
|
|
81
|
-
}
|
|
83
|
+
},
|
|
82
84
|
});
|
|
83
85
|
}
|
|
84
86
|
|
|
@@ -86,7 +88,7 @@
|
|
|
86
88
|
if (info.menuItemId !== 'inspect-ember-component') return;
|
|
87
89
|
void chrome.tabs.sendMessage(activeTabId, {
|
|
88
90
|
from: 'devtools',
|
|
89
|
-
type: 'view:contextMenu'
|
|
91
|
+
type: 'view:contextMenu',
|
|
90
92
|
});
|
|
91
93
|
}
|
|
92
94
|
|
|
@@ -130,7 +132,7 @@
|
|
|
130
132
|
*
|
|
131
133
|
* @param {Port} emberInspectorChromePort
|
|
132
134
|
*/
|
|
133
|
-
chrome.runtime.onConnect.addListener(function(emberInspectorChromePort) {
|
|
135
|
+
chrome.runtime.onConnect.addListener(function (emberInspectorChromePort) {
|
|
134
136
|
var appId;
|
|
135
137
|
|
|
136
138
|
/**
|
|
@@ -139,7 +141,7 @@
|
|
|
139
141
|
* to the content-script.
|
|
140
142
|
* @param {Message} message
|
|
141
143
|
*/
|
|
142
|
-
emberInspectorChromePort.onMessage.addListener(function(message) {
|
|
144
|
+
emberInspectorChromePort.onMessage.addListener(function (message) {
|
|
143
145
|
// if the message contains the appId, this is the first
|
|
144
146
|
// message and the appId is used to map the port for this app.
|
|
145
147
|
if (message.appId) {
|
|
@@ -147,13 +149,15 @@
|
|
|
147
149
|
|
|
148
150
|
emberInspectorChromePorts[appId] = emberInspectorChromePort;
|
|
149
151
|
|
|
150
|
-
emberInspectorChromePort.onDisconnect.addListener(function() {
|
|
152
|
+
emberInspectorChromePort.onDisconnect.addListener(function () {
|
|
151
153
|
delete emberInspectorChromePorts[appId];
|
|
152
154
|
});
|
|
153
155
|
} else if (message.from === 'devtools') {
|
|
154
156
|
// all other messages from EmberInspector are forwarded to the content-script
|
|
155
157
|
// https://developer.chrome.com/extensions/tabs#method-sendMessage
|
|
156
|
-
chrome.tabs.sendMessage(message.tabId || appId, message, {
|
|
158
|
+
chrome.tabs.sendMessage(message.tabId || appId, message, {
|
|
159
|
+
frameId: message.frameId,
|
|
160
|
+
});
|
|
157
161
|
}
|
|
158
162
|
});
|
|
159
163
|
});
|
|
@@ -164,7 +168,7 @@
|
|
|
164
168
|
* @param {Object} request
|
|
165
169
|
* @param {MessageSender} sender
|
|
166
170
|
*/
|
|
167
|
-
chrome.runtime.onMessage.addListener(function(request, sender) {
|
|
171
|
+
chrome.runtime.onMessage.addListener(function (request, sender) {
|
|
168
172
|
// only listen to messages from the content-script
|
|
169
173
|
if (!sender.tab) {
|
|
170
174
|
// noop
|
|
@@ -182,7 +186,9 @@
|
|
|
182
186
|
} else {
|
|
183
187
|
// forward the message to EmberInspector
|
|
184
188
|
var emberInspectorChromePort = emberInspectorChromePorts[sender.tab.id];
|
|
185
|
-
if (emberInspectorChromePort) {
|
|
189
|
+
if (emberInspectorChromePort) {
|
|
190
|
+
emberInspectorChromePort.postMessage(request);
|
|
191
|
+
}
|
|
186
192
|
}
|
|
187
193
|
});
|
|
188
194
|
|
|
@@ -203,5 +209,4 @@
|
|
|
203
209
|
chrome.tabs.onRemoved.addListener(({ tabId }) => {
|
|
204
210
|
delete activeTabs[tabId];
|
|
205
211
|
});
|
|
206
|
-
|
|
207
|
-
}());
|
|
212
|
+
})();
|
package/dist/firefox/boot.js
CHANGED
|
@@ -9,7 +9,7 @@ if (document.contentType === 'text/html') {
|
|
|
9
9
|
//https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Sharing_objects_with_page_scripts
|
|
10
10
|
if (window.wrappedJSObject) {
|
|
11
11
|
const EmberENV = new window.Object();
|
|
12
|
-
EmberENV._DEBUG_RENDER_TREE = true
|
|
12
|
+
EmberENV._DEBUG_RENDER_TREE = true;
|
|
13
13
|
window.wrappedJSObject.EmberENV = EmberENV;
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
* Content scripts are loaded into every page, and have access to the DOM. This uses that
|
|
10
10
|
* to inject the in-page-script to determine the ClientApp version onLoad.
|
|
11
11
|
*/
|
|
12
|
-
(function() {
|
|
13
|
-
|
|
12
|
+
(function () {
|
|
13
|
+
'use strict';
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Add an event listener for window.messages.
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* See:
|
|
24
24
|
* https://developer.mozilla.org/en-US/docs/Web/API/Channel_Messaging_API
|
|
25
25
|
*/
|
|
26
|
-
window.addEventListener('message', function(event) {
|
|
26
|
+
window.addEventListener('message', function (event) {
|
|
27
27
|
// received initial message from EmberDebug
|
|
28
28
|
if (event.data === 'debugger-client') {
|
|
29
29
|
var emberDebugPort = event.ports[0];
|
|
@@ -39,12 +39,12 @@
|
|
|
39
39
|
*/
|
|
40
40
|
function listenToEmberDebugPort(emberDebugPort) {
|
|
41
41
|
// listen for messages from EmberDebug, and pass them on to the background script
|
|
42
|
-
emberDebugPort.addEventListener('message', function(event) {
|
|
42
|
+
emberDebugPort.addEventListener('message', function (event) {
|
|
43
43
|
chrome.runtime.sendMessage(event.data);
|
|
44
44
|
});
|
|
45
45
|
|
|
46
46
|
// listen for messages from the EmberInspector, and pass them on to EmberDebug
|
|
47
|
-
chrome.runtime.onMessage.addListener(function(message) {
|
|
47
|
+
chrome.runtime.onMessage.addListener(function (message) {
|
|
48
48
|
if (message.from === 'devtools') {
|
|
49
49
|
// forward message to EmberDebug
|
|
50
50
|
emberDebugPort.postMessage(message);
|
|
@@ -74,11 +74,11 @@
|
|
|
74
74
|
* the libraries running in the ClientApp
|
|
75
75
|
*/
|
|
76
76
|
var script = document.createElement('script');
|
|
77
|
-
script.type =
|
|
78
|
-
script.src = chrome.runtime.getURL(
|
|
79
|
-
if (document.head && document.contentType !==
|
|
77
|
+
script.type = 'text/javascript';
|
|
78
|
+
script.src = chrome.runtime.getURL('scripts/in-page-script.js');
|
|
79
|
+
if (document.head && document.contentType !== 'application/pdf') {
|
|
80
80
|
document.head.appendChild(script);
|
|
81
|
-
script.onload = function() {
|
|
81
|
+
script.onload = function () {
|
|
82
82
|
document.head.removeChild(script);
|
|
83
83
|
};
|
|
84
84
|
}
|
|
@@ -89,9 +89,10 @@
|
|
|
89
89
|
if (message?.type === 'inject-ember-debug') {
|
|
90
90
|
if (!injected) {
|
|
91
91
|
// cannot use eval here, as the context is limited to the content script-
|
|
92
|
-
const elem = document.createElement('script')
|
|
92
|
+
const elem = document.createElement('script');
|
|
93
|
+
elem.type = 'module';
|
|
93
94
|
elem.src = message.value;
|
|
94
|
-
document.head.appendChild(elem)
|
|
95
|
+
document.head.appendChild(elem);
|
|
95
96
|
injected = true;
|
|
96
97
|
}
|
|
97
98
|
}
|
package/dist/firefox/devtools.js
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
|
-
/*global chrome*/
|
|
1
|
+
/* global chrome */
|
|
2
|
+
/* eslint-disable no-unused-vars */
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Run when devtools.html is automatically added to the Chrome devtools panels.
|
|
5
6
|
* It creates a new pane using the panes/index.html which includes EmberInspector.
|
|
6
7
|
*/
|
|
7
|
-
var panelWindow,
|
|
8
|
+
var panelWindow,
|
|
9
|
+
injectedPanel = false,
|
|
10
|
+
injectedPage = false,
|
|
11
|
+
panelVisible = false,
|
|
12
|
+
savedStack = [];
|
|
8
13
|
|
|
9
|
-
chrome.devtools.panels.create(
|
|
14
|
+
chrome.devtools.panels.create(
|
|
15
|
+
'Ember [Nightly]',
|
|
16
|
+
'panes-3-16-0/assets/svg/ember-icon.svg',
|
|
17
|
+
'panes-3-16-0/index.html',
|
|
18
|
+
);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"manifest_version": 3,
|
|
3
3
|
"name": "Ember Inspector (Nightly)",
|
|
4
4
|
"description": "Tool for debugging Ember applications.",
|
|
5
|
-
"version": "
|
|
5
|
+
"version": "2025.10.1",
|
|
6
6
|
"icons": {
|
|
7
7
|
"16": "panes-3-16-0/assets/images/icon16.png",
|
|
8
8
|
"38": "panes-3-16-0/assets/images/icon38.png",
|
|
@@ -67,12 +67,12 @@
|
|
|
67
67
|
{
|
|
68
68
|
"resources": [
|
|
69
69
|
"scripts/in-page-script.js",
|
|
70
|
-
"panes
|
|
70
|
+
"panes-*/*.js"
|
|
71
71
|
],
|
|
72
72
|
"matches": [
|
|
73
73
|
"*://*/*"
|
|
74
74
|
]
|
|
75
75
|
}
|
|
76
76
|
],
|
|
77
|
-
"version_name": "4.13.1 (nightly build
|
|
77
|
+
"version_name": "4.13.1 (nightly build 2025.10.1 / ea55cfa)"
|
|
78
78
|
}
|
package/dist/firefox/options.js
CHANGED
|
@@ -8,17 +8,18 @@
|
|
|
8
8
|
* see:
|
|
9
9
|
* https://developer.chrome.com/extensions/options
|
|
10
10
|
*/
|
|
11
|
-
(function() {
|
|
12
|
-
|
|
11
|
+
(function () {
|
|
12
|
+
'use strict';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Load the options from storage.
|
|
16
16
|
*/
|
|
17
17
|
function loadOptions() {
|
|
18
|
-
chrome.storage.sync.get('options', function(data) {
|
|
18
|
+
chrome.storage.sync.get('options', function (data) {
|
|
19
19
|
var options = data.options;
|
|
20
20
|
|
|
21
|
-
document.querySelector('[data-settings=tomster]').checked =
|
|
21
|
+
document.querySelector('[data-settings=tomster]').checked =
|
|
22
|
+
options && options.showTomster;
|
|
22
23
|
});
|
|
23
24
|
}
|
|
24
25
|
|
|
@@ -28,14 +29,18 @@
|
|
|
28
29
|
function storeOptions() {
|
|
29
30
|
var showTomster = this.checked;
|
|
30
31
|
|
|
31
|
-
chrome.storage.sync.set(
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
chrome.storage.sync.set(
|
|
33
|
+
{
|
|
34
|
+
options: { showTomster: showTomster },
|
|
35
|
+
},
|
|
36
|
+
function optionsSaved() {
|
|
37
|
+
console.log('saved!');
|
|
38
|
+
},
|
|
39
|
+
);
|
|
36
40
|
}
|
|
37
41
|
|
|
38
42
|
document.addEventListener('DOMContentLoaded', loadOptions);
|
|
39
|
-
document
|
|
40
|
-
|
|
41
|
-
|
|
43
|
+
document
|
|
44
|
+
.querySelector('[data-settings=tomster]')
|
|
45
|
+
.addEventListener('click', storeOptions);
|
|
46
|
+
})();
|