Browse Source

Started adding server code

update-deps
Alex Mikhalev 7 years ago
parent
commit
71a877a159
  1. 3
      .gitignore
  2. 9
      app/tsconfig.json
  3. 4
      app/webpack/base.config.js
  4. 5
      app/webpack/config.js
  5. 0
      app/webpack/dev.config.js
  6. 0
      app/webpack/prod.config.js
  7. 12
      package.json
  8. 9
      server/app/index.ts
  9. 11
      server/app/serveApp.ts
  10. 9
      server/index.ts
  11. 20
      server/tsconfig.json
  12. 67
      yarn.lock

3
.gitignore vendored

@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
/node_modules
package-lock.json
npm-debug*
/build
/dist
/public
.idea
.vscode

9
app/tsconfig.json

@ -8,9 +8,9 @@ @@ -8,9 +8,9 @@
"es6",
"dom"
],
// "typeRoots": ["node_modules/@types"],
"types": [
"webpack-env"
"webpack-env",
"node"
],
"strict": true,
"baseUrl": ".",
@ -22,8 +22,5 @@ @@ -22,8 +22,5 @@
"./*"
]
}
},
"files": [
"./app/script/index.tsx"
]
}
}

4
webpack/base.config.js → app/webpack/base.config.js

@ -2,7 +2,7 @@ const path = require("path"); @@ -2,7 +2,7 @@ const path = require("path");
const webpack = require("webpack");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const rootDir = path.resolve(__dirname, "..");
const rootDir = path.resolve(__dirname, "..", "..");
module.exports = {
entry: [
@ -10,7 +10,7 @@ module.exports = { @@ -10,7 +10,7 @@ module.exports = {
"./app/index.tsx"
],
output: {
path: path.resolve(rootDir, "build"),
path: path.resolve(rootDir, "public"),
filename: "bundle.js"
},
resolve: {

5
app/webpack/config.js

@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
const isProduction = process.env.NODE_ENV === "production";
module.exports = require(
isProduction ? "./prod.config.js" : "./dev.config.js"
);

0
webpack/dev.config.js → app/webpack/dev.config.js

0
webpack/prod.config.js → app/webpack/prod.config.js

12
package.json

@ -6,8 +6,12 @@ @@ -6,8 +6,12 @@
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"clean": "rm -rf ./dist ./build",
"build": "webpack --config ./webpack/prod.config.js",
"start": "webpack-dev-server --config ./webpack/dev.config.js",
"build:app": "webpack --config ./app/webpack/prod.config.js",
"build:server": "tsc --project server",
"watch:app": "yarn build:app --watch",
"watch:server": "yarn build:server --watch",
"start:dev-server": "webpack-dev-server --config ./app/webpack/dev.config.js",
"start": "node dist/index.js",
"lint": "tslint --project . --force"
},
"repository": {
@ -23,6 +27,7 @@ @@ -23,6 +27,7 @@
"dependencies": {
"@types/classnames": "^2.2.0",
"@types/core-js": "^0.9.42",
"@types/express": "^4.0.37",
"@types/node": "^8.0.6",
"@types/object-assign": "^4.0.30",
"@types/paho-mqtt": "^1.0.0",
@ -33,6 +38,7 @@ @@ -33,6 +38,7 @@
"@types/react-transition-group": "^1.1.1",
"classnames": "^2.2.5",
"core-js": "^2.4.1",
"express": "^4.15.4",
"font-awesome": "^4.7.0",
"mobx": "^3.1.11",
"mobx-react": "^4.2.1",
@ -47,6 +53,7 @@ @@ -47,6 +53,7 @@
"webpack-merge": "^4.1.0"
},
"devDependencies": {
"@types/webpack-dev-middleware": "^1.9.3",
"@types/webpack-env": "^1.13.0",
"awesome-typescript-loader": "^3.1.3",
"css-loader": "^0.28.4",
@ -61,6 +68,7 @@ @@ -61,6 +68,7 @@
"tslint-react": "^3.2.0",
"typescript": "^2.3.4",
"webpack": "^3.0.0",
"webpack-dev-middleware": "^1.12.0",
"webpack-dev-server": "^2.4.4"
}
}

9
server/app/index.ts

@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
import * as express from "express";
import serveApp from "./serveApp";
const app = express();
app.use(serveApp());
export default app;

11
server/app/serveApp.ts

@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
import * as webpack from "webpack";
import * as webpackMiddleware from "webpack-dev-middleware";
/* tslint:disable-next-line:no-var-requires */
const webpackConfig = require("../../app/webpack/config.js");
export default function serveApp() {
return webpackMiddleware(
webpack(webpackConfig),
);
}

9
server/index.ts

@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
import app from "./app";
const port = +(process.env.PORT || 8080);
const host = process.env.HOST || "0.0.0.0";
app.listen(port, host, () => {
console.log(`listening at ${host}:${port}`);
});

20
server/tsconfig.json

@ -0,0 +1,20 @@ @@ -0,0 +1,20 @@
{
"compilerOptions": {
"outDir": "../dist",
"sourceMap": true,
"experimentalDecorators": true,
"target": "es5",
"lib": [
"es6",
"dom"
],
"types": [
"webpack-env",
"node"
],
"strict": true
},
"files": [
"./index.ts"
]
}

67
yarn.lock

@ -6,10 +6,37 @@ @@ -6,10 +6,37 @@
version "2.2.3"
resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.2.3.tgz#3f0ff6873da793870e20a260cada55982f38a9e5"
"@types/connect@*":
version "3.4.31"
resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.31.tgz#1f92d6b117ecc05076c49ecd024f7976e528bad9"
dependencies:
"@types/node" "*"
"@types/core-js@^0.9.42":
version "0.9.43"
resolved "https://registry.yarnpkg.com/@types/core-js/-/core-js-0.9.43.tgz#65d646c5e8c0cd1bdee37065799f9d3d48748253"
"@types/express-serve-static-core@*":
version "4.0.50"
resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.0.50.tgz#c5a139b5d29d2305aae6d982f69cef36120beacf"
dependencies:
"@types/node" "*"
"@types/express@^4.0.37":
version "4.0.37"
resolved "https://registry.yarnpkg.com/@types/express/-/express-4.0.37.tgz#625ac3765169676e01897ca47011c26375784971"
dependencies:
"@types/express-serve-static-core" "*"
"@types/serve-static" "*"
"@types/mime@*":
version "1.3.1"
resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.1.tgz#2cf42972d0931c1060c7d5fa6627fce6bd876f2f"
"@types/node@*":
version "8.0.27"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.27.tgz#13fbe7e92afeecebb843d7cea6c15b521e0000e1"
"@types/node@^8.0.6":
version "8.0.25"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.25.tgz#66ecaf4df93f5281b48427ee96fbcdfc4f0cdce1"
@ -50,10 +77,46 @@ @@ -50,10 +77,46 @@
version "16.0.5"
resolved "https://registry.yarnpkg.com/@types/react/-/react-16.0.5.tgz#d713cf67cc211dea20463d2a0b66005c22070c4b"
"@types/serve-static@*":
version "1.7.32"
resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.7.32.tgz#0f6732e4dab0813771dd8fc8fe14940f34728b4c"
dependencies:
"@types/express-serve-static-core" "*"
"@types/mime" "*"
"@types/source-map@*":
version "0.5.1"
resolved "https://registry.yarnpkg.com/@types/source-map/-/source-map-0.5.1.tgz#7e74db5d06ab373a712356eebfaea2fad0ea2367"
"@types/tapable@*":
version "0.2.4"
resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-0.2.4.tgz#8181a228da46185439300e600c5ae3b3b3982585"
"@types/uglify-js@*":
version "2.6.29"
resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-2.6.29.tgz#521347f69e20201d218f5991ae66e10878afcf1a"
dependencies:
"@types/source-map" "*"
"@types/webpack-dev-middleware@^1.9.3":
version "1.9.3"
resolved "https://registry.yarnpkg.com/@types/webpack-dev-middleware/-/webpack-dev-middleware-1.9.3.tgz#2120f79a4fbb0dc49ddba97e4b0b778f947c7c5b"
dependencies:
"@types/connect" "*"
"@types/webpack" "*"
"@types/webpack-env@^1.13.0":
version "1.13.0"
resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.13.0.tgz#3044381647e11ee973c5af2e925323930f691d80"
"@types/webpack@*":
version "3.0.10"
resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-3.0.10.tgz#1d27db07df32109f8c882535b547aae4252fd53e"
dependencies:
"@types/node" "*"
"@types/tapable" "*"
"@types/uglify-js" "*"
abbrev@1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f"
@ -1423,7 +1486,7 @@ expand-range@^1.8.1: @@ -1423,7 +1486,7 @@ expand-range@^1.8.1:
dependencies:
fill-range "^2.1.0"
express@^4.13.3:
express@^4.13.3, express@^4.15.4:
version "4.15.4"
resolved "https://registry.yarnpkg.com/express/-/express-4.15.4.tgz#032e2253489cf8fce02666beca3d11ed7a2daed1"
dependencies:
@ -4492,7 +4555,7 @@ wbuf@^1.1.0, wbuf@^1.7.2: @@ -4492,7 +4555,7 @@ wbuf@^1.1.0, wbuf@^1.7.2:
dependencies:
minimalistic-assert "^1.0.0"
webpack-dev-middleware@^1.11.0:
webpack-dev-middleware@^1.11.0, webpack-dev-middleware@^1.12.0:
version "1.12.0"
resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.0.tgz#d34efefb2edda7e1d3b5dbe07289513219651709"
dependencies:

Loading…
Cancel
Save