mirror of
https://github.com/angular/angular-cli.git
synced 2025-05-17 11:03:53 +08:00
The dev-infra build tooling is now decoupled from `ng-dev`. This will make it easier to update `ng-dev` without necessarily needing to upgrade the whole build system, Bazel etc. This is useful when e.g. new release tool features have been added and should also be ported to active LTS branches.
131 lines
3.4 KiB
Python
131 lines
3.4 KiB
Python
# 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("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package")
|
|
|
|
licenses(["notice"]) # MIT
|
|
|
|
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",
|
|
srcs = [":build_webpack_test_lib"],
|
|
# 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"],
|
|
deps = [
|
|
"@npm//jasmine",
|
|
"@npm//source-map",
|
|
],
|
|
)
|
|
|
|
genrule(
|
|
name = "license",
|
|
srcs = ["//:LICENSE"],
|
|
outs = ["LICENSE"],
|
|
cmd = "cp $(execpath //:LICENSE) $@",
|
|
)
|
|
|
|
pkg_npm(
|
|
name = "npm_package",
|
|
pkg_deps = [
|
|
"//packages/angular_devkit/architect:package.json",
|
|
],
|
|
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",
|
|
)
|