| 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;
 
- }
 
 
  |