summaryrefslogtreecommitdiffstats
path: root/server/sonar-web/webpack.config.js
diff options
context:
space:
mode:
authorStas Vilchik <vilchiks@gmail.com>2015-12-17 15:14:08 +0100
committerStas Vilchik <vilchiks@gmail.com>2015-12-18 11:02:51 +0100
commit3f38540619ece91a5f77cdd202ba339d3eb41462 (patch)
tree17386de2fc2b0972bb5f42453af3fcf4ffcb416f /server/sonar-web/webpack.config.js
parenta76c4cc7cee9d6974324d93d936b904eab4960dc (diff)
downloadsonarqube-3f38540619ece91a5f77cdd202ba339d3eb41462.tar.gz
sonarqube-3f38540619ece91a5f77cdd202ba339d3eb41462.zip
install webpack
Diffstat (limited to 'server/sonar-web/webpack.config.js')
-rw-r--r--server/sonar-web/webpack.config.js99
1 files changed, 99 insertions, 0 deletions
diff --git a/server/sonar-web/webpack.config.js b/server/sonar-web/webpack.config.js
new file mode 100644
index 00000000000..6c13a20081e
--- /dev/null
+++ b/server/sonar-web/webpack.config.js
@@ -0,0 +1,99 @@
+var path = require('path');
+var webpack = require('webpack');
+
+var baseOutput = process.env.OUTPUT || path.join(__dirname, 'src/main/webapp');
+var output = path.join(baseOutput, 'js/bundles');
+
+module.exports = {
+ entry: {
+ 'vendor': [
+ 'jquery',
+ 'underscore',
+ 'd3',
+ 'react',
+ 'react-dom',
+ 'backbone',
+ 'backbone.marionette',
+ 'moment',
+ 'handlebars/runtime'
+ ],
+
+ 'sonar': './src/main/js/libs/sonar.js',
+
+ 'main': './src/main/js/main/app.js',
+
+ 'account': './src/main/js/apps/account/app.js',
+ 'api-documentation': './src/main/js/apps/api-documentation/app.js',
+ 'background-tasks': './src/main/js/apps/background-tasks/app.js',
+ 'code': './src/main/js/apps/code/app.js',
+ 'coding-rules': './src/main/js/apps/coding-rules/app.js',
+ 'component-issues': './src/main/js/apps/component-issues/app.js',
+ 'custom-measures': './src/main/js/apps/custom-measures/app.js',
+ 'dashboard': './src/main/js/apps/dashboard/app.js',
+ 'drilldown': './src/main/js/apps/drilldown/app.js',
+ 'global-permissions': './src/main/js/apps/global-permissions/app.js',
+ 'groups': './src/main/js/apps/groups/app.js',
+ 'issues': './src/main/js/apps/issues/app.js',
+ 'maintenance': './src/main/js/apps/maintenance/app.js',
+ 'markdown': './src/main/js/apps/markdown/app.js',
+ 'measures': './src/main/js/apps/measures/app.js',
+ 'metrics': './src/main/js/apps/metrics/app.js',
+ 'overview': './src/main/js/apps/overview/app.js',
+ 'permission-templates': './src/main/js/apps/permission-templates/app.js',
+ 'project-permissions': './src/main/js/apps/project-permissions/app.js',
+ 'projects': './src/main/js/apps/projects/app.js',
+ 'quality-gates': './src/main/js/apps/quality-gates/app.js',
+ 'quality-profiles': './src/main/js/apps/quality-profiles/app.js',
+ 'source-viewer': './src/main/js/apps/source-viewer/app.js',
+ 'system': './src/main/js/apps/system/app.js',
+ 'update-center': './src/main/js/apps/update-center/app.js',
+ 'users': './src/main/js/apps/users/app.js',
+
+ 'widgets': './src/main/js/widgets/widgets.js'
+ },
+ output: {
+ path: output,
+ filename: '[name].js'
+ },
+ plugins: [
+ new webpack.optimize.CommonsChunkPlugin('vendor', 'vendor.js')
+ ],
+ resolve: {
+ root: path.join(__dirname, 'src/main/js')
+ },
+ module: {
+ loaders: [
+ {
+ test: /\.js$/,
+ loader: 'babel',
+ exclude: /(node_modules|libs)/
+ },
+ {
+ test: /(blueimp-md5)/,
+ loader: 'imports?define=>false'
+ },
+ {
+ test: /\.hbs$/,
+ loader: 'handlebars-loader',
+ query: {
+ helperDirs: path.join(__dirname, 'src/main/js/helpers/handlebars')
+ }
+ },
+ {
+ test: require.resolve('jquery'),
+ loader: 'expose?$!expose?jQuery'
+ },
+ {
+ test: require.resolve('underscore'),
+ loader: 'expose?_'
+ },
+ {
+ test: require.resolve('d3'),
+ loader: 'expose?d3'
+ }
+ ]
+ },
+ externals: {
+ 'numeral': 'numeral'
+ }
+};