# BEGIN-INTERNAL load("@build_bazel_rules_nodejs//:defs.bzl", "npm_package") load("@npm_bazel_jasmine//:index.bzl", "jasmine_node_test") load("@npm_bazel_typescript//:index.bzl", "ts_library") ts_library( name = "lib", srcs = glob(["lib/*.ts"]), module_name = "ts-api-guardian", tsconfig = "//tools:tsconfig.json", visibility = ["//visibility:public"], deps = [ "@npm//@types/diff", "@npm//@types/minimist", "@npm//@types/node", "@npm//chalk", "@npm//diff", "@npm//minimist", "@npm//typescript", ], ) # Copy Angular's license to govern ts-api-guardian as well. # We use a genrule to put it in this package, so it will be in the right root directory. genrule( name = "license", srcs = ["//:LICENSE"], outs = ["LICENSE"], cmd = "cp $< $@", ) npm_package( name = "ts-api-guardian", srcs = [ "BUILD.bazel", "README.md", "bin/ts-api-guardian", "index.bzl", "package.json", ], replacements = { "@angular//tools/ts-api-guardian:bin": "@npm_ts_api_guardian//:bin", "@angular//tools/ts-api-guardian:lib": "@npm//ts-api-guardian", "angular/tools/ts-api-guardian/": "npm_ts_api_guardian/", }, deps = [ ":lib", ":license", ], ) #######################################3 # Tests for this package ts_library( name = "test_lib", testonly = True, srcs = glob(["test/*.ts"]), tsconfig = "//tools:tsconfig-test", deps = [ ":lib", "@npm//@types/chai", "@npm//@types/jasmine", "@npm//@types/node", "@npm//chai", "@npm//jasmine", "@npm//typescript", ], ) jasmine_node_test( name = "tests", srcs = [":test_lib"], bootstrap = ["angular/tools/ts-api-guardian/test/bootstrap.js"], data = glob([ "test/fixtures/*.ts", "test/fixtures/*.patch", ]) + [ ":ts-api-guardian", # TODO: remove this once the boostrap.js workaround has been removed. ":package.json", ], tags = ["local"], ) # END-INTERNAL filegroup( name = "bin", srcs = glob(["lib/*.js"]) + ["bin/ts-api-guardian"], visibility = ["//visibility:public"], ) # Exported to be referenced as entry_point of the nodejs_binary exports_files(["bin/ts-api-guardian"])