Webpacking
Existing Situation
- r.js bundles
- requireize'd files
ng-templates - require.config (browser? build?)
Uglify
'use strict';
var path = require('path'),
build = require('./build'),
webpack = require('webpack');
var PATHS = {
JS: {
FTNT_SHARED: path.resolve('./js/ftnt_shared.js'),
FTNT_SHARED_NOTIFY: path.resolve('./js/ftnt_shared/notify.js'),
FTNT_SHARED_GRID_LIST: path.resolve('./js/ftnt_shared/grid_list.js')
}
};
module.exports = {
cache: true,
entry: {
ng: './ng/main'
},
output: {
path: build.BUILD_DIR,
publicPath: build.BUILD.CONFIG_GUI_NO,
filename: '[name].bundle.js',
chunkFilename: '[name]_[chunkhash].chunk.js'
},
module: {
loaders: [
{ test: /\.html$/, loader: 'ngtemplate-loader!html-loader' },
// TODO: add css, stylus, text loaders.
// icons
{ test: /\.woff$/,
loader: 'url-loader?prefix=font/&limit=5000&mimetype=application/font-woff' },
// TODO: switch to json loader instead
// allow monitor api endpoints to have '.json' extension?
{ test: /^\/api\/v2\/monitor/, loader: 'raw-loader' }
]
},
resolve: {
alias: {
/*'jquery': 'jquery/dist/jquery.js',
'hammer': 'hammerjs/'*/
'fweb': path.resolve('./js/fweb.js'),
'fweb_build_partial':
path.resolve(path.join(build.BUILD_DIR, 'js/fweb_build_partial.js')),
'js/ftnt_shared': PATHS.JS.FTNT_SHARED,
// TODO: there has got to be a better way.
'notify': PATHS.JS.FTNT_SHARED_NOTIFY,
'grid-list': PATHS.JS.FTNT_SHARED_GRID_LIST,
'jquery.ui': 'jquery-ui-bundle/jquery-ui.js',
'legacy.util': path.resolve('./js/Util.js'),
'qed_list': path.resolve('./js/jquery.qlist'),
'join-path': 'join-path-js',
//TODO: npm?
'closure-ipaddress': path.resolve('./js/closure-ipaddress.omin.js')
}
},
plugins: [
// TODO: refactor this out of our qlist modules?
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery'
})
],
stats: { errorDetails: true }
};
entry: {
ng: './ng/main'
}
diff --git a/migadmin/js/jquery.ng_app.js b/migadmin/js/jquery.ng_app.js
index 18222f45877..f4c80a46cea 100644
--- a/migadmin/js/jquery.ng_app.js
+++ b/migadmin/js/jquery.ng_app.js
@@ -52,7 +52,7 @@ $.fn.ng_app = function(params) {
} else if (running_apps[app_name]) {
throw new Error('A ng app named "' + app_name + '" already exists');
}
- /*require.ensure([
+ require.ensure([
'angular',
'../ng/services/loader',
'../ng/services/interceptor',
@@ -62,7 +62,7 @@ $.fn.ng_app = function(params) {
'../ng/directives/menu/menu_items',
// TODO: '../ng/directives/menu/templates',
'../ng/filters/ftnt'
- ], function() {*/
+ ], function() {
var $controllerProvider;
var angular = arguments[0];
var app = angular.module(app_name, ng_modules);
@@ -114,6 +114,6 @@ $.fn.ng_app = function(params) {
angular.bootstrap(element, [app_name]);
running_apps[app_name] = app;
deferred.resolve(app);
- //});
+ });
return deferred.promise();
};
diff --git a/migadmin/js/qlist/inlineHandlers.js b/migadmin/js/qlist/inlineHandlers.js
index af891a3869c..9aa794f06f2 100644
--- a/migadmin/js/qlist/inlineHandlers.js
+++ b/migadmin/js/qlist/inlineHandlers.js
@@ -1080,7 +1080,7 @@ $.extend(QListInlineHandlers.prototype, {
function initMenus() {
- //require.ensure(['angular', '../jquery.ng_app'], function() {
+ require.ensure(['angular', '../jquery.ng_app'], function() {
var angular = require('angular'),
ng_app = require('../jquery.ng_app');
var $menuAppElem = $(h.menuSelector),
@@ -1088,7 +1088,7 @@ $.extend(QListInlineHandlers.prototype, {
module.controller(ng_app.DEFAULT_QLIST_MENU_ITEMS_CONTROLLER,
['$scope', controller]);
$menuAppElem.ng_app({modules: [h.menuSelector]});
- //});
+ });
}
function controller($scope) {
//testing to see if this controller exists, quit immediately.
diff --git a/migadmin/js/qlist/menu_items.js b/migadmin/js/qlist/menu_items.js
index a13e60d8f07..97b072ec977 100644
--- a/migadmin/js/qlist/menu_items.js
+++ b/migadmin/js/qlist/menu_items.js
@@ -253,7 +253,7 @@
handler: f_events.reportExceptions(function(q) {
var entries = get_entries(q, column),
$dlg, json;
-// require.ensure(['../jquery.ui_dependencies', '../ajax_setup'], function() {
+ require.ensure(['../jquery.ui_dependencies', '../ajax_setup'], function() {
if (entries.length > 0) {
json = {
ip_addresses: entries.map(pluck(column))
@@ -298,7 +298,7 @@
//no destroy yet?
diff --git a/migadmin/ng/main.js b/migadmin/ng/main.js
index fa6ecd9b1d1..7c4d2101cf8 100644
--- a/migadmin/ng/main.js
+++ b/migadmin/ng/main.js
@@ -1,100 +1,100 @@
'use strict';
Promise.all([
- require('../js/early_state').promise,
- require('../js/early_object_urls').promise,
- require('../js/early_lang').promise
+ require('../js/early_state').promise,
+ require('../js/early_object_urls').promise,
+ require('../js/early_lang').promise
]).then(function() {
\ No newline at end of file
+ // split along fweb/angular line?
+ require.ensure(['fweb'], function() {
Webpacking
By Jamie Pate
Webpacking
- 863