Add ELECTRON_DISABLE_OLD_STYLE_MODULES env
authorCheng Zhao <zcbenz@gmail.com>
Thu, 12 Nov 2015 09:02:04 +0000 (17:02 +0800)
committerCheng Zhao <zcbenz@gmail.com>
Thu, 12 Nov 2015 09:02:04 +0000 (17:02 +0800)
atom/browser/lib/init.coffee
atom/common/lib/init.coffee
atom/renderer/lib/init.coffee

index fd6059b..a9092e3 100644 (file)
@@ -13,12 +13,13 @@ require path.resolve(__dirname, '..', '..', 'common', 'lib', 'reset-search-paths
 # Import common settings.
 require path.resolve(__dirname, '..', '..', 'common', 'lib', 'init')
 
-# Add browser/api/lib to module search paths, which contains javascript part of
-# Electron's built-in libraries.
+# Expose public APIs.
 globalPaths = Module.globalPaths
-globalPaths.push path.resolve(__dirname, '..', 'api', 'lib')
 globalPaths.push path.resolve(__dirname, '..', 'api', 'lib', 'exports')
 
+unless process.env.ELECTRON_DISABLE_OLD_STYLE_MODULES
+  globalPaths.push path.resolve(__dirname, '..', 'api', 'lib')
+
 if process.platform is 'win32'
   # Redirect node's console to use our own implementations, since node can not
   # handle console output when running as GUI program.
index 1c80e61..a928719 100644 (file)
@@ -9,8 +9,9 @@ process.atomBinding = (name) ->
   catch e
     process.binding "atom_common_#{name}" if /No such module/.test e.message
 
-# Add common/api/lib to module search paths.
-Module.globalPaths.push path.resolve(__dirname, '..', 'api', 'lib')
+unless process.env.ELECTRON_DISABLE_OLD_STYLE_MODULES
+  # Add common/api/lib to module search paths.
+  Module.globalPaths.push path.resolve(__dirname, '..', 'api', 'lib')
 
 # setImmediate and process.nextTick makes use of uv_check and uv_prepare to
 # run the callbacks, however since we only run uv loop on requests, the
index 4779794..4f0e6a3 100644 (file)
@@ -13,12 +13,13 @@ require path.resolve(__dirname, '..', '..', 'common', 'lib', 'reset-search-paths
 # Import common settings.
 require path.resolve(__dirname, '..', '..', 'common', 'lib', 'init')
 
-# Add renderer/api/lib to require's search paths, which contains javascript part
-# of Atom's built-in libraries.
+# Expose public APIs.
 globalPaths = Module.globalPaths
-globalPaths.push path.resolve(__dirname, '..', 'api', 'lib')
 globalPaths.push path.resolve(__dirname, '..', 'api', 'lib', 'exports')
 
+unless process.env.ELECTRON_DISABLE_OLD_STYLE_MODULES
+  globalPaths.push path.resolve(__dirname, '..', 'api', 'lib')
+
 # The global variable will be used by ipc for event dispatching
 v8Util = process.atomBinding 'v8_util'
 v8Util.setHiddenValue global, 'ipc', new events.EventEmitter