blob: 594129728a9f1d973c6a7f16ee8fdc62d18b0e7f [file] [log] [blame]
# 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"],
)
load("@io_bazel_skydoc//skylark:skylark.bzl", "skylark_doc")
skylark_doc(
name = "docs",
srcs = [
"//internal:build_defs.bzl",
"//internal:ts_config.bzl",
"//internal:ts_repositories.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"],
)