Browse Source

updating build process

Raanan Weber 7 years ago
parent
commit
d9cf8cc9b7

+ 1 - 1
Tools/Gulp/config.json

@@ -1834,7 +1834,7 @@
             "dtsBundle": {
                 "name": "babylonjs-viewer",
                 "main": "../../Viewer/dist/build/src/index.d.ts",
-                "out": "../../dist/preview release/viewer/babylon.viewer.module.d.ts",
+                "out": "../../../../dist/preview release/viewer/babylon.viewer.module.d.ts",
                 "prependText": "/// <reference path=\"./babylon.d.ts\"/>\n/// <reference path=\"./babylon.glTF2Interface.d.ts\"/>\n/// <reference path=\"./babylonjs.loaders.d.ts\"/>\ndeclare module \"babylonjs-loaders\"{ export=BABYLON;}\n"
             },
             "outputs": [

+ 4 - 3
Tools/Gulp/gulpfile.js

@@ -466,12 +466,13 @@ var buildExternalLibrary = function (library, settings, watch) {
                         // create the file
                         dtsBundle.bundle(settings.build.dtsBundle);
                         // prepend the needed reference
-                        fs.readFile(settings.build.dtsBundle.out, function (err, data) {
+                        let fileLocation = path.join(path.dirname(settings.build.dtsBundle.main), settings.build.dtsBundle.out);
+                        fs.readFile(fileLocation, function (err, data) {
                             if (err) throw err;
                             data = settings.build.dtsBundle.prependText + '\n' + data.toString();
-                            fs.writeFile(settings.build.dtsBundle.out, data);
+                            fs.writeFile(fileLocation, data);
                             var newData = processViewerDeclaration(data);
-                            fs.writeFile(settings.build.dtsBundle.out.replace('.module', ''), newData);
+                            fs.writeFile(fileLocation.replace('.module', ''), newData);
                         });
                     });
                 }

+ 3 - 0
Viewer/tsconfig-gulp.json

@@ -36,6 +36,9 @@
             ],
             "handlebars": [
                 "./templates/handlebars.d.ts"
+            ],
+            "babylonjs-viewer-assets": [
+                "./assets/"
             ]
         },
         "outDir": "./dist/build"

+ 6 - 0
Viewer/tsconfig.json

@@ -36,6 +36,12 @@
             ],
             "handlebars": [
                 "./templates/handlebars.d.ts"
+            ],
+            "babylonjs-viewer-assets": [
+                "./assets/"
+            ],
+            "babylonjs-viewer-assets/*": [
+                "./assets/*"
             ]
         },
         "outDir": "./dist/build"

+ 48 - 4
Viewer/webpack.config.js

@@ -1,9 +1,51 @@
 const path = require('path');
 const webpack = require('webpack');
 
-module.exports = {
+module.exports = [{
     entry: {
-        'viewer': './src/index.ts'
+        'assets': './src/assets/index.ts'
+    },
+    output: {
+        path: path.resolve(__dirname, 'dist'),
+        filename: '[name].js',
+        devtoolModuleFilenameTemplate: '[relative-resource-path]'
+    },
+    plugins: [
+        new webpack.WatchIgnorePlugin([
+            /\.d\.ts$/
+        ])
+    ],
+    resolve: {
+        extensions: ['.ts', '.js']
+    },
+    module: {
+        loaders: [{
+            test: /\.tsx?$/,
+            loader: 'ts-loader',
+            exclude: /node_modules/
+        },
+        {
+            test: /\.(html)$/,
+            use: {
+                loader: 'html-loader',
+                options: {
+                    minimize: true
+                }
+            }
+        },
+        {
+            test: /\.(jpe?g|png|ttf|eot|svg?)(\?[a-z0-9=&.]+)?$/,
+            use: 'base64-image-loader?limit=1000&name=[name].[ext]'
+        },
+        {
+            test: /\.(woff|ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
+            loader: 'base64-font-loader'
+        }]
+    }
+},
+{
+    entry: {
+        'viewer': './src/index.ts',
     },
     output: {
         path: path.resolve(__dirname, 'dist'),
@@ -18,7 +60,8 @@ module.exports = {
         alias: {
             "babylonjs": __dirname + '/../dist/preview release/babylon.max.js',
             "babylonjs-materials": __dirname + '/../dist/preview release/materialsLibrary/babylonjs.materials.js',
-            "babylonjs-loaders": __dirname + '/../dist/preview release/loaders/babylonjs.loaders.js'
+            "babylonjs-loaders": __dirname + '/../dist/preview release/loaders/babylonjs.loaders.js',
+            "babylonjs-viewer-assets": __dirname + '/dist/assets.js'
         }
     },
     externals: {
@@ -63,4 +106,5 @@ module.exports = {
         //open: true,
         port: 9000
     }
-}
+}
+]

+ 3 - 2
Viewer/webpack.gulp.config.js

@@ -1,5 +1,5 @@
 module.exports = {
-    // context: __dirname,
+    context: __dirname,
     entry: [
         __dirname + '/src/index.ts'
     ]
@@ -19,7 +19,8 @@ module.exports = {
         alias: {
             "babylonjs": __dirname + '/../dist/preview release/babylon.max.js',
             "babylonjs-materials": __dirname + '/../dist/preview release/materialsLibrary/babylonjs.materials.js',
-            "babylonjs-loaders": __dirname + '/../dist/preview release/loaders/babylonjs.loaders.js'
+            "babylonjs-loaders": __dirname + '/../dist/preview release/loaders/babylonjs.loaders.js',
+            "babylonjs-viewer-assets": __dirname + '/src/assets/index.ts'
         }
     },
     module: {