-
Notifications
You must be signed in to change notification settings - Fork 6.8k
[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
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
6c26ee5
to
ead7325
Compare
This removes code duplication
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`.
ead7325
to
bed670f
Compare
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.
bed670f
to
8367ab9
Compare
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.
75c8016
to
31561f2
Compare
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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
#30860