diff --git a/src/readers/reader.spec.ts b/src/readers/reader.spec.ts index e0494a8..1f14352 100644 --- a/src/readers/reader.spec.ts +++ b/src/readers/reader.spec.ts @@ -85,6 +85,18 @@ describe('Readers → Reader', () => { assert.ok(actual.stats); }); + + it('should return created entry with basename as `name` for a pattern with a directory part', () => { + const reader = getReader(); + const pattern = './directory/config.json'; + const stats = new Stats({ mode: StatsMode.File }); + + const actual = reader.makeEntry(stats, pattern); + + assert.strictEqual(actual.name, 'config.json'); + assert.strictEqual(actual.path, pattern); + assert.strictEqual(actual.dirent.name, 'config.json'); + }); }); describe('.isFatalError', () => { diff --git a/src/readers/reader.ts b/src/readers/reader.ts index 427ca72..dfaec0d 100644 --- a/src/readers/reader.ts +++ b/src/readers/reader.ts @@ -33,10 +33,11 @@ export abstract class Reader { } protected _makeEntry(stats: FsStats, pattern: Pattern): Entry { + const name = path.basename(pattern); const entry: Entry = { - name: pattern, + name, path: pattern, - dirent: utils.fs.createDirentFromStats(pattern, stats), + dirent: utils.fs.createDirentFromStats(name, stats), }; if (this.#settings.stats) {