| 123456789101112131415161718192021222324252627282930313233343536 | /*jshint node: true */var inserted,    Module = require('module'),    fs = require('fs'),    existingExtFn = Module._extensions['.js'],    amdefineRegExp = /amdefine\.js/;inserted  = "if (typeof define !== 'function') {var define = require('amdefine')(module)}";//From the node/lib/module.js source:function stripBOM(content) {    // Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)    // because the buffer-to-string conversion in `fs.readFileSync()`    // translates it to FEFF, the UTF-16 BOM.    if (content.charCodeAt(0) === 0xFEFF) {        content = content.slice(1);    }    return content;}//Also adapted from the node/lib/module.js source:function intercept(module, filename) {    var content = stripBOM(fs.readFileSync(filename, 'utf8'));    if (!amdefineRegExp.test(module.id)) {        content = inserted + content;    }    module._compile(content, filename);}intercept._id = 'amdefine/intercept';if (!existingExtFn._id || existingExtFn._id !== intercept._id) {    Module._extensions['.js'] = intercept;}
 |