diff --git a/javascript/BUILD.bazel b/javascript/BUILD.bazel
index 40fd7efeaa7cb976147cf25f3805d1b07eb4bb18..43c5f8a5686255ed14c7f9ddfb9822bd97603fbc 100644
--- a/javascript/BUILD.bazel
+++ b/javascript/BUILD.bazel
@@ -6,6 +6,20 @@ licenses(["notice"])
 
 load("@io_bazel_rules_closure//closure:defs.bzl", "closure_js_library", "closure_js_test")
 
+closure_js_library(
+    name = "javascript",
+    visibility = ["//visibility:public"],
+    exports = [
+        ":primitives",
+        ":binary_reader",
+        ":binary_writer",
+        ":readers_writers",
+        ":keyset_handle",
+        ":key_manager",
+        ":registry",
+    ],
+)
+
 closure_js_library(
     name = "primitives",
     srcs = [
@@ -35,6 +49,18 @@ closure_js_library(
     ],
 )
 
+closure_js_library(
+    name = "binary_writer",
+    srcs = [
+        "binary_keyset_writer.js",
+    ],
+    deps = [
+        ":readers_writers",
+        "//javascript/exception",
+        "@io_bazel_rules_closure//closure/library",
+    ],
+)
+
 closure_js_library(
     name = "readers_writers",
     srcs = [