I think `moduleFileExtensions` is an ok enough solution. I was just trying to use what already exists since that's usually the best approach. 

fwiw I looked into how [`coffee.register()`](https://github.com/jashkenas/coffeescript/blob/master/src/register.coffee#L15) works, and it adds to `require.extensions`. This makes me question if whoever deprecated that knows what deprecated usually means. My understanding is that it means it will be removed in the future, but they have a note saying it'll probably never go away.  ¯\_(ツ)_/¯

I still think the preprocessor will need to call `coffee.register()` for when you `require.actualRequire()` a coffee file.