Commit graph

42 commits

Author SHA1 Message Date
Alan Agius
adda6c5c10 build: update aspect_rules_js to 3.0.2
This updates the major version of `aspect_rules_js`.
2026-03-11 13:35:26 -07:00
Alan Agius
fffd34bb6e build: add @babel/core to list of rollup_runtime_deps
This will be needed following https://github.com/devversion/rules_angular/pull/72
2025-10-27 13:39:33 +01:00
Joey Perrott
8738b81785 build: use common jasmine rule from dev-infra (#63568)
Use the new common jasmine rule from dev-infra which include sourcemap rewriting support and esm file loading

PR Close #63568
2025-09-03 16:34:08 +00:00
Joey Perrott
f0ee681ad7 build: move macros/build set up for zone.js into zone.js directories (#63421)
Move the zone_bundle and configurations into zone.js's tool directory

PR Close #63421
2025-08-27 11:23:57 -07:00
Joey Perrott
17c232afd5 build: remove unused macros (#63421)
Remove unused macro files

PR Close #63421
2025-08-27 11:23:57 -07:00
Joey Perrott
6e4d71e022 build: remove ts_project_interop file (#63421)
Remove the ts_project_interop.bzl file that no longer does interop work

PR Close #63421
2025-08-27 11:23:57 -07:00
Joey Perrott
c15b8ed631 build: enable strict deps enforcement for ts_project (#63375)
Enable strict_deps testings for all ts_project and ng_project targets in the repo

PR Close #63375
2025-08-26 09:46:30 -07:00
Joey Perrott
718bfd2fb7 build: move from using WORKSPACE to MODULE.bazel (#63246)
Update to use MODULE.bazel

PR Close #63246
2025-08-20 08:26:17 +00:00
Joey Perrott
c35c0c7f2f build: update to bazel 7.6.0 (#63096)
Update to later version of bazel

PR Close #63096
2025-08-14 13:01:30 +02:00
Joey Perrott
c4dcfdf644 build: update to the latest version of devinfra and rename npm2 workspace (#63093)
Rename the npm2 workspace to npm and use the latest version of devinfra which drops rules_nodejs

PR Close #63093
2025-08-11 10:35:32 -07:00
Joey Perrott
0d12eac34c build: remove unused old toolchain dependencies (#63039)
Update to latest version of dev-infra and complete the removal of rules_nodejs from the repo

PR Close #63039
2025-08-07 09:31:45 -07:00
Joey Perrott
fa8d8b8396 build: migrate all npm packages to use new rules_js based npm_package rule (#62954)
Use a common rule for all npm_packages

PR Close #62954
2025-08-05 19:08:45 +00:00
Joey Perrott
cbc258eec8 build: remove ts_project_interop infrastructure (#62908)
Remove the interop macros and final usages

PR Close #62908
2025-07-31 09:12:58 +00:00
Joey Perrott
008ed216d3 build: remove usages of runtime_rnjs_interop (#62908)
Remove all usages of the runtime_rnjs_interop feature

PR Close #62908
2025-07-31 09:12:58 +00:00
Joey Perrott
49b7729e88 build: remove usages of rules_nodejs (#62885)
Remove rules_nodejs usages with direct migrations to rule_js alternatives

PR Close #62885
2025-07-30 08:51:27 +00:00
Joey Perrott
32c00ab416 build: standardize usage of js_binary (#62860)
Remove usages of nodejs_binary and use a commonly defined js_binary macro

PR Close #62860
2025-07-29 06:43:44 +02:00
Joey Perrott
17ada9838b build: move tsec to new toolchain (#62825)
Migrate tsec tooling/macro to use tsec directly as a js_binary and rely on ts_project dependencies.

PR Close #62825
2025-07-28 20:07:05 +02:00
Joey Perrott
2f82d811e5 build: migrate zone.js tests to use web test runner instead of karma web tests (#62826)
Migrate zone.js bazel tests to use web test runner instead of karma

PR Close #62826
2025-07-28 14:18:45 +02:00
Joey Perrott
7c06aca4f0 build: move from using rollup to esbuild for bundling zone.js (#62775)
Use esbuild to bundle zone.js

PR Close #62775
2025-07-25 16:53:00 +02:00
Joey Perrott
c19d0aef4f build: use ts_config rule from rules_ts only and always load from common location (#62808)
Only use the ts_config rule from rules_ts, and always load the rule from tools/defaults2.bzl

PR Close #62808
2025-07-25 10:08:13 +02:00
Joey Perrott
8bf97d1370 build: remove all usages of the interop_deps attr for ts_project and ng_project (#62732)
Remove all of the usages of interop_deps as attributes in the repo

PR Close #62732
2025-07-21 13:03:09 -04:00
Joey Perrott
23d58777b4 build: migrate to new toolchain usage for api goldens (#62688)
Migrate api golden usage to be based on rules_js toolchain implementation

PR Close #62688
2025-07-17 18:13:42 -04:00
Joey Perrott
dd02bfe743 build: migrate zone.js to use ts_project instead of ts_library (#62673)
Use ts_project instead of ts_library for building zone.js

PR Close #62673
2025-07-17 13:59:37 -04:00
Joey Perrott
15bb25805f build: use esbuild from aspect rules (#62568)
Use the esbuild ruleset from aspect rules instead of via @bazel/esbuild

PR Close #62568
2025-07-10 13:45:15 -07:00
Joey Perrott
efc2a41d1d build: use rollup directory instead of rollup through @bazel/rollup (#62556)
Use rollup directly instead of using the previous toolchain implementation

PR Close #62556
2025-07-09 16:53:25 -07:00
Joey Perrott
3b0b0d19f1 build: migrate usages of protractor_web_test_suite to use new rules_browser based rule (#62525)
Use the protractor_web_test_suite from rules_browser instead of @bazel/protractor

PR Close #62525
2025-07-08 15:59:12 -07:00
Joey Perrott
4fae4dbba8 build: migrate adev to use packaged version of @angular/* packages (#62413)
Use the packaged versions of the packages instead of the local ts_project dependencies to prevent multiple versions of the deps to enter test bundles

PR Close #62413
2025-07-02 16:10:25 +00:00
Joey Perrott
b84859073b build: migrate to use web test runner rules (#62292)
Migrate karma tests throughout the repo to use the new web test runner based rule instead

PR Close #62292
2025-06-26 17:19:10 +00:00
Joey Perrott
557ac51c32 build: migrate to using new jasmine_test (#62131)
Migrate additional targets to jasmine_test

PR Close #62131
2025-06-19 10:06:27 +02:00
Joey Perrott
3a0cfd544d build: migrate to using new jasmine_test (#62086)
Use the new jasmine_test based on rules_js instead of jasmine_node_test from rules_nodejs

PR Close #62086
2025-06-18 08:27:26 +02:00
Paul Gschwendtner
a137746110 build: migrate packages/core/test to new jasmine_test rule (#61902)
Migrates `packages/core/test` to the new `jasmine_test` rule. As part of
this, we are also removing an unnecessary/unused test fixture.

PR Close #61902
2025-06-12 10:00:09 +02:00
Paul Gschwendtner
c706525a33 build: update node loader to support zone.js (#61902)
Temporarily updates the new Node loader to work with `zone.js` `.mjs`
files that are still ending up at runtime due to this package using
`ts_library`.

PR Close #61902
2025-06-12 10:00:09 +02:00
Paul Gschwendtner
08b543e2f6 build: add jasmine_test macro for replacing jasmine_node_test legacy rule (#61902)
This commit introduces the new `jasmine_test` macro that can be an
"almost" drop-in replacement for `jasmine_test`.

PR Close #61902
2025-06-12 10:00:09 +02:00
Paul Gschwendtner
df0b8d45da build: add small comment for ng_package_link_interop.bzl (#61902)
This should make the intent a little more clearer if someone
just looks at this file.

PR Close #61902
2025-06-12 10:00:09 +02:00
Paul Gschwendtner
d86d11d4c1 build: introduce NodeJS loader for rules_js Node execution (#61865)
For the `rules_js` migration, we are facing the problem where
our current Angular code is shipped as ESM, but we aren't fully
there yet with fully compliant strict ESM during development.

That is because we lack explicit import extensions, and it's also a
different story how this would work in Google3, if we were to add them.

In addition, we cross-import from our packages using npm module names.
This works well for TS, for ESBuild because those can respect path
mappings— but at runtime, when executing native `jasmine_test`'s— such
mappings aren't respected. The options here are:

- avoid module imports in the repo (impossible; undesired)
- use pre-bundling of all NodeJS execution involving npm package code
  (slower, extra build action cost)
- wire up a simple NodeJS loader (supported via official APIs) to simply
  account for our cases (preferred and similar to what we experimented
  with for the last year(s); and worked well)

This commit implements the last option and allows for an easy migration
to `rules_js`, and also is pretty reasonable. Long-term we can resolve
the extension problem if we e.g. migrate to real explicit extensions + a
proper TS module resolution like e.g. `nodenext`.

PR Close #61865
2025-06-05 12:04:51 +02:00
Paul Gschwendtner
d081ef9b06 build: replace all ng_package with new rule from rules_angular (#61843)
Replaces all `ng_package` rule with the new rule from `rules_angular`.

PR Close #61843
2025-06-04 09:13:41 +00:00
Paul Gschwendtner
579618d6d6 build: remove packages/bazel (#61843)
Removes the `@angular/bazel` package as we no longer need it. Yay!

It's replaced by `rules_angular`.

PR Close #61843
2025-06-04 09:13:41 +00:00
Paul Gschwendtner
925b923e85 build: add modified version of tsec that can work with interop (#61275)
As we roll out more PRs that migrate to `ts_project`, we need to make
sure that we don't break existing `tsec` targets. This PR copies the
original `tsec` Starlark code and adjusts it to work with the interop.

Note that we don't patch as this would unnecessarily complicate this
file that only exists during migration. Long-term, after migration, we
either need to consider switching to the new ESLint plugin that is being
worked on (I'm in contact with the team), or we send a CL to update the
Tsec Starlark code to keep our changes minimal and avoid scope increase.

PR Close #61275
2025-05-14 12:01:51 +00:00
Paul Gschwendtner
c123125ca1 build: fix ts_project interop to properly create linker mappings (#61275)
This commit fixes that the interop targets weren't properly creating
linker mappings in some cases. This could break spec bundling.

PR Close #61275
2025-05-14 12:01:51 +00:00
Paul Gschwendtner
397f9987ef build: support new ng_project rule (#61275)
Supports the `ng_project` rule with the local compiler-cli version
from HEAD.

PR Close #61275
2025-05-14 12:01:51 +00:00
Paul Gschwendtner
a1bf58e32e build: migrate symbol-extractor to ts_project (#61156)
Migrates the symbol-extractor code to `ts_project`.

PR Close #61156
2025-05-07 11:28:59 -07:00
Joey Perrott
72b7de0d73 build: set up ts_project interop for rules_js migration (#61087)
The `ts_project` interop rule that we've built was also used in the
Angular CLI migration, and it allows us to mix `ts_project` and
`ts_library` targets; enabling an incremental migration. Additionally
set up the `ng_project` to replace `ng_module`.

PR Close #61087
2025-05-02 09:12:23 -07:00