| 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"], |
| ) |