fix: bazel support for downstream apps (#13836)

This commit is contained in:
Greg Magolan
2018-11-02 14:33:07 -07:00
committed by Jeremy Elbourn
parent 94c60d661a
commit 150c964c32
22 changed files with 4321 additions and 154 deletions
+13 -6
View File
@@ -17,13 +17,15 @@ http_archive(
# Add Angular source and Bazel rules.
http_archive(
name = "angular",
url = "https://github.com/angular/angular/archive/7.0.1.zip",
strip_prefix = "angular-7.0.1",
url = "https://github.com/angular/angular/archive/7.0.2.zip",
strip_prefix = "angular-7.0.2",
)
# Add RxJS as repository because those are needed in order to build Angular from source.
# Also we cannot refer to the RxJS version from the node modules because self-managed
# node modules are not guaranteed to be installed.
# TODO(gmagolan): remove this once rxjs ships with an named UMD bundle and we
# are no longer building it from source.
http_archive(
name = "rxjs",
url = "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.3.tgz",
@@ -72,12 +74,14 @@ node_repositories(
yarn_version = "1.9.4",
)
# Use Bazel managed node modules. See more below:
# https://github.com/bazelbuild/rules_nodejs#bazel-managed-vs-self-managed-dependencies
# @npm is temporarily needed to build @rxjs from source since its ts_library
# targets will depend on an @npm workspace by default.
# TODO(gmagolan): remove this once rxjs ships with an named UMD bundle and we
# are no longer building it from source.
yarn_install(
name = "npm",
package_json = "//:package.json",
yarn_lock = "//:yarn.lock",
package_json = "//tools:npm/package.json",
yarn_lock = "//tools:npm/yarn.lock",
)
# Setup TypeScript Bazel workspace
@@ -88,6 +92,9 @@ ts_setup_workspace()
load("@angular//:index.bzl", "ng_setup_workspace")
ng_setup_workspace()
load("@angular_material//:index.bzl", "angular_material_setup_workspace")
angular_material_setup_workspace()
# Setup Go toolchain (required for Bazel web testing rules)
load("@io_bazel_rules_go//go:def.bzl", "go_rules_dependencies", "go_register_toolchains")
go_rules_dependencies()
+14
View File
@@ -0,0 +1,14 @@
# Copyright Google LLC 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
"""Public API surface is re-exported here.
This API is exported for users building Angular Material from source in
downstream projects.
"""
load("//tools:angular_material_setup_workspace.bzl",
_angular_material_setup_workspace = "angular_material_setup_workspace")
angular_material_setup_workspace = _angular_material_setup_workspace
+14 -14
View File
@@ -29,13 +29,13 @@
"version": "7.0.2",
"requiredAngularVersion": ">=7.0.0",
"dependencies": {
"@angular/animations": "^7.0.0",
"@angular/common": "^7.0.0",
"@angular/compiler": "^7.0.0",
"@angular/core": "^7.0.0",
"@angular/elements": "^7.0.0",
"@angular/forms": "^7.0.0",
"@angular/platform-browser": "^7.0.0",
"@angular/animations": "^7.0.2",
"@angular/common": "^7.0.2",
"@angular/compiler": "^7.0.2",
"@angular/core": "^7.0.2",
"@angular/elements": "^7.0.2",
"@angular/forms": "^7.0.2",
"@angular/platform-browser": "^7.0.2",
"@webcomponents/custom-elements": "^1.1.0",
"core-js": "^2.4.1",
"rxjs": "^6.3.3",
@@ -47,13 +47,13 @@
"devDependencies": {
"@angular-devkit/core": "^7.0.1",
"@angular-devkit/schematics": "^7.0.1",
"@angular/bazel": "7.0.1",
"@angular/compiler-cli": "^7.0.0",
"@angular/http": "^7.0.0",
"@angular/platform-browser-dynamic": "^7.0.0",
"@angular/platform-server": "^7.0.0",
"@angular/router": "^7.0.0",
"@angular/upgrade": "^7.0.0",
"@angular/bazel": "^7.0.2",
"@angular/compiler-cli": "^7.0.2",
"@angular/http": "^7.0.2",
"@angular/platform-browser-dynamic": "^7.0.2",
"@angular/platform-server": "^7.0.2",
"@angular/router": "^7.0.2",
"@angular/upgrade": "^7.0.2",
"@bazel/ibazel": "0.6.0",
"@bazel/karma": "0.20.3",
"@bazel/typescript": "0.20.3",
+2 -2
View File
@@ -6,14 +6,14 @@ ts_library(
name = "coercion",
srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]),
module_name = "@angular/cdk/coercion",
deps = ["@npm//tslib"],
deps = ["@matdeps//tslib"],
)
ts_library(
name = "coercion_test_sources",
srcs = glob(["**/*.spec.ts"]),
deps = [
"@npm//@types/jasmine",
"@matdeps//@types/jasmine",
":coercion"
],
testonly = 1,
+1 -1
View File
@@ -16,7 +16,7 @@ ts_library(
name = "collections_test_sources",
srcs = glob(["**/*.spec.ts"]),
deps = [
"@npm//@types/jasmine",
"@matdeps//@types/jasmine",
":collections"
],
testonly = 1,
+1 -1
View File
@@ -6,5 +6,5 @@ ts_library(
name = "keycodes",
module_name = "@angular/cdk/keycodes",
srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]),
deps = ["@npm//tslib"],
deps = ["@matdeps//tslib"],
)
+16 -17
View File
@@ -1,9 +1,8 @@
package(default_visibility = ["//visibility:public"])
load("@build_bazel_rules_typescript//:defs.bzl", "ts_library")
load("@build_bazel_rules_nodejs//:defs.bzl", "npm_package")
load("//:packages.bzl", "VERSION_PLACEHOLDER_REPLACEMENTS")
load("//tools:defaults.bzl", "jasmine_node_test")
load("//tools:defaults.bzl", "jasmine_node_test", "ts_library")
# TODO(devversion): remove when https://github.com/bazelbuild/rules_nodejs/issues/352 is fixed
exports_files(["#bazel_workaround.txt"])
@@ -24,15 +23,15 @@ ts_library(
]),
tsconfig = ":tsconfig.json",
deps = [
"@npm//@schematics/angular",
"@npm//@angular-devkit/schematics",
"@matdeps//@schematics/angular",
"@matdeps//@angular-devkit/schematics",
# TODO(devversion): Only include jasmine for test sources (See: tsconfig types).
"@npm//@types/jasmine",
"@npm//@types/node",
"@npm//glob",
"@npm//parse5",
"@npm//tslint",
"@npm//typescript"
"@matdeps//@types/jasmine",
"@matdeps//@types/node",
"@matdeps//glob",
"@matdeps//parse5",
"@matdeps//tslint",
"@matdeps//typescript"
],
)
@@ -57,13 +56,13 @@ ts_library(
srcs = glob(["**/*.spec.ts"], exclude = ["**/files/**/*.spec.ts"]),
deps = [
"//src/cdk/schematics/testing",
"@npm//@schematics/angular",
"@npm//@angular-devkit/schematics",
"@npm//@types/jasmine",
"@npm//@types/node",
"@npm//mock-fs",
"@npm//tslint",
"@npm//typescript",
"@matdeps//@schematics/angular",
"@matdeps//@angular-devkit/schematics",
"@matdeps//@types/jasmine",
"@matdeps//@types/node",
"@matdeps//mock-fs",
"@matdeps//tslint",
"@matdeps//typescript",
":schematics",
],
tsconfig = ":tsconfig.json",
+7 -7
View File
@@ -7,12 +7,12 @@ ts_library(
module_name = "@angular/cdk/schematics/testing",
srcs = glob(["**/*.ts"]),
deps = [
"@npm//@angular-devkit/core",
"@npm//@angular-devkit/schematics",
"@npm//@schematics/angular",
"@npm//@types/node",
"@npm//@types/fs-extra",
"@npm//fs-extra",
"@npm//rxjs",
"@matdeps//@angular-devkit/core",
"@matdeps//@angular-devkit/schematics",
"@matdeps//@schematics/angular",
"@matdeps//@types/node",
"@matdeps//@types/fs-extra",
"@matdeps//fs-extra",
"@matdeps//rxjs",
],
)
+7 -1
View File
@@ -10,10 +10,10 @@ ng_module(
assets = [
":form-field.css",
":form-field-fill.css",
":form-field-input.css",
":form-field-legacy.css",
":form-field-outline.css",
":form-field-standard.css",
"//src/lib/input:input.css"
] + glob(["**/*.html"]),
deps = [
"@angular//packages/animations",
@@ -49,6 +49,12 @@ sass_binary(
deps = ["//src/lib/core:core_scss_lib"],
)
sass_binary(
name = "form_field_input_scss",
src = "form-field-input.scss",
deps = ["//src/lib/core:core_scss_lib"],
)
sass_binary(
name = "form_field_legacy_scss",
src = "form-field-legacy.scss",
+4 -4
View File
@@ -99,16 +99,16 @@ export const MAT_FORM_FIELD_DEFAULT_OPTIONS =
selector: 'mat-form-field',
exportAs: 'matFormField',
templateUrl: 'form-field.html',
// MatInput is a directive and can't have styles, so we need to include its styles here.
// The MatInput styles are fairly minimal so it shouldn't be a big deal for people who
// aren't using MatInput.
// MatInput is a directive and can't have styles, so we need to include its styles here
// in form-field-input.css. The MatInput styles are fairly minimal so it shouldn't be a
// big deal for people who aren't using MatInput.
styleUrls: [
'form-field.css',
'form-field-fill.css',
'form-field-input.css',
'form-field-legacy.css',
'form-field-outline.css',
'form-field-standard.css',
'../input/input.css',
],
animations: [matFormFieldAnimations.transitionMessages],
host: {
+1 -9
View File
@@ -7,9 +7,7 @@ ng_module(
name = "input",
srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]),
module_name = "@angular/material/input",
assets = [
":input.css",
] + glob(["**/*.html"]),
assets = glob(["**/*.html"]),
deps = [
"@angular//packages/common",
"@angular//packages/core",
@@ -29,12 +27,6 @@ filegroup(
srcs = glob(["**/_*.scss"]),
)
sass_binary(
name = "input_scss",
src = "input.scss",
deps = ["//src/lib/core:core_scss_lib"],
)
sass_library(
name = "theme",
srcs = glob(["**/*-theme.scss"]),
+11 -12
View File
@@ -1,9 +1,8 @@
package(default_visibility = ["//visibility:public"])
load("@build_bazel_rules_typescript//:defs.bzl", "ts_library")
load("@build_bazel_rules_nodejs//:defs.bzl", "npm_package")
load("//:packages.bzl", "VERSION_PLACEHOLDER_REPLACEMENTS")
load("//tools:defaults.bzl", "jasmine_node_test")
load("//tools:defaults.bzl", "jasmine_node_test", "ts_library")
filegroup(
name = "schematics_assets",
@@ -20,13 +19,13 @@ ts_library(
]),
deps = [
"//src/cdk/schematics",
"@npm//@angular-devkit/schematics",
"@npm//@schematics/angular",
"@matdeps//@angular-devkit/schematics",
"@matdeps//@schematics/angular",
# TODO(devversion): Only include jasmine for test sources (See: tsconfig types).
"@npm//@types/jasmine",
"@npm//@types/node",
"@npm//tslint",
"@npm//typescript",
"@matdeps//@types/jasmine",
"@matdeps//@types/node",
"@matdeps//tslint",
"@matdeps//typescript",
],
tsconfig = ":tsconfig.json",
)
@@ -54,10 +53,10 @@ ts_library(
":schematics",
"//src/cdk/schematics",
"//src/cdk/schematics/testing",
"@npm//@schematics/angular",
"@npm//@angular-devkit/schematics",
"@npm//@types/jasmine",
"@npm//@types/node",
"@matdeps//@schematics/angular",
"@matdeps//@angular-devkit/schematics",
"@matdeps//@types/jasmine",
"@matdeps//@types/node",
],
tsconfig = ":tsconfig.json",
testonly = True,
+1 -1
View File
@@ -10,7 +10,7 @@ ng_module(
module_name = "@angular/material-moment-adapter",
deps = [
"@angular//packages/core",
"@npm//moment",
"@matdeps//moment",
"//src/lib/core"
],
# Explicitly specify the tsconfig that is also used by Gulp. We need to explicitly use this
+1 -1
View File
@@ -9,7 +9,7 @@ ts_library(
deps = [
"@angular//packages/core/testing",
"@angular//packages/platform-browser-dynamic/testing",
"@npm//@types/jasmine",
"@matdeps//@types/jasmine",
],
# This file *must* end with "spec" in order for ts_web_test to load it.
srcs = ["angular-test-init-spec.ts"],
+4 -4
View File
@@ -1,5 +1,5 @@
package(default_visibility=["//visibility:public"])
load("@build_bazel_rules_typescript//:defs.bzl", "ts_library")
load("//tools:defaults.bzl", "ts_library")
load("@build_bazel_rules_nodejs//:defs.bzl", "nodejs_binary")
@@ -7,8 +7,8 @@ ts_library(
name = "sass_bundle_lib",
srcs = ["sass_bundle.ts"],
deps = [
"@npm//@types/node",
"@npm//scss-bundle",
"@matdeps//@types/node",
"@matdeps//scss-bundle",
],
tsconfig = "bazel-tools-tsconfig.json",
)
@@ -17,7 +17,7 @@ ts_library(
nodejs_binary(
name = "sass_bundle",
data = [
"@npm//scss-bundle",
"@matdeps//scss-bundle",
":sass_bundle_lib",
],
entry_point = "angular_material/tools/sass_bundle.js",
@@ -0,0 +1,25 @@
# Copyright Google LLC 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
"""Install Angular Material source dependencies"""
load("@build_bazel_rules_nodejs//:defs.bzl", "yarn_install")
def angular_material_setup_workspace():
"""This repository rule should be called from your WORKSPACE file.
It creates some additional Bazel external repositories that are used internally
to build Angular Material
"""
# Use Bazel managed node modules. See more below:
# https://github.com/bazelbuild/rules_nodejs#bazel-managed-vs-self-managed-dependencies
# Note: The repository_rule name is `@matdeps` so it does not conflict with the `@npm` repository
# name downstream when building Angular Material from source. In the future when Angular + Bazel
# users can build using the @angular/material npm bundles (depends on Ivy) this can be changed
# to `@npm`.
yarn_install(
name = "matdeps",
package_json = "@angular_material//:package.json",
yarn_lock = "@angular_material//:yarn.lock",
)
+15 -12
View File
@@ -5,14 +5,15 @@ load("@build_bazel_rules_nodejs//:defs.bzl", _jasmine_node_test = "jasmine_node_
load("@build_bazel_rules_typescript//:defs.bzl", _ts_library = "ts_library",
_ts_web_test_suite = "ts_web_test_suite")
DEFAULT_TSCONFIG_BUILD = "//src:bazel-tsconfig-build.json"
DEFAULT_TSCONFIG_TEST = "//src:bazel-tsconfig-test.json"
_DEFAULT_TSCONFIG_BUILD = "//src:bazel-tsconfig-build.json"
_DEFAULT_TSCONFIG_TEST = "//src:bazel-tsconfig-test.json"
_DEFAULT_TS_TYPINGS = "@matdeps//typescript:typescript__typings"
def _getDefaultTsConfig(testonly):
if testonly:
return DEFAULT_TSCONFIG_TEST
return _DEFAULT_TSCONFIG_TEST
else:
return DEFAULT_TSCONFIG_BUILD
return _DEFAULT_TSCONFIG_BUILD
def ts_library(tsconfig = None, testonly = False, **kwargs):
if not tsconfig:
@@ -21,6 +22,7 @@ def ts_library(tsconfig = None, testonly = False, **kwargs):
_ts_library(
tsconfig = tsconfig,
testonly = testonly,
node_modules = _DEFAULT_TS_TYPINGS,
**kwargs
)
@@ -31,7 +33,7 @@ def ng_module(deps = [], tsconfig = None, testonly = False, **kwargs):
local_deps = [
# Since we use the TypeScript import helpers (tslib) for each TypeScript configuration,
# we declare TSLib as default dependency
"@npm//tslib",
"@matdeps//tslib",
# Depend on the module typings for each `ng_module`. Since all components within the project
# need to use `module.id` when creating components, this is always a dependency.
@@ -42,14 +44,15 @@ def ng_module(deps = [], tsconfig = None, testonly = False, **kwargs):
deps = local_deps,
tsconfig = tsconfig,
testonly = testonly,
node_modules = _DEFAULT_TS_TYPINGS,
**kwargs
)
def jasmine_node_test(deps = [], **kwargs):
local_deps = [
# Workaround for: https://github.com/bazelbuild/rules_nodejs/issues/344
"@npm//jasmine",
"@npm//source-map-support",
"@matdeps//jasmine",
"@matdeps//source-map-support",
] + deps
_jasmine_node_test(
@@ -63,7 +66,7 @@ def ng_test_library(deps = [], tsconfig = None, **kwargs):
# all Angular component unit tests use the `TestBed` and `Component` exports.
"@angular//packages/core",
"@angular//packages/core/testing",
"@npm//@types/jasmine",
"@matdeps//@types/jasmine",
] + deps;
ts_library(
@@ -108,13 +111,13 @@ def ng_web_test_suite(deps = [], srcs = [], static_css = [], bootstrap = [], **k
_ts_web_test_suite(
# Required for running the compiled ng modules that use TypeScript import helpers.
srcs = ["@npm//node_modules/tslib:tslib.js"] + srcs,
srcs = ["@matdeps//node_modules/tslib:tslib.js"] + srcs,
# Depend on our custom test initialization script. This needs to be the first dependency.
deps = ["//test:angular_test_init"] + deps,
bootstrap = [
"@npm//node_modules/zone.js:dist/zone-testing-bundle.js",
"@npm//node_modules/reflect-metadata:Reflect.js",
"@npm//node_modules/hammerjs:hammer.js",
"@matdeps//node_modules/zone.js:dist/zone-testing-bundle.js",
"@matdeps//node_modules/reflect-metadata:Reflect.js",
"@matdeps//node_modules/hammerjs:hammer.js",
] + bootstrap,
**kwargs
)
+14
View File
@@ -0,0 +1,14 @@
{
"description": "minimal @npm repo required to build @rxjs from source and so that @npm//@angular/bazel is a valid target",
"dependencies": {
"@angular/bazel": "7.0.2",
"@angular/compiler": "7.0.2",
"@angular/compiler-cli": "7.0.2",
"@bazel/karma": "0.20.3",
"@bazel/typescript": "0.20.3",
"typescript": "^3.1.1"
},
"scripts": {
"//": "TODO(gregmagolan): figure out how to keep @bazel/karma & @bazel/typescript dependencies here up to date with the root package.json; NOTE: versions of @angular/x don't matter here as they are only require to create the @npm//@angular/bazel target name"
}
}
+4108
View File
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -1,16 +1,16 @@
package(default_visibility=["//visibility:public"])
load("@build_bazel_rules_nodejs//:defs.bzl", "nodejs_binary")
load("@build_bazel_rules_typescript//:defs.bzl", "ts_library")
load("//tools:defaults.bzl", "ts_library")
ts_library(
name = "release-sources",
srcs = glob(["**/*.ts"]),
deps = [
"@npm//@types/node",
"@npm//@types/inquirer",
"@npm//chalk",
"@npm//inquirer"
"@matdeps//@types/node",
"@matdeps//@types/inquirer",
"@matdeps//chalk",
"@matdeps//inquirer"
],
tsconfig = ":tsconfig.json"
)
@@ -18,7 +18,7 @@ ts_library(
nodejs_binary(
name = "stage-release",
data = [
"@npm//source-map-support",
"@matdeps//source-map-support",
":release-sources",
],
entry_point = "angular_material/tools/release/stage-release.js",
+56 -56
View File
@@ -21,34 +21,34 @@
"@angular-devkit/core" "7.0.1"
rxjs "6.3.3"
"@angular/animations@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-7.0.0.tgz#5c9e1683063c29df10253b7dc5bb9b13694ee396"
integrity sha512-IYdryQXdYfPvhJpExLSAr0o9rlUeyVS++a6h/sjqN1dkUt/yJBHLRreuHx8Udvlj2nH70raHJgevk8FwhAkTdA==
"@angular/animations@^7.0.2":
version "7.0.2"
resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-7.0.2.tgz#84513e8958b8fb57a35f6e494a0d465d081c7f8d"
integrity sha512-4EqCmfqbqIrMMf9WPiUpVqV+19z6BDtaRPAC6QXU6lcl0Lq67fw6a0yJ6ZvFXThPot3L6NNxmvbO2inzpiVV9A==
dependencies:
tslib "^1.9.0"
"@angular/bazel@7.0.1":
version "7.0.1"
resolved "https://registry.yarnpkg.com/@angular/bazel/-/bazel-7.0.1.tgz#42e1a114a20643ea53cff1bb8091e1ba08637885"
integrity sha512-DEv1QiccMglqPyXqxtl3Onm4j1aIJzvWx/4Tyy6gEK/r7wOqwffkPrmQGGJC3QAhsXxXMRK0mQ3jkKoAXLbunA==
"@angular/bazel@^7.0.2":
version "7.0.2"
resolved "https://registry.yarnpkg.com/@angular/bazel/-/bazel-7.0.2.tgz#e17ee29cd217aec3519570b6c6a4e494e77502a2"
integrity sha512-ob4GnMFzX0IlpoQovgmZhdOV1LqkCqRzEzqJ82GwW4gH+kkMVT0VQi22/0eFQ+i23syv8TYA5qOhSsOaSpZ/ng==
dependencies:
"@bazel/typescript" "^0.20.3"
"@types/node" "6.0.84"
shelljs "0.8.2"
tsickle "0.32.1"
"@angular/common@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@angular/common/-/common-7.0.0.tgz#29206614d2b8dc79e5207b7dc6f9fc559e9a24f2"
integrity sha512-jp6MA6EOq/a1m+F0c1aZC345pAYYYFpN1m7GMM91JlqkjzJMhyYVk+Bod9xQOEWadcpY+RFudG+jRsPCMO8bvQ==
"@angular/common@^7.0.2":
version "7.0.2"
resolved "https://registry.yarnpkg.com/@angular/common/-/common-7.0.2.tgz#0cb62f93a43ec1c75762deffb329caff53d9ba27"
integrity sha512-AamMjesc88a4c2cc3QI4N/rYY/unZ+py3VenXIRaAJCpM9PROF0klXdcu8wQ+kuwf2Ba+gkqtuAHIS8dsc5YFg==
dependencies:
tslib "^1.9.0"
"@angular/compiler-cli@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-7.0.0.tgz#fc3f2be293d00834ea5ba268e5aea796cc5deccc"
integrity sha512-fj5ixB4X3BsUnUukFx+dK5z2KkO7lCx5vlbUT2GOMbGCG43dIH6JKUfy5HbpCodLsJHG0gRgZZuY7/k+pbzS+g==
"@angular/compiler-cli@^7.0.2":
version "7.0.2"
resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-7.0.2.tgz#ddfcc6ebeca46bc490fa953a1accc26a7ed93a05"
integrity sha512-xGXJ3MHn1LOYrvM9ix5sRp7r6dYsjLj+okUMDcNeYYEQyT7S/qEFZomhdrPydoXSUitjmXbskSUpGzZ6mzBBXQ==
dependencies:
canonical-path "0.0.2"
chokidar "^1.4.2"
@@ -61,75 +61,75 @@
source-map "^0.6.1"
yargs "9.0.1"
"@angular/compiler@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-7.0.0.tgz#f953a213a01e4736e94fe1a370b07e13e2393b71"
integrity sha512-4fkohfGyG1BEpeYenOartuJmduyZ/R3XQx46hDDiR/9A8/Go4qLGkgr9Bd/JL/gPIR1XAHH9D5ii2sh+28ZEmA==
"@angular/compiler@^7.0.2":
version "7.0.2"
resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-7.0.2.tgz#7fc3427ee58a2d122d3a039396cec316dd11c4cb"
integrity sha512-nyXX91a/sav+Nf99P7oy6ALuZsxlFhu1HEf24sdH3Ga45X3OL4oFCCfHjjDADyhq1SiRd/25Z8j1C4aeN6MJzQ==
dependencies:
tslib "^1.9.0"
"@angular/core@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@angular/core/-/core-7.0.0.tgz#01e9db9074a1db1c47a32f745b787d1c86f5d61a"
integrity sha512-DjVyWNGBWKEeBvxeXy8FGBNlnr/W/tNygOZEd6/uCktcXTG4DNyNQrWuNZUKEpr7RuIT3YVMj+UNwgTq0jB/9g==
"@angular/core@^7.0.2":
version "7.0.2"
resolved "https://registry.yarnpkg.com/@angular/core/-/core-7.0.2.tgz#cfb4ae7504473cc2600b24a9c7cfa5d808486cc2"
integrity sha512-KxK0y3ywFd0uGIHzQRKtj7DD6f8IhntQxBrBFLxNOLwzpb5v8B7HkzHUB/Tnflvo4hFetdGEinS6pO7dikWLTQ==
dependencies:
tslib "^1.9.0"
"@angular/elements@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@angular/elements/-/elements-7.0.0.tgz#01059d317f9383b9675a1e1cd8eb3509812918d2"
integrity sha512-tVnOXU7w+/l2cfr2q5WaxXNuBmXC9WzDIYWw/xZp8zGMXk2X5N+oNIpVWGwLKsoGhmzdKhESLRNCxKF/I/7EiA==
"@angular/elements@^7.0.2":
version "7.0.2"
resolved "https://registry.yarnpkg.com/@angular/elements/-/elements-7.0.2.tgz#3628eff04c1d7b58a3f01e302a24ae4d263a1364"
integrity sha512-umUZUDyogq33sVzApjHYEeLoqL5a//Smyfq5Y5yRD5OaGRi+mdZRtHr0FT34pFIdmNVE9jYIsqasTwsbYrypew==
dependencies:
tslib "^1.9.0"
"@angular/forms@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-7.0.0.tgz#672c306b13e94a20b72c096214642a326c43699a"
integrity sha512-rTg1UHq9gHR6zY3Kkip1KCm/YTck/rlR8CvVFIMwF0bdQxUCT51SXVn58nXts9yDaieABcGaQHNkQn1mARslgw==
"@angular/forms@^7.0.2":
version "7.0.2"
resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-7.0.2.tgz#6c7e5f897c30a68714727a7979d10708cba4708b"
integrity sha512-FPowca8nJxt0gdnwsPaYdyhTnOALhIKJ8Z5EqdAkE5+v3/v76SG3WhUvYE5JFb4P/Ui8zY6htXsvVC7HNMLMBA==
dependencies:
tslib "^1.9.0"
"@angular/http@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@angular/http/-/http-7.0.0.tgz#8add9bc7d548a0ff7dfe1fdb66d0024d4fc62dfa"
integrity sha512-gHMVKosbhXu+2sXccR1fnKpaJBtZioneW+jpG6CW3oo6f4L5FXnGGx/lqYLsgKFM8yHiOs6OXqvuHh8wYEjayA==
"@angular/http@^7.0.2":
version "7.0.2"
resolved "https://registry.yarnpkg.com/@angular/http/-/http-7.0.2.tgz#c76771955d3c10c6081c76b0a5a1abf15de33631"
integrity sha512-b2A7iriK727+zLIf4btdb29uit57IVd+00kFcbq8qWPM09CKe6x1Jbt9OOfPye/+beMFosX7IXByVWGjtk0IRQ==
dependencies:
tslib "^1.9.0"
"@angular/platform-browser-dynamic@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-7.0.0.tgz#2b2a50b5a8176bee257f90ee47b1d873502f7182"
integrity sha512-lH2KuH+Em1y/mTOE6yTJmsOxYkMbYKzKLP9gYzc9vZu3er1df6Jx6jxefeBmAr9v+kNCLnpnHWHz2y4GzAesJA==
"@angular/platform-browser-dynamic@^7.0.2":
version "7.0.2"
resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-7.0.2.tgz#72ae6867103d4c4811bd34e65df1f1cdc6aa7111"
integrity sha512-Bvo7dSA+N5REzpZRdo70PZHgzzf9+SWqfqjMo4XLY/+5jXoJ5Wbi34SstDnUGHecW21cwGtzmi0pI92zeSvNCw==
dependencies:
tslib "^1.9.0"
"@angular/platform-browser@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-7.0.0.tgz#8c13a6380cf465b3628e5b576a1313e9b4976093"
integrity sha512-XyvL30d6meJ+SXlOmdR+sxoLdSvkQdmVNvpdvUzAHC/EqwA/byg4V3bTe5lpZmypclgFCjkGoTsz6uOnnwlQhw==
"@angular/platform-browser@^7.0.2":
version "7.0.2"
resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-7.0.2.tgz#0ec8fa13ac41a97f0fe648265082d2d32f8b2a70"
integrity sha512-D5aDflV80MxzEC9FhBSrFoge9tftRapOTZJyWOAreWFfQGEA/3PG4VZPsLn09I0cXpN1s8+co9HEsrrhrmD+Sg==
dependencies:
tslib "^1.9.0"
"@angular/platform-server@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-7.0.0.tgz#0a60f306f2d7d93daca2214f5afa2899dcd5f977"
integrity sha512-UJlPi/tlsYeNxMV1kNkGUUYDAW9HCq3Ihj8l8syCSOtlDsLhqu+5mqap4SBzoLUy+Qb/P3rLipgC2hrTqZ7+0Q==
"@angular/platform-server@^7.0.2":
version "7.0.2"
resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-7.0.2.tgz#0b7693c420b22147db98eb333c5497ab8e3f912f"
integrity sha512-aXfy3J9r+Yf06OrXKf+fmzOCc33sCADkDQlGkQDqhUZkK1UX4xs1ItauJxmf18nUOMUC6lAEIHYCM5yDYKbBzQ==
dependencies:
domino "^2.1.0"
tslib "^1.9.0"
xhr2 "^0.1.4"
"@angular/router@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@angular/router/-/router-7.0.0.tgz#a4741d8dfa57ac68283fd1c84ac0926eb625e507"
integrity sha512-BK6Ho/7ckldFKc724piuPuMX0HPYXD8SUfwNj6yc0wgzDxdWzSmZj/xPEYll2pGNIA9x8Tg1NQKCD+kp1WXngw==
"@angular/router@^7.0.2":
version "7.0.2"
resolved "https://registry.yarnpkg.com/@angular/router/-/router-7.0.2.tgz#765aa7e03744d53b2c2e06e4b6e190505da47267"
integrity sha512-0auIIjNZgYvYGTPvogsvHfn9/V9oS4tG3PKqmSU9kX/GoHUOvqDxEBtb0vjnlxyQ3dzdBxDSGGa6zhN+0yy9PQ==
dependencies:
tslib "^1.9.0"
"@angular/upgrade@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@angular/upgrade/-/upgrade-7.0.0.tgz#06d68dd9a10da731ecf4fb3851e6b4186177fd93"
integrity sha512-TUmygNbtvYWmjwpu2GrowF3Qk8dMZ4yb9D8Ozfp4vtR2kCbrZc+Dl9cw5s1W2XOLmleHkB4SM6HQNvmluu++yw==
"@angular/upgrade@^7.0.2":
version "7.0.2"
resolved "https://registry.yarnpkg.com/@angular/upgrade/-/upgrade-7.0.2.tgz#634eba5753b45f735c9ea629f0382612fd93dd39"
integrity sha512-RlL8XZAwtPc6Kv/VWZlqeoqKGYgfYqeuuXv86YCUGDzsRGaCmCV8vVpDE003jiQiyCpZjenT7Z8QPPUj2rkpTA==
dependencies:
tslib "^1.9.0"