Adds a tsetse rule to prevent constructing Sets using a string.

Disallows `new Set('abc')` since that results in a Set containing 'a', 'b' and 'c'.

- If that really is the intention of the code, it can be converted to `new Set('abc' as Iterable<string>)`
- If the intention was to have a Set containing 'abc', it should be `new Set(['abc'])`

PiperOrigin-RevId: 290914197
5 files changed
tree: 3765b019922a77beb84c437bc9798f89a95cf3ca
  1. .bazelci/
  2. .github/
  3. .vscode/
  4. devserver/
  5. docs/
  6. internal/
  7. third_party/
  8. .bazelignore
  9. .bazelrc
  10. .gitignore
  11. AUTHORS
  12. BUILD.bazel
  13. CODE_OF_CONDUCT.md
  14. CODEOWNERS
  15. CONTRIBUTING.md
  16. CONTRIBUTORS
  17. LICENSE
  18. package.bzl
  19. package.json
  20. README.md
  21. revert_rules_go_commit_4442d82a001f378d0605cbbca3fb529979a1c3a6.patch
  22. tsconfig.json
  23. WORKSPACE
  24. 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.