| # Copyright 2019 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. |
| |
| workspace( |
| name = "examples_bazel_managed_deps", |
| managed_directories = {"@npm": ["node_modules"]}, |
| ) |
| |
| # In your code, you'd fetch this repository with an `http_archive` call. |
| # We do this local repository only because this example lives in the same |
| # repository with the rules_nodejs code and we want to test them together. |
| local_repository( |
| name = "build_bazel_rules_nodejs", |
| path = "../../dist/build_bazel_rules_nodejs/release", |
| ) |
| |
| load("@build_bazel_rules_nodejs//:defs.bzl", "yarn_install") |
| |
| # This runs yarn install, then our generate_build_file.js to create BUILD files |
| # inside the resulting node_modules directory. |
| # The name "npm" here means the resulting modules are referenced like |
| # @npm//jasmine |
| yarn_install( |
| name = "npm", |
| manual_build_file_contents = """ |
| filegroup( |
| name = "bin_files", |
| srcs = glob(["node_modules/.bin/*"]), |
| )""", |
| package_json = "//:package.json", |
| yarn_lock = "//:yarn.lock", |
| ) |