Skip to content

Commit 0c62158

Browse files
authored
Merge pull request #120 from yoriiis/fix/output-module
Add support for mjs extension
2 parents 8ab885e + bc99ac1 commit 0c62158

2 files changed

Lines changed: 14 additions & 7 deletions

File tree

src/index.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -234,12 +234,18 @@ export default class ChunksWebpackPlugin {
234234
return listDependencies;
235235
}
236236

237-
type FilesDependenciesKey = 'css' | 'js';
237+
const jsExtensions = ['js', 'mjs'];
238+
const cssExtensions = ['css'];
239+
238240
entry.getFiles().forEach((file: string) => {
239-
const extension = path.extname(file).slice(1) as FilesDependenciesKey;
240-
if (['css', 'js'].includes(extension)) {
241-
const asset = compilation.getAsset(file);
242-
asset && listDependencies[extension].push(asset);
241+
const extension = path.extname(file).slice(1);
242+
const asset = compilation.getAsset(file);
243+
if (!asset) return;
244+
245+
if (jsExtensions.includes(extension)) {
246+
listDependencies.js.push(asset);
247+
} else if (cssExtensions.includes(extension)) {
248+
listDependencies.css.push(asset);
243249
}
244250
});
245251

tests/index.test.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -535,11 +535,12 @@ describe('ChunksWebpackPlugin', () => {
535535
compilationWebpack.entrypoints.get.mockReturnValue({
536536
getFiles: jest
537537
.fn()
538-
.mockReturnValue(['a.css', 'a.js', 'b.css', 'b.js', 'a.jpg', 'a.svg', 'a.json'])
538+
.mockReturnValue(['a.css', 'a.js', 'a.mjs', 'b.css', 'b.js', 'a.jpg', 'a.svg', 'a.json'])
539539
});
540540
compilationWebpack.getAsset
541541
.mockReturnValueOnce('a.css')
542542
.mockReturnValueOnce('a.js')
543+
.mockReturnValueOnce('a.mjs')
543544
.mockReturnValueOnce('b.css')
544545
.mockReturnValueOnce('b.js');
545546

@@ -548,7 +549,7 @@ describe('ChunksWebpackPlugin', () => {
548549
entryName: 'home'
549550
});
550551

551-
expect(result).toStrictEqual({ css: ['a.css', 'b.css'], js: ['a.js', 'b.js'] });
552+
expect(result).toStrictEqual({ css: ['a.css', 'b.css'], js: ['a.js', 'a.mjs', 'b.js'] });
552553
});
553554

554555
it('Should call the getFilesDependenciesByEntrypoint function with entries null', () => {

0 commit comments

Comments
 (0)