fix(v2): add support for esModule to lqip-loader (#2693)

This commit is contained in:
Yamagishi Kazutoshi 2020-05-17 20:26:53 +09:00 committed by GitHub
parent daafd2f0cc
commit 5ea263d272
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -20,23 +20,29 @@ module.exports = function (contentBuffer) {
config.palette = 'palette' in config ? config.palette : false; config.palette = 'palette' in config ? config.palette : false;
let content = contentBuffer.toString('utf8'); let content = contentBuffer.toString('utf8');
const contentIsUrlExport = /^module.exports = "data:(.*)base64,(.*)/.test( const contentIsUrlExport = /^(?:export default|module.exports =) "data:(.*)base64,(.*)/.test(
content,
);
const contentIsFileExport = /^(?:export default|module.exports =) (.*)/.test(
content, content,
); );
const contentIsFileExport = /^module.exports = (.*)/.test(content);
let source = ''; let source = '';
const SOURCE_CHUNK = 1; const SOURCE_CHUNK = 1;
if (contentIsUrlExport) { if (contentIsUrlExport) {
source = content.match(/^module.exports = (.*)/)[SOURCE_CHUNK]; source = content.match(/^(?:export default|module.exports =) (.*)/)[
SOURCE_CHUNK
];
} else { } else {
if (!contentIsFileExport) { if (!contentIsFileExport) {
// eslint-disable-next-line global-require // eslint-disable-next-line global-require
const fileLoader = require('file-loader'); const fileLoader = require('file-loader');
content = fileLoader.call(this, contentBuffer); content = fileLoader.call(this, contentBuffer);
} }
source = content.match(/^module.exports = (.*);/)[SOURCE_CHUNK]; source = content.match(/^(?:export default|module.exports =) (.*);/)[
SOURCE_CHUNK
];
} }
const outputPromises = []; const outputPromises = [];