hoist requires in AMD modules and modularize some webpack stuff
This commit is contained in:
parent
b15d6f2399
commit
ec5a8f76ea
|
@ -41,6 +41,7 @@
|
|||
"dependencies": {
|
||||
"angular-nvd3": "panda01/angular-nvd3#kibana",
|
||||
"ansicolors": "^0.3.2",
|
||||
"auto-preload-rjscommon-deps-loader": "^1.0.1",
|
||||
"autoprefixer-loader": "^2.0.0",
|
||||
"babel-jscs": "^1.0.3",
|
||||
"bluebird": "^2.9.27",
|
||||
|
@ -90,7 +91,8 @@
|
|||
"style-loader": "^0.12.3",
|
||||
"through": "^2.3.6",
|
||||
"url-loader": "^0.5.6",
|
||||
"webpack": "^1.10.0"
|
||||
"webpack": "^1.10.0",
|
||||
"webpack-directory-name-as-main": "^1.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"bower": "^1.4.1",
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
/*****
|
||||
* Modified clone of https://github.com/webpack/enhanced-resolve/blob/3b88905ad3cb6392f48f7bc57d351891774fd93b/lib/DirectoryDefaultFilePlugin.js
|
||||
*****
|
||||
|
||||
/*
|
||||
MIT License http://www.opensource.org/licenses/mit-license.php
|
||||
Author Tobias Koppers @sokra
|
||||
*/
|
||||
var _ = require('lodash');
|
||||
var basename = require('path').basename;
|
||||
|
||||
function DirectoryDefaultFilePlugin(files) {}
|
||||
module.exports = DirectoryDefaultFilePlugin;
|
||||
|
||||
DirectoryDefaultFilePlugin.prototype.apply = function (resolver) {
|
||||
resolver.plugin('directory', function (request, done) {
|
||||
handle(request).then(function (result) {
|
||||
done(null, result);
|
||||
}, done);
|
||||
});
|
||||
|
||||
var handle = _.memoize(function (req) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
var directory = resolver.join(req.path, req.request);
|
||||
resolver.fileSystem.stat(directory, function (err, stat) {
|
||||
if (err || !stat) return resolve();
|
||||
if (!stat.isDirectory()) return resolve();
|
||||
|
||||
resolver.doResolve('file', {
|
||||
path: req.path,
|
||||
query: req.query,
|
||||
request: resolver.join(directory, basename(directory))
|
||||
}, function (err, result) {
|
||||
return resolve(result || undefined);
|
||||
});
|
||||
});
|
||||
});
|
||||
}, function (req) {
|
||||
return `${req.path}!${req.request}!${req.query}`;
|
||||
});
|
||||
};
|
|
@ -11,7 +11,7 @@ var assets = require('../ui/assets');
|
|||
var fromRoot = require('../../utils/fromRoot');
|
||||
var OptmzBundles = require('./OptmzBundles');
|
||||
var OptmzUiModules = require('./OptmzUiModules');
|
||||
var DirectoryNameAsDefaultFile = require('./DirectoryNameAsDefaultFile');
|
||||
var DirectoryNameAsMain = require('webpack-directory-name-as-main');
|
||||
var ExtractTextPlugin = require('extract-text-webpack-plugin');
|
||||
|
||||
class Optimizer extends EventEmitter {
|
||||
|
@ -49,11 +49,10 @@ class Optimizer extends EventEmitter {
|
|||
|
||||
plugins: [
|
||||
new webpack.ResolverPlugin([
|
||||
new DirectoryNameAsDefaultFile()
|
||||
new DirectoryNameAsMain()
|
||||
]),
|
||||
new webpack.NoErrorsPlugin(),
|
||||
new webpack.optimize.DedupePlugin(),
|
||||
new webpack.optimize.OccurenceOrderPlugin(),
|
||||
new ExtractTextPlugin('[name].style.css', {
|
||||
allChunks: true
|
||||
})
|
||||
|
@ -66,6 +65,7 @@ class Optimizer extends EventEmitter {
|
|||
{ test: /\.(html|tmpl)$/, loader: 'raw' },
|
||||
{ test: /\.png$/, loader: 'url?limit=2048!file?name=[path][name].[ext]' },
|
||||
{ test: /\.(woff|woff2|ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: 'file?name=[path][name].[ext]' },
|
||||
{ test: /\/src\/(plugins|ui)\/.+\.js$/, loader: 'auto-preload-rjscommon-deps' }
|
||||
].concat(modules.loaders),
|
||||
noParse: modules.noParse,
|
||||
},
|
||||
|
|
|
@ -36,8 +36,7 @@ class UiApp {
|
|||
this.uiExports.find(_.get(this, 'spec.uses', [])),
|
||||
])
|
||||
.flatten()
|
||||
.sort()
|
||||
.uniq(true)
|
||||
.uniq()
|
||||
.push(this.main)
|
||||
.value()
|
||||
};
|
||||
|
|
|
@ -11,30 +11,10 @@ exports.reload = function () {
|
|||
exports.directives = scan('directives');
|
||||
exports.filters = scan('filters');
|
||||
|
||||
var excludeStyles = [
|
||||
'ui-styles/mixins.less',
|
||||
'ui-styles/variables.less',
|
||||
];
|
||||
|
||||
exports.styles = _.union(
|
||||
[
|
||||
'ui-styles/theme.less',
|
||||
'ui-styles/base.less'
|
||||
],
|
||||
scan('ui-styles', true).filter(function (file) {
|
||||
var i = excludeStyles.indexOf(file);
|
||||
if (i > -1) {
|
||||
excludeStyles.splice(i, 1);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
})
|
||||
);
|
||||
|
||||
if (excludeStyles.length) {
|
||||
throw new Error(`Styles which were supposed to be excluded from autoload not found! ${excludeStyles}`);
|
||||
}
|
||||
var base = ['ui-styles/theme.less', 'ui-styles/base.less'];
|
||||
var exclude = ['ui-styles/mixins.less', 'ui-styles/variables.less'];
|
||||
var found = scan('ui-styles', true);
|
||||
exports.styles = _.difference(_.union(base, found), exclude);
|
||||
|
||||
exports.uiComponents = [
|
||||
'chrome',
|
||||
|
|
Loading…
Reference in a new issue