This commit is contained in:
darenhsu
2022-07-17 13:16:16 +08:00
parent 84759556ff
commit befd344ab0
28070 changed files with 4008428 additions and 1 deletions
+25
View File
@@ -0,0 +1,25 @@
'use strict';
var UNNAMED = /(^|;|\s+)import\s*['"]([^'"]+)['"](?=($|;|\s))/gi;
var NAMED = /(^|[;\s]+)?import\s*(\*\s*as)?\s*(\w*?)\s*,?\s*(?:\{([\s\S]*?)\})?\s*from\s*['"]([^'"]+)['"];?/gi;
function destruct(keys, target) {
var out=[];
while (keys.length) out.push(keys.shift().trim().replace(/ as /g, ':'));
return 'const { ' + out.join(', ') + ' } = ' + target + ';';
}
function generate(keys, dep, base, fn) {
dep = fn + "('" + dep + "')";
if (keys.length && !base) return destruct(keys, dep);
return 'const ' + base + ' = ' + dep + ';' + (keys.length ? '\n' + destruct(keys, base) : '');
}
module.exports = function (str, fn) {
fn = fn || 'require';
return str
.replace(UNNAMED, "$1" + fn + "('$2')")
.replace(NAMED, function (x, y, z, base, req, dep) {
return (y || '') + generate(req ? req.split(',') : [], dep, base, fn);
});
}
+1
View File
@@ -0,0 +1 @@
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e["rewrite-imports"]=t()}(this,function(){"use strict";var e=/(^|;|\s+)import\s*['"]([^'"]+)['"](?=($|;|\s))/gi,t=/(^|[;\s]+)?import\s*(\*\s*as)?\s*(\w*?)\s*,?\s*(?:\{([\s\S]*?)\})?\s*from\s*['"]([^'"]+)['"];?/gi;function n(e,t){for(var n=[];e.length;)n.push(e.shift().trim().replace(/ as /g,":"));return"const { "+n.join(", ")+" } = "+t+";"}return function(r,s){return s=s||"require",r.replace(e,"$1"+s+"('$2')").replace(t,function(e,t,r,i,o,u){return(t||"")+function(e,t,r,s){return t=s+"('"+t+"')",e.length&&!r?n(e,t):"const "+r+" = "+t+";"+(e.length?"\n"+n(e,r):"")}(o?o.split(","):[],u,i,s)})}});
+25
View File
@@ -0,0 +1,25 @@
'use strict';
var UNNAMED = /(^|;|\s+)import\s*['"]([^'"]+)['"](?=($|;|\s))/gi;
var NAMED = /(^|[;\s]+)?import\s*(\*\s*as)?\s*(\w*?)\s*,?\s*(?:\{([\s\S]*?)\})?\s*from\s*['"]([^'"]+)['"];?/gi;
function destruct(keys, target) {
var out=[];
while (keys.length) out.push(keys.shift().trim().replace(/ as /g, ':'));
return 'const { ' + out.join(', ') + ' } = ' + target + ';';
}
function generate(keys, dep, base, fn) {
dep = fn + "('" + dep + "')";
if (keys.length && !base) return destruct(keys, dep);
return 'const ' + base + ' = ' + dep + ';' + (keys.length ? '\n' + destruct(keys, base) : '');
}
export default function (str, fn) {
fn = fn || 'require';
return str
.replace(UNNAMED, "$1" + fn + "('$2')")
.replace(NAMED, function (x, y, z, base, req, dep) {
return (y || '') + generate(req ? req.split(',') : [], dep, base, fn);
});
}