Skip to content

Conversation

@SimonSchick
Copy link
Contributor

Please fill in this template.

Select one of these and delete the others:

If changing an existing definition:

  • Provide a URL to documentation or source code which provides context for the suggested changes: <>
  • If this PR brings the type definitions up to date with a new version of the JS library, update the version number in the header.

Contains changes from #48981 (minus quic, webcrypto). Thanks @Semigradsky

This brings up the typings up-to-date with v15.0.0, no guarantees are made beyond this version due to the large amount of updates node has received since then (this is left for later PRs).

Some caveats:

  • assert/strct node: aliases not working correctly (TS limitation it seems)
  • I was unable to run tests locally (it's funny this is still broken), I expect CI to fail on first PR.
  • Please ignore v14 folder as usual.

@typescript-bot typescript-bot added Critical package Author is Owner The author of this PR is a listed owner of the package. labels Apr 13, 2021
@typescript-bot
Copy link
Contributor

typescript-bot commented Apr 13, 2021

@SimonSchick Thank you for submitting this PR!

This is a live comment which I will keep updated.

1 package in this PR

Code Reviews

Because this is a widely-used package, a DT maintainer will need to review it before it can be merged.

Status

  • ✅ No merge conflicts
  • ✅ Continuous integration tests have passed
  • ✅ Most recent commit is approved by a DT maintainer

All of the items on the list are green. To merge, you need to post a comment including the string "Ready to merge" to bring in your changes.


Diagnostic Information: What the bot saw about this PR
{
  "type": "info",
  "now": "-",
  "pr_number": 52357,
  "author": "SimonSchick",
  "headCommitOid": "86a67aec2146518a96df8eae08ddaf74a23fb46f",
  "lastPushDate": "2021-04-24T02:35:20.000Z",
  "lastActivityDate": "2021-04-26T19:07:21.000Z",
  "maintainerBlessed": false,
  "mergeOfferDate": "2021-04-26T11:17:57.000Z",
  "mergeRequestDate": "2021-04-26T19:07:21.000Z",
  "mergeRequestUser": "victorperin",
  "hasMergeConflict": false,
  "isFirstContribution": false,
  "popularityLevel": "Critical",
  "pkgInfo": [
    {
      "name": "node",
      "kind": "edit",
      "files": [
        {
          "path": "types/node/assert/strict.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/crypto.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/dns.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/dns/promises.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/events.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/fs.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/globals.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/http2.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/index.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/net.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/scripts/generate-inspector/README.md",
          "kind": "markdown"
        },
        {
          "path": "types/node/scripts/generate-inspector/index.ts",
          "kind": "test"
        },
        {
          "path": "types/node/stream.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/stream/promises.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/test/crypto.ts",
          "kind": "test"
        },
        {
          "path": "types/node/test/events.ts",
          "kind": "test"
        },
        {
          "path": "types/node/test/net.ts",
          "kind": "test"
        },
        {
          "path": "types/node/test/stream.ts",
          "kind": "test"
        },
        {
          "path": "types/node/test/timers.ts",
          "kind": "test"
        },
        {
          "path": "types/node/test/timers_promises.ts",
          "kind": "test"
        },
        {
          "path": "types/node/timers.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/timers/promises.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/ts3.6/base.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/ts3.6/node-tests.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/assert.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/async_hooks.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/base.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/buffer.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/child_process.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/cluster.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/console.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/constants.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/crypto.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/dgram.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/dns.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/domain.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/events.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/fs.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/fs/promises.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/globals.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/globals.global.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/http.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/http2.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/https.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/index.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/inspector.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/module.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/net.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/node-tests.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/os.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/package.json",
          "kind": "package-meta-ok"
        },
        {
          "path": "types/node/v14/path.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/perf_hooks.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/process.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/punycode.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/querystring.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/readline.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/repl.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/stream.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/string_decoder.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/test/assert.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/async_hooks.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/buffer.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/child_process.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/cluster.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/constants.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/crypto.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/dgram.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/dns.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/events.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/fs.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/global.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/globals.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/http.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/http2.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/module.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/net.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/os.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/path.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/perf_hooks.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/process.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/querystring.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/readline.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/repl.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/stream.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/string_decoder.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/tls.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/tty.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/url.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/util.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/v8.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/vm.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/wasi.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/worker_threads.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/test/zlib.ts",
          "kind": "test"
        },
        {
          "path": "types/node/v14/timers.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/tls.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/trace_events.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/ts3.6/assert.d.ts",
          "kind": "definition"
        },
        {
          "path": "types/node/v14/ts3.6/base.d.ts",
          "kind": "definition"
        }
      ],
      "owners": [
        "Microsoft",
        "DefinitelyTyped",
        "jkomyno",
        "alvis",
        "r3nya",
        "btoueg",
        "brunoscheufler",
        "smac89",
        "touffy",
        "DeividasBakanas",
        "eyqs",
        "Hannes-Magnusson-CK",
        "KSXGitHub",
        "hoo29",
        "kjin",
        "ajafff",
        "islishude",
        "mwiktorczyk",
        "mohsen1",
        "n-e",
        "galkin",
        "parambirs",
        "eps1lon",
        "SimonSchick",
        "ThomasdenH",
        "WilcoBakker",
        "wwwy3y3",
        "samuela",
        "kuehlein",
        "bhongy",
        "chyzwar",
        "trivikr",
        "nguymin4",
        "yoursunny",
        "qwelias",
        "ExE-Boss",
        "Ryan-Willpower",
        "peterblazejewicz",
        "addaleax",
        "JasonHK",
        "victorperin",
        "ZYSzys"
      ],
      "addedOwners": [],
      "deletedOwners": [],
      "popularityLevel": "Critical"
    }
  ],
  "reviews": [
    {
      "type": "approved",
      "reviewer": "victorperin",
      "date": "2021-04-26T19:02:07.000Z",
      "isMaintainer": false
    },
    {
      "type": "approved",
      "reviewer": "ZYSzys",
      "date": "2021-04-26T11:32:15.000Z",
      "isMaintainer": false
    },
    {
      "type": "approved",
      "reviewer": "orta",
      "date": "2021-04-26T11:17:21.000Z",
      "isMaintainer": true
    },
    {
      "type": "approved",
      "reviewer": "Mesteery",
      "date": "2021-04-24T14:16:44.000Z",
      "isMaintainer": false
    },
    {
      "type": "approved",
      "reviewer": "peterblazejewicz",
      "date": "2021-04-24T12:21:17.000Z",
      "isMaintainer": false
    },
    {
      "type": "stale",
      "reviewer": "fluggo",
      "date": "2021-04-16T16:04:58.000Z",
      "abbrOid": "717af95"
    },
    {
      "type": "stale",
      "reviewer": "rbuckton",
      "date": "2021-04-15T17:50:57.000Z",
      "abbrOid": "b0882f3"
    }
  ],
  "ciResult": "pass"
}

@typescript-bot
Copy link
Contributor

@typescript-bot typescript-bot added the The CI failed When GH Actions fails label Apr 13, 2021
@typescript-bot
Copy link
Contributor

@SimonSchick The CI build failed! Please review the logs for more information.

Once you've pushed the fixes, the build will automatically re-run. Thanks!

@typescript-bot typescript-bot removed the The CI failed When GH Actions fails label Apr 14, 2021
@typescript-bot
Copy link
Contributor

👋 Hi there! I’ve run some quick measurements against master and your PR. These metrics should help the humans reviewing this PR gauge whether it might negatively affect compile times or editor responsiveness for users who install these typings.

Let’s review the numbers, shall we?

node/v15.0

These typings are for a version of node that doesn’t yet exist on master, so I’ve compared them with v14.14.

Comparison details for node/15.0 📊
14.14@master 15.0 in #52357 diff
Batch compilation
Memory usage (MiB) 133.9 137.0 +2.3%
Type count 23321 23527 +1%
Assignability cache size 7796 7880 +1%
Language service
Samples taken 46 46 0%
Identifiers in tests 46 46 0%
getCompletionsAtPosition
    Mean duration (ms) 837.7 848.6 +1.3%
    Mean CV 9.6% 9.3%
    Worst duration (ms) 1006.2 989.6 -1.6%
    Worst identifier a a
getQuickInfoAtPosition
    Mean duration (ms) 830.0 844.2 +1.7%
    Mean CV 8.9% 9.9%
    Worst duration (ms) 1062.6 1047.9 -1.4%
    Worst identifier a a

It looks like nothing changed too much. I won’t post performance data again unless it gets worse.

node/v15.0

These typings are for a version of node that doesn’t yet exist on master, so I’ve compared them with v14.14.

Comparison details for node/15.0 📊
14.14@master 15.0 in #52357 diff
Batch compilation
Memory usage (MiB) 133.9 133.7 -0.2%
Type count 23321 23527 +1%
Assignability cache size 7796 7880 +1%
Language service
Samples taken 46 46 0%
Identifiers in tests 46 46 0%
getCompletionsAtPosition
    Mean duration (ms) 837.7 852.4 +1.8%
    Mean CV 9.6% 8.7%
    Worst duration (ms) 1006.2 1144.7 +13.8%
    Worst identifier a a
getQuickInfoAtPosition
    Mean duration (ms) 830.0 849.0 +2.3%
    Mean CV 8.9% 8.9%
    Worst duration (ms) 1062.6 1083.7 +2.0%
    Worst identifier a a

It looks like nothing changed too much. I won’t post performance data again unless it gets worse.

@typescript-bot typescript-bot added the Perf: Same typescript-bot determined that this PR will not significantly impact compilation performance. label Apr 14, 2021
@peterblazejewicz
Copy link
Member

I've run tests locally on your PR, all passed, thx!

@typescript-bot typescript-bot added the Revision needed This PR needs code changes before it can be merged. label Apr 15, 2021
@typescript-bot
Copy link
Contributor

@SimonSchick One or more reviewers has requested changes. Please address their comments. I'll be back once they sign off or you've pushed new commits. Thank you!

@typescript-bot typescript-bot removed the Revision needed This PR needs code changes before it can be merged. label Apr 16, 2021
@typescript-bot
Copy link
Contributor

@rbuckton Thank you for reviewing this PR! The author has pushed new commits since your last review. Could you take another look and submit a fresh review?

@SimonSchick
Copy link
Contributor Author

I think we're good now.

@typescript-bot
Copy link
Contributor

@fluggo, @rbuckton Thank you for reviewing this PR! The author has pushed new commits since your last review. Could you take another look and submit a fresh review?

@typescript-bot typescript-bot added the Owner Approved A listed owner of this package signed off on the pull request. label Apr 19, 2021
@SimonSchick
Copy link
Contributor Author

@rbuckton I cannot get github to mark your request as resolved for some reason.

@typescript-bot typescript-bot added Revision needed This PR needs code changes before it can be merged. and removed Owner Approved A listed owner of this package signed off on the pull request. labels Apr 24, 2021
@typescript-bot typescript-bot removed the Revision needed This PR needs code changes before it can be merged. label Apr 24, 2021
@typescript-bot
Copy link
Contributor

@Mesteery, @victorperin, @peterblazejewicz, @fluggo, @rbuckton Thank you for reviewing this PR! The author has pushed new commits since your last review. Could you take another look and submit a fresh review?

@typescript-bot typescript-bot added the Owner Approved A listed owner of this package signed off on the pull request. label Apr 24, 2021
@typescript-bot
Copy link
Contributor

@Mesteery, @victorperin, @fluggo, @rbuckton Thank you for reviewing this PR! The author has pushed new commits since your last review. Could you take another look and submit a fresh review?

@typescript-bot
Copy link
Contributor

@Mesteery, @fluggo, @rbuckton Thank you for reviewing this PR! The author has pushed new commits since your last review. Could you take another look and submit a fresh review?

@typescript-bot typescript-bot added the Other Approved This PR was reviewed and signed-off by a community member. label Apr 24, 2021
@AviVahl
Copy link
Contributor

AviVahl commented Apr 24, 2021

I wonder... Now that 16 is already out, is it really worth start maintaining types for 15?

At this point in time, I suggest going to 16 directly, saving everyone some of the extra work when PRing to types/node.

@SimonSchick
Copy link
Contributor Author

@AviVahl the current diff between latest v14 and v16 is too great to do in a single PR, this is an effort to at least get some progress.

@AviVahl
Copy link
Contributor

AviVahl commented Apr 24, 2021

And it's awesome, seriously. I've been waiting for the newer types myself for quiet a while and am excited to see this progress.

All I'm suggesting is directing the current PR, as-is, to target 16 instead of 15. This would save the community from having to maintain v15 in addition to v16, v14, and v12.

I understand there are additional changes that can be done in a future PRs to actually represent everything in 16.0.0, but this can serve as a great start.

@SimonSchick
Copy link
Contributor Author

I don't think this is a good idea as this would set the expectation that this includes all features up to v16 and makes it difficult to reason which versions features are implemented and which are not.

Ideally we would pick up the pace and catch up to node, probably doing 2-3 minor version updates per PR.

@victorperin
Copy link
Contributor

I'm already building a v16 version. When this branch get merged, I can cherry pick my changes to a new PR.

@SimonSchick
Copy link
Contributor Author

@rbuckton can we move forward, I want to move forward with followup pull requests.

Copy link
Collaborator

@orta orta left a comment

Choose a reason for hiding this comment

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

Cool, I'm OK with moving forwards

@typescript-bot typescript-bot added Maintainer Approved Self Merge This PR can now be self-merged by the PR author or an owner labels Apr 26, 2021
@victorperin
Copy link
Contributor

Ready to merge

@typescript-bot typescript-bot merged commit c38c576 into DefinitelyTyped:master Apr 26, 2021
@SimonSchick SimonSchick deleted the node-v15 branch April 26, 2021 19:18
@victorperin
Copy link
Contributor

As I mentioned, I'm working on v16 on this #52594

@SimonSchick
Copy link
Contributor Author

@victorperin my intermediate goal is to get to15.3, 15.6, 15.9, 15.12 and finally 15.14

@typescript-bot
Copy link
Contributor

I just published @types/node@15.0.0 to npm.

@typescript-bot
Copy link
Contributor

I just published @types/node@14.14.42 to npm.

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

Labels

Author is Owner The author of this PR is a listed owner of the package. Critical package Maintainer Approved Other Approved This PR was reviewed and signed-off by a community member. Owner Approved A listed owner of this package signed off on the pull request. Perf: Same typescript-bot determined that this PR will not significantly impact compilation performance. Self Merge This PR can now be self-merged by the PR author or an owner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants