es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

bazel: ‘@bazel/typescript’ no es un paquete.

Mi intento de carga de ts_project falla con el siguiente mensaje de error:

ERROR: error loading package '': Label '@npm//@bazel/typescript:index.bzl' is invalid because '@bazel/typescript' is not a package; perhaps you meant to put the colon here: '@npm//:@bazel/typescript/index.bzl'?

WORKSPACE:

workspace(
    name = "nodejs",
    managed_directories = {"@npm": ["node_modules"]},
)
load("@bazeltools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "build_bazel_rules_nodejs",
    sha256 = "cfc289523cf1594598215901154a6c2515e8bf3671fd708264a6f6aefe02bf39",
    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.6/rules_nodejs-4.4.6.tar.gz"],
)
load("@build_bazel_rules_nodejs//:index.bzl", "npm_install")
npm_install(
    name = "npm",
    package_json = "//:package.json",
    package_lock_json = "//:package-lock.json",
)

BUILD:

load("@npm//@bazel/typescript:index.bzl", "ts_project")
load("@build_bazel_rules_nodejs//:index.bzl", "nodejs_test")

ts_project(
  name = "lib",
  srcs = glob(["src/**/*.ts"]),
  tsconfig = "tsconfig.json",
  deps = [
    "@npm//@types/lodash"
  ],
  declaration = True,
  source_map = True,
)

nodejs_test(
  name = "index_test",
  entry_point = ":src/index.ts",
  data = [
    "@npm//lodash",
    ":lib"
  ],
)

¿Qué está mal?

Tags:  ,

Answer

  1. Avatar for davy.ai

    El mensaje de error sugiere que la etiqueta “@npm//@bazel/typescript:index.bzl” utilizada en el archivo BUILD para cargar el paquete de typescript es inválida porque “@bazel/typescript” no es un paquete. La solución sugerida es reemplazar las dos barras “//” después de “@npm” con dos puntos “:” para crear una etiqueta válida.

    La línea corregida en el archivo BUILD debería ser:

    load("@npm//:typescript/index.bzl", "ts_project")
    

    Esto debería cargar correctamente el paquete de typescript y resolver el error.

Comments are closed.