Skip to content
This repository was archived by the owner on Jan 10, 2020. It is now read-only.
This repository was archived by the owner on Jan 10, 2020. It is now read-only.

Form team/group to define "embedding requirements" #51

Open

Description

@mhdawson

There is ongoing work to allow Node.js to be built as a static or shared library. This allows Node.js to be embedded in the process of another application. See nodejs/node#14158, which is also being backported to 8.X and 6.X (nodejs/node#19047, nodejs/node#19050).

@yhwang is currently working on adding testing to the CI. That testing, however, will just be to make sure that the existing Node.js tests cases pass when using the static/shared library.

After that, we will want to add testing that covers typical use cases related to embedding Node.js into an application using either the static or shared libraries. I believe as part of that we'll also find that there are still some things missing. I just ran across this PR nodejs/node#19005 which aims to address some of those kinds of things.

At this point, I'm wondering if there is enough interest to form a group that would work together or a number of months (maybe more) on defining and validating the different embedding use cases. The work would likely be:

  • Define/Document use cases
  • For each use case:
    • Build test case to cover use case
    • Identify any missing functionality
    • Add functionality
    • add test case to CI.

@yhwang
@nodejs/delivery-channels
@addaleax
@luminosuslight, @cmfcmf, @Hannes01071995, @justus-hildebrand, @msoechting
@nodejs/tsc
@dshaw

Activity

  1. mhdawson commented on Apr 26, 2018

    @mhdawson
    MemberAuthor

    @groundwater I was hoping you might be interested in this, wondering if you go the ping through @nodejs/delivery-channels

  2. rogerwang commented on Apr 27, 2018

    @rogerwang
    Member

    Thanks for CCing. We NW.js maintainers would like to keep an eye on this. Though we just released NW.js 0.30.1 with Node.js 10.0.0 within 24 hours, rebasing with latest Node.js is still a significant effort. We are interested in this topic on how to integrate Node more easily.

  3. mhdawson commented on Apr 27, 2018

    @mhdawson
    MemberAuthor

    @rogerwang thanks for replying, will include you when we get things rolling

  4. groundwater commented on Apr 27, 2018

    @groundwater

    Hi @mhdawson. Thanks for this! We have a number of folks at JSConf EU, and I believe there is a node's summit occurring shortly beforehand. Would it be worth sending a few of our folks to kick this discussion off in-person?

  5. MylesBorins commented on Apr 27, 2018

    @MylesBorins
  6. kapouer commented on Apr 27, 2018

    @kapouer

    Hello, yesterday i enabled the --shared flag on node 10 debian package. Worked perfectly and this is really cool. I think make install should continue to install the executable (the one linked to the built lib) though.
    Not yet ready on my side, but it's going to bring a lot of improvements with respect to packaged addons, and multiarch support in debian. I'll follow up on issues tracker if necessary. I wish i could share my enthousiasm regarding how nodejs has matured and is getting easier and easier to distribute...

  7. mhdawson commented on Apr 27, 2018

    @mhdawson
    MemberAuthor

    @groundwater I don't necessarily want to wait to start discussing and possibly meeting remotely until after the summit (not everybody will be at the summit either), but getting together in person at the summit would be great.

  8. groundwater commented on Apr 27, 2018

    @groundwater

    @mhdawson agreed. Would you like to kick this off asynchronously or via a synchronous video discussion?

  9. addaleax commented on Apr 27, 2018

    @addaleax
    Member

    I’d definitely like to be involved in this, yes.

    Also, maybe /cc @fs-eire … please let me know if this is not the kind of thing you want to be pinged in, but it sounded like you might be somebody who wants to be aware that this is happening?

  10. mhdawson commented on May 1, 2018

    @mhdawson
    MemberAuthor

    I think starting with a video call to get together to review what I suggested above as the way forward and to agree on the best way to work together (github, regular meetings or whatever). I'll get together with @yhwang to set up a kickoff meeting.

  11. mhdawson commented on May 3, 2018

    @mhdawson
    MemberAuthor
  12. davicrig commented on May 4, 2018

    @davicrig

    We currently embed the shared library in IBM Integration Bus, we recently updated in quick succession from node 4 through 6 to node 8 and found the upgrade process pretty painful so anything we can do to help stabilise the interfaces or improve our own integration would be a benefit to us.

    We are a bit unusual in that we also embed a JVM and on windows platforms a CLR as well so we may have some use cases / problems that other users do not so might bring some different use cases to the table.

  13. mhdawson commented on May 7, 2018

    @mhdawson
    MemberAuthor

    @davicrig sounds good, your insight will be valuable.

  14. yhwang commented on May 8, 2018

    @yhwang
    Member

    With @mhdawson help, we plan to have a conference call to discuss about the shared lib usage and try to form the group for embedding users. Here is the agenda:

    ================================

    • Introductions
    • Update on work so far (Yi-hong and others)
    • Areas for investigation/discussion
      • Use cases
        • List top level use cases
        • Flesh out each use case/document
      • APIs
        • Document APIs for use when embedding
      • Tests
        • Create tests/test flows
        • Add tests/test flows to CI
    • Packaging
      • Investigate/document what we should in terms of packaging to make it easier to use shared library
    • Some questions
      • Communication
        • regular meeting?
        • github issues?
        • both
      • anybody else we should try to involve?
      • how to get more people involved
    • Action items
      • TBD
        ===============================

    Feel free to add item into the agenda for discussion.

    I created a doodle poll for the conference call ==> https://doodle.com/poll/tamxygwfsgh5dr5w. Please select your available time slots then we may select a proper time for the conference call once the most people who are interested in vote.

  15. mhdawson commented on May 10, 2018

    @mhdawson
    MemberAuthor

    @gabrielschulhof adding you as an FYI as from your comments in a different issue I'm hoping you are interested in participating here as well.

  16. 35 remaining items

  17. mhdawson commented on Jan 23, 2019

    @mhdawson
    MemberAuthor

    @kevin thanks for the heads up. @rubys is away for a few weeks but when he gets back we'll see if we can get this initiative going again and then point info on participation in this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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