Switch tsc_wrapped to a .js entry point

This lets it work under the linker, where the execpath to the .js file
is hard to calculate from the .ts input file path.

This also wires up the ts-lit-plugin under Bazel if it appears in the tsconfig settings.

Closes #490

PiperOrigin-RevId: 294743226
10 files changed
tree: 228ba6f35264d054aabbe3623b89aec0b2cd0d59
  1. .bazelci/
  2. .bazelignore
  3. .bazelrc
  4. .bazelversion
  5. .github/
  6. .gitignore
  7. .vscode/
  8. AUTHORS
  9. BUILD.bazel
  10. CODEOWNERS
  11. CODE_OF_CONDUCT.md
  12. CONTRIBUTING.md
  13. CONTRIBUTORS
  14. LICENSE
  15. README.md
  16. WORKSPACE
  17. devserver/
  18. docs/
  19. internal/
  20. package.bzl
  21. package.json
  22. revert_rules_go_commit_4442d82a001f378d0605cbbca3fb529979a1c3a6.patch
  23. third_party/
  24. tsconfig.json
  25. yarn.lock
README.md

build_bazel_rules_typescript

This repo contains a mirror of some Google-internal bits that support TypeScript development under Bazel.

It contains these utilities:

  • ts_devserver: a Go library and binary that runs a fast local web server which concatenates JavaScript on-the-fly. It requires inputs in a named module format (module ids must be contained in the file, not inferred from the file's path).
  • tsc_wrapped: a TypeScript program which wraps the TypeScript compiler, hosting it under a Bazel worker.
  • tsetse: a collection of third-party “strictness” checks which we add to the TypeScript compiler.
  • internal/common/*.bzl: some Starlark utility code for running the ts_library rule.

There are no user-facing bits in this repo. These utilities are consumed in https://github.com/bazelbuild/rules_nodejs/tree/master/packages/typescript

Please file issues for ts_library rule and other Bazel rules in that repo.