@@ -2,44 +2,11 @@ workspace(name = "npmscope")
22
33load ("@bazel_tools//tools/build_defs/repo:http.bzl" , "http_archive" )
44
5+ # Fetch rules_nodejs so we can install our npm dependencies
56http_archive (
67 name = "build_bazel_rules_nodejs" ,
7- sha256 = "039c6fe27b53e2336ca77209c51e7f8aa64b7baf9f4bd7a383a780dc270237b1" ,
8- strip_prefix = "rules_nodejs-0.16.5" ,
9- urls = ["https://github.com/bazelbuild/rules_nodejs/archive/0.16.5.zip" ],
10- )
11-
12- # Same as package.json version
13- http_archive (
14- name = "build_bazel_rules_typescript" ,
15- sha256 = "136ba6be39b4ff934cc0f41f043912305e98cb62254d9e6af467e247daafcd34" ,
16- strip_prefix = "rules_typescript-0.22.0" ,
17- url = "https://github.com/bazelbuild/rules_typescript/archive/0.22.0.zip" ,
18- )
19-
20- # Angular for use of the @angular/bazel rules
21- # Version should be synchronized with runtime dependencies in package.json
22- http_archive (
23- name = "angular" ,
24- sha256 = "a5b4a24c7cee3a4ab10f2666c3cfd0213c622da0fc9da042ea07a6a012839ff9" ,
25- strip_prefix = "angular-7.2.4" ,
26- url = "https://github.com/angular/angular/archive/7.2.4.tar.gz" ,
27- )
28-
29- # Angular material
30- http_archive (
31- name = "angular_material" ,
32- sha256 = "25e1696c746baad4ee58acb07cd2a2655c489462d358bdb6d6a8ccb6ebca1cff" ,
33- strip_prefix = "material2-7.3.1" ,
34- url = "https://github.com/angular/material2/archive/7.3.1.tar.gz" ,
35- )
36-
37- # The @rxjs repo contains targets for building rxjs with bazel
38- http_archive (
39- name = "rxjs" ,
40- sha256 = "52b63515ad38287e9c437df80576ca6b7433358cd8c4095e1b1bece65596cb94" ,
41- strip_prefix = "package/src" ,
42- url = "https://registry.yarnpkg.com/rxjs/-/rxjs-6.4.0.tgz" ,
8+ sha256 = "a69c5bd317beef982298ea7b5ed8b5c5275d1b55ee199e98a0ca088f8e0c6cce" ,
9+ urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.7/rules_nodejs-0.18.7.tar.gz" ],
4310)
4411
4512http_archive (
@@ -52,18 +19,6 @@ http_archive(
5219## ====================================================================================================
5320## TypeScript + Web
5421
55- load ("@build_bazel_rules_typescript//:package.bzl" , "rules_typescript_dependencies" )
56-
57- rules_typescript_dependencies ()
58-
59- load ("@build_bazel_rules_nodejs//:package.bzl" , "rules_nodejs_dependencies" )
60-
61- rules_nodejs_dependencies ()
62-
63- load ("@angular//packages/bazel:package.bzl" , "rules_angular_dependencies" )
64-
65- rules_angular_dependencies ()
66-
6722load ("@io_bazel_rules_sass//:package.bzl" , "rules_sass_dependencies" )
6823
6924rules_sass_dependencies ()
@@ -88,36 +43,51 @@ check_bazel_version("0.22.0")
8843
8944yarn_install (
9045 name = "npm" ,
46+ data = [
47+ # Needed because this tsconfig file is used in the "postinstall" script.
48+ "//:angular-metadata.tsconfig.json" ,
49+ ],
9150 package_json = "//:package.json" ,
9251 yarn_lock = "//:yarn.lock" ,
9352)
9453
9554## ====================================================================================================
9655## TypeScript + Web
9756
98- load ("@io_bazel_rules_webtesting//web:repositories.bzl" , "browser_repositories" , "web_test_repositories" )
57+ # Install all bazel dependencies of our npm packages
58+ load ("@npm//:install_bazel_dependencies.bzl" , "install_bazel_dependencies" )
59+
60+ install_bazel_dependencies ()
61+
62+ # Load karma dependencies
63+ load ("@npm_bazel_karma//:package.bzl" , "rules_karma_dependencies" )
64+
65+ rules_karma_dependencies ()
66+
67+ # Setup the rules_webtesting toolchain
68+ load ("@io_bazel_rules_webtesting//web:repositories.bzl" , "web_test_repositories" )
9969
10070web_test_repositories ()
10171
102- browser_repositories (
103- chromium = True ,
104- firefox = True ,
105- )
72+ # Temporary work-around for https://github.com/angular/angular/issues/28681
73+ # TODO(gregmagolan): go back to @io_bazel_rules_webtesting browser_repositories
74+ load ("@npm_bazel_karma//:browser_repositories.bzl" , "browser_repositories" )
10675
107- load ( "@build_bazel_rules_typescript//:defs.bzl" , "check_rules_typescript_version" , "ts_setup_workspace" )
76+ browser_repositories ( )
10877
109- check_rules_typescript_version ("0.22.0" )
78+ # Setup the rules_typescript tooolchain
79+ load ("@npm_bazel_typescript//:defs.bzl" , "ts_setup_workspace" )
11080
11181ts_setup_workspace ()
11282
11383load ("@io_bazel_rules_sass//:defs.bzl" , "sass_repositories" )
11484
11585sass_repositories ()
11686
117- load ( "@ angular//:index.bzl" , "ng_setup_workspace" )
118-
119- ng_setup_workspace ()
120-
121- load ("@angular_material //:index.bzl" , "angular_material_setup_workspace " )
87+ # Setup the angular toolchain. This integration test no longer builds Angular from source,
88+ # but we still need to set up the "angular" workspace since some Bazel rules depend on
89+ # the "ngdeps" repository. This can be fixed if we switched the Angular repository to the
90+ # "npm" repository for the bazel managed dependencies.
91+ load ("@npm_angular_bazel //:index.bzl" , "ng_setup_workspace " )
12292
123- angular_material_setup_workspace ()
93+ ng_setup_workspace ()
0 commit comments