Add dev mode for webpack-dev-server and switch for sql debug output

pull/108/head
Candid Dauth 2017-02-09 20:39:42 +01:00
rodzic 15ad837cd5
commit 0ab81205da
6 zmienionych plików z 51 dodań i 18 usunięć

Wyświetl plik

@ -144,6 +144,15 @@ following steps to get it running on Windows:
7. Run `npm run build`
8. Run `npm run server`
### Development mode
To run the server in development mode, run `FM_DEV=true npm run server`. This will start a webpack-dev-server that will
automatically recompile any frontend files when they change.
To additionally enable debug output of various components, additionally prepend the command by `DEBUG=*`. See the
documentation of [debug](https://github.com/visionmedia/debug). To only enable the debug logging of SQL queries,
use `DEBUG=sql`.
Config
------

Wyświetl plik

@ -39,6 +39,7 @@ module.exports = {
path: __dirname + "/build/"
},
resolve: {
unsafeCache: true,
alias: {
angular: "angular/angular" // We cannot use the main file, as it exports the variable "angular", which clashes with this ProvidePlugin
}
@ -83,5 +84,5 @@ module.exports = {
sourceMap: true
}),
],
devtool: "source-map"
devtool: process.env.FM_DEV ? "cheap-eval-source-map" : "source-map"
};

Wyświetl plik

@ -22,6 +22,7 @@
"clipboard": "^1.5.16",
"compression": "^1.6.2",
"compressjs": "^1.0.3",
"debug": "^2.6.0",
"event-stream": "^3.3.4",
"express": "^4.14.0",
"file-saver": "^1.3.3",
@ -45,7 +46,8 @@
"socket.io": "^1.2.1",
"socket.io-client": "^1.7.2",
"stream-combiner": "^0.2.2",
"underscore": "^1.8.3"
"underscore": "^1.8.3",
"webpack-dev-middleware": "^1.10.0"
},
"devDependencies": {
"babel-core": "^6.21.0",

Wyświetl plik

@ -1,6 +1,7 @@
var util = require("util");
var events = require("events");
var Sequelize = require("sequelize");
var debug = require("debug");
var utils = require("../utils");
var config = require("../../config");
@ -16,7 +17,8 @@ class Database extends events.EventEmitter {
port: config.db.port,
define: {
timestamps: false
}
},
logging: debug.enabled("sql") ? console.log : false
});
for(let func of this._init)

Wyświetl plik

@ -4,6 +4,9 @@ var domain = require("domain");
var Promise = require("promise");
var express = require("express");
var path = require("path");
var webpack = require("webpack");
var webpackConfig = require("../frontend/webpack.config");
var webpackMiddleware = require("webpack-dev-middleware");
var config = require("../config");
var Database = require("./database/database");
@ -44,9 +47,19 @@ utils.promiseAuto({
next();
});
app.use(express.static(frontendPath + "/build/"));
app.get("/:padId", function(req, res) {
res.sendFile(frontendPath + "/build/index.html");
var staticMiddleware = process.env.FM_DEV
? webpackMiddleware(webpack(webpackConfig), {
publicPath: "/"
})
: express.static(frontendPath + "/build/");
app.use(staticMiddleware);
app.get("/:padId", function(req, res, next) {
req.url = req.url.replace(/[^\/]*$/, "");
req.originalUrl = req.originalUrl.replace(/[^\/]*$/, "");
staticMiddleware(req, res, next);
});
var server = http.createServer(app);

Wyświetl plik

@ -1415,6 +1415,12 @@ debug@2.3.3, debug@^2.1.1, debug@^2.2.0:
dependencies:
ms "0.7.2"
debug@^2.6.0:
version "2.6.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b"
dependencies:
ms "0.7.2"
decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
@ -3277,7 +3283,7 @@ mime@1.2.x:
version "1.2.11"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.2.11.tgz#58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10"
mime@1.3.4:
mime@1.3.4, mime@^1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
@ -4122,7 +4128,7 @@ randombytes@^2.0.0, randombytes@^2.0.1:
version "2.0.3"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.3.tgz#674c99760901c3c4112771a31e521dc349cc09ec"
range-parser@~1.2.0:
range-parser@^1.0.3, range-parser@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
@ -4175,16 +4181,7 @@ readable-stream@1.0, "readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0
isarray "0.0.1"
string_decoder "~0.10.x"
readable-stream@1.1, readable-stream@~1.1.9:
version "1.1.13"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.13.tgz#f6eef764f514c89e2b9e23146a75ba106756d23e"
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.1"
isarray "0.0.1"
string_decoder "~0.10.x"
readable-stream@1.1.14:
readable-stream@1.1, readable-stream@1.1.14, readable-stream@~1.1.9:
version "1.1.14"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
dependencies:
@ -5168,6 +5165,15 @@ webpack-core@^0.6.5:
source-list-map "~0.1.7"
source-map "~0.4.1"
webpack-dev-middleware@^1.10.0:
version "1.10.0"
resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.10.0.tgz#7d5be2651e692fddfafd8aaed177c16ff51f0eb8"
dependencies:
memory-fs "~0.4.1"
mime "^1.3.4"
path-is-absolute "^1.0.0"
range-parser "^1.0.3"
webpack-sources@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.4.tgz#ccc2c817e08e5fa393239412690bb481821393cd"