angular-docs-cn/tools/ts-api-guardian
Alan Agius bd17610c29 feat(dev-infra): make ts-api-guardian compatible with rules_nodejs version 3 (#40353)
Changes include:
- Remove `bazelWorkspaces` as this is no longer supported due to
  a single version policy https://github.com/bazelbuild/rules_nodejs/pull/783
  and `install_bazel_dependencies` has been removed.
- Enable `bazel_patch_module_resolver` since monkey-patch the
   implementation of `require()` in NodeJS is opt-in

More info about the changes can be found here: https://github.com/bazelbuild/rules_nodejs/wiki#migrating-to-30

Blocking: https://github.com/angular/angular-cli/pull/19716

PR Close #40353
2021-01-11 15:36:29 -08:00
..
bin test(bazel): Build and test ts-api-guardian locally (#22544) 2018-03-02 15:00:00 -08:00
lib test: update ts-api-guardian's strip_export_pattern to exclude Ivy instructions (#38224) 2020-07-27 14:37:41 -07:00
test build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
BUILD.bazel feat(dev-infra): make ts-api-guardian compatible with rules_nodejs version 3 (#40353) 2021-01-11 15:36:29 -08:00
README.md release: ts_api_guardian (#30120) 2019-05-13 10:53:34 -07:00
index.bzl feat(dev-infra): make ts-api-guardian compatible with rules_nodejs version 3 (#40353) 2021-01-11 15:36:29 -08:00
package.json feat(dev-infra): make ts-api-guardian compatible with rules_nodejs version 3 (#40353) 2021-01-11 15:36:29 -08:00

README.md

Typescript API Guardian

Keeps track of public API surface of a typescript library.

Examples:

# Generate one declaration file
ts-api-guardian --out api_guard.d.ts index.d.ts
# Generate multiple declaration files
# (output location like typescript)
ts-api-guardian --outDir api_guard [--rootDir .] core/index.d.ts core/testing.d.ts
# Print usage
ts-api-guardian --help
# Check against one declaration file
ts-api-guardian --verify api_guard.d.ts index.d.ts
# Check against multiple declaration files
ts-api-guardian --verifyDir api_guard [--rootDir .] core/index.d.ts core/testing.d.ts

For developers

Build and test this library:

$ yarn bazel run //:install
$ yarn bazel test //tools/ts-api-guardian:all

Publish to NPM:

$ yarn bazel run @nodejs//:npm whoami # should be logged in as angular
$ grep version tools/ts-api-guardian/package.json # advance as needed
$ yarn bazel run //tools/ts-api-guardian:ts-api-guardian.publish