Commit graph

176 commits

Author SHA1 Message Date
mgechev
ff78c66ae9 fix(devtools): handle ngFor and ngIf contexts in the profiler
Currently, we skip the time spent in evaluation of embedded view
templates because the passed context is either an NgIf or an NgForOf.

This change generalizes the implementation to work with views embedded
into a component.
2021-11-09 10:04:12 -08:00
Renovate Bot
87c660508c build(devtools): update angular-framework 2021-11-05 13:09:57 -07:00
mgechev
a5c26b6910 refactor(devtools): use local declaration of the change detection strategy enum 2021-10-18 16:24:42 -07:00
mgechev
b85d48c7d2 refactor(devtools): use safe operation to update the overlay 2021-10-18 16:24:42 -07:00
Minko Gechev
dc345956ce fix(devtools): show properly dynamically inserted content with DOM APIs (rangle/angular-devtools#828)
Fix rangle/angular-devtools#791

Build the render tree starting from the root node of the application.
This fix is applicable only for v12+ apps that are using the latest
debugging APIs.
2021-05-27 22:54:52 -07:00
Mark Whitfeld
5bf180afb8 fix(devtools): skip node if there is no associated TViewData (rangle/angular-devtools#804)
* fix(backend): skip node if there is no associated TViewData

The code was assuming that the TViewData item at the same index as the node
in LView would contain a data entry. This value can be `null` (which is the
case in our app), which causes a catastrophic failure in the dev tool. By
checking for null, the node is skipped because it cannot determine the
associated component or directive and the dev tool does not die.

fixes issue rangle/angular-devtools#801

* chore: style tweak - add early return to avoid nesting
2021-05-26 11:17:48 -07:00
mgechev
f8ea26cd92 style(devtools): add call signatures 2021-05-23 11:52:31 -07:00
Amir Rustamzadeh
5b0d3356a6 ci(devtools): fix flaky tests using cypress orb (rangle/angular-devtools#733)
* ci: refactor circle config to use cypress orb

* ci: skipping unit tests while validating e2e runs

* ci: fix karma chrome launches

* ci: investigating karma headless failure

* ci: iterating on failure

* ci: move environment to executor

* build: revert karma config changes

* ci: update karma config

Co-authored-by: mgechev <mgechev@gmail.com>
2021-05-23 11:39:48 -07:00
mgechev
e6bec2430a fix(devtools): update the prod mode detection to also consider VE apps
Fix rangle/angular-devtools#798
2021-05-23 11:00:11 -07:00
markwhitfeld
d60bdfc207 fix(devtools): don't access service prop unnecessarily
The code was requesting index 0 of each item in the LView before checking
if it is an array. This causes issues with services that only allow calls to
properties that are defined on the service (backed by a strict ES6 proxy).
A check if the type is Array first corrects this issue.

fixes issue rangle/angular-devtools#802
2021-05-23 10:59:48 -07:00
AleksanderBodurri
ded6796efb fix(devtools): prevent directive forest hooks from being initiated in production applications 2021-05-20 21:18:45 -07:00
Renovate Bot
7ecc547fdb build(devtools): update angular-framework 2021-05-17 18:29:07 -07:00
mgechev
f8bd3fccd7 fix(devtools): preserve proper nesting in flattened node lists
Rather than naively filter the flattened list, preserve the nesting by
filtering the original tree.
2021-05-11 08:38:18 -07:00
Minko Gechev
fab8d018b4 refactor(devtools): better naming and removal of log statement (rangle/angular-devtools#753) 2021-05-10 17:29:16 -04:00
mgechev
a7f6562158 fix(devtools): get all the property names including getters
This PR intentionally ignores `Symbol`s because their serialization and deserialization will include extra complexity.

The changes also improve the typings in the continuation function that's passed during serialization.
2021-05-04 17:29:59 -07:00
mgechev
ee0c245b44 fix(devtools): proper dev mode detection when app compiled with closure 2021-05-04 17:21:49 -07:00
AleksanderBodurri
e85d65d26a fix(devtools): disable router tree tab
Previously the router parser uses private APIs to create the visualization for the router tree tab. Now the router parser always returns an empty router tree, effectively disabling the router tree tab until the necessary framework APIs are developed.
2021-05-03 15:47:47 -07:00
Sumit Arora
8c9645849a feat(devtools): updating to karma-coverage and setting clear context to true 2021-05-03 15:43:45 -07:00
mgechev
967bd3cf8e feat(devtools): improve output formatting 2021-04-29 10:25:01 -07:00
mgechev
ff45fbd075 feat(devtools): implement output profiling 2021-04-29 10:25:01 -07:00
mgechev
8a0861cfb7 refactor(devtools): move the profiler subscription to the native profiler 2021-04-29 10:25:01 -07:00
mgechev
42a6a775f7 refactor(devtools): move different profiler implementations to separate files 2021-04-29 10:25:01 -07:00
AleksanderBodurri
e24b476624 fix(devtools): pass in root element ng context as an LView instead of as a context object 2021-04-23 09:33:55 -07:00
AleksanderBodurri
534809cf85 feat(devtools): implement profiler with new framework APIs 2021-04-21 11:30:20 -07:00
mgechev
2e8fe67864 fix(devtools): change the isIvy detection 2021-04-19 17:26:20 -07:00
mgechev
ba31d1f784 refactor(devtools): use framework debugging APIs to extract metadata 2021-04-19 17:26:20 -07:00
mgechev
ee8b53bed5 refactor(devtools): use framework debugging APIs to extract render tree 2021-04-19 17:26:20 -07:00
mgechev
a3fed3bc94 refactor(devtools): implement view extraction strategies 2021-04-19 17:26:20 -07:00
AleksanderBodurri
73dff6f002 feat(devtools): disable devtools for production applications 2021-03-03 15:23:39 -08:00
Sumit Arora
0c10ddb98c refactor(devtools): adding router-tree tests and reverting configuration 2021-03-01 15:10:35 -08:00
Sumit Arora
f28dae22ec feat(devtools): adding router tree 2021-03-01 15:10:35 -08:00
AleksanderBodurri
ca0910e59c perf(devtools): prevent directive forest from building twice every time a node is selected in the directive explorer 2020-11-20 16:30:23 +02:00
AleksanderBodurri
1a00837b0c perf(devtools): prevent highlighter from rebuilding the directive forest every time a node is hovered over in the directive forest 2020-11-20 16:30:23 +02:00
Renovate Bot
5dec59bd99 build(devtools): update angular-framework 2020-11-20 16:25:35 +02:00
mgechev
1613d6274a style(devtools): fix linting errors 2020-10-06 02:20:39 +03:00
mgechev
26f8808f4b refactor(devtools): remove MutationObserver and rename observer to execution hooks 2020-10-06 02:20:39 +03:00
mgechev
ffb46bdc3c fix(devtools): lview parsing when trying to get data from an option
Fix rangle/angular-devtools#513
2020-10-06 01:13:02 +03:00
mgechev
7c0d6c06e4 fix(devtools): enable the profiler even without zone available 2020-08-27 19:20:12 +03:00
mgechev
199745fd6c fix(devtools): handle lifecycle hooks of only components & directives 2020-08-27 12:50:36 +03:00
mgechev
b7c003f76a refactor(devtools): remove unused default value 2020-08-27 12:50:36 +03:00
Emma Twersky
21eb190f74 feat(devtools): move highlighter placement - no more overlap (rangle/angular-devtools#451) 2020-08-19 00:52:13 +03:00
mgechev
35f606b8ee build(devtools): revert solution-style tsconfig to align with cli 2020-08-12 18:10:34 +03:00
mgechev
04e41b3606 build(devtools): update to latest project structure 2020-07-13 19:32:51 +03:00
Renovate Bot
46f842bf92 build(devtools): update angular-framework 2020-06-27 15:11:07 -07:00
mgechev
42ecb7a0d5 fix(devtools): do not attempt to initialize devtools if not ivy 2020-05-20 15:51:30 -07:00
mgechev
5c5345fdd4 fix(devtools): remove forgotten markers causing slowdown 2020-05-11 15:40:33 -07:00
mgechev
5c0031d944 fix(devtools): broken virtual scroll layout on resize
Fix rangle/angular-devtools#342
2020-05-11 14:31:34 -07:00
AleksanderBodurri
dd71a52466 feat(devtools): Implement basic configuration UI and use it to toggle Timing API 2020-05-09 18:15:48 -07:00
mgechev
6422b60568 fix(devtools): preserve the expansion status of moved items 2020-05-07 16:25:36 -07:00
mgechev
4fc8a075c0 fix(devtools): initialization and popup logic
- Rename the popups and introduce a new one - supported version but no ivy
- Change the initialization logic to reflect the latest profiling updates
2020-05-04 18:33:17 -04:00