mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
build: migrate modules to use @rules_browsers protractor rules (#62345)
Use the protractor rules from `@rules_browsers` for the module directory. PR Close #62345
This commit is contained in:
@@ -5,9 +5,10 @@
|
||||
.pnpmfile.cjs=-2033668682
|
||||
adev/shared-docs/pipeline/api-gen/package.json=939673974
|
||||
integration/package.json=-239561259
|
||||
modules/package.json=-96320287
|
||||
modules/package.json=289846610
|
||||
package.json=1802317128
|
||||
packages/animations/package.json=-678724831
|
||||
packages/benchpress/package.json=2057929145
|
||||
packages/common/package.json=1729763064
|
||||
packages/compiler-cli/linker/babel/test/package.json=939673974
|
||||
packages/compiler-cli/package.json=-660047565
|
||||
@@ -21,7 +22,7 @@ packages/platform-browser/package.json=-1163479450
|
||||
packages/router/package.json=860819913
|
||||
packages/upgrade/package.json=16347051
|
||||
packages/zone.js/package.json=-1005735564
|
||||
pnpm-lock.yaml=1632724996
|
||||
pnpm-workspace.yaml=1973735808
|
||||
pnpm-lock.yaml=-69100466
|
||||
pnpm-workspace.yaml=-375658197
|
||||
tools/bazel/rules_angular_store/package.json=-239561259
|
||||
yarn.lock=684174595
|
||||
|
||||
@@ -57,4 +57,5 @@ packages/platform-browser-dynamic/node_modules
|
||||
packages/router/node_modules
|
||||
packages/zone.js/node_modules
|
||||
packages/upgrade/node_modules
|
||||
packages/benchpress/node_modules
|
||||
tools/bazel/rules_angular_store/node_modules
|
||||
|
||||
@@ -113,6 +113,7 @@ npm_translate_lock(
|
||||
"//integration:package.json",
|
||||
"//modules:package.json",
|
||||
"//packages/animations:package.json",
|
||||
"//packages/benchpress:package.json",
|
||||
"//packages/common:package.json",
|
||||
"//packages/compiler:package.json",
|
||||
"//packages/compiler-cli:package.json",
|
||||
@@ -309,7 +310,7 @@ rules_angular_step3(
|
||||
|
||||
git_repository(
|
||||
name = "rules_browsers",
|
||||
commit = "0952071cdc67acf1124c20c32a9b7e2e85da0aa3",
|
||||
commit = "06b02f8968c754ab93539cd9191243bdc445e390",
|
||||
remote = "https://github.com/devversion/rules_browsers.git",
|
||||
)
|
||||
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
load("@devinfra//bazel/spec-bundling:index_rjs.bzl", "spec_bundle")
|
||||
load("@rules_browsers//src/protractor_test:index.bzl", "protractor_test")
|
||||
|
||||
"""
|
||||
Macro that can be used to define a e2e test in `modules/benchmarks`. Targets created through
|
||||
this macro differentiate from a "benchmark_test" as they will run on CI and do not run
|
||||
with `@angular/benchpress`.
|
||||
"""
|
||||
|
||||
def benchmark_test(name, deps = [], server = None, tags = []):
|
||||
spec_bundle(
|
||||
name = "%s_bundle" % name,
|
||||
testonly = True,
|
||||
srcs = ["//modules/benchmarks:tsconfig_e2e"],
|
||||
deps = deps,
|
||||
tags = [
|
||||
"manual",
|
||||
],
|
||||
config = {
|
||||
"resolveExtensions": [".js", ".mjs"],
|
||||
"tsconfig": "./modules/benchmarks/tsconfig-e2e.json",
|
||||
},
|
||||
external = ["protractor", "selenium-webdriver"],
|
||||
)
|
||||
|
||||
protractor_test(
|
||||
name = name,
|
||||
deps = [":%s_bundle" % name],
|
||||
server = server,
|
||||
enable_perf_logging = True,
|
||||
# Benchmark targets should not run on CI by default.
|
||||
tags = tags + [
|
||||
"benchmark-test",
|
||||
"manual",
|
||||
"no-remote-exec",
|
||||
],
|
||||
data = [
|
||||
"//modules:node_modules/@angular/benchpress",
|
||||
"//:node_modules/tslib",
|
||||
"//modules:node_modules/protractor",
|
||||
"//modules:node_modules/selenium-webdriver",
|
||||
],
|
||||
)
|
||||
@@ -1,4 +1,5 @@
|
||||
load("//tools:defaults.bzl", "protractor_web_test_suite")
|
||||
load("@devinfra//bazel/spec-bundling:index_rjs.bzl", "spec_bundle")
|
||||
load("@rules_browsers//src/protractor_test:index.bzl", "protractor_test")
|
||||
|
||||
"""
|
||||
Macro that can be used to define a e2e test in `modules/benchmarks`. Targets created through
|
||||
@@ -6,10 +7,28 @@ load("//tools:defaults.bzl", "protractor_web_test_suite")
|
||||
with `@angular/benchpress`.
|
||||
"""
|
||||
|
||||
def e2e_test(name, server, **kwargs):
|
||||
protractor_web_test_suite(
|
||||
name = name,
|
||||
on_prepare = "@npm//@angular/build-tooling/bazel/benchmark/component_benchmark:start-server.js",
|
||||
server = server,
|
||||
**kwargs
|
||||
def e2e_test(name, deps = [], server = None):
|
||||
spec_bundle(
|
||||
name = "%s_bundle" % name,
|
||||
testonly = True,
|
||||
srcs = ["//modules/benchmarks:tsconfig_e2e"],
|
||||
deps = deps,
|
||||
tags = [
|
||||
"manual",
|
||||
],
|
||||
config = {
|
||||
"resolveExtensions": [".js", ".mjs"],
|
||||
"tsconfig": "./modules/benchmarks/tsconfig-e2e.json",
|
||||
},
|
||||
external = ["protractor", "selenium-webdriver"],
|
||||
)
|
||||
|
||||
protractor_test(
|
||||
name = name,
|
||||
deps = [":%s_bundle" % name],
|
||||
server = server,
|
||||
data = [
|
||||
"//:node_modules/protractor",
|
||||
"//:node_modules/selenium-webdriver",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -13,12 +13,10 @@ ts_project(
|
||||
name = "perf_tests_lib",
|
||||
testonly = 1,
|
||||
srcs = ["change_detection.perf-spec.ts"],
|
||||
interop_deps = [
|
||||
"@npm//@angular/build-tooling/bazel/benchmark/driver-utilities",
|
||||
],
|
||||
tsconfig = "//modules/benchmarks:tsconfig_e2e",
|
||||
deps = [
|
||||
"//:node_modules/protractor",
|
||||
"//modules/utilities:utilities_rjs",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -26,11 +24,9 @@ ts_project(
|
||||
name = "e2e_tests_lib",
|
||||
testonly = 1,
|
||||
srcs = ["change_detection.e2e-spec.ts"],
|
||||
interop_deps = [
|
||||
"@npm//@angular/build-tooling/bazel/benchmark/driver-utilities",
|
||||
],
|
||||
tsconfig = "//modules/benchmarks:tsconfig_e2e",
|
||||
deps = [
|
||||
"//:node_modules/protractor",
|
||||
"//modules/utilities:utilities_rjs",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -6,10 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {
|
||||
openBrowser,
|
||||
verifyNoBrowserErrors,
|
||||
} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {openBrowser, verifyNoBrowserErrors} from '../../../utilities/index';
|
||||
import {$} from 'protractor';
|
||||
|
||||
describe('change detection benchmark', () => {
|
||||
|
||||
@@ -6,10 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {
|
||||
runBenchmark,
|
||||
verifyNoBrowserErrors,
|
||||
} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {runBenchmark, verifyNoBrowserErrors} from '../../../utilities/index';
|
||||
import {$} from 'protractor';
|
||||
|
||||
interface Worker {
|
||||
@@ -45,7 +42,7 @@ const AllComponentsDirtyWorker: Worker = {
|
||||
// name. We determine the name of the Bazel package where this test runs from the current test
|
||||
// target. The Bazel target
|
||||
// looks like: "//modules/benchmarks/src/change_detection/{pkg_name}:{target_name}".
|
||||
const testPackageName = process.env['BAZEL_TARGET']!.split(':')[0].split('/').pop();
|
||||
const testPackageName = process.env['JS_BINARY__TARGET']!.split(':')[0].split('/').pop();
|
||||
|
||||
describe('change detection benchmark perf', () => {
|
||||
afterEach(verifyNoBrowserErrors);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@npm//@angular/build-tooling/bazel/benchmark/component_benchmark:benchmark_test.bzl", "benchmark_test")
|
||||
load("@rules_angular//src/optimization:index.bzl", "optimize_angular_app")
|
||||
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
|
||||
load("//modules/benchmarks:e2e_test.bzl", "e2e_test")
|
||||
load("//tools:defaults.bzl", "http_server")
|
||||
|
||||
@@ -47,11 +47,11 @@ http_server(
|
||||
benchmark_test(
|
||||
name = "perf",
|
||||
server = ":prodserver",
|
||||
deps = ["//modules/benchmarks/src/change_detection:perf_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/change_detection:perf_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
e2e_test(
|
||||
name = "e2e",
|
||||
server = ":prodserver",
|
||||
deps = ["//modules/benchmarks/src/change_detection:e2e_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/change_detection:e2e_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {runBenchmark} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {runBenchmark} from '../../../utilities/index';
|
||||
import {$, browser} from 'protractor';
|
||||
|
||||
describe('class bindings perf', () => {
|
||||
|
||||
@@ -19,12 +19,10 @@ ts_project(
|
||||
name = "perf_tests_lib",
|
||||
testonly = 1,
|
||||
srcs = ["defer.perf-spec.ts"],
|
||||
interop_deps = [
|
||||
"@npm//@angular/build-tooling/bazel/benchmark/driver-utilities",
|
||||
],
|
||||
tsconfig = "//modules/benchmarks:tsconfig_e2e",
|
||||
deps = [
|
||||
"//:node_modules/protractor",
|
||||
"//modules/utilities:utilities_rjs",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -32,11 +30,9 @@ ts_project(
|
||||
name = "e2e_tests_lib",
|
||||
testonly = 1,
|
||||
srcs = ["defer.e2e-spec.ts"],
|
||||
interop_deps = [
|
||||
"@npm//@angular/build-tooling/bazel/benchmark/driver-utilities",
|
||||
],
|
||||
tsconfig = "//modules/benchmarks:tsconfig_e2e",
|
||||
deps = [
|
||||
"//:node_modules/protractor",
|
||||
"//modules/utilities:utilities_rjs",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@npm//@angular/build-tooling/bazel/benchmark/component_benchmark:benchmark_test.bzl", "benchmark_test")
|
||||
load("@rules_angular//src/optimization:index.bzl", "optimize_angular_app")
|
||||
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
|
||||
load("//modules/benchmarks:e2e_test.bzl", "e2e_test")
|
||||
load("//tools:defaults.bzl", "http_server")
|
||||
|
||||
@@ -46,11 +46,11 @@ http_server(
|
||||
benchmark_test(
|
||||
name = "perf",
|
||||
server = ":prodserver",
|
||||
deps = ["//modules/benchmarks/src/defer:perf_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/defer:perf_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
e2e_test(
|
||||
name = "e2e",
|
||||
server = ":prodserver",
|
||||
deps = ["//modules/benchmarks/src/defer:e2e_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/defer:e2e_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
@@ -6,10 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {
|
||||
openBrowser,
|
||||
verifyNoBrowserErrors,
|
||||
} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {openBrowser, verifyNoBrowserErrors} from '../../../utilities/index';
|
||||
import {$} from 'protractor';
|
||||
|
||||
describe('defer benchmark', () => {
|
||||
|
||||
@@ -6,10 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {
|
||||
runBenchmark,
|
||||
verifyNoBrowserErrors,
|
||||
} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {runBenchmark, verifyNoBrowserErrors} from '../../../utilities/index';
|
||||
import {$} from 'protractor';
|
||||
|
||||
interface Worker {
|
||||
@@ -38,7 +35,7 @@ const UpdateWorker: Worker = {
|
||||
// name. e.g. "largeTable.ng2_switch.createDestroy". We determine the name of the
|
||||
// Bazel package where this test runs from the current test target. The Bazel target
|
||||
// looks like: "//modules/benchmarks/src/largetable/{pkg_name}:{target_name}".
|
||||
const testPackageName = process.env['BAZEL_TARGET']!.split(':')[0].split('/').pop();
|
||||
const testPackageName = process.env['JS_BINARY__TARGET']!.split(':')[0].split('/').pop();
|
||||
|
||||
describe('defer benchmark perf', () => {
|
||||
afterEach(verifyNoBrowserErrors);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@npm//@angular/build-tooling/bazel/benchmark/component_benchmark:benchmark_test.bzl", "benchmark_test")
|
||||
load("@rules_angular//src/optimization:index.bzl", "optimize_angular_app")
|
||||
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
|
||||
load("//modules/benchmarks:e2e_test.bzl", "e2e_test")
|
||||
load("//tools:defaults.bzl", "http_server")
|
||||
|
||||
@@ -46,11 +46,11 @@ http_server(
|
||||
benchmark_test(
|
||||
name = "perf",
|
||||
server = ":prodserver",
|
||||
deps = ["//modules/benchmarks/src/defer:perf_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/defer:perf_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
e2e_test(
|
||||
name = "e2e",
|
||||
server = ":prodserver",
|
||||
deps = ["//modules/benchmarks/src/defer:e2e_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/defer:e2e_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@npm//@angular/build-tooling/bazel/benchmark/component_benchmark:benchmark_test.bzl", "benchmark_test")
|
||||
load("@rules_angular//src/optimization:index.bzl", "optimize_angular_app")
|
||||
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
|
||||
load("//tools:defaults.bzl", "http_server")
|
||||
load("//tools:defaults2.bzl", "ts_project")
|
||||
|
||||
@@ -36,12 +36,10 @@ ts_project(
|
||||
name = "perf_lib",
|
||||
testonly = 1,
|
||||
srcs = ["expanding_rows.perf-spec.ts"],
|
||||
interop_deps = [
|
||||
"@npm//@angular/build-tooling/bazel/benchmark/driver-utilities",
|
||||
],
|
||||
tsconfig = "//modules/benchmarks:tsconfig_e2e",
|
||||
deps = [
|
||||
"//:node_modules/protractor",
|
||||
"//modules/utilities:utilities_rjs",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -58,6 +56,6 @@ benchmark_test(
|
||||
name = "perf",
|
||||
server = ":prodserver",
|
||||
deps = [
|
||||
":perf_lib",
|
||||
":perf_lib_rjs",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {runBenchmark} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {runBenchmark} from '../../../utilities/index';
|
||||
import {$, browser} from 'protractor';
|
||||
|
||||
describe('benchmarks', () => {
|
||||
|
||||
@@ -23,12 +23,10 @@ ts_project(
|
||||
name = "perf_tests_lib",
|
||||
testonly = 1,
|
||||
srcs = ["hydration.perf-spec.ts"],
|
||||
interop_deps = [
|
||||
"@npm//@angular/build-tooling/bazel/benchmark/driver-utilities",
|
||||
],
|
||||
tsconfig = "//modules/benchmarks:tsconfig_e2e",
|
||||
deps = [
|
||||
"//:node_modules/protractor",
|
||||
"//modules/utilities:utilities_rjs",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -36,11 +34,9 @@ ts_project(
|
||||
name = "e2e_tests_lib",
|
||||
testonly = 1,
|
||||
srcs = ["hydration.e2e-spec.ts"],
|
||||
interop_deps = [
|
||||
"@npm//@angular/build-tooling/bazel/benchmark/driver-utilities",
|
||||
],
|
||||
tsconfig = "//modules/benchmarks:tsconfig_e2e",
|
||||
deps = [
|
||||
"//:node_modules/protractor",
|
||||
"//modules/utilities:utilities_rjs",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@npm//@angular/build-tooling/bazel/benchmark/component_benchmark:benchmark_test.bzl", "benchmark_test")
|
||||
load("@rules_angular//src/optimization:index.bzl", "optimize_angular_app")
|
||||
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
|
||||
load("//modules/benchmarks:e2e_test.bzl", "e2e_test")
|
||||
load("//tools:defaults.bzl", "http_server")
|
||||
|
||||
@@ -44,11 +44,11 @@ http_server(
|
||||
benchmark_test(
|
||||
name = "perf",
|
||||
server = ":prodserver",
|
||||
deps = ["//modules/benchmarks/src/hydration:perf_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/hydration:perf_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
e2e_test(
|
||||
name = "e2e",
|
||||
server = ":prodserver",
|
||||
deps = ["//modules/benchmarks/src/hydration:e2e_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/hydration:e2e_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
@@ -6,10 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {
|
||||
openBrowser,
|
||||
verifyNoBrowserErrors,
|
||||
} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {openBrowser, verifyNoBrowserErrors} from '../../../utilities/index';
|
||||
import {$} from 'protractor';
|
||||
|
||||
describe('hydration benchmark', () => {
|
||||
|
||||
@@ -6,10 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {
|
||||
runBenchmark,
|
||||
verifyNoBrowserErrors,
|
||||
} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {runBenchmark, verifyNoBrowserErrors} from '../../../utilities/index';
|
||||
import {$} from 'protractor';
|
||||
|
||||
interface Worker {
|
||||
@@ -39,7 +36,7 @@ const UpdateWorker: Worker = {
|
||||
// name. e.g. "largeTable.ng2_switch.createDestroy". We determine the name of the
|
||||
// Bazel package where this test runs from the current test target. The Bazel target
|
||||
// looks like: "//modules/benchmarks/src/largetable/{pkg_name}:{target_name}".
|
||||
const testPackageName = process.env['BAZEL_TARGET']!.split(':')[0].split('/').pop();
|
||||
const testPackageName = process.env['JS_BINARY__TARGET']!.split(':')[0].split('/').pop();
|
||||
|
||||
describe('hydration benchmark perf', () => {
|
||||
afterEach(verifyNoBrowserErrors);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@npm//@angular/build-tooling/bazel/benchmark/component_benchmark:benchmark_test.bzl", "benchmark_test")
|
||||
load("@rules_angular//src/optimization:index.bzl", "optimize_angular_app")
|
||||
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
|
||||
load("//modules/benchmarks:e2e_test.bzl", "e2e_test")
|
||||
load("//tools:defaults.bzl", "http_server")
|
||||
|
||||
@@ -44,11 +44,11 @@ http_server(
|
||||
benchmark_test(
|
||||
name = "perf",
|
||||
server = ":prodserver",
|
||||
deps = ["//modules/benchmarks/src/hydration:perf_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/hydration:perf_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
e2e_test(
|
||||
name = "e2e",
|
||||
server = ":prodserver",
|
||||
deps = ["//modules/benchmarks/src/hydration:e2e_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/hydration:e2e_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
@@ -6,11 +6,9 @@ ts_project(
|
||||
name = "perf_lib",
|
||||
testonly = True,
|
||||
srcs = ["js-web-frameworks.perf-spec.ts"],
|
||||
interop_deps = [
|
||||
"@npm//@angular/build-tooling/bazel/benchmark/driver-utilities",
|
||||
],
|
||||
tsconfig = "//modules/benchmarks:tsconfig_e2e",
|
||||
deps = [
|
||||
"//:node_modules/protractor",
|
||||
"//modules/utilities:utilities_rjs",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -6,10 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {
|
||||
runBenchmark,
|
||||
verifyNoBrowserErrors,
|
||||
} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {runBenchmark, verifyNoBrowserErrors} from '../../../utilities/index';
|
||||
import {$} from 'protractor';
|
||||
|
||||
interface Worker {
|
||||
@@ -62,7 +59,7 @@ const SwapWorker: Worker = {
|
||||
// name. e.g. "largeTable.ng2_switch.createDestroy". We determine the name of the
|
||||
// Bazel package where this test runs from the current test target. The Bazel target
|
||||
// looks like: "//modules/benchmarks/src/largetable/{pkg_name}:{target_name}".
|
||||
const testPackageName = process.env['BAZEL_TARGET']!.split(':')[0].split('/').pop();
|
||||
const testPackageName = process.env['JS_BINARY__TARGET']!.split(':')[0].split('/').pop();
|
||||
|
||||
describe('js-web-frameworks benchmark perf', () => {
|
||||
afterEach(verifyNoBrowserErrors);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@npm//@angular/build-tooling/bazel/benchmark/component_benchmark:benchmark_test.bzl", "benchmark_test")
|
||||
load("@rules_angular//src/optimization:index.bzl", "optimize_angular_app")
|
||||
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
|
||||
load("//tools:defaults.bzl", "http_server")
|
||||
|
||||
package(default_visibility = ["//modules/benchmarks:__subpackages__"])
|
||||
@@ -41,5 +41,5 @@ http_server(
|
||||
benchmark_test(
|
||||
name = "perf",
|
||||
server = ":prodserver",
|
||||
deps = ["//modules/benchmarks/src/js-web-frameworks:perf_lib"],
|
||||
deps = ["//modules/benchmarks/src/js-web-frameworks:perf_lib_rjs"],
|
||||
)
|
||||
|
||||
@@ -6,12 +6,10 @@ ts_project(
|
||||
name = "perf_tests_lib",
|
||||
testonly = 1,
|
||||
srcs = ["largeform.perf-spec.ts"],
|
||||
interop_deps = [
|
||||
"@npm//@angular/build-tooling/bazel/benchmark/driver-utilities",
|
||||
],
|
||||
tsconfig = "//modules/benchmarks:tsconfig_e2e",
|
||||
deps = [
|
||||
"//:node_modules/protractor",
|
||||
"//modules/utilities:utilities_rjs",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -19,11 +17,9 @@ ts_project(
|
||||
name = "e2e_tests_lib",
|
||||
testonly = 1,
|
||||
srcs = ["largeform.e2e-spec.ts"],
|
||||
interop_deps = [
|
||||
"@npm//@angular/build-tooling/bazel/benchmark/driver-utilities",
|
||||
],
|
||||
tsconfig = "//modules/benchmarks:tsconfig_e2e",
|
||||
deps = [
|
||||
"//:node_modules/protractor",
|
||||
"//modules/utilities:utilities_rjs",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -6,10 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {
|
||||
openBrowser,
|
||||
verifyNoBrowserErrors,
|
||||
} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {openBrowser, verifyNoBrowserErrors} from '../../../utilities/index';
|
||||
import {$, By, element} from 'protractor';
|
||||
|
||||
describe('largeform benchmark', () => {
|
||||
|
||||
@@ -6,10 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {
|
||||
runBenchmark,
|
||||
verifyNoBrowserErrors,
|
||||
} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {runBenchmark, verifyNoBrowserErrors} from '../../../utilities/index';
|
||||
import {$} from 'protractor';
|
||||
|
||||
interface Worker {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@npm//@angular/build-tooling/bazel/benchmark/component_benchmark:benchmark_test.bzl", "benchmark_test")
|
||||
load("@rules_angular//src/optimization:index.bzl", "optimize_angular_app")
|
||||
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
|
||||
load("//modules/benchmarks:e2e_test.bzl", "e2e_test")
|
||||
load("//tools:defaults.bzl", "http_server")
|
||||
|
||||
@@ -46,11 +46,11 @@ http_server(
|
||||
benchmark_test(
|
||||
name = "perf",
|
||||
server = ":devserver",
|
||||
deps = ["//modules/benchmarks/src/largeform:perf_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/largeform:perf_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
e2e_test(
|
||||
name = "e2e",
|
||||
server = ":devserver",
|
||||
deps = ["//modules/benchmarks/src/largeform:e2e_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/largeform:e2e_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
@@ -5,7 +5,7 @@ package(default_visibility = ["//visibility:public"])
|
||||
ts_project(
|
||||
name = "util_lib",
|
||||
srcs = ["util.ts"],
|
||||
tsconfig = "//modules/benchmarks:tsconfig_e2e",
|
||||
tsconfig = "//modules/benchmarks:tsconfig_build",
|
||||
deps = ["//modules/benchmarks/src:util_lib_rjs"],
|
||||
)
|
||||
|
||||
@@ -13,12 +13,10 @@ ts_project(
|
||||
name = "perf_tests_lib",
|
||||
testonly = 1,
|
||||
srcs = ["largetable.perf-spec.ts"],
|
||||
interop_deps = [
|
||||
"@npm//@angular/build-tooling/bazel/benchmark/driver-utilities",
|
||||
],
|
||||
tsconfig = "//modules/benchmarks:tsconfig_e2e",
|
||||
deps = [
|
||||
"//:node_modules/protractor",
|
||||
"//modules/utilities:utilities_rjs",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -26,11 +24,9 @@ ts_project(
|
||||
name = "e2e_tests_lib",
|
||||
testonly = 1,
|
||||
srcs = ["largetable.e2e-spec.ts"],
|
||||
interop_deps = [
|
||||
"@npm//@angular/build-tooling/bazel/benchmark/driver-utilities",
|
||||
],
|
||||
tsconfig = "//modules/benchmarks:tsconfig_e2e",
|
||||
deps = [
|
||||
"//:node_modules/protractor",
|
||||
"//modules/utilities:utilities_rjs",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@npm//@angular/build-tooling/bazel/benchmark/component_benchmark:benchmark_test.bzl", "benchmark_test")
|
||||
load("@rules_angular//src/optimization:index.bzl", "optimize_angular_app")
|
||||
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
|
||||
load("//modules/benchmarks:e2e_test.bzl", "e2e_test")
|
||||
load("//tools:defaults.bzl", "http_server")
|
||||
|
||||
@@ -41,11 +41,11 @@ http_server(
|
||||
benchmark_test(
|
||||
name = "perf",
|
||||
server = ":devserver",
|
||||
deps = ["//modules/benchmarks/src/largetable:perf_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/largetable:perf_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
e2e_test(
|
||||
name = "e2e",
|
||||
server = ":devserver",
|
||||
deps = ["//modules/benchmarks/src/largetable:e2e_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/largetable:e2e_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
@@ -6,10 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {
|
||||
openBrowser,
|
||||
verifyNoBrowserErrors,
|
||||
} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {openBrowser, verifyNoBrowserErrors} from '../../../utilities/index';
|
||||
import {$} from 'protractor';
|
||||
|
||||
describe('largetable benchmark', () => {
|
||||
|
||||
@@ -6,10 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {
|
||||
runBenchmark,
|
||||
verifyNoBrowserErrors,
|
||||
} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {runBenchmark, verifyNoBrowserErrors} from '../../../utilities/index';
|
||||
import {$} from 'protractor';
|
||||
|
||||
interface Worker {
|
||||
@@ -43,7 +40,7 @@ const UpdateWorker: Worker = {
|
||||
// name. e.g. "largeTable.ng2_switch.createDestroy". We determine the name of the
|
||||
// Bazel package where this test runs from the current test target. The Bazel target
|
||||
// looks like: "//modules/benchmarks/src/largetable/{pkg_name}:{target_name}".
|
||||
const testPackageName = process.env['BAZEL_TARGET']!.split(':')[0].split('/').pop();
|
||||
const testPackageName = process.env['JS_BINARY__TARGET']!.split(':')[1].split('/').pop();
|
||||
|
||||
describe('largetable benchmark perf', () => {
|
||||
afterEach(verifyNoBrowserErrors);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@npm//@angular/build-tooling/bazel/benchmark/component_benchmark:benchmark_test.bzl", "benchmark_test")
|
||||
load("@rules_angular//src/optimization:index.bzl", "optimize_angular_app")
|
||||
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
|
||||
load("//modules/benchmarks:e2e_test.bzl", "e2e_test")
|
||||
load("//tools:defaults.bzl", "http_server")
|
||||
|
||||
@@ -47,11 +47,11 @@ http_server(
|
||||
benchmark_test(
|
||||
name = "perf",
|
||||
server = ":prodserver",
|
||||
deps = ["//modules/benchmarks/src/largetable:perf_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/largetable:perf_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
e2e_test(
|
||||
name = "e2e",
|
||||
server = ":prodserver",
|
||||
deps = ["//modules/benchmarks/src/largetable:e2e_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/largetable:e2e_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@npm//@angular/build-tooling/bazel/benchmark/component_benchmark:benchmark_test.bzl", "benchmark_test")
|
||||
load("@rules_angular//src/optimization:index.bzl", "optimize_angular_app")
|
||||
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
|
||||
load("//modules/benchmarks:e2e_test.bzl", "e2e_test")
|
||||
load("//tools:defaults.bzl", "http_server")
|
||||
|
||||
@@ -44,11 +44,11 @@ http_server(
|
||||
benchmark_test(
|
||||
name = "perf",
|
||||
server = ":devserver",
|
||||
deps = ["//modules/benchmarks/src/largetable:perf_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/largetable:perf_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
e2e_test(
|
||||
name = "e2e",
|
||||
server = ":devserver",
|
||||
deps = ["//modules/benchmarks/src/largetable:e2e_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/largetable:e2e_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
@@ -6,11 +6,9 @@ ts_project(
|
||||
name = "perf_lib",
|
||||
testonly = True,
|
||||
srcs = ["ng_template_outlet_context.perf-spec.ts"],
|
||||
interop_deps = [
|
||||
"@npm//@angular/build-tooling/bazel/benchmark/driver-utilities",
|
||||
],
|
||||
tsconfig = "//modules/benchmarks:tsconfig_e2e",
|
||||
deps = [
|
||||
"//:node_modules/protractor",
|
||||
"//modules/utilities:utilities_rjs",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@npm//@angular/build-tooling/bazel/benchmark/component_benchmark:benchmark_test.bzl", "benchmark_test")
|
||||
load("@rules_angular//src/optimization:index.bzl", "optimize_angular_app")
|
||||
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
|
||||
load("//tools:defaults.bzl", "http_server")
|
||||
|
||||
package(default_visibility = ["//modules/benchmarks:__subpackages__"])
|
||||
@@ -41,5 +41,5 @@ http_server(
|
||||
benchmark_test(
|
||||
name = "perf",
|
||||
server = ":prodserver",
|
||||
deps = ["//modules/benchmarks/src/ng_template_outlet_context:perf_lib"],
|
||||
deps = ["//modules/benchmarks/src/ng_template_outlet_context:perf_lib_rjs"],
|
||||
)
|
||||
|
||||
+1
-4
@@ -6,10 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {
|
||||
runBenchmark,
|
||||
verifyNoBrowserErrors,
|
||||
} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {runBenchmark, verifyNoBrowserErrors} from '../../../utilities/index';
|
||||
import {$} from 'protractor';
|
||||
|
||||
interface Worker {
|
||||
|
||||
@@ -6,11 +6,9 @@ ts_project(
|
||||
name = "tests_lib",
|
||||
testonly = True,
|
||||
srcs = ["styling_perf.spec.ts"],
|
||||
interop_deps = [
|
||||
"@npm//@angular/build-tooling/bazel/benchmark/driver-utilities",
|
||||
],
|
||||
tsconfig = "//modules/benchmarks:tsconfig_e2e",
|
||||
deps = [
|
||||
"//:node_modules/protractor",
|
||||
"//modules/utilities:utilities_rjs",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@npm//@angular/build-tooling/bazel/benchmark/component_benchmark:benchmark_test.bzl", "benchmark_test")
|
||||
load("@rules_angular//src/optimization:index.bzl", "optimize_angular_app")
|
||||
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
|
||||
load("//tools:defaults.bzl", "http_server")
|
||||
|
||||
package(default_visibility = ["//modules/benchmarks:__subpackages__"])
|
||||
@@ -42,5 +42,5 @@ http_server(
|
||||
benchmark_test(
|
||||
name = "perf",
|
||||
server = ":prodserver",
|
||||
deps = ["//modules/benchmarks/src/styling:tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/styling:tests_lib_rjs"],
|
||||
)
|
||||
|
||||
@@ -6,11 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {
|
||||
openBrowser,
|
||||
runBenchmark,
|
||||
verifyNoBrowserErrors,
|
||||
} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {openBrowser, runBenchmark, verifyNoBrowserErrors} from '../../../utilities/index';
|
||||
import {$, by, element} from 'protractor';
|
||||
|
||||
/** List of possible scenarios that should be tested. */
|
||||
|
||||
@@ -13,12 +13,10 @@ ts_project(
|
||||
name = "test_utils_lib",
|
||||
testonly = 1,
|
||||
srcs = ["test_utils.ts"],
|
||||
interop_deps = [
|
||||
"@npm//@angular/build-tooling/bazel/benchmark/driver-utilities",
|
||||
],
|
||||
tsconfig = "//modules/benchmarks:tsconfig_e2e",
|
||||
deps = [
|
||||
"//:node_modules/protractor",
|
||||
"//modules/utilities:utilities_rjs",
|
||||
],
|
||||
)
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@npm//@angular/build-tooling/bazel/benchmark/component_benchmark:benchmark_test.bzl", "benchmark_test")
|
||||
load("@rules_angular//src/optimization:index.bzl", "optimize_angular_app")
|
||||
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
|
||||
load("//modules/benchmarks:e2e_test.bzl", "e2e_test")
|
||||
load("//tools:defaults.bzl", "http_server")
|
||||
|
||||
@@ -41,11 +41,11 @@ http_server(
|
||||
benchmark_test(
|
||||
name = "perf",
|
||||
server = ":devserver",
|
||||
deps = ["//modules/benchmarks/src/tree:perf_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/tree:perf_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
e2e_test(
|
||||
name = "e2e",
|
||||
server = ":devserver",
|
||||
deps = ["//modules/benchmarks/src/tree:e2e_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/tree:e2e_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@npm//@angular/build-tooling/bazel/benchmark/component_benchmark:benchmark_test.bzl", "benchmark_test")
|
||||
load("@rules_angular//src/optimization:index.bzl", "optimize_angular_app")
|
||||
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
|
||||
load("//modules/benchmarks:e2e_test.bzl", "e2e_test")
|
||||
load("//tools:defaults.bzl", "http_server")
|
||||
|
||||
@@ -48,8 +48,8 @@ benchmark_test(
|
||||
name = "perf",
|
||||
server = ":prodserver",
|
||||
deps = [
|
||||
"//modules/benchmarks/src/tree:detect_changes_perf_tests_lib",
|
||||
"//modules/benchmarks/src/tree:perf_tests_lib",
|
||||
"//modules/benchmarks/src/tree:detect_changes_perf_tests_lib_rjs",
|
||||
"//modules/benchmarks/src/tree:perf_tests_lib_rjs",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -57,7 +57,7 @@ e2e_test(
|
||||
name = "e2e",
|
||||
server = ":prodserver",
|
||||
deps = [
|
||||
"//modules/benchmarks/src/tree:detect_changes_e2e_tests_lib",
|
||||
"//modules/benchmarks/src/tree:e2e_tests_lib",
|
||||
"//modules/benchmarks/src/tree:detect_changes_e2e_tests_lib_rjs",
|
||||
"//modules/benchmarks/src/tree:e2e_tests_lib_rjs",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@npm//@angular/build-tooling/bazel/benchmark/component_benchmark:benchmark_test.bzl", "benchmark_test")
|
||||
load("@rules_angular//src/optimization:index.bzl", "optimize_angular_app")
|
||||
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
|
||||
load("//modules/benchmarks:e2e_test.bzl", "e2e_test")
|
||||
load("//tools:defaults.bzl", "http_server")
|
||||
|
||||
@@ -53,11 +53,11 @@ http_server(
|
||||
benchmark_test(
|
||||
name = "perf",
|
||||
server = ":devserver",
|
||||
deps = ["//modules/benchmarks/src/tree:perf_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/tree:perf_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
e2e_test(
|
||||
name = "e2e",
|
||||
server = ":devserver",
|
||||
deps = ["//modules/benchmarks/src/tree:e2e_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/tree:e2e_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@npm//@angular/build-tooling/bazel/benchmark/component_benchmark:benchmark_test.bzl", "benchmark_test")
|
||||
load("@rules_angular//src/optimization:index.bzl", "optimize_angular_app")
|
||||
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
|
||||
load("//modules/benchmarks:e2e_test.bzl", "e2e_test")
|
||||
load("//tools:defaults.bzl", "http_server")
|
||||
|
||||
@@ -44,11 +44,11 @@ http_server(
|
||||
benchmark_test(
|
||||
name = "perf",
|
||||
server = ":devserver",
|
||||
deps = ["//modules/benchmarks/src/tree:perf_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/tree:perf_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
e2e_test(
|
||||
name = "e2e",
|
||||
server = ":devserver",
|
||||
deps = ["//modules/benchmarks/src/tree:e2e_tests_lib"],
|
||||
deps = ["//modules/benchmarks/src/tree:e2e_tests_lib_rjs"],
|
||||
)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {openBrowser, runBenchmark} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {openBrowser, runBenchmark} from '../../../utilities/index';
|
||||
import {browser} from 'protractor';
|
||||
|
||||
export function runTreeBenchmark({
|
||||
|
||||
@@ -7,9 +7,5 @@
|
||||
"strict": true,
|
||||
"sourceMap": true,
|
||||
"declaration": true,
|
||||
"paths": {
|
||||
// TODO(devversion): Consider dropping the dependency on this utilities, or put them somewhere else.
|
||||
"@angular/build-tooling/*": ["../../external/npm/@angular/build-tooling/*"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,22 @@
|
||||
{
|
||||
"dependencies": {
|
||||
"@angular/animations": "workspace:*",
|
||||
"@angular/benchpress": "workspace:*",
|
||||
"@angular/build": "20.0.4",
|
||||
"@angular/compiler": "workspace:*",
|
||||
"@angular/common": "workspace:*",
|
||||
"@angular/compiler": "workspace:*",
|
||||
"@angular/core": "workspace:*",
|
||||
"@angular/upgrade": "workspace:*",
|
||||
"@angular/forms": "workspace:*",
|
||||
"@angular/localize": "workspace:*",
|
||||
"@angular/router": "workspace:*",
|
||||
"@angular/platform-browser": "workspace:*",
|
||||
"@angular/platform-browser-dynamic": "workspace:*",
|
||||
"@angular/router": "workspace:*",
|
||||
"@angular/upgrade": "workspace:*",
|
||||
"@types/node": "24.0.5",
|
||||
"@types/selenium-webdriver": "3.0.7",
|
||||
"protractor": "7.0.0",
|
||||
"selenium-webdriver": "3.6.0",
|
||||
"tslib": "2.8.1",
|
||||
"zone.js": "workspace:*"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {verifyNoBrowserErrors} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {verifyNoBrowserErrors} from '../../../utilities/index';
|
||||
import {$, browser} from 'protractor';
|
||||
import {promise} from 'selenium-webdriver';
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
load("//tools:defaults.bzl", "protractor_web_test_suite")
|
||||
load("@devinfra//bazel/spec-bundling:index_rjs.bzl", "spec_bundle")
|
||||
load("@rules_browsers//src/protractor_test:index.bzl", "protractor_test")
|
||||
load("//tools:defaults2.bzl", "ts_project")
|
||||
|
||||
def example_test(
|
||||
@@ -6,11 +7,10 @@ def example_test(
|
||||
srcs,
|
||||
server,
|
||||
data = [],
|
||||
interop_deps = [],
|
||||
deps = [],
|
||||
external = [],
|
||||
tsconfig = "//modules/playground:tsconfig_e2e",
|
||||
use_legacy_webdriver_types = True,
|
||||
**kwargs):
|
||||
use_legacy_webdriver_types = True):
|
||||
# Reliance on the Control Flow in Selenium Webdriver is not recommended long-term,
|
||||
# especially with the deprecation of Protractor. New tests should not use the legacy
|
||||
# webdriver types but rather use the actual `@types/jasmine` types.
|
||||
@@ -25,21 +25,33 @@ def example_test(
|
||||
deps = deps + [
|
||||
"//:node_modules/protractor",
|
||||
"//:node_modules/@types/selenium-webdriver",
|
||||
],
|
||||
interop_deps = interop_deps + [
|
||||
"@npm//@angular/build-tooling/bazel/benchmark/driver-utilities",
|
||||
"//modules/utilities:utilities_rjs",
|
||||
],
|
||||
)
|
||||
|
||||
protractor_web_test_suite(
|
||||
name = "protractor_tests",
|
||||
data = data + ["@npm//source-map"],
|
||||
on_prepare = "//modules/playground/e2e_test:start-server.js",
|
||||
server = server,
|
||||
spec_bundle(
|
||||
name = "%s_bundle" % name,
|
||||
testonly = True,
|
||||
srcs = ["//modules/playground:tsconfig_e2e"],
|
||||
deps = [
|
||||
":%s_lib" % name,
|
||||
"@npm//selenium-webdriver",
|
||||
"@npm//yargs",
|
||||
"%s_lib_rjs" % name,
|
||||
],
|
||||
tags = [
|
||||
"manual",
|
||||
],
|
||||
config = {
|
||||
"resolveExtensions": [".js", ".mjs"],
|
||||
"tsconfig": "./modules/playground/tsconfig-e2e.json",
|
||||
},
|
||||
external = external + ["protractor", "selenium-webdriver"],
|
||||
)
|
||||
|
||||
protractor_test(
|
||||
name = name,
|
||||
deps = [":%s_bundle" % name],
|
||||
server = server,
|
||||
data = data + [
|
||||
"//modules:node_modules/selenium-webdriver",
|
||||
"//:node_modules/yargs",
|
||||
],
|
||||
**kwargs
|
||||
)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {verifyNoBrowserErrors} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {verifyNoBrowserErrors} from '../../../utilities/index';
|
||||
import {browser} from 'protractor';
|
||||
|
||||
describe('hello world', function () {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {verifyNoBrowserErrors} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {verifyNoBrowserErrors} from '../../../utilities/index';
|
||||
import {browser} from 'protractor';
|
||||
|
||||
describe('http', function () {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {verifyNoBrowserErrors} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {verifyNoBrowserErrors} from '../../../utilities/index';
|
||||
import {browser} from 'protractor';
|
||||
|
||||
describe('jsonp', function () {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {verifyNoBrowserErrors} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {verifyNoBrowserErrors} from '../../../utilities/index';
|
||||
import {browser, by, element, protractor} from 'protractor';
|
||||
|
||||
const Key = protractor.Key;
|
||||
|
||||
@@ -4,8 +4,7 @@ example_test(
|
||||
name = "sourcemap",
|
||||
srcs = glob(["**/*.ts"]),
|
||||
data = [
|
||||
"//modules/playground/src/sourcemap:bundles",
|
||||
"//modules/playground/src/sourcemap:main.ts",
|
||||
"//modules/playground/src/sourcemap:assets",
|
||||
],
|
||||
# Source-Map is using WASM and cannot be bundled for specs.
|
||||
external = ["source-map"],
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {runfiles} from '@bazel/runfiles';
|
||||
import {readFileSync} from 'fs';
|
||||
import {$, browser} from 'protractor';
|
||||
import {logging} from 'selenium-webdriver';
|
||||
import {RawSourceMap, SourceMapConsumer} from 'source-map';
|
||||
import {resolve} from 'path';
|
||||
|
||||
describe('sourcemaps', function () {
|
||||
const URL = '/';
|
||||
@@ -36,15 +36,14 @@ describe('sourcemaps', function () {
|
||||
expect(errorColumn).not.toBeNull();
|
||||
|
||||
const mapContent = readFileSync(
|
||||
runfiles.resolvePackageRelative('../../src/sourcemap/bundles/main.js.map'),
|
||||
).toString('utf8');
|
||||
resolve('./modules/playground/src/sourcemap/bundles/main.js.map'),
|
||||
'utf-8',
|
||||
);
|
||||
const decoder = await new SourceMapConsumer(JSON.parse(mapContent) as RawSourceMap);
|
||||
const originalPosition = decoder.originalPositionFor({line: errorLine!, column: errorColumn!});
|
||||
const sourceCodeLines = readFileSync(
|
||||
runfiles.resolvePackageRelative('../../src/sourcemap/main.ts'),
|
||||
{
|
||||
encoding: 'utf-8',
|
||||
},
|
||||
resolve('./modules/playground/src/sourcemap/main.ts'),
|
||||
'utf-8',
|
||||
).split('\n');
|
||||
expect(sourceCodeLines[originalPosition.line! - 1]).toMatch(
|
||||
/throw new Error\(\'Sourcemap test\'\)/,
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {verifyNoBrowserErrors} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {verifyNoBrowserErrors} from '../../../utilities/index';
|
||||
import {browser, by, element} from 'protractor';
|
||||
|
||||
describe('SVG', function () {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {verifyNoBrowserErrors} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {verifyNoBrowserErrors} from '../../../utilities/index';
|
||||
import {browser, by, element} from 'protractor';
|
||||
|
||||
describe('Template-Driven Forms', function () {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {verifyNoBrowserErrors} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {verifyNoBrowserErrors} from '../../../utilities/index';
|
||||
import {browser, by, element} from 'protractor';
|
||||
|
||||
describe('ngUpgrade', function () {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.dev/license
|
||||
*/
|
||||
|
||||
import {verifyNoBrowserErrors} from '@angular/build-tooling/bazel/benchmark/driver-utilities';
|
||||
import {verifyNoBrowserErrors} from '../../../utilities/index';
|
||||
import {browser, by, element} from 'protractor';
|
||||
|
||||
describe('Zippy Component', function () {
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
load("@aspect_bazel_lib//lib:copy_to_bin.bzl", "copy_to_bin")
|
||||
load("@rules_angular//src/optimization:index.bzl", "optimize_angular_app")
|
||||
load("//tools:defaults.bzl", "http_server")
|
||||
|
||||
package(default_visibility = ["//modules/playground:__subpackages__"])
|
||||
|
||||
# Exported since the e2e test needs to read the source file in order to
|
||||
# ensure that the source map properly maps back to the source file.
|
||||
exports_files(["main.ts"])
|
||||
|
||||
optimize_angular_app(
|
||||
name = "bundles",
|
||||
srcs = glob(["**/*.ts"]) + ["index.html"],
|
||||
@@ -39,3 +36,11 @@ http_server(
|
||||
"//modules:node_modules/zone.js",
|
||||
],
|
||||
)
|
||||
|
||||
copy_to_bin(
|
||||
name = "assets",
|
||||
srcs = [
|
||||
"main.ts",
|
||||
":bundles",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -7,9 +7,5 @@
|
||||
"strict": true,
|
||||
"sourceMap": true,
|
||||
"declaration": true,
|
||||
"paths": {
|
||||
// TODO(devversion): Consider dropping the dependency on this utilities, or put them somewhere else.
|
||||
"@angular/build-tooling/*": ["../../external/npm/@angular/build-tooling/*"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
load("//tools:defaults2.bzl", "ts_config", "ts_project")
|
||||
|
||||
package(default_visibility = ["//modules:__subpackages__"])
|
||||
|
||||
ts_config(
|
||||
name = "tsconfig_build",
|
||||
src = "tsconfig.json",
|
||||
)
|
||||
|
||||
ts_project(
|
||||
name = "utilities",
|
||||
srcs = glob(["*.ts"]),
|
||||
tsconfig = "//modules/utilities:tsconfig_build",
|
||||
deps = [
|
||||
"//modules:node_modules/@angular/benchpress",
|
||||
"//modules:node_modules/@types/node",
|
||||
"//modules:node_modules/@types/selenium-webdriver",
|
||||
"//modules:node_modules/protractor",
|
||||
"//modules:node_modules/selenium-webdriver",
|
||||
],
|
||||
)
|
||||
@@ -0,0 +1,54 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright Google LLC
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
|
||||
/* tslint:disable:no-console */
|
||||
import {browser} from 'protractor';
|
||||
import * as webdriver from 'selenium-webdriver';
|
||||
|
||||
declare var expect: any;
|
||||
|
||||
export function openBrowser(config: {
|
||||
url?: string;
|
||||
params?: {name: string; value: any}[];
|
||||
ignoreBrowserSynchronization?: boolean;
|
||||
}) {
|
||||
if (config.ignoreBrowserSynchronization) {
|
||||
browser.ignoreSynchronization = true;
|
||||
}
|
||||
const urlParams: string[] = [];
|
||||
if (config.params) {
|
||||
config.params.forEach((param) => urlParams.push(param.name + '=' + param.value));
|
||||
}
|
||||
const url = encodeURI(config.url + '?' + urlParams.join('&'));
|
||||
browser.get(url);
|
||||
if (config.ignoreBrowserSynchronization) {
|
||||
browser.sleep(2000);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @experimental This API will be moved to Protractor.
|
||||
*/
|
||||
export function verifyNoBrowserErrors() {
|
||||
// TODO(tbosch): Bug in ChromeDriver: Need to execute at least one command
|
||||
// so that the browser logs can be read out!
|
||||
browser.executeScript('1+1');
|
||||
browser
|
||||
.manage()
|
||||
.logs()
|
||||
.get('browser')
|
||||
.then(function (browserLog: any) {
|
||||
const filteredLog = browserLog.filter(function (logEntry: any) {
|
||||
if (logEntry.level.value >= webdriver.logging.Level.INFO.value) {
|
||||
console.log('>> ' + logEntry.message);
|
||||
}
|
||||
return logEntry.level.value > webdriver.logging.Level.WARNING.value;
|
||||
});
|
||||
expect(filteredLog).toEqual([]);
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright Google LLC
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
export {openBrowser, verifyNoBrowserErrors} from './e2e_util';
|
||||
export {runBenchmark} from './perf_util';
|
||||
@@ -0,0 +1,130 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright Google LLC
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
|
||||
import {randomUUID} from 'node:crypto';
|
||||
export {verifyNoBrowserErrors} from './e2e_util';
|
||||
|
||||
// @ts-ignore
|
||||
import type * as benchpress from '@angular/benchpress';
|
||||
import {openBrowser} from './e2e_util';
|
||||
|
||||
// Note: Keep the `modules/benchmarks/README.md` file in sync with the supported options.
|
||||
const globalOptions = {
|
||||
sampleSize: process.env.PERF_SAMPLE_SIZE || 20,
|
||||
forceGc: process.env.PERF_FORCE_GC === 'true',
|
||||
dryRun: process.env.PERF_DRYRUN === 'true',
|
||||
};
|
||||
|
||||
type BenchpressSetup = {
|
||||
runner: benchpress.Runner;
|
||||
module: typeof benchpress;
|
||||
};
|
||||
|
||||
let _cachedBenchpressSetup: Promise<BenchpressSetup> | null = null;
|
||||
|
||||
export async function runBenchmark({
|
||||
id,
|
||||
url = '',
|
||||
params = [],
|
||||
ignoreBrowserSynchronization = true,
|
||||
microMetrics,
|
||||
work,
|
||||
prepare,
|
||||
setup,
|
||||
}: {
|
||||
id: string;
|
||||
url?: string;
|
||||
params?: {name: string; value: any}[];
|
||||
ignoreBrowserSynchronization?: boolean;
|
||||
microMetrics?: {[key: string]: string};
|
||||
work?: (() => void) | (() => Promise<unknown>);
|
||||
prepare?: (() => void) | (() => Promise<unknown>);
|
||||
setup?: (() => void) | (() => Promise<unknown>);
|
||||
}): Promise<any> {
|
||||
if (_cachedBenchpressSetup === null) {
|
||||
_cachedBenchpressSetup = _prepareBenchpressSetup();
|
||||
}
|
||||
|
||||
// Wait for the benchpress setup to complete initialization.
|
||||
// The benchpress setup is loaded asynchronously due to it relying on ESM.
|
||||
// TODO: This can be removed when benchmark tests/e2e tests can run with ESM.
|
||||
const {module, runner} = await _cachedBenchpressSetup;
|
||||
|
||||
openBrowser({url, params, ignoreBrowserSynchronization});
|
||||
if (setup) {
|
||||
await setup();
|
||||
}
|
||||
return runner.sample({
|
||||
id,
|
||||
execute: work,
|
||||
prepare,
|
||||
microMetrics,
|
||||
providers: [{provide: module.Options.SAMPLE_DESCRIPTION, useValue: {}}],
|
||||
});
|
||||
}
|
||||
|
||||
async function _prepareBenchpressSetup(): Promise<BenchpressSetup> {
|
||||
const module = await loadBenchpressModule();
|
||||
const {
|
||||
SeleniumWebDriverAdapter,
|
||||
Options,
|
||||
JsonFileReporter,
|
||||
RegressionSlopeValidator,
|
||||
Validator,
|
||||
MultiReporter,
|
||||
ConsoleReporter,
|
||||
SizeValidator,
|
||||
MultiMetric,
|
||||
Runner,
|
||||
} = module;
|
||||
|
||||
let runId = randomUUID();
|
||||
if (process.env.GIT_SHA) {
|
||||
runId = process.env.GIT_SHA + ' ' + runId;
|
||||
}
|
||||
|
||||
const testOutputDirectory = process.env.TEST_UNDECLARED_OUTPUTS_DIR;
|
||||
|
||||
if (testOutputDirectory === undefined) {
|
||||
throw new Error(
|
||||
'Unexpected execution outside of a Bazel test. ' +
|
||||
'Missing `TEST_UNDECLARED_OUTPUTS_DIR` environment variable.',
|
||||
);
|
||||
}
|
||||
|
||||
const providers: benchpress.StaticProvider[] = [
|
||||
SeleniumWebDriverAdapter.PROTRACTOR_PROVIDERS,
|
||||
{provide: Options.FORCE_GC, useValue: globalOptions.forceGc},
|
||||
{provide: Options.DEFAULT_DESCRIPTION, useValue: {'runId': runId}},
|
||||
JsonFileReporter.PROVIDERS,
|
||||
{provide: JsonFileReporter.PATH, useValue: testOutputDirectory},
|
||||
];
|
||||
if (!globalOptions.dryRun) {
|
||||
providers.push({provide: Validator, useExisting: RegressionSlopeValidator});
|
||||
providers.push({
|
||||
provide: RegressionSlopeValidator.SAMPLE_SIZE,
|
||||
useValue: globalOptions.sampleSize,
|
||||
});
|
||||
providers.push(MultiReporter.provideWith([ConsoleReporter, JsonFileReporter]));
|
||||
} else {
|
||||
providers.push({provide: Validator, useExisting: SizeValidator});
|
||||
providers.push({provide: SizeValidator.SAMPLE_SIZE, useValue: 1});
|
||||
providers.push(MultiReporter.provideWith([]));
|
||||
providers.push(MultiMetric.provideWith([]));
|
||||
}
|
||||
|
||||
return {
|
||||
runner: new Runner(providers),
|
||||
module,
|
||||
};
|
||||
}
|
||||
|
||||
/** Loads the benchpress module through a CJS/ESM interop. */
|
||||
async function loadBenchpressModule(): Promise<typeof benchpress> {
|
||||
return await new Function(`return import('@angular/benchpress');`)();
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"lib": ["es2020", "dom"],
|
||||
"types": ["node"],
|
||||
"declaration": true,
|
||||
"sourceMap": true,
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@aspect_rules_ts//ts:defs.bzl", rules_js_tsconfig = "ts_config")
|
||||
load("//tools:defaults2.bzl", "ng_package", "ts_project")
|
||||
load("//tools:defaults2.bzl", "ng_package", "npm_package", "ts_project")
|
||||
|
||||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
@@ -50,3 +50,11 @@ ng_package(
|
||||
":benchpress_rjs",
|
||||
],
|
||||
)
|
||||
|
||||
npm_package(
|
||||
name = "pkg",
|
||||
srcs = [":npm_package"],
|
||||
replace_prefixes = {
|
||||
"npm_package/": "",
|
||||
},
|
||||
)
|
||||
|
||||
Generated
+258
-12
@@ -25,7 +25,7 @@ importers:
|
||||
version: 20.0.4(chokidar@4.0.3)
|
||||
'@angular/build':
|
||||
specifier: 20.0.4
|
||||
version: 20.0.4(@angular/compiler-cli@packages+compiler-cli)(@angular/compiler@packages+compiler)(@angular/core@packages+core)(@angular/localize@packages+localize)(@angular/platform-browser@packages+platform-browser)(@angular/ssr@20.0.4)(@types/node@18.19.112)(chokidar@4.0.3)(karma@6.4.4)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.8.3)
|
||||
version: 20.0.4(@angular/compiler-cli@packages+compiler-cli)(@angular/compiler@packages+compiler)(@angular/core@packages+core)(@angular/platform-browser@packages+platform-browser)(@angular/ssr@20.0.4)(@types/node@18.19.112)(chokidar@4.0.3)(karma@6.4.4)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.8.3)
|
||||
'@angular/cdk':
|
||||
specifier: 20.0.4
|
||||
version: 20.0.4(rxjs@7.8.2)
|
||||
@@ -579,9 +579,12 @@ importers:
|
||||
'@angular/animations':
|
||||
specifier: workspace:*
|
||||
version: link:../packages/animations
|
||||
'@angular/benchpress':
|
||||
specifier: workspace:*
|
||||
version: link:../packages/benchpress
|
||||
'@angular/build':
|
||||
specifier: 20.0.4
|
||||
version: 20.0.4(@angular/compiler-cli@packages+compiler-cli)(@angular/compiler@packages+compiler)(@angular/core@packages+core)(@angular/localize@packages+localize)(@angular/platform-browser@packages+platform-browser)(@angular/ssr@20.0.4)(@types/node@18.19.112)(chokidar@4.0.3)(karma@6.4.4)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.8.3)
|
||||
version: 20.0.4(@angular/compiler-cli@packages+compiler-cli)(@angular/compiler@packages+compiler)(@angular/core@packages+core)(@angular/localize@packages+localize)(@angular/platform-browser@packages+platform-browser)(@angular/ssr@20.0.4)(@types/node@24.0.5)(chokidar@4.0.3)(karma@6.4.4)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.8.3)
|
||||
'@angular/common':
|
||||
specifier: workspace:*
|
||||
version: link:../packages/common
|
||||
@@ -609,6 +612,21 @@ importers:
|
||||
'@angular/upgrade':
|
||||
specifier: workspace:*
|
||||
version: link:../packages/upgrade
|
||||
'@types/node':
|
||||
specifier: 24.0.5
|
||||
version: 24.0.5
|
||||
'@types/selenium-webdriver':
|
||||
specifier: 3.0.7
|
||||
version: 3.0.7
|
||||
protractor:
|
||||
specifier: 7.0.0
|
||||
version: 7.0.0
|
||||
selenium-webdriver:
|
||||
specifier: 3.6.0
|
||||
version: 3.6.0
|
||||
tslib:
|
||||
specifier: 2.8.1
|
||||
version: 2.8.1
|
||||
zone.js:
|
||||
specifier: workspace:*
|
||||
version: link:../packages/zone.js
|
||||
@@ -619,6 +637,15 @@ importers:
|
||||
specifier: ^2.3.0
|
||||
version: 2.8.1
|
||||
|
||||
packages/benchpress:
|
||||
dependencies:
|
||||
'@angular/core':
|
||||
specifier: ^20.0.0
|
||||
version: 20.0.5(@angular/compiler@packages+compiler)(rxjs@7.8.2)(zone.js@packages+zone.js)
|
||||
reflect-metadata:
|
||||
specifier: ^0.2.0
|
||||
version: 0.2.2
|
||||
|
||||
packages/common:
|
||||
dependencies:
|
||||
tslib:
|
||||
@@ -686,7 +713,7 @@ importers:
|
||||
version: link:../../../animations
|
||||
'@angular/build':
|
||||
specifier: 20.0.4
|
||||
version: 20.0.4(@angular/compiler-cli@packages+compiler-cli)(@angular/compiler@packages+compiler)(@angular/core@packages+core)(@angular/localize@packages+localize)(@angular/platform-browser@packages+platform-browser)(@angular/ssr@20.0.4)(@types/node@18.19.112)(chokidar@4.0.3)(karma@6.4.4)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.8.3)
|
||||
version: 20.0.4(@angular/compiler-cli@packages+compiler-cli)(@angular/compiler@packages+compiler)(@angular/core@packages+core)(@angular/platform-browser@packages+platform-browser)(@angular/ssr@20.0.4)(@types/node@18.19.112)(chokidar@4.0.3)(karma@6.4.4)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.8.3)
|
||||
'@angular/common':
|
||||
specifier: workspace:*
|
||||
version: link:../../../common
|
||||
@@ -1280,7 +1307,7 @@ packages:
|
||||
- yaml
|
||||
dev: true
|
||||
|
||||
/@angular/build@20.0.4(@angular/compiler-cli@packages+compiler-cli)(@angular/compiler@packages+compiler)(@angular/core@packages+core)(@angular/localize@packages+localize)(@angular/platform-browser@packages+platform-browser)(@angular/ssr@20.0.4)(@types/node@18.19.112)(chokidar@4.0.3)(karma@6.4.4)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.8.3):
|
||||
/@angular/build@20.0.4(@angular/compiler-cli@packages+compiler-cli)(@angular/compiler@packages+compiler)(@angular/core@packages+core)(@angular/localize@packages+localize)(@angular/platform-browser@packages+platform-browser)(@angular/ssr@20.0.4)(@types/node@24.0.5)(chokidar@4.0.3)(karma@6.4.4)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.8.3):
|
||||
resolution: {integrity: sha512-SIYLg2st05Q5hgFrxwj6L4i9j2j2JNWYoYgacXp+mw9YVhFiC02Ymbakc9fq+3+sWlm0XTX5JgrupV2ac1ytNQ==, tarball: https://registry.npmjs.org/@angular/build/-/build-20.0.4.tgz}
|
||||
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
|
||||
peerDependencies:
|
||||
@@ -1337,6 +1364,102 @@ packages:
|
||||
'@babel/core': 7.27.1
|
||||
'@babel/helper-annotate-as-pure': 7.27.1
|
||||
'@babel/helper-split-export-declaration': 7.24.7
|
||||
'@inquirer/confirm': 5.1.10(@types/node@24.0.5)
|
||||
'@vitejs/plugin-basic-ssl': 2.0.0(vite@6.3.5)
|
||||
beasties: 0.3.4
|
||||
browserslist: 4.25.0
|
||||
esbuild: 0.25.5
|
||||
https-proxy-agent: 7.0.6(supports-color@10.0.0)
|
||||
istanbul-lib-instrument: 6.0.3
|
||||
jsonc-parser: 3.3.1
|
||||
karma: 6.4.4
|
||||
listr2: 8.3.3
|
||||
magic-string: 0.30.17
|
||||
mrmime: 2.0.1
|
||||
parse5-html-rewriting-stream: 7.1.0
|
||||
picomatch: 4.0.2
|
||||
piscina: 5.1.1
|
||||
rollup: 4.40.2
|
||||
sass: 1.88.0
|
||||
semver: 7.7.2
|
||||
source-map-support: 0.5.21
|
||||
tinyglobby: 0.2.13
|
||||
tslib: 2.8.1
|
||||
typescript: 5.8.3
|
||||
vite: 6.3.5(@types/node@24.0.5)(sass@1.88.0)(terser@5.43.1)(tsx@4.20.3)
|
||||
watchpack: 2.4.2
|
||||
optionalDependencies:
|
||||
lmdb: 3.3.0
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- chokidar
|
||||
- jiti
|
||||
- lightningcss
|
||||
- sass-embedded
|
||||
- stylus
|
||||
- sugarss
|
||||
- supports-color
|
||||
- terser
|
||||
- tsx
|
||||
- yaml
|
||||
dev: false
|
||||
|
||||
/@angular/build@20.0.4(@angular/compiler-cli@packages+compiler-cli)(@angular/compiler@packages+compiler)(@angular/core@packages+core)(@angular/platform-browser@packages+platform-browser)(@angular/ssr@20.0.4)(@types/node@18.19.112)(chokidar@4.0.3)(karma@6.4.4)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.8.3):
|
||||
resolution: {integrity: sha512-SIYLg2st05Q5hgFrxwj6L4i9j2j2JNWYoYgacXp+mw9YVhFiC02Ymbakc9fq+3+sWlm0XTX5JgrupV2ac1ytNQ==, tarball: https://registry.npmjs.org/@angular/build/-/build-20.0.4.tgz}
|
||||
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
|
||||
peerDependencies:
|
||||
'@angular/compiler': ^20.0.0
|
||||
'@angular/compiler-cli': ^20.0.0
|
||||
'@angular/core': ^20.0.0
|
||||
'@angular/localize': ^20.0.0
|
||||
'@angular/platform-browser': ^20.0.0
|
||||
'@angular/platform-server': ^20.0.0
|
||||
'@angular/service-worker': ^20.0.0
|
||||
'@angular/ssr': ^20.0.4
|
||||
karma: ^6.4.0
|
||||
less: ^4.2.0
|
||||
ng-packagr: ^20.0.0
|
||||
postcss: ^8.4.0
|
||||
tailwindcss: ^2.0.0 || ^3.0.0 || ^4.0.0
|
||||
tslib: ^2.3.0
|
||||
typescript: '>=5.8 <5.9'
|
||||
vitest: ^3.1.1
|
||||
peerDependenciesMeta:
|
||||
'@angular/core':
|
||||
optional: true
|
||||
'@angular/localize':
|
||||
optional: true
|
||||
'@angular/platform-browser':
|
||||
optional: true
|
||||
'@angular/platform-server':
|
||||
optional: true
|
||||
'@angular/service-worker':
|
||||
optional: true
|
||||
'@angular/ssr':
|
||||
optional: true
|
||||
karma:
|
||||
optional: true
|
||||
less:
|
||||
optional: true
|
||||
ng-packagr:
|
||||
optional: true
|
||||
postcss:
|
||||
optional: true
|
||||
tailwindcss:
|
||||
optional: true
|
||||
vitest:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@ampproject/remapping': 2.3.0
|
||||
'@angular-devkit/architect': 0.2000.4(chokidar@4.0.3)
|
||||
'@angular/compiler': link:packages/compiler
|
||||
'@angular/compiler-cli': link:packages/compiler-cli
|
||||
'@angular/core': link:packages/core
|
||||
'@angular/platform-browser': link:packages/platform-browser
|
||||
'@angular/ssr': 20.0.4
|
||||
'@babel/core': 7.27.1
|
||||
'@babel/helper-annotate-as-pure': 7.27.1
|
||||
'@babel/helper-split-export-declaration': 7.24.7
|
||||
'@inquirer/confirm': 5.1.10(@types/node@18.19.112)
|
||||
'@vitejs/plugin-basic-ssl': 2.0.0(vite@6.3.5)
|
||||
beasties: 0.3.4
|
||||
@@ -1524,6 +1647,25 @@ packages:
|
||||
zone.js: link:packages/zone.js
|
||||
dev: true
|
||||
|
||||
/@angular/core@20.0.5(@angular/compiler@packages+compiler)(rxjs@7.8.2)(zone.js@packages+zone.js):
|
||||
resolution: {integrity: sha512-r7YQXZvKPAMUXeo3psKTZxyYJrwidTwDPrzxMX3EGqZxv0eDnMPWCxH2y0O2X4BT0Nm1iAqx3zhGrSFc0vD60Q==, tarball: https://registry.npmjs.org/@angular/core/-/core-20.0.5.tgz}
|
||||
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
|
||||
peerDependencies:
|
||||
'@angular/compiler': 20.0.5
|
||||
rxjs: ^6.5.3 || ^7.4.0
|
||||
zone.js: ~0.15.0
|
||||
peerDependenciesMeta:
|
||||
'@angular/compiler':
|
||||
optional: true
|
||||
zone.js:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@angular/compiler': link:packages/compiler
|
||||
rxjs: 7.8.2
|
||||
tslib: 2.8.1
|
||||
zone.js: link:packages/zone.js
|
||||
dev: false
|
||||
|
||||
/@angular/material@20.0.4(@angular/cdk@20.0.4)(rxjs@7.8.2):
|
||||
resolution: {integrity: sha512-ET+znnyOVjBezHsjy7U42/88JPl9Mhumvf01gMBN8mNcaoSpeM4cc2uKBg30/3YzykKIsjXtvUJj/PaTujmJAQ==, tarball: https://registry.npmjs.org/@angular/material/-/material-20.0.4.tgz}
|
||||
peerDependencies:
|
||||
@@ -3102,7 +3244,6 @@ packages:
|
||||
|
||||
/@bazel/typescript@5.8.1(typescript@5.7.3):
|
||||
resolution: {integrity: sha512-NAJ8WQHZL1WE1YmRoCrq/1hhG15Mvy/viWh6TkvFnBeEhNUiQUsA5GYyhU1ztnBIYW03nATO3vwhAEfO7Q0U5g==, tarball: https://registry.npmjs.org/@bazel/typescript/-/typescript-5.8.1.tgz}
|
||||
deprecated: No longer maintained, https://github.com/aspect-build/rules_ts is the recommended replacement
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
typescript: '>=3.0.0'
|
||||
@@ -4065,6 +4206,20 @@ packages:
|
||||
'@types/node': 18.19.112
|
||||
dev: false
|
||||
|
||||
/@inquirer/confirm@5.1.10(@types/node@24.0.5):
|
||||
resolution: {integrity: sha512-FxbQ9giWxUWKUk2O5XZ6PduVnH2CZ/fmMKMBkH71MHJvWr7WL5AHKevhzF1L5uYWB2P548o1RzVxrNd3dpmk6g==, tarball: https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.10.tgz}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
'@types/node': '>=18'
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.13(@types/node@24.0.5)
|
||||
'@inquirer/type': 3.0.7(@types/node@24.0.5)
|
||||
'@types/node': 24.0.5
|
||||
dev: false
|
||||
|
||||
/@inquirer/confirm@5.1.12(@types/node@18.19.112):
|
||||
resolution: {integrity: sha512-dpq+ielV9/bqgXRUbNH//KsY6WEw9DrGPmipkpmgC1Y46cwuBTNx7PXFWTjc3MQ+urcc0QxoVHcMI0FW4Ok0hg==, tarball: https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.12.tgz}
|
||||
engines: {node: '>=18'}
|
||||
@@ -4097,6 +4252,26 @@ packages:
|
||||
wrap-ansi: 6.2.0
|
||||
yoctocolors-cjs: 2.1.2
|
||||
|
||||
/@inquirer/core@10.1.13(@types/node@24.0.5):
|
||||
resolution: {integrity: sha512-1viSxebkYN2nJULlzCxES6G9/stgHSepZ9LqqfdIGPHj5OHhiBUXVS0a6R0bEC2A+VL4D9w6QB66ebCr6HGllA==, tarball: https://registry.npmjs.org/@inquirer/core/-/core-10.1.13.tgz}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
'@types/node': '>=18'
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@inquirer/figures': 1.0.12
|
||||
'@inquirer/type': 3.0.7(@types/node@24.0.5)
|
||||
'@types/node': 24.0.5
|
||||
ansi-escapes: 4.3.2
|
||||
cli-width: 4.1.0
|
||||
mute-stream: 2.0.0
|
||||
signal-exit: 4.1.0
|
||||
wrap-ansi: 6.2.0
|
||||
yoctocolors-cjs: 2.1.2
|
||||
dev: false
|
||||
|
||||
/@inquirer/editor@4.2.13(@types/node@18.19.112):
|
||||
resolution: {integrity: sha512-WbicD9SUQt/K8O5Vyk9iC2ojq5RHoCLK6itpp2fHsWe44VxxcA9z3GTWlvjSTGmMQpZr+lbVmrxdHcumJoLbMA==, tarball: https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.13.tgz}
|
||||
engines: {node: '>=18'}
|
||||
@@ -4276,6 +4451,18 @@ packages:
|
||||
dependencies:
|
||||
'@types/node': 18.19.112
|
||||
|
||||
/@inquirer/type@3.0.7(@types/node@24.0.5):
|
||||
resolution: {integrity: sha512-PfunHQcjwnju84L+ycmcMKB/pTPIngjUJvfnRhKY6FKPuYXlM4aQCb/nIdTFR6BEhMjFvngzvng/vBAJMZpLSA==, tarball: https://registry.npmjs.org/@inquirer/type/-/type-3.0.7.tgz}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
'@types/node': '>=18'
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@types/node': 24.0.5
|
||||
dev: false
|
||||
|
||||
/@isaacs/cliui@8.0.2:
|
||||
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==, tarball: https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz}
|
||||
engines: {node: '>=12'}
|
||||
@@ -6503,7 +6690,7 @@ packages:
|
||||
dependencies:
|
||||
'@types/http-cache-semantics': 4.0.4
|
||||
'@types/keyv': 3.1.4
|
||||
'@types/node': 24.0.3
|
||||
'@types/node': 24.0.5
|
||||
'@types/responselike': 1.0.3
|
||||
|
||||
/@types/caseless@0.12.5:
|
||||
@@ -6895,7 +7082,7 @@ packages:
|
||||
/@types/keyv@3.1.4:
|
||||
resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==, tarball: https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz}
|
||||
dependencies:
|
||||
'@types/node': 24.0.3
|
||||
'@types/node': 24.0.5
|
||||
|
||||
/@types/live-server@1.2.3:
|
||||
resolution: {integrity: sha512-s8SQNTnUgaYQemV1Nt7SILh5ChYbWVg8ONLBbcmjHcpAwpyHh7MXBIpwgwPNvx19lIbBWszQJ3k8ynNIHLtlyg==, tarball: https://registry.npmjs.org/@types/live-server/-/live-server-1.2.3.tgz}
|
||||
@@ -6958,6 +7145,11 @@ packages:
|
||||
dependencies:
|
||||
undici-types: 7.8.0
|
||||
|
||||
/@types/node@24.0.5:
|
||||
resolution: {integrity: sha512-CXEG9E7GCTOZIre0WdDznmnhvF7xi7AmnP/zF496trmLiqlfdtxp9nPRgLVqfmJ8jgtcKcs0EcvOu2yDZSuvTg==, tarball: https://registry.npmjs.org/@types/node/-/node-24.0.5.tgz}
|
||||
dependencies:
|
||||
undici-types: 7.8.0
|
||||
|
||||
/@types/normalize-package-data@2.4.4:
|
||||
resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==, tarball: https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz}
|
||||
dev: true
|
||||
@@ -7031,7 +7223,7 @@ packages:
|
||||
/@types/responselike@1.0.3:
|
||||
resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==, tarball: https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz}
|
||||
dependencies:
|
||||
'@types/node': 24.0.3
|
||||
'@types/node': 24.0.5
|
||||
|
||||
/@types/retry@0.12.2:
|
||||
resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==, tarball: https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz}
|
||||
@@ -7320,7 +7512,7 @@ packages:
|
||||
peerDependencies:
|
||||
vite: ^6.0.0
|
||||
dependencies:
|
||||
vite: 6.3.5(@types/node@18.19.112)(sass@1.88.0)(terser@5.43.1)(tsx@4.20.3)
|
||||
vite: 6.3.5(@types/node@24.0.5)(sass@1.88.0)(terser@5.43.1)(tsx@4.20.3)
|
||||
dev: false
|
||||
|
||||
/@vitest/expect@3.2.4:
|
||||
@@ -15605,7 +15797,7 @@ packages:
|
||||
serialize-javascript: 6.0.2
|
||||
strip-json-comments: 3.1.1
|
||||
supports-color: 8.1.1
|
||||
workerpool: 9.3.2
|
||||
workerpool: 9.3.3
|
||||
yargs: 17.7.2
|
||||
yargs-parser: 21.1.1
|
||||
yargs-unparser: 2.0.0
|
||||
@@ -20716,6 +20908,60 @@ packages:
|
||||
fsevents: 2.3.3
|
||||
dev: false
|
||||
|
||||
/vite@6.3.5(@types/node@24.0.5)(sass@1.88.0)(terser@5.43.1)(tsx@4.20.3):
|
||||
resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==, tarball: https://registry.npmjs.org/vite/-/vite-6.3.5.tgz}
|
||||
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
'@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
|
||||
jiti: '>=1.21.0'
|
||||
less: '*'
|
||||
lightningcss: ^1.21.0
|
||||
sass: '*'
|
||||
sass-embedded: '*'
|
||||
stylus: '*'
|
||||
sugarss: '*'
|
||||
terser: ^5.16.0
|
||||
tsx: ^4.8.1
|
||||
yaml: ^2.4.2
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
jiti:
|
||||
optional: true
|
||||
less:
|
||||
optional: true
|
||||
lightningcss:
|
||||
optional: true
|
||||
sass:
|
||||
optional: true
|
||||
sass-embedded:
|
||||
optional: true
|
||||
stylus:
|
||||
optional: true
|
||||
sugarss:
|
||||
optional: true
|
||||
terser:
|
||||
optional: true
|
||||
tsx:
|
||||
optional: true
|
||||
yaml:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@types/node': 24.0.5
|
||||
esbuild: 0.25.5
|
||||
fdir: 6.4.6(picomatch@4.0.2)
|
||||
picomatch: 4.0.2
|
||||
postcss: 8.5.6
|
||||
rollup: 4.44.1
|
||||
sass: 1.88.0
|
||||
terser: 5.43.1
|
||||
tinyglobby: 0.2.14
|
||||
tsx: 4.20.3
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.3
|
||||
dev: false
|
||||
|
||||
/vitest@3.2.4(@types/node@10.17.60)(jsdom@26.1.0)(terser@5.43.1)(tsx@4.20.3):
|
||||
resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==, tarball: https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz}
|
||||
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
|
||||
@@ -21302,8 +21548,8 @@ packages:
|
||||
resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==, tarball: https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz}
|
||||
dev: true
|
||||
|
||||
/workerpool@9.3.2:
|
||||
resolution: {integrity: sha512-Xz4Nm9c+LiBHhDR5bDLnNzmj6+5F+cyEAWPMkbs2awq/dYazR/efelZzUAjB/y3kNHL+uzkHvxVVpaOfGCPV7A==, tarball: https://registry.npmjs.org/workerpool/-/workerpool-9.3.2.tgz}
|
||||
/workerpool@9.3.3:
|
||||
resolution: {integrity: sha512-slxCaKbYjEdFT/o2rH9xS1hf4uRDch1w7Uo+apxhZ+sf/1d9e0ZVkn42kPNGP2dgjIx6YFvSevj0zHvbWe2jdw==, tarball: https://registry.npmjs.org/workerpool/-/workerpool-9.3.3.tgz}
|
||||
dev: true
|
||||
|
||||
/wrap-ansi@6.2.0:
|
||||
|
||||
@@ -15,6 +15,7 @@ packages:
|
||||
- packages/platform-browser-dynamic/
|
||||
- packages/router/
|
||||
- packages/localize/
|
||||
- packages/benchpress/
|
||||
- packages/upgrade/
|
||||
- packages/zone.js/
|
||||
- tools/bazel/rules_angular_store/
|
||||
|
||||
Reference in New Issue
Block a user