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
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
ef08bb5
build: replace server_test rule with shared one from `rules_browsers`
devversion Apr 11, 2025
ec2dc7d
build: remove more unused rules
devversion Apr 11, 2025
8bac676
build: switch integration tests to pnpm and use `rules_js`-based rule
devversion Apr 11, 2025
84fdd07
build: remove remaining `@npm//` usages
devversion Apr 11, 2025
5c17a17
build: remove yarn in favor of pnpm
devversion Apr 12, 2025
efd1c22
build: remove unnecessary dependencies
devversion Apr 12, 2025
c6a061f
build: rename docs site folder to `docs`
devversion Apr 12, 2025
d0c80b3
build: ignore rename in git blame
devversion Apr 12, 2025
9d7d220
build: integrate `docs` into monorepo workspace
devversion Apr 13, 2025
6f9ab57
build: move `npm` workspace into `tools/bazel/legacy-rnjs`
devversion Apr 14, 2025
01fec79
build: fixes the docs lint setup to work
devversion Apr 14, 2025
8fae317
build: update docs deployment to use bazel monorepo
devversion Apr 14, 2025
76aa657
build: clear usages of `yarn` and update documentation
devversion Apr 14, 2025
31b366a
build: remove `patch-package`
devversion Apr 14, 2025
989cfed
build: simplify legacy bundle creation and fix build-tooling dependency
devversion Apr 14, 2025
acfc12f
build: update ng-dev to include pnpm dependency fix
devversion Apr 14, 2025
57c4cd7
build: workaround until GCP fixes dependency issue in spanner lib
devversion Apr 14, 2025
d11732f
build: add prettier as explicit dependency
devversion Apr 14, 2025
8367ab9
build: disable release `rules_js` hybrid mode
devversion Apr 14, 2025
4ab07df
build: update angular-linking to support latest FW releases
devversion Apr 15, 2025
31561f2
build: fix dependency issues
devversion Apr 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  

This file was deleted.

11 changes: 6 additions & 5 deletions .bazelignore
Original file line number Diff line number Diff line change
@@ -1,24 +1,23 @@
dist
node_modules

docs/node_modules

integration/harness-e2e-cli/.angular
integration/harness-e2e-cli/node_modules

integration/ng-update-v13/.angular
integration/ng-update-v13/node_modules

integration/ng-add/.angular
integration/ng-add/node_modules

integration/ng-add-standalone/.angular
integration/ng-add-standalone/node_modules

integration/yarn-pnp-compat/.angular
integration/yarn-pnp-compat/.yarn/cache
integration/yarn-pnp-compat/.yarn/unplugged
integration/yarn-pnp-compat/.yarn/install-state.gz
integration/yarn-pnp-compat/node_modules

integration/node_modules

src/cdk-experimental/node_modules
src/cdk/node_modules
src/components-examples/node_modules
Expand All @@ -32,3 +31,5 @@ src/material-moment-adapter/node_modules
src/material/node_modules
src/universal-app/node_modules
src/youtube-player/node_modules

tools/bazel/legacy-rnjs/node_modules
6 changes: 3 additions & 3 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ run --nolegacy_external_runfiles
test --nolegacy_external_runfiles

# This flag is needed to so that the bazel cache is not invalidated
# when running bazel via `yarn bazel`.
# when running bazel via `pnpm bazel`.
build --incompatible_strict_action_env

# Do not build runfile forests by default. If an execution strategy relies on runfile
Expand All @@ -49,10 +49,10 @@ test --test_output=errors

# Configures script to do version stamping.
# See https://docs.bazel.build/versions/master/user-manual.html#flag--workspace_status_command
build:release --workspace_status_command="yarn -s ng-dev:stamp --mode=release"
build:release --workspace_status_command="pnpm -s ng-dev:stamp --mode=release"
build:release --stamp

build:snapshot-build --workspace_status_command="yarn -s ng-dev:stamp --mode=snapshot"
build:snapshot-build --workspace_status_command="pnpm -s ng-dev:stamp --mode=snapshot"
build:snapshot-build --stamp

