From fb60e92a3b0617826279a6893406104d138aef38 Mon Sep 17 00:00:00 2001 From: petetnt Date: Sat, 20 Aug 2016 14:40:16 +0300 Subject: [PATCH 1/3] Use the global RequireJS config for ExtensionLoader. Fixes #1087 Signed-off-by: petetnt --- src/utils/ExtensionLoader.js | 18 +++++++++++------- src/utils/Global.js | 7 +++++++ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/utils/ExtensionLoader.js b/src/utils/ExtensionLoader.js index 83b49f0abd1..e08fd399236 100644 --- a/src/utils/ExtensionLoader.js +++ b/src/utils/ExtensionLoader.js @@ -41,7 +41,8 @@ define(function (require, exports, module) { FileUtils = require("file/FileUtils"), Async = require("utils/Async"), ExtensionUtils = require("utils/ExtensionUtils"), - UrlParams = require("utils/UrlParams").UrlParams; + UrlParams = require("utils/UrlParams").UrlParams, + PathUtils = require("thirdparty/path-utils/path-utils"); // default async initExtension timeout var INIT_EXTENSION_TIMEOUT = 10000; @@ -61,10 +62,14 @@ define(function (require, exports, module) { // load the text and i18n modules. srcPath = srcPath.replace(/\/test$/, "/src"); // convert from "test" to "src" - var globalConfig = { - "text" : srcPath + "/thirdparty/text/text", - "i18n" : srcPath + "/thirdparty/i18n/i18n" - }; + + // Retrieve the global paths + var globalPaths = brackets._getGlobalRequireJSConfig().paths; + + // Convert the relative paths to absolute + Object.keys(globalPaths).forEach(function (key) { + globalPaths[key] = PathUtils.makePathAbsolute(srcPath + "/" + globalPaths[key]); + }); /** * Returns the full path of the default user extensions directory. This is in the users @@ -157,8 +162,7 @@ define(function (require, exports, module) { var extensionConfig = { context: name, baseUrl: config.baseUrl, - /* FIXME (issue #1087): can we pass this from the global require context instead of hardcoding twice? */ - paths: globalConfig, + paths: globalPaths, locale: brackets.getLocale() }; diff --git a/src/utils/Global.js b/src/utils/Global.js index d55f6ff09a9..97640477b92 100644 --- a/src/utils/Global.js +++ b/src/utils/Global.js @@ -121,5 +121,12 @@ define(function (require, exports, module) { // only be able to load modules that have already been loaded once. global.brackets.getModule = require; + /* API for retrieving the global RequireJS config + * For internal use only + */ + global.brackets._getGlobalRequireJSConfig = function () { + return global.require.s.contexts._.config; + }; + exports.global = global; }); From 72848bbb80347e41523b80c8fdf0395d618e31cf Mon Sep 17 00:00:00 2001 From: petetnt Date: Sat, 20 Aug 2016 14:55:47 +0300 Subject: [PATCH 2/3] Fix small indentation issue Signed-off-by: petetnt --- src/utils/ExtensionLoader.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/ExtensionLoader.js b/src/utils/ExtensionLoader.js index e08fd399236..935366bb770 100644 --- a/src/utils/ExtensionLoader.js +++ b/src/utils/ExtensionLoader.js @@ -42,7 +42,7 @@ define(function (require, exports, module) { Async = require("utils/Async"), ExtensionUtils = require("utils/ExtensionUtils"), UrlParams = require("utils/UrlParams").UrlParams, - PathUtils = require("thirdparty/path-utils/path-utils"); + PathUtils = require("thirdparty/path-utils/path-utils"); // default async initExtension timeout var INIT_EXTENSION_TIMEOUT = 10000; From c792ac4868e83b469620705513e1cec57860b80e Mon Sep 17 00:00:00 2001 From: petetnt Date: Sat, 20 Aug 2016 14:58:23 +0300 Subject: [PATCH 3/3] Fix wrong variable Signed-off-by: petetnt --- src/utils/ExtensionLoader.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/ExtensionLoader.js b/src/utils/ExtensionLoader.js index 935366bb770..d84c41b8d0e 100644 --- a/src/utils/ExtensionLoader.js +++ b/src/utils/ExtensionLoader.js @@ -286,7 +286,7 @@ define(function (require, exports, module) { var extensionRequire = brackets.libRequire.config({ context: name, baseUrl: config.baseUrl, - paths: $.extend({}, config.paths, globalConfig) + paths: $.extend({}, config.paths, globalPaths) }); extensionRequire([entryPoint], function () {