mirror of
https://github.com/svg/svgo.git
synced 2025-08-07 15:22:54 +03:00
Load .cjs with require only (#1605)
Ref https://github.com/svg/svgo/issues/1596 At the moment dynamic import may randomly fail with segfault. To workaround this for some users .cjs extension is loaded exclusively with require.
This commit is contained in:
@@ -15,6 +15,12 @@ exports.createContentItem = createContentItem;
|
|||||||
|
|
||||||
const importConfig = async (configFile) => {
|
const importConfig = async (configFile) => {
|
||||||
let config;
|
let config;
|
||||||
|
// at the moment dynamic import may randomly fail with segfault
|
||||||
|
// to workaround this for some users .cjs extension is loaded
|
||||||
|
// exclusively with require
|
||||||
|
if (configFile.endsWith('.cjs')) {
|
||||||
|
config = require(configFile);
|
||||||
|
} else {
|
||||||
try {
|
try {
|
||||||
// dynamic import expects file url instead of path and may fail
|
// dynamic import expects file url instead of path and may fail
|
||||||
// when windows path is provided
|
// when windows path is provided
|
||||||
@@ -33,6 +39,7 @@ const importConfig = async (configFile) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (config == null || typeof config !== 'object' || Array.isArray(config)) {
|
if (config == null || typeof config !== 'object' || Array.isArray(config)) {
|
||||||
throw Error(`Invalid config file "${configFile}"`);
|
throw Error(`Invalid config file "${configFile}"`);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user