Add temporary solution to fix compatibility for Edge 18

This commit is contained in:
MengYX 2020-03-04 08:37:16 +08:00
parent 4ca45e1233
commit 790715726a
No known key found for this signature in database
GPG Key ID: E63F9C7303E8F604
1 changed files with 20 additions and 0 deletions

20
src/fix-compatibility.js Normal file
View File

@ -0,0 +1,20 @@
//TODO: Use other method to fix this
// !! Only Temporary Solution
// it seems like that @babel/plugin-proposal-object-rest-spread not working
// to fix up the compatibility for Edge 18 and some older Chromium
// now manually edit the dependency files
const fs = require('fs');
const filePath = "../node_modules/file-type/core.js";
const regReplace = /{\s*([a-zA-Z0-9:,\s]*),\s*\.\.\.([a-zA-Z0-9]*)\s*};/m;
if (fs.existsSync(filePath)) {
let data = fs.readFileSync(filePath).toString();
const regResult = regReplace.exec(data);
if (regResult != null) {
data = data.replace(regResult[0],
"Object.assign({ " + regResult[1] + " }, " + regResult[2] + ");"
);
}
fs.writeFileSync(filePath, data);
console.log("Object rest spread in file-type fixed!")
}