Я уже перешёл на них
Правд es6-module-transpiler оказался глюченым говном, поэтому сделал на основе своего Monic.
.pipe(monic({
replacers: [
// Поддержка ES6 modules
function (text) {
text = text
.replace(/export\s+(?:var|const|let)\s+([^\s=]+)\s*=/g, 'this.$1 =')
.replace(/exports\s*\./g, 'this.')
.replace(/export\s+(function\s+([^(]+))/g, 'this.$2 = $1')
.replace(/export {([^}]+)};?/g, function (sstr, $1) {
return $1.split(',').reduce(function (res, el) {
el = el.split(/\s+as\s+/);
el[0] = el[0].trim();
res += 'this.' + (el[1] || el[0]) + ' = ' + el[0] + ';\n';
return res;
}, '');
});
text =
'(function () {\n' +
text +
'\n}).call(this);';
return text.replace(
/^\s*import\s+(.*?)\s+from\s+('|")(.*?)\2;?/gm,
function (sstr, nm, q, url) {
nm = nm.replace(/{|}/g, '');
nm = nm.split(',').reduce(function (res, el, i) {
el = el.trim();
if (i !== 0) {
res += ',\n';
}
res += el + ' = this.' + el;
return res;
}, 'var ') + ';';
return '' +
'//#include ' + url + '\n\n' +
nm;
}
);
}
]
}))
Хардкод, но работает нормально