Skip to content

Commit fc72170

Browse files
authored
fix: chunkFiles chunks normalized files even when maxArgLength is set (#858)
The previous commit only fixed the situation when maxArgLength was not set (when used through the Node.js API).
1 parent 5883296 commit fc72170

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

lib/chunkFiles.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,5 +48,5 @@ module.exports = function chunkFiles({ files, baseDir, maxArgLength = null, rela
4848
)
4949
const chunkCount = Math.min(Math.ceil(fileListLength / maxArgLength), normalizedFiles.length)
5050
debug(`Creating ${chunkCount} chunks for maxArgLength of ${maxArgLength}`)
51-
return chunkArray(files, chunkCount)
51+
return chunkArray(normalizedFiles, chunkCount)
5252
}

test/chunkFiles.spec.js

+10-5
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ describe('chunkFiles', () => {
1313
})
1414

1515
it('should not chunk short argument string', () => {
16-
const chunkedFiles = chunkFiles({ baseDir, files, maxArgLength: 1000 })
16+
const chunkedFiles = chunkFiles({ baseDir, files, maxArgLength: 1000, relative: true })
1717
expect(chunkedFiles).toEqual([files])
1818
})
1919

2020
it('should chunk too long argument string', () => {
21-
const chunkedFiles = chunkFiles({ baseDir, files, maxArgLength: 20 })
22-
expect(chunkedFiles).toEqual(files.map((file) => [file]))
21+
const chunkedFiles = chunkFiles({ baseDir, files, maxArgLength: 20, relative: false })
22+
expect(chunkedFiles).toEqual(files.map((file) => [normalize(path.resolve(baseDir, file))]))
2323
})
2424

2525
it('should take into account relative setting', () => {
@@ -30,8 +30,13 @@ describe('chunkFiles', () => {
3030
])
3131
})
3232

33-
it('should resolve paths when relative: false', () => {
34-
const chunkedFiles = chunkFiles({ baseDir, files, relative: false })
33+
it('should resolve absolute paths by default', () => {
34+
const chunkedFiles = chunkFiles({ baseDir, files })
35+
expect(chunkedFiles).toEqual([files.map((file) => normalize(path.resolve(baseDir, file)))])
36+
})
37+
38+
it('should resolve absolute paths by default even when maxArgLength is set', () => {
39+
const chunkedFiles = chunkFiles({ baseDir, files, maxArgLength: 262144 })
3540
expect(chunkedFiles).toEqual([files.map((file) => normalize(path.resolve(baseDir, file)))])
3641
})
3742
})

0 commit comments

Comments
 (0)