Skip to content

Commit

Permalink
refactor(devtools): merge rangle/angular-devtools into angular/angular
Browse files Browse the repository at this point in the history
This is a merge commit that acts at the only common child of commits from the rangle/angular-devtools codebase and the angular/angular codebase.

This commit was created as the result of running `git merge` with the `--allow-unrelated-histories` flag.
  • Loading branch information
AleksanderBodurri committed Jan 26, 2022
2 parents 112a6cd + 528f33d commit 8c04fa7
Show file tree
Hide file tree
Showing 509 changed files with 36,958 additions and 0 deletions.
16 changes: 16 additions & 0 deletions devtools/.bazelignore
@@ -0,0 +1,16 @@
# NB: sematics here are not the same as .gitignore
# see https://github.com/bazelbuild/bazel/issues/8106
.git
bazel-out

# **/symlinked_node_modules_yarn
node_modules
e2e/symlinked_node_modules_yarn/node_modules
e2e/symlinked_node_modules_npm/node_modules
packages/angular/node_modules
examples/angular/node_modules
examples/user_managed_deps/node_modules

# **/dist
dist
examples/user_managed_deps/dist
95 changes: 95 additions & 0 deletions devtools/.bazelrc
@@ -0,0 +1,95 @@
# Common Bazel settings for JavaScript/NodeJS workspaces
# This rc file is automatically discovered when Bazel is run in this workspace,
# see https://docs.bazel.build/versions/master/guide.html#bazelrc
#
# The full list of Bazel options: https://docs.bazel.build/versions/master/command-line-reference.html

# Cache action outputs on disk so they persist across output_base and bazel shutdown (eg. changing branches)
build --disk_cache=~/.cache/bazel-disk-cache

# Bazel picks up host-OS-specific config lines from bazelrc files
build --enable_platform_specific_config

# Bazel will create symlinks from the workspace directory to output artifacts.
# Build results will be placed in a directory called "dist/bin"
# Other directories will be created like "dist/testlogs"
# Be aware that this will still create a bazel-out symlink in
# your project directory, which you must exclude from version control and your
# editor's search path.
build --symlink_prefix=dist/
# To disable the symlinks altogether (including bazel-out) you can use
# build --symlink_prefix=/
# however this makes it harder to find outputs.

# Specifies desired output mode for running tests.
# Valid values are
# 'summary' to output only test status summary
# 'errors' to also print test logs for failed tests
# 'all' to print logs for all tests
# 'streamed' to output logs for all tests in real time
# (this will force tests to be executed locally one at a time regardless of --test_strategy value).
test --test_output=errors

# Support for debugging NodeJS tests
# Add the Bazel option `--config=debug` to enable this
# --test_output=streamed
# Stream stdout/stderr output from each test in real-time.
# See https://docs.bazel.build/versions/master/user-manual.html#flag--test_output for more details.
# --test_strategy=exclusive
# Run one test at a time.
# --test_timeout=9999
# Prevent long running tests from timing out
# See https://docs.bazel.build/versions/master/user-manual.html#flag--test_timeout for more details.
# --nocache_test_results
# Always run tests
# --node_options=--inspect-brk
# Pass the --inspect-brk option to all tests which enables the node inspector agent.
# See https://nodejs.org/de/docs/guides/debugging-getting-started/#command-line-options for more details.
# --define=VERBOSE_LOGS=1
# Rules will output verbose logs if the VERBOSE_LOGS environment variable is set. `VERBOSE_LOGS` will be passed to
# `nodejs_binary` and `nodejs_test` via the default value of the `default_env_vars` attribute of those rules.
# --compilation_mode=dbg
# Rules may change their build outputs if the compilation mode is set to dbg. For example,
# mininfiers such as terser may make their output more human readable when this is set. Rules will pass `COMPILATION_MODE`
# to `nodejs_binary` executables via the actions.run env attribute.
# See https://docs.bazel.build/versions/master/user-manual.html#flag--compilation_mode for more details.
test:debug --test_output=streamed --test_strategy=exclusive --test_timeout=9999 --nocache_test_results --define=VERBOSE_LOGS=1
# Use bazel run with `--config=debug` to turn on the NodeJS inspector agent.
# The node process will break before user code starts and wait for the debugger to connect.
run:debug --define=VERBOSE_LOGS=1 -- --node_options=--inspect-brk
# The following option will change the build output of certain rules such as terser and may not be desirable in all cases
build:debug --compilation_mode=dbg

