Можно ли автоматически сгенерировать зависимости цели Bazel? Похоже, должен быть способ посмотреть на импорт модуля и узнать, какие зависимости bazel необходимы, по крайней мере, во многих случаях. Это может сэкономить много стандартного кода.
load("@npm_bazel_typescript//:index.bzl", "ts_library")
ts_library(
name = "lib",
srcs = glob(include = ["**/*.ts"]),
# Is there any easy way to generate this list?
deps = [],
)
Я знаю, что есть пакеты для Java, которые делают это. https://github.com/johnynek/bazel-dep. Я не смог найти что-либо для других языков.
Если его не существует, я думаю, что было бы довольно просто написать. Создайте файл шаблона, чтобы вы могли по-настоящему создать настоящий BUILD
файл. Затем запустите машинопись, чтобы вытащить AST модуля. Посмотрите импорт. Импортировать 3-ю часть будет проще, поскольку они должны разрешаться в модуль npm.
Для других файлов, которые могут присутствовать или отсутствовать в этой библиотеке, может существовать способ запросить, в каком пакете они живут. Это может сработать. Любые указатели будут очень цениться.