Skip to content

Commit 80cc8f5

Browse files
committed
Sets up babel
- Adds babel setup - Moves app.js to server folder - Moves bin folder to server folder
1 parent e2c5257 commit 80cc8f5

30 files changed

+193
-163
lines changed

.babelrc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"presets": [
3+
["@babel/preset-env", {
4+
"useBuiltIns": "usage",
5+
"corejs": 3,
6+
}]
7+
],
8+
"plugins": ["@babel/plugin-transform-runtime"]
9+
}

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ package-lock.json
44
.env
55
.nyc_output
66
coverage
7-
.DS_Store
7+
.DS_Store
8+
build

package.json

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@
22
"name": "postgres-express-node",
33
"version": "1.0.0",
44
"description": "Setting up a todo list backend",
5-
"main": "index.js",
5+
"main": "build/bin/www",
66
"scripts": {
7-
"start": "node ./bin/www",
8-
"start:dev": "nodemon ./bin/www",
9-
"test": "NODE_ENV=test npm run reset:db && NODE_ENV=test nyc mocha --timeout 5000 server/tests/**/*.spec.js",
7+
"start": "node build/bin/www",
8+
"start:dev": "nodemon --exec babel-node -- server/bin/www",
9+
"build": "rm -rf build && babel server -d build --copy-files",
10+
"test": "NODE_ENV=test npm run reset:db && NODE_ENV=test nyc mocha --require @babel/register --timeout 5000 server/tests/**/*.spec.js",
1011
"migrate": "sequelize db:migrate",
1112
"reset:db": "sequelize db:migrate:undo:all && npm run migrate",
1213
"coveralls-coverage": "nyc report --reporter=text-lcov | coveralls",
@@ -23,6 +24,7 @@
2324
"**/*.spec.js",
2425
"coverage",
2526
"dist",
27+
"build",
2628
"server/tests",
2729
"server/migrations",
2830
".eslintrc.js"
@@ -37,9 +39,11 @@
3739
"author": "Ryan Wire",
3840
"license": "ISC",
3941
"dependencies": {
42+
"@babel/runtime": "^7.5.5",
4043
"bcrypt": "^3.0.6",
4144
"body-parser": "^1.19.0",
4245
"celebrate": "^10.0.1",
46+
"core-js": "^3.2.1",
4347
"cors": "^2.8.5",
4448
"dotenv": "^8.0.0",
4549
"express": "^4.17.1",
@@ -52,6 +56,12 @@
5256
"sequelize": "^5.8.9"
5357
},
5458
"devDependencies": {
59+
"@babel/cli": "^7.5.5",
60+
"@babel/core": "^7.5.5",
61+
"@babel/node": "^7.5.5",
62+
"@babel/plugin-transform-runtime": "^7.5.5",
63+
"@babel/preset-env": "^7.5.5",
64+
"@babel/register": "^7.5.5",
5565
"chai": "^4.2.0",
5666
"chai-http": "^4.3.0",
5767
"coveralls": "^3.0.6",

app.js renamed to server/app.js

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
1-
const express = require('express');
2-
const cors = require('cors');
3-
const logger = require('morgan');
4-
const bodyParser = require('body-parser');
5-
const passport = require('passport');
6-
require('dotenv').config();
7-
const joiErrors = require('./server/middlewares/joiErrors');
1+
import express from 'express';
2+
import cors from 'cors';
3+
import logger from 'morgan';
4+
import bodyParser from 'body-parser';
5+
import passport from 'passport';
6+
import dotenv from 'dotenv';
7+
import joiErrors from './middlewares/joiErrors';
88

99
// Require our routes and passport into the application
10-
const todosRouter = require('./server/routes').todosRouter();
11-
const authRouter = require('./server/routes').authRouter();
12-
const usersRouter = require('./server/routes').usersRouter();
13-
const { passportAuth } = require('./server/config/passport');
10+
import { todosRouter, authRouter, usersRouter } from './routes';
11+
import { passportAuth } from './config/passport';
1412

13+
dotenv.config();
1514
passportAuth(passport);
1615

1716
const apiPrefix = '/api';
@@ -33,9 +32,9 @@ app.use(bodyParser.json());
3332
app.use(bodyParser.urlencoded({ extended: false }));
3433

3534
app.use(apiPrefix, passport.authenticate('jwt', { session: false }));
36-
app.use(apiPrefix, usersRouter);
37-
app.use(apiPrefix, todosRouter);
38-
app.use(authRouter);
35+
app.use(apiPrefix, usersRouter());
36+
app.use(apiPrefix, todosRouter());
37+
app.use(authRouter());
3938

4039
app.use(joiErrors);
4140

File renamed without changes.

server/controllers/index.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
const todos = require('./todos');
2-
const todoItems = require('./todoitems');
3-
const users = require('./users');
1+
import todos from './todos';
2+
import todoItems from './todoitems';
3+
import users from './users';
44

55
module.exports = {
66
todos,

server/controllers/todoitems.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const { TodoItem } = require('../models');
1+
import { TodoItem } from '../models';
22

33
module.exports = {
44
async createTodoItem(req, res) {

server/controllers/todos.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
const { Todo } = require('../models');
2-
const { TodoItem } = require('../models');
1+
import { Todo, TodoItem } from '../models';
32

43
module.exports = {
54
async createTodo(req, res) {

server/controllers/users.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
const jwt = require('jsonwebtoken');
2-
const { User } = require('../models');
1+
import jwt from 'jsonwebtoken';
2+
import { User } from '../models';
33

44
const secretKey = process.env.SECRET_KEY;
55

server/middlewares/checkOwner.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
const { Todo } = require('../models');
2-
const { TodoItem } = require('../models');
1+
import { Todo, TodoItem } from '../models';
32

43
module.exports = {
54
async findTodo(req, res, next) {

0 commit comments

Comments
 (0)