build(dev-infra): update package.json and :npm_package (#36434)

* Set up dev-infra's :npm_package to also contain benchmarking suite
* Add benchmarking deps to dev-infra's package.json
* Add a bazel workspace to dev-infra's package.json. This is so that when a
  project wants to use dev-infra's code and macros, they can just import the
  macros from their node_modules instead of loading it separately

PR Close #36434
This commit is contained in:
Wagner Maciel
2020-04-22 09:56:40 -07:00
committed by Andrew Kushnir
parent b7f2a033df
commit d6f6cd0cb1
3 changed files with 49 additions and 13 deletions

View File

@ -34,10 +34,30 @@ genrule(
pkg_npm(
name = "npm_package",
srcs = [
"BUILD.bazel",
"//dev-infra/benchmark:files",
],
substitutions = {
# angular/angular should not consume it's own packages, so we use
# substitutions to replace these in the deployed version of dev-infra.
"//dev-infra/": "@npm_dev_infra//",
"//packages/benchpress": "@npm//@angular/benchpress",
"//packages/bazel/src:esm5.bzl": "@npm_angular_bazel//src:esm5.bzl",
"//packages/zone.js/dist:zone.js": "@npm//:node_modules/zone.js/dist/zone.js",
"//packages/core": "@npm//@angular/core",
"//packages/platform-browser": "@npm//@angular/platform-browser",
# This substitution is particularly verbose because we need to make sure
# that only things available via Angular Bazel are imported from
# tools/defaults.bzl.
"load\(\"//tools:defaults.bzl\", \"ng_module\"\)": "load(\"@npm_angular_bazel//:index.bzl\", \"ng_module\")",
},
visibility = ["//visibility:public"],
deps = [
":cli",
":package-json",
"//dev-infra/benchmark/driver-utilities",
"//dev-infra/commit-message",
"//dev-infra/ts-circular-dependencies",
],