| # Copyright 2017 The Bazel Authors. All rights reserved. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| # To update BUILD.bazel files after changing Go code, run |
| # bazel run //:gazelle |
| # |
| # Exclude node_modules, see |
| # https://github.com/bazelbuild/rules_go/blob/master/go/tools/gazelle/README.rst#directives |
| # gazelle:exclude node_modules |
| load("@io_bazel_rules_go//go:def.bzl", "gazelle") |
| load("@build_bazel_rules_nodejs//internal/js_library:js_library.bzl", "js_library") |
| |
| # ts_library defaults to this label in the top-level package. |
| # Point to where the file actually lives. |
| alias( |
| name = "tsconfig.json", |
| actual = "//examples:tsconfig.json", |
| visibility = ["//visibility:public"], |
| ) |
| |
| gazelle( |
| name = "gazelle", |
| prefix = "github.com/bazelbuild/rules_typescript", |
| ) |
| |
| # The node_modules directory is created by `yarn install` |
| # WORKAROUND for https://github.com/bazelbuild/bazel/issues/374#issuecomment-296217940 |
| filegroup( |
| name = "node_modules", |
| # Only include files needed for type-checking and runtime |
| srcs = glob([ |
| "node_modules/**/*.js", |
| "node_modules/**/*.d.ts", |
| "node_modules/**/*.json", |
| ] + [ |
| # Needed because http-server has a bin with no .js extension |
| "node_modules/http-server/**", |
| ]), |
| visibility = ["//visibility:public"], |
| ) |
| |
| # Runtime libraries needed by the protobufjs library. |
| # Any JS code produced by the ts_proto_library rule has a runtime dependency on these scripts. |
| js_library( |
| name = "protobufjs_bootstrap_scripts", |
| srcs = [ |
| "@build_bazel_rules_typescript_protobufs_compiletime_deps//:node_modules/long/dist/long.js", |
| "@build_bazel_rules_typescript_protobufs_compiletime_deps//:node_modules/protobufjs/dist/minimal/protobuf.min.js", |
| ], |
| # Make devmode loading work when it does require("protobufjs/minimal") |
| # so this is shimmed to define it to equal global.protobuf |
| amd_names = { |
| "long": "Long", |
| "protobufjs/minimal": "protobuf", |
| }, |
| visibility = ["//visibility:public"], |
| ) |