Skip to content

Commit 3191f30

Browse files
cjihrigMylesBorins
authored andcommitted
fs: move fs/promises to fs.promises
PR-URL: #20504 Refs: nodejs/TSC#389 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Trivikram Kamat <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Myles Borins <[email protected]> Reviewed-By: Shingo Inoue <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Tiancheng "Timothy" Gu <[email protected]> Reviewed-By: Ali Ijaz Sheikh <[email protected]>
1 parent bc4d4f0 commit 3191f30

25 files changed

+50
-37
lines changed

benchmark/fs/bench-stat-promise.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use strict';
22

33
const common = require('../common');
4-
const fsPromises = require('fs/promises');
4+
const fsPromises = require('fs').promises;
55

66
const bench = common.createBenchmark(main, {
77
n: [20e4],

doc/api/fs.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -3382,9 +3382,9 @@ Synchronous versions of [`fs.write()`][]. Returns the number of bytes written.
33823382

33833383
> Stability: 1 - Experimental
33843384
3385-
The `fs/promises` API provides an alternative set of asynchronous file system
3385+
The `fs.promises` API provides an alternative set of asynchronous file system
33863386
methods that return `Promise` objects rather than using callbacks. The
3387-
API is accessible via `require('fs/promises')`.
3387+
API is accessible via `require('fs').promises`.
33883388

33893389
### class: FileHandle
33903390
<!-- YAML

lib/fs.js

+17-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ const { Readable, Writable } = require('stream');
4545
const EventEmitter = require('events');
4646
const { FSReqWrap, statValues, kFsStatsFieldsLength } = binding;
4747
const { FSEvent } = process.binding('fs_event_wrap');
48-
const internalFS = require('internal/fs');
48+
const promises = require('internal/fs/promises');
49+
const internalFS = require('internal/fs/utils');
4950
const { getPathFromURL } = require('internal/url');
5051
const internalUtil = require('internal/util');
5152
const {
@@ -72,6 +73,21 @@ const {
7273
CHAR_BACKWARD_SLASH,
7374
} = require('internal/constants');
7475

76+
let warn = true;
77+
78+
Object.defineProperty(fs, 'promises', {
79+
configurable: true,
80+
enumerable: true,
81+
get() {
82+
if (warn) {
83+
warn = false;
84+
process.emitWarning('The fs.promises API is experimental',
85+
'ExperimentalWarning');
86+
}
87+
return promises;
88+
}
89+
});
90+
7591
Object.defineProperty(exports, 'constants', {
7692
configurable: false,
7793
enumerable: true,

lib/fs/promises.js lib/internal/fs/promises.js

+1-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
'use strict';
22

3-
process.emitWarning('The fs/promises API is experimental',
4-
'ExperimentalWarning');
5-
63
const {
74
F_OK,
85
O_SYMLINK,
@@ -37,7 +34,7 @@ const {
3734
validateOffsetLengthWrite,
3835
validatePath,
3936
validateUint32
40-
} = require('internal/fs');
37+
} = require('internal/fs/utils');
4138
const pathModule = require('path');
4239

4340
const kHandle = Symbol('handle');
File renamed without changes.

lib/internal/modules/cjs/loader.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ const { getURLFromFilePath } = require('internal/url');
2828
const vm = require('vm');
2929
const assert = require('assert').ok;
3030
const fs = require('fs');
31-
const internalFS = require('internal/fs');
31+
const internalFS = require('internal/fs/utils');
3232
const path = require('path');
3333
const {
3434
internalModuleReadJSON,

lib/internal/modules/esm/default_resolve.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
const { URL } = require('url');
44
const CJSmodule = require('internal/modules/cjs/loader');
5-
const internalFS = require('internal/fs');
5+
const internalFS = require('internal/fs/utils');
66
const { NativeModule, internalBinding } = require('internal/bootstrap/loaders');
77
const { extname } = require('path');
88
const { realpathSync } = require('fs');

lib/internal/process/stdio.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ function createWritableStdioStream(fd) {
158158
break;
159159

160160
case 'FILE':
161-
var fs = require('internal/fs');
161+
var fs = require('internal/fs/utils');
162162
stream = new fs.SyncWriteStream(fd, { autoClose: false });
163163
stream._type = 'fs';
164164
break;

node.gyp

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
'lib/domain.js',
4040
'lib/events.js',
4141
'lib/fs.js',
42-
'lib/fs/promises.js',
4342
'lib/http.js',
4443
'lib/http2.js',
4544
'lib/_http_agent.js',
@@ -103,7 +102,8 @@
103102
'lib/internal/errors.js',
104103
'lib/internal/fixed_queue.js',
105104
'lib/internal/freelist.js',
106-
'lib/internal/fs.js',
105+
'lib/internal/fs/promises.js',
106+
'lib/internal/fs/utils.js',
107107
'lib/internal/http.js',
108108
'lib/internal/inspector_async_hook.js',
109109
'lib/internal/linkedlist.js',

test/parallel/test-fs-filehandle.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const common = require('../common');
55
const assert = require('assert');
66
const path = require('path');
77
const fs = process.binding('fs');
8-
const { stringToFlags } = require('internal/fs');
8+
const { stringToFlags } = require('internal/fs/utils');
99

1010
// Verifies that the FileHandle object is garbage collected and that a
1111
// warning is emitted if it is not closed.

test/parallel/test-fs-open-flags.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ const O_DSYNC = fs.constants.O_DSYNC || 0;
3939
const O_TRUNC = fs.constants.O_TRUNC || 0;
4040
const O_WRONLY = fs.constants.O_WRONLY || 0;
4141

42-
const { stringToFlags } = require('internal/fs');
42+
const { stringToFlags } = require('internal/fs/utils');
4343

4444
assert.strictEqual(stringToFlags('r'), O_RDONLY);
4545
assert.strictEqual(stringToFlags('r+'), O_RDWR);

test/parallel/test-fs-promises-file-handle-append-file.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
const common = require('../common');
44

5-
// The following tests validate base functionality for the fs/promises
5+
// The following tests validate base functionality for the fs.promises
66
// FileHandle.appendFile method.
77

88
const fs = require('fs');
9-
const { open } = require('fs/promises');
9+
const { open } = fs.promises;
1010
const path = require('path');
1111
const tmpdir = require('../common/tmpdir');
1212
const assert = require('assert');

test/parallel/test-fs-promises-file-handle-chmod.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
const common = require('../common');
44

5-
// The following tests validate base functionality for the fs/promises
5+
// The following tests validate base functionality for the fs.promises
66
// FileHandle.chmod method.
77

88
const fs = require('fs');
9-
const { open } = require('fs/promises');
9+
const { open } = fs.promises;
1010
const path = require('path');
1111
const tmpdir = require('../common/tmpdir');
1212
const assert = require('assert');

test/parallel/test-fs-promises-file-handle-read.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
const common = require('../common');
44

5-
// The following tests validate base functionality for the fs/promises
5+
// The following tests validate base functionality for the fs.promises
66
// FileHandle.read method.
77

88
const fs = require('fs');
9-
const { open } = require('fs/promises');
9+
const { open } = fs.promises;
1010
const path = require('path');
1111
const tmpdir = require('../common/tmpdir');
1212
const assert = require('assert');

test/parallel/test-fs-promises-file-handle-readFile.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
const common = require('../common');
44

5-
// The following tests validate base functionality for the fs/promises
5+
// The following tests validate base functionality for the fs.promises
66
// FileHandle.readFile method.
77

88
const fs = require('fs');
9-
const { open } = require('fs/promises');
9+
const { open } = fs.promises;
1010
const path = require('path');
1111
const tmpdir = require('../common/tmpdir');
1212
const assert = require('assert');

test/parallel/test-fs-promises-file-handle-stat.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
const common = require('../common');
44

5-
// The following tests validate base functionality for the fs/promises
5+
// The following tests validate base functionality for the fs.promises
66
// FileHandle.stat method.
77

8-
const { open } = require('fs/promises');
8+
const { open } = require('fs').promises;
99
const path = require('path');
1010
const tmpdir = require('../common/tmpdir');
1111
const assert = require('assert');

test/parallel/test-fs-promises-file-handle-write.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
const common = require('../common');
44

5-
// The following tests validate base functionality for the fs/promises
5+
// The following tests validate base functionality for the fs.promises
66
// FileHandle.read method.
77

88
const fs = require('fs');
9-
const { open } = require('fs/promises');
9+
const { open } = fs.promises;
1010
const path = require('path');
1111
const tmpdir = require('../common/tmpdir');
1212
const assert = require('assert');

test/parallel/test-fs-promises-file-handle-writeFile.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
const common = require('../common');
44

5-
// The following tests validate base functionality for the fs/promises
5+
// The following tests validate base functionality for the fs.promises
66
// FileHandle.readFile method.
77

88
const fs = require('fs');
9-
const { open } = require('fs/promises');
9+
const { open } = fs.promises;
1010
const path = require('path');
1111
const tmpdir = require('../common/tmpdir');
1212
const assert = require('assert');

test/parallel/test-fs-promises-readfile.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const common = require('../common');
44

55
const assert = require('assert');
66
const path = require('path');
7-
const { writeFile, readFile } = require('fs/promises');
7+
const { writeFile, readFile } = require('fs').promises;
88
const tmpdir = require('../common/tmpdir');
99
tmpdir.refresh();
1010

test/parallel/test-fs-promises-writefile.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
const common = require('../common');
44
const fs = require('fs');
5-
const fsPromises = require('fs/promises');
5+
const fsPromises = fs.promises;
66
const path = require('path');
77
const tmpdir = require('../common/tmpdir');
88
const assert = require('assert');

test/parallel/test-fs-promises.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ 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 fsPromises = require('fs').promises;
99
const {
1010
access,
1111
chmod,

test/parallel/test-fs-syncwritestream.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ const stream = require('stream');
66
const fs = require('fs');
77
const path = require('path');
88

9-
// require('internal/fs').SyncWriteStream is used as a stdio implementation
10-
// when stdout/stderr point to files.
9+
// require('internal/fs/utils').SyncWriteStream is used as a stdio
10+
// implementation when stdout/stderr point to files.
1111

1212
if (process.argv[2] === 'child') {
1313
// Note: Calling console.log() is part of this test as it exercises the

test/parallel/test-internal-fs-syncwritestream.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const common = require('../common');
55
const assert = require('assert');
66
const fs = require('fs');
77
const path = require('path');
8-
const SyncWriteStream = require('internal/fs').SyncWriteStream;
8+
const SyncWriteStream = require('internal/fs/utils').SyncWriteStream;
99

1010
const tmpdir = require('../common/tmpdir');
1111
tmpdir.refresh();

test/parallel/test-internal-fs.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
'use strict';
33

44
const common = require('../common');
5-
const fs = require('internal/fs');
5+
const fs = require('internal/fs/utils');
66

77
// Valid encodings and no args should not throw.
88
fs.assertEncoding();

test/sequential/test-async-wrap-getasyncid.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
const common = require('../common');
44
const assert = require('assert');
55
const fs = require('fs');
6-
const fsPromises = require('fs/promises');
6+
const fsPromises = fs.promises;
77
const net = require('net');
88
const providers = Object.assign({}, process.binding('async_wrap').Providers);
99
const fixtures = require('../common/fixtures');

0 commit comments

Comments
 (0)