From 85df087cedd4e180917f50b3c43c4c4d7c006e2b Mon Sep 17 00:00:00 2001 From: Stepan Filatov Date: Fri, 27 Jul 2012 20:41:31 +0400 Subject: [PATCH 1/2] Make client compatible with AMD loaders. Issue #338. --- bin/builder.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/bin/builder.js b/bin/builder.js index c960e1d43..4ab844fad 100755 --- a/bin/builder.js +++ b/bin/builder.js @@ -85,12 +85,16 @@ var baseTransports = { /** * Wrappers for client-side usage. - * This enables usage in both top-level browser window and client-side CommonJS systems. + * This enables usage in top-level browser window, client-side CommonJS systems and AMD loaders. * If doing a node build for server-side client, this wrapper is NOT included. * @api private */ var wrapperPre = "\nvar io = ('undefined' === typeof module ? {} : module.exports);\n(function() {\n"; -var wrapperPost = "\n})();"; + +var wrapperPost = "\nif (typeof define === \"function\" && define.amd) {" + + "\n define(\"socket.io\", [], function () { return io; });" + + "\n}\n})();"; + /** * Builds a custom Socket.IO distribution based on the transports that you @@ -197,7 +201,9 @@ var builder = module.exports = function () { } // post-wrapper for non-server-side builds - if (!settings.node)code += wrapperPost; + if (!settings.node) { + code += wrapperPost; + } code = activeXObfuscator(code); From f5d55ba2c1be935526c31a53bad01413f5ffca90 Mon Sep 17 00:00:00 2001 From: Stepan Filatov Date: Fri, 27 Jul 2012 20:46:55 +0400 Subject: [PATCH 2/2] Make client compatible with AMD loaders. Issue #338. --- bin/builder.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/builder.js b/bin/builder.js index 4ab844fad..7383c75a0 100755 --- a/bin/builder.js +++ b/bin/builder.js @@ -92,7 +92,7 @@ var baseTransports = { var wrapperPre = "\nvar io = ('undefined' === typeof module ? {} : module.exports);\n(function() {\n"; var wrapperPost = "\nif (typeof define === \"function\" && define.amd) {" + - "\n define(\"socket.io\", [], function () { return io; });" + + "\n define([], function () { return io; });" + "\n}\n})();";