Skip to content

node_binary does not write out script_args #49

@rohanag12

Description

@rohanag12

The Problem

script_args attribute of the node_binary rule is not written to the generated script.

Setup

WORKSPACE:

RULES_NODE_COMMIT = 'dc9f8ba73f007a5eb3e57668e77082188c1ce219'
RULES_NODE_SHA256 = 'b0c627d7c412f8addff63b887ccc1b171033a215a47eb3186a8bca5889e7de78'

http_archive(
    name = "org_pubref_rules_node",
    url = "https://github.com/pubref/rules_node/archive/%s.zip" % RULES_NODE_COMMIT,
    strip_prefix = "rules_node-%s" % RULES_NODE_COMMIT,
    sha256 = RULES_NODE_SHA256
)

load("@org_pubref_rules_node//node:rules.bzl", "node_repositories", "yarn_modules")
node_repositories()

yarn_modules(
  name = "server_deps",
  deps = {
    "yargs": "9.0.1",
  }
)

BUILD:

load("@org_pubref_rules_node//node:rules.bzl", "node_binary", "node_module")

node_module(
  name = "server-module",
  description = "Video conferencing signaling server",
  srcs = [
    "index.js"
  ],
  deps = [
    "@server_deps//:_all_"
  ],
  main = "index.js"
)

node_binary(
  name = "server",
  entrypoint = ":server-module",
  script_args = [
    "--say hello"
  ]
)

index.js

const yargs = require('yargs');
console.log(yargs.demandOption('say', '--say Required!').parse().say);

Generated Script (bazel-bin/server) - script_args missing:

#!/usr/bin/env bash
set -e
ROOT=$(dirname $0)
export PATH="$ROOT:$PATH"
cd $ROOT/server_bundle && exec node node_modules/server-module $@

Consequentially, bazel run //:server fails.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions