Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 34.2k
fs: add recursive watch for linux#45098
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
fs: add recursive watch for linux #45098
Uh oh!
There was an error while loading. Please reload this page.
Conversation
anonrig commented Oct 20, 2022 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
0c106f0 to 45e8f37Compare7275124 to a7b310dComparea7b310d to fd0a954Compare This comment was marked as outdated.
This comment was marked as outdated.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
mcollina left a comment
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.
This module uses a mix of callbacks and promises. I would prefer if it only relied on callbacks as it would be a callback API. Maybe I'm a bit too concerned about the intertwining of our two sets of APIs.
This also needs support for the promises API.
Uh oh!
There was an error while loading. Please reload this page.
d0f5179 to df1c187CompareNotable changes: * deps: * update ICU to 72.1 (Michaël Zasso) [#45068](#45068) * doc: * add lukekarrys to collaborators (Luke Karrys) [#45180](#45180) * add anonrig to collaborators (Yagiz Nizipli) [#45002](#45002) * fs: * (SEMVER-MINOR) fs: add recursive watch to linux (Yagiz Nizipli) [#45098](#45098) * util * (SEMVER-MINOR) add MIME utilities (Bradley Farias) [#21128](#21128) PR-URL: #45269
Notable changes: * deps: * update ICU to 72.1 (Michaël Zasso) [#45068](#45068) * doc: * add lukekarrys to collaborators (Luke Karrys) [#45180](#45180) * add anonrig to collaborators (Yagiz Nizipli) [#45002](#45002) * fs: * (SEMVER-MINOR) fs: add recursive watch to linux (Yagiz Nizipli) [#45098](#45098) * lib: * drop fetch experimental warning (Matteo Collina) [#45287](#45287) * util * (SEMVER-MINOR) add MIME utilities (Bradley Farias) [#21128](#21128) * improve textdecoder decode performance (Yagiz Nizipli) [#45294](#45294) PR-URL: #45269
Notable changes: * deps: * update ICU to 72.1 (Michaël Zasso) [#45068](#45068) * doc: * add lukekarrys to collaborators (Luke Karrys) [#45180](#45180) * add anonrig to collaborators (Yagiz Nizipli) [#45002](#45002) * fs: * (SEMVER-MINOR) fs: add recursive watch to linux (Yagiz Nizipli) [#45098](#45098) * lib: * drop fetch experimental warning (Matteo Collina) [#45287](#45287) * util * (SEMVER-MINOR) add MIME utilities (Bradley Farias) [#21128](#21128) * improve textdecoder decode performance (Yagiz Nizipli) [#45294](#45294) PR-URL: #45269
Notable changes: * deps: * update ICU to 72.1 (Michaël Zasso) [#45068](#45068) * doc: * add lukekarrys to collaborators (Luke Karrys) [#45180](#45180) * add anonrig to collaborators (Yagiz Nizipli) [#45002](#45002) * fs: * (SEMVER-MINOR) fs: add recursive watch to linux (Yagiz Nizipli) [#45098](#45098) * lib: * drop fetch experimental warning (Matteo Collina) [#45287](#45287) * util * (SEMVER-MINOR) add MIME utilities (Bradley Farias) [#21128](#21128) * improve textdecoder decode performance (Yagiz Nizipli) [#45294](#45294) PR-URL: #45269
Notable changes: * deps: * update ICU to 72.1 (Michaël Zasso) [#45068](#45068) * doc: * add lukekarrys to collaborators (Luke Karrys) [#45180](#45180) * add anonrig to collaborators (Yagiz Nizipli) [#45002](#45002) * fs: * (SEMVER-MINOR) fs: add recursive watch to linux (Yagiz Nizipli) [#45098](#45098) * lib: * drop fetch experimental warning (Matteo Collina) [#45287](#45287) * util * (SEMVER-MINOR) add MIME utilities (Bradley Farias) [#21128](#21128) * improve textdecoder decode performance (Yagiz Nizipli) [#45294](#45294) PR-URL: #45269
Notable changes: * deps: * update ICU to 72.1 (Michaël Zasso) [#45068](#45068) * doc: * add lukekarrys to collaborators (Luke Karrys) [#45180](#45180) * add anonrig to collaborators (Yagiz Nizipli) [#45002](#45002) * fs: * (SEMVER-MINOR) fs: add recursive watch to linux (Yagiz Nizipli) [#45098](#45098) * lib: * drop fetch experimental warning (Matteo Collina) [#45287](#45287) * test_runner: * support function mocking (Colin Ihrig) [#45326](#45326) * util * (SEMVER-MINOR) add MIME utilities (Bradley Farias) [#21128](#21128) * improve textdecoder decode performance (Yagiz Nizipli) [#45294](#45294) PR-URL: #45269
Notable changes: * deps: * update ICU to 72.1 (Michaël Zasso) [#45068](#45068) * doc: * add lukekarrys to collaborators (Luke Karrys) [#45180](#45180) * add anonrig to collaborators (Yagiz Nizipli) [#45002](#45002) * fs: * (SEMVER-MINOR) fs: add recursive watch to linux (Yagiz Nizipli) [#45098](#45098) * lib: * drop fetch experimental warning (Matteo Collina) [#45287](#45287) * test_runner: * support function mocking (Colin Ihrig) [#45326](#45326) * util * (SEMVER-MINOR) add MIME utilities (Bradley Farias) [#21128](#21128) * improve textdecoder decode performance (Yagiz Nizipli) [#45294](#45294) PR-URL: #45269
PR-URL: #45098 Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Moshe Atlow <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: James M Snell <[email protected]>
Notable changes: Add support for externally shared js builtins: By default Node.js is built so that all dependencies are bundled into the Node.js binary itself. Some Node.js distributions prefer to manage dependencies externally. There are existing build options that allow dependencies with native code to be externalized. This commit adds additional options so that dependencies with JavaScript code (including WASM) can also be externalized. This addition does not affect binaries shipped by the Node.js project but will allow other distributions to externalize additional dependencies when needed. Contributed by Michael Dawson in #44376 fs.watch recursive support on Linux: `fs.watch` supports recursive watch using the `recursive: true` option. ```js const watcher = fs.watch(testDirectory,{recursive: true }); watcher.on('change', function(event, filename){}); ``` Contributed by Yagiz Nizipli in #45098 Support function mocking on Node.js test runner: The `node:test` module supports mocking during testing via a top-level `mock` object. ```js test('spies on an object method', (t) =>{const number ={value: 5, add(a){return this.value + a}, }; t.mock.method(number, 'add'); assert.strictEqual(number.add(3), 8); assert.strictEqual(number.add.mock.calls.length, 1)}); ``` Contributed by Colin Ihrig in #45326 Other notable changes: buffer: * (SEMVER-MINOR) introduce File (Khafra) #45139 build: * disable v8 snapshot compression by default (Joyee Cheung) #45716 crypto: * update root certificates (Luigi Pinca) #45490 deps: * update ICU to 72.1 (Michaël Zasso) #45068 doc: * add doc-only deprecation for headers/trailers setters (Rich Trott) #45697 * add Rafael to the tsc (Michael Dawson) #45691 * deprecate use of invalid ports in `url.parse` (Antoine du Hamel) #45576 * add lukekarrys to collaborators (Luke Karrys) #45180 * add anonrig to collaborators (Yagiz Nizipli) #45002 * deprecate url.parse() (Rich Trott) #44919 lib: * drop fetch experimental warning (Matteo Collina) #45287 net: * (SEMVER-MINOR) add autoSelectFamily and autoSelectFamilyAttemptTimeout options (Paolo Insogna) #44731 * src: * (SEMVER-MINOR) add uvwasi version (Jithil P Ponnan) #45639 * (SEMVER-MINOR) add initial shadow realm support (Chengzhong Wu) #42869 test_runner: * (SEMVER-MINOR) add t.after() hook (Colin Ihrig) #45792 * (SEMVER-MINOR) don't use a symbol for runHook() (Colin Ihrig) #45792 tls: * (SEMVER-MINOR) add "ca" property to certificate object (Ben Noordhuis) #44935 * remove trustcor root ca certificates (Ben Noordhuis) #45776 tools: * update certdata.txt (Luigi Pinca) #45490 util: * add fast path for utf8 encoding (Yagiz Nizipli) #45412 * improve textdecoder decode performance (Yagiz Nizipli) #45294 * (SEMVER-MINOR) add MIME utilities (#21128) (Bradley Farias) #21128 PR-URL: TBD
Notable changes: Add support for externally shared js builtins: By default Node.js is built so that all dependencies are bundled into the Node.js binary itself. Some Node.js distributions prefer to manage dependencies externally. There are existing build options that allow dependencies with native code to be externalized. This commit adds additional options so that dependencies with JavaScript code (including WASM) can also be externalized. This addition does not affect binaries shipped by the Node.js project but will allow other distributions to externalize additional dependencies when needed. Contributed by Michael Dawson in #44376 fs.watch recursive support on Linux: `fs.watch` supports recursive watch using the `recursive: true` option. ```js const watcher = fs.watch(testDirectory,{recursive: true }); watcher.on('change', function(event, filename){}); ``` Contributed by Yagiz Nizipli in #45098 Support function mocking on Node.js test runner: The `node:test` module supports mocking during testing via a top-level `mock` object. ```js test('spies on an object method', (t) =>{const number ={value: 5, add(a){return this.value + a}, }; t.mock.method(number, 'add'); assert.strictEqual(number.add(3), 8); assert.strictEqual(number.add.mock.calls.length, 1)}); ``` Contributed by Colin Ihrig in #45326 Other notable changes: buffer: * (SEMVER-MINOR) introduce File (Khafra) #45139 build: * disable v8 snapshot compression by default (Joyee Cheung) #45716 crypto: * update root certificates (Luigi Pinca) #45490 deps: * update ICU to 72.1 (Michaël Zasso) #45068 doc: * add doc-only deprecation for headers/trailers setters (Rich Trott) #45697 * add Rafael to the tsc (Michael Dawson) #45691 * deprecate use of invalid ports in `url.parse` (Antoine du Hamel) #45576 * add lukekarrys to collaborators (Luke Karrys) #45180 * add anonrig to collaborators (Yagiz Nizipli) #45002 * deprecate url.parse() (Rich Trott) #44919 lib: * drop fetch experimental warning (Matteo Collina) #45287 net: * (SEMVER-MINOR) add autoSelectFamily and autoSelectFamilyAttemptTimeout options (Paolo Insogna) #44731 * src: * (SEMVER-MINOR) add uvwasi version (Jithil P Ponnan) #45639 * (SEMVER-MINOR) add initial shadow realm support (Chengzhong Wu) #42869 test_runner: * (SEMVER-MINOR) add t.after() hook (Colin Ihrig) #45792 * (SEMVER-MINOR) don't use a symbol for runHook() (Colin Ihrig) #45792 tls: * (SEMVER-MINOR) add "ca" property to certificate object (Ben Noordhuis) #44935 * remove trustcor root ca certificates (Ben Noordhuis) #45776 tools: * update certdata.txt (Luigi Pinca) #45490 util: * add fast path for utf8 encoding (Yagiz Nizipli) #45412 * improve textdecoder decode performance (Yagiz Nizipli) #45294 * (SEMVER-MINOR) add MIME utilities (#21128) (Bradley Farias) #21128 PR-URL: #46025
danielleadams commented Dec 30, 2022
Hi @anonrig - this did not land cleanly on v18.x. When landing there were variables used that were not defined in v18.x-staging branch's version of the file. Could you open a backport PR? Thank you. |
Notable changes: Add support for externally shared js builtins: By default Node.js is built so that all dependencies are bundled into the Node.js binary itself. Some Node.js distributions prefer to manage dependencies externally. There are existing build options that allow dependencies with native code to be externalized. This commit adds additional options so that dependencies with JavaScript code (including WASM) can also be externalized. This addition does not affect binaries shipped by the Node.js project but will allow other distributions to externalize additional dependencies when needed. Contributed by Michael Dawson in #44376 fs.watch recursive support on Linux: `fs.watch` supports recursive watch using the `recursive: true` option. ```js const watcher = fs.watch(testDirectory,{recursive: true }); watcher.on('change', function(event, filename){}); ``` Contributed by Yagiz Nizipli in #45098 Support function mocking on Node.js test runner: The `node:test` module supports mocking during testing via a top-level `mock` object. ```js test('spies on an object method', (t) =>{const number ={value: 5, add(a){return this.value + a}, }; t.mock.method(number, 'add'); assert.strictEqual(number.add(3), 8); assert.strictEqual(number.add.mock.calls.length, 1)}); ``` Contributed by Colin Ihrig in #45326 Other notable changes: buffer: * (SEMVER-MINOR) introduce File (Khafra) #45139 build: * disable v8 snapshot compression by default (Joyee Cheung) #45716 crypto: * update root certificates (Luigi Pinca) #45490 deps: * update ICU to 72.1 (Michaël Zasso) #45068 doc: * add doc-only deprecation for headers/trailers setters (Rich Trott) #45697 * add Rafael to the tsc (Michael Dawson) #45691 * deprecate use of invalid ports in `url.parse` (Antoine du Hamel) #45576 * add lukekarrys to collaborators (Luke Karrys) #45180 * add anonrig to collaborators (Yagiz Nizipli) #45002 * deprecate url.parse() (Rich Trott) #44919 lib: * drop fetch experimental warning (Matteo Collina) #45287 net: * (SEMVER-MINOR) add autoSelectFamily and autoSelectFamilyAttemptTimeout options (Paolo Insogna) #44731 * src: * (SEMVER-MINOR) add uvwasi version (Jithil P Ponnan) #45639 * (SEMVER-MINOR) add initial shadow realm support (Chengzhong Wu) #42869 test_runner: * (SEMVER-MINOR) add t.after() hook (Colin Ihrig) #45792 * (SEMVER-MINOR) don't use a symbol for runHook() (Colin Ihrig) #45792 tls: * (SEMVER-MINOR) add "ca" property to certificate object (Ben Noordhuis) #44935 * remove trustcor root ca certificates (Ben Noordhuis) #45776 tools: * update certdata.txt (Luigi Pinca) #45490 util: * add fast path for utf8 encoding (Yagiz Nizipli) #45412 * improve textdecoder decode performance (Yagiz Nizipli) #45294 * (SEMVER-MINOR) add MIME utilities (#21128) (Bradley Farias) #21128 PR-URL: #46025
anonrig commented Jan 3, 2023
@danielleadams It seems this pull request is in the |
juanarbol commented Jan 26, 2023
That link is a 404; marking this is a "backport-requested-v18.x" again. |
anonrig commented Jan 26, 2023
This pull request is already backported @juanarbol Referencing: https://github.com/nodejs/node/blob/v18.x-staging/lib/internal/fs/recursive_watch.js |
aduh95 commented Jan 27, 2023
raphaelboukara commented Jan 15, 2024
Hi :) |
mcollina commented Jan 15, 2024 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
I don't expect this to be backported, because there are issues with this and Node.js v18 is in maintenance. See #48437 for more details. |
Fixes#36005
List
CC @nodejs/fs