diff --git a/lib/index.mjs b/lib/index.mjs new file mode 100644 index 00000000..1bc4cdeb --- /dev/null +++ b/lib/index.mjs @@ -0,0 +1,295 @@ +import fs from './index.js' + +const { + Dir, + Dirent, + F_OK, + FileReadStream, + FileWriteStream, + R_OK, + ReadStream, + Stats, + W_OK, + WriteStream, + X_OK, + _toUnixTimestamp, + access, + accessSync, + appendFile, + appendFileSync, + chmod, + chmodSync, + chown, + chownSync, + close, + closeSync, + constants, + copy, + copyFile, + copyFileSync, + copySync, + createFile, + createFileSync, + createLink, + createLinkSync, + createReadStream, + createSymlink, + createSymlinkSync, + createWriteStream, + emptyDir, + emptyDirSync, + emptydir, + emptydirSync, + ensureDir, + ensureDirSync, + ensureFile, + ensureFileSync, + ensureLink, + ensureLinkSync, + ensureSymlink, + ensureSymlinkSync, + exists, + existsSync, + fchmod, + fchmodSync, + fchown, + fchownSync, + fdatasync, + fdatasyncSync, + fstat, + fstatSync, + fsync, + fsyncSync, + ftruncate, + ftruncateSync, + futimes, + futimesSync, + gracefulify, + lchmod, + lchmodSync, + lchown, + lchownSync, + link, + linkSync, + lstat, + lstatSync, + lutimes, + lutimesSync, + mkdir, + mkdirSync, + mkdirp, + mkdirpSync, + mkdirs, + mkdirsSync, + mkdtemp, + mkdtempSync, + move, + moveSync, + open, + openSync, + opendir, + opendirSync, + outputFile, + outputFileSync, + outputJSON, + outputJSONSync, + outputJson, + outputJsonSync, + pathExists, + pathExistsSync, + read, + readFile, + readFileSync, + readJSON, + readJSONSync, + readJson, + readJsonSync, + readSync, + readdir, + readdirSync, + readlink, + readlinkSync, + readv, + readvSync, + realpath, + realpathSync, + remove, + removeSync, + rename, + renameSync, + rm, + rmSync, + rmdir, + rmdirSync, + stat, + statSync, + symlink, + symlinkSync, + truncate, + truncateSync, + unlink, + unlinkSync, + unwatchFile, + utimes, + utimesSync, + watch, + watchFile, + write, + writeFile, + writeFileSync, + writeJSON, + writeJSONSync, + writeJson, + writeJsonSync, + writeSync, + writev, + writevSync, + promises +} = fs + +export { + Dir, + Dirent, + F_OK, + FileReadStream, + FileWriteStream, + R_OK, + ReadStream, + Stats, + W_OK, + WriteStream, + X_OK, + _toUnixTimestamp, + access, + accessSync, + appendFile, + appendFileSync, + chmod, + chmodSync, + chown, + chownSync, + close, + closeSync, + constants, + copy, + copyFile, + copyFileSync, + copySync, + createFile, + createFileSync, + createLink, + createLinkSync, + createReadStream, + createSymlink, + createSymlinkSync, + createWriteStream, + emptyDir, + emptyDirSync, + emptydir, + emptydirSync, + ensureDir, + ensureDirSync, + ensureFile, + ensureFileSync, + ensureLink, + ensureLinkSync, + ensureSymlink, + ensureSymlinkSync, + exists, + existsSync, + fchmod, + fchmodSync, + fchown, + fchownSync, + fdatasync, + fdatasyncSync, + fstat, + fstatSync, + fsync, + fsyncSync, + ftruncate, + ftruncateSync, + futimes, + futimesSync, + gracefulify, + lchmod, + lchmodSync, + lchown, + lchownSync, + link, + linkSync, + lstat, + lstatSync, + lutimes, + lutimesSync, + mkdir, + mkdirSync, + mkdirp, + mkdirpSync, + mkdirs, + mkdirsSync, + mkdtemp, + mkdtempSync, + move, + moveSync, + open, + openSync, + opendir, + opendirSync, + outputFile, + outputFileSync, + outputJSON, + outputJSONSync, + outputJson, + outputJsonSync, + pathExists, + pathExistsSync, + read, + readFile, + readFileSync, + readJSON, + readJSONSync, + readJson, + readJsonSync, + readSync, + readdir, + readdirSync, + readlink, + readlinkSync, + readv, + readvSync, + realpath, + realpathSync, + remove, + removeSync, + rename, + renameSync, + rm, + rmSync, + rmdir, + rmdirSync, + stat, + statSync, + symlink, + symlinkSync, + truncate, + truncateSync, + unlink, + unlinkSync, + unwatchFile, + utimes, + utimesSync, + watch, + watchFile, + write, + writeFile, + writeFileSync, + writeJSON, + writeJSONSync, + writeJson, + writeJsonSync, + writeSync, + writev, + writevSync, + promises +} diff --git a/make-esm.js b/make-esm.js new file mode 100644 index 00000000..0cc174a6 --- /dev/null +++ b/make-esm.js @@ -0,0 +1,16 @@ +const fs = require('./lib') + +const list = [ + '{', + ...Object.keys(fs).sort().map(key => ` ${key},`), + ' promises', + '}' +].join('\n') + +fs.outputFile('./lib/index.mjs', ` +import fs from './index.js' + +const ${list} = fs + +export ${list} +`.trimStart()) diff --git a/package.json b/package.json index a8c876aa..db6e40ef 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,10 @@ "standard": "^14.1.0" }, "main": "./lib/index.js", + "exports": { + "import": "./lib/index.mjs", + "require": "./lib/index.js" + }, "files": [ "lib/", "!lib/**/__tests__/" @@ -63,6 +67,7 @@ "coverage": "nyc -r lcovonly npm run unit", "coveralls": "coveralls < coverage/lcov.info", "lint": "standard", + "make-esm": "node make-esm.js", "test-find": "find ./lib/**/__tests__ -name *.test.js | xargs mocha", "test": "npm run lint && npm run unit", "unit": "node test.js"