-
Notifications
You must be signed in to change notification settings - Fork 29.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test_runner: support passing globs #47653
Conversation
Review requested:
|
CC @isaacs @nodejs/test_runner |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like a good start - needs tests and docs. Also probably glob support in test name patterns should be experimental for a while until we gather feedback
@isaacs might have good feedback on this too |
Took a quick pass over it. I agree this is a good start. Tried to highlight a few issues that will likely be gotchas for Windows users. This boils down to essentially the same algorithm that node-glob used until the recent rewrite; walk down the pattern adding each possible match to the task queue until it runs out. It's punishingly slow for advanced use cases and large folder trees. I definitely recommend a more advanced approach to caching and folder walking like what node-glob uses before making this available on the user-facing |
So . . . why wouldn’t we just import the latest version of |
@isaacs I went over the code and I am not really sure what better caching and folder walking can be done, can you elaborate? |
If the (ultimate, not present) goal is to expose an node-glob is, at its core, path-scurry + minimatch. It uses minipass for streams and iteration, because it's the most performant way to do that, but streams could be swapped out (albeit at the loss of performance and synchronous streaming) with core streams, and iteration could be swapped out (with a significant performance penalty) with plain old JS generators. The dependencies on jackspeak and foreground-child are just for the glob CLI, but that probably shouldn't be included in node core. The only thing that path-scurry depends on is lru-cache, which is just a very fast cache that prevents it from OOMing if you try to walk a directory with a million files and directories in it. (The child nodes created to reflect
Sure. In this approach, there's a queue of tasks which are effectively a tuple of This blows up combinatorially in many common patterns. For example, consider: tracing through the algoStarting at the That this is happening synchronously rather than in parallel, and making extra lstat calls rather than using the Dirents from readdir, makes it worse. Of course, that's maybe fine for this specific use case for the test runner, and easy enough to correct later. The approach that both fast-glob and node-glob use is, instead of processing a queue of tasks each related to a single pattern and folder, is keep a set of patterns that might be applicable to a given path, and then just do a very efficient folder walk. Node-glob has full support for The caching approach implemented by path-scurry is also significantly more comprehensive and defensive. Within a given path-scurry object, it is nearly impossible to accidentally call lstat or readdir more than once on a given path. (Unless you have over There's nothing wrong necessarily with just caching each thing in its own standalone object or whatever, but path-scurry evolved from the frustration of juggling all these things and just wanting a simple read-only view of the filesystem which could guarantee that it would only perform the bare minimum of system operations required, and cache everything for the duration of the operation. Once you do take the step of parallelizing the walk, it becomes increasingly challenging to keep it all straight otherwise. More precise in unrolled pseudocode:
So, for small folder trees, yeah, it's fine, because it can't get all that big without child nodes to have to process. But if you wanted to use it for any kind of large or time-sensitive job, the overhead will really start to hurt, because the number of required tests goes up so much faster than the number of items in the tree. Conversely, by associating all the patterns relevant at a given point in the walk, you only have to visit each path once (barring unavoidable
By filtering the pattern set down (and, in the case of globstar, potentially increasing it as well) at each iteration, you prevent the need to (almost) ever process the same path more than once, and it becomes a lot easier to reason about making it parallel. The thing that node-glob uses to calculate which patterns are needed for each walk step, and the matches that should be recorded for each, is: https://github.com/isaacs/node-glob/blob/main/src/processor.ts Note that there's also some special rules for when globstar is allowed to follow a symbolic link.
I'm actively eager to use node errors when possible, I know @cjihrig is looking into making that more exposed for userland code. I've got a polyfill for primordials that seems to work, but I haven't gotten around to porting path-scurry to use it. I figure that's the best first test, since path-scurry is almost zero-dep, and has a good suite of benchmarks to see whether the perf impact is too bad. If path-scurry, lru-cache, and minimatch all can be ported to use primordials without too much of a performance impact, then I think porting glob is going to be pretty easy. But that might be a pretty big "if". |
This will enable interop with TypeScript, right? i.e.
Just asking to be sure the requirement on file extensions being .js/.cjs/.mjs is gone after this PR :) Thanks for all your hard work on the test runner @MoLow ! |
PR-URL: nodejs#47653 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
I understand this PR is merged. But it seems In other words, if I want to use this feature, which version should be used? |
@hyf0 two things:
|
Notable Changes: TODO Semver-Major Commits: * (SEMVER-MAJOR) bump supported macOS and Xcode versions (Michaël Zasso) #49164 * (SEMVER-MAJOR) do not overwrite _writableState.defaultEncoding (Tobias Nießen) #49140 * (SEMVER-MAJOR) update llhttp to 9.1.2 (Paolo Insogna) #48981 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 * (SEMVER-MAJOR) mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497 * (SEMVER-MAJOR) remove aix directory case for package reader (Yagiz Nizipli) #48605 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 * (SEMVER-MAJOR) runtime deprecate punycode (Yagiz Nizipli) #47202 * (SEMVER-MAJOR) harmonize error code between ESM and CJS (Antoine du Hamel) #48606 * (SEMVER-MAJOR) do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276 * (SEMVER-MAJOR) only defer _final call when connecting (Jason Zhang) #47385 * (SEMVER-MAJOR) rename internal NAPI_VERSION definition (Chengzhong Wu) #48501 * (SEMVER-MAJOR) throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604 * (SEMVER-MAJOR) use private properties for strategies (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for encoding (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for compression (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 * (SEMVER-MAJOR) runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609 PR-URL: #49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: TODO Semver-Major Commits: * (SEMVER-MAJOR) bump supported macOS and Xcode versions (Michaël Zasso) #49164 * (SEMVER-MAJOR) do not overwrite _writableState.defaultEncoding (Tobias Nießen) #49140 * (SEMVER-MAJOR) update llhttp to 9.1.2 (Paolo Insogna) #48981 * (SEMVER-MAJOR) validate options of `on` and `once` (Deokjin Kim) #46018 * (SEMVER-MAJOR) adjust `position` validation in reading methods (Livia Medeiros) #42835 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 * (SEMVER-MAJOR) mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497 * (SEMVER-MAJOR) remove aix directory case for package reader (Yagiz Nizipli) #48605 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 * (SEMVER-MAJOR) runtime deprecate punycode (Yagiz Nizipli) #47202 * (SEMVER-MAJOR) harmonize error code between ESM and CJS (Antoine du Hamel) #48606 * (SEMVER-MAJOR) do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276 * (SEMVER-MAJOR) only defer _final call when connecting (Jason Zhang) #47385 * (SEMVER-MAJOR) rename internal NAPI_VERSION definition (Chengzhong Wu) #48501 * (SEMVER-MAJOR) throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839 * (SEMVER-MAJOR) throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604 * (SEMVER-MAJOR) use private properties for strategies (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for encoding (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for compression (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) disallow array in `run` options (Raz Luvaton) #49935 * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 * (SEMVER-MAJOR) use `validateNumber` for `options.minDHSize` (Deokjin Kim) #49973 * (SEMVER-MAJOR) use validateFunction for `options.checkServerIdentity` (Deokjin Kim) #49896 * (SEMVER-MAJOR) runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609 * (SEMVER-MAJOR) freeze `dependencySpecifiers` array (Antoine du Hamel) #49720 PR-URL: #49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) nodejs#45684 esm: * --experimental-default-type flag to flip module defaults (Geoffrey Booth) nodejs#49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) nodejs#49144 fs: * add flush option to writeFile() functions (Colin Ihrig) nodejs#50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) nodejs#47653 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) nodejs#49830 stream: * optimize Writable (Robert Nagy) nodejs#50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) nodejs#47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) nodejs#49950 Semver-Major Commits: * (SEMVER-MAJOR) bump supported macOS and Xcode versions (Michaël Zasso) nodejs#49164 * (SEMVER-MAJOR) do not overwrite _writableState.defaultEncoding (Tobias Nießen) nodejs#49140 * (SEMVER-MAJOR) update llhttp to 9.1.2 (Paolo Insogna) nodejs#48981 * (SEMVER-MAJOR) validate options of `on` and `once` (Deokjin Kim) nodejs#46018 * (SEMVER-MAJOR) adjust `position` validation in reading methods (Livia Medeiros) nodejs#42835 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) nodejs#47653 * (SEMVER-MAJOR) mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) nodejs#47497 * (SEMVER-MAJOR) remove aix directory case for package reader (Yagiz Nizipli) nodejs#48605 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) nodejs#47769 * (SEMVER-MAJOR) runtime deprecate punycode (Yagiz Nizipli) nodejs#47202 * (SEMVER-MAJOR) harmonize error code between ESM and CJS (Antoine du Hamel) nodejs#48606 * (SEMVER-MAJOR) do not treat `server.maxConnections=0` as `Infinity` (ignoramous) nodejs#48276 * (SEMVER-MAJOR) only defer _final call when connecting (Jason Zhang) nodejs#47385 * (SEMVER-MAJOR) rename internal NAPI_VERSION definition (Chengzhong Wu) nodejs#48501 * (SEMVER-MAJOR) throw DOMException on cloning non-serializable objects (Chengzhong Wu) nodejs#47839 * (SEMVER-MAJOR) throw DataCloneError on transfering untransferable objects (Chengzhong Wu) nodejs#47604 * (SEMVER-MAJOR) use private properties for strategies (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) use private properties for encoding (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) use private properties for compression (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) disallow array in `run` options (Raz Luvaton) nodejs#49935 * (SEMVER-MAJOR) support passing globs (Moshe Atlow) nodejs#47653 * (SEMVER-MAJOR) use `validateNumber` for `options.minDHSize` (Deokjin Kim) nodejs#49973 * (SEMVER-MAJOR) use validateFunction for `options.checkServerIdentity` (Deokjin Kim) nodejs#49896 * (SEMVER-MAJOR) runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) nodejs#49609 * (SEMVER-MAJOR) freeze `dependencySpecifiers` array (Antoine du Hamel) nodejs#49720 PR-URL: nodejs#49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) nodejs#45684 esm: * --experimental-default-type flag to flip module defaults (Geoffrey Booth) nodejs#49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) nodejs#49144 fs: * add flush option to writeFile() functions (Colin Ihrig) nodejs#50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) nodejs#47653 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) nodejs#49830 stream: * optimize Writable (Robert Nagy) nodejs#50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) nodejs#47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) nodejs#49950 Semver-Major Commits: * (SEMVER-MAJOR) bump supported macOS and Xcode versions (Michaël Zasso) nodejs#49164 * (SEMVER-MAJOR) do not overwrite _writableState.defaultEncoding (Tobias Nießen) nodejs#49140 * (SEMVER-MAJOR) update llhttp to 9.1.2 (Paolo Insogna) nodejs#48981 * (SEMVER-MAJOR) validate options of `on` and `once` (Deokjin Kim) nodejs#46018 * (SEMVER-MAJOR) adjust `position` validation in reading methods (Livia Medeiros) nodejs#42835 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) nodejs#47653 * (SEMVER-MAJOR) mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) nodejs#47497 * (SEMVER-MAJOR) remove aix directory case for package reader (Yagiz Nizipli) nodejs#48605 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) nodejs#47769 * (SEMVER-MAJOR) runtime deprecate punycode (Yagiz Nizipli) nodejs#47202 * (SEMVER-MAJOR) harmonize error code between ESM and CJS (Antoine du Hamel) nodejs#48606 * (SEMVER-MAJOR) do not treat `server.maxConnections=0` as `Infinity` (ignoramous) nodejs#48276 * (SEMVER-MAJOR) only defer _final call when connecting (Jason Zhang) nodejs#47385 * (SEMVER-MAJOR) rename internal NAPI_VERSION definition (Chengzhong Wu) nodejs#48501 * (SEMVER-MAJOR) throw DOMException on cloning non-serializable objects (Chengzhong Wu) nodejs#47839 * (SEMVER-MAJOR) throw DataCloneError on transfering untransferable objects (Chengzhong Wu) nodejs#47604 * (SEMVER-MAJOR) use private properties for strategies (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) use private properties for encoding (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) use private properties for compression (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) disallow array in `run` options (Raz Luvaton) nodejs#49935 * (SEMVER-MAJOR) support passing globs (Moshe Atlow) nodejs#47653 * (SEMVER-MAJOR) use `validateNumber` for `options.minDHSize` (Deokjin Kim) nodejs#49973 * (SEMVER-MAJOR) use validateFunction for `options.checkServerIdentity` (Deokjin Kim) nodejs#49896 * (SEMVER-MAJOR) runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) nodejs#49609 * (SEMVER-MAJOR) freeze `dependencySpecifiers` array (Antoine du Hamel) nodejs#49720 PR-URL: nodejs#49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) #45684 esm: * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) #49144 fs: * add flush option to writeFile() functions (Colin Ihrig) #50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) #49830 stream: * optimize Writable (Robert Nagy) #50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950 Semver-Major Commits: * (SEMVER-MAJOR) bump supported macOS and Xcode versions (Michaël Zasso) #49164 * (SEMVER-MAJOR) do not overwrite _writableState.defaultEncoding (Tobias Nießen) #49140 * (SEMVER-MAJOR) update llhttp to 9.1.2 (Paolo Insogna) #48981 * (SEMVER-MAJOR) validate options of `on` and `once` (Deokjin Kim) #46018 * (SEMVER-MAJOR) adjust `position` validation in reading methods (Livia Medeiros) #42835 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 * (SEMVER-MAJOR) mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497 * (SEMVER-MAJOR) remove aix directory case for package reader (Yagiz Nizipli) #48605 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 * (SEMVER-MAJOR) runtime deprecate punycode (Yagiz Nizipli) #47202 * (SEMVER-MAJOR) harmonize error code between ESM and CJS (Antoine du Hamel) #48606 * (SEMVER-MAJOR) do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276 * (SEMVER-MAJOR) only defer _final call when connecting (Jason Zhang) #47385 * (SEMVER-MAJOR) rename internal NAPI_VERSION definition (Chengzhong Wu) #48501 * (SEMVER-MAJOR) throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839 * (SEMVER-MAJOR) throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604 * (SEMVER-MAJOR) use private properties for strategies (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for encoding (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for compression (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) disallow array in `run` options (Raz Luvaton) #49935 * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 * (SEMVER-MAJOR) use `validateNumber` for `options.minDHSize` (Deokjin Kim) #49973 * (SEMVER-MAJOR) use validateFunction for `options.checkServerIdentity` (Deokjin Kim) #49896 * (SEMVER-MAJOR) runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609 * (SEMVER-MAJOR) freeze `dependencySpecifiers` array (Antoine du Hamel) #49720 PR-URL: #49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) #45684 esm: * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) #49144 fs: * add flush option to writeFile() functions (Colin Ihrig) #50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) #49830 stream: * optimize Writable (Robert Nagy) #50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950 Semver-Major Commits: * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) #49639 * (SEMVER-MAJOR) drop support for Visual Studio 2019 (Michaël Zasso) #49051 * (SEMVER-MAJOR) bump supported macOS and Xcode versions (Michaël Zasso) #49164 * (SEMVER-MAJOR) do not overwrite _writableState.defaultEncoding (Tobias Nießen) #49140 * (SEMVER-MAJOR) bump minimum ICU version to 73 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 8ec2651fbdd8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 89b3702c92b0 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick de9a5de2274f (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick b5b5d6c31bb0 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 93b1a74cbc9b (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 1a3ecc2483b2 (Michaël Zasso) #49639 * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #49639 * (SEMVER-MAJOR) remove usage of a C++20 feature from V8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) avoid compilation error with ASan (Michaël Zasso) #49639 * (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) #49639 * (SEMVER-MAJOR) silence irrelevant V8 warning (Michaël Zasso) #49639 * (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 to 11.8.172.13 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update llhttp to 9.1.2 (Paolo Insogna) #48981 * (SEMVER-MAJOR) validate options of `on` and `once` (Deokjin Kim) #46018 * (SEMVER-MAJOR) adjust `position` validation in reading methods (Livia Medeiros) #42835 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 * (SEMVER-MAJOR) update usage of always on Atomics API (Michaël Zasso) #49639 * (SEMVER-MAJOR) mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497 * (SEMVER-MAJOR) remove aix directory case for package reader (Yagiz Nizipli) #48605 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 * (SEMVER-MAJOR) runtime deprecate punycode (Yagiz Nizipli) #47202 * (SEMVER-MAJOR) harmonize error code between ESM and CJS (Antoine du Hamel) #48606 * (SEMVER-MAJOR) do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276 * (SEMVER-MAJOR) only defer _final call when connecting (Jason Zhang) #47385 * (SEMVER-MAJOR) rename internal NAPI_VERSION definition (Chengzhong Wu) #48501 * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 120 (Michaël Zasso) #49639 * (SEMVER-MAJOR) throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839 * (SEMVER-MAJOR) throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604 * (SEMVER-MAJOR) use private properties for strategies (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for encoding (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for compression (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) skip v8-updates/test-linux-perf (Michaël Zasso) #49639 * (SEMVER-MAJOR) skip test-tick-processor-arguments on SmartOS (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt REPL test to V8 changes (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt test-fs-write to V8 internal changes (Michaël Zasso) #49639 * (SEMVER-MAJOR) update flag to disable SharedArrayBuffer (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt debugger tests to V8 11.4 (Philip Pfaffe) #49639 * (SEMVER-MAJOR) disallow array in `run` options (Raz Luvaton) #49935 * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 * (SEMVER-MAJOR) use `validateNumber` for `options.minDHSize` (Deokjin Kim) #49973 * (SEMVER-MAJOR) use validateFunction for `options.checkServerIdentity` (Deokjin Kim) #49896 * (SEMVER-MAJOR) add new V8 headers to distribution (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.7 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.6 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.5 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.4 (Michaël Zasso) #49639 * (SEMVER-MAJOR) runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609 * (SEMVER-MAJOR) freeze `dependencySpecifiers` array (Antoine du Hamel) #49720 PR-URL: #49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) #45684 esm: * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) #49144 fs: * add flush option to writeFile() functions (Colin Ihrig) #50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) #49830 stream: * optimize Writable (Robert Nagy) #50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950 Semver-Major Commits: * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) #49639 * (SEMVER-MAJOR) drop support for Visual Studio 2019 (Michaël Zasso) #49051 * (SEMVER-MAJOR) bump supported macOS and Xcode versions (Michaël Zasso) #49164 * (SEMVER-MAJOR) do not overwrite _writableState.defaultEncoding (Tobias Nießen) #49140 * (SEMVER-MAJOR) bump minimum ICU version to 73 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 8ec2651fbdd8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 89b3702c92b0 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick de9a5de2274f (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick b5b5d6c31bb0 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 93b1a74cbc9b (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 1a3ecc2483b2 (Michaël Zasso) #49639 * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #49639 * (SEMVER-MAJOR) remove usage of a C++20 feature from V8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) avoid compilation error with ASan (Michaël Zasso) #49639 * (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) #49639 * (SEMVER-MAJOR) silence irrelevant V8 warning (Michaël Zasso) #49639 * (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 to 11.8.172.13 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update llhttp to 9.1.2 (Paolo Insogna) #48981 * (SEMVER-MAJOR) validate options of `on` and `once` (Deokjin Kim) #46018 * (SEMVER-MAJOR) adjust `position` validation in reading methods (Livia Medeiros) #42835 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 * (SEMVER-MAJOR) update usage of always on Atomics API (Michaël Zasso) #49639 * (SEMVER-MAJOR) mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497 * (SEMVER-MAJOR) remove aix directory case for package reader (Yagiz Nizipli) #48605 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 * (SEMVER-MAJOR) runtime deprecate punycode (Yagiz Nizipli) #47202 * (SEMVER-MAJOR) harmonize error code between ESM and CJS (Antoine du Hamel) #48606 * (SEMVER-MAJOR) do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276 * (SEMVER-MAJOR) only defer _final call when connecting (Jason Zhang) #47385 * (SEMVER-MAJOR) rename internal NAPI_VERSION definition (Chengzhong Wu) #48501 * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 120 (Michaël Zasso) #49639 * (SEMVER-MAJOR) throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839 * (SEMVER-MAJOR) throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604 * (SEMVER-MAJOR) use private properties for strategies (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for encoding (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for compression (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) skip v8-updates/test-linux-perf (Michaël Zasso) #49639 * (SEMVER-MAJOR) skip test-tick-processor-arguments on SmartOS (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt REPL test to V8 changes (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt test-fs-write to V8 internal changes (Michaël Zasso) #49639 * (SEMVER-MAJOR) update flag to disable SharedArrayBuffer (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt debugger tests to V8 11.4 (Philip Pfaffe) #49639 * (SEMVER-MAJOR) disallow array in `run` options (Raz Luvaton) #49935 * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 * (SEMVER-MAJOR) use `validateNumber` for `options.minDHSize` (Deokjin Kim) #49973 * (SEMVER-MAJOR) use validateFunction for `options.checkServerIdentity` (Deokjin Kim) #49896 * (SEMVER-MAJOR) add new V8 headers to distribution (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.7 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.6 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.5 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.4 (Michaël Zasso) #49639 * (SEMVER-MAJOR) runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609 * (SEMVER-MAJOR) freeze `dependencySpecifiers` array (Antoine du Hamel) #49720 PR-URL: #49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) #45684 esm: * use import attributes instead of import assertions (Antoine du Hamel) #50140 * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) #49144 fs: * add flush option to writeFile() functions (Colin Ihrig) #50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 http: * (SEMVER-MAJOR) reduce parts in chunked response when corking (Robert Nagy) #50167 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) #49830 stream: * optimize Writable (Robert Nagy) #50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950 Semver-Major Commits: * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) #49639 * (SEMVER-MAJOR) drop support for Visual Studio 2019 (Michaël Zasso) #49051 * (SEMVER-MAJOR) bump supported macOS and Xcode versions (Michaël Zasso) #49164 * (SEMVER-MAJOR) do not overwrite _writableState.defaultEncoding (Tobias Nießen) #49140 * (SEMVER-MAJOR) bump minimum ICU version to 73 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 8ec2651fbdd8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 89b3702c92b0 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick de9a5de2274f (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick b5b5d6c31bb0 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 93b1a74cbc9b (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 1a3ecc2483b2 (Michaël Zasso) #49639 * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #49639 * (SEMVER-MAJOR) remove usage of a C++20 feature from V8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) avoid compilation error with ASan (Michaël Zasso) #49639 * (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) #49639 * (SEMVER-MAJOR) silence irrelevant V8 warning (Michaël Zasso) #49639 * (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 to 11.8.172.13 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update llhttp to 9.1.2 (Paolo Insogna) #48981 * (SEMVER-MAJOR) validate options of `on` and `once` (Deokjin Kim) #46018 * (SEMVER-MAJOR) adjust `position` validation in reading methods (Livia Medeiros) #42835 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 * (SEMVER-MAJOR) reduce parts in chunked response when corking (Robert Nagy) #50167 * (SEMVER-MAJOR) update usage of always on Atomics API (Michaël Zasso) #49639 * (SEMVER-MAJOR) mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497 * (SEMVER-MAJOR) remove aix directory case for package reader (Yagiz Nizipli) #48605 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 * (SEMVER-MAJOR) runtime deprecate punycode (Yagiz Nizipli) #47202 * (SEMVER-MAJOR) harmonize error code between ESM and CJS (Antoine du Hamel) #48606 * (SEMVER-MAJOR) do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276 * (SEMVER-MAJOR) only defer _final call when connecting (Jason Zhang) #47385 * (SEMVER-MAJOR) rename internal NAPI_VERSION definition (Chengzhong Wu) #48501 * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 120 (Michaël Zasso) #49639 * (SEMVER-MAJOR) throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839 * (SEMVER-MAJOR) throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604 * (SEMVER-MAJOR) use private properties for strategies (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for encoding (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for compression (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) skip v8-updates/test-linux-perf (Michaël Zasso) #49639 * (SEMVER-MAJOR) skip test-tick-processor-arguments on SmartOS (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt REPL test to V8 changes (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt test-fs-write to V8 internal changes (Michaël Zasso) #49639 * (SEMVER-MAJOR) update flag to disable SharedArrayBuffer (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt debugger tests to V8 11.4 (Philip Pfaffe) #49639 * (SEMVER-MAJOR) disallow array in `run` options (Raz Luvaton) #49935 * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 * (SEMVER-MAJOR) use `validateNumber` for `options.minDHSize` (Deokjin Kim) #49973 * (SEMVER-MAJOR) use validateFunction for `options.checkServerIdentity` (Deokjin Kim) #49896 * (SEMVER-MAJOR) add new V8 headers to distribution (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.7 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.6 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.5 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.4 (Michaël Zasso) #49639 * (SEMVER-MAJOR) runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609 * (SEMVER-MAJOR) freeze `dependencySpecifiers` array (Antoine du Hamel) #49720 PR-URL: #49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
It's missing a text for the notable-change requested in: #47653 (comment) |
@RafaelGSS here is a description: |
@MoLow Shouldn't this be quoted, i.e., |
I think it can work either way |
Yes, but if you don't quote it, the pattern is expanded by the shell, which is not related to core glob support (and was already supported before) |
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) #45684 esm: * use import attributes instead of import assertions (Antoine du Hamel) #50140 * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) #49144 fs: * add flush option to writeFile() functions (Colin Ihrig) #50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 http: * (SEMVER-MAJOR) reduce parts in chunked response when corking (Robert Nagy) #50167 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) #49830 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 stream: * optimize Writable (Robert Nagy) #50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950 Semver-Major Commits: * (SEMVER-MAJOR) build: drop support for Visual Studio 2019 (Michaël Zasso) #49051 * (SEMVER-MAJOR) build: bump supported macOS and Xcode versions (Michaël Zasso) #49164 * (SEMVER-MAJOR) crypto: do not overwrite \_writableState.defaultEncoding (Tobias Nießen) #49140 * (SEMVER-MAJOR) deps: bump minimum ICU version to 73 (Michaël Zasso) #49639 * (SEMVER-MAJOR) deps: update V8 to 11.8.172.13 (Michaël Zasso) #49639 * (SEMVER-MAJOR) deps: update llhttp to 9.1.2 (Paolo Insogna) #48981 * (SEMVER-MAJOR) events: validate options of `on` and `once` (Deokjin Kim) #46018 * (SEMVER-MAJOR) fs: adjust `position` validation in reading methods (Livia Medeiros) #42835 * (SEMVER-MAJOR) fs: add globSync implementation (Moshe Atlow) #47653 * (SEMVER-MAJOR) http: reduce parts in chunked response when corking (Robert Nagy) #50167 * (SEMVER-MAJOR) lib: mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497 * (SEMVER-MAJOR) lib: remove aix directory case for package reader (Yagiz Nizipli) #48605 * (SEMVER-MAJOR) lib: add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 * (SEMVER-MAJOR) lib: runtime deprecate punycode (Yagiz Nizipli) #47202 * (SEMVER-MAJOR) module: harmonize error code between ESM and CJS (Antoine du Hamel) #48606 * (SEMVER-MAJOR) net: do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276 * (SEMVER-MAJOR) net: only defer \_final call when connecting (Jason Zhang) #47385 * (SEMVER-MAJOR) node-api: rename internal NAPI\_VERSION definition (Chengzhong Wu) #48501 * (SEMVER-MAJOR) src: update NODE\_MODULE\_VERSION to 120 (Michaël Zasso) #49639 * (SEMVER-MAJOR) src: throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839 * (SEMVER-MAJOR) src: throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604 * (SEMVER-MAJOR) stream: use private properties for strategies (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) stream: use private properties for encoding (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) stream: use private properties for compression (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) test\_runner: disallow array in `run` options (Raz Luvaton) #49935 * (SEMVER-MAJOR) test\_runner: support passing globs (Moshe Atlow) #47653 * (SEMVER-MAJOR) tls: use `validateNumber` for `options.minDHSize` (Deokjin Kim) #49973 * (SEMVER-MAJOR) tls: use validateFunction for `options.checkServerIdentity` (Deokjin Kim) #49896 * (SEMVER-MAJOR) util: runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609 * (SEMVER-MAJOR) vm: freeze `dependencySpecifiers` array (Antoine du Hamel) #49720 PR-URL: #49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) #45684 esm: * use import attributes instead of import assertions (Antoine du Hamel) #50140 * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) #49144 fs: * add flush option to writeFile() functions (Colin Ihrig) #50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 http: * (SEMVER-MAJOR) reduce parts in chunked response when corking (Robert Nagy) #50167 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) #49830 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 stream: * optimize Writable (Robert Nagy) #50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950 Semver-Major Commits: * (SEMVER-MAJOR) build: drop support for Visual Studio 2019 (Michaël Zasso) #49051 * (SEMVER-MAJOR) build: bump supported macOS and Xcode versions (Michaël Zasso) #49164 * (SEMVER-MAJOR) crypto: do not overwrite \_writableState.defaultEncoding (Tobias Nießen) #49140 * (SEMVER-MAJOR) deps: bump minimum ICU version to 73 (Michaël Zasso) #49639 * (SEMVER-MAJOR) deps: update V8 to 11.8.172.13 (Michaël Zasso) #49639 * (SEMVER-MAJOR) deps: update llhttp to 9.1.2 (Paolo Insogna) #48981 * (SEMVER-MAJOR) events: validate options of `on` and `once` (Deokjin Kim) #46018 * (SEMVER-MAJOR) fs: adjust `position` validation in reading methods (Livia Medeiros) #42835 * (SEMVER-MAJOR) fs: add globSync implementation (Moshe Atlow) #47653 * (SEMVER-MAJOR) http: reduce parts in chunked response when corking (Robert Nagy) #50167 * (SEMVER-MAJOR) lib: mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497 * (SEMVER-MAJOR) lib: remove aix directory case for package reader (Yagiz Nizipli) #48605 * (SEMVER-MAJOR) lib: add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 * (SEMVER-MAJOR) lib: runtime deprecate punycode (Yagiz Nizipli) #47202 * (SEMVER-MAJOR) module: harmonize error code between ESM and CJS (Antoine du Hamel) #48606 * (SEMVER-MAJOR) net: do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276 * (SEMVER-MAJOR) net: only defer \_final call when connecting (Jason Zhang) #47385 * (SEMVER-MAJOR) node-api: rename internal NAPI\_VERSION definition (Chengzhong Wu) #48501 * (SEMVER-MAJOR) src: update NODE\_MODULE\_VERSION to 120 (Michaël Zasso) #49639 * (SEMVER-MAJOR) src: throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839 * (SEMVER-MAJOR) src: throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604 * (SEMVER-MAJOR) stream: use private properties for strategies (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) stream: use private properties for encoding (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) stream: use private properties for compression (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) test\_runner: disallow array in `run` options (Raz Luvaton) #49935 * (SEMVER-MAJOR) test\_runner: support passing globs (Moshe Atlow) #47653 * (SEMVER-MAJOR) tls: use `validateNumber` for `options.minDHSize` (Deokjin Kim) #49973 * (SEMVER-MAJOR) tls: use validateFunction for `options.checkServerIdentity` (Deokjin Kim) #49896 * (SEMVER-MAJOR) util: runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609 * (SEMVER-MAJOR) vm: freeze `dependencySpecifiers` array (Antoine du Hamel) #49720 PR-URL: #49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Amazing, thanks for this PR @MoLow and everyone else involved! Does this go anywhere in the direction of getting |
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) nodejs#45684 esm: * use import attributes instead of import assertions (Antoine du Hamel) nodejs#50140 * --experimental-default-type flag to flip module defaults (Geoffrey Booth) nodejs#49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) nodejs#49144 fs: * add flush option to writeFile() functions (Colin Ihrig) nodejs#50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) nodejs#47653 http: * (SEMVER-MAJOR) reduce parts in chunked response when corking (Robert Nagy) nodejs#50167 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) nodejs#49830 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) nodejs#47769 stream: * optimize Writable (Robert Nagy) nodejs#50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) nodejs#47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) nodejs#49950 Semver-Major Commits: * (SEMVER-MAJOR) build: drop support for Visual Studio 2019 (Michaël Zasso) nodejs#49051 * (SEMVER-MAJOR) build: bump supported macOS and Xcode versions (Michaël Zasso) nodejs#49164 * (SEMVER-MAJOR) crypto: do not overwrite \_writableState.defaultEncoding (Tobias Nießen) nodejs#49140 * (SEMVER-MAJOR) deps: bump minimum ICU version to 73 (Michaël Zasso) nodejs#49639 * (SEMVER-MAJOR) deps: update V8 to 11.8.172.13 (Michaël Zasso) nodejs#49639 * (SEMVER-MAJOR) deps: update llhttp to 9.1.2 (Paolo Insogna) nodejs#48981 * (SEMVER-MAJOR) events: validate options of `on` and `once` (Deokjin Kim) nodejs#46018 * (SEMVER-MAJOR) fs: adjust `position` validation in reading methods (Livia Medeiros) nodejs#42835 * (SEMVER-MAJOR) fs: add globSync implementation (Moshe Atlow) nodejs#47653 * (SEMVER-MAJOR) http: reduce parts in chunked response when corking (Robert Nagy) nodejs#50167 * (SEMVER-MAJOR) lib: mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) nodejs#47497 * (SEMVER-MAJOR) lib: remove aix directory case for package reader (Yagiz Nizipli) nodejs#48605 * (SEMVER-MAJOR) lib: add `navigator.hardwareConcurrency` (Yagiz Nizipli) nodejs#47769 * (SEMVER-MAJOR) lib: runtime deprecate punycode (Yagiz Nizipli) nodejs#47202 * (SEMVER-MAJOR) module: harmonize error code between ESM and CJS (Antoine du Hamel) nodejs#48606 * (SEMVER-MAJOR) net: do not treat `server.maxConnections=0` as `Infinity` (ignoramous) nodejs#48276 * (SEMVER-MAJOR) net: only defer \_final call when connecting (Jason Zhang) nodejs#47385 * (SEMVER-MAJOR) node-api: rename internal NAPI\_VERSION definition (Chengzhong Wu) nodejs#48501 * (SEMVER-MAJOR) src: update NODE\_MODULE\_VERSION to 120 (Michaël Zasso) nodejs#49639 * (SEMVER-MAJOR) src: throw DOMException on cloning non-serializable objects (Chengzhong Wu) nodejs#47839 * (SEMVER-MAJOR) src: throw DataCloneError on transfering untransferable objects (Chengzhong Wu) nodejs#47604 * (SEMVER-MAJOR) stream: use private properties for strategies (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) stream: use private properties for encoding (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) stream: use private properties for compression (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) test\_runner: disallow array in `run` options (Raz Luvaton) nodejs#49935 * (SEMVER-MAJOR) test\_runner: support passing globs (Moshe Atlow) nodejs#47653 * (SEMVER-MAJOR) tls: use `validateNumber` for `options.minDHSize` (Deokjin Kim) nodejs#49973 * (SEMVER-MAJOR) tls: use validateFunction for `options.checkServerIdentity` (Deokjin Kim) nodejs#49896 * (SEMVER-MAJOR) util: runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) nodejs#49609 * (SEMVER-MAJOR) vm: freeze `dependencySpecifiers` array (Antoine du Hamel) nodejs#49720 PR-URL: nodejs#49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Extremely unfortunate this can’t be backported to v20. |
this is already part of v20 |
This only went out with v21 and it's semver-major, so cannot be backported to v20. Am I missing something? |
I'm trying to use this change in V20.8 but it apparently doesn't seem to understand the glob pattern in It gives me "Could not find ", am I missing something? |
a followup for #47499
this includes a lean implementation of https://github.com/isaacs/node-glob on top of minimatch (added at #47499)
this is marked as semver-majorPRs that contain breaking changes and should be released in the next major version.
since a couple of edge cases will produce a different list of tests such as file names containing
*