Skip to content

Use full pnpm and integrate material.angular.io docs site into monorepo #30860

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 15 commits into from
Apr 15, 2025

Conversation

devversion
Copy link
Member

No description provided.

@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 remove-yarn branch 5 times, most recently from a06a481 to e6f5d1d Compare April 14, 2025 17:02
@devversion devversion added action: review The PR is still awaiting reviews from at least one requested reviewer target: minor This PR is targeted for the next minor release labels Apr 14, 2025
@devversion devversion marked this pull request as ready for review April 14, 2025 17:02
@devversion devversion requested review from a team, andrewseguin and jelbourn as code owners April 14, 2025 17:02
@devversion
Copy link
Member Author

FYI: I've been considering moving the docs site into /docs-site/ but for now I'll keep this with the rename. It would be a lot of work to resolve all conflicts; so let's rather follow-up if we have a good name. Any strong feelings?

@devversion devversion force-pushed the remove-yarn branch 2 times, most recently from 363b92e to 0d0e9c5 Compare April 14, 2025 17:34
@devversion
Copy link
Member Author

closing/reopening to trigger CI...

@devversion devversion closed this Apr 14, 2025
@devversion devversion reopened this Apr 14, 2025
@devversion devversion force-pushed the remove-yarn branch 2 times, most recently from 916648a to 8b330cf Compare April 14, 2025 17:47
Copy link
Member

@josephperrott josephperrott left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

const params = fs.readFileSync(paramFilePath, 'utf-8').split('\n').map(unquoteParameter);
const [
// Output directory for the npm package.
- outputDirExecPath,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might not be worth changing since we are about to bring int a whole new ng_package toolset, but alot of these patch changes are just removing a single space, which makes it more brittle in theory, since the patch change has no actual effect.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, we will remove this soon anyway.

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`.
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.
@devversion devversion added action: merge The PR is ready for merge by the caretaker and removed action: review The PR is still awaiting reviews from at least one requested reviewer labels Apr 14, 2025
@devversion devversion removed request for a team, jelbourn and andrewseguin April 14, 2025 19:06
We are now on full pnpm, so this is no longer needed.
@devversion devversion merged commit 503d6e3 into angular:main Apr 15, 2025
23 of 24 checks passed
@devversion devversion deleted the remove-yarn branch April 15, 2025 06:37
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: minor This PR is targeted for the next minor release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants