# Copyright Google Inc. All Rights Reserved. # # Use of this source code is governed by an MIT-style license that can be # found in the LICENSE file at https://angular.io/license load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") load("//tools:ts_json_schema.bzl", "ts_json_schema") load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") licenses(["notice"]) package(default_visibility = ["//visibility:public"]) ts_json_schema( name = "webpack_schema", src = "src/webpack/schema.json", ) ts_json_schema( name = "webpack_dev_server_schema", src = "src/webpack-dev-server/schema.json", ) ts_library( name = "build_webpack", package_name = "@angular-devkit/build-webpack", srcs = glob( include = ["src/**/*.ts"], exclude = [ "src/test-utils.ts", "src/**/*_spec.ts", ], ) + [ "//packages/angular_devkit/build_webpack:src/webpack/schema.ts", "//packages/angular_devkit/build_webpack:src/webpack-dev-server/schema.ts", ], data = [ "builders.json", "package.json", "src/webpack-dev-server/schema.json", "src/webpack/schema.json", ], module_name = "@angular-devkit/build-webpack", module_root = "src/index.d.ts", deps = [ "//packages/angular_devkit/architect", "@npm//@types/node", "@npm//rxjs", "@npm//webpack", "@npm//webpack-dev-server", ], ) ts_library( name = "build_webpack_test_lib", testonly = True, srcs = glob( include = [ "src/test-utils.ts", "src/**/*_spec.ts", ], ), data = glob( include = [ "test/**/*", ], ), deps = [ ":build_webpack", "//packages/angular_devkit/architect", "//packages/angular_devkit/architect/node", "//packages/angular_devkit/architect/testing", "//packages/angular_devkit/core", "//packages/angular_devkit/core/node", "//packages/ngtools/webpack", "@npm//@angular/common", "@npm//@angular/compiler", "@npm//@angular/compiler-cli", "@npm//@angular/core", "@npm//@angular/platform-browser", "@npm//@angular/platform-browser-dynamic", "@npm//@types/node-fetch", "@npm//node-fetch", "@npm//tslib", "@npm//zone.js", ], ) [ jasmine_node_test( name = "build_webpack_test_" + toolchain_name, srcs = [":build_webpack_test_lib"], tags = [toolchain_name], # Turns off nodejs require patches and turns on the linker, which sets up up node_modules # so that standard node module resolution work. templated_args = ["--nobazel_patch_module_resolver"], toolchain = toolchain, deps = [ "@npm//jasmine", "@npm//source-map", ], ) for toolchain_name, toolchain in zip( TOOLCHAINS_NAMES, TOOLCHAINS_VERSIONS, ) ] genrule( name = "license", srcs = ["//:LICENSE"], outs = ["LICENSE"], cmd = "cp $(execpath //:LICENSE) $@", ) pkg_npm( name = "npm_package", pkg_deps = [ "//packages/angular_devkit/architect:package.json", ], tags = ["release-package"], deps = [ ":README.md", ":build_webpack", ":builders.json", ":license", ], ) api_golden_test_npm_package( name = "build_webpack_api", data = [ ":npm_package", "//goldens:public-api", ], golden_dir = "angular_cli/goldens/public-api/angular_devkit/build_webpack", npm_package = "angular_cli/packages/angular_devkit/build_webpack/npm_package", )