a1e00f82f4
Currently on Windows, it's not possible to approve goldens in `ts-api-guardian`. This is because paths are resolved relatively to the working directory. In Windows, golden files are resolved to the actual workspace directory. The current logic tries to compute a relative path to the runfile from the working directory. This causes the file paths to have a lot of parent directory path segments. Eventually, when joined with the build workspace directory, the paths end up being incorrect. e.g. ``` fileName = ../../../../../../projects/angular/golden/<..>/common.d.ts` outFile = BUILD_WORKSPACE_DIR + fileName; ``` To fix this, we no longer deal with confusing relative paths, but instead always use absolute file system paths. Additionally, this fixes that new goldens are generated at the wrong location on all platforms. PR Close #36115 |
||
---|---|---|
.. | ||
bin | ||
lib | ||
test | ||
BUILD.bazel | ||
README.md | ||
index.bzl | ||
package.json |
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