####################################
Expand Down
2 changes: 2 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# `material.angular.io/` folder renamed to `docs/`
cc8d090758b6448a3f745e1faf3e503a293b1757
1 change: 0 additions & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
/.husky/ @angular/dev-infra-components
/.ng-dev/ @angular/dev-infra-components
/.vscode/ @angular/dev-infra-components
/.yarn/ @angular/dev-infra-components
/scripts/ @angular/dev-infra-components
/test/ @angular/dev-infra-components

Expand Down
19 changes: 9 additions & 10 deletions .github/workflows/ci.material-aio.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ permissions: {}
defaults:
run:
shell: bash
working-directory: material.angular.io

env:
# TODO: Remove when pnpm is exclusively used.
Expand All @@ -30,31 +29,31 @@ jobs:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Install node modules
run: yarn install --immutable
run: pnpm install --frozen-lockfile
- name: Execute Linting
run: yarn bazel test --test_tag_filters=lint //...
run: pnpm --cwd=docs bazel test --test_tag_filters=lint //...

build:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Install node modules
run: yarn install --immutable
run: pnpm install --frozen-lockfile
- name: Execute Direct Production Build (deploy usage)
run: yarn prod-build
run: pnpm -s --cwd=docs prod-build
- name: Execute Build via Bazel
run: yarn bazel build //...
run: pnpm -s --cwd=docs bazel build //...

test:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Install node modules
run: yarn install --immutable
run: pnpm install --frozen-lockfile
- name: Execute Tests
run: yarn bazel test --test_tag_filters=-lint,-e2e,-audit //...
run: pnpm --cwd=docs bazel test --test_tag_filters=-lint,-e2e,-audit //...
- name: Store Test Logs
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
if: always()
Expand All @@ -69,9 +68,9 @@ jobs:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Install node modules
run: yarn install --immutable
run: pnpm install --frozen-lockfile
- name: Execute Lighthouse Audit
run: yarn bazel test --test_tag_filters=audit //...
run: pnpm -s --cwd=docs bazel test --test_tag_filters=audit //...
- name: Store Audit Logs
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
if: always()
Expand Down
60 changes: 30 additions & 30 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,25 +25,25 @@ jobs:
with:
cache-node-modules: true
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Checking package externals
run: |
bazel build //:package_externals
yarn check-package-externals $(bazel info bazel-bin)/package_externals.json
pnpm check-package-externals $(bazel info bazel-bin)/package_externals.json
- name: Checking entry-points configuration
run: |
bazel build //:entry_points_manifest
yarn check-entry-point-setup $(bazel info bazel-bin)/entry_points_manifest.json
pnpm check-entry-point-setup $(bazel info bazel-bin)/entry_points_manifest.json
- name: Check OWNERS file
run: yarn ownerslint
run: pnpm ownerslint
- name: Check for component id collisions
run: yarn detect-component-id-collisions
run: pnpm detect-component-id-collisions
- name: Check style lint
run: yarn stylelint
run: pnpm stylelint
- name: Check code lint
run: yarn tslint
run: pnpm tslint
- name: Check for circular dependencies
run: yarn -s ts-circular-deps:check
run: pnpm -s ts-circular-deps:check
- uses: ./.github/actions/slack
if: failure()
with:
Expand All @@ -64,9 +64,9 @@ jobs:
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Check API Goldens
run: yarn bazel test goldens/...
run: pnpm bazel test goldens/...
- uses: ./.github/actions/slack
if: failure()
with:
Expand All @@ -87,9 +87,9 @@ jobs:
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Run e2e tests
run: yarn e2e --flaky_test_attempts=2
run: pnpm e2e --flaky_test_attempts=2
- uses: ./.github/actions/slack
if: failure()
with:
Expand All @@ -110,9 +110,9 @@ jobs:
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Run integration tests
run: yarn integration-tests
run: pnpm integration-tests
continue-on-error: true
- uses: ./.github/actions/slack
if: failure()
Expand All @@ -134,9 +134,9 @@ jobs:
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Run linker AOT tests
run: yarn test-linker-aot
run: pnpm test-linker-aot
- uses: ./.github/actions/slack
if: failure()
with:
Expand All @@ -157,9 +157,9 @@ jobs:
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Run linker JIT tests
run: yarn test-linker-jit
run: pnpm test-linker-jit
- uses: ./.github/actions/slack
if: failure()
with:
Expand All @@ -180,7 +180,7 @@ jobs:
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Run tests
run: bazel test --build_tag_filters=-e2e --test_tag_filters=-e2e --build_tests_only -- src/...
env:
Expand All @@ -205,7 +205,7 @@ jobs:
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Run tests
run: bazel build --build_tag_filters=-docs-package,-release-package -- src/...
- uses: ./.github/actions/slack
Expand All @@ -226,15 +226,15 @@ jobs:
- name: Setup Bazel RBE
uses: angular/dev-infra/github-actions/bazel/configure-remote@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Build and Verify Release Output
run: yarn build-and-check-release-output
run: pnpm build-and-check-release-output
- name: Verify tooling setup
run: yarn check-tooling-setup
run: pnpm check-tooling-setup
- name: Build Docs Content
run: yarn build-docs-content
run: pnpm build-docs-content
- name: Build Docs Content
run: yarn build-docs-content
run: pnpm build-docs-content
- name: Publish Snapshots
run: ./scripts/circleci/publish-snapshots.sh
env:
Expand All @@ -261,13 +261,13 @@ jobs:
- name: Setup Bazel RBE
uses: angular/dev-infra/github-actions/bazel/configure-remote@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Build and Verify Release Output
run: yarn build-and-check-release-output
run: pnpm build-and-check-release-output
- name: Verify tooling setup
run: yarn check-tooling-setup
run: pnpm check-tooling-setup
- name: Deploy the docs app
run: yarn ci-push-deploy-docs-app
run: pnpm ci-push-deploy-docs-app
env:
CIRCLE_BRANCH: ${{ github.ref_name }}
CIRCLE_SHA1: ${{ github.sha }}
Expand All @@ -291,7 +291,7 @@ jobs:
with:
cache-node-modules: true
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Setup Bazel
uses: angular/dev-infra/github-actions/bazel/setup@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Setup Browserstack Variables
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/deploy-dev-app-main-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ jobs:
- name: Setup Bazel RBE
uses: angular/dev-infra/github-actions/bazel/configure-remote@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile

