diff --git a/src/module-cache.coffee b/src/module-cache.coffee index 1270e1e5c..6fff2ace2 100644 --- a/src/module-cache.coffee +++ b/src/module-cache.coffee @@ -95,3 +95,18 @@ exports.register = -> resolvedPath = getCachedModulePath(relativePath, parentModule) resolvedPath ? originalResolveFilename(relativePath, parentModule) registered = true + +dependencies = {} +folders = {} + +global.mc = {dependencies, folders} + +exports.add = (directoryPath) -> + cache = require(path.join(directoryPath, 'package.json'))?._atomModuleCache + for dependency in cache?.dependencies ? [] + dependencies[dependency.name] ?= {} + dependencies[dependency.name][dependency.version] = path.join(directoryPath, dependency.path) + + for entry in cache?.folders ? [] + for folderPath in entry.paths + folders[path.join(directoryPath, folderPath)] = entry.dependencies diff --git a/src/window-bootstrap.coffee b/src/window-bootstrap.coffee index 7312f99a5..bf0aabb3a 100644 --- a/src/window-bootstrap.coffee +++ b/src/window-bootstrap.coffee @@ -1,7 +1,10 @@ # Like sands through the hourglass, so are the days of our lives. startTime = Date.now() -require('./module-cache').register() +ModuleCache = require('./module-cache') +ModuleCache.add(JSON.parse(decodeURIComponent(location.search.substr(14))).resourcePath) +ModuleCache.register() + require './window' Atom = require './atom'