diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..e3fae43 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,8 @@ + +module.exports = { + 'extends': 'standard', + 'plugins': [ + 'standard', + 'promise' + ] +} \ No newline at end of file diff --git a/app.js b/app.js index 336cb9e..58627a9 100644 --- a/app.js +++ b/app.js @@ -1,46 +1,46 @@ -var express = require('express'); -var path = require('path'); -var favicon = require('serve-favicon'); -var logger = require('morgan'); -var cookieParser = require('cookie-parser'); -var bodyParser = require('body-parser'); +const express = require('express') +const path = require('path') +// const favicon = require('serve-favicon') +const logger = require('morgan') +const cookieParser = require('cookie-parser') +const bodyParser = require('body-parser') -var index = require('./routes/index'); -var courses = require('./routes/courses'); +const index = require('./routes/index') +const courses = require('./routes/courses') -var app = express(); +const app = express() // view engine setup -app.set('views', path.join(__dirname, 'views')); -app.set('view engine', 'pug'); +app.set('views', path.join(__dirname, 'views')) +app.set('view engine', 'pug') // uncomment after placing your favicon in /public -//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); -app.use(logger('dev')); -app.use(bodyParser.json()); -app.use(bodyParser.urlencoded({ extended: false })); -app.use(cookieParser()); -app.use(express.static(path.join(__dirname, 'public'))); +// app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); +app.use(logger('dev')) +app.use(bodyParser.json()) +app.use(bodyParser.urlencoded({ extended: false })) +app.use(cookieParser()) +app.use(express.static(path.join(__dirname, 'public'))) -app.use('/', index); -app.use('/courses', courses); +app.use('/', index) +app.use('/courses', courses) // catch 404 and forward to error handler -app.use(function(req, res, next) { - var err = new Error('Not Found'); - err.status = 404; - next(err); -}); +app.use(function (req, res, next) { + var err = new Error('Not Found') + err.status = 404 + next(err) +}) // error handler -app.use(function(err, req, res, next) { +app.use(function (err, req, res, next) { // set locals, only providing error in development - res.locals.message = err.message; - res.locals.error = req.app.get('env') === 'development' ? err : {}; + res.locals.message = err.message + res.locals.error = req.app.get('env') === 'development' ? err : {} // render the error page - res.status(err.status || 500); - res.render('error'); -}); + res.status(err.status || 500) + res.render('error') +}) -module.exports = app; +module.exports = app diff --git a/package.json b/package.json index f84c6b0..76f71a1 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,9 @@ "private": true, "scripts": { "start:watch": "nodemon ./bin/www --ignore public/", - "start": "node ./bin/www" + "start": "node ./bin/www", + "lint": "eslint ./app.js routes", + "format": "eslint --fix . --ignore public node_modules" }, "dependencies": { "body-parser": "~1.15.2", @@ -16,6 +18,10 @@ "serve-favicon": "~2.3.0" }, "devDependencies": { - "nodemon": "^1.12.1" + "nodemon": "^1.12.1", + "eslint": "^3.16.0", + "eslint-config-standard": "^6.2.1", + "eslint-plugin-promise": "^3.4.2", + "eslint-plugin-standard": "^2.0.1" } } diff --git a/routes/about.js b/routes/about.js new file mode 100644 index 0000000..d99d036 --- /dev/null +++ b/routes/about.js @@ -0,0 +1,9 @@ +const express = require('express') +const router = express.Router() + +/* GET home page. */ +router.get('/', function (req, res, next) { + res.render('about', { title: 'About' }) +}) + +module.exports = router diff --git a/routes/courses.js b/routes/courses.js index b260bf7..38f5bf5 100644 --- a/routes/courses.js +++ b/routes/courses.js @@ -1,14 +1,14 @@ -var express = require('express'); -var router = express.Router(); +const express = require('express') +const router = express.Router() /* GET courses listing. */ -router.get('/', function(req, res, next) { - res.render('courses', { title: 'Courses' }); -}); +router.get('/', function (req, res, next) { + res.render('courses', { title: 'Courses' }) +}) /* GET courses listing. */ -router.get('/:slug', function(req, res, next) { - res.render('courses', { title: `Course with slug ${req.params.slug}` }); -}); +router.get('/:slug', function (req, res, next) { + res.render('courses', { title: `Course with slug ${req.params.slug}` }) +}) -module.exports = router; +module.exports = router diff --git a/routes/index.js b/routes/index.js index ecca96a..999d04b 100644 --- a/routes/index.js +++ b/routes/index.js @@ -1,9 +1,9 @@ -var express = require('express'); -var router = express.Router(); +const express = require('express') +const router = express.Router() /* GET home page. */ -router.get('/', function(req, res, next) { - res.render('index', { title: 'Express' }); -}); +router.get('/', function (req, res, next) { + res.render('index', { title: 'Express' }) +}) -module.exports = router; +module.exports = router diff --git a/routes/lessons.js b/routes/lessons.js new file mode 100644 index 0000000..74bdf0d --- /dev/null +++ b/routes/lessons.js @@ -0,0 +1,14 @@ +const express = require('express') +const router = express.Router() + +/* GET lessons listing. */ +router.get('/', function (req, res, next) { + res.render('lessons', { title: 'Lessons' }) +}) + +/* GET lessons listing. */ +router.get('/:slug', function (req, res, next) { + res.render('lessons', { title: `Lesson with slug ${req.params.slug}` }) +}) + +module.exports = router diff --git a/routes/settings.js b/routes/settings.js new file mode 100644 index 0000000..40fd713 --- /dev/null +++ b/routes/settings.js @@ -0,0 +1,9 @@ +const express = require('express') +const router = express.Router() + +/* GET seeting page. */ +router.get('/', function (req, res, next) { + res.render('settings', { title: 'Settings' }) +}) + +module.exports = router