689f351092
This lets projects like Material change ng_package "bundle index" files to non-conflicting paths Currently packages like @angular/core ship with the generated metadata in a path like 'core.js' which overwrites one of the inputs. Angular material puts the generated file in a path like 'index.js' Either way these files generated by ng_module rules have the potential to collide with inputs given by the user, which results in an error. Instead, give users the freedom to choose a different non-conflicting name. Also this refactors the ng_package rule, removing the redundant secondary_entry_points attribute. Instead, we assume that any ng_module in the deps with a module_name attribute is a secondary entry point. PR Close #22814 |
||
---|---|---|
.. | ||
bin | ||
lib | ||
test | ||
BUILD.bazel | ||
README.md | ||
index.bzl | ||
package.json | ||
yarn.lock |
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:
$ bazel run //:install
$ 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
$ bazel run //tools/ts-api-guardian:ts-api-guardian.publish