24 lines
973 B
TypeScript
24 lines
973 B
TypeScript
|
// simple script to optionally elide source-map-support (or other optional modules) when running browserify.
|
||
|
|
||
|
var stream = require("stream"),
|
||
|
Transform = stream.Transform,
|
||
|
resolve = require("browser-resolve");
|
||
|
|
||
|
var requirePattern = /require\s*\(\s*['"](source-map-support)['"]\s*\)/;
|
||
|
module.exports = function (file) {
|
||
|
return new Transform({
|
||
|
transform: function (data, encoding, cb) {
|
||
|
var text = encoding === "buffer" ? data.toString("utf8") : data;
|
||
|
this.push(new Buffer(text.replace(requirePattern, function (originalText, moduleName) {
|
||
|
try {
|
||
|
resolve.sync(moduleName, { filename: file });
|
||
|
return originalText;
|
||
|
}
|
||
|
catch (e) {
|
||
|
return "(function () { throw new Error(\"module '" + moduleName + "' not found.\"); })()";
|
||
|
}
|
||
|
}), "utf8"));
|
||
|
cb();
|
||
|
}
|
||
|
});
|
||
|
};
|