...

Text file src/github.com/google/flatbuffers/ts/BUILD.bazel

Documentation: github.com/google/flatbuffers/ts

     1load("@aspect_rules_ts//ts:defs.bzl", "ts_project")
     2load("@aspect_rules_js//npm:defs.bzl", "npm_package")
     3
     4filegroup(
     5    name = "distribution",
     6    srcs = [
     7        "BUILD.bazel",
     8        "compile_flat_file.sh",
     9    ] + glob([
    10        "*.ts",
    11    ]),
    12    visibility = ["//visibility:public"],
    13)
    14
    15# Add an index to emulate the top-level package.json's "main" entry.
    16genrule(
    17    name = "generate_index.ts",
    18    outs = ["index.ts"],
    19    cmd = """echo "export * from './flatbuffers.js'" > $(OUTS)""",
    20)
    21
    22ts_project(
    23    name = "flatbuffers_ts",
    24    srcs = [
    25        "builder.ts",
    26        "byte-buffer.ts",
    27        "constants.ts",
    28        "encoding.ts",
    29        "flatbuffers.ts",
    30        "types.ts",
    31        "utils.ts",
    32        ":index.ts",
    33    ],
    34    declaration = True,
    35    tsconfig = {
    36        "compilerOptions": {
    37            "module": "commonjs",
    38            "declaration": True,
    39            "moduleResolution": "node",
    40            "lib": [
    41                "ES2015",
    42                "ES2020.BigInt",
    43                "DOM",
    44            ],
    45            "types": ["node"],
    46            "strict": True,
    47        },
    48    },
    49    visibility = ["//visibility:public"],
    50    deps = [
    51        # Because the main repository instantiates the @npm repository, we need
    52        # to depend on the main repository's node import.
    53        "@//:node_modules/@types/node",
    54    ],
    55)
    56
    57npm_package(
    58    name = "flatbuffers",
    59    srcs = [":flatbuffers_ts"],
    60    include_external_repositories = ["*"],
    61    package = "flatbuffers",
    62    visibility = ["//visibility:public"],
    63)
    64
    65sh_binary(
    66    name = "compile_flat_file",
    67    srcs = ["compile_flat_file.sh"],
    68    data = [
    69        "@com_github_google_flatbuffers//:flatc",
    70        "@nodejs_linux_amd64//:node_bin",
    71    ],
    72    # We just depend directly on the linux amd64 nodejs binary, so only support
    73    # running this script on amd64 for now.
    74    target_compatible_with = [
    75        "@platforms//cpu:x86_64",
    76        "@platforms//os:linux",
    77    ],
    78    visibility = ["//visibility:public"],
    79    deps = ["@bazel_tools//tools/bash/runfiles"],
    80)

View as plain text