diff --git a/lib/fs.js b/lib/fs.js index c7ac1a8a923..0d9387598ed 100644 --- a/lib/fs.js +++ b/lib/fs.js @@ -60,7 +60,6 @@ const { Readable, Writable } = require('stream'); const EventEmitter = require('events'); const { FSReqWrap, statValues, kFsStatsFieldsLength } = binding; const { FSEvent } = process.binding('fs_event_wrap'); -const promises = require('internal/fs/promises'); const internalFS = require('internal/fs/utils'); const { getPathFromURL } = require('internal/url'); const internalUtil = require('internal/util'); @@ -91,14 +90,18 @@ const { validateUint32 } = require('internal/validators'); -let warn = true; +// Lazy loaded +let promises; + +let promisesWarn = true; Object.defineProperty(fs, 'promises', { configurable: true, enumerable: false, get() { - if (warn) { - warn = false; + if (promisesWarn) { + promises = require('internal/fs/promises'); + promisesWarn = false; process.emitWarning('The fs.promises API is experimental', 'ExperimentalWarning'); }