mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
build(bazel): add rule for cdk npm package (#10509)
* build(bazel): add rule for cdk npm package * Bump to rc0, remove moment from cdk rollup config * Remove TODOs
This commit is contained in:
committed by
Andrew Seguin
parent
4e1bb265e3
commit
9091b21f6f
@@ -1,15 +1,18 @@
|
||||
workspace(name = "angular_material")
|
||||
|
||||
# Add nodejs rules
|
||||
git_repository(
|
||||
http_archive(
|
||||
name = "build_bazel_rules_nodejs",
|
||||
remote = "https://github.com/bazelbuild/rules_nodejs.git",
|
||||
commit = "0.5.1",
|
||||
url = "https://github.com/bazelbuild/rules_nodejs/archive/0.5.3.zip",
|
||||
strip_prefix = "rules_nodejs-0.5.3",
|
||||
sha256 = "17a5515f59777b00cb25dbc710017a14273f825029b2ec60e0969d28914870be",
|
||||
)
|
||||
|
||||
# NOTE: this rule installs nodejs, npm, and yarn, but does NOT install
|
||||
# your npm dependencies. You must still run the package manager.
|
||||
load("@build_bazel_rules_nodejs//:defs.bzl", "node_repositories")
|
||||
load("@build_bazel_rules_nodejs//:defs.bzl", "check_bazel_version", "node_repositories")
|
||||
|
||||
check_bazel_version("0.9.0")
|
||||
node_repositories(package_json = ["//:package.json"])
|
||||
|
||||
# Add sass rules
|
||||
@@ -23,10 +26,11 @@ load("@io_bazel_rules_sass//sass:sass.bzl", "sass_repositories")
|
||||
sass_repositories()
|
||||
|
||||
# Add TypeScript rules
|
||||
git_repository(
|
||||
http_archive(
|
||||
name = "build_bazel_rules_typescript",
|
||||
remote = "https://github.com/bazelbuild/rules_typescript.git",
|
||||
tag = "0.11.1",
|
||||
url = "https://github.com/bazelbuild/rules_typescript/archive/0.11.1.zip",
|
||||
strip_prefix = "rules_typescript-0.11.1",
|
||||
sha256 = "7406bea7954e1c906f075115dfa176551a881119f6820b126ea1eacb09f34a1a",
|
||||
)
|
||||
|
||||
# Setup TypeScript Bazel workspace
|
||||
|
||||
Generated
+6
-6
@@ -35,9 +35,9 @@
|
||||
}
|
||||
},
|
||||
"@angular/bazel": {
|
||||
"version": "6.0.0-beta.8",
|
||||
"resolved": "https://registry.npmjs.org/@angular/bazel/-/bazel-6.0.0-beta.8.tgz",
|
||||
"integrity": "sha512-uC84HaX8/Fuazqv//pn3ZKMHPgPIT2vv+cEEJ7Jli0/H00Tt5LV06lv5qMB1fEBL4Dmn+pHEodjEZoRkJmagrw==",
|
||||
"version": "6.0.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/bazel/-/bazel-6.0.0-rc.0.tgz",
|
||||
"integrity": "sha512-4K98Zx8TYE0QqY5wLtNS+aBje3pnu/HGkyaYWM6GNZckTfiDz3Z2e6dZcgxaGVI1CqJZAx+sUYcGZrkI0wjIhQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@bazel/typescript": "0.11.1",
|
||||
@@ -72,9 +72,9 @@
|
||||
}
|
||||
},
|
||||
"@angular/compiler-cli": {
|
||||
"version": "6.0.0-beta.8",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-6.0.0-beta.8.tgz",
|
||||
"integrity": "sha512-oDftaCQHSGJLJjVvRplI+pU3aazM287+Mr+m1xAKRrOAU6zY4kBcTB9EYECFv9t9T84/1fJy3gng1QcN14kMaA==",
|
||||
"version": "6.0.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-6.0.0-rc.0.tgz",
|
||||
"integrity": "sha512-BTCZEAc/XSywiesuVS1mxRxryvngdG6hjNV396qas61+h/D9JItOTZ5nb0oHs81IPMUZg5Gv53uUG4GdrTuu0g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chokidar": "1.7.0",
|
||||
|
||||
+2
-2
@@ -42,8 +42,8 @@
|
||||
"devDependencies": {
|
||||
"@angular-devkit/core": "^0.4.5",
|
||||
"@angular-devkit/schematics": "^0.4.5",
|
||||
"@angular/bazel": "6.0.0-beta.8",
|
||||
"@angular/compiler-cli": "6.0.0-beta.8",
|
||||
"@angular/bazel": "6.0.0-rc.0",
|
||||
"@angular/compiler-cli": "6.0.0-rc.0",
|
||||
"@angular/http": "6.0.0-beta.8",
|
||||
"@angular/platform-browser-dynamic": "6.0.0-beta.8",
|
||||
"@angular/platform-server": "6.0.0-beta.8",
|
||||
|
||||
@@ -1,4 +1,22 @@
|
||||
# List of all @angular/material components / subpackages.
|
||||
CDK_PACKAGES = [
|
||||
"coercion",
|
||||
"keycodes",
|
||||
"scrolling",
|
||||
"accordion",
|
||||
"observers",
|
||||
"a11y",
|
||||
"overlay",
|
||||
"platform",
|
||||
"bidi",
|
||||
"table",
|
||||
"tree",
|
||||
"portal",
|
||||
"layout",
|
||||
"stepper",
|
||||
"collections",
|
||||
]
|
||||
|
||||
MATERIAL_PACKAGES = [
|
||||
"autocomplete",
|
||||
"badge",
|
||||
+13
-4
@@ -1,8 +1,14 @@
|
||||
package(default_visibility=["//visibility:public"])
|
||||
load("@build_bazel_rules_typescript//:defs.bzl", "ts_library", "ts_config")
|
||||
load("@angular//:index.bzl", "ng_package")
|
||||
load("//:packages.bzl", "CDK_PACKAGES")
|
||||
load("//src/cdk:rollup_globals.bzl", "CDK_ROLLUP_GLOBALS")
|
||||
|
||||
|
||||
# Export the CDK tsconfig so that subpackages can reference it directly.
|
||||
exports_files(["tsconfig-build.json"])
|
||||
|
||||
# Root "@angular/cdk" entry-point that does not re-export individual entry-points.
|
||||
ts_library(
|
||||
name = "cdk",
|
||||
srcs = glob(["*.ts"], exclude=["**/*.spec.ts"]),
|
||||
@@ -11,8 +17,11 @@ ts_library(
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
)
|
||||
|
||||
ts_config(
|
||||
name ="tsconfig_tests",
|
||||
src = "tsconfig-tests.json",
|
||||
deps = ["tsconfig-build.json"],
|
||||
# Creates the @angular/cdk package published to npm.
|
||||
ng_package(
|
||||
name = "npm_package",
|
||||
srcs = ["package.json"],
|
||||
entry_point = "src/cdk/public_api.js",
|
||||
globals = CDK_ROLLUP_GLOBALS,
|
||||
deps = [":cdk"] + ["//src/cdk/%s" % p for p in CDK_PACKAGES]
|
||||
)
|
||||
|
||||
@@ -14,7 +14,7 @@ ng_module(
|
||||
"//src/cdk/platform",
|
||||
"@rxjs",
|
||||
],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
# TODO(jelbourn): remove this when sass_library acts like a filegroup
|
||||
@@ -39,7 +39,7 @@ ts_library(
|
||||
"//src/cdk/testing",
|
||||
"@rxjs",
|
||||
],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
ts_web_test(
|
||||
|
||||
@@ -11,7 +11,7 @@ ng_module(
|
||||
"//src/cdk/coercion",
|
||||
"//src/cdk/collections",
|
||||
],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
ts_library(
|
||||
@@ -22,7 +22,7 @@ ts_library(
|
||||
":accordion",
|
||||
"@rxjs",
|
||||
],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
ts_web_test(
|
||||
|
||||
@@ -8,7 +8,7 @@ ng_module(
|
||||
srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]),
|
||||
module_name = "@angular/cdk/bidi",
|
||||
deps = ["@rxjs"],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
ts_library(
|
||||
@@ -19,7 +19,7 @@ ts_library(
|
||||
":bidi",
|
||||
"@rxjs",
|
||||
],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
ts_web_test(
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
package(default_visibility=["//visibility:public"])
|
||||
load("@build_bazel_rules_typescript//:defs.bzl", "ts_library")
|
||||
load("@build_bazel_rules_typescript//:defs.bzl", "ts_library", "ts_web_test")
|
||||
load("@angular//:index.bzl", "ng_module")
|
||||
|
||||
# Note: this will need to ng_module if any Angular-specific stuff is added to coercion.
|
||||
ts_library(
|
||||
|
||||
ng_module(
|
||||
name = "coercion",
|
||||
srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]),
|
||||
module_name = "@angular/cdk/coercion",
|
||||
deps = [],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
deps = ["@rxjs"],
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
ts_library(
|
||||
|
||||
@@ -8,7 +8,7 @@ ng_module(
|
||||
srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]),
|
||||
module_name = "@angular/cdk/collections",
|
||||
deps = ["@rxjs"],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
ts_library(
|
||||
@@ -19,7 +19,7 @@ ts_library(
|
||||
":collections",
|
||||
"@rxjs",
|
||||
],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
ts_web_test(
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
package(default_visibility=["//visibility:public"])
|
||||
load("@build_bazel_rules_typescript//:defs.bzl", "ts_library")
|
||||
load("@angular//:index.bzl", "ng_module")
|
||||
|
||||
# Note: this will need to ng_module if any Angular-specific stuff is added to coercion.
|
||||
ts_library(
|
||||
|
||||
ng_module(
|
||||
name = "keycodes",
|
||||
srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]),
|
||||
module_name = "@angular/cdk/keycodes",
|
||||
deps = [],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
deps = ["@rxjs"],
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
@@ -12,7 +12,7 @@ ng_module(
|
||||
"//src/cdk/platform",
|
||||
"@rxjs",
|
||||
],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
ts_library(
|
||||
@@ -24,7 +24,7 @@ ts_library(
|
||||
"//src/cdk/platform",
|
||||
"@rxjs",
|
||||
],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
ts_web_test(
|
||||
|
||||
@@ -7,8 +7,11 @@ ng_module(
|
||||
name = "observers",
|
||||
srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]),
|
||||
module_name = "@angular/cdk/observers",
|
||||
deps = ["@rxjs", "//src/cdk/coercion"],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
deps = [
|
||||
"@rxjs",
|
||||
"//src/cdk/coercion",
|
||||
],
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
ts_library(
|
||||
@@ -19,7 +22,7 @@ ts_library(
|
||||
":observers",
|
||||
"@rxjs",
|
||||
],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
ts_web_test(
|
||||
|
||||
@@ -15,7 +15,7 @@ ng_module(
|
||||
"//src/cdk/scrolling",
|
||||
"@rxjs",
|
||||
],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
# TODO(jelbourn): replace this w/ sass_library when it supports acting like a filegroup
|
||||
@@ -38,7 +38,7 @@ ts_library(
|
||||
"//src/cdk/testing",
|
||||
"@rxjs",
|
||||
],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
ts_web_test(
|
||||
|
||||
@@ -6,5 +6,5 @@ ng_module(
|
||||
srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]),
|
||||
module_name = "@angular/cdk/platform",
|
||||
deps = ["@rxjs"],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
@@ -8,7 +8,7 @@ ng_module(
|
||||
srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]),
|
||||
module_name = "@angular/cdk/portal",
|
||||
deps = ["@rxjs"],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
ts_library(
|
||||
@@ -19,7 +19,7 @@ ts_library(
|
||||
":portal",
|
||||
"@rxjs",
|
||||
],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
ts_web_test(
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
load("//:packages.bzl", "CDK_PACKAGES")
|
||||
|
||||
# Base rollup globals for dependencies and the root entry-point.
|
||||
CDK_ROLLUP_GLOBALS = {
|
||||
'tslib': 'tslib',
|
||||
'@angular/cdk': 'ng.cdk',
|
||||
}
|
||||
|
||||
# Rollup globals for subpackages in the form of, e.g., {"@angular/cdk/table": "ng.cdk.table"}
|
||||
CDK_ROLLUP_GLOBALS.update({
|
||||
"@angular/cdk/%s" % p: "ng.cdk.%s" % p for p in CDK_PACKAGES
|
||||
})
|
||||
@@ -11,7 +11,7 @@ ng_module(
|
||||
"//src/cdk/platform",
|
||||
"@rxjs",
|
||||
],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
ts_library(
|
||||
@@ -23,7 +23,7 @@ ts_library(
|
||||
"//src/cdk/testing",
|
||||
"@rxjs",
|
||||
],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
ts_web_test(
|
||||
|
||||
@@ -12,5 +12,5 @@ ng_module(
|
||||
"//src/cdk/keycodes",
|
||||
"@rxjs",
|
||||
],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
<ng-template><ng-content></ng-content></ng-template>
|
||||
@@ -67,7 +67,7 @@ export class StepperSelectionEvent {
|
||||
moduleId: module.id,
|
||||
selector: 'cdk-step',
|
||||
exportAs: 'cdkStep',
|
||||
templateUrl: 'step.html',
|
||||
template: '<ng-template><ng-content></ng-content></ng-template>',
|
||||
encapsulation: ViewEncapsulation.None,
|
||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||
})
|
||||
|
||||
@@ -11,7 +11,7 @@ ng_module(
|
||||
"//src/cdk/collections",
|
||||
"@rxjs",
|
||||
],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
ts_library(
|
||||
@@ -23,7 +23,7 @@ ts_library(
|
||||
"//src/cdk/collections",
|
||||
"@rxjs",
|
||||
],
|
||||
tsconfig = ":tsconfig-build.json",
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
ts_web_test(
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
package(default_visibility=["//visibility:public"])
|
||||
load("@angular//:index.bzl", "ng_module")
|
||||
load("@build_bazel_rules_typescript//:defs.bzl", "ts_library", "ts_web_test")
|
||||
|
||||
|
||||
ng_module(
|
||||
name = "tree",
|
||||
srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]),
|
||||
module_name = "@angular/cdk/tree",
|
||||
deps = [
|
||||
"//src/cdk/a11y",
|
||||
"//src/cdk/bidi",
|
||||
"//src/cdk/coercion",
|
||||
"//src/cdk/collections",
|
||||
"@rxjs",
|
||||
],
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
ts_library(
|
||||
name = "tree_test_sources",
|
||||
testonly = 1,
|
||||
srcs = glob(["**/*.spec.ts"]),
|
||||
deps = [
|
||||
":tree",
|
||||
"//src/cdk/collections",
|
||||
"@rxjs",
|
||||
],
|
||||
tsconfig = "//src/cdk:tsconfig-build.json",
|
||||
)
|
||||
|
||||
ts_web_test(
|
||||
name = "unit_tests",
|
||||
bootstrap = ["//:web_test_bootstrap_scripts"],
|
||||
# TODO(tinagao): get these tests passing
|
||||
tags = ["manual"],
|
||||
# Do not sort
|
||||
deps = [
|
||||
"//:tslib_bundle",
|
||||
"//:angular_bundles",
|
||||
"//:angular_test_bundles",
|
||||
"//test:angular_test_init",
|
||||
":tree_test_sources",
|
||||
],
|
||||
)
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
declare var module: {id: string};
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
load("//tools:sass_bundle.bzl", "sass_bundle")
|
||||
load("//:components.bzl", "MATERIAL_PACKAGES")
|
||||
load("//:packages.bzl", "MATERIAL_PACKAGES")
|
||||
load("@angular//:index.bzl", "ng_package")
|
||||
|
||||
|
||||
sass_bundle(
|
||||
|
||||
@@ -55,21 +55,21 @@ export const rollupGlobals = {
|
||||
|
||||
'rxjs/BehaviorSubject': 'Rx',
|
||||
'rxjs/Observable': 'Rx',
|
||||
'rxjs/Subject': 'Rx',
|
||||
'rxjs/Subscription': 'Rx',
|
||||
'rxjs/Observer': 'Rx',
|
||||
'rxjs/Subscriber': 'Rx',
|
||||
'rxjs/Scheduler': 'Rx',
|
||||
'rxjs/Subject': 'Rx',
|
||||
'rxjs/Subscriber': 'Rx',
|
||||
'rxjs/Subscription': 'Rx',
|
||||
|
||||
'rxjs/observable/combineLatest': 'Rx.Observable',
|
||||
'rxjs/observable/defer': 'Rx.Observable',
|
||||
'rxjs/observable/empty': 'Rx.Observable',
|
||||
'rxjs/observable/forkJoin': 'Rx.Observable',
|
||||
'rxjs/observable/fromEvent': 'Rx.Observable',
|
||||
'rxjs/observable/fromEventPattern': 'Rx.Observable',
|
||||
'rxjs/observable/merge': 'Rx.Observable',
|
||||
'rxjs/observable/of': 'Rx.Observable',
|
||||
'rxjs/observable/throw': 'Rx.Observable',
|
||||
'rxjs/observable/defer': 'Rx.Observable',
|
||||
'rxjs/observable/fromEventPattern': 'Rx.Observable',
|
||||
'rxjs/observable/empty': 'Rx.Observable',
|
||||
|
||||
'rxjs/operators/debounceTime': 'Rx.operators',
|
||||
'rxjs/operators/takeUntil': 'Rx.operators',
|
||||
|
||||
Reference in New Issue
Block a user