- name: Building dev-app
run: |
yarn -s bazel build //src/dev-app:web_package --symlink_prefix=dist/
pnpm -s bazel build //src/dev-app:web_package --symlink_prefix=dist/
cp -R dist/bin/src/dev-app/web_package dist/dev-app-web-pkg

- name: Configure Firebase deploy target
Expand Down
21 changes: 9 additions & 12 deletions .github/workflows/pr.material-aio.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ permissions: {}
defaults:
run:
shell: bash
working-directory: material.angular.io

env:
# TODO: Remove when pnpm is exclusively used.
Expand All @@ -28,31 +27,29 @@ jobs:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Install node modules
run: yarn install --immutable
run: pnpm install --frozen-lockfile
- name: Execute Linting
run: yarn bazel test --test_tag_filters=lint //...
run: pnpm bazel test --test_tag_filters=lint //docs/...

build:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Install node modules
run: yarn install --immutable
- name: Execute Direct Production Build (deploy usage)
run: yarn prod-build
- name: Execute Build via Bazel
run: yarn bazel build //...
run: pnpm install --frozen-lockfile
- name: Execute Build
run: pnpm bazel build //docs/...

test:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Install node modules
run: yarn install --immutable
run: pnpm install --frozen-lockfile
- name: Execute Tests
run: yarn bazel test --test_tag_filters=-lint,-e2e,-audit //...
run: pnpm bazel test --test_tag_filters=-lint,-e2e,-audit //docs/...
- name: Store Test Logs
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
if: always()
Expand All @@ -67,9 +64,9 @@ jobs:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Install node modules
run: yarn install --immutable
run: pnpm install --frozen-lockfile
- name: Execute Lighthouse Audit
run: yarn bazel test --test_tag_filters=audit //...
run: pnpm bazel test --test_tag_filters=audit //docs/...
- name: Store Audit Logs
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
if: always()
Expand Down
Loading
Loading