Skip to content

n-api: remove n-api module loading flag - #14902

Closed
gabrielschulhof wants to merge 1 commit into
nodejs:masterfrom
gabrielschulhof:remove-flag
Closed

n-api: remove n-api module loading flag#14902
gabrielschulhof wants to merge 1 commit into
nodejs:masterfrom
gabrielschulhof:remove-flag

Conversation

@gabrielschulhof

Copy link
Copy Markdown
Contributor

Remove the command line flag that was needed for N-API module loading.

Re: nodejs/vm#9

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • documentation is changed or added
  • commit message follows commit guidelines
Affected core subsystem(s)

n-api

@nodejs-github-botnodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. node-api Issues and PRs related to the Node-API. labels Aug 17, 2017

@refackrefack left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FWIW

@refack

Copy link
Copy Markdown
Contributor

Isn't this semver-minor?

@cjihrigcjihrig left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a couple questions. If they prove to be nothing, then LGTM.

Comment threadtest/addons-napi/testcfg.py Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The [] can be dropped too I think.

Comment threadsrc/node_api.cc Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you remove this line, where is the value set to -1?

Comment threadsrc/node.cc Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do any of our tests actually test for the warning?

Comment threadsrc/node.cc Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe leave this in as a no-op for now?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that would be a good idea. It will give us time to update docs etc and will avoid breaking people who are already using it.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 to leaving it for now.

@mhdawson

Copy link
Copy Markdown
Member

FYI @nodejs/ctc, @Fishrock123 to make people who were involved in earlier discussions comment/object in this PR if they still have issues with the approach.

Comment threadsrc/node.cc Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nitpick: Do we want this warning to be printed on every n-api module load or just the first one? Complicates the code slightly but might be a better experience if n-api becomes more common?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typically we emit warnings only on the first use.

@mcollinamcollina left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would prefer this list to be smashed before this getting in a release.

LGTM

@gabrielschulhof

Copy link
Copy Markdown
ContributorAuthor

@mhdawson@digitalinfinity@addaleax@mcollina@cjihrig@refack I have now addressed the review comments.

@mhdawsonmhdawson left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm ok with the changes but marking as "Request changes" so that we avoid landing until we have addressed this comment from @mcollina

I would prefer [this list](https://github.com/nodejs/abi-stable-node/issues/271) to be smashed before this getting in a release.

I think its reasonable that we either address or make the case why we don't need to in advance.

We plan to discuss the one related to CS modules with Bradley in our next regular N-API meeting (Thursday). @aruneshchandra since I think @jasongin is away can you chase down the status on the changes related to async hooks ?

@digitalinfinity

Copy link
Copy Markdown
Contributor

@mhdawson the n-api team chatted with @RReverser and @bmeck last Thursday about ES6 module supprt- the discussion is captured at nodejs/abi-stable-node#256 (comment). TLDR is that n-api will not attempt to provide first class support for any module loader, but we will be making a breaking change (@BoingBoing has already opened #15088)

@mhdawson

Copy link
Copy Markdown
Member

Discussed in latest TSC/CTC meeting there did not seem to be objections to removing once we get through the list of breaking changes. Was left that if any TSC/CTC members object they should come and discuss in this PR.

@BridgeAR

Copy link
Copy Markdown
Member

@mhdawson it seems like there are no objections anymore besides yours. I think think could land if you are good with it?

@mhdawson

Copy link
Copy Markdown
Member

@BridgeAR we are waiting until we have all of the remaining breaking changes in (we are close). We want those to land first as a group and then have this land as a second step.

@gabrielschulhof is in the weekly meeting were we are discussing, so is in the loop as to the next steps.

Once we are ready I'll go ahead and land this one.

@mhdawson

Copy link
Copy Markdown
Member

Looks like we are close to landing the remaining breaking changes, CI run:

https://ci.nodejs.org/job/node-test-pull-request/10081/

@mhdawson

mhdawson commented Sep 14, 2017

Copy link
Copy Markdown
Member

Now just waiting on #15108
@sampsongao will add the tests tonight and hopefully we can land Friday Sep 15
And then I'll follow that with this one.

@mhdawsonmhdawson left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just about to land last breaking change so this one can go in as well.

@mhdawson

Copy link
Copy Markdown
Member

@gabrielschulhof the tests no longer pass because of the changes to the Init signature. I'm done for today. Can you take a look and I'll try to land tomorrow.

Remove the command line flag that was needed for N-API module loading.
Re: nodejs/vm#9
@gabrielschulhof

Copy link
Copy Markdown
ContributorAuthor

@gabrielschulhof

Copy link
Copy Markdown
ContributorAuthor

Weird linter failure, so I stopped that and started

https://ci.nodejs.org/job/node-test-pull-request/10142/

instead.

@gabrielschulhof

Copy link
Copy Markdown
ContributorAuthor
error: The last gc run reported the following. Please correct the root cause
and remove .git/gc.log.
Automatic cleanup will not be performed until the file is removed.
warning: There are too many unreachable loose objects; run 'git prune' to remove them.

@gabrielschulhof

Copy link
Copy Markdown
ContributorAuthor

I'll leave it running because make lint passes locally.

Qard pushed a commit to Qard/ayo that referenced this pull request Sep 21, 2017
Remove the command line flag that was needed for N-API module loading.
Re: nodejs/vm#9
PR-URL: nodejs/node#14902
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Hitesh Kanwathirtha <digitalinfinity@gmail.com>
Qard pushed a commit to Qard/ayo that referenced this pull request Sep 21, 2017
Remove the command line flag that was needed for N-API module loading.
Re: nodejs/vm#9
PR-URL: nodejs/node#14902
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Hitesh Kanwathirtha <digitalinfinity@gmail.com>
@gabrielschulhof
gabrielschulhof deleted the remove-flag branch September 25, 2017 09:20
jasnell added a commit that referenced this pull request Sep 25, 2017
* **crypto**
* Support for multiple ECDH curves. [#15206](#15206)
* **dgram**
* Added `setMulticastInterface()` API. [#7855](#7855)
* **n-api**
* The command-line flag is no longer required to use N-API. [#14902](#14902)
* **tls**
* Docs-only deprecation of `parseCertString()`. [#14245](#14245)
* **New Contributors**
* Welcome Sebastiaan Deckers (@sebdeckers) as a new Collaborator! [#15354](#15354)
jasnell added a commit that referenced this pull request Sep 26, 2017
* **crypto**
* Support for multiple ECDH curves. [#15206](#15206)
* **dgram**
* Added `setMulticastInterface()` API. [#7855](#7855)
* Custom lookup functions are now supported. [#14560](#14560)
* **n-api**
* The command-line flag is no longer required to use N-API. [#14902](#14902)
* **tls**
* Docs-only deprecation of `parseCertString()`. [#14245](#14245)
* **New Contributors**
* Welcome Sebastiaan Deckers (@sebdeckers) as a new Collaborator! [#15354](#15354)
jasnell added a commit that referenced this pull request Sep 26, 2017
* **crypto**
* Support for multiple ECDH curves. [#15206](#15206)
* **dgram**
* Added `setMulticastInterface()` API. [#7855](#7855)
* Custom lookup functions are now supported. [#14560](#14560)
* **n-api**
* The command-line flag is no longer required to use N-API. [#14902](#14902)
* **tls**
* Docs-only deprecation of `parseCertString()`. [#14245](#14245)
* **New Contributors**
* Welcome Sebastiaan Deckers (@sebdeckers) as a new Collaborator! [#15354](#15354)
MylesBorins pushed a commit that referenced this pull request Sep 29, 2017
* **crypto**
* Support for multiple ECDH curves. [#15206](#15206)
* **dgram**
* Added `setMulticastInterface()` API. [#7855](#7855)
* Custom lookup functions are now supported. [#14560](#14560)
* **n-api**
* The command-line flag is no longer required to use N-API. [#14902](#14902)
* **tls**
* Docs-only deprecation of `parseCertString()`. [#14245](#14245)
* **New Contributors**
* Welcome Sebastiaan Deckers (@sebdeckers) as a new Collaborator! [#15354](#15354)
addaleax pushed a commit to addaleax/ayo that referenced this pull request Sep 30, 2017
* **crypto**
* Support for multiple ECDH curves. [#15206](nodejs/node#15206)
* **dgram**
* Added `setMulticastInterface()` API. [#7855](nodejs/node#7855)
* Custom lookup functions are now supported. [#14560](nodejs/node#14560)
* **n-api**
* The command-line flag is no longer required to use N-API. [#14902](nodejs/node#14902)
* **tls**
* Docs-only deprecation of `parseCertString()`. [#14245](nodejs/node#14245)
* **New Contributors**
* Welcome Sebastiaan Deckers (@sebdeckers) as a new Collaborator! [#15354](nodejs/node#15354)
gabrielschulhof pushed a commit to gabrielschulhof/node that referenced this pull request Apr 16, 2018
Remove the command line flag that was needed for N-API module loading.
Re: nodejs/vm#9
PR-URL: nodejs#14902
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Hitesh Kanwathirtha <digitalinfinity@gmail.com>
MylesBorins pushed a commit that referenced this pull request Apr 16, 2018
Remove the command line flag that was needed for N-API module loading.
Re: nodejs/vm#9
Backport-PR-URL: #19447
PR-URL: #14902
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Hitesh Kanwathirtha <digitalinfinity@gmail.com>
@MylesBorinsMylesBorins mentioned this pull request Apr 16, 2018
@richardlaurichardlau mentioned this pull request Apr 25, 2018
3 tasks
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c++Issues and PRs that require attention from people who are familiar with C++.node-apiIssues and PRs related to the Node-API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

11 participants

@gabrielschulhof@refack@mhdawson@digitalinfinity@BridgeAR@mcollina@jasnell@addaleax@cjihrig@MylesBorins@nodejs-github-bot