angular-cn/tools/ts-api-guardian
Alan Agius d7f7826363 build: publish ts-api-guardian rule in the npm package (#29977)
With this change downstream users will no longer need to build ts-api-guardian from source as now the bazel rule is available in the npm package.

This can be used by installing ts-api-guardian as a devDependency and changing the load syntax from:
```
load("@angular//tools/ts-api-guardian:index.bzl", "ts_api_guardian_test")
```

to:
```
load("@npm_ts_api_guardian//:index.bzl", "ts_api_guardian_test")
```

**Note**: downstream users should also clean their `WORKSPACE` and remove the dependencies of angular workspace.

PR Close #29977
2019-04-19 10:59:23 -07:00
..
bin test(bazel): Build and test ts-api-guardian locally (#22544) 2018-03-02 15:00:00 -08:00
lib refactor(ivy): Update @publicApi to @codeGenApi on ivy instructions (#29820) 2019-04-11 08:19:23 -07:00
test test: add additional test for codeGenApi (#29844) 2019-04-15 10:51:24 -07:00
BUILD.bazel build: publish ts-api-guardian rule in the npm package (#29977) 2019-04-19 10:59:23 -07:00
README.md build: use bazel version from node modules (#26691) 2018-10-30 16:19:13 -04:00
index.bzl build: publish ts-api-guardian rule in the npm package (#29977) 2019-04-19 10:59:23 -07:00
package.json build: publish ts-api-guardian rule in the npm package (#29977) 2019-04-19 10:59:23 -07: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:

$ 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