diff --git a/node/configs/webpack/index.js b/node/configs/webpack/index.js index 54f1da8..58fc9d7 100644 --- a/node/configs/webpack/index.js +++ b/node/configs/webpack/index.js @@ -4,14 +4,8 @@ var defaults = require('./webpack.default'); var common = require('./webpack.common'); -var server = require('./webpack.server'); - var client = require('./webpack.client'); module.exports = [ - // Client webpackMerge({}, defaults, common, client), - - // Server - webpackMerge({}, defaults, common, server) ]; diff --git a/node/configs/webpack/webpack.server.js b/node/configs/webpack/webpack.server.js deleted file mode 100644 index 0de345f..0000000 --- a/node/configs/webpack/webpack.server.js +++ /dev/null @@ -1,30 +0,0 @@ -var path = require('path'); -var root = require('./webpack.helper').root; - -module.exports = { - target: 'node', - resolve: { - root: root('server') - }, - entry: { - 'index': root('server-x', 'index.ts') - }, - output: { - filename: '[name].js', - path: root('dist', 'server-x') - }, - externals: function checkNodeImport(context, request, cb) { - if (!path.isAbsolute(request) && request.charAt(0) !== '.') { - cb(null, 'commonjs ' + request); - return; - } - cb(); - }, - node: { - global: true, - __dirname: false, - __filename: false, - process: true, - Buffer: true - } -}; diff --git a/node/server-x/README.md b/node/server-x/README.md deleted file mode 100644 index 3a11d1d..0000000 --- a/node/server-x/README.md +++ /dev/null @@ -1,27 +0,0 @@ -``` -. -├── README.md -├── components -│ └── errors -│ └── index.ts -├── configs -│ ├── index.ts -│ └── redis.ts -├── core -│ ├── express.ts -│ ├── index.ts -│ ├── router.ts -│ └── session.ts -├── index.ts -├── middlewares -│ └── index.ts -├── modules -│ ├── IModule.ts -│ └── api -│ ├── index.ts -│ └── profile -│ ├── controllers -│ └── index.ts -└── views - └── 404.html -``` \ No newline at end of file diff --git a/node/server-x/components/errors/index.ts b/node/server-x/components/errors/index.ts deleted file mode 100644 index b3059b4..0000000 --- a/node/server-x/components/errors/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { join } from "path"; -import { root } from "../../configs"; - -const pageNotFound = (req, res) => { - const viewFilePath = join(root, 'server/views/404.html'); - const statusCode = 404; - const result = { status: statusCode }; - - res.status(result.status); - // if the file doesn't exist of there is an error reading it just return a json with the error - res.sendFile(viewFilePath, (err) => { - if (err) return res.json(result, result.status); - }); -}; - -export default { - 404: pageNotFound -}; diff --git a/node/server-x/configs/index.ts b/node/server-x/configs/index.ts deleted file mode 100644 index fe29b30..0000000 --- a/node/server-x/configs/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { normalize, join } from 'path'; - -// Environment -export const env = process.env.NODE_ENV; - -// Root path of server -export const root = normalize(join(__dirname, '../..')); - -// Server port -export const port = process.env.PORT || 3000; - -export const client = '/dist/client'; diff --git a/node/server-x/configs/redis.ts b/node/server-x/configs/redis.ts deleted file mode 100644 index 56d1754..0000000 --- a/node/server-x/configs/redis.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { createClient } from "redis"; - -// console.log(process.env.HEROKUREDIS_PORT_6379_TCP_ADDR + ':' + process.env.HEROKUREDIS_PORT_6379_TCP_PORT); - -// APPROACH 1: Using environment variables created by Docker -// var client = redis.createClient( -// process.env.HEROKUREDIS_PORT_6379_TCP_PORT, -// process.env.HEROKUREDIS_PORT_6379_TCP_ADDR -// ); - -// APPROACH 2: Using host entries created by Docker in /etc/hosts -// var client = redis.createClient('6379', 'herokuRedis'); - -// APPROACH 3: Using environment, for heroku -export default createClient(process.env.REDIS_URL); diff --git a/node/server-x/core/express.ts b/node/server-x/core/express.ts deleted file mode 100644 index a22db67..0000000 --- a/node/server-x/core/express.ts +++ /dev/null @@ -1,25 +0,0 @@ -import * as morgan from 'morgan'; -import * as express from 'express'; -import * as compression from 'compression'; -import * as errorHandler from 'errorhandler'; -import * as methodOverride from 'method-override'; - -import { join } from "path"; -import { root, client } from "../configs/index"; - -import { urlencoded, json } from 'body-parser'; - -const container = express(); -const staticPath = join(root, client); - -container.use(express.static(staticPath)); -container.use(methodOverride()); -container.use(compression()); -container.use(morgan('dev')); - -container.use(urlencoded({ extended: true })); -container.use(json()); - -if ('development' == process.env.NODE_ENV) container.use(errorHandler()); - -export const createContainer = () => container; diff --git a/node/server-x/core/index.ts b/node/server-x/core/index.ts deleted file mode 100644 index 63cd19d..0000000 --- a/node/server-x/core/index.ts +++ /dev/null @@ -1,45 +0,0 @@ -import * as http from "http"; -import { createContainer } from "./express"; -import { enableSession } from "./session"; -import { router } from "./router"; -import { IModule } from "../modules/IModule"; -import { port } from "../configs"; - -class microsb { - private container; - private server; - private router; - - constructor() { - this.container = createContainer(); - this.server = http.createServer(this.container); - this.router = new router(this.container); - } - - connectToDatabase() { - return this; - } - - enableSession() { - return enableSession(this); - } - - enablePassport() { - return this; - } - - enableSocketIO() { - return this; - } - - load(module: IModule) { - this.router.push(module); - } - - run() { - this.router.build(); - this.server.listen(port, () => console.log('Express server listening on %d, in %s mode', port, this.container.get('env'))) - }; -} - -export default new microsb(); diff --git a/node/server-x/core/router.ts b/node/server-x/core/router.ts deleted file mode 100644 index 1eaf52b..0000000 --- a/node/server-x/core/router.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { join } from "path"; -import { client } from "../configs/index"; -import errors from "../components/errors"; -import { IModule } from '../modules/IModule'; - -export class router extends Array { - private container; - - constructor(container) { - super(container); - this.container = container; - } - - build() { - this.forEach((module) => module.init(this.container)); - - // All other routes should redirect to the index.html - this.container.route('/:url(components|app)/*').get(errors[404]); - this.container.route('/*').get((req, res) => res.sendFile(join(client, 'index.html'))); - } -} diff --git a/node/server-x/core/session.ts b/node/server-x/core/session.ts deleted file mode 100644 index 95922de..0000000 --- a/node/server-x/core/session.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const enableSession = (microsb) => { - return microsb; -}; diff --git a/node/server-x/index.ts b/node/server-x/index.ts deleted file mode 100644 index b729ecf..0000000 --- a/node/server-x/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -// Set default node environment to development -process.env.NODE_ENV = process.env.NODE_ENV || 'development'; - -import microsb from './core'; - -// microsb.connectToDatabase(); -// microsb.enableSession(); -// microsb.enablePassport(); -// microsb.enableSocketIO(); - -microsb.load(require('./modules/api')); - -microsb.run(); diff --git a/node/server-x/middlewares/index.ts b/node/server-x/middlewares/index.ts deleted file mode 100644 index e69de29..0000000 diff --git a/node/server-x/modules/IModule.ts b/node/server-x/modules/IModule.ts deleted file mode 100644 index 65f0d59..0000000 --- a/node/server-x/modules/IModule.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { Router } from 'express'; -export interface IModule { - baseUrl: string, - init(container): void -} diff --git a/node/server-x/modules/api/index.ts b/node/server-x/modules/api/index.ts deleted file mode 100644 index bb09315..0000000 --- a/node/server-x/modules/api/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { IModule } from '../IModule'; - -class Api implements IModule { - baseUrl: string = '/api'; - - init(container): void { - container.use(this.baseUrl, require('./profile').route('/profile')); - } -} - -export = new Api(); diff --git a/node/server-x/modules/api/profile/index.ts b/node/server-x/modules/api/profile/index.ts deleted file mode 100644 index d09e538..0000000 --- a/node/server-x/modules/api/profile/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { createClient } from "redis"; -import * as express from 'express'; - -const redis = createClient(process.env.REDIS_URL); - -export const route = (path) => { - const router = express(); - - router.route(path) - .get((req, res, next) => { - redis.incr('counter', (err, counter) => { - if (err) return next(err); - res.send(`This page has been viewed ${counter} times!`); - }); - }); - - return router; -}; diff --git a/node/server-x/views/404.html b/node/server-x/views/404.html deleted file mode 100644 index 448b63e..0000000 --- a/node/server-x/views/404.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - 404 Not Found - - -

404

- -