aws / aws-cdk-rfcs

RFCs for the AWS CDK

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Remove Node.js as an installed pre-requisite for the jsii runtime

nija-at opened this issue · comments

Description

Today, the jsii runtime expects Node.js to be installed. It would be useful to remove this dependency and get the jsii-runtime to work out of the box.

Roles

Role User
Proposed by @nija-at
Author(s) @alias, @alias, @alias
API Bar Raiser @alias
Stakeholders @alias, @alias, @alias

See RFC Process for details

Workflow

  • Tracking issue created (label: status/proposed)
  • API bar raiser assigned (ping us at #aws-cdk-rfcs if needed)
  • Kick off meeting
  • RFC pull request submitted (label: status/review)
  • Community reach out (via Slack and/or Twitter)
  • API signed-off (label api-approved applied to pull request)
  • Final comments period (label: status/final-comments-period)
  • Approved and merged (label: status/approved)
  • Execution plan submitted (label: status/planning)
  • Plan approved and merged (label: status/implementing)
  • Implementation complete (label: status/done)

Author is responsible to progress the RFC according to this checklist, and
apply the relevant labels to this issue so that the RFC table in README gets
updated.

Some approaches we can take -

  • embedded v8
  • embedding Node.js runtime in the jsii-runtime
  • downloading Node.js runtime on the first run of jsii-runtime.

Could you speak to some of the motivations of removing Node as a prerequisite (minimizing bugs caused by using different Node versions, reducing the setup needed for integration test runners, etc.)? I'm also wondering if this would change the amount of setup needed by users or not, since I think the AWS CDK toolkit still requires Node.

The main motivation is that users building a CDK app in Java, should feel like they are using native Java libraries, and not have to install Node.js.

This also moves jsii as a possible polyglot build tool beyond just the CDK.

Closing this ticket as it has gone stale and no longer reflects current priorities. We suggest you pursue experimentation in a separate package or a fork if needed at this time.