# 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.dev/license load("@npm2//:defs.bzl", "npm_link_all_packages") load("//tools:defaults2.bzl", "jasmine_test", "npm_package", "ts_project") load("//tools:ng_cli_schema_generator.bzl", "cli_json_schema") load("//tools:ts_json_schema.bzl", "ts_json_schema") licenses(["notice"]) package(default_visibility = ["//visibility:public"]) npm_link_all_packages() RUNTIME_ASSETS = glob( include = [ "bin/**/*", "src/**/*.md", "src/**/*.json", ], exclude = [ "lib/config/workspace-schema.json", ], ) + [ "//packages/angular/cli:lib/config/schema.json", ] ts_project( name = "angular-cli", srcs = glob( include = [ "lib/**/*.ts", "src/**/*.ts", ], exclude = [ "**/*_spec.ts", ], ) + [ # These files are generated from the JSON schema "//packages/angular/cli:lib/config/workspace-schema.ts", "//packages/angular/cli:src/commands/update/schematic/schema.ts", ], data = RUNTIME_ASSETS, module_name = "@angular/cli", deps = [ ":node_modules/@angular-devkit/architect", ":node_modules/@angular-devkit/core", ":node_modules/@angular-devkit/schematics", ":node_modules/resolve", "//:node_modules/@angular/core", "//:node_modules/@inquirer/prompts", "//:node_modules/@listr2/prompt-adapter-inquirer", "//:node_modules/@types/ini", "//:node_modules/@types/node", "//:node_modules/@types/npm-package-arg", "//:node_modules/@types/pacote", "//:node_modules/@types/resolve", "//:node_modules/@types/semver", "//:node_modules/@types/yargs", "//:node_modules/@types/yarnpkg__lockfile", "//:node_modules/@yarnpkg/lockfile", "//:node_modules/ini", "//:node_modules/jsonc-parser", "//:node_modules/listr2", "//:node_modules/npm-package-arg", "//:node_modules/npm-pick-manifest", "//:node_modules/pacote", "//:node_modules/semver", "//:node_modules/symbol-observable", "//:node_modules/yargs", ], ) CLI_SCHEMA_DATA = [ "//packages/angular/build:schemas", "//packages/angular_devkit/build_angular:schemas", "//packages/schematics/angular:schemas", ] cli_json_schema( name = "cli_config_schema", src = "lib/config/workspace-schema.json", out = "lib/config/schema.json", data = CLI_SCHEMA_DATA, ) ts_json_schema( name = "cli_schema", src = "lib/config/workspace-schema.json", data = CLI_SCHEMA_DATA, ) ts_json_schema( name = "update_schematic_schema", src = "src/commands/update/schematic/schema.json", ) ts_project( name = "angular-cli_test_lib", testonly = True, srcs = glob( include = ["**/*_spec.ts"], exclude = [ # NB: we need to exclude the nested node_modules that is laid out by yarn workspaces "node_modules/**", ], ), deps = [ ":angular-cli", ":node_modules/@angular-devkit/core", ":node_modules/@angular-devkit/schematics", "//:node_modules/@types/semver", "//:node_modules/@types/yargs", "//:node_modules/semver", "//:node_modules/yargs", ], ) jasmine_test( name = "angular-cli_test", data = [":angular-cli_test_lib"], ) genrule( name = "license", srcs = ["//:LICENSE"], outs = ["LICENSE"], cmd = "cp $(execpath //:LICENSE) $@", ) npm_package( name = "pkg", pkg_deps = [ "//packages/angular_devkit/architect:package.json", "//packages/angular_devkit/build_angular:package.json", "//packages/angular_devkit/build_webpack:package.json", "//packages/angular_devkit/core:package.json", "//packages/angular_devkit/schematics:package.json", "//packages/schematics/angular:package.json", ], stamp_files = [ "src/utilities/version.js", ], tags = ["release-package"], deps = RUNTIME_ASSETS + [ ":README.md", ":angular-cli", ":license", ], )