Skip to content

[19.2.x]: Use full pnpm and integrate material.angular.io docs site into monorepo #30865

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 21 commits into from
Apr 15, 2025

Conversation

devversion
Copy link
Member

@angular-robot angular-robot bot added the area: build & ci Related the build and CI infrastructure of the project label Apr 14, 2025
@devversion devversion force-pushed the patch-remove-yarn-2 branch from 6c26ee5 to ead7325 Compare April 14, 2025 21:16

Verified

This commit was signed with the committer’s verified signature.
dorian-adams Dorian Adams
Switchs all integration tests to pnpm, solving one of our annoying bugs
when installing integration test deps. It also seems much faster.

In the future, we are considering allowing the local profile pnpm cache,
even within the Bazel sandbox, but for now we continue installing
dependencies via internet.

In practice we even install a bit more dependencies now, but that is a
trade-off we accept, because it's not making anything worse, but instead
allows us to finally:

- easily update the lock files manually
- let renovate maintain versions of our integration tests; keeping them
  up-to-date.
Removes remaining `@npm//` usages.
Final cleanup to remove Yarn in favor of pnpm. We resort to an extra
Yarn package.json just for the remaining to-be-migrated `ng_package`
rule and its dependencies. Everything else is full native `rules_js`.
@devversion devversion force-pushed the patch-remove-yarn-2 branch from ead7325 to bed670f Compare April 14, 2025 21:26
Cleans up some unnecessary dependencies.
Renames the docs site from `material.angular.io` to `docs` so that it's
easier to integrate into the Bazel.
Ignores the rename commit in the Git blame.
Integrates the `docs` site into the monorepo Bazel workspace.
This allows us to drop the yarn lock file etc. We only need to
temporarily keep this for the older `ng_package` rule.
Fixes the docs lint setup to work. It failed due to some missing
dependencies in pnpm.

We should consider dropping this and just use Prettier IMO. Although I
can see some useful linting of Angular specific code.
Updates docs deployment to rely on the Bazel monorepo.
Replaces usgaes of `yarn` with `pnpm` and updates documentation where
necessary.
The patches are no longer needed. For tsec itself we need to come up
with a whole new Starlark file. It's not even wired up right now.
The legacy bundle creation relies on `@angular/build-tooling`. As
ideally we don't have any of such scripts, that rely on build tooling
outside of Bazel, we simply add our own simple linker ESBuild plugin,
while we save on complexity by using our existing tsconfig for path
mappings.

if we find more scripts needing build tooling scripts outside of Bazel
that aren't legacy tooling, we should come up with a better solution.
ng-dev wasn't explicitly listing a dependency it relied upon. This
commit updates to the latest version containing the fix.
This commit works around a strict dependency issue caused by the
`@google-cloud/spanner` library. See:

GoogleCloudPlatform/grpc-gcp-node#187.
`ng-dev` requires it to be an explicit dependency, and this also makes
sense for IDEs picking up the version.
We are now on full pnpm, so this is no longer needed.
The latest FW version seems to use shared chunks, and we are using an
older version of the linking that doesn't handle that well.
Fixes that the integration test in the patch branch still requires
platform-browser-dynamic.

Works around a bug that is already resolved in v20, where the
`@angular/build` package doesn't declare a used dependency.
@devversion devversion force-pushed the patch-remove-yarn-2 branch from 75c8016 to 31561f2 Compare April 15, 2025 06:36
@devversion devversion added action: merge The PR is ready for merge by the caretaker target: patch This PR is targeted for the next patch release labels Apr 15, 2025
@devversion devversion removed the request for review from josephperrott April 15, 2025 06:36
@devversion devversion marked this pull request as ready for review April 15, 2025 06:39
@devversion devversion requested review from a team, andrewseguin and jelbourn as code owners April 15, 2025 06:39
@devversion devversion removed request for a team, andrewseguin and jelbourn April 15, 2025 06:39
@devversion devversion merged commit 462829b into angular:19.2.x Apr 15, 2025
26 of 29 checks passed
@devversion devversion deleted the patch-remove-yarn-2 branch April 15, 2025 06:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
action: merge The PR is ready for merge by the caretaker area: build & ci Related the build and CI infrastructure of the project target: patch This PR is targeted for the next patch release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant