فهرست منبع

changes to gulp and add module
to fit the rest of the components

Raanan Weber 8 سال پیش
والد
کامیت
fbaff5628d
2فایلهای تغییر یافته به همراه23 افزوده شده و 16 حذف شده
  1. 20 13
      Tools/Gulp/gulp-addModuleExports.js
  2. 3 3
      Tools/Gulp/gulpfile.js

+ 20 - 13
Tools/Gulp/gulp-addModuleExports.js

@@ -1,25 +1,32 @@
 var gutil = require('gulp-util');
 var through = require('through2');
 
-module.exports = function (varName, subModule) {
+module.exports = function (varName, subModule, extendsRoot) {
     return through.obj(function (file, enc, cb) {
 
         var optionalRequire = 'var BABYLON = BABYLON || (typeof require !== \'undefined\' && require("babylonjs"));\n'
 
         function moduleExportAddition(varName) {
+
+            let basicInit = `root["BABYLON"]${(subModule && !extendsRoot) ? '["' + varName + '"]' : ''} = factory();`;
+            /*if (extendsRoot) {
+                basicInit = `__extends(root["BABYLON"], factory()); `
+            }*/
+
             return `(function universalModuleDefinition(root, factory) {
-                if(typeof exports === 'object' && typeof module === 'object')
-                    module.exports = factory();
-                else if(typeof define === 'function' && define.amd)
-                    define([], factory);
-                else if(typeof exports === 'object')
-                    exports["${varName}"] = factory();
-                else
-                    root["BABYLON"]${subModule ? '["' + varName + '"]' : ''} = factory();
-            })(this, function() {
-                return BABYLON${subModule ? '.' + varName : ''};
-            });
-            `;
+    if(typeof exports === 'object' && typeof module === 'object')
+        module.exports = factory();
+    else if(typeof define === 'function' && define.amd)
+        define([], factory);
+    else if(typeof exports === 'object')
+        exports["${varName}"] = factory();
+    else {
+        ${basicInit}
+    }
+})(this, function() {
+    return BABYLON${(subModule && !extendsRoot) ? '.' + varName : ''};
+});
+`;
         }
 
         var extendsAddition =

+ 3 - 3
Tools/Gulp/gulpfile.js

@@ -312,13 +312,13 @@ var buildExternalLibrary = function (library, settings, watch) {
             .pipe(concat(library.output))
 
         if (library.buildAsModule) {
-            code = code.pipe(addModuleExports(library.moduleDeclaration, true))
+            code = code.pipe(replace(extendsSearchRegex, ""))
+                .pipe(replace(decorateSearchRegex, ""))
+                .pipe(addModuleExports(library.moduleDeclaration, true, library.extendsRoot))
         }
 
         code = code.pipe(gulp.dest(outputDirectory))
             .pipe(cleants())
-            .pipe(replace(extendsSearchRegex, ""))
-            .pipe(replace(decorateSearchRegex, ""))
             .pipe(rename({ extname: ".min.js" }))
             .pipe(uglify())
             .pipe(optimisejs())