mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
Switches the integration tests form Puppeteer/webdriver-manager to the Bazel-managed Chromium/Chromedriver. This is now possible with the new integration test rule for which we can consult the `dev-infra/bazel/browsers` toolchain and setup environment variables. This has been configured already in a previous commit. This commit also includes some additional small cleanups necessary for the new integration test rule: * The `test.sh` scripts have been renamed as they would conflict with the `test.sh` scripts generated by the integration test rule. Previously this was not an issue because tests were declared at a higher-level. As mentioned though this has other downsides and it is trivial to rename the file. * Related to the point above, since tests are now declared witin the actual test folder (for perf e.g.), `package.json` files setting `"type": "module"` will accidentally cause the `nodejs_test`-generated files to be considered ESM. This is not correct and likely needs to be fixed upstream in `rules_nodejs` where explicit `.cjs` extensions should be used. This is only happening **once** in the `injectable-def` test so it is acceptable doing that for now. PR Close #44238
57 lines
1.8 KiB
Python
57 lines
1.8 KiB
Python
# The @npm packages at the root node_modules are used by integration tests
|
|
# with `file:../../node_modules/foobar` references
|
|
NPM_PACKAGE_ARCHIVES = [
|
|
"@angular/animations-12",
|
|
"@angular/common-12",
|
|
"@angular/core-12",
|
|
"@angular/forms-12",
|
|
"@angular/platform-browser-12",
|
|
"@angular/platform-browser-dynamic-12",
|
|
"@angular/platform-server-12",
|
|
"@angular/router-12",
|
|
"@babel/core",
|
|
"@rollup/plugin-babel",
|
|
"@rollup/plugin-node-resolve",
|
|
"@rollup/plugin-commonjs",
|
|
"check-side-effects",
|
|
"core-js",
|
|
"google-closure-compiler",
|
|
"jasmine",
|
|
"typescript",
|
|
"rxjs",
|
|
"systemjs",
|
|
"tsickle",
|
|
"tslib",
|
|
"protractor",
|
|
"terser",
|
|
"rollup",
|
|
"rollup-plugin-sourcemaps",
|
|
"@angular/cli",
|
|
"@angular-devkit/build-angular",
|
|
"@bazel/bazelisk",
|
|
"@types/jasmine",
|
|
"@types/jasminewd2",
|
|
"@types/node",
|
|
]
|
|
|
|
def npm_package_archive_label(package_name):
|
|
return package_name.replace("/", "_").replace("@", "") + "_archive"
|
|
|
|
def npm_package_archives():
|
|
"""Function to generate pkg_tar definitions for WORKSPACE yarn_install manual_build_file_contents"""
|
|
npm_packages_to_archive = NPM_PACKAGE_ARCHIVES
|
|
result = """load("@rules_pkg//:pkg.bzl", "pkg_tar")
|
|
"""
|
|
for name in npm_packages_to_archive:
|
|
label_name = npm_package_archive_label(name)
|
|
last_segment_name = name.split("/")[-1]
|
|
result += """pkg_tar(
|
|
name = "{label_name}",
|
|
srcs = ["//{name}:{last_segment_name}__all_files"],
|
|
extension = "tar.gz",
|
|
strip_prefix = "/external/npm/node_modules/{name}",
|
|
# should not be built unless it is a dependency of another rule
|
|
tags = ["manual"],
|
|
)
|
|
""".format(name = name, label_name = label_name, last_segment_name = last_segment_name)
|
|
return result
|