load("@npm//@bazel/typescript:index.bzl", "ts_project") load("@build_bazel_rules_nodejs//:index.bzl", "js_library") ts_project( name = "flatbuffers_ts", srcs = [ "builder.ts", "byte-buffer.ts", "constants.ts", "encoding.ts", "flatbuffers.ts", "types.ts", "utils.ts", ], declaration = True, tsconfig = { "compilerOptions": { "module": "commonjs", "declaration": True, "moduleResolution": "node", "lib": [ "ES2015", "ES2020.BigInt", "DOM", ], "types": ["node"], "strict": True, }, }, visibility = ["//visibility:public"], deps = ["@npm//@types/node"], ) js_library( name = "flatbuffers", package_name = "flatbuffers", visibility = ["//visibility:public"], deps = [":flatbuffers_ts"], ) sh_binary( name = "compile_flat_file", srcs = ["compile_flat_file.sh"], data = [ "@com_github_google_flatbuffers//:flatc", "@nodejs_linux_amd64//:node_bin", "@npm//esbuild/bin:esbuild", ], # We just depend directly on the linux amd64 nodejs binary, so only support # running this script on amd64 for now. target_compatible_with = [ "@platforms//cpu:x86_64", "@platforms//os:linux", ], visibility = ["//visibility:public"], deps = ["@bazel_tools//tools/bash/runfiles"], )