Skip to content
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

Bring Angular Devtools Into angular/angular #43473

Closed

Conversation

AleksanderBodurri
Copy link
Member

@AleksanderBodurri AleksanderBodurri commented Sep 16, 2021

This PR brings in the Angular DevTools codebase into the Angular Repo. It preserves the commit history of the original repository with a process described here.

The Angular DevTools codebase has been nested under a devtools directory. I will be working on integrating DevTools' Unit and E2E tests with the framework repository's CI.

Remaining tasks before merge

  • Verify that all authors have signed the CLA (Done)

Tasks After merge

  • Reenable commit-message format validator in CI. Disabled because commits from the Angular DevTools repo did not follow the 20 character minimum limit for commits. Had to temporarily disable until these commits are merged.
  • Reenable the branch rebasing workflow in CI. Had to temporarily disable because the commit graph from Angular DevTools and the commit graph for angular/angular would be disjoint except for the unrelated-histories merge commit, meaning rebasing onto master would fail in CI.
  • Build devtools with local angular packages

renovate-bot and others added 30 commits April 22, 2021 10:59
…es split pane gutter full height for profile details
* docs: updating readme

* docs: updating readme
Previously the router parser uses private APIs to create the visualization for the router tree tab. Now the router parser always returns an empty router tree, effectively disabling the router tree tab until the necessary framework APIs are developed.
This commit also cleans up the .bazelrc file in the devtools directory
… in devtools

Previously, we were using ngx-build-plus with a custom webpack config to determine the git SHA at runtime.

Now, after migrating to bazel and transfering to angular/angular, this commit uses ng-dev to stamp the latest git SHA directly in angular devtools' application environment.

This commit also removes the old webpack configs.
Previously angular devtools was using its own renovate configuration to keep up to date. After transfering to angular/angular, we can use the renovate configuration in angular/angular to update our dependencies. In an end state we would build devtools with local Angular packages.
Uses `cy.contains` as one command to optimize cypress' retry-ability mechanism

Affected tests are in:

`property-update.e2e.js` and `view-component-metadata.e2e.js`
Formats the entire devtools directory with the ng-dev formatting tool. Previously we relied on prettier, so this commit also remove prettier from devtools' dependencies.
Previously angular devtools was in its own repository and so it had some project files related to github workflows, vscode settings, prettier configurations, etc.

Now, after devtools has been transfered to angular/angular, these files are redundant, and so this commit removes them.
These keyword args are not needed because `ts_project` and `ng_ts_project` already default to the tsconfig at the root of the devtools directory.

This commit removes these key word args from places where tsconfig was used as a keyword arg with the root level tsconfig as the target.
…components

Removes MDC constants and unneeded angular package configs from packages.bzl.

Removes partial-compilation-integration from the karma web test tags because we don't perform any of partial compilation integration tests for devtools.
….bzl

Both of these comments were included accidentally after porting over bazel code from angular/angular and angular/components to devtools.

They are not relevant to devtools so this commit removes them.
Previously, camel case was used for bazel labels in the devtools directory. This commit changes these labels to snake case except in the case where the label is identical to the directory name that the BUILD file is in.
…move tasks in the test_angular_devtools job that installed test dependencies manually

This commit also disables cypress' video recording feature to save time on running Cypress tasks in CI.
This commit runs tslint --fix with the angular/angular tslint configuration on the files inside the devtools codebase.

Notably, the file-header rule in `tslint.json` was missing a default attribute. This commit adds that default attribute and sets it to the
license header that is present in all files in this repo. After running tslint --fix with this default added, this commit added the license header to all files in the devtools directory. Note for the reviewer: the automatically added license headers were added as comments with the "/*!" prefix. Since we want these comments removed in builds, and the rest of the codebase uses "/**", a simple find and replace was performed on the devtools directory to change these prefixes to "/**".
Previously a workaround patch was needed because rules_sass didn't support v4 of rules_nodejs. This commit updates rules_sass to a version that does and removes the patch.
…ses in the devtools directory

Previously the typescript override keyword was not on these methods. Now that devtools uses the tslint config in angular/angular (because of the no-implicit-override-abstract rule) we need to add these key words explicitly to method overrides. That is what this commit does.
…t bazel workspace

Previously devtools used a nested workspace for its bazel configurations. This meant framework dependencies were consumed via npm.

Now devtools is part of the root bazel directory that all other files in this codebase fall under. This allows us to build devtools using local angular packages, removing the need to consume these dependencies with npn. This is useful because we no longer have to update these dependencies with an automated tool like renovate, and our CI tests will always run against the most up to date framework packages.
Previously we were running Cypress in CI. Since cypress needs to be installed to run these tests, it was decided that we would not run devtools' cypress tests until a decision could be made on an e2e testing solution.

This commit removes all package scripts, dependencies, and CI commands that reference cypress. Notably it leaves the actual tests in the devtools directory intact, so that they can be referenced later once a decision is made.
Previously this list was not in any order. This commit puts the reviewer list in alphabetical order to be consistent with how other groups order reviewers
This file was carried over from the original angular devtools repo. Now that devtools has been merged into angular/angular, this file is no longer necessary, because the root of this repo has its own LICENSE file.
@josephperrott
Copy link
Member

This PR was merged into the repository by commit 8fb3aed.

@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Feb 26, 2022
josmar-crwdstffng pushed a commit to josmar-crwdstffng/angular that referenced this pull request Apr 8, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
action: merge The PR is ready for merge by the caretaker area: dev-infra Issues related to Angular's own dev infra (build, test, CI, releasing) cla: yes PullApprove: disable target: minor This PR is targeted for the next minor release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet