| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
|
Review requested:
|
Sorry, something went wrong.
|
This seems very risky; node typically does not backport new core modules. |
Sorry, something went wrong.
@ljharb Could you elaborate on why it is risky? Thanks. |
Sorry, something went wrong.
|
@F3n67u new core modules are always risky. In the typical case (every single one but node:test) it's adding a new non-prefixed core module, that could break someone who's requiring a folder inside a node_modules or a NODE_PREFIX folder. In this case, the node: prefix does mean that nobody in node 16 could be relying on it, so it's less risky, but userland tooling doesn't have a way to discover this module exists (#42785), and userland tools like resolve/is-core-module don't assume that anything with a node: prefix is a valid core module, so they'd need to be updated - both directly and transitively. |
Sorry, something went wrong.
|
@nodejs/lts what do you think? |
Sorry, something went wrong.
|
This doesn’t strike me as all that risky; what could break in userland if there’s suddenly an additional prefixed core module? What relies on the list of builtins, and more precisely what would break if that list grew by one? This feels like a semver-minor change; a new feature has been added. It’s not that different from a new API being added on any of the core modules. Sure, someone might have been depending somehow on the list of APIs on path being exactly 22 things and now there are 23, but that’s the definition of a semver-minor change. If we don’t backport node:test, there will be lots of other PRs blocked from backporting, as many PRs since node:test landed have started to use that API in Node’s own tests. We could do some kind of special PR that makes node:test available internally but not publicly on 16, to allow these other PRs to be backported, but then we have a weird divergence to deal with in 16. Also node:test is generally useful and we should want our v16 users to enjoy it. |
Sorry, something went wrong.
To clarify here, it would break if a userland module was using the same name as the core built-in one. But that doesn't apply here because node:test is only available when using the node: prefix, and no user package can use a name that starts with node: since Node.js 16.0.0 – specifically for this use case.
FWIW they can already, via npm i test :) |
Sorry, something went wrong.
Sorry, something went wrong.
Sorry, something went wrong.
|
It could be backported without being exposed such that it has no risk and also unblocks additional backport PRs. |
Sorry, something went wrong.
|
if this lands, will we need to remove https://github.com/nodejs/node/labels/dont-land-on-v16.x from all/some of these? |
Sorry, something went wrong.
|
@MoLow yes, but with v16.x instead of v14.x |
Sorry, something went wrong.
Sorry, something went wrong.
Sorry, something went wrong.
Sorry, something went wrong.
Sorry, something went wrong.
Sorry, something went wrong.
Sorry, something went wrong.
Sorry, something went wrong.
|
I think CI was resumed enough times to confirm that the failing test is broken, not flaky. |
Sorry, something went wrong.
This commit adds a new 'test' module that exposes an API for creating JavaScript tests. As the tests execute, TAP output is written to standard output. This commit only supports executing individual test files, and does not implement command line functionality for a full test runner. PR-URL: nodejs#42325 Refs: nodejs#40954 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
This commit makes it possible to add new core modules that can only be require()'ed and imported when the 'node:' scheme is used. The 'test' module is the first such module. These 'node:'-only modules are not included in the list returned by module.builtinModules. PR-URL: nodejs#42325 Refs: nodejs#40954 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
This commit introduces a CLI flag and test runner functionality to support running a subset of tests that are indicated by an 'only' option passed to the test. PR-URL: nodejs#42514 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
This commit introduces an initial version of a CLI-based test runner. PR-URL: nodejs#42658 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
|
I removed #41818 from the staging branch and rebased this PR. |
Sorry, something went wrong.
Sorry, something went wrong.
Sorry, something went wrong.
This commit adds a new 'test' module that exposes an API for creating JavaScript tests. As the tests execute, TAP output is written to standard output. This commit only supports executing individual test files, and does not implement command line functionality for a full test runner. PR-URL: #42325 Backport-PR-URL: #43904 Refs: #40954 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
This commit makes it possible to add new core modules that can only be require()'ed and imported when the 'node:' scheme is used. The 'test' module is the first such module. These 'node:'-only modules are not included in the list returned by module.builtinModules. PR-URL: #42325 Backport-PR-URL: #43904 Refs: #40954 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
This commit introduces a CLI flag and test runner functionality to support running a subset of tests that are indicated by an 'only' option passed to the test. PR-URL: #42514 Backport-PR-URL: #43904 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
This commit adds a new 'test' module that exposes an API for creating JavaScript tests. As the tests execute, TAP output is written to standard output. This commit only supports executing individual test files, and does not implement command line functionality for a full test runner. PR-URL: nodejs/node#42325 Backport-PR-URL: nodejs/node#43904 Refs: nodejs/node#40954 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
This commit makes it possible to add new core modules that can only be require()'ed and imported when the 'node:' scheme is used. The 'test' module is the first such module. These 'node:'-only modules are not included in the list returned by module.builtinModules. PR-URL: nodejs/node#42325 Backport-PR-URL: nodejs/node#43904 Refs: nodejs/node#40954 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
This commit introduces a CLI flag and test runner functionality to support running a subset of tests that are indicated by an 'only' option passed to the test. PR-URL: nodejs/node#42514 Backport-PR-URL: nodejs/node#43904 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
This commit introduces an initial version of a CLI-based test runner. PR-URL: nodejs/node#42658 Backport-PR-URL: nodejs/node#43904 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
| Back | FazBrowse Home | New Git URL |
No description provided.