# Turn off legacy external runfiles
# This prevents accidentally depending on this feature, which Bazel will remove.
build --nolegacy_external_runfiles

# Turn on --incompatible_strict_action_env which was on by default
# in Bazel 0.21.0 but turned off again in 0.22.0. Follow
# https://github.com/bazelbuild/bazel/issues/7026 for more details.
# This flag is needed to so that the bazel cache is not invalidated
# when running bazel via `yarn bazel`.
# See https://github.com/angular/angular/issues/27514.
build --incompatible_strict_action_env
run --incompatible_strict_action_env

# When running `bazel coverage` --instrument_test_targets needs to be set in order to
# collect coverage information from test targets
coverage --instrument_test_targets

# Load any settings specific to the current user.
# .bazelrc.user should appear in .gitignore so that settings are not shared with team members
# This needs to be last statement in this
# config, as the user configuration should be able to overwrite flags from this file.
# See https://docs.bazel.build/versions/master/best-practices.html#bazelrc
# (Note that we use .bazelrc.user so the file appears next to .bazelrc in directory listing,
# rather than user.bazelrc as suggested in the Bazel docs)
try-import %workspace%/.bazelrc.user


# Use the Angular Ivy compiler
# See https://github.com/angular/angular/blob/master/docs/BAZEL.md#various-flags-used-for-tests
build --define=angular_ivy_enabled=True

build --nobuild_runfile_links

1 change: 1 addition & 0 deletions devtools/.bazelversion
@@ -0,0 +1 @@
4.0.0
12 changes: 12 additions & 0 deletions devtools/.browserslistrc
@@ -0,0 +1,12 @@
# This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
# For additional information regarding the format and rule options, please see:
# https://github.com/browserslist/browserslist#queries

# You can see what browsers were selected by your queries by running:
# npx browserslist

> 0.5%
last 2 versions
Firefox ESR
not dead
not IE 9-11 # For IE 9-11 support, remove 'not'.
91 changes: 91 additions & 0 deletions devtools/.circleci/config.yml
@@ -0,0 +1,91 @@
version: 2.1
orbs:
cypress: cypress-io/cypress@1.29.0
executors:
node-and-browsers:
docker:
- image: cypress/browsers:node14.16.0-chrome89-ff86
environment:
- CHROME_BIN: /usr/bin/google-chrome
workflows:
test-and-build:
jobs:
- cypress/install:
name: Setup
yarn: true
executor: node-and-browsers
post-steps:
- run:
name: Run Linting
command: yarn lint
- run:
name: Run Unit Tests
command: yarn test:ci
- cypress/run:
name: 'E2E Tests - Chrome'
browser: chrome
executor: node-and-browsers
yarn: true
start: yarn start
wait-on: 'http://localhost:4200'
requires:
- Setup
post-steps:
- run:
name: Test Chrome Build
command: yarn build:chrome
# version: 2
# jobs:
# build:
# docker:
# # specify the version you desire here
# - image: circleci/node:14.15.1-browsers

# working_directory: ~/repo

# environment:
# - CHROME_BIN: /usr/bin/google-chrome
# - CYPRESS_CACHE_FOLDER: /home/circleci/.cache/Cypress

# steps:
# - checkout

# # Download and cache dependencies
# - restore_cache:
# keys:
# - v2-dependencies-{{ checksum "package.json" }}
# # fallback to using the latest cache if no exact match is found
# - v2-dependencies-

# - run: yarn install
# - run: yarn cy:verify

# - save_cache:
# paths:
# - node_modules
# - /home/circleci/.cache/Cypress
# key: v2-dependencies-{{ checksum "package.json" }}

# - run:
# name: 'Run linting'
# command: yarn lint
# # run tests!
# - run:
# name: 'Run Unit tests'
# command: yarn test:ci

# - run:
# name: 'Run Cypress tests'
# command: yarn cy:ci
# no_output_timeout: '10m'

# - run:
# name: 'Test Chrome Build'
# command: yarn build:chrome

# artifacts:
# when: always
# paths:
# - cypress/videos/**/*.mp4
# - cypress/screenshots/**/*.png
# expire_in: 1 day
13 changes: 13 additions & 0 deletions devtools/.editorconfig
@@ -0,0 +1,13 @@
# Editor configuration, see https://editorconfig.org
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
max_line_length = off
trim_trailing_whitespace = false
27 changes: 27 additions & 0 deletions devtools/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,27 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''
---

**Angular DevTools version (required)**:

**Angular version (required):**

**Link to a minimal stackblitz reproduction (strongly encouraged):**

_Description of issue:_

- Include (clipped) screenshot images if possible.

_Steps to reproduce:_

1.

2.

3.

_Additional details:_
15 changes: 15 additions & 0 deletions devtools/.github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,15 @@
---
name: Feature request
about: Create a feature request
title: ''
labels: feature
assignees: ''
---

**What feature do you want to see?**

**Why is it important to you?**

**Describe functionality in details. Apply mocks if applicable:**

_Additional details:_
55 changes: 55 additions & 0 deletions devtools/.gitignore
@@ -0,0 +1,55 @@
# See http://help.github.com/ignore-files/ for more about ignoring files.

# compiled output
/dist
/tmp
/out-tsc
# Only exists if Bazel was run
/bazel-out
/cypress/screenshots
/cypress/videos
# dependencies
/node_modules

# profiling files
chrome-profiler-events*.json
speed-measure-plugin*.json

# IDEs and editors
/.idea
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace

# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
.history/*

# misc
/.sass-cache
/connect.lock
/coverage
/libpeerconnection.log
npm-debug.log
yarn-error.log
testem.log
/typings

# System Files
.DS_Store
Thumbs.db
**/coverage/*

.angular

bazel-angular-devtools
bazel-bin
bazel-out/*
bazel-testlogs
1 change: 1 addition & 0 deletions devtools/.npmrc
@@ -0,0 +1 @@
scripts-prepend-node-path=true
6 changes: 6 additions & 0 deletions devtools/.prettierrc
@@ -0,0 +1,6 @@
{
"trailingComma": "es5",
"tabWidth": 2,
"singleQuote": true,
"printWidth": 120
}
3 changes: 3 additions & 0 deletions devtools/.vscode/settings.json
@@ -0,0 +1,3 @@
{
"prettier.singleQuote": true
}
29 changes: 29 additions & 0 deletions devtools/BUILD.bazel
@@ -0,0 +1,29 @@
load("@io_bazel_rules_webtesting//web:web.bzl", "custom_browser")
load("//tools:typescript.bzl", "ts_test_project")
load("@npm//@bazel/typescript:index.bzl", "ts_config")

package(default_visibility = ["//visibility:public"])

exports_files([
"tsconfig.json",
"cypress.json",
])

ts_test_project(
name = "initialize_testbed",
srcs = [
"initialize_testbed.ts",
],
deps = [
"@npm//@angular/core",
"@npm//@angular/platform-browser-dynamic",
],
)

ts_config(
name = "tsconfig-spec",
src = "tsconfig.spec.json",
deps = [
"//:tsconfig.json",
],
)
12 changes: 12 additions & 0 deletions devtools/CODE_OF_CONDUCT.md
@@ -0,0 +1,12 @@
# Contributor Code of Conduct
## Version 0.3b-angular

As contributors and maintainers of the Angular DevTools project, we pledge to respect everyone who contributes by posting issues, updating documentation, submitting pull requests, providing feedback in comments, and any other activities.

Communication through any of Angular's channels (GitHub, Gitter, IRC, mailing lists, Google+, Twitter, etc.) must be constructive and never resort to personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.

We promise to extend courtesy and respect to everyone involved in this project regardless of gender, gender identity, sexual orientation, disability, age, race, ethnicity, religion, or level of experience. We expect anyone contributing to the Angular DevTools project to do the same.

If any member of the community violates this code of conduct, the maintainers of the Angular DevTools project may take action, removing issues, comments, and PRs or blocking accounts as deemed appropriate.

If you are subject to or witness unacceptable behavior, or have any other concerns, please email us at [conduct@angular.io](mailto:conduct@angular.io).

0 comments on commit 8c04fa7

Please sign in to comment.