mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
This commit introduces a mechanism to use snapshot builds for @angular/language-service dependencies when building the VSCode extension. A new --//:enable_snapshot_repo_deps flag allows swapping the stable versioned dependency with a snapshot build from the angular/language-server-builds GitHub repository. This enables testing and development against the latest unreleased version of the language service. PR Close #64334
89 lines
2.5 KiB
Text
89 lines
2.5 KiB
Text
load("@aspect_rules_js//js:defs.bzl", "js_library")
|
|
load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")
|
|
load("@devinfra//bazel/validation:defs.bzl", "validate_ts_version_matching")
|
|
load("@npm//:defs.bzl", "npm_link_all_packages")
|
|
load("//tools:defaults.bzl", "copy_to_bin")
|
|
|
|
package(default_visibility = ["//visibility:public"])
|
|
|
|
exports_files([
|
|
"LICENSE",
|
|
"karma-js.conf.js",
|
|
"browser-providers.conf.js",
|
|
"package.json",
|
|
])
|
|
|
|
npm_link_all_packages(
|
|
name = "node_modules",
|
|
)
|
|
|
|
filegroup(
|
|
# filegroup is needed so that this package.json file can be a dep
|
|
# in a js_library target, which doesn't allow source file deps
|
|
name = "package_json",
|
|
srcs = ["package.json"],
|
|
)
|
|
|
|
validate_ts_version_matching(
|
|
module_lock_file = "MODULE.bazel.lock",
|
|
package_json = "package.json",
|
|
)
|
|
|
|
alias(
|
|
name = "tsconfig.json",
|
|
actual = "//packages:tsconfig-build.json",
|
|
)
|
|
|
|
js_library(
|
|
name = "browser-providers",
|
|
srcs = [
|
|
"browser-providers.conf.d.ts",
|
|
"browser-providers.conf.js",
|
|
],
|
|
)
|
|
|
|
copy_to_bin(
|
|
name = "angularjs_scripts",
|
|
srcs = [
|
|
# We also declare the unminified AngularJS files since these can be used for
|
|
# local debugging (e.g. see: packages/upgrade/test/common/test_helpers.ts)
|
|
"//:node_modules/angular-1.5",
|
|
"//:node_modules/angular-1.6",
|
|
"//:node_modules/angular-1.7",
|
|
"//:node_modules/angular-mocks-1.5",
|
|
"//:node_modules/angular-mocks-1.6",
|
|
"//:node_modules/angular-mocks-1.7",
|
|
"//:node_modules/angular-mocks-1.8",
|
|
"//:node_modules/angular-1.8",
|
|
],
|
|
)
|
|
|
|
# Detect if the build is running under --stamp
|
|
config_setting(
|
|
name = "stamp",
|
|
values = {"stamp": "true"},
|
|
)
|
|
|
|
alias(
|
|
name = "sauce_connect",
|
|
actual = select({
|
|
"@devinfra//bazel/constraints:linux_x64": "@sauce_connect_linux_amd64//:bin/sc",
|
|
"@devinfra//bazel/constraints:macos_x64": "@sauce_connect_mac//:bin/sc",
|
|
"@devinfra//bazel/constraints:macos_arm64": "@sauce_connect_mac//:bin/sc",
|
|
}),
|
|
)
|
|
|
|
# When enabled, this flag substitutes dependency versions with snapshot repositories
|
|
# for all packages in this repository. Note that this does not apply to peer
|
|
# dependencies, as they must be installed directly.
|
|
bool_flag(
|
|
name = "enable_language_server_snapshot_repo_deps",
|
|
build_setting_default = False,
|
|
)
|
|
|
|
config_setting(
|
|
name = "language_server_package_json_use_snapshot_repo_deps",
|
|
flag_values = {
|
|
":enable_language_server_snapshot_repo_deps": "true",
|
|
},
|
|
)
|