load("@build_bazel_rules_nodejs//:index.bzl", "nodejs_binary")
load("@npm//@bazel/typescript:index.bzl", "ts_library")
load("@npm//@bazel/rollup:index.bzl", "rollup_bundle")

package(default_visibility = ["//visibility:public"])

ts_library(
    name = "licenses-map",
    srcs = glob(["*.ts"]),
    compiler = "//tools/node_tools:tsc_wrapped-bin",
    tsconfig = "tsconfig.json",
    deps = [
        "@tools_npm//@bazel/typescript",
        "@tools_npm//@types/node",
    ],
)

# rollup_bundle - workaround for https://github.com/bazelbuild/rules_nodejs/issues/1522
# The ts_library rule ("license-map") transpiles each .ts file to .js file.
# The "license-map" rule includes multiple .ts files and produces multiple output files.
# The nodejs_binary requires only one file as an entry_point. It is expected, that other
# .js files from ts_library are also available, but because of the bug they are not available.
# As a workaround we are using rollup_bundle to group all files together.
rollup_bundle(
    name = "license-map-generator-bundle",
    config_file = "rollup.config.js",
    entry_point = "license-map-generator.ts",
    format = "cjs",
    rollup_bin = "//tools/node_tools:rollup-bin",
    silent = True,
    deps = [
        ":licenses-map",
        "@tools_npm//rollup",
        "@tools_npm//rollup-plugin-node-resolve",
    ],
)

nodejs_binary(
    name = "license-map-generator-bin",
    entry_point = "license-map-generator-bundle.js",
)

# (TODO)dmfilippov Find a better way to fix it (another workaround or submit a bug to
# plugin's authors or to a ts_config rule author).
# The following genrule is a workaround for a bazel intellij plugin's bug.
# According to the documentation, the ts_config_rules section should be added
# to a .bazelproject file if a project uses typescript
# (https://ij.bazel.build/docs/dynamic-languages-typescript.html)
# Unfortunately, this doesn't work. It seems, that the plugin expects some output from
# the ts_config rule, but the rule doesn't produce any output.
# To workaround the issue, the tsconfig_editor genrule was added. The genrule only copies
# input file to the output file, but this is enough to make bazel plugins works.
# So, if you have any problem a typescript editor (import errors, types not found, etc...) -
# try to build this rule from the command line
# (bazel build tools/node_tools/node_modules/licenses:tsconfig_editor) and then sync bazel project
# in intellij.
genrule(
    name = "tsconfig_editor",
    srcs = ["tsconfig.json"],
    outs = ["tsconfig_editor.json"],
    cmd = "cp $< $@",
)
