mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-01 19:58:15 +00:00
The headline here is adding a flatbuffer_ts_library rule for generating typescript code in bazel. This entails some non-trivial other changes, but ideally none are user-visible. In particular: * Added a --ts-flat-file flag that generates a single *_generated.ts file instead of separate files for each typescript type. This makes bazel much happier. * Import the bazel rules_nodejs stuff needed to support building typescript in bazel * Move flatbuffers.ts to index.ts because I wasn't sure how to make bazel comprehend the "main" attribute of the package.json. Happy to take another stab at figuring that out if really needed. * Fix another couple keyword escaping spots in typescript...
40 lines
932 B
Python
40 lines
932 B
Python
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",
|
|
"index.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"],
|
|
)
|