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,14 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Type declarations for
|
|
3
|
-
* import config from '
|
|
3
|
+
* import config from 'ember-inspector/config/environment'
|
|
4
4
|
*/
|
|
5
5
|
declare const config: {
|
|
6
|
+
emberVersionsSupported: [fromVersion: string, tillVersion: string];
|
|
6
7
|
environment: string;
|
|
7
8
|
modulePrefix: string;
|
|
8
9
|
podModulePrefix: string;
|
|
9
|
-
locationType: 'history' | 'hash' | 'none'
|
|
10
|
+
locationType: 'history' | 'hash' | 'none';
|
|
11
|
+
previousEmberVersionsSupported: Array<string>;
|
|
10
12
|
rootURL: string;
|
|
11
13
|
APP: Record<string, unknown>;
|
|
14
|
+
VERSION: string;
|
|
12
15
|
};
|
|
13
16
|
|
|
14
17
|
export default config;
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import Controller from '@ember/controller';
|
|
1
|
+
import Controller, { inject as controller } from '@ember/controller';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { action } from '@ember/object';
|
|
4
|
-
import { equal } from '@ember/object/computed';
|
|
5
4
|
import { debounce, schedule } from '@ember/runloop';
|
|
6
5
|
import { inject as service } from '@ember/service';
|
|
7
6
|
|
|
7
|
+
import { TrackedArray, TrackedObject } from 'tracked-built-ins';
|
|
8
|
+
|
|
8
9
|
export default class ApplicationController extends Controller {
|
|
10
|
+
@controller('component-tree') componentTreeController;
|
|
11
|
+
|
|
9
12
|
/**
|
|
10
13
|
* Service used to broadcast changes to the application's layout
|
|
11
14
|
* such as toggling of the object inspector.
|
|
12
|
-
*
|
|
13
|
-
* @property layoutService
|
|
14
|
-
* @type {Service}
|
|
15
15
|
*/
|
|
16
|
-
@service
|
|
16
|
+
@service layout;
|
|
17
17
|
@service port;
|
|
18
18
|
|
|
19
19
|
// Indicates that the extension window is focused,
|
|
@@ -21,17 +21,16 @@ export default class ApplicationController extends Controller {
|
|
|
21
21
|
@tracked isDragging = false;
|
|
22
22
|
@tracked contentHeight = null;
|
|
23
23
|
@tracked deprecationCount = 0;
|
|
24
|
-
@tracked inspectorExpanded = false;
|
|
25
24
|
@tracked inspectorWidth = 360;
|
|
26
25
|
/**
|
|
27
26
|
* Indicates if the inspector has detected an ember app.
|
|
28
|
-
*
|
|
29
|
-
* @type {Boolean}
|
|
30
27
|
*/
|
|
31
28
|
isEmberApplication = false;
|
|
32
29
|
@tracked _navWidthExpanded = 180;
|
|
33
30
|
@tracked _navWidthCollapsed = 48;
|
|
34
31
|
@tracked navIsCollapsed = false;
|
|
32
|
+
@tracked mixinDetails = new TrackedObject({});
|
|
33
|
+
@tracked mixinStack = new TrackedArray([]);
|
|
35
34
|
|
|
36
35
|
get navWidth() {
|
|
37
36
|
return this.navIsCollapsed
|
|
@@ -43,14 +42,8 @@ export default class ApplicationController extends Controller {
|
|
|
43
42
|
this._navWidthExpanded = value;
|
|
44
43
|
}
|
|
45
44
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
constructor() {
|
|
50
|
-
super(...arguments);
|
|
51
|
-
|
|
52
|
-
this.mixinStack = [];
|
|
53
|
-
this.mixinDetails = [];
|
|
45
|
+
get isChrome() {
|
|
46
|
+
return this.port?.adapter?.name === 'chrome';
|
|
54
47
|
}
|
|
55
48
|
|
|
56
49
|
/*
|
|
@@ -67,76 +60,44 @@ export default class ApplicationController extends Controller {
|
|
|
67
60
|
errors,
|
|
68
61
|
};
|
|
69
62
|
|
|
70
|
-
this.mixinStack.
|
|
71
|
-
this.
|
|
63
|
+
this.mixinStack.push(details);
|
|
64
|
+
this.mixinDetails = details;
|
|
72
65
|
}
|
|
73
66
|
|
|
74
67
|
@action
|
|
75
68
|
popMixinDetails() {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
this.set('mixinDetails', mixinStack.get('lastObject'));
|
|
69
|
+
const item = this.mixinStack.pop();
|
|
70
|
+
this.mixinDetails = this.mixinStack.at(-1);
|
|
79
71
|
this.port.send('objectInspector:releaseObject', {
|
|
80
72
|
objectId: item.objectId,
|
|
81
73
|
});
|
|
82
74
|
}
|
|
83
75
|
|
|
84
|
-
@action
|
|
85
|
-
showInspector() {
|
|
86
|
-
if (this.inspectorExpanded === false) {
|
|
87
|
-
this.set('inspectorExpanded', true);
|
|
88
|
-
// Broadcast that tables have been resized (used by `x-list`).
|
|
89
|
-
schedule('afterRender', () => {
|
|
90
|
-
this.layoutService.trigger('resize', { source: 'object-inspector' });
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
@action
|
|
96
|
-
hideInspector() {
|
|
97
|
-
if (this.inspectorExpanded === true) {
|
|
98
|
-
this.set('inspectorExpanded', false);
|
|
99
|
-
// Broadcast that tables have been resized (used by `x-list`).
|
|
100
|
-
schedule('afterRender', () => {
|
|
101
|
-
this.layoutService.trigger('resize', { source: 'object-inspector' });
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
@action
|
|
107
|
-
toggleInspector() {
|
|
108
|
-
if (this.inspectorExpanded) {
|
|
109
|
-
this.hideInspector();
|
|
110
|
-
} else {
|
|
111
|
-
this.showInspector();
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
76
|
@action
|
|
116
77
|
setActive(bool) {
|
|
78
|
+
// eslint-disable-next-line ember/no-runloop
|
|
117
79
|
schedule('afterRender', () => {
|
|
118
|
-
this.
|
|
80
|
+
this.active = bool;
|
|
119
81
|
});
|
|
120
82
|
}
|
|
121
83
|
|
|
122
84
|
@action
|
|
123
85
|
setupContentElement(element) {
|
|
124
86
|
this.contentElement = element;
|
|
125
|
-
this.
|
|
87
|
+
this.layout.updateContentHeight(this.contentElement.clientHeight);
|
|
126
88
|
}
|
|
127
89
|
|
|
128
90
|
@action
|
|
129
91
|
_windowDidResize() {
|
|
92
|
+
// eslint-disable-next-line ember/no-runloop
|
|
130
93
|
schedule('afterRender', () => {
|
|
131
94
|
if (!this.isDestroyed && !this.isDestroying) {
|
|
132
|
-
this.
|
|
95
|
+
this.layout.trigger('resize', {
|
|
133
96
|
source: 'application-controller',
|
|
134
97
|
});
|
|
135
98
|
|
|
136
99
|
if (this.contentElement) {
|
|
137
|
-
this.
|
|
138
|
-
this.contentElement.clientHeight
|
|
139
|
-
);
|
|
100
|
+
this.layout.updateContentHeight(this.contentElement.clientHeight);
|
|
140
101
|
}
|
|
141
102
|
}
|
|
142
103
|
});
|
|
@@ -144,14 +105,16 @@ export default class ApplicationController extends Controller {
|
|
|
144
105
|
|
|
145
106
|
@action
|
|
146
107
|
windowDidResize() {
|
|
108
|
+
// eslint-disable-next-line ember/no-runloop
|
|
147
109
|
debounce(this, this._windowDidResize, 250);
|
|
148
110
|
}
|
|
149
111
|
|
|
150
112
|
@action
|
|
151
113
|
toggleNavCollapsed() {
|
|
152
|
-
this.
|
|
114
|
+
this.navIsCollapsed = !this.navIsCollapsed;
|
|
115
|
+
// eslint-disable-next-line ember/no-runloop
|
|
153
116
|
schedule('afterRender', () => {
|
|
154
|
-
this.
|
|
117
|
+
this.layout.trigger('resize', { source: 'navigation' });
|
|
155
118
|
});
|
|
156
119
|
}
|
|
157
120
|
|
|
@@ -166,28 +129,30 @@ export default class ApplicationController extends Controller {
|
|
|
166
129
|
});
|
|
167
130
|
});
|
|
168
131
|
|
|
169
|
-
this.
|
|
132
|
+
this.mixinStack = new TrackedArray([]);
|
|
170
133
|
this.pushMixinDetails(name, undefined, objectId, details, errors);
|
|
171
134
|
}
|
|
172
135
|
|
|
173
136
|
@action
|
|
174
137
|
droppedObject(objectId) {
|
|
175
|
-
let
|
|
176
|
-
let obj = mixinStack.findBy('objectId', objectId);
|
|
138
|
+
let obj = this.mixinStack.find((mixin) => mixin.objectId === objectId);
|
|
177
139
|
if (obj) {
|
|
178
|
-
let index = mixinStack.indexOf(obj);
|
|
179
|
-
let objectsToRemove = [];
|
|
140
|
+
let index = this.mixinStack.indexOf(obj);
|
|
141
|
+
let objectsToRemove = new TrackedArray([]);
|
|
180
142
|
for (let i = index; i >= 0; i--) {
|
|
181
|
-
objectsToRemove.
|
|
143
|
+
objectsToRemove.push(this.mixinStack.at(i));
|
|
182
144
|
}
|
|
183
145
|
objectsToRemove.forEach((item) => {
|
|
184
|
-
mixinStack.
|
|
146
|
+
const index = this.mixinStack.indexOf(item);
|
|
147
|
+
if (index !== -1) {
|
|
148
|
+
this.mixinStack.splice(index, 1);
|
|
149
|
+
}
|
|
185
150
|
});
|
|
186
151
|
}
|
|
187
|
-
if (mixinStack.
|
|
188
|
-
this.
|
|
152
|
+
if (this.mixinStack.length > 0) {
|
|
153
|
+
this.mixinDetails = this.mixinStack.at(-1);
|
|
189
154
|
} else {
|
|
190
|
-
this.
|
|
155
|
+
this.mixinDetails = null;
|
|
191
156
|
}
|
|
192
157
|
}
|
|
193
158
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import Controller
|
|
1
|
+
import Controller from '@ember/controller';
|
|
2
2
|
import { action } from '@ember/object';
|
|
3
3
|
import { debounce } from '@ember/runloop';
|
|
4
4
|
import { inject as service } from '@ember/service';
|
|
@@ -14,11 +14,12 @@ export default class ComponentTreeController extends Controller {
|
|
|
14
14
|
// Estimated height for each row
|
|
15
15
|
itemHeight = 22;
|
|
16
16
|
|
|
17
|
-
@controller application;
|
|
18
17
|
@service port;
|
|
18
|
+
@service layout;
|
|
19
19
|
|
|
20
20
|
@tracked query = '';
|
|
21
21
|
@tracked isInspecting = false;
|
|
22
|
+
@tracked showParentsOnly = false;
|
|
22
23
|
@tracked renderItems = [];
|
|
23
24
|
|
|
24
25
|
@tracked _pinned = undefined;
|
|
@@ -53,7 +54,7 @@ export default class ComponentTreeController extends Controller {
|
|
|
53
54
|
renderNode.children.some((c) => c.type === 'modifier')
|
|
54
55
|
) {
|
|
55
56
|
const idx = renderNode.children.findLastIndex(
|
|
56
|
-
(c) => c.type === 'modifier'
|
|
57
|
+
(c) => c.type === 'modifier',
|
|
57
58
|
);
|
|
58
59
|
renderNode.children.splice(idx + 1, 0, {
|
|
59
60
|
type: 'placeholder-closing-tag',
|
|
@@ -145,14 +146,14 @@ export default class ComponentTreeController extends Controller {
|
|
|
145
146
|
objectId: item.instance,
|
|
146
147
|
});
|
|
147
148
|
} else {
|
|
148
|
-
this.
|
|
149
|
+
this.layout.hideInspector();
|
|
149
150
|
}
|
|
150
151
|
} else {
|
|
151
152
|
this._pinned = undefined;
|
|
152
153
|
this._previewing = undefined;
|
|
153
154
|
|
|
154
155
|
this.port.send('view:hideInspection');
|
|
155
|
-
this.
|
|
156
|
+
this.layout.hideInspector();
|
|
156
157
|
}
|
|
157
158
|
|
|
158
159
|
this.syncInspection();
|
|
@@ -182,6 +183,7 @@ export default class ComponentTreeController extends Controller {
|
|
|
182
183
|
}
|
|
183
184
|
|
|
184
185
|
syncInspection() {
|
|
186
|
+
// eslint-disable-next-line ember/no-runloop
|
|
185
187
|
debounce(this, this._syncInspection, 50);
|
|
186
188
|
}
|
|
187
189
|
|
|
@@ -268,6 +270,10 @@ export default class ComponentTreeController extends Controller {
|
|
|
268
270
|
@action arrowKeysTeardown() {
|
|
269
271
|
document.removeEventListener('keydown', this.handleKeyDown);
|
|
270
272
|
}
|
|
273
|
+
|
|
274
|
+
@action toggleParentsOnly() {
|
|
275
|
+
this.showParentsOnly = !this.showParentsOnly;
|
|
276
|
+
}
|
|
271
277
|
}
|
|
272
278
|
|
|
273
279
|
function isInternalRenderNode(renderNode) {
|
|
@@ -279,7 +285,7 @@ function isInternalRenderNode(renderNode) {
|
|
|
279
285
|
|
|
280
286
|
function focusedInInput() {
|
|
281
287
|
return ['input', 'textarea'].includes(
|
|
282
|
-
document.activeElement.tagName.toLowerCase()
|
|
288
|
+
document.activeElement.tagName.toLowerCase(),
|
|
283
289
|
);
|
|
284
290
|
}
|
|
285
291
|
|
|
@@ -287,7 +293,7 @@ function arrowKeyPressed(keyCode) {
|
|
|
287
293
|
return [KEYS.up, KEYS.right, KEYS.down, KEYS.left].includes(keyCode);
|
|
288
294
|
}
|
|
289
295
|
|
|
290
|
-
class RenderItem {
|
|
296
|
+
export class RenderItem {
|
|
291
297
|
@tracked isExpanded;
|
|
292
298
|
@tracked renderNode;
|
|
293
299
|
|
|
@@ -416,11 +422,24 @@ class RenderItem {
|
|
|
416
422
|
get isVisible() {
|
|
417
423
|
if (this.isRoot) {
|
|
418
424
|
return true;
|
|
425
|
+
} else if (this.controller.showParentsOnly) {
|
|
426
|
+
return (
|
|
427
|
+
this.hasPinnedChild() ||
|
|
428
|
+
(this.hasPinnedParent() && this.parentItem.isExpanded)
|
|
429
|
+
);
|
|
419
430
|
} else {
|
|
420
431
|
return this.parentItem.isVisible && this.parentItem.isExpanded;
|
|
421
432
|
}
|
|
422
433
|
}
|
|
423
434
|
|
|
435
|
+
hasPinnedParent() {
|
|
436
|
+
return this.isPinned || this.parentItem?.hasPinnedParent();
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
hasPinnedChild() {
|
|
440
|
+
return this.isPinned || this.childItems.some((c) => c.hasPinnedChild());
|
|
441
|
+
}
|
|
442
|
+
|
|
424
443
|
get isPinned() {
|
|
425
444
|
return this.id === this.controller.pinned;
|
|
426
445
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Controller, { inject as controller } from '@ember/controller';
|
|
2
2
|
import { inject as service } from '@ember/service';
|
|
3
|
+
// eslint-disable-next-line ember/no-computed-properties-in-native-classes
|
|
3
4
|
import { action, computed, set } from '@ember/object';
|
|
4
5
|
import debounceComputed from 'ember-inspector/computed/debounce';
|
|
5
6
|
import searchMatch from 'ember-inspector/utils/search-match';
|
|
@@ -17,7 +18,7 @@ export default class ContainerTypeContoller extends Controller {
|
|
|
17
18
|
@computed('model.@each.name', 'search')
|
|
18
19
|
get rows() {
|
|
19
20
|
return this.model.filter((instance) =>
|
|
20
|
-
searchMatch(instance.name, this.search)
|
|
21
|
+
searchMatch(instance.name, this.search),
|
|
21
22
|
);
|
|
22
23
|
}
|
|
23
24
|
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import Controller from '@ember/controller';
|
|
2
2
|
import { action } from '@ember/object';
|
|
3
|
+
import type RouterService from '@ember/routing/router-service';
|
|
3
4
|
import { inject as service } from '@ember/service';
|
|
4
5
|
|
|
6
|
+
import type PortService from '../../services/port';
|
|
7
|
+
|
|
5
8
|
export default class ContainerTypesIndexController extends Controller {
|
|
6
|
-
@service port;
|
|
7
|
-
@service router;
|
|
9
|
+
@service declare port: PortService;
|
|
10
|
+
@service declare router: RouterService;
|
|
8
11
|
|
|
9
12
|
@action
|
|
10
13
|
refresh() {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// eslint-disable-next-line ember/no-computed-properties-in-native-classes
|
|
1
2
|
import { sort } from '@ember/object/computed';
|
|
2
3
|
import { inject as service } from '@ember/service';
|
|
3
4
|
import Controller from '@ember/controller';
|
|
@@ -5,11 +6,7 @@ import Controller from '@ember/controller';
|
|
|
5
6
|
export default class ContainerTypesController extends Controller {
|
|
6
7
|
@service router;
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
constructor() {
|
|
11
|
-
super(...arguments);
|
|
9
|
+
sortProperties = ['name'];
|
|
12
10
|
|
|
13
|
-
|
|
14
|
-
}
|
|
11
|
+
@sort('model', 'sortProperties') sorted;
|
|
15
12
|
}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import { action
|
|
1
|
+
import { action } from '@ember/object';
|
|
2
2
|
import { inject as service } from '@ember/service';
|
|
3
3
|
import Controller from '@ember/controller';
|
|
4
|
+
import { tracked } from '@glimmer/tracking';
|
|
5
|
+
|
|
6
|
+
import { TrackedArray } from 'tracked-built-ins';
|
|
7
|
+
|
|
4
8
|
import debounceComputed from 'ember-inspector/computed/debounce';
|
|
5
9
|
import searchMatch from 'ember-inspector/utils/search-match';
|
|
6
10
|
|
|
@@ -8,32 +12,33 @@ export default class DeprecationsController extends Controller {
|
|
|
8
12
|
@service adapter;
|
|
9
13
|
@service port;
|
|
10
14
|
|
|
11
|
-
|
|
12
|
-
|
|
15
|
+
deprecations = new TrackedArray([]);
|
|
16
|
+
@tracked search = null;
|
|
17
|
+
@tracked toggleDeprecationWorkflow = false;
|
|
13
18
|
|
|
14
19
|
@debounceComputed('search', 300) searchValue;
|
|
15
20
|
|
|
16
|
-
constructor() {
|
|
17
|
-
super(...arguments);
|
|
18
|
-
set(this, 'deprecations', []);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
21
|
@action
|
|
22
22
|
changeDeprecationWorkflow(e) {
|
|
23
|
-
this.
|
|
23
|
+
this.toggleDeprecationWorkflow = e.target.checked;
|
|
24
24
|
|
|
25
25
|
this.port.send('deprecation:setOptions', {
|
|
26
26
|
options: { toggleDeprecationWorkflow: this.toggleDeprecationWorkflow },
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
@computed('deprecations.@each.message', 'search')
|
|
31
30
|
get filtered() {
|
|
32
31
|
return this.deprecations.filter((item) =>
|
|
33
|
-
searchMatch(item.message, this.search)
|
|
32
|
+
searchMatch(item.message, this.search),
|
|
34
33
|
);
|
|
35
34
|
}
|
|
36
35
|
|
|
36
|
+
@action
|
|
37
|
+
clear() {
|
|
38
|
+
this.port.send('deprecation:clear');
|
|
39
|
+
this.deprecations.splice(0, this.deprecations.length);
|
|
40
|
+
}
|
|
41
|
+
|
|
37
42
|
@action
|
|
38
43
|
openResource(item) {
|
|
39
44
|
this.adapter.openResource(item.fullSource, item.line);
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import Controller from '@ember/controller';
|
|
2
|
-
import { action
|
|
3
|
-
import { sort } from '@ember/object/computed';
|
|
2
|
+
import { action } from '@ember/object';
|
|
4
3
|
import { inject as service } from '@ember/service';
|
|
5
4
|
|
|
6
5
|
const HIDE_EMPTY_MODELS_KEY = 'are-model-types-hidden';
|
|
@@ -13,12 +12,6 @@ export default class ModelTypesController extends Controller {
|
|
|
13
12
|
|
|
14
13
|
navWidth = 180;
|
|
15
14
|
|
|
16
|
-
constructor() {
|
|
17
|
-
super(...arguments);
|
|
18
|
-
this.sortByNameProp = ['name'];
|
|
19
|
-
this.sortByDescCountProp = ['count:desc'];
|
|
20
|
-
}
|
|
21
|
-
|
|
22
15
|
get hideEmptyModelTypes() {
|
|
23
16
|
return getStoredPropertyValue(this.storage, HIDE_EMPTY_MODELS_KEY);
|
|
24
17
|
}
|
|
@@ -35,13 +28,14 @@ export default class ModelTypesController extends Controller {
|
|
|
35
28
|
handleSettingProperty(this.storage, ORDER_MODELS_BY_COUNT_KEY, value);
|
|
36
29
|
}
|
|
37
30
|
|
|
38
|
-
|
|
39
|
-
|
|
31
|
+
get sortByName() {
|
|
32
|
+
return this.filtered.toSorted((a, b) => a.name.localeCompare(b.name));
|
|
33
|
+
}
|
|
40
34
|
|
|
41
|
-
|
|
42
|
-
|
|
35
|
+
get sortByDescCount() {
|
|
36
|
+
return this.filtered.toSorted((a, b) => b.count - a.count);
|
|
37
|
+
}
|
|
43
38
|
|
|
44
|
-
@computed('model.@each.count', 'hideEmptyModelTypes')
|
|
45
39
|
get filtered() {
|
|
46
40
|
return this.model.filter((item) => {
|
|
47
41
|
let hideEmptyModels = this.hideEmptyModelTypes;
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { action } from '@ember/object';
|
|
2
|
+
import Controller from '@ember/controller';
|
|
3
|
+
import { inject as service } from '@ember/service';
|
|
4
|
+
import { debounce, once } from '@ember/runloop';
|
|
5
|
+
import { tracked } from '@glimmer/tracking';
|
|
6
|
+
|
|
7
|
+
// @ts-expect-error We should move away from observers.
|
|
8
|
+
import { observes } from '@ember-decorators/object';
|
|
9
|
+
|
|
10
|
+
import type PortService from '../services/port';
|
|
11
|
+
import type PromiseModel from '../models/promise';
|
|
12
|
+
import type WebExtension from '../services/adapters/web-extension';
|
|
13
|
+
import { isNullish } from 'ember-inspector/utils/nullish';
|
|
14
|
+
|
|
15
|
+
export default class PromiseTreeController extends Controller {
|
|
16
|
+
queryParams = ['filter'];
|
|
17
|
+
|
|
18
|
+
declare model: Array<PromiseModel>;
|
|
19
|
+
|
|
20
|
+
@service declare adapter: WebExtension;
|
|
21
|
+
@service declare port: PortService;
|
|
22
|
+
|
|
23
|
+
@tracked createdAfter: Date | null = null;
|
|
24
|
+
@tracked effectiveSearch: string | null = null;
|
|
25
|
+
@tracked filter = 'all';
|
|
26
|
+
// Keep track of promise stack traces.
|
|
27
|
+
// It is opt-in due to performance reasons.
|
|
28
|
+
@tracked instrumentWithStack = false;
|
|
29
|
+
@tracked searchValue: string | null = null;
|
|
30
|
+
|
|
31
|
+
// below used to show the "refresh" message
|
|
32
|
+
get isEmpty() {
|
|
33
|
+
return this.model.length === 0;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
get neverCleared() {
|
|
37
|
+
return !this.wasCleared;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
get shouldRefresh() {
|
|
41
|
+
return this.isEmpty && this.neverCleared;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
get wasCleared() {
|
|
45
|
+
return Boolean(this.createdAfter);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
get filtered() {
|
|
49
|
+
return this.model.filter((item) => {
|
|
50
|
+
// exclude cleared promises
|
|
51
|
+
if (this.createdAfter && item.createdAt < this.createdAfter) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (!item.isVisible) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// Exclude non-filter complying promises
|
|
60
|
+
// If at least one of their children passes the filter,
|
|
61
|
+
// then they pass
|
|
62
|
+
let include = true;
|
|
63
|
+
if (this.filter === 'pending') {
|
|
64
|
+
include = item.pendingBranch;
|
|
65
|
+
} else if (this.filter === 'rejected') {
|
|
66
|
+
include = item.rejectedBranch;
|
|
67
|
+
} else if (this.filter === 'fulfilled') {
|
|
68
|
+
include = item.fulfilledBranch;
|
|
69
|
+
}
|
|
70
|
+
if (!include) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Search filter
|
|
75
|
+
// If they or at least one of their children
|
|
76
|
+
// match the search, then include them
|
|
77
|
+
const search = this.effectiveSearch;
|
|
78
|
+
if (!isNullish(search)) {
|
|
79
|
+
return item.matches(search);
|
|
80
|
+
}
|
|
81
|
+
return true;
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// eslint-disable-next-line ember/no-observers, @typescript-eslint/no-unsafe-call
|
|
86
|
+
@observes('searchValue')
|
|
87
|
+
searchChanged() {
|
|
88
|
+
// eslint-disable-next-line ember/no-runloop
|
|
89
|
+
debounce(this, this.updateEffectiveSearch, 500);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
updateEffectiveSearch = () => {
|
|
93
|
+
this.effectiveSearch = this.searchValue;
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
@action
|
|
97
|
+
toggleExpand(promise: PromiseModel) {
|
|
98
|
+
const isExpanded = !promise.isExpanded;
|
|
99
|
+
promise.isManuallyExpanded = isExpanded;
|
|
100
|
+
promise.recalculateExpanded();
|
|
101
|
+
const children = promise._allChildren();
|
|
102
|
+
if (isExpanded) {
|
|
103
|
+
children.forEach((child) => {
|
|
104
|
+
if (isNullish(child.isManuallyExpanded)) {
|
|
105
|
+
child.isManuallyExpanded = isExpanded;
|
|
106
|
+
child.recalculateExpanded();
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
@action
|
|
113
|
+
tracePromise(promise: PromiseModel) {
|
|
114
|
+
this.port.send('promise:tracePromise', { promiseId: promise.guid });
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
@action
|
|
118
|
+
inspectObject() {
|
|
119
|
+
// @ts-expect-error TODO: figure this out later
|
|
120
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call, prefer-rest-params
|
|
121
|
+
this.target.send('inspectObject', ...arguments);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
@action
|
|
125
|
+
sendValueToConsole(promise: PromiseModel) {
|
|
126
|
+
this.port.send('promise:sendValueToConsole', {
|
|
127
|
+
promiseId: promise.guid,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
@action
|
|
132
|
+
setFilter(filter: string) {
|
|
133
|
+
this.filter = filter;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
@action
|
|
137
|
+
updateInstrumentWithStack(instrumentWithStack: boolean) {
|
|
138
|
+
this.port.send('promise:setInstrumentWithStack', {
|
|
139
|
+
instrumentWithStack,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
@action
|
|
144
|
+
clear() {
|
|
145
|
+
this.createdAfter = new Date();
|
|
146
|
+
// eslint-disable-next-line ember/no-runloop
|
|
147
|
+
once(this, this.updateEffectiveSearch);
|
|
148
|
+
}
|
|
149
|
+
}
|