Migrate from rules_nodejs to rules_js/rules_ts (#7923)

* Start using pnpm

* Add @npm

* get more stuff set up

* Get the analysis phase passing.

* Get esbuild working?

* Get it compiling?

    $ bazel build //tests/ts/...

* Try to get the test working

* test is passing

* Get the other tests working

* clarify comment

* clean up a bit

* Try to add another test

* Add another test

* clean up more

* remove unused reference

* Add e2e test

* Get more of the test working

* add lock file

* Get test working on its own

* Get e2e test passing

* fix infinite recursion

* Add comments

* clean up some more

* clean up more again

* Source typescript version from package.json

* run buildifier

* lint

* Fix unset `extra_env`

* Incorporate feedback

* run buildifier

---------

Co-authored-by: Derek Bailey <derekbailey@google.com>
35 files changed
tree: f77f7a1f8192452aec43873952520ef807ddf539
  1. .bazelci/
  2. .github/
  3. android/
  4. bazel/
  5. benchmarks/
  6. CMake/
  7. conan/
  8. dart/
  9. docs/
  10. examples/
  11. go/
  12. grpc/
  13. include/
  14. java/
  15. js/
  16. kotlin/
  17. lobster/
  18. lua/
  19. mjs/
  20. net/
  21. nim/
  22. php/
  23. python/
  24. reflection/
  25. rust/
  26. samples/
  27. scripts/
  28. snap/
  29. src/
  30. swift/
  31. tests/
  32. ts/
  33. .bazelignore
  34. .bazelrc
  35. .clang-format
  36. .clang-tidy
  37. .editorconfig
  38. .eslintrc.js
  39. .gitattributes
  40. .gitignore
  41. .npmrc
  42. BUILD.bazel
  43. build_defs.bzl
  44. CHANGELOG.md
  45. CMakeLists.txt
  46. composer.json
  47. conanfile.py
  48. CONTRIBUTING.md
  49. FlatBuffers.podspec
  50. Formatters.md
  51. LICENSE
  52. package.json
  53. Package.swift
  54. Package@swift-5.5.swift
  55. pnpm-lock.yaml
  56. README.md
  57. SECURITY.md
  58. swift.swiftformat
  59. tsconfig.json
  60. tsconfig.mjs.json
  61. typescript.bzl
  62. WORKSPACE
README.md

logo FlatBuffers

Build status BuildKite status Fuzzing Status OpenSSF Scorecard Join the chat at https://gitter.im/google/flatbuffers Discord Chat Twitter Follow Twitter Follow

FlatBuffers is a cross platform serialization library architected for maximum memory efficiency. It allows you to directly access serialized data without parsing/unpacking it first, while still having great forwards/backwards compatibility.

Go to our landing page to browse our documentation.

Supported operating systems

  • Windows
  • macOS
  • Linux
  • Android
  • And any others with a recent C++ compiler (C++ 11 and newer)

Supported programming languages

Code generation and runtime libraries for many popular languages.

  1. C
  2. C++ - snapcraft.io
  3. C# - nuget.org
  4. Dart - pub.dev
  5. Go - go.dev
  6. Java - Maven
  7. JavaScript - NPM
  8. Kotlin
  9. Lobster
  10. Lua
  11. PHP
  12. Python - PyPI
  13. Rust - crates.io
  14. Swift - swiftpackageindex
  15. TypeScript - NPM
  16. Nim

Versioning

FlatBuffers does not follow traditional Semver versioning (see rationale) but rather uses a format of the date of the release.

Contribution

To contribute to this project, see CONTRIBUTING.

Community

Security

Please see our Security Policy for reporting vulnerabilities.

Licensing

Flatbuffers is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.