fix: avoid too many open files error (#3637)

close #3378
This commit is contained in:
Zoltan Kochan
2021-08-01 11:46:29 +03:00
committed by GitHub
parent d2e3c3f8d7
commit 71aab049d5
4 changed files with 17 additions and 3 deletions

View File

@@ -0,0 +1,5 @@
---
"@pnpm/read-modules-dir": patch
---
Fix EMFILE error.

View File

@@ -25,5 +25,8 @@
"bugs": {
"url": "https://github.com/pnpm/pnpm/issues"
},
"funding": "https://opencollective.com/pnpm"
"funding": "https://opencollective.com/pnpm",
"dependencies": {
"graceful-fs": "^4.2.6"
}
}

View File

@@ -1,5 +1,8 @@
import { promises as fs } from 'fs'
import gracefulFs from 'graceful-fs'
import path from 'path'
import util from 'util'
const readdir = util.promisify(gracefulFs.readdir)
export default async function readModulesDir (modulesDir: string) {
try {
@@ -16,7 +19,7 @@ async function _readModulesDir (
) {
let pkgNames: string[] = []
const parentDir = scope ? path.join(modulesDir, scope) : modulesDir
for (const dir of await fs.readdir(parentDir, { withFileTypes: true })) {
for (const dir of await readdir(parentDir, { withFileTypes: true })) {
if (dir.isFile() || dir.name[0] === '.') continue
if (!scope && dir.name[0] === '@') {

3
pnpm-lock.yaml generated
View File

@@ -2676,6 +2676,9 @@ importers:
packages/read-modules-dir:
specifiers:
'@pnpm/read-modules-dir': 'link:'
graceful-fs: ^4.2.6
dependencies:
graceful-fs: 4.2.6
devDependencies:
'@pnpm/read-modules-dir': 'link:'