Files
atom/src/module-cache.coffee
Kevin Sawicki 5b629e6b29 💄
2014-10-15 13:09:40 -07:00

31 lines
908 B
CoffeeScript

Module = require 'module'
fs = require 'fs-plus'
nativeModules = process.binding('natives')
try
resourcePath = JSON.parse(decodeURIComponent(location.search.substr(14)))?.resourcePath
catch error
return
originalResolveFilename = Module._resolveFilename
# Precompute versions of all modules in node_modules
# Precompute the version each file is compatible
getCachedModulePath = (relativePath, parentModule) ->
return unless relativePath
return unless parentModule?.id
return if nativeModules.hasOwnProperty(relativePath)
return if relativePath[0] is '.'
return if relativePath[relativePath.length - 1] is '/'
return if fs.isAbsolute(relativePath)
console.log "looking up #{relative} from #{parentModule.id}"
undefined
Module._resolveFilename = (relativePath, parentModule) ->
getCachedModulePath(relativePath, parentModule) ? originalResolveFilename(relativePath, parentModule)