workspace(name = "examples_user_managed_deps")

load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")

# 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 = "../..",
)
# http_archive(
#     name = "build_bazel_rules_nodejs",
#     urls = ["https://github.com/bazelbuild/rules_nodejs/archive/x.x.x.tar.gz"],
#     strip_prefix = "rules_nodejs-x.x.x",
# )

load("@build_bazel_rules_nodejs//:package.bzl", "rules_nodejs_dev_dependencies")

rules_nodejs_dev_dependencies()

load("@build_bazel_rules_nodejs//:index.bzl", "node_repositories")

# Install a hermetic version of node.
# After this is run, these labels will be available:
# - NodeJS:
#   @nodejs//:node
# - NPM:
#   @nodejs//:npm_node_repositories
# - The yarn package manager:
#   @nodejs//:yarn_node_repositories
#
# To install the node_modules of all the listed package_json files run:
#   bazel run @nodejs//:yarn_node_repositories
# or
#   bazel run @nodejs//:npm_node_repositories
node_repositories(
    package_json = ["//:package.json"],
)

# TODO(gregmagolan): keep this in sync with root WORKSPACE programatically
git_repository(
    name = "build_bazel_rules_typescript",
    commit = "5d79e42953eb8614d961ccf0e3440884e974eeb3",
    remote = "http://github.com/bazelbuild/rules_typescript.git",
)

# We have a source dependency on build_bazel_rules_typescript
# so we must repeat its transitive toolchain deps
load("@build_bazel_rules_typescript//:package.bzl", "rules_typescript_dev_dependencies")

rules_typescript_dev_dependencies()

load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")

gazelle_dependencies()

go_rules_dependencies()

go_register_toolchains()

load("@build_bazel_rules_typescript//internal:ts_repositories.bzl", "ts_setup_dev_workspace")

ts_setup_dev_workspace()
