Tuesday, 10 December 2019

Bazel - ERROR: missing input file '//server:files/src/index.js'

I want to compile some Typescript files and create a Node.js Image from the compiled Javascript files. It works fine when I have only one Typescript file with this BUILD file:

load("@io_bazel_rules_docker//nodejs:image.bzl", "nodejs_image")
load("@npm_bazel_typescript//:index.bzl", "ts_library")

ts_library(
    name = "compile",
    srcs = ["src/index.ts"],
)

filegroup(
    name = "files",
    srcs = ["compile"],
    output_group = "es5_sources",
)

nodejs_image(
    name = "server",
    entry_point = "files",
)

But as soon as I introduce multiple Typescript files like this:

load("@io_bazel_rules_docker//nodejs:image.bzl", "nodejs_image")
load("@npm_bazel_typescript//:index.bzl", "ts_library")

ts_library(
    name = "compile",
    srcs = ["src/index.ts", "src/util.ts"],
)

filegroup(
    name = "files",
    srcs = ["compile"],
    output_group = "es5_sources",
)

nodejs_image(
    name = "server",
    data = ["files"],
    entry_point = "files/src/index.js",
)

Bazel doesn't find the entrypoint file:

ERROR: missing input file '//server:files/src/index.js'
ERROR: /home/flo/Desktop/my-own-minimal-bazel/server/BUILD:15:1: //server:server: missing input file '//server:files/src/index.js'
Target //server:server failed to build
Use --verbose_failures to see the command lines of failed build steps.
ERROR: /home/flo/Desktop/my-own-minimal-bazel/server/BUILD:15:1 1 input file(s) do not exist


from Bazel - ERROR: missing input file '//server:files/src/index.js'

No comments:

Post a Comment