https://github.com/Microsoft/TypeScript
Raw File
Tip revision: 171c664fefd945301ab0aaf287b3d1f288c67900 authored by Mohamed Hegazy on 30 August 2017, 00:26:58 UTC
Update LKG
Tip revision: 171c664
browserify-optional.js
// 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();
        }
    });
};
back to top