Skip to content
This repository was archived by the owner on Dec 9, 2021. It is now read-only.

Develop > Master #18

Merged
merged 10 commits into from
Mar 12, 2018
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix prod build issues
  • Loading branch information
codeBelt committed Mar 12, 2018
commit db9782f631fc01f8a549ad0e60fc8a36c58c3b19
20 changes: 10 additions & 10 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -57,17 +57,17 @@
"@types/inert": "5.1.0",
"@types/node": "8.0.53",
"@types/node-notifier": "0.0.28",
"@types/react": "16.0.25",
"@types/react-dom": "16.0.3",
"@types/react-hot-loader": "3.0.5",
"@types/react-redux": "5.0.13",
"@types/react-router": "4.0.18",
"@types/react-router-dom": "4.2.2",
"@types/react-router-redux": "5.0.10",
"@types/redux-form": "7.0.9",
"@types/react": "16.0.40",
"@types/react-dom": "16.0.4",
"@types/react-hot-loader": "3.0.6",
"@types/react-redux": "5.0.15",
"@types/react-router": "4.0.22",
"@types/react-router-dom": "4.2.4",
"@types/react-router-redux": "5.0.12",
"@types/redux-form": "7.2.2",
"@types/serialize-javascript": "1.3.2",
"@types/webpack": "3.8.1",
"@types/webpack-env": "1.13.2",
"@types/webpack": "3.8.10",
"@types/webpack-env": "1.13.5",
"awesome-typescript-loader": "3.4.0",
"babel-cli": "6.26.0",
"babel-core": "6.26.0",
Expand Down
9 changes: 6 additions & 3 deletions src/server.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
import 'fetch-everywhere';
import ServerManager from './server/ServerManager';
import ReactController from './server/controllers/ReactController';
import HapiWebpackHotPlugin from './server/plugin/HapiWebpackHotPlugin';
import * as inert from 'inert';
import AssetsController from './server/controllers/AssetsController';
import HapiWebpackHotPlugin from './server/plugin/HapiWebpackHotPlugin';
import ReactController from './server/controllers/ReactController';
import ServerManager from './server/ServerManager';

(async () => {

const manager = new ServerManager();

await manager.registerPlugin(inert);

if (manager.isDevelopment) {
const hapiWebpackHotPlugin = new HapiWebpackHotPlugin();

Expand Down
25 changes: 6 additions & 19 deletions src/server/ServerManager.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import * as Hapi from 'hapi';
import * as inert from 'inert';
import * as path from 'path';
import IController from './controllers/IController';

class ServerManager {
Expand All @@ -18,7 +16,12 @@ class ServerManager {
}

constructor() {
this._setup();
const options: Hapi.ServerOptions = {
host: ServerManager.HOST,
port: ServerManager.PORT,
};

this._server = new Hapi.Server(options);
}

public static log(): void {
Expand All @@ -45,22 +48,6 @@ class ServerManager {
}
}

private async _setup(): Promise<void> {
const options: Hapi.ServerOptions = {
host: ServerManager.HOST,
port: ServerManager.PORT,
routes: {
files: {
relativeTo: path.join(__dirname, '../../public'),
},
},
};

this._server = new Hapi.Server(options);

await this.registerPlugin(inert);
}

}

export default ServerManager;
11 changes: 5 additions & 6 deletions src/server/controllers/AssetsController.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import * as Hapi from 'hapi';
import * as path from 'path';
import IController from './IController';

class AssetsController implements IController {
Expand All @@ -7,12 +8,10 @@ class AssetsController implements IController {
server.route({
method: 'GET',
path: '/assets/{file*}',
handler: {
directory: {
path: '.',
redirectToSlash: true,
index: true,
},
handler: (request: Hapi.Request, h: any/*inert.ResponseToolkit*/) => {
const file: string = path.resolve(__dirname, `../../public${request.path}`);

return h.file(file);
},
});
}
Expand Down
Loading