commit 75d7e8545463a383d4056de6e96f9a1171585973 Author: Zaid Abdulla Date: Sat Dec 2 01:44:10 2017 -0800 New skeleton web app diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..7a3bed9 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,17 @@ +{ + "env": { + "es6": true + }, + "extends": "eslint:recommended", + "parserOptions": { + "sourceType": "script" + }, + "plugins": ["prettier"], + "rules": { + "no-shadow": ["error", { "allow": ["err"] }], + "handle-callback-err": "error", + "prefer-arrow-callback": "error", + "curly": ["error", "multi", "consistent"], + "prettier/prettier": "error" + } +} diff --git a/client/.eslintrc.json b/client/.eslintrc.json new file mode 100644 index 0000000..dcd577e --- /dev/null +++ b/client/.eslintrc.json @@ -0,0 +1,6 @@ +{ + "env": { + "browser": true, + "commonjs": true + } +} diff --git a/client/app.js b/client/app.js new file mode 100644 index 0000000..5f20515 --- /dev/null +++ b/client/app.js @@ -0,0 +1,5 @@ +"use strict"; + +const m = require("mithril"); + +m.render(document.body, "hello world"); diff --git a/package.json b/package.json new file mode 100644 index 0000000..75fa1d6 --- /dev/null +++ b/package.json @@ -0,0 +1,25 @@ +{ + "name": "genieacs-ui", + "version": "1.0.0", + "description": "", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "lint": "eslint --fix server/*.js client/*.js", + "build": "webpack", + "start": "npm run lint;npm run build;node server/server" + }, + "author": "Zaid Abdulla ", + "dependencies": { + "koa": "^2.4.1", + "koa-bodyparser": "^4.2.0", + "koa-router": "^7.3.0", + "koa-static": "^4.0.2", + "mithril": "^1.1.5" + }, + "devDependencies": { + "eslint": "^4.12.1", + "eslint-plugin-prettier": "^2.3.1", + "prettier": "^1.8.2", + "webpack": "^3.9.1" + } +} diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..772daa5 --- /dev/null +++ b/public/index.html @@ -0,0 +1,7 @@ + + + + + + + diff --git a/server/.eslintrc.json b/server/.eslintrc.json new file mode 100644 index 0000000..10d2238 --- /dev/null +++ b/server/.eslintrc.json @@ -0,0 +1,5 @@ +{ + "env": { + "node": true + } +} diff --git a/server/api.js b/server/api.js new file mode 100644 index 0000000..c0c9598 --- /dev/null +++ b/server/api.js @@ -0,0 +1,7 @@ +"use strict"; + +const Router = require("koa-router"); + +const router = new Router(); + +module.exports = router; diff --git a/server/config.js b/server/config.js new file mode 100644 index 0000000..41d7767 --- /dev/null +++ b/server/config.js @@ -0,0 +1,3 @@ +"use strict"; + +exports.PORT = 3000; diff --git a/server/server.js b/server/server.js new file mode 100644 index 0000000..ea0d898 --- /dev/null +++ b/server/server.js @@ -0,0 +1,21 @@ +"use strict"; + +const Koa = require("koa"); +const Router = require("koa-router"); +const koaStatic = require("koa-static"); + +const config = require("./config"); +const api = require("./api"); + +const koa = new Koa(); +const router = new Router(); + +router.use("/api", api.routes(), api.allowedMethods()); + +koa.use(router.routes()); +koa.use(koaStatic("./public")); + +koa.listen(config.PORT, () => { + // eslint-disable-next-line no-console + console.log(`Server listening on port ${config.PORT}`); +}); diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 0000000..06a9de9 --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,6 @@ +module.exports = { + entry: "./client/app.js", + output: { + filename: "public/app.js" + } +};