| # 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") |
| |
| 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" |
| ]), |
| visibility = ["//visibility:public"], |
| ) |
| |
| load("@io_bazel_skydoc//skylark:skylark.bzl", "skylark_doc") |
| |
| skylark_doc( |
| name = "docs", |
| srcs = [ |
| "//internal:ts_repositories.bzl", |
| "//internal:build_defs.bzl", |
| "//internal:ts_config.bzl", |
| "//internal/devserver:ts_devserver.bzl", |
| "//internal/karma:ts_web_test.bzl", |
| "//internal/protobufjs:ts_proto_library.bzl", |
| ], |
| format = "html", |
| # The site is served at http://tsetse.info so the URL doesn't include a |
| # /rules_typescript segment. |
| # TODO(alexeagle): separate Tsetse docs from the rest of rules_typescript |
| site_root = "/api", |
| strip_prefix = "internal/", |
| ) |
| |
| # 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"], |
| ) |