AleksanderBodurri
9efd86e4f1
build(devtools): migrate ng-devtools-backend to bazel
...
Allows the ng-devtools-backend to be built with bazel. Allows ng-devtools-backend to be used as a dependency in other bazel build rules.
2021-11-10 12:30:54 -05:00
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
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
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
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
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
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
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
mgechev
c17b5fdc3e
refactor(devtools): temporarily disable timingg API
2020-05-04 18:33:17 -04:00
mgechev
288ecfd994
fix(devtools): consider change detection completed after a microtask
2020-05-04 18:33:17 -04:00
mgechev
be6ffb4f23
refactor(devtools): use single change detection tracker
2020-05-04 18:33:17 -04:00
mgechev
ccee9302a0
refactor(devtools): observer logic so that we can have a single instance
...
We currently have a single instance of the directive forest observer. It's shared between the identity tracker and the capturer.
2020-05-04 18:33:17 -04:00
mgechev
2eb4771ea6
refactor(devtools): use different hook mechanism
2020-05-04 18:33:17 -04:00
mgechev
df5857ddc2
feat(devtools): introduce timing API support
2020-05-04 18:33:17 -04:00
AleksanderBodurri
8d319dd486
feat(devtools): make devtools fail elegantly for view engine apps
2020-05-04 10:33:23 -07:00