diff options
author | Stas Vilchik <vilchiks@gmail.com> | 2016-04-05 14:16:55 +0200 |
---|---|---|
committer | Stas Vilchik <vilchiks@gmail.com> | 2016-04-05 17:23:44 +0200 |
commit | 9cc12455020fbb47e606c3e7152a291cf3294299 (patch) | |
tree | 1739d5f7eb9ae84068906c5c44cd665b11a7b3fe /server/sonar-web/devServer.js | |
parent | 81334817358787b15faa4ceb72ac6de85f077dfc (diff) | |
download | sonarqube-9cc12455020fbb47e606c3e7152a291cf3294299.tar.gz sonarqube-9cc12455020fbb47e606c3e7152a291cf3294299.zip |
create web development server
Diffstat (limited to 'server/sonar-web/devServer.js')
-rw-r--r-- | server/sonar-web/devServer.js | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/server/sonar-web/devServer.js b/server/sonar-web/devServer.js new file mode 100644 index 00000000000..837e83ef104 --- /dev/null +++ b/server/sonar-web/devServer.js @@ -0,0 +1,56 @@ +/* + * SonarQube + * Copyright (C) 2009-2016 SonarSource SA + * mailto:contact AT sonarsource DOT com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + /* eslint no-var: 0 */ + /* eslint no-console: 0 */ + /* eslint object-shorthand: 0 */ + /* jscs:disable requireEnhancedObjectLiterals */ +var url = require('url'); +var express = require('express'); +var proxy = require('express-http-proxy'); +var webpack = require('webpack'); +var config = require('./webpack.config.dev'); + +var app = express(); +var compiler = webpack(config); + +var PORT = process.env.PORT || 8080; +var API_HOST = process.env.API_HOST || 'http://localhost:9000'; + +app.use(require('webpack-dev-middleware')(compiler, { + noInfo: true, + publicPath: config.output.publicPath +})); + +app.use(require('webpack-hot-middleware')(compiler)); + +app.all('*', proxy(API_HOST, { + forwardPath: function (req) { + return url.parse(req.url).path; + } +})); + +app.listen(PORT, 'localhost', function (err) { + if (err) { + console.log(err); + return; + } + + console.log('Listening at http://localhost:' + PORT); +}); |