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",
],

View File

@ -8,14 +8,42 @@
"ng-dev": "./cli.js",
"ts-circular-deps": "./ts-circular-dependencies/index.js"
},
"dependencies": {
"fs-extra": "<from-root>",
"node-uuid": "<from-root>"
},
"peerDependencies": {
"@angular/bazel": "^9.0.0",
"@angular/core": "^9.0.0",
"@angular/platform-browser": "^9.0.0",
"@angular/benchpress": "^0.1.0",
"@angular-devkit/build-optimizer": "<from-root>",
"@bazel/protractor": "<from-root>",
"@bazel/terser": "<from-root>",
"@bazel/typescript": "<from-root>",
"brotli": "<from-root>",
"chalk": "<from-root>",
"glob": "<from-root>",
"json5": "<from-root>",
"minimatch": "<from-root>",
"node-uuid": "<from-root>",
"protractor": "<from-root>",
"rollup": "<from-root>",
"rollup-plugin-commonjs": "<from-root>",
"rollup-plugin-node-resolve": "<from-root>",
"rollup-plugin-sourcemaps": "<from-root>",
"selenium-webdriver": "<from-root>",
"shelljs": "<from-root>",
"typescript": "<from-root>",
"yaml": "<from-root>",
"yargs": "<from-root>",
"tslib": "<from-root>"
"tslib": "<from-root>",
"zone.js": "^0.10.3"
},
"bazelWorkspaces": {
"npm_dev_infra": {
"version": "0.0.0-PLACEHOLDER",
"rootPath": "."
}
}
}

View File

@ -1,12 +0,0 @@
package(default_visibility = ["//visibility:public"])
# Make source files available for distribution via pkg_npm
filegroup(
name = "files",
srcs = glob(["*"]) + [
"//dev-infra/benchmark/brotli-cli:files",
"//dev-infra/benchmark/browsers:files",
"//dev-infra/benchmark/component_benchmark:files",
"//dev-infra/benchmark/ng_rollup_bundle:files",
],
)