Skip to content
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: make process.binding('fs') internal #22478

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/fs.js
Original file line number Diff line number Diff line change
@@ -42,7 +42,7 @@ const {
const { _extend } = require('util');
const pathModule = require('path');
const { isArrayBufferView } = require('internal/util/types');
const binding = process.binding('fs');
const binding = internalBinding('fs');
const { Buffer, kMaxLength } = require('buffer');
const errors = require('internal/errors');
const {
1 change: 1 addition & 0 deletions lib/internal/bootstrap/loaders.js
Original file line number Diff line number Diff line change
@@ -81,6 +81,7 @@
'constants',
'contextify',
'crypto',
'fs',
'fs_event_wrap',
'http_parser',
'icu',
2 changes: 1 addition & 1 deletion lib/internal/fs/promises.js
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@ const {
S_IFMT,
S_IFREG
} = internalBinding('constants').fs;
const binding = process.binding('fs');
const binding = internalBinding('fs');
const { Buffer, kMaxLength } = require('buffer');
const {
ERR_FS_FILE_TOO_LARGE,
3 changes: 2 additions & 1 deletion lib/internal/fs/read_file_context.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
'use strict';

const { Buffer } = require('buffer');
const { FSReqCallback, close, read } = process.binding('fs');

const { FSReqCallback, close, read } = internalBinding('fs');

const kReadFileBufferLength = 8 * 1024;

2 changes: 1 addition & 1 deletion lib/internal/fs/streams.js
Original file line number Diff line number Diff line change
@@ -3,7 +3,7 @@
const {
FSReqCallback,
writeBuffers
} = process.binding('fs');
} = internalBinding('fs');
const {
ERR_INVALID_ARG_TYPE,
ERR_OUT_OF_RANGE
2 changes: 1 addition & 1 deletion lib/internal/fs/watchers.js
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@ const errors = require('internal/errors');
const {
kFsStatsFieldsNumber,
StatWatcher: _StatWatcher
} = process.binding('fs');
} = internalBinding('fs');
const { FSEvent } = internalBinding('fs_event_wrap');
const { UV_ENOSPC } = internalBinding('uv');
const { EventEmitter } = require('events');
2 changes: 1 addition & 1 deletion lib/internal/http2/core.js
Original file line number Diff line number Diff line change
@@ -118,7 +118,7 @@ const {
} = require('internal/timers');
const { isArrayBufferView } = require('internal/util/types');

const { FileHandle } = process.binding('fs');
const { FileHandle } = internalBinding('fs');
const binding = internalBinding('http2');
const {
ShutdownWrap,
2 changes: 1 addition & 1 deletion lib/internal/modules/cjs/loader.js
Original file line number Diff line number Diff line change
@@ -33,7 +33,7 @@ const { URL } = require('url');
const {
internalModuleReadJSON,
internalModuleStat
} = process.binding('fs');
} = internalBinding('fs');
const { safeGetenv } = internalBinding('util');
const {
makeRequireFunction,
2 changes: 1 addition & 1 deletion lib/internal/net.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'use strict';

const Buffer = require('buffer').Buffer;
const { writeBuffer } = process.binding('fs');
const { writeBuffer } = internalBinding('fs');
const errors = require('internal/errors');

// IPv4 Segment
2 changes: 1 addition & 1 deletion src/node_file.cc
Original file line number Diff line number Diff line change
@@ -2236,4 +2236,4 @@ void Initialize(Local<Object> target,

} // end namespace node

NODE_BUILTIN_MODULE_CONTEXT_AWARE(fs, node::fs::Initialize)
NODE_MODULE_CONTEXT_AWARE_INTERNAL(fs, node::fs::Initialize)
4 changes: 3 additions & 1 deletion test/parallel/test-assert.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// Flags: --expose-internals
// Copyright Joyent, Inc. and other Node contributors.
//
// Permission is hereby granted, free of charge, to any person obtaining a
@@ -26,6 +27,7 @@
const common = require('../common');
const assert = require('assert');
const { inspect } = require('util');
const { internalBinding } = require('internal/test/binding');
const a = assert;

// Disable colored output to prevent color codes from breaking assertion
@@ -658,7 +660,7 @@ common.expectsError(

{
// Test caching.
const fs = process.binding('fs');
const fs = internalBinding('fs');
const tmp = fs.close;
fs.close = common.mustCall(tmp, 1);
function throwErr() {
19 changes: 13 additions & 6 deletions test/parallel/test-fs-filehandle.js
Original file line number Diff line number Diff line change
@@ -4,7 +4,8 @@
const common = require('../common');
const assert = require('assert');
const path = require('path');
const fs = process.binding('fs');
const { internalBinding } = require('internal/test/binding');
const fs = internalBinding('fs');
const { stringToFlags } = require('internal/fs/utils');

// Verifies that the FileHandle object is garbage collected and that a
@@ -18,11 +19,17 @@ let fdnum;
assert.strictEqual(ctx.errno, undefined);
}

common.expectWarning(
'Warning',
`Closing file descriptor ${fdnum} on garbage collection`,
common.noWarnCode
);
common.expectWarning({
'internal/test/binding': [
'These APIs are exposed only for testing ' +
'and are not tracked by any versioning system or deprecation process.',
common.noWarnCode
],
'Warning': [
`Closing file descriptor ${fdnum} on garbage collection`,
common.noWarnCode
]
});

gc(); // eslint-disable-line no-undef

2 changes: 1 addition & 1 deletion test/parallel/test-fs-sync-fd-leak.js
Original file line number Diff line number Diff line change
@@ -42,7 +42,7 @@ fs.writeSync = function() {
throw new Error('BAM');
};

process.binding('fs').fstat = function(fd, bigint, _, ctx) {
internalBinding('fs').fstat = function(fd, bigint, _, ctx) {
ctx.errno = UV_EBADF;
ctx.syscall = 'fstat';
};
4 changes: 3 additions & 1 deletion test/parallel/test-module-binding.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
// Flags: --expose-internals
'use strict';
require('../common');
const fixtures = require('../common/fixtures');
const { internalModuleReadJSON } = process.binding('fs');
const { internalBinding } = require('internal/test/binding');
const { internalModuleReadJSON } = internalBinding('fs');
const { readFileSync } = require('fs');
const { strictEqual } = require('assert');

Original file line number Diff line number Diff line change
@@ -16,3 +16,4 @@ assert(process.binding('url'));
assert(process.binding('spawn_sync'));
assert(process.binding('js_stream'));
assert(process.binding('buffer'));
assert(process.binding('fs'));
2 changes: 1 addition & 1 deletion test/sequential/test-async-wrap-getasyncid.js
Original file line number Diff line number Diff line change
@@ -132,7 +132,7 @@ if (common.hasCrypto) { // eslint-disable-line node-core/crypto-check


{
const binding = process.binding('fs');
const binding = internalBinding('fs');
const path = require('path');

const FSReqCallback = binding.FSReqCallback;