Merge pull request #2430 from domenic/bom

Strip UTF-8 BOM when require'ing .coffee modules.
This commit is contained in:
Jeremy Ashkenas
2012-07-09 08:25:48 -07:00

View File

@@ -12,10 +12,13 @@ path = require 'path'
{parser} = require './parser'
vm = require 'vm'
stripBOM = (content) ->
if content.charCodeAt 0 is 0xFEFF then content.substring 1 else content
# TODO: Remove registerExtension when fully deprecated.
if require.extensions
require.extensions['.coffee'] = (module, filename) ->
content = compile fs.readFileSync(filename, 'utf8'), {filename}
content = compile stripBOM fs.readFileSync(filename, 'utf8'), {filename}
module._compile content, filename
else if require.registerExtension
require.registerExtension '.coffee', (content) -> compile content