load("@npm_bazel_typescript//:index.bzl", "ts_library")
load("@build_bazel_rules_nodejs//:index.bzl", "nodejs_binary")
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",
    node_modules = "@tools_npm//:node_modules",
    tsconfig = "tsconfig.json",
    deps = [
        "@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",
    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 $< $@",
)
