◐ Shell
clean mode source ↗

fs: add followSymlinks option to glob · nodejs/node@4a506ac

@@ -1088,6 +1088,9 @@ behavior is similar to `cp dir1/ dir2/`.

10881088

<!-- YAML

10891089

added: v22.0.0

10901090

changes:

1091+

- version: REPLACEME

1092+

pr-url: https://github.com/nodejs/node/pull/62695

1093+

description: Add support for the `followSymlinks` option.

10911094

- version: v24.1.0

10921095

pr-url: https://github.com/nodejs/node/pull/58182

10931096

description: Add support for `URL` instances for `cwd` option.

@@ -1113,11 +1116,16 @@ changes:

11131116

If a string array is provided, each string should be a glob pattern that

11141117

specifies paths to exclude. Note: Negation patterns (e.g., '!foo.js') are

11151118

not supported.

1119+

* `followSymlinks` {boolean} When `true`, symbolic links to directories are

1120+

followed while expanding `**` patterns. **Default:** `false`.

11161121

* `withFileTypes` {boolean} `true` if the glob should return paths as Dirents,

11171122

`false` otherwise. **Default:** `false`.

11181123

* Returns: {AsyncIterator} An AsyncIterator that yields the paths of files

11191124

that match the pattern.

112011251126+

When `followSymlinks` is enabled, detected symbolic link cycles are not

1127+

traversed recursively.

1128+11211129

```mjs

11221130

import { glob } from 'node:fs/promises';

11231131

@@ -3194,6 +3202,9 @@ descriptor. See [`fs.utimes()`][].

31943202

<!-- YAML

31953203

added: v22.0.0

31963204

changes:

3205+

- version: REPLACEME

3206+

pr-url: https://github.com/nodejs/node/pull/62695

3207+

description: Add support for the `followSymlinks` option.

31973208

- version: v24.1.0

31983209

pr-url: https://github.com/nodejs/node/pull/58182

31993210

description: Add support for `URL` instances for `cwd` option.

@@ -3217,6 +3228,8 @@ changes:

32173228

* `exclude` {Function|string\[]} Function to filter out files/directories or a

32183229

list of glob patterns to be excluded. If a function is provided, return

32193230

`true` to exclude the item, `false` to include it. **Default:** `undefined`.

3231+

* `followSymlinks` {boolean} When `true`, symbolic links to directories are

3232+

followed while expanding `**` patterns. **Default:** `false`.

32203233

* `withFileTypes` {boolean} `true` if the glob should return paths as Dirents,

32213234

`false` otherwise. **Default:** `false`.

32223235

@@ -3225,6 +3238,9 @@ changes:

3225323832263239

* Retrieves the files matching the specified pattern.

322732403241+

When `followSymlinks` is enabled, detected symbolic link cycles are not

3242+

traversed recursively.

3243+32283244

```mjs

32293245

import { glob } from 'node:fs';

32303246

@@ -5763,6 +5779,9 @@ Synchronous version of [`fs.futimes()`][]. Returns `undefined`.

57635779

<!-- YAML

57645780

added: v22.0.0

57655781

changes:

5782+

- version: REPLACEME

5783+

pr-url: https://github.com/nodejs/node/pull/62695

5784+

description: Add support for the `followSymlinks` option.

57665785

- version: v24.1.0

57675786

pr-url: https://github.com/nodejs/node/pull/58182

57685787

description: Add support for `URL` instances for `cwd` option.

@@ -5785,10 +5804,15 @@ changes:

57855804

* `exclude` {Function|string\[]} Function to filter out files/directories or a

57865805

list of glob patterns to be excluded. If a function is provided, return

57875806

`true` to exclude the item, `false` to include it. **Default:** `undefined`.

5807+

* `followSymlinks` {boolean} When `true`, symbolic links to directories are

5808+

followed while expanding `**` patterns. **Default:** `false`.

57885809

* `withFileTypes` {boolean} `true` if the glob should return paths as Dirents,

57895810

`false` otherwise. **Default:** `false`.

57905811

* Returns: {string\[]} paths of files that match the pattern.

579158125813+

When `followSymlinks` is enabled, detected symbolic link cycles are not

5814+

traversed recursively.

5815+57925816

```mjs

57935817

import { globSync } from 'node:fs';

57945818