fredrikredflag
10/30/2018 - 11:06 AM

Developer diary: Day 1 - packages/server/BUILD.bazel with npm_package

Developer diary: Day 1 - packages/server/BUILD.bazel with npm_package

package(default_visibility=["//visibility:public"])
load("@build_bazel_rules_nodejs//:defs.bzl", "npm_package")
load("@build_bazel_rules_typescript//:defs.bzl", "ts_library")

ts_library(
    name = "shared-red-server-library",
    srcs = glob(["index.ts", "src/**/*.ts"]),
    module_name = "@red/server",
    deps = [
        "@npm//@types"
    ],
    tags = ['library']
)

genrule(
    name = "package_json",
    srcs = ["package.tpl.json"],
    outs = ["package.json"],
    cmd = "jq --arg version $$(cat $(GENDIR)/../../volatile-status.txt | sed -nE 's/^BUILD_SCM_VERSION v([0-9.]+).*$$/\\1/p') '.version=$$version' <$< > $@",
    stamp = True
)

npm_package(
    name = "shared-red-server-library_package",
    deps = [
        ":package_json",
        ":shared-red-server-library"
    ],
    replacements = {"//shared_red_node_library/packages/server/": "//"},
)