We are building the :front_end target when files change, but this
doesn't seem to be broad enough to ensure we build on all changes. This
CL updates the target to devtools_frontend_resources, which does seem to
be a broader target.
This CL also includes a drive-by fix so that the output is sent to
stdout.
Bug: 1098694
Change-Id: I1d02cc0226767377aa4729af3cf3a734ec774026
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2278471
Auto-Submit: Paul Lewis <aerotwist@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Port formatter_worker to use devtools_entrypoint, which is the abstraction
around `rollup`. It handles the creation of the rollup bundle, but leaves
it alone if you are building with `is_debug=true`. This way, we can keep
development use the existing workflow where individual files are fetched,
while in release mode we bundle the entrypoint into 1 big file.
In the future, anything we consider an entrypoint must use this method.
This would include third_party packages like lit-html and CodeMirror.
A follow-up CL will move the lit-html entrypoint back into
third_party/lit-html, as we no longer require it to be a direct subfolder
of `front_end/` (that was fixed in
https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2270168)
DISABLE_THIRD_PARTY_CHECK=TypeScript fixes
R=aerotwist@chromium.org,jacktfranklin@chromium.org
Bug: 1098730
Change-Id: I5d2e67cc9c71291e8b67bbc29354e75239aae9a9
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2267001
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
This allows us to remove the pre-computation of the external modules
from the Python script, into the Rollup module. This is a necessary
change for the future, where we can define an entrypoint in any
location. This could be in a folder which is not a direct
sub-folder of `front_end`.
To do so, we operate on the assumption that the directory that the
input file is in, is the entrypoint. If you resolve an import that
is in that directory or in a subdirectory, we treat it as internal.
If it is outside of that folder, we treat it as external.
This largely mimics the implementation of the ESLint rule for
ES modules.
R=aerotwist@chromium.org,jacktfranklin@chromium.org
Also-By: janscheffler@chromium.org
Also-By: alexrudenko@chromium.org
Bug: 1098730
Change-Id: I416b4c9cd9997b9fc2a50aea41077c41fea59af0
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2270168
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
When the presubmit moves a message from one grdp file to another, the <ph name=LOCKED> and <ex> tags are lost because all the messages are re-created from the frontend version of the string.
This change preserve the grd version of the strings that contains all the tags and use it when the messages are moving across different grdp files.
To test this:
In DeviceModeToolbar.js Line 351
Change
ls`Close DevTools`
To
'Close DevTools'
In WarningErrorCounter.js Line 163
Change
ls`Issues pertaining to ${issues} operation detected.`
To
ls`Close DevTools`
Run presubmit and see the tags are preserved.
Bug: 1071004
Change-Id: I5c724f0dc025dbfd06963373a8cb5fe7caf52803
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2275727
Commit-Queue: Christy Chen <chrche@microsoft.com>
Reviewed-by: Simon Zünd <szuend@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Vidal Diazleal <vidorteg@microsoft.com>
This is a reland of d274209d78
Original change's description:
> Reland "Reland "Add rollup_entrypoint to rollup entrypoints in front_end""
>
> This reverts commit 786fb877e8.
>
> Reason for revert: https://chromium-review.googlesource.com/c/chromium/src/+/2258469
> no longer includes DevTools frontend in the Android build, fixing the issue
> where Android was including DevTools frontend twice.
>
> Original change's description:
> > Revert "Reland "Add rollup_entrypoint to rollup entrypoints in front_end""
> >
> > This reverts commit dbb8f31857.
> >
> > Reason for revert: suspected cause of build breakage downstream:
> > https://ci.chromium.org/p/chromium/builders/ci/Android%20arm64%20Builder%20%28dbg%29/42557?blamelist=1#blamelist-tab
> >
> > Original change's description:
> > > Reland "Add rollup_entrypoint to rollup entrypoints in front_end"
> > >
> > > This is a reland of 9f16ccc6a1
> > >
> > > Original change's description:
> > > > Add rollup_entrypoint to rollup entrypoints in front_end
> > > >
> > > > To support lit-html in a release build, we have to run rollup
> > > > separately. Since lit-html source code is targeted to TypeScript,
> > > > the entrypoint front_end/lit-html/lit-html.ts is a TypeScript-authored
> > > > file.
> > > >
> > > > This means that we can't use `build_release_applications.py` to rollup
> > > > this file (this is by design). Instead, we introduce a new
> > > > `rollup_entrypoint` Ninja target that calls Rollup. We don't have to
> > > > write a special Python file, as we can reuse `node.py` for this, which
> > > > is essentially a pipe-through with a pinned version of Node.
> > > >
> > > > While the rollup build works, for debug builds we are still missing
> > > > the `front_end/third_party/lit-html` files. We will address that
> > > > in a follow-up CL, once we introduce the first usage of lit-html
> > > > in the codebase.
> > > >
> > > > We are going to need to make more changes to Rollup later (most notably
> > > > the external files check), but since we aren't using this codepath
> > > > in `build_release_applications.py`, I will fix that in a separate CL.
> > > >
> > > > To reduce duplication in the Ninja build system, I also extract
> > > > a vars.gni file that has the relevant variables. These are currently
> > > > used in the rollup.gni and typescript.gni.
> > > >
> > > > Lastly, I had to fix node.py to make sure it wouldn't always print
> > > > the stdout. In Ninja, we should only print to stdout if there is
> > > > an error.
> > > >
> > > > DISABLE_THIRD_PARTY_CHECK=Ninja fixes
> > > > R=jacktfranklin@chromium.org,aerotwist@chromium.org
> > > >
> > > > Bug: 1011811, 1061037
> > > > Change-Id: Ib22ff9c1d78e61c922101444f27c4f0d4ccf9bd6
> > > > Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2238232
> > > > Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
> > > > Reviewed-by: Paul Lewis <aerotwist@chromium.org>
> > > > Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
> > >
> > > DISABLE_THIRD_PARTY_CHECK=Ninja fixes
> > >
> > > Bug: 1011811, 1061037, 1096473
> > > Change-Id: I5695c445f8456b6447c836dead89bdd4cf98b0fa
> > > Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2247646
> > > Reviewed-by: Paul Lewis <aerotwist@chromium.org>
> > > Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
> > > Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
> >
> > TBR=aerotwist@chromium.org,tvanderlippe@chromium.org,jacktfranklin@chromium.org
> >
> > Change-Id: Ia6fd6111181500ad44c7757321d141f320b1edf5
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: 1011811, 1061037, 1096473
> > Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2257954
> > Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
> > Commit-Queue: Andrey Kosyakov <caseq@chromium.org>
>
> DISABLE_THIRD_PARTY_CHECK=Ninja fixes
>
> Bug: 1011811, 1061037, 1096473
> Change-Id: I9b0fb13bfff83ea91599e69cb024b8ddf51b3c79
> Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2260353
> Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
> Reviewed-by: Paul Lewis <aerotwist@chromium.org>
> Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
DISABLE_THIRD_PARTY_CHECK=Ninja fixes
Bug: 1011811, 1061037, 1096473
Change-Id: I908a5d923e0a874af372793a74a92e9873d5c07e
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2273186
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Since we are moving to running from built content in the gen/ directory,
we need to have a watcher to ensure convenience for anyone working on
the codebase. This CL introduces a watcher that calls autoninja whenever
a file is changed in the front_end folder. It also updates node.py so
that it outputs the contents of stdout and stderr when the --output flag
is set.
R=tvanderlippe@chromium.org
DISABLE_THIRD_PARTY_CHECK=Updating node alongside relevant changes
Bug: 1098694
Change-Id: I4ddb3d250d0fd80455ea24e95055de74b2be879c
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2272559
Commit-Queue: Paul Lewis <aerotwist@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
This reverts commit 786fb877e8.
Reason for revert: https://chromium-review.googlesource.com/c/chromium/src/+/2258469
no longer includes DevTools frontend in the Android build, fixing the issue
where Android was including DevTools frontend twice.
Original change's description:
> Revert "Reland "Add rollup_entrypoint to rollup entrypoints in front_end""
>
> This reverts commit dbb8f31857.
>
> Reason for revert: suspected cause of build breakage downstream:
> https://ci.chromium.org/p/chromium/builders/ci/Android%20arm64%20Builder%20%28dbg%29/42557?blamelist=1#blamelist-tab
>
> Original change's description:
> > Reland "Add rollup_entrypoint to rollup entrypoints in front_end"
> >
> > This is a reland of 9f16ccc6a1
> >
> > Original change's description:
> > > Add rollup_entrypoint to rollup entrypoints in front_end
> > >
> > > To support lit-html in a release build, we have to run rollup
> > > separately. Since lit-html source code is targeted to TypeScript,
> > > the entrypoint front_end/lit-html/lit-html.ts is a TypeScript-authored
> > > file.
> > >
> > > This means that we can't use `build_release_applications.py` to rollup
> > > this file (this is by design). Instead, we introduce a new
> > > `rollup_entrypoint` Ninja target that calls Rollup. We don't have to
> > > write a special Python file, as we can reuse `node.py` for this, which
> > > is essentially a pipe-through with a pinned version of Node.
> > >
> > > While the rollup build works, for debug builds we are still missing
> > > the `front_end/third_party/lit-html` files. We will address that
> > > in a follow-up CL, once we introduce the first usage of lit-html
> > > in the codebase.
> > >
> > > We are going to need to make more changes to Rollup later (most notably
> > > the external files check), but since we aren't using this codepath
> > > in `build_release_applications.py`, I will fix that in a separate CL.
> > >
> > > To reduce duplication in the Ninja build system, I also extract
> > > a vars.gni file that has the relevant variables. These are currently
> > > used in the rollup.gni and typescript.gni.
> > >
> > > Lastly, I had to fix node.py to make sure it wouldn't always print
> > > the stdout. In Ninja, we should only print to stdout if there is
> > > an error.
> > >
> > > DISABLE_THIRD_PARTY_CHECK=Ninja fixes
> > > R=jacktfranklin@chromium.org,aerotwist@chromium.org
> > >
> > > Bug: 1011811, 1061037
> > > Change-Id: Ib22ff9c1d78e61c922101444f27c4f0d4ccf9bd6
> > > Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2238232
> > > Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
> > > Reviewed-by: Paul Lewis <aerotwist@chromium.org>
> > > Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
> >
> > DISABLE_THIRD_PARTY_CHECK=Ninja fixes
> >
> > Bug: 1011811, 1061037, 1096473
> > Change-Id: I5695c445f8456b6447c836dead89bdd4cf98b0fa
> > Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2247646
> > Reviewed-by: Paul Lewis <aerotwist@chromium.org>
> > Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
> > Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
>
> TBR=aerotwist@chromium.org,tvanderlippe@chromium.org,jacktfranklin@chromium.org
>
> Change-Id: Ia6fd6111181500ad44c7757321d141f320b1edf5
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 1011811, 1061037, 1096473
> Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2257954
> Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
> Commit-Queue: Andrey Kosyakov <caseq@chromium.org>
DISABLE_THIRD_PARTY_CHECK=Ninja fixes
Bug: 1011811, 1061037, 1096473
Change-Id: I9b0fb13bfff83ea91599e69cb024b8ddf51b3c79
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2260353
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
The e2e-tests now use the build output in resources/inspector in
the out directory. This allows us to introduce TypeScript-authored
files in the source directory `front_end`, which will get compiled
into resourc/inspector.
After to making a change to a e2e-test or the front_end, you need
to rebuild Devtools, after which you can run `npm run e2etest` as
normal.
Since we now use the build output, this also means that you can
run the e2e-tests on the release build. In other words, if you
build DevTools with build optimizations (such as Rollup), the
e2e-tests will now use the output (and thus provide test coverage).
DISABLE_THIRD_PARTY_CHECK=Node fixes
R=aerotwist@chromium.org,jacktfranklin@chromium.org
Fixed: 1088463
Change-Id: I02ec3c2476bc3647158fede9e1d347963b3a720a
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2224809
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Jose Leal <joselea@microsoft.com>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Use `npm run build` to generate the mjs files.
Create a acorn-numeric-separator_types.mjs for closure to typecheck.
Create acorn-numeric-separator.mjs.d.ts for TS compiler.
Update acorn_types.mjs to allow Parser to take varargs.
Bug: chromium:1086817
Change-Id: I9f040ddaf5748f3d7437a075c3322335d8e076ec
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2261447
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
This reverts commit dbb8f31857.
Reason for revert: suspected cause of build breakage downstream:
https://ci.chromium.org/p/chromium/builders/ci/Android%20arm64%20Builder%20%28dbg%29/42557?blamelist=1#blamelist-tab
Original change's description:
> Reland "Add rollup_entrypoint to rollup entrypoints in front_end"
>
> This is a reland of 9f16ccc6a1
>
> Original change's description:
> > Add rollup_entrypoint to rollup entrypoints in front_end
> >
> > To support lit-html in a release build, we have to run rollup
> > separately. Since lit-html source code is targeted to TypeScript,
> > the entrypoint front_end/lit-html/lit-html.ts is a TypeScript-authored
> > file.
> >
> > This means that we can't use `build_release_applications.py` to rollup
> > this file (this is by design). Instead, we introduce a new
> > `rollup_entrypoint` Ninja target that calls Rollup. We don't have to
> > write a special Python file, as we can reuse `node.py` for this, which
> > is essentially a pipe-through with a pinned version of Node.
> >
> > While the rollup build works, for debug builds we are still missing
> > the `front_end/third_party/lit-html` files. We will address that
> > in a follow-up CL, once we introduce the first usage of lit-html
> > in the codebase.
> >
> > We are going to need to make more changes to Rollup later (most notably
> > the external files check), but since we aren't using this codepath
> > in `build_release_applications.py`, I will fix that in a separate CL.
> >
> > To reduce duplication in the Ninja build system, I also extract
> > a vars.gni file that has the relevant variables. These are currently
> > used in the rollup.gni and typescript.gni.
> >
> > Lastly, I had to fix node.py to make sure it wouldn't always print
> > the stdout. In Ninja, we should only print to stdout if there is
> > an error.
> >
> > DISABLE_THIRD_PARTY_CHECK=Ninja fixes
> > R=jacktfranklin@chromium.org,aerotwist@chromium.org
> >
> > Bug: 1011811, 1061037
> > Change-Id: Ib22ff9c1d78e61c922101444f27c4f0d4ccf9bd6
> > Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2238232
> > Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
> > Reviewed-by: Paul Lewis <aerotwist@chromium.org>
> > Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
>
> DISABLE_THIRD_PARTY_CHECK=Ninja fixes
>
> Bug: 1011811, 1061037, 1096473
> Change-Id: I5695c445f8456b6447c836dead89bdd4cf98b0fa
> Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2247646
> Reviewed-by: Paul Lewis <aerotwist@chromium.org>
> Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
> Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
TBR=aerotwist@chromium.org,tvanderlippe@chromium.org,jacktfranklin@chromium.org
Change-Id: Ia6fd6111181500ad44c7757321d141f320b1edf5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1011811, 1061037, 1096473
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2257954
Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
Commit-Queue: Andrey Kosyakov <caseq@chromium.org>
This is a reland of 9f16ccc6a1
Original change's description:
> Add rollup_entrypoint to rollup entrypoints in front_end
>
> To support lit-html in a release build, we have to run rollup
> separately. Since lit-html source code is targeted to TypeScript,
> the entrypoint front_end/lit-html/lit-html.ts is a TypeScript-authored
> file.
>
> This means that we can't use `build_release_applications.py` to rollup
> this file (this is by design). Instead, we introduce a new
> `rollup_entrypoint` Ninja target that calls Rollup. We don't have to
> write a special Python file, as we can reuse `node.py` for this, which
> is essentially a pipe-through with a pinned version of Node.
>
> While the rollup build works, for debug builds we are still missing
> the `front_end/third_party/lit-html` files. We will address that
> in a follow-up CL, once we introduce the first usage of lit-html
> in the codebase.
>
> We are going to need to make more changes to Rollup later (most notably
> the external files check), but since we aren't using this codepath
> in `build_release_applications.py`, I will fix that in a separate CL.
>
> To reduce duplication in the Ninja build system, I also extract
> a vars.gni file that has the relevant variables. These are currently
> used in the rollup.gni and typescript.gni.
>
> Lastly, I had to fix node.py to make sure it wouldn't always print
> the stdout. In Ninja, we should only print to stdout if there is
> an error.
>
> DISABLE_THIRD_PARTY_CHECK=Ninja fixes
> R=jacktfranklin@chromium.org,aerotwist@chromium.org
>
> Bug: 1011811, 1061037
> Change-Id: Ib22ff9c1d78e61c922101444f27c4f0d4ccf9bd6
> Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2238232
> Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
> Reviewed-by: Paul Lewis <aerotwist@chromium.org>
> Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
DISABLE_THIRD_PARTY_CHECK=Ninja fixes
Bug: 1011811, 1061037, 1096473
Change-Id: I5695c445f8456b6447c836dead89bdd4cf98b0fa
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2247646
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
This rule disallows assigning a value in a return statement.
It also works in one-liner arrow functions.
For instance, a => a = 2 will trigger a warning.
This is to avoid cases where you actually meant to compare a to 2, not
assign the value 2 (maybe you wanted to return a boolean in a filter
callback).
These sorts of issues can easily pass review and cause weird problems
that are hard to track down later.
The rule is enabled in this CL, and all warnings are fixed with this CL.
More info about the rule: https://eslint.org/docs/rules/no-return-assign
Bug: 1093379
Change-Id: I38b98ea59ecaedc83a7f69073b17980808f9a3bf
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2242761
Reviewed-by: Patrick Brosset <patrick.brosset@microsoft.com>
Reviewed-by: Jose Leal <joselea@microsoft.com>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Patrick Brosset <patrick.brosset@microsoft.com>
stylelint requires POSIX-formatted paths/globs, even on Windows. This
patch ensures we pass such paths in the case where only specific files
are being linted (i.e. `PRESUBMIT.py` calls `run_lint_check_css.py`
with a list of potentially Windows-formatted file paths as arguments.
Bug: chromium:1083142
Change-Id: I1eea6bf146decd52bb978388d4e3e98f48ec91b3
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2252007
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
On Windows, if your checkout is at:
C:\devtools\devtools-frontend
Then the stylelint CLI lives here:
C:\devtools\devtools-frontend\node_modules\stylelint\bin\stylelint.js
Prior to this patch, the lint CSS script was instead trying to use:
C:\node_modules\stylelint\bin\stylelint.js
That is, it went two levels too far up the directory tree. This only
happened on Windows.
This patch avoids the problem altogether by forcing the root directory
to be the current working directory and passing a root-relative glob
instead.
As a drive-by, this patch cleans up the `_getFilesToLint` helper in
`PRESUBMIT.py`.
Bug: chromium:1083142
Change-Id: Ida7d19e4c1cb8954346a3103ce95748f0bc38f00
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2252005
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
This reverts commit 9f16ccc6a1.
Reason for revert: Fails in Chromium roll: https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8877691983703106912/+/steps/compile__with_patch_/0/stdout
Original change's description:
> Add rollup_entrypoint to rollup entrypoints in front_end
>
> To support lit-html in a release build, we have to run rollup
> separately. Since lit-html source code is targeted to TypeScript,
> the entrypoint front_end/lit-html/lit-html.ts is a TypeScript-authored
> file.
>
> This means that we can't use `build_release_applications.py` to rollup
> this file (this is by design). Instead, we introduce a new
> `rollup_entrypoint` Ninja target that calls Rollup. We don't have to
> write a special Python file, as we can reuse `node.py` for this, which
> is essentially a pipe-through with a pinned version of Node.
>
> While the rollup build works, for debug builds we are still missing
> the `front_end/third_party/lit-html` files. We will address that
> in a follow-up CL, once we introduce the first usage of lit-html
> in the codebase.
>
> We are going to need to make more changes to Rollup later (most notably
> the external files check), but since we aren't using this codepath
> in `build_release_applications.py`, I will fix that in a separate CL.
>
> To reduce duplication in the Ninja build system, I also extract
> a vars.gni file that has the relevant variables. These are currently
> used in the rollup.gni and typescript.gni.
>
> Lastly, I had to fix node.py to make sure it wouldn't always print
> the stdout. In Ninja, we should only print to stdout if there is
> an error.
>
> DISABLE_THIRD_PARTY_CHECK=Ninja fixes
> R=jacktfranklin@chromium.org,aerotwist@chromium.org
>
> Bug: 1011811, 1061037
> Change-Id: Ib22ff9c1d78e61c922101444f27c4f0d4ccf9bd6
> Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2238232
> Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
> Reviewed-by: Paul Lewis <aerotwist@chromium.org>
> Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
TBR=aerotwist@chromium.org,tvanderlippe@chromium.org,jacktfranklin@chromium.org
Change-Id: Ida2a1e30d601e87f64a7c35bbc527c700d9cbe70
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1011811, 1061037
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2243175
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
To support lit-html in a release build, we have to run rollup
separately. Since lit-html source code is targeted to TypeScript,
the entrypoint front_end/lit-html/lit-html.ts is a TypeScript-authored
file.
This means that we can't use `build_release_applications.py` to rollup
this file (this is by design). Instead, we introduce a new
`rollup_entrypoint` Ninja target that calls Rollup. We don't have to
write a special Python file, as we can reuse `node.py` for this, which
is essentially a pipe-through with a pinned version of Node.
While the rollup build works, for debug builds we are still missing
the `front_end/third_party/lit-html` files. We will address that
in a follow-up CL, once we introduce the first usage of lit-html
in the codebase.
We are going to need to make more changes to Rollup later (most notably
the external files check), but since we aren't using this codepath
in `build_release_applications.py`, I will fix that in a separate CL.
To reduce duplication in the Ninja build system, I also extract
a vars.gni file that has the relevant variables. These are currently
used in the rollup.gni and typescript.gni.
Lastly, I had to fix node.py to make sure it wouldn't always print
the stdout. In Ninja, we should only print to stdout if there is
an error.
DISABLE_THIRD_PARTY_CHECK=Ninja fixes
R=jacktfranklin@chromium.org,aerotwist@chromium.org
Bug: 1011811, 1061037
Change-Id: Ib22ff9c1d78e61c922101444f27c4f0d4ccf9bd6
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2238232
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
This CL extracts blendColors into a new utils file (more lightweight
function utils compared to Color.js) and reuses it in the overlay code.
Also, it adds an exception to eslint module import rules for the
inspector overlay folder because inspector overlay benefits from
granular imports instead of complete namespace imports.
Bug: 1078267
Change-Id: I01ec8f295da8bfac0b57b9dd2661ca9f798de869
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2228514
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Mathias Bynens <mathias@chromium.org>
Reviewed-by: Changhao Han <changhaohan@chromium.org>
This CL adds an optional --chrome-binary argument to the unittest.py
script to use a specific Chrome binary to run unit tests against.
When no argument is specified, the script defaults to the downloaded
Chrome binary from `gclient sync` (same behavior as before).
We'd like to have the option of running unit tests on a Microsoft Edge
executable instead of the default downloaded Chrome executable.
Change-Id: Ice72f129086bcc1da56efa118280532cdbb25fd3
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2202628
Reviewed-by: Brandon Goddard <brgoddar@microsoft.com>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Robert Paveza <Rob.Paveza@microsoft.com>
Commit-Queue: Brian Cui <brcui@microsoft.com>