เป็นไปได้ไหมที่จะสร้างการพึ่งพาของเป้าหมาย 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
จริง จากนั้นรัน typescript เพื่อดึง AST ของโมดูล ตรวจดูการนำเข้า. การนำเข้าส่วนที่ 3 จะง่ายกว่าเนื่องจากควรแก้ไขเป็นโมดูล npm
สำหรับไฟล์อื่นๆ ที่อาจจะอยู่ในไลบรารี่นี้หรือไม่ก็ได้ อาจมีวิธีในการสืบค้นว่าไฟล์เหล่านั้นอยู่ในแพ็คเกจใด นั่นอาจจะได้ผล พอยน์เตอร์ใด ๆ จะได้รับการชื่นชมอย่างมาก