Skip to content

Commit de06115

Browse files
cjihrigtargos
authored andcommitted
fs: make fs.promises non-enumerable
This prevents the experimental feature warning from being emitted in cases where fs.promises is not actually used. PR-URL: #20632 Fixes: #20504 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Сковорода Никита Андреевич <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Gus Caplan <[email protected]> Reviewed-By: Tiancheng "Timothy" Gu <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Daniel Bevenius <[email protected]>
1 parent e06c587 commit de06115

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

lib/fs.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ let warn = true;
7777

7878
Object.defineProperty(fs, 'promises', {
7979
configurable: true,
80-
enumerable: true,
80+
enumerable: false,
8181
get() {
8282
if (warn) {
8383
warn = false;

test/parallel/test-fs-promises.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ const assert = require('assert');
55
const tmpdir = require('../common/tmpdir');
66
const fixtures = require('../common/fixtures');
77
const path = require('path');
8-
const fsPromises = require('fs').promises;
8+
const fs = require('fs');
9+
const fsPromises = fs.promises;
910
const {
1011
access,
1112
chmod,
@@ -38,6 +39,10 @@ const tmpDir = tmpdir.path;
3839

3940
common.crashOnUnhandledRejection();
4041

42+
// fs.promises should not be enumerable as long as it causes a warning to be
43+
// emitted.
44+
assert.strictEqual(Object.keys(fs).includes('promises'), false);
45+
4146
{
4247
access(__filename, 'r')
4348
.then(common.mustCall())

0 commit comments

Comments
 (0)