it gives the following benefits:
- go/sk-npm-audit-mirror can perform periodic audits for repo
and auto-file bugs.
- Dev dependencies are declared in a typical location for npm projects.
- allows simplifying manage_node_deps.py the installation by running one `npm install` instead of installing packages one by one.
Bug: chromium:331331303
Change-Id: I7a5486acb89e174be5277c7696cb287a668d2ed7
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5423233
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
Reviewed-by: Simon Zünd <szuend@chromium.org>
During the ESM migration, some UI utils were moved out of UIUtils.ts (as
part of https://crrev.com/c/1967134), but there's no advantage/reason
for why this is beneficial. And now it's blocking the removal of the
`__widget` and `__widgetCounter` properties, because some of the
separated UI utils implicitly depend on Widget.ts, but without properly
importing anything from Widget.ts, and they get away with it because of
the use of `any`.
Bug: 332815658
Change-Id: I52742d10d6b0e4aba02b6a055b5c55c51c920023
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5419445
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Danil Somsikov <dsv@chromium.org>
Reviewed-by: Danil Somsikov <dsv@chromium.org>
This makes several improvements to test output:
- Screenshots are no longer printed to console or saved to
an html file. This is unnecessary now that they are uploaded
to rdb.
- When a test is retried, the timeout hook was not correctly
hooked, which produced unexpected errors from multiple done
calls. This has been fixed.
- Screenshot error message now includes causes, which displays
the pending async stacks on timeout.
- Driveby fix to improper assertion in console-helpers.
Bug: None
Change-Id: Ia76f88ad9fbf1236a47a1f27eff41ee93d1a28a5
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5349145
Commit-Queue: Eric Leese <leese@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
In some cases, windows bots don't have permission to run the CfT
binary due to missing ACLs.
Chromium tests usually set this ACL on the out/ directory when
building. For us it's enough to set up the ACL when we download the
CfT binary.
Manually verified on a Windows cloudtop that ACLs are correctly in
place after downloading a fresh binary.
R=mathias@chromium.org
Fixed: 324929074
Change-Id: Ieb5cb18ff883c1ee305be9738c725c3ebca00262
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5330806
Commit-Queue: Simon Zünd <szuend@chromium.org>
Reviewed-by: Mathias Bynens <mathias@chromium.org>
This was originally introduced with https://crrev.com/c/2894390 but we
never started using it consistently. It also comes with the downside
that unlike in Chromium, for DevTools debug builds aren't used as
extensively and frequently, so it's better to stick to either throwing
an Error or console.assert() for the few cases where we used the
DCHECK() function in the past, and thereby ensure that we are notified
of the problems early on.
Bug: none
Change-Id: I90bd465d088be5530530027ea1dbd0ec2b74b12b
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5319500
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
- Disallow passing async callbacks to describe, as that's a great source
of bugs (anything defined after an `await` will not run).
- Disallow global tests.
- Disallow nested tests, as those will not run (and we had a few of
them).
Drive-by-fix: Use the proper mocha/no-exclusive-tests plugin instead of
our homegrown one, and teach the mocha plugin about the various describe
versions (which consistently works for all the other mocha eslint rules
then as well).
Bug: b:319814509, b:326206427
Change-Id: Icfa9caf468882a226a5dbdd3be27b0f66fe4479f
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5309877
Reviewed-by: Simon Zünd <szuend@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
The helper was originally introduced with https://crrev.com/c/2878729 in
order to prevent accidental duplicate registrations, but that is not an
actual problem in practice. On the flip side the helper adds unnecessary
noise (both in terms of readability/familiarity and in terms of
additional pragmas to disable the relevant ESLint rule). And
additionally Open Web Component tooling[^1] doesn't understand the
helper, and cannot infer Web Component information for our code
correctly.
Given the downsides (and basically no upsides) and the fact that we are
actively exploring the idea of adopting more of open-wc, we'll drop the
helper and its eslint here.
[^1]: https://open-wc.org/guides/tools/web-component-devtools/
Doc: http://go/chrome-devtools:eslint-pain-points-design
Bug: b:319814509, chromium:1205825
Change-Id: If888be52c94d97f09662543fbf604f8dfe1eb575
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5308066
Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Philip Pfaffe <pfaffe@chromium.org>
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
'git cl format', by default, only formats the changed lines for each
file. It does so by forwarding the changed lines from git to
clang-format on the command line.
For large diffs, this results in very large command line invocations
that run into the limit on windows.
As a heuristic, we should just format all changed files fully if we
suspect this might be the case.
Note that previously we skipped formatting alltogether when e.g.
node_modules was changed.
R=alexrudenko@chromium.org, ergunsh@chromium.org
Bug: 40272289
Change-Id: Ic7648a0ad81f6e27f84e07c3497542a61acd4d3a
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5297179
Commit-Queue: Simon Zünd <szuend@chromium.org>
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
This piggybacks on the same patterns as found in ResourceWebSocketFrameView.ts.
- Note that we are searching the id, type, and data fields because they
all can be user generated
- Changes test behavior to honor newlines in *.rawresponse files
Fixed: 1488863
Change-Id: Ib73fc13fb3c44696ac9805d63d432b45545dc020
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/4973389
Reviewed-by: Danil Somsikov <dsv@chromium.org>
Commit-Queue: Charles Vazac <cvazac@gmail.com>
There is an autoroller for 'browser-protocol' which runs `roll_deps.py` script however there are two issues with it:
* It doesn't run `eslint` so we cannot submit it if there is a change
to DOMPinnedProperties.ts
* It doesn't run all the update steps so rolling browser protocol
through autoroller leaves us in an half baked state:
- Protocol resources are imported
- Some sources are updated (under javascript_metadata)
- Some sources are not updated (protocol.ts etc.)
This CL updates the script to run format steps and generate protocol
resources.
Bug: 1454378
Change-Id: I506e604d47942d898cdfeec1d0df5bce19434a0b
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5245435
Reviewed-by: Simon Zünd <szuend@chromium.org>
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
Commit-Queue: Ergün Erdoğmuş <ergunsh@chromium.org>
We weren't doing anything for legacy CSS files, this updates to:
* Generate the correct output for them
* Log a message to the console to say that it won't be hot reloaded
Drive by:
* Log when there is a TS compilation error.
* Update Chokidar options to not use polling but use fsEvents.
Bug: none
Change-Id: Ib7edb62201447917bb7bfb5ba40cf137092c1009
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5125718
Commit-Queue: Ergün Erdoğmuş <ergunsh@chromium.org>
Reviewed-by: Simon Zünd <szuend@chromium.org>
Auto-Submit: Ergün Erdoğmuş <ergunsh@chromium.org>
Reviewed-by: Paul Irish <paulirish@chromium.org>