Preserve compatibility with rollup_bundle rule. Add missing npm dependencies, which are now enforced by the strict_deps plugin in tsc_wrapped PR Close #30370
		
			
				
	
	
		
			92 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # 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"],
 | |
| )
 |