1- " use strict" ;
1+ ' use strict' ;
22
3- var Module = require ( "module" ) ,
4- fs = require ( "fs" ) ,
5- coffee ;
3+ var Module = require ( 'module' ) ,
4+ fs = require ( 'fs' ) ;
65
76 // caching original wrapper
87var moduleWrapper0 = Module . wrapper [ 0 ] ,
@@ -16,7 +15,6 @@ function load(targetModule) {
1615 targetModule . require = requireProxy ;
1716 currentModule = targetModule ;
1817
19- registerExtensions ( ) ;
2018 targetModule . load ( targetModule . id ) ;
2119
2220 // This is only necessary if nothing has been required within the module
@@ -26,7 +24,6 @@ function load(targetModule) {
2624function reset ( ) {
2725 Module . wrapper [ 0 ] = moduleWrapper0 ;
2826 Module . wrapper [ 1 ] = moduleWrapper1 ;
29- restoreExtensions ( ) ;
3027}
3128
3229function inject ( prelude , appendix ) {
@@ -46,49 +43,5 @@ function requireProxy(path) {
4643 return nodeRequire . call ( currentModule , path ) ; // node's require only works when "this" points to the module
4744}
4845
49- function registerExtensions ( ) {
50- var originalCoffeeExtension = require . extensions [ ".coffee" ] ;
51-
52- if ( originalCoffeeExtension ) {
53- originalExtensions . coffee = originalCoffeeExtension ;
54- }
55- require . extensions [ ".coffee" ] = coffeeExtension ;
56- }
57-
58- function restoreExtensions ( ) {
59- if ( "coffee" in originalExtensions ) {
60- require . extensions [ ".coffee" ] = originalExtensions . coffee ;
61- }
62- }
63-
64- function coffeeExtension ( module , filename ) {
65- var content = stripBOM ( fs . readFileSync ( filename , "utf8" ) ) ;
66-
67- content = coffee . compile ( content , {
68- filename : filename ,
69- bare : true
70- } ) ;
71- module . _compile ( content , filename ) ;
72- }
73-
74- /**
75- * @see https://github.com/joyent/node/blob/master/lib/module.js
76- */
77- function stripBOM ( content ) {
78- // Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)
79- // because the buffer-to-string conversion in `fs.readFileSync()`
80- // translates it to FEFF, the UTF-16 BOM.
81- if ( content . charCodeAt ( 0 ) === 0xFEFF ) {
82- content = content . slice ( 1 ) ;
83- }
84- return content ;
85- }
86-
87- try {
88- coffee = require ( "coffee-script" ) ;
89- } catch ( err ) {
90- // We are not able to provide coffee-script support, but that's ok as long as the user doesn't want it.
91- }
92-
9346exports . load = load ;
9447exports . inject = inject ;
0 commit comments