| # Copyright 2019 The Pigweed Authors |
| # |
| # 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 |
| # |
| # https://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. |
| |
| workspace( |
| name = "pigweed", |
| managed_directories = {"@npm": ["node_modules"]}, |
| ) |
| |
| # Set up build_bazel_rules_nodejs |
| load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") |
| http_archive( |
| name = "build_bazel_rules_nodejs", |
| sha256 = "f9e7b9f42ae202cc2d2ce6d698ccb49a9f7f7ea572a78fd451696d03ef2ee116", |
| urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/1.6.0/rules_nodejs-1.6.0.tar.gz"], |
| ) |
| |
| load("@build_bazel_rules_nodejs//:index.bzl", "node_repositories") |
| |
| node_repositories(package_json = ["//:package.json"]) |
| |
| # Install packages with yarn |
| load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install") |
| yarn_install( |
| name = "npm", |
| package_json = "//:package.json", |
| yarn_lock = "//:yarn.lock", |
| ) |
| |
| # Install Bazel rules from npm packages |
| load("@npm//:install_bazel_dependencies.bzl", "install_bazel_dependencies") |
| install_bazel_dependencies() |
| |
| |
| # Setup TypeScript |
| load("@npm_bazel_typescript//:index.bzl", "ts_setup_workspace") |
| ts_setup_workspace() |