Как использовать резолверы rules_k8s с Typescript и Nodejs?
Проблема
Я попытался воспроизвести пример преобразователя rules_k8s с помощью Typescript вместо Go.
load("@npm//@bazel/typescript:index.bzl", "ts_library")
load("@io_bazel_rules_k8s//k8s:object.bzl", "k8s_object")
load("@build_bazel_rules_nodejs//:index.bzl", "nodejs_binary")
ts_library(
name = "resolver_lib",
srcs = ["resolver.ts"],
deps = ["@npm//@types/node"],
)
nodejs_binary(
name = "resolver",
data = [":resolver_lib"],
entry_point = "resolver.ts",
)
k8s_object(
name = "example",
kind = "deployment",
resolver = ":resolver",
template = "template.yaml",
)
Но двоичный файл Nodejs не запускается при запуске
bazelisk run //:example
. Выдается следующая ошибка:
ERROR: cannot find build_bazel_rules_nodejs/third_party/github.com/bazelbuild/bazel/tools/bash/runfiles/runfiles.bash
Размножение
Я сделал минимальное "воспроизведение" здесь: https://github.com/flolu/rules_k8s-typescript-resolver Просто клонируйте его и запускайте
yarn install
а потом
yarn start