ember-inspector 4.13.1 → 4.15.0
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/.ember-cli +1 -9
- package/.github/workflows/build.yml +33 -112
- package/.github/workflows/plan-release.yml +26 -48
- package/.github/workflows/publish.yml +129 -31
- package/.prettierignore +2 -13
- package/.prettierrc.js +10 -4
- package/.release-plan.json +13 -4
- package/.stylelintignore +8 -0
- package/.stylelintrc.js +10 -1
- package/.template-lintrc.js +2 -1
- package/.tool-versions +2 -2
- package/.watchmanconfig +1 -1
- package/CHANGELOG.md +137 -0
- package/DEVELOPMENT.md +50 -0
- package/PRIVACY.md +3 -0
- package/README.md +14 -50
- package/RELEASE.md +15 -50
- 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 +7 -13
- 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 +6 -4
- 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} +25 -23
- 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 +22 -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.aca67dc376e8cd35b522.js +40 -0
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.582.d3d80e94c4f59dc3b65d.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 +560 -613
- 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-B1dkgN3d.js +149 -0
- package/dist/bookmarklet/panes-3-16-0/basic-debug.js +10 -0
- package/dist/bookmarklet/panes-3-16-0/bookmarklet-BZWtwuX-.js +32 -0
- package/dist/bookmarklet/panes-3-16-0/bookmarklet-debug.js +10 -0
- package/dist/bookmarklet/panes-3-16-0/chrome-P6FSEUf1.js +10 -0
- package/dist/bookmarklet/panes-3-16-0/chrome-debug.js +10 -0
- package/dist/bookmarklet/panes-3-16-0/ember.js +166 -0
- package/dist/bookmarklet/panes-3-16-0/ember_debug.js +7 -11018
- package/dist/bookmarklet/panes-3-16-0/evented-BCTya3yE.js +62 -0
- package/dist/bookmarklet/panes-3-16-0/firefox-8F84zphP.js +30 -0
- package/dist/bookmarklet/panes-3-16-0/firefox-debug.js +10 -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/load-ember-debug-in-webpage-DCWcJhQm.js +29 -0
- package/dist/bookmarklet/panes-3-16-0/main.js +7669 -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-6_0lpzTA.js +1138 -0
- package/dist/bookmarklet/panes-3-16-0/start-inspector-BIYQArZn.js +334 -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-OWnXJ_XK.js +144 -0
- package/dist/bookmarklet/panes-3-16-0/websocket-BSUvUqER.js +58 -0
- package/dist/bookmarklet/panes-3-16-0/websocket-debug.js +10 -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 +4 -2
- 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.aca67dc376e8cd35b522.js +40 -0
- package/dist/chrome/panes-3-16-0/assets/chunk.582.d3d80e94c4f59dc3b65d.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 +560 -613
- 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-B1dkgN3d.js +149 -0
- package/dist/chrome/panes-3-16-0/basic-debug.js +10 -0
- package/dist/chrome/panes-3-16-0/bookmarklet-BZWtwuX-.js +32 -0
- package/dist/chrome/panes-3-16-0/bookmarklet-debug.js +10 -0
- package/dist/chrome/panes-3-16-0/chrome-P6FSEUf1.js +10 -0
- package/dist/chrome/panes-3-16-0/chrome-debug.js +10 -0
- package/dist/chrome/panes-3-16-0/ember.js +166 -0
- package/dist/chrome/panes-3-16-0/ember_debug.js +7 -11018
- package/dist/chrome/panes-3-16-0/evented-BCTya3yE.js +62 -0
- package/dist/chrome/panes-3-16-0/firefox-8F84zphP.js +30 -0
- package/dist/chrome/panes-3-16-0/firefox-debug.js +10 -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/load-ember-debug-in-webpage-DCWcJhQm.js +29 -0
- package/dist/chrome/panes-3-16-0/main.js +7669 -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-6_0lpzTA.js +1138 -0
- package/dist/chrome/panes-3-16-0/start-inspector-BIYQArZn.js +334 -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-OWnXJ_XK.js +144 -0
- package/dist/chrome/panes-3-16-0/websocket-BSUvUqER.js +58 -0
- package/dist/chrome/panes-3-16-0/websocket-debug.js +10 -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 +4 -2
- 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.aca67dc376e8cd35b522.js +40 -0
- package/dist/firefox/panes-3-16-0/assets/chunk.582.d3d80e94c4f59dc3b65d.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 +560 -613
- 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-B1dkgN3d.js +149 -0
- package/dist/firefox/panes-3-16-0/basic-debug.js +10 -0
- package/dist/firefox/panes-3-16-0/bookmarklet-BZWtwuX-.js +32 -0
- package/dist/firefox/panes-3-16-0/bookmarklet-debug.js +10 -0
- package/dist/firefox/panes-3-16-0/chrome-P6FSEUf1.js +10 -0
- package/dist/firefox/panes-3-16-0/chrome-debug.js +10 -0
- package/dist/firefox/panes-3-16-0/ember.js +166 -0
- package/dist/firefox/panes-3-16-0/ember_debug.js +7 -11018
- package/dist/firefox/panes-3-16-0/evented-BCTya3yE.js +62 -0
- package/dist/firefox/panes-3-16-0/firefox-8F84zphP.js +30 -0
- package/dist/firefox/panes-3-16-0/firefox-debug.js +10 -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/load-ember-debug-in-webpage-DCWcJhQm.js +29 -0
- package/dist/firefox/panes-3-16-0/main.js +7669 -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-6_0lpzTA.js +1138 -0
- package/dist/firefox/panes-3-16-0/start-inspector-BIYQArZn.js +334 -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-OWnXJ_XK.js +144 -0
- package/dist/firefox/panes-3-16-0/websocket-BSUvUqER.js +58 -0
- package/dist/firefox/panes-3-16-0/websocket-debug.js +10 -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.aca67dc376e8cd35b522.js +40 -0
- package/dist/websocket/assets/chunk.582.d3d80e94c4f59dc3b65d.js +42 -0
- package/dist/websocket/assets/ember-inspector.css +997 -156
- package/dist/websocket/assets/ember-inspector.js +560 -613
- 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-B1dkgN3d.js +149 -0
- package/dist/websocket/basic-debug.js +10 -0
- package/dist/websocket/bookmarklet-BZWtwuX-.js +32 -0
- package/dist/websocket/bookmarklet-debug.js +10 -0
- package/dist/websocket/chrome-P6FSEUf1.js +10 -0
- package/dist/websocket/chrome-debug.js +10 -0
- package/dist/websocket/ember.js +166 -0
- package/dist/websocket/ember_debug.js +7 -11018
- package/dist/websocket/evented-BCTya3yE.js +62 -0
- package/dist/websocket/firefox-8F84zphP.js +30 -0
- package/dist/websocket/firefox-debug.js +10 -0
- package/dist/websocket/index.html +4 -23
- package/dist/websocket/internals-CRmXMEzb.js +12 -0
- package/dist/websocket/load-ember-debug-in-webpage-DCWcJhQm.js +29 -0
- package/dist/websocket/main.js +7669 -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-6_0lpzTA.js +1138 -0
- package/dist/websocket/start-inspector-BIYQArZn.js +334 -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-OWnXJ_XK.js +144 -0
- package/dist/websocket/websocket-BSUvUqER.js +58 -0
- package/dist/websocket/websocket-debug.js +10 -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 +10 -0
- package/ember_debug/entrypoints/bookmarklet-debug.js +10 -0
- package/ember_debug/entrypoints/chrome-debug.js +10 -0
- package/ember_debug/entrypoints/firefox-debug.js +10 -0
- package/ember_debug/entrypoints/websocket-debug.js +10 -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 +28 -0
- package/ember_debug/lib/load-ember-debug-in-webpage.js +32 -0
- package/ember_debug/lib/send-apps.js +14 -0
- package/ember_debug/lib/send-version-miss.js +38 -0
- package/ember_debug/lib/setup-instance-initializer.js +17 -0
- package/ember_debug/lib/start-inspector.js +195 -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 +74 -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 +11 -9
- package/ember_debug/utils/ember.js +222 -40
- 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/patches/ember-cli-inject-live-reload.patch +16 -0
- 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 -1
- 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 +14 -11
- 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 +11 -11
- package/tests/ember_debug/container-debug-test.js +5 -14
- package/tests/ember_debug/deprecation-debug-test.js +15 -6
- package/tests/ember_debug/ember-data-test.js +7 -1
- package/tests/ember_debug/ember-debug-test.js +13 -13
- package/tests/ember_debug/object-inspector-test.js +115 -50
- package/tests/ember_debug/profile-manager-test.js +153 -170
- package/tests/ember_debug/profile-node-test.js +9 -5
- package/tests/ember_debug/promise-assembler-test.js +18 -10
- package/tests/ember_debug/promise-debug-test.js +19 -15
- package/tests/ember_debug/render-debug-test.js +8 -1
- package/tests/ember_debug/route-debug-test.js +14 -8
- package/tests/ember_debug/view-debug-test.js +267 -183
- package/tests/helpers/{index.js → index.ts} +6 -5
- package/tests/helpers/setup-ember-debug-test.js +22 -2
- package/tests/index.html +1 -2
- package/tests/integration/injection-test.js +37 -81
- 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 +27 -0
- package/tsconfig.json +3 -1
- package/types/ember-inspector/index.d.ts +2 -1
- package/types/global.d.ts +1 -7
- package/.eslintignore +0 -33
- package/.eslintrc.js +0 -86
- package/app/components/list-content.js +0 -130
- package/app/controllers/promise-tree.js +0 -130
- package/app/libs/promise-assembler.js +0 -169
- 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.76a242242ec46a377266.js +0 -28
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.178.b6064b368cf24cc346ec.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.76a242242ec46a377266.js +0 -28
- package/dist/chrome/panes-3-16-0/assets/chunk.178.b6064b368cf24cc346ec.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.76a242242ec46a377266.js +0 -28
- package/dist/firefox/panes-3-16-0/assets/chunk.178.b6064b368cf24cc346ec.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.76a242242ec46a377266.js +0 -28
- package/dist/websocket/assets/chunk.178.b6064b368cf24cc346ec.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/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
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import classify from '
|
|
2
|
-
import bound from '
|
|
3
|
-
import getObjectName from '../utils/get-object-name';
|
|
1
|
+
import classify from '../utils/classify';
|
|
2
|
+
import bound from '../utils/bound-method';
|
|
3
|
+
import getObjectName from '../utils/get-object-name.js';
|
|
4
4
|
|
|
5
5
|
function makeHighlight(id) {
|
|
6
6
|
return `<div id="ember-inspector-highlight-${id}" role="presentation"></div>`;
|
|
@@ -308,7 +308,7 @@ export default class ViewInspection {
|
|
|
308
308
|
document.body.removeEventListener(
|
|
309
309
|
'mousemove',
|
|
310
310
|
bound(this, this.onMouseMove),
|
|
311
|
-
{ capture: true }
|
|
311
|
+
{ capture: true },
|
|
312
312
|
);
|
|
313
313
|
|
|
314
314
|
this.didStopInspecting();
|
|
@@ -317,7 +317,11 @@ export default class ViewInspection {
|
|
|
317
317
|
onMouseMove(event) {
|
|
318
318
|
event.preventDefault();
|
|
319
319
|
event.stopPropagation();
|
|
320
|
-
|
|
320
|
+
let target = event.target;
|
|
321
|
+
if (target.shadowRoot) {
|
|
322
|
+
target = target.shadowRoot.elementFromPoint(event.x, event.y) || target;
|
|
323
|
+
}
|
|
324
|
+
this.inspectNearest(target, false);
|
|
321
325
|
}
|
|
322
326
|
|
|
323
327
|
onKeyDown(event) {
|
|
@@ -342,7 +346,11 @@ export default class ViewInspection {
|
|
|
342
346
|
} else if (this.isInspecting && event.button === 0) {
|
|
343
347
|
event.preventDefault();
|
|
344
348
|
event.stopPropagation();
|
|
345
|
-
|
|
349
|
+
let target = event.target;
|
|
350
|
+
if (target.shadowRoot) {
|
|
351
|
+
target = target.shadowRoot.elementFromPoint(event.x, event.y) || target;
|
|
352
|
+
}
|
|
353
|
+
this.inspectNearest(target, true);
|
|
346
354
|
this.stop(false);
|
|
347
355
|
}
|
|
348
356
|
}
|
|
@@ -480,7 +488,7 @@ export default class ViewInspection {
|
|
|
480
488
|
|
|
481
489
|
_renderTooltipCategory(node) {
|
|
482
490
|
let category = this.tooltip.querySelector(
|
|
483
|
-
'.ember-inspector-tooltip-category'
|
|
491
|
+
'.ember-inspector-tooltip-category',
|
|
484
492
|
);
|
|
485
493
|
|
|
486
494
|
switch (node.type) {
|
|
@@ -498,7 +506,7 @@ export default class ViewInspection {
|
|
|
498
506
|
|
|
499
507
|
_renderTooltipDetails(node) {
|
|
500
508
|
let tbody = this.tooltip.querySelector(
|
|
501
|
-
'.ember-inspector-tooltip-details tbody'
|
|
509
|
+
'.ember-inspector-tooltip-details tbody',
|
|
502
510
|
);
|
|
503
511
|
|
|
504
512
|
tbody.innerHTML = '';
|
|
@@ -512,21 +520,21 @@ export default class ViewInspection {
|
|
|
512
520
|
this._renderTooltipDetail(
|
|
513
521
|
tbody,
|
|
514
522
|
'Controller',
|
|
515
|
-
this._tokenizeItem(node.instance)
|
|
523
|
+
this._tokenizeItem(node.instance),
|
|
516
524
|
);
|
|
517
525
|
} else {
|
|
518
526
|
this._renderTooltipDetail(
|
|
519
527
|
tbody,
|
|
520
528
|
'Instance',
|
|
521
|
-
this._tokenizeItem(node.instance)
|
|
529
|
+
this._tokenizeItem(node.instance),
|
|
522
530
|
);
|
|
523
531
|
}
|
|
524
532
|
const detail =
|
|
525
533
|
tbody.querySelector(
|
|
526
|
-
'.ember-inspector-tooltip-detail-instance > .ember-inspector-tooltip-token-tag'
|
|
534
|
+
'.ember-inspector-tooltip-detail-instance > .ember-inspector-tooltip-token-tag',
|
|
527
535
|
) ||
|
|
528
536
|
tbody.querySelector(
|
|
529
|
-
'.ember-inspector-tooltip-detail-controller > .ember-inspector-tooltip-token-tag'
|
|
537
|
+
'.ember-inspector-tooltip-detail-controller > .ember-inspector-tooltip-token-tag',
|
|
530
538
|
);
|
|
531
539
|
if (detail) {
|
|
532
540
|
detail.onclick = () => {
|
|
@@ -635,7 +643,7 @@ export default class ViewInspection {
|
|
|
635
643
|
{
|
|
636
644
|
// <my-app@component:foo-bar::ember123>
|
|
637
645
|
let match = stringified.match(
|
|
638
|
-
/<([a-z0-9-_]+)@([a-z0-9-_]+):([a-z0-9-_]+)::([a-z0-9-_]+)>/i
|
|
646
|
+
/<([a-z0-9-_]+)@([a-z0-9-_]+):([a-z0-9-_]+)::([a-z0-9-_]+)>/i,
|
|
639
647
|
);
|
|
640
648
|
|
|
641
649
|
if (match) {
|
|
@@ -691,12 +699,12 @@ export default class ViewInspection {
|
|
|
691
699
|
attachmentTop = top;
|
|
692
700
|
this.tooltip.setAttribute(
|
|
693
701
|
'class',
|
|
694
|
-
`ember-inspector-tooltip-attach-above
|
|
702
|
+
`ember-inspector-tooltip-attach-above`,
|
|
695
703
|
);
|
|
696
704
|
} else {
|
|
697
705
|
this.tooltip.setAttribute(
|
|
698
706
|
'class',
|
|
699
|
-
`ember-inspector-tooltip-attach-below
|
|
707
|
+
`ember-inspector-tooltip-attach-below`,
|
|
700
708
|
);
|
|
701
709
|
}
|
|
702
710
|
|
|
@@ -709,7 +717,7 @@ export default class ViewInspection {
|
|
|
709
717
|
// within the viewport, but not so much that it will become detached.
|
|
710
718
|
leftOffset = Math.max(
|
|
711
719
|
highlightRect.left - safetyMargin,
|
|
712
|
-
safetyMargin - highlightRect.width
|
|
720
|
+
safetyMargin - highlightRect.width,
|
|
713
721
|
);
|
|
714
722
|
} else if (tooltipRect.right > viewportWidth) {
|
|
715
723
|
// If the tooltip is partially offscreen to the right (because the tooltip
|
|
@@ -717,7 +725,7 @@ export default class ViewInspection {
|
|
|
717
725
|
// not so much that it will become detached.
|
|
718
726
|
leftOffset = Math.min(
|
|
719
727
|
tooltipRect.right - viewportWidth,
|
|
720
|
-
tooltipRect.width - safetyMargin * 2
|
|
728
|
+
tooltipRect.width - safetyMargin * 2,
|
|
721
729
|
);
|
|
722
730
|
tooltipStyle.left = `${scrollX + attachmentLeft - leftOffset}px`;
|
|
723
731
|
}
|
package/ember_debug/main.js
CHANGED
|
@@ -1,23 +1,20 @@
|
|
|
1
|
-
import BasicAdapter from '
|
|
2
|
-
import Port from '
|
|
3
|
-
import ObjectInspector from '
|
|
4
|
-
import GeneralDebug from '
|
|
5
|
-
import RenderDebug from '
|
|
6
|
-
import ViewDebug from '
|
|
7
|
-
import RouteDebug from '
|
|
8
|
-
import DataDebug from '
|
|
9
|
-
import PromiseDebug from '
|
|
10
|
-
import ContainerDebug from '
|
|
11
|
-
import DeprecationDebug from '
|
|
12
|
-
import Session from '
|
|
13
|
-
|
|
14
|
-
import { Application, Namespace } from '
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
} from 'ember-debug/utils/ember/object/internals';
|
|
19
|
-
import { run } from 'ember-debug/utils/ember/runloop';
|
|
20
|
-
import BaseObject from 'ember-debug/utils/base-object';
|
|
1
|
+
import BasicAdapter from './adapters/basic';
|
|
2
|
+
import Port from './port';
|
|
3
|
+
import ObjectInspector from './object-inspector';
|
|
4
|
+
import GeneralDebug from './general-debug';
|
|
5
|
+
import RenderDebug from './render-debug';
|
|
6
|
+
import ViewDebug from './view-debug';
|
|
7
|
+
import RouteDebug from './route-debug';
|
|
8
|
+
import DataDebug from './data-debug';
|
|
9
|
+
import PromiseDebug from './promise-debug';
|
|
10
|
+
import ContainerDebug from './container-debug';
|
|
11
|
+
import DeprecationDebug from './deprecation-debug';
|
|
12
|
+
import Session from './services/session';
|
|
13
|
+
|
|
14
|
+
import { Application, Namespace } from './utils/ember';
|
|
15
|
+
import { guidFor, setGuidPrefix } from './utils/ember/object/internals';
|
|
16
|
+
import { run } from './utils/ember/runloop';
|
|
17
|
+
import BaseObject from './utils/base-object';
|
|
21
18
|
|
|
22
19
|
class EmberDebug extends BaseObject {
|
|
23
20
|
/**
|
|
@@ -47,7 +44,7 @@ class EmberDebug extends BaseObject {
|
|
|
47
44
|
}
|
|
48
45
|
|
|
49
46
|
// Using object shorthand syntax here is somehow having strange side effects.
|
|
50
|
-
|
|
47
|
+
|
|
51
48
|
Port = Port;
|
|
52
49
|
Adapter = BasicAdapter;
|
|
53
50
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import ProfileNode from './profile-node';
|
|
2
|
-
import
|
|
3
|
-
import { compareVersion } from '
|
|
1
|
+
import ProfileNode from './profile-node.js';
|
|
2
|
+
import { VERSION } from '../utils/ember';
|
|
3
|
+
import { compareVersion } from '../utils/version';
|
|
4
4
|
|
|
5
|
-
import { later, scheduleOnce, cancel } from '
|
|
5
|
+
import { later, scheduleOnce, cancel } from '../utils/ember/runloop';
|
|
6
6
|
|
|
7
7
|
function getEdges(first, last, closest) {
|
|
8
8
|
let start = null;
|
|
@@ -75,7 +75,7 @@ export default class ProfileManager {
|
|
|
75
75
|
this.stylesheet = insertStylesheet();
|
|
76
76
|
// keep track of all the active highlights
|
|
77
77
|
this.highlights = [];
|
|
78
|
-
this.isHighlightEnabled = compareVersion(
|
|
78
|
+
this.isHighlightEnabled = compareVersion(VERSION, '3.20.0') !== -1;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
began(timestamp, payload, now) {
|
|
@@ -222,7 +222,7 @@ export default class ProfileManager {
|
|
|
222
222
|
this.queue[entry.endedIndex].profileNode = this.began(
|
|
223
223
|
entry.timestamp,
|
|
224
224
|
entry.payload,
|
|
225
|
-
entry.now
|
|
225
|
+
entry.now,
|
|
226
226
|
);
|
|
227
227
|
}
|
|
228
228
|
} else {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { typeOf } from '
|
|
2
|
-
import BaseObject from '
|
|
1
|
+
import { typeOf } from '../utils/type-check';
|
|
2
|
+
import BaseObject from '../utils/base-object';
|
|
3
3
|
|
|
4
4
|
const dateComputed = function () {
|
|
5
5
|
return function (target, propertyKey) {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/* eslint-disable ember/no-private-routing-service */
|
|
2
|
-
import DebugPort from './debug-port';
|
|
3
|
-
import bound from '
|
|
2
|
+
import DebugPort from './debug-port.js';
|
|
3
|
+
import bound from './utils/bound-method';
|
|
4
4
|
import {
|
|
5
5
|
isComputed,
|
|
6
6
|
getDescriptorFor,
|
|
7
7
|
typeOf,
|
|
8
8
|
inspect,
|
|
9
|
-
} from '
|
|
10
|
-
import { compareVersion } from '
|
|
9
|
+
} from './utils/type-check';
|
|
10
|
+
import { compareVersion } from './utils/version';
|
|
11
11
|
import {
|
|
12
12
|
EmberObject,
|
|
13
13
|
meta as emberMeta,
|
|
@@ -16,28 +16,30 @@ import {
|
|
|
16
16
|
ObjectProxy,
|
|
17
17
|
ArrayProxy,
|
|
18
18
|
Service,
|
|
19
|
+
InternalsMetal,
|
|
19
20
|
Component,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
import {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
return EmberLoader.require('@glimmer/component').default;
|
|
30
|
-
} catch (e) {
|
|
31
|
-
// ignore, return undefined
|
|
32
|
-
}
|
|
33
|
-
})();
|
|
21
|
+
GlimmerComponent,
|
|
22
|
+
GlimmerReference,
|
|
23
|
+
GlimmerValidator,
|
|
24
|
+
getOwner,
|
|
25
|
+
} from './utils/ember';
|
|
26
|
+
import { cacheFor, guidFor } from './utils/ember/object/internals';
|
|
27
|
+
import { _backburner, join } from './utils/ember/runloop';
|
|
28
|
+
import emberNames from './utils/ember-object-names.js';
|
|
29
|
+
import getObjectName from './utils/get-object-name.js';
|
|
34
30
|
|
|
35
31
|
let tagValue, tagValidate, track, tagForProperty;
|
|
36
32
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
33
|
+
const GlimmerDebugComponent = (() => GlimmerComponent?.default)();
|
|
34
|
+
|
|
35
|
+
const OWNER_SYMBOL = '__owner__'; // can't use actual symbol because it can't be cloned
|
|
40
36
|
|
|
37
|
+
// Try to use the most recent library (GlimmerValidator), else
|
|
38
|
+
// fallback on the previous implementation (GlimmerReference).
|
|
39
|
+
// The global checks if the inspected app is Vite, in that case
|
|
40
|
+
// we can't execute that block because the properties it tries to
|
|
41
|
+
// assign are readonly.
|
|
42
|
+
if (GlimmerValidator && !globalThis.emberInspectorApps) {
|
|
41
43
|
tagValue = GlimmerValidator.value || GlimmerValidator.valueForTag;
|
|
42
44
|
tagValidate = GlimmerValidator.validate || GlimmerValidator.validateTag;
|
|
43
45
|
track = GlimmerValidator.track;
|
|
@@ -70,26 +72,15 @@ try {
|
|
|
70
72
|
}
|
|
71
73
|
return r;
|
|
72
74
|
};
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
let GlimmerReference = EmberLoader.require('@glimmer/reference');
|
|
77
|
-
|
|
78
|
-
tagValue = GlimmerReference.value;
|
|
79
|
-
tagValidate = GlimmerReference.validate;
|
|
80
|
-
} catch (e) {
|
|
81
|
-
// ignore
|
|
82
|
-
}
|
|
75
|
+
} else if (GlimmerReference) {
|
|
76
|
+
tagValue = GlimmerReference.value;
|
|
77
|
+
tagValidate = GlimmerReference.validate;
|
|
83
78
|
}
|
|
84
79
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
tagForProperty = metal.tagForProperty;
|
|
80
|
+
if (InternalsMetal) {
|
|
81
|
+
tagForProperty = InternalsMetal.tagForProperty;
|
|
89
82
|
// If track was not already loaded, use metal's version (the previous version)
|
|
90
|
-
track = track ||
|
|
91
|
-
} catch (e) {
|
|
92
|
-
// ignore
|
|
83
|
+
track = track || InternalsMetal.track;
|
|
93
84
|
}
|
|
94
85
|
|
|
95
86
|
const HAS_GLIMMER_TRACKING = tagValue && tagValidate && track && tagForProperty;
|
|
@@ -178,7 +169,7 @@ function getTrackedDependencies(object, property, tagInfo) {
|
|
|
178
169
|
const dependentKeys = [];
|
|
179
170
|
if (cpDesc) {
|
|
180
171
|
dependentKeys.push(
|
|
181
|
-
...(cpDesc._dependentKeys || []).map((k) => ({ name: k }))
|
|
172
|
+
...(cpDesc._dependentKeys || []).map((k) => ({ name: k })),
|
|
182
173
|
);
|
|
183
174
|
}
|
|
184
175
|
if (HAS_GLIMMER_TRACKING) {
|
|
@@ -309,7 +300,7 @@ export default class extends DebugPort {
|
|
|
309
300
|
dependentKeys = getTrackedDependencies(
|
|
310
301
|
object,
|
|
311
302
|
item.name,
|
|
312
|
-
tracked[item.name]
|
|
303
|
+
tracked[item.name],
|
|
313
304
|
);
|
|
314
305
|
tracked[item.name].revision = tagValue(tracked[item.name].tag);
|
|
315
306
|
}
|
|
@@ -324,7 +315,7 @@ export default class extends DebugPort {
|
|
|
324
315
|
dependentKeys,
|
|
325
316
|
});
|
|
326
317
|
}
|
|
327
|
-
} catch
|
|
318
|
+
} catch {
|
|
328
319
|
// dont do anything
|
|
329
320
|
}
|
|
330
321
|
});
|
|
@@ -332,6 +323,7 @@ export default class extends DebugPort {
|
|
|
332
323
|
}
|
|
333
324
|
}
|
|
334
325
|
|
|
326
|
+
// eslint-disable-next-line ember/classic-decorator-hooks
|
|
335
327
|
init() {
|
|
336
328
|
super.init();
|
|
337
329
|
this.sentObjects = {};
|
|
@@ -370,7 +362,7 @@ export default class extends DebugPort {
|
|
|
370
362
|
value = this.valueForObjectProperty(
|
|
371
363
|
message.objectId,
|
|
372
364
|
message.property,
|
|
373
|
-
message.mixinIndex
|
|
365
|
+
message.mixinIndex,
|
|
374
366
|
);
|
|
375
367
|
if (value) {
|
|
376
368
|
this.sendMessage('updateProperty', value);
|
|
@@ -451,7 +443,7 @@ export default class extends DebugPort {
|
|
|
451
443
|
}
|
|
452
444
|
this.adapter.log(
|
|
453
445
|
`Object Inspector error for ${error.property}`,
|
|
454
|
-
stack
|
|
446
|
+
stack,
|
|
455
447
|
);
|
|
456
448
|
});
|
|
457
449
|
},
|
|
@@ -505,6 +497,8 @@ export default class extends DebugPort {
|
|
|
505
497
|
|
|
506
498
|
if (prop === null || prop === undefined) {
|
|
507
499
|
value = this.sentObjects[objectId];
|
|
500
|
+
} else if (prop === OWNER_SYMBOL) {
|
|
501
|
+
value = getOwner(this.sentObjects[objectId]);
|
|
508
502
|
} else {
|
|
509
503
|
value = calculateCP(object, { name: prop }, {});
|
|
510
504
|
}
|
|
@@ -546,7 +540,7 @@ export default class extends DebugPort {
|
|
|
546
540
|
sendObject(object) {
|
|
547
541
|
if (!this.canSend(object)) {
|
|
548
542
|
throw new Error(
|
|
549
|
-
`Can't inspect ${object}. Only Ember objects and arrays are supported
|
|
543
|
+
`Can't inspect ${object}. Only Ember objects and arrays are supported.`,
|
|
550
544
|
);
|
|
551
545
|
}
|
|
552
546
|
let details = this.mixinsForObject(object);
|
|
@@ -629,6 +623,7 @@ export default class extends DebugPort {
|
|
|
629
623
|
* - Bar
|
|
630
624
|
* - Foo
|
|
631
625
|
* - EmberObject
|
|
626
|
+
* - Owner (Container)
|
|
632
627
|
* ```
|
|
633
628
|
*
|
|
634
629
|
* The "mixins" returned by this function directly represent these things too.
|
|
@@ -670,7 +665,7 @@ export default class extends DebugPort {
|
|
|
670
665
|
if (name === '(unknown)') {
|
|
671
666
|
name = '(unknown mixin)';
|
|
672
667
|
}
|
|
673
|
-
} catch
|
|
668
|
+
} catch {
|
|
674
669
|
name = '(Unable to convert Object to string)';
|
|
675
670
|
}
|
|
676
671
|
}
|
|
@@ -745,9 +740,30 @@ export default class extends DebugPort {
|
|
|
745
740
|
mixinDetails,
|
|
746
741
|
errorsForObject,
|
|
747
742
|
expensiveProperties,
|
|
748
|
-
tracked
|
|
743
|
+
tracked,
|
|
749
744
|
);
|
|
750
745
|
|
|
746
|
+
const owner = getOwner(object);
|
|
747
|
+
const ownerId = guidFor(owner);
|
|
748
|
+
|
|
749
|
+
if (owner && !mixinDetails.find((mixin) => mixin.id === ownerId)) {
|
|
750
|
+
mixinDetails.push({
|
|
751
|
+
name: 'Container',
|
|
752
|
+
id: ownerId,
|
|
753
|
+
expand: false,
|
|
754
|
+
properties: [
|
|
755
|
+
{
|
|
756
|
+
name: OWNER_SYMBOL,
|
|
757
|
+
value: {
|
|
758
|
+
inspect: `<Owner:${ownerId}>`,
|
|
759
|
+
type: 'type-owner',
|
|
760
|
+
objectId: ownerId,
|
|
761
|
+
},
|
|
762
|
+
},
|
|
763
|
+
],
|
|
764
|
+
});
|
|
765
|
+
}
|
|
766
|
+
|
|
751
767
|
this.currentObject = { object, mixinDetails, objectId };
|
|
752
768
|
|
|
753
769
|
let errors = errorsToSend(errorsForObject);
|
|
@@ -764,7 +780,7 @@ export default class extends DebugPort {
|
|
|
764
780
|
value = calculateCP(
|
|
765
781
|
object,
|
|
766
782
|
{ name: property },
|
|
767
|
-
this._errorsFor[objectId]
|
|
783
|
+
this._errorsFor[objectId],
|
|
768
784
|
);
|
|
769
785
|
}
|
|
770
786
|
|
|
@@ -913,18 +929,7 @@ function addProperties(properties, hash) {
|
|
|
913
929
|
let options = { isMandatorySetter: isMandatorySetter(desc) };
|
|
914
930
|
|
|
915
931
|
if (typeof hash[prop] === 'object' && hash[prop] !== null) {
|
|
916
|
-
options.isService =
|
|
917
|
-
!('type' in hash[prop]) && hash[prop].type === 'service';
|
|
918
|
-
|
|
919
|
-
if (!options.isService) {
|
|
920
|
-
if (hash[prop].constructor) {
|
|
921
|
-
options.isService = hash[prop].constructor.isServiceFactory;
|
|
922
|
-
}
|
|
923
|
-
}
|
|
924
|
-
|
|
925
|
-
if (!options.isService) {
|
|
926
|
-
options.isService = desc.value instanceof Service;
|
|
927
|
-
}
|
|
932
|
+
options.isService = desc.value instanceof Service;
|
|
928
933
|
}
|
|
929
934
|
if (options.isService) {
|
|
930
935
|
replaceProperty(properties, prop, inspectValue(hash, prop), options);
|
|
@@ -934,7 +939,7 @@ function addProperties(properties, hash) {
|
|
|
934
939
|
if (isComputed(hash, prop)) {
|
|
935
940
|
options.isComputed = true;
|
|
936
941
|
options.dependentKeys = (desc._dependentKeys || []).map((key) =>
|
|
937
|
-
key.toString()
|
|
942
|
+
key.toString(),
|
|
938
943
|
);
|
|
939
944
|
|
|
940
945
|
if (typeof desc.get === 'function') {
|
|
@@ -1085,7 +1090,7 @@ function calculateCPs(
|
|
|
1085
1090
|
mixinDetails,
|
|
1086
1091
|
errorsForObject,
|
|
1087
1092
|
expensiveProperties,
|
|
1088
|
-
tracked
|
|
1093
|
+
tracked,
|
|
1089
1094
|
) {
|
|
1090
1095
|
expensiveProperties = expensiveProperties || [];
|
|
1091
1096
|
mixinDetails.forEach((mixin) => {
|
|
@@ -1113,7 +1118,7 @@ function calculateCPs(
|
|
|
1113
1118
|
item.dependentKeys = getTrackedDependencies(
|
|
1114
1119
|
object,
|
|
1115
1120
|
item.name,
|
|
1116
|
-
tagInfo
|
|
1121
|
+
tagInfo,
|
|
1117
1122
|
);
|
|
1118
1123
|
tagInfo.revision = tagValue(tagInfo.tag);
|
|
1119
1124
|
} else {
|
|
@@ -1126,6 +1131,9 @@ function calculateCPs(
|
|
|
1126
1131
|
item.code = '';
|
|
1127
1132
|
}
|
|
1128
1133
|
}
|
|
1134
|
+
if (value instanceof Service) {
|
|
1135
|
+
item.isService = true;
|
|
1136
|
+
}
|
|
1129
1137
|
}
|
|
1130
1138
|
}
|
|
1131
1139
|
});
|
|
@@ -1282,9 +1290,9 @@ function getDebugInfo(object) {
|
|
|
1282
1290
|
'domManager',
|
|
1283
1291
|
'states',
|
|
1284
1292
|
'element',
|
|
1285
|
-
'targetObject'
|
|
1293
|
+
'targetObject',
|
|
1286
1294
|
);
|
|
1287
|
-
} else if (
|
|
1295
|
+
} else if (GlimmerDebugComponent && object instanceof GlimmerDebugComponent) {
|
|
1288
1296
|
// These properties don't really exist on Glimmer Components, but
|
|
1289
1297
|
// reading their values trigger a development mode assertion. The
|
|
1290
1298
|
// more correct long term fix is to make getters lazy (shows "..."
|
|
@@ -1304,8 +1312,9 @@ function calculateCP(object, item, errorsForObject) {
|
|
|
1304
1312
|
delete errorsForObject[property];
|
|
1305
1313
|
try {
|
|
1306
1314
|
if (object instanceof ArrayProxy && property == parseInt(property)) {
|
|
1307
|
-
return object.
|
|
1315
|
+
return object.at(property);
|
|
1308
1316
|
}
|
|
1317
|
+
|
|
1309
1318
|
return item.isGetter || property.includes?.('.')
|
|
1310
1319
|
? object[property]
|
|
1311
1320
|
: object.get?.(property) || object[property]; // need to use `get` to be able to detect tracked props
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ember-debug",
|
|
3
|
+
"version": "0.0.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"watch": "pnpm build --watch",
|
|
8
|
+
"build": "rollup --config",
|
|
9
|
+
"prepare": "pnpm build"
|
|
10
|
+
},
|
|
11
|
+
"devDependencies": {
|
|
12
|
+
"@babel/plugin-proposal-decorators": "^7.25.9",
|
|
13
|
+
"@babel/plugin-transform-class-properties": "^7.25.9",
|
|
14
|
+
"@babel/plugin-transform-class-static-block": "^7.26.0",
|
|
15
|
+
"@rollup/plugin-babel": "^6.0.4",
|
|
16
|
+
"@rollup/plugin-commonjs": "^28.0.3",
|
|
17
|
+
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
18
|
+
"backburner.js": "^2.8.0",
|
|
19
|
+
"glob": "^11.0.2",
|
|
20
|
+
"rollup": "^4.39.0",
|
|
21
|
+
"rollup-plugin-delete": "^3.0.1",
|
|
22
|
+
"source-map-js": "^1.2.1"
|
|
23
|
+
},
|
|
24
|
+
"exports": {
|
|
25
|
+
"./*": "./dist/*.js"
|
|
26
|
+
}
|
|
27
|
+
}
|
package/ember_debug/port.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { guidFor } from '
|
|
2
|
-
import { run } from '
|
|
3
|
-
import BaseObject from '
|
|
4
|
-
import Evented from '
|
|
1
|
+
import { guidFor } from './utils/ember/object/internals';
|
|
2
|
+
import { run } from './utils/ember/runloop';
|
|
3
|
+
import BaseObject from './utils/base-object';
|
|
4
|
+
import Evented from './utils/evented';
|
|
5
5
|
|
|
6
6
|
export default class extends BaseObject {
|
|
7
7
|
constructor(data) {
|
|
@@ -35,6 +35,7 @@ export default class extends BaseObject {
|
|
|
35
35
|
return guidFor(this.namespace?._application, 'ember');
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
+
// eslint-disable-next-line ember/classic-decorator-hooks
|
|
38
39
|
init() {
|
|
39
40
|
/**
|
|
40
41
|
* Stores the timestamp when it was first accessed.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import DebugPort from './debug-port';
|
|
2
|
-
import PromiseAssembler from '
|
|
3
|
-
import { debounce } from '
|
|
4
|
-
import RSVP from '
|
|
1
|
+
import DebugPort from './debug-port.js';
|
|
2
|
+
import PromiseAssembler from './libs/promise-assembler';
|
|
3
|
+
import { debounce } from './utils/ember/runloop';
|
|
4
|
+
import { RSVP } from './utils/ember';
|
|
5
5
|
|
|
6
6
|
export default class extends DebugPort {
|
|
7
7
|
get objectInspector() {
|
|
@@ -134,7 +134,7 @@ export default class extends DebugPort {
|
|
|
134
134
|
}
|
|
135
135
|
// Remove inspector-created promises
|
|
136
136
|
uniquePromises = uniquePromises.filter(
|
|
137
|
-
(promise) => promise.label !== 'ember-inspector'
|
|
137
|
+
(promise) => promise.label !== 'ember-inspector',
|
|
138
138
|
);
|
|
139
139
|
const serialized = this.serializeArray(uniquePromises);
|
|
140
140
|
this.sendMessage('promisesUpdated', {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import DebugPort from './debug-port';
|
|
2
|
-
import ProfileManager from './models/profile-manager';
|
|
1
|
+
import DebugPort from './debug-port.js';
|
|
2
|
+
import ProfileManager from './models/profile-manager.js';
|
|
3
3
|
|
|
4
|
-
import { subscribe } from '
|
|
5
|
-
import { _backburner } from '
|
|
6
|
-
import bound from '
|
|
4
|
+
import { subscribe } from './utils/ember';
|
|
5
|
+
import { _backburner } from './utils/ember/runloop';
|
|
6
|
+
import bound from './utils/bound-method';
|
|
7
7
|
|
|
8
8
|
// Initial setup, that has to occur before the EmberObject init for some reason
|
|
9
9
|
let profileManager = new ProfileManager();
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { nodeResolve } from '@rollup/plugin-node-resolve';
|
|
2
|
+
import commonjs from '@rollup/plugin-commonjs';
|
|
3
|
+
import { babel } from '@rollup/plugin-babel';
|
|
4
|
+
import { globSync } from 'glob';
|
|
5
|
+
import del from 'rollup-plugin-delete';
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
input: [
|
|
9
|
+
'main.js',
|
|
10
|
+
'utils/version.js',
|
|
11
|
+
'utils/type-check.js',
|
|
12
|
+
'port.js',
|
|
13
|
+
'utils/ember.js',
|
|
14
|
+
'models/profile-node.js',
|
|
15
|
+
'libs/promise-assembler.js',
|
|
16
|
+
'lib/versions.js',
|
|
17
|
+
...globSync('entrypoints/*.js'),
|
|
18
|
+
],
|
|
19
|
+
output: {
|
|
20
|
+
dir: 'dist',
|
|
21
|
+
},
|
|
22
|
+
|
|
23
|
+
plugins: [babel(), nodeResolve(), commonjs(), del({ targets: 'dist' })],
|
|
24
|
+
};
|