Skip to content

Commit abaf81a

Browse files
authored
infra: upgrade frontend dependencies (#4376)
This change upgrades our dependencies. Namely, - angular - bazel/angular - rxjs - NOT ngrx (ngrx10 causes karma test to fail)
1 parent 093e693 commit abaf81a

File tree

59 files changed

+628
-945
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+628
-945
lines changed

BUILD

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
load("@npm_bazel_typescript//:index.bzl", "ts_config")
1+
load("@npm//@bazel/typescript:index.bzl", "ts_config")
22

33
licenses(["notice"])
44

WORKSPACE

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,11 @@ http_archive(
1313
)
1414

1515
load("@io_bazel_rules_webtesting//web:repositories.bzl", "web_test_repositories")
16+
1617
web_test_repositories(omit_bazel_skylib = True)
1718

1819
load("@io_bazel_rules_webtesting//web:py_repositories.bzl", "py_repositories")
20+
1921
py_repositories()
2022

2123
http_archive(
@@ -29,6 +31,7 @@ http_archive(
2931
)
3032

3133
load("@io_bazel_rules_closure//closure:repositories.bzl", "rules_closure_dependencies")
34+
3235
rules_closure_dependencies(
3336
omit_bazel_skylib = True,
3437
omit_com_google_protobuf = True,
@@ -37,10 +40,10 @@ rules_closure_dependencies(
3740

3841
http_archive(
3942
name = "build_bazel_rules_nodejs",
40-
sha256 = "f9e7b9f42ae202cc2d2ce6d698ccb49a9f7f7ea572a78fd451696d03ef2ee116",
43+
sha256 = "4952ef879704ab4ad6729a29007e7094aef213ea79e9f2e94cbe1c9a753e63ef",
4144
urls = [
42-
"http://mirror.tensorflow.org/github.com/bazelbuild/rules_nodejs/releases/download/1.6.0/rules_nodejs-1.6.0.tar.gz",
43-
"https://github.com/bazelbuild/rules_nodejs/releases/download/1.6.0/rules_nodejs-1.6.0.tar.gz",
45+
"http://mirror.tensorflow.org/github.com/bazelbuild/rules_nodejs/releases/download/2.2.0/rules_nodejs-2.2.0.tar.gz",
46+
"https://github.com/bazelbuild/rules_nodejs/releases/download/2.2.0/rules_nodejs-2.2.0.tar.gz",
4447
],
4548
)
4649

@@ -49,18 +52,14 @@ load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install")
4952
yarn_install(
5053
name = "npm",
5154
package_json = "//:package.json",
52-
yarn_lock = "//:yarn.lock",
5355
# Opt out of symlinking local node_modules folder into bazel internal
5456
# directory. Symlinking is incompatible with our toolchain which often
5557
# removes source directory without `bazel clean` which creates broken
5658
# symlink into node_modules folder.
5759
symlink_node_modules = False,
60+
yarn_lock = "//:yarn.lock",
5861
)
5962

60-
load("@npm//:install_bazel_dependencies.bzl", "install_bazel_dependencies")
61-
62-
install_bazel_dependencies()
63-
6463
http_archive(
6564
name = "io_bazel_rules_sass",
6665
sha256 = "9dcfba04e4af896626f4760d866f895ea4291bc30bf7287887cefcf4707b6a62",
@@ -71,6 +70,16 @@ http_archive(
7170
],
7271
)
7372

73+
# Load @bazel/protractor dependencies
74+
load("@npm//@bazel/protractor:package.bzl", "npm_bazel_protractor_dependencies")
75+
76+
npm_bazel_protractor_dependencies()
77+
78+
# Load @bazel/karma dependencies
79+
load("@npm//@bazel/karma:package.bzl", "npm_bazel_karma_dependencies")
80+
81+
npm_bazel_karma_dependencies()
82+
7483
http_archive(
7584
name = "org_tensorflow",
7685
# NOTE: when updating this, MAKE SURE to also update the protobuf_js runtime version
@@ -84,9 +93,11 @@ http_archive(
8493
)
8594

8695
load("@org_tensorflow//tensorflow:workspace.bzl", "tf_workspace")
96+
8797
tf_workspace()
8898

8999
load("@bazel_skylib//lib:versions.bzl", "versions")
100+
90101
# Keep this version in sync with the BAZEL environment variable defined
91102
# in our .github/workflows/ci.yml config.
92103
versions.check(minimum_bazel_version = "3.7.0")
@@ -120,4 +131,5 @@ http_archive(
120131

121132
# Please add all new dependencies in workspace.bzl.
122133
load("//third_party:workspace.bzl", "tensorboard_workspace")
134+
123135
tensorboard_workspace()

package.json

Lines changed: 34 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"doc": "docs"
88
},
99
"scripts": {
10-
"postinstall": "ngcc -p main es2015",
10+
"postinstall": "ngcc",
1111
"build": "bazel build //...",
1212
"test": "ibazel test //...",
1313
"lint": "prettier --check 'tensorboard/**/*.'{css,html,js,ts,scss} .github/**/*.yml",
@@ -28,20 +28,19 @@
2828
},
2929
"homepage": "https://github.com/tensorflow/tensorboard#readme",
3030
"devDependencies": {
31-
"@angular/bazel": "^9.0.0",
32-
"@angular/cli": "^9.1.2",
33-
"@angular/compiler": "^9.0.0",
34-
"@angular/compiler-cli": "^9.0.0",
35-
"@bazel/bazel": "2.1",
36-
"@bazel/ibazel": "^0.12.4",
37-
"@bazel/jasmine": "^1.6.0",
38-
"@bazel/karma": "1.6.0",
39-
"@bazel/protractor": "^1.6.0",
40-
"@bazel/rollup": "^1.6.0",
41-
"@bazel/terser": "^1.6.0",
42-
"@bazel/typescript": "^1.6.0",
43-
"@rollup/plugin-commonjs": "^14.0.0",
44-
"@rollup/plugin-node-resolve": "^8.4.0",
31+
"@angular/bazel": "10.2.3",
32+
"@angular/cli": "^10.1.1",
33+
"@angular/compiler": "^10.1.2",
34+
"@angular/compiler-cli": "^10.1.2",
35+
"@bazel/ibazel": "^0.14.0",
36+
"@bazel/jasmine": "^2.3.0",
37+
"@bazel/karma": "^2.3.0",
38+
"@bazel/protractor": "^2.3.0",
39+
"@bazel/rollup": "^2.3.0",
40+
"@bazel/terser": "^2.3.0",
41+
"@bazel/typescript": "^2.3.0",
42+
"@rollup/plugin-commonjs": "^16.0.0",
43+
"@rollup/plugin-node-resolve": "^10.0.0",
4544
"@types/d3": "5.7.2",
4645
"@types/jasmine": "^3.5.10",
4746
"@types/lodash": "^4.14.158",
@@ -51,30 +50,30 @@
5150
"jasmine-core": "^3.5.0",
5251
"karma": "5.0.2",
5352
"karma-chrome-launcher": "^3.1.0",
54-
"karma-firefox-launcher": "^1.3.0",
55-
"karma-jasmine": "^3.1.0",
53+
"karma-firefox-launcher": "^2.1.0",
54+
"karma-jasmine": "^4.0.1",
5655
"karma-requirejs": "^1.1.0",
57-
"karma-sourcemap-loader": "^0.3.7",
56+
"karma-sourcemap-loader": "^0.3.8",
5857
"prettier": "2.1.1",
5958
"requirejs": "^2.3.6",
60-
"rollup": "^2.26.4",
61-
"terser": "^4.6.3",
62-
"tslib": "^1.10.0",
63-
"typescript": "3.8.3"
59+
"rollup": "^2.33.1",
60+
"terser": "^5.3.8",
61+
"tslib": "^2.0.1",
62+
"typescript": "4.0.5"
6463
},
6564
"dependencies": {
66-
"@angular/animations": "^9.0.0",
67-
"@angular/cdk": "^9.0.0",
68-
"@angular/common": "^9.0.0",
69-
"@angular/core": "^9.0.0",
70-
"@angular/forms": "^9.0.0",
71-
"@angular/localize": "^9.1.7",
72-
"@angular/material": "^9.0.0",
73-
"@angular/platform-browser": "^9.0.0",
74-
"@angular/platform-browser-dynamic": "^9.0.0",
75-
"@angular/router": "^9.0.0",
76-
"@ngrx/effects": "^9.0.0",
77-
"@ngrx/store": "^9.0.0",
65+
"@angular/animations": "^10.1.2",
66+
"@angular/cdk": "^10.2.1",
67+
"@angular/common": "^10.1.2",
68+
"@angular/core": "^10.1.2",
69+
"@angular/forms": "^10.1.2",
70+
"@angular/localize": "^10.1.2",
71+
"@angular/material": "^10.2.1",
72+
"@angular/platform-browser": "^10.1.2",
73+
"@angular/platform-browser-dynamic": "^10.1.2",
74+
"@angular/router": "^10.1.2",
75+
"@ngrx/effects": "^9.2.0",
76+
"@ngrx/store": "^9.2.0",
7877
"@polymer/decorators": "^3.0.0",
7978
"@polymer/iron-behaviors": "^3.0.1",
8079
"@polymer/iron-collapse": "^3.0.1",
@@ -115,7 +114,7 @@
115114
"lodash": "^4.17.19",
116115
"monaco-editor-core": "^0.20.0",
117116
"monaco-languages": "^1.10.0",
118-
"ngx-color-picker": "^9.0.0",
117+
"ngx-color-picker": "^10.1.0",
119118
"numeric": "^1.2.6",
120119
"plottable": "^3.9.0",
121120
"rxjs": "7.0.0-beta.0",

tensorboard/defs/BUILD

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
load("//tensorboard/defs:protos.bzl", "tb_proto_library")
2+
load("@build_bazel_rules_nodejs//:index.bzl", "nodejs_binary")
23

34
package(default_visibility = ["//tensorboard:internal"])
45

@@ -36,3 +37,17 @@ tb_proto_library(
3637
exports_files(["web_test_python_stub.template.py"])
3738

3839
exports_files(["rollup_config.js"])
40+
41+
# Custom ts_library compiler that runs tsc_wrapped with angular/compiler-cli statically linked
42+
# This can be used with worker mode because we don't need the linker at runtime to make
43+
# the angular plugin loadable
44+
# Just a clone of @npm//@bazel/typescript/bin:tsc_wrapped with added deps
45+
nodejs_binary(
46+
name = "tsc_wrapped_with_angular",
47+
data = [
48+
"@npm//@angular/compiler-cli",
49+
"@npm//@bazel/typescript",
50+
],
51+
entry_point = "@npm//:node_modules/@bazel/typescript/internal/tsc_wrapped/tsc_wrapped.js",
52+
visibility = ["//tensorboard:__subpackages__"],
53+
)

tensorboard/defs/defs.bzl

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,9 @@
1313
# limitations under the License.
1414
"""External-only delegates for various BUILD rules."""
1515

16-
load("@npm_angular_bazel//:index.bzl", "ng_module")
17-
load("@npm_bazel_rollup//:index.bzl", "rollup_bundle")
18-
load("@npm_bazel_karma//:index.bzl", "karma_web_test_suite")
19-
load("@npm_bazel_typescript//:index.bzl", "ts_config", "ts_devserver", "ts_library")
16+
load("@npm//@bazel/rollup:index.bzl", "rollup_bundle")
17+
load("@npm//@bazel/karma:index.bzl", "karma_web_test_suite")
18+
load("@npm//@bazel/typescript:index.bzl", "ts_config", "ts_devserver", "ts_library")
2019
load("@io_bazel_rules_sass//:defs.bzl", "sass_binary", "sass_library")
2120

2221
def tensorboard_webcomponent_library(**kwargs):
@@ -67,7 +66,7 @@ def tf_ts_library(strict_checks = True, **kwargs):
6766
tsconfig = "//:tsconfig-test"
6867
kwargs.setdefault("deps", []).append("@npm//tslib")
6968

70-
ts_library(tsconfig = tsconfig, **kwargs)
69+
ts_library(tsconfig = tsconfig, supports_workers = True, **kwargs)
7170

7271
def tf_ts_devserver(**kwargs):
7372
"""TensorBoard wrapper for the rule for a TypeScript dev server."""
@@ -141,6 +140,12 @@ def tf_sass_library(**kwargs):
141140
**kwargs
142141
)
143142

144-
def tf_ng_module(**kwargs):
143+
def tf_ng_module(assets = [], **kwargs):
145144
"""TensorBoard wrapper for Angular modules."""
146-
ng_module(**kwargs)
145+
ts_library(
146+
compiler = "//tensorboard/defs:tsc_wrapped_with_angular",
147+
supports_workers = True,
148+
use_angular_plugin = True,
149+
angular_assets = assets,
150+
**kwargs
151+
)

tensorboard/plugins/debugger_v2/tf_debugger_v2_plugin/effects/debugger_effects.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,7 @@ import {
111111
} from '../data_source/tfdbg2_data_source';
112112

113113
/** @typehack */ import * as _typeHackRxjs from 'rxjs';
114-
/** @typehack */ import * as _typeHackNgrxStore from '@ngrx/store/src/models';
115-
/** @typehack */ import * as _typeHackNgrxEffects from '@ngrx/effects/effects';
114+
/** @typehack */ import * as _typeHackNgrxEffects from '@ngrx/effects';
116115

117116
// Minimum polling interval in milliseconds.
118117
export const MIN_POLLING_INTERVAL_MS = 2e3;

tensorboard/plugins/debugger_v2/tf_debugger_v2_plugin/store/debugger_reducers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ import {
4545

4646
// HACK: These imports are for type inference.
4747
// https://github.com/bazelbuild/rules_nodejs/issues/1013
48-
/** @typehack */ import * as _typeHackStore from '@ngrx/store/store';
48+
/** @typehack */ import * as _typeHackStore from '@ngrx/store';
4949

5050
const DEFAULT_EXECUTION_PAGE_SIZE = 100;
5151
const DEFAULT_GRAPH_EXECUTION_PAGE_SIZE = 200;

tensorboard/plugins/debugger_v2/tf_debugger_v2_plugin/store/debugger_selectors.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,7 @@ import {
4949

5050
// HACK: These imports are for type inference.
5151
// https://github.com/bazelbuild/rules_nodejs/issues/1013
52-
/** @typehack */ import * as _typeHackSelector from '@ngrx/store/src/selector';
53-
/** @typehack */ import * as _typeHackStore from '@ngrx/store/store';
52+
/** @typehack */ import * as _typeHackStore from '@ngrx/store';
5453

5554
const selectDebuggerState = createFeatureSelector<State, DebuggerState>(
5655
DEBUGGER_FEATURE_KEY

tensorboard/plugins/debugger_v2/tf_debugger_v2_plugin/views/alerts/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ tf_ng_module(
1919
"//tensorboard/plugins/debugger_v2/tf_debugger_v2_plugin/actions",
2020
"//tensorboard/plugins/debugger_v2/tf_debugger_v2_plugin/store",
2121
"//tensorboard/plugins/debugger_v2/tf_debugger_v2_plugin/store:types",
22+
"@npm//@angular/common",
2223
"@npm//@angular/core",
2324
"@npm//@ngrx/store",
2425
"@npm//rxjs",

tensorboard/webapp/alert/effects/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import {State} from '../../app_state';
2020
import {alertReported} from '../actions';
2121
import {AlertActionModule} from '../alert_action_module';
2222

23-
/** @typehack */ import * as _typeHackNgrxEffects from '@ngrx/effects/effects';
23+
/** @typehack */ import * as _typeHackNgrxEffects from '@ngrx/effects';
2424
/** @typehack */ import * as _typeHackStore from '@ngrx/store';
2525
/** @typehack */ import * as _typeHackRxjs from 'rxjs';
2626

tensorboard/webapp/alert/store/alert_reducers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import {Action, createReducer, on} from '@ngrx/store';
1616
import * as actions from '../actions';
1717
import {AlertState} from './alert_types';
1818

19-
/** @typehack */ import * as _typeHackStore from '@ngrx/store/store';
19+
/** @typehack */ import * as _typeHackStore from '@ngrx/store';
2020

2121
const initialState: AlertState = {
2222
latestAlert: null,

tensorboard/webapp/alert/store/alert_selectors.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ import {createSelector, createFeatureSelector} from '@ngrx/store';
1616
import {AlertInfo} from '../types';
1717
import {AlertState, State, ALERT_FEATURE_KEY} from './alert_types';
1818

19-
/** @typehack */ import * as _typeHackSelector from '@ngrx/store/src/selector';
20-
/** @typehack */ import * as _typeHackStore from '@ngrx/store/store';
19+
/** @typehack */ import * as _typeHackStore from '@ngrx/store';
2120

2221
const selectAlertState = createFeatureSelector<State, AlertState>(
2322
ALERT_FEATURE_KEY

tensorboard/webapp/angular/BUILD

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ tf_ts_library(
3535
name = "expect_angular_cdk_clipboard",
3636
srcs = [],
3737
deps = [
38-
"@npm//@angular/material",
38+
"@npm//@angular/cdk",
3939
],
4040
)
4141

tensorboard/webapp/app_container.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ import {Store} from '@ngrx/store';
1717
import {coreLoaded} from './core/actions';
1818
import {State} from './core/store';
1919

20-
/** @typehack */ import * as _typeHackRxjs from 'rxjs';
21-
2220
@Component({
2321
selector: 'tb-webapp',
2422
templateUrl: './app_container.ng.html',

tensorboard/webapp/app_routing/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ tf_ng_module(
144144
":types",
145145
"//tensorboard/webapp/app_routing/actions",
146146
"@npm//@angular/core",
147+
"@npm//@ngrx/store",
147148
"@npm//rxjs",
148149
],
149150
)

tensorboard/webapp/app_routing/effects/app_routing_effects.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ import {RouteRegistryModule} from '../route_registry_module';
4141
import {getActiveRoute} from '../store/app_routing_selectors';
4242
import {Navigation, Route} from '../types';
4343

44-
/** @typehack */ import * as _typeHackNgrxEffects from '@ngrx/effects/effects';
44+
/** @typehack */ import * as _typeHackNgrxEffects from '@ngrx/effects';
4545
/** @typehack */ import * as _typeHackModels from '@ngrx/store/src/models';
4646
/** @typehack */ import * as _typeHackStore from '@ngrx/store';
4747

tensorboard/webapp/core/effects/core_effects.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ import {getEnabledExperimentalPlugins} from '../../feature_flag/store/feature_fl
4747
import {State} from '../../app_state';
4848

4949
/** @typehack */ import * as _typeHackRxjs from 'rxjs';
50-
/** @typehack */ import * as _typeHackNgrx from '@ngrx/store/src/models';
5150
/** @typehack */ import * as _typeHackNgrxEffects from '@ngrx/effects';
5251

5352
@Injectable()

tensorboard/webapp/core/store/core_reducers.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,6 @@ import {DataLoadState} from '../../types/data';
1717
import * as actions from '../actions';
1818
import {CoreState, initialState} from './core_types';
1919

20-
// HACK: These imports are for type inference.
21-
// https://github.com/bazelbuild/rules_nodejs/issues/1013
22-
/** @typehack */ import * as _typeHackStore from '@ngrx/store/store';
23-
2420
const reducer = createReducer(
2521
initialState,
2622
on(

tensorboard/webapp/core/store/core_selectors.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import {Run, RunId} from '../types';
2626
// HACK: These imports are for type inference.
2727
// https://github.com/bazelbuild/rules_nodejs/issues/1013
2828
/** @typehack */ import * as _typeHackSelector from '@ngrx/store/src/selector';
29-
/** @typehack */ import * as _typeHackStore from '@ngrx/store/store';
3029

3130
const selectCoreState = createFeatureSelector<State, CoreState>(
3231
CORE_FEATURE_KEY

tensorboard/webapp/core/views/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ tf_ng_module(
1616
"@npm//@angular/common",
1717
"@npm//@angular/core",
1818
"@npm//@ngrx/store",
19+
"@npm//rxjs",
1920
],
2021
)
2122

0 commit comments

Comments
 (0)