From 6a412ee673061b95760d876a42eca2b28196f2a2 Mon Sep 17 00:00:00 2001 From: Filip Rojek Date: Sun, 15 Aug 2021 18:37:39 +0200 Subject: [PATCH] v1 done --- package.json | 3 - src.old/app.js | 58 ------- src.old/createProject.js | 60 ------- src.old/make-files/express-js/middleware.js | 0 src.old/make-files/express-js/model.js | 0 src.old/make-files/express-js/routes.js | 0 src.old/make-files/express-js/test.js | 0 src.old/make-files/express-js/view.js | 0 src.old/make-files/express-ts/controller.ts | 0 src.old/make-files/express-ts/middleware.ts | 0 src.old/make-files/express-ts/model.ts | 0 src.old/make-files/express-ts/routes.ts | 0 src.old/make-files/express-ts/test.ts | 0 src.old/make-files/express-ts/view.ts | 0 src.old/make.js | 7 - src.old/skeletons/express-ts/.gitignore | 3 - src.old/skeletons/express-ts/README.md | 1 - src.old/skeletons/express-ts/jest.config.js | 5 - src.old/skeletons/express-ts/package.json | 45 ----- src.old/skeletons/express-ts/src/app.ts | 43 ----- .../src/controllers/rootController.ts | 10 -- .../express-ts/src/middlewares/index.ts | 8 - .../src/middlewares/sayHiMiddleware.ts | 11 -- .../express-ts/src/tests/home.test.js | 9 - .../src/tests/modules/reqRes.module.js | 16 -- .../express-ts/src/utils/copyAssets.ts | 6 - .../express-ts/src/utils/environment.ts | 7 - src.old/skeletons/express-ts/tsconfig.json | 71 -------- src/app.js | 154 ++++++++++++++++-- src/make-files/express-js/controller.js | 8 + src/make-files/express-js/middleware.js | 10 ++ src/make-files/express-js/model.js | 17 ++ .../make-files/express-js/route.js | 0 src/make-files/express-js/routes.js | 0 src/make-files/express-js/test.js | 9 + src/make-files/express-js/view.ejs | 15 ++ src/make-files/express-js/view.js | 0 src/make-files/express-ts/route.ts | 8 + .../skeletons/express-js}/.env.example | 0 src/skeletons/express-js/.gitignore | 107 ++++++++++++ .../skeletons/express-js/README.md | 0 src/skeletons/express-js/norkconfig.json | 3 + src/skeletons/express-js/package.json | 24 +++ src/skeletons/express-js/src/app.js | 41 +++++ .../src/controllers/rootController.js | 8 + .../express-js/src/middlewares/index.js | 8 + .../src/middlewares/sayHiMiddleware.js | 10 ++ .../express-js}/src/public/expressjs.png | Bin .../express-js}/src/public/nodejs_logo.svg | 0 .../skeletons/express-js/src/routes/index.js | 2 +- .../express-js/src/routes/rootRoutes.js} | 0 .../express-js/src/tests/home.test.js | 9 + .../src/tests/modules/reqRes.module.js | 16 ++ src/skeletons/express-js/src/utils/REAME.md | 1 + .../skeletons/express-js}/src/views/home.ejs | 0 src/skeletons/express-ts/.gitignore | 106 +++++++++++- src/skeletons/express-ts/norkconfig.json | 3 + src/skeletons/express-ts/package.json | 6 +- src/skeletons/express-ts/src/app.ts | 68 ++++---- .../src/controllers/rootController.ts | 12 +- .../express-ts/src/middlewares/index.ts | 10 +- .../src/middlewares/sayHiMiddleware.ts | 12 +- .../express-ts/src/routes/rootRoutes.ts | 2 +- .../express-ts/src/tests/home.test.js | 14 +- .../src/tests/modules/reqRes.module.js | 24 +-- .../express-ts/src/utils/copyAssets.ts | 8 +- .../express-ts/src/utils/environment.ts | 6 +- 67 files changed, 621 insertions(+), 463 deletions(-) delete mode 100644 src.old/app.js delete mode 100644 src.old/createProject.js delete mode 100644 src.old/make-files/express-js/middleware.js delete mode 100644 src.old/make-files/express-js/model.js delete mode 100644 src.old/make-files/express-js/routes.js delete mode 100644 src.old/make-files/express-js/test.js delete mode 100644 src.old/make-files/express-js/view.js delete mode 100644 src.old/make-files/express-ts/controller.ts delete mode 100644 src.old/make-files/express-ts/middleware.ts delete mode 100644 src.old/make-files/express-ts/model.ts delete mode 100644 src.old/make-files/express-ts/routes.ts delete mode 100644 src.old/make-files/express-ts/test.ts delete mode 100644 src.old/make-files/express-ts/view.ts delete mode 100644 src.old/make.js delete mode 100644 src.old/skeletons/express-ts/.gitignore delete mode 100644 src.old/skeletons/express-ts/README.md delete mode 100644 src.old/skeletons/express-ts/jest.config.js delete mode 100644 src.old/skeletons/express-ts/package.json delete mode 100644 src.old/skeletons/express-ts/src/app.ts delete mode 100644 src.old/skeletons/express-ts/src/controllers/rootController.ts delete mode 100644 src.old/skeletons/express-ts/src/middlewares/index.ts delete mode 100644 src.old/skeletons/express-ts/src/middlewares/sayHiMiddleware.ts delete mode 100644 src.old/skeletons/express-ts/src/tests/home.test.js delete mode 100644 src.old/skeletons/express-ts/src/tests/modules/reqRes.module.js delete mode 100644 src.old/skeletons/express-ts/src/utils/copyAssets.ts delete mode 100644 src.old/skeletons/express-ts/src/utils/environment.ts delete mode 100644 src.old/skeletons/express-ts/tsconfig.json rename src.old/skeletons/express-ts/src/routes/rootRoutes.ts => src/make-files/express-js/route.js (100%) delete mode 100644 src/make-files/express-js/routes.js create mode 100644 src/make-files/express-js/view.ejs delete mode 100644 src/make-files/express-js/view.js create mode 100644 src/make-files/express-ts/route.ts rename {src.old/skeletons/express-ts/src => src/skeletons/express-js}/.env.example (100%) create mode 100644 src/skeletons/express-js/.gitignore rename src.old/make-files/express-js/controller.js => src/skeletons/express-js/README.md (100%) create mode 100644 src/skeletons/express-js/norkconfig.json create mode 100644 src/skeletons/express-js/package.json create mode 100644 src/skeletons/express-js/src/app.js create mode 100644 src/skeletons/express-js/src/controllers/rootController.js create mode 100644 src/skeletons/express-js/src/middlewares/index.js create mode 100644 src/skeletons/express-js/src/middlewares/sayHiMiddleware.js rename {src.old/skeletons/express-ts => src/skeletons/express-js}/src/public/expressjs.png (100%) rename {src.old/skeletons/express-ts => src/skeletons/express-js}/src/public/nodejs_logo.svg (100%) rename src.old/skeletons/express-ts/src/routes/index.ts => src/skeletons/express-js/src/routes/index.js (82%) rename src/{make-files/express-ts/routes.ts => skeletons/express-js/src/routes/rootRoutes.js} (100%) create mode 100644 src/skeletons/express-js/src/tests/home.test.js create mode 100644 src/skeletons/express-js/src/tests/modules/reqRes.module.js create mode 100644 src/skeletons/express-js/src/utils/REAME.md rename {src.old/skeletons/express-ts => src/skeletons/express-js}/src/views/home.ejs (100%) create mode 100644 src/skeletons/express-ts/norkconfig.json diff --git a/package.json b/package.json index 2971d6b..017d7e0 100644 --- a/package.json +++ b/package.json @@ -17,11 +17,8 @@ "license": "MIT", "dependencies": { "colors": "^1.4.0", - "commander": "^8.1.0", "fs-extra": "^10.0.0", "inquirer": "^8.1.2", - "leven": "^4.0.0", - "ncp": "^2.0.0", "pad": "^3.2.0" }, "repository": { diff --git a/src.old/app.js b/src.old/app.js deleted file mode 100644 index bf68113..0000000 --- a/src.old/app.js +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env node - -import program from 'commander' -import leven from 'leven' -//import inquirer from 'inquirer' -import colors from 'colors' -//import pad from 'pad' - -import { createProject } from './createProject.js' -import { make } from './make.js' - -program.usage(' [options]') - -program - .command('create ') - .description('create a new project') - .action(app_name => { - createProject(app_name) - }) - -program - .command('make ') - .description('create components like controller, model ...') - .action(component => { - make(component) - }) - -// output help information on unknown commands -program.on('command:*', ([cmd]) => { - program.outputHelp() - console.log(` ` + colors.red(`Unknown command ${colors.yellow(cmd)}.`)) - console.log() - suggestCommands(cmd) - process.exitCode = 1 -}) -program.commands.forEach(c => c.on('--help', () => console.log())) - -program.parse(process.argv) - -function suggestCommands(unknownCommand) { - const availableCommands = program.commands.map(cmd => cmd._name) - - let suggestion - - availableCommands.forEach(cmd => { - const isBestMatch = - leven(cmd, unknownCommand) < leven(suggestion || '', unknownCommand) - if (leven(cmd, unknownCommand) < 3 && isBestMatch) { - suggestion = cmd - } - }) - - if (suggestion) { - console.log( - ` ` + colors.red(`Did you mean ${colors.yellow(suggestion)}?`), - ) - } -} diff --git a/src.old/createProject.js b/src.old/createProject.js deleted file mode 100644 index 3dbf0b8..0000000 --- a/src.old/createProject.js +++ /dev/null @@ -1,60 +0,0 @@ -//import program from 'commander' -//import leven from 'leven' -import inquirer from 'inquirer' -import colors from 'colors' -import pad from 'pad' - -export function createProject(project_name) -{ - const data = { - project_name: 'new_project', - author: '', - lang: '', - } - - const questions = [ - { - type: 'list', - name: 'lang', - message: 'Choose what you prefer', - choices: [ - { name: 'Typescript', value: 'ts' }, - { name: 'Javascript', value: 'js' }, - ], - }, - { - type: 'input', - name: 'author', - message: 'Enter your name:', - }, - ] - - const langToLanguage = lang => { - switch (lang) { - case 'js': - return 'Javascript' - break - case 'ts': - return 'Typescript' - break - default: - return 'Unknown language' - } - } - - data.project_name = project_name - - inquirer.prompt(questions).then(function (answers) { - data.lang = answers.lang - data.author = answers.author - - console.log(colors.yellow('Project settings')) - console.log(colors.yellow('------------------')) - console.log(pad(colors.gray('Project name: '), 30), data.project_name) - console.log(pad(colors.gray('Author: '), 30), data.author) - console.log( - pad(colors.gray('Language: '), 30), - langToLanguage(data.lang), - ) - }) -} diff --git a/src.old/make-files/express-js/middleware.js b/src.old/make-files/express-js/middleware.js deleted file mode 100644 index e69de29..0000000 diff --git a/src.old/make-files/express-js/model.js b/src.old/make-files/express-js/model.js deleted file mode 100644 index e69de29..0000000 diff --git a/src.old/make-files/express-js/routes.js b/src.old/make-files/express-js/routes.js deleted file mode 100644 index e69de29..0000000 diff --git a/src.old/make-files/express-js/test.js b/src.old/make-files/express-js/test.js deleted file mode 100644 index e69de29..0000000 diff --git a/src.old/make-files/express-js/view.js b/src.old/make-files/express-js/view.js deleted file mode 100644 index e69de29..0000000 diff --git a/src.old/make-files/express-ts/controller.ts b/src.old/make-files/express-ts/controller.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src.old/make-files/express-ts/middleware.ts b/src.old/make-files/express-ts/middleware.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src.old/make-files/express-ts/model.ts b/src.old/make-files/express-ts/model.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src.old/make-files/express-ts/routes.ts b/src.old/make-files/express-ts/routes.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src.old/make-files/express-ts/test.ts b/src.old/make-files/express-ts/test.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src.old/make-files/express-ts/view.ts b/src.old/make-files/express-ts/view.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src.old/make.js b/src.old/make.js deleted file mode 100644 index ed0f37f..0000000 --- a/src.old/make.js +++ /dev/null @@ -1,7 +0,0 @@ -import fs from 'fs' -import colors from 'colors' - -export function make(component) -{ - console.log(component) -} \ No newline at end of file diff --git a/src.old/skeletons/express-ts/.gitignore b/src.old/skeletons/express-ts/.gitignore deleted file mode 100644 index 65d7854..0000000 --- a/src.old/skeletons/express-ts/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules/ -.env -package-lock.json diff --git a/src.old/skeletons/express-ts/README.md b/src.old/skeletons/express-ts/README.md deleted file mode 100644 index 420f4d2..0000000 --- a/src.old/skeletons/express-ts/README.md +++ /dev/null @@ -1 +0,0 @@ -# New Project diff --git a/src.old/skeletons/express-ts/jest.config.js b/src.old/skeletons/express-ts/jest.config.js deleted file mode 100644 index 5839600..0000000 --- a/src.old/skeletons/express-ts/jest.config.js +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import('@ts-jest/dist/types').InitialOptionsTsJest} */ -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', -}; \ No newline at end of file diff --git a/src.old/skeletons/express-ts/package.json b/src.old/skeletons/express-ts/package.json deleted file mode 100644 index a38ab9d..0000000 --- a/src.old/skeletons/express-ts/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "project-name", - "version": "1.0.0", - "description": "", - "main": "app.js", - "scripts": { - "start": "node dist/app.js", - "dev": "nodemon src/app.ts", - "test": "jest", - "clean": "rimraf dist/*", - "copy-assets": "ts-node src/utils/copyAssets", - "tsc": "tsc -p .", - "build": "npm-run-all clean tsc copy-assets" - }, - "keywords": [], - "author": "Filip Rojek", - "license": "ISC", - "dependencies": { - "cors": "^2.8.5", - "dotenv": "^8.2.0", - "ejs": "^3.1.6", - "express": "^4.17.1", - "mongoose": "^5.12.3", - "morgan": "^1.10.0" - }, - "devDependencies": { - "@types/cors": "^2.8.10", - "@types/ejs": "^3.0.6", - "@types/express": "^4.17.11", - "@types/fs-extra": "^9.0.12", - "@types/jest": "^26.0.24", - "@types/mongoose": "^5.10.5", - "@types/morgan": "^1.9.2", - "@types/node": "^14.14.41", - "@types/shelljs": "^0.8.9", - "fs-extra": "^10.0.0", - "jest": "^27.0.6", - "npm-run-all": "^4.1.5", - "rimraf": "^3.0.2", - "shelljs": "^0.8.4", - "ts-jest": "^27.0.4", - "ts-node": "^9.1.1", - "typescript": "^4.2.4" - } -} diff --git a/src.old/skeletons/express-ts/src/app.ts b/src.old/skeletons/express-ts/src/app.ts deleted file mode 100644 index 1700a3c..0000000 --- a/src.old/skeletons/express-ts/src/app.ts +++ /dev/null @@ -1,43 +0,0 @@ -import express from "express"; -import morgan from "morgan"; -import mongoose from "mongoose"; -import path from "path"; -import cors from "cors"; - -const config = require("./utils/environment"); -const routes = require("./routes"); -const middlewares = require("./middlewares"); - -const port: Number = config.APP_PORT; -const app = express(); - -// MongoDB -const dbURI: string = config.DB_URI; -mongoose - .connect(dbURI, { - useNewUrlParser: true, - useUnifiedTopology: true, - useCreateIndex: true, - }) - .then((result) => { - console.log("connected to db"); - app.listen(port, () => { - console.log(`Server is listening on http://localhost:${port}`); - }); - }) - .catch((err) => { - console.log(err); - }); - -// Middlewares -app.use(middlewares); -app.set("view engine", "ejs"); -app.set("views", path.join(__dirname, "views")); -app.use(cors()); -app.use(morgan("dev")); -app.use(express.urlencoded({ extended: true })); -app.use(express.json()); -app.use(express.static(path.join(__dirname, "public"))); - -// Routes -app.use(routes); diff --git a/src.old/skeletons/express-ts/src/controllers/rootController.ts b/src.old/skeletons/express-ts/src/controllers/rootController.ts deleted file mode 100644 index 1d3959f..0000000 --- a/src.old/skeletons/express-ts/src/controllers/rootController.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Request, Response } from "express"; - -const root_get = (req: Request, res: Response) => { - res.render("home"); - return true; -}; - -module.exports = { - root_get, -}; diff --git a/src.old/skeletons/express-ts/src/middlewares/index.ts b/src.old/skeletons/express-ts/src/middlewares/index.ts deleted file mode 100644 index dce2628..0000000 --- a/src.old/skeletons/express-ts/src/middlewares/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Router } from "express"; -const sayHiMiddleware = require("./sayHiMiddleware"); - -const router = Router(); - -router.use(sayHiMiddleware); - -module.exports = router; diff --git a/src.old/skeletons/express-ts/src/middlewares/sayHiMiddleware.ts b/src.old/skeletons/express-ts/src/middlewares/sayHiMiddleware.ts deleted file mode 100644 index c09cf77..0000000 --- a/src.old/skeletons/express-ts/src/middlewares/sayHiMiddleware.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Router, Request, Response, NextFunction } from "express"; - -const router = Router(); - -router.use((req: Request, res: Response, next: NextFunction) => { - console.log("Hi :)"); - - next(); -}); - -module.exports = router; diff --git a/src.old/skeletons/express-ts/src/tests/home.test.js b/src.old/skeletons/express-ts/src/tests/home.test.js deleted file mode 100644 index 0a254e3..0000000 --- a/src.old/skeletons/express-ts/src/tests/home.test.js +++ /dev/null @@ -1,9 +0,0 @@ -const { getReq, getRes } = require("./modules/reqRes.module.js"); -const { root_get } = require("../controllers/rootController.ts"); - -test("Home page render test", () => { - const req = getReq(); - const res = getRes(); - - expect(root_get(req, res)).toBe(true) -}); diff --git a/src.old/skeletons/express-ts/src/tests/modules/reqRes.module.js b/src.old/skeletons/express-ts/src/tests/modules/reqRes.module.js deleted file mode 100644 index 0aae92c..0000000 --- a/src.old/skeletons/express-ts/src/tests/modules/reqRes.module.js +++ /dev/null @@ -1,16 +0,0 @@ -module.exports.getReq = () => { - const req = {}; - req.body = {}; - return req; -}; - -module.exports.getRes = () => { - const res = {}; - res.locals = {}; - res.status = () => res; - res.json = () => res; - res.send = () => res; - res.render = () => res; - - return res; -}; diff --git a/src.old/skeletons/express-ts/src/utils/copyAssets.ts b/src.old/skeletons/express-ts/src/utils/copyAssets.ts deleted file mode 100644 index 23b4709..0000000 --- a/src.old/skeletons/express-ts/src/utils/copyAssets.ts +++ /dev/null @@ -1,6 +0,0 @@ -import * as shell from "shelljs"; - -// Copy all the view templates -shell.cp("-R", "src/views", "dist/"); -shell.cp("-R", "src/public", "dist/"); -shell.cp("-u", "src/.env", "dist/"); diff --git a/src.old/skeletons/express-ts/src/utils/environment.ts b/src.old/skeletons/express-ts/src/utils/environment.ts deleted file mode 100644 index 92616d4..0000000 --- a/src.old/skeletons/express-ts/src/utils/environment.ts +++ /dev/null @@ -1,7 +0,0 @@ -import path from 'path' -require('dotenv').config({ path: path.join(__dirname, '../.env') }) - -module.exports = { - APP_PORT: process.env.APP_PORT, - DB_URI: process.env.DB_URI -} \ No newline at end of file diff --git a/src.old/skeletons/express-ts/tsconfig.json b/src.old/skeletons/express-ts/tsconfig.json deleted file mode 100644 index d052944..0000000 --- a/src.old/skeletons/express-ts/tsconfig.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "compilerOptions": { - /* Visit https://aka.ms/tsconfig.json to read more about this file */ - - /* Basic Options */ - // "incremental": true, /* Enable incremental compilation */ - "target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ - "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ - // "lib": [], /* Specify library files to be included in the compilation. */ - // "allowJs": true, /* Allow javascript files to be compiled. */ - // "checkJs": true, /* Report errors in .js files. */ - // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */ - // "declaration": true, /* Generates corresponding '.d.ts' file. */ - // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ - // "sourceMap": true, /* Generates corresponding '.map' file. */ - // "outFile": "./", /* Concatenate and emit output to single file. */ - "outDir": "./dist", /* Redirect output structure to the directory. */ - "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ - // "composite": true, /* Enable project compilation */ - // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ - // "removeComments": true, /* Do not emit comments to output. */ - // "noEmit": true, /* Do not emit outputs. */ - // "importHelpers": true, /* Import emit helpers from 'tslib'. */ - // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ - // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ - - /* Strict Type-Checking Options */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* Enable strict null checks. */ - // "strictFunctionTypes": true, /* Enable strict checking of function types. */ - // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ - // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ - // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ - // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ - - /* Additional Checks */ - // "noUnusedLocals": true, /* Report errors on unused locals. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ - // "noPropertyAccessFromIndexSignature": true, /* Require undeclared properties from index signatures to use element accesses. */ - - /* Module Resolution Options */ - // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ - // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ - // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ - // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ - // "typeRoots": [], /* List of folders to include type definitions from. */ - // "types": [], /* Type declaration files to be included in compilation. */ - // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ - // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - - /* Source Map Options */ - // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ - // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ - - /* Experimental Options */ - // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ - // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ - - /* Advanced Options */ - "skipLibCheck": true, /* Skip type checking of declaration files. */ - "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ - } -} diff --git a/src/app.js b/src/app.js index fdcd798..a683596 100644 --- a/src/app.js +++ b/src/app.js @@ -4,18 +4,74 @@ const path = require('path') const fs = require('fs-extra') const colors = require('colors') const pad = require('pad') - + const langToLanguage = lang => { - switch (lang) { - case 'js': - return 'Javascript' - break - case 'ts': - return 'Typescript' - break - default: - return 'Unknown language' - } + switch (lang) { + case 'js': + return 'Javascript' + case 'ts': + return 'Typescript' + default: + return 'Unknown language' + } +} + +const logError = errorMsg => { + console.log(colors.bgYellow.red(errorMsg)) + return +} + +const logSuccess = (msg = false) => { + if (!msg) { + msg = 'Success!' + } + console.log(colors.cyan(msg)) + return +} + +const logHelp = (specific = false, command = false) => { + let spc = 40 + + if (specific) { + // log specific help + if (specific == 'make') { + console.log(`Usage: ${specific}:[component]`) + console.log() + console.log(pad(' make:controller', spc), 'create a new controller') + console.log(pad(' make:middleware', spc), 'create a new middleware') + console.log(pad(' make:model', spc), 'create a new model') + console.log(pad(' make:route', spc), 'create a new route') + console.log(pad(' make:test', spc), 'create a new test') + console.log(pad(' make:view', spc), 'create a new view') + return + } + console.log(`Usage: ${specific} [options]`) + return + } + + console.log('Usage: nork [options]') + console.log() + console.log('Options:') + console.log(pad(' -v, --version', spc), 'output the version number') + console.log(pad(' -h, --help', spc), 'output usage information') + console.log() + console.log('Commands:') + console.log(pad(' create [app-name]', spc), 'create a new project') + console.log(pad(' make:controller', spc), 'create a new controller') + console.log(pad(' make:middleware', spc), 'create a new middleware') + console.log(pad(' make:model', spc), 'create a new model') + console.log(pad(' make:route', spc), 'create a new route') + console.log(pad(' make:test', spc), 'create a new test') + console.log(pad(' make:view', spc), 'create a new view') + + console.log() + console.log(' Run', colors.cyan('nork help '), 'for detailed usage of given command.') + + if (command) { + console.log(colors.red('Unknown command'), colors.bold.blue(command)) + } + + return } ;(async () => { @@ -63,7 +119,7 @@ const langToLanguage = lang => { pkgJson.author = data.author fs.writeFile(path.join(process.cwd(), 'package.json'), JSON.stringify(pkgJson, null, 2), err => { - if (err) return console.log(err) + if (err) return logError(err) }) console.log(colors.yellow('Project settings')) @@ -72,15 +128,79 @@ const langToLanguage = lang => { console.log(pad(colors.gray('Author: '), 30), data.author) console.log(pad(colors.gray('Language: '), 30), langToLanguage(data.lang)) - console.log(colors.cyan(`Project ${ data.project_name } created successfully!`)) - return true + return logSuccess(`Project ${data.project_name} created successfully!`) } if (process.argv[2] == 'make') { + if (!process.argv[3] || !process.argv[4]) return logHelp('make') + const component = process.argv[3] + const norkcfg = require(path.join(process.cwd(), 'norkconfig.json')) + + let tsComponents = ['controller', 'middleware', 'route'] + + if (tsComponents.includes(component)) { + let src = path.join(__dirname, './make-files/express-' + norkcfg.lang + '/' + component + '.' + norkcfg.lang) + let dest = path.join(process.cwd(), './src/' + component + 's' + '/' + process.argv[4] + '.' + norkcfg.lang) + + try { + fs.copySync(src, dest, { overwrite: false, errorOnExist: true }) + } catch (err) { + return logError(err.message) + } + return logSuccess() + } + + if (component == 'model') { + let src = path.join(__dirname, './make-files/express-' + norkcfg.lang + '/' + component + '.js') + let dest = path.join(process.cwd(), './src/' + component + 's' + '/' + process.argv[4] + '.js') + + try { + fs.copySync(src, dest, { overwrite: false, errorOnExist: true }) + } catch (err) { + return logError(err.message) + } + return logSuccess() + } + + if (component == 'view') { + let src = path.join(__dirname, './make-files/express-' + norkcfg.lang + '/' + component + '.ejs') + let dest = path.join(process.cwd(), './src/' + component + 's' + '/' + process.argv[4] + '.ejs') + + try { + fs.copySync(src, dest, { overwrite: false, errorOnExist: true }) + } catch (err) { + return logError(err.message) + } + return logSuccess() + } + + if (component == 'test') { + let src = path.join(__dirname, './make-files/express-' + norkcfg.lang + '/' + component + '.js') + let dest = path.join(process.cwd(), './src/' + component + 's' + '/' + process.argv[4] + '.test.js') + + try { + fs.copySync(src, dest, { overwrite: false, errorOnExist: true }) + } catch (err) { + return logError(err.message) + } + return logSuccess() + } } - if (!process.argv[2]) { - // Help - console.log('Help coming soon!') + + if (process.argv[2] == '-v' || process.argv[2] == '--version') { + const pkgJson = require(path.join(__dirname, '../package.json')) + return console.log('nork', pkgJson.version) } + + if (process.argv[2] == 'help' || process.argv[2] == '-h' || process.argv[2] == '--help') { + if (process.argv[3]) { + return logHelp(process.argv[3]) + } + return logHelp() + } + + + process.argv.splice(0, 2) + logHelp(false, process.argv.join(' ')) })() diff --git a/src/make-files/express-js/controller.js b/src/make-files/express-js/controller.js index e69de29..aaef9ae 100644 --- a/src/make-files/express-js/controller.js +++ b/src/make-files/express-js/controller.js @@ -0,0 +1,8 @@ +const root_get = (req, res) => { + res.render('home') + return true +} + +module.exports = { + root_get, +} diff --git a/src/make-files/express-js/middleware.js b/src/make-files/express-js/middleware.js index e69de29..154e3b2 100644 --- a/src/make-files/express-js/middleware.js +++ b/src/make-files/express-js/middleware.js @@ -0,0 +1,10 @@ +const { Router } = require('express') + +const router = Router() + +router.use((req, res, next) => { + console.log('Hi :)') + next() +}) + +module.exports = router diff --git a/src/make-files/express-js/model.js b/src/make-files/express-js/model.js index e69de29..877524f 100644 --- a/src/make-files/express-js/model.js +++ b/src/make-files/express-js/model.js @@ -0,0 +1,17 @@ +const mongoose = require('mongoose') +const Schema = mongoose.Schema + +const modelSchema = new Schema( + { + title: { + type: String, + required: true, + }, + }, + { + timestamps: true, + }, +) + +const ModelName = mongoose.model('ModelName', modelSchema) +module.exports = ModelName diff --git a/src.old/skeletons/express-ts/src/routes/rootRoutes.ts b/src/make-files/express-js/route.js similarity index 100% rename from src.old/skeletons/express-ts/src/routes/rootRoutes.ts rename to src/make-files/express-js/route.js diff --git a/src/make-files/express-js/routes.js b/src/make-files/express-js/routes.js deleted file mode 100644 index e69de29..0000000 diff --git a/src/make-files/express-js/test.js b/src/make-files/express-js/test.js index e69de29..7949993 100644 --- a/src/make-files/express-js/test.js +++ b/src/make-files/express-js/test.js @@ -0,0 +1,9 @@ +const { getReq, getRes } = require('./modules/reqRes.module.js') +const { root_get } = require('../controllers/rootController.ts') + +test('Home page render test', () => { + const req = getReq() + const res = getRes() + + expect(root_get(req, res)).toBe(true) +}) diff --git a/src/make-files/express-js/view.ejs b/src/make-files/express-js/view.ejs new file mode 100644 index 0000000..faf15cc --- /dev/null +++ b/src/make-files/express-js/view.ejs @@ -0,0 +1,15 @@ + + + + + + + New Project + + + + + + + + \ No newline at end of file diff --git a/src/make-files/express-js/view.js b/src/make-files/express-js/view.js deleted file mode 100644 index e69de29..0000000 diff --git a/src/make-files/express-ts/route.ts b/src/make-files/express-ts/route.ts new file mode 100644 index 0000000..e78b69b --- /dev/null +++ b/src/make-files/express-ts/route.ts @@ -0,0 +1,8 @@ +import { Router } from 'express' +const rootController = require('../controllers/rootController') + +const router = Router() + +router.get('/', rootController.root_get) + +module.exports = router diff --git a/src.old/skeletons/express-ts/src/.env.example b/src/skeletons/express-js/.env.example similarity index 100% rename from src.old/skeletons/express-ts/src/.env.example rename to src/skeletons/express-js/.env.example diff --git a/src/skeletons/express-js/.gitignore b/src/skeletons/express-js/.gitignore new file mode 100644 index 0000000..66e0c76 --- /dev/null +++ b/src/skeletons/express-js/.gitignore @@ -0,0 +1,107 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test + +# parcel-bundler cache (https://parceljs.org/) +.cache + +# Next.js build output +.next + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and *not* Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# package lock file +package-lock.json \ No newline at end of file diff --git a/src.old/make-files/express-js/controller.js b/src/skeletons/express-js/README.md similarity index 100% rename from src.old/make-files/express-js/controller.js rename to src/skeletons/express-js/README.md diff --git a/src/skeletons/express-js/norkconfig.json b/src/skeletons/express-js/norkconfig.json new file mode 100644 index 0000000..1713bb4 --- /dev/null +++ b/src/skeletons/express-js/norkconfig.json @@ -0,0 +1,3 @@ +{ + "lang": "js" +} \ No newline at end of file diff --git a/src/skeletons/express-js/package.json b/src/skeletons/express-js/package.json new file mode 100644 index 0000000..b0f19d4 --- /dev/null +++ b/src/skeletons/express-js/package.json @@ -0,0 +1,24 @@ +{ + "name": "project-name", + "version": "1.0.0", + "description": "", + "main": "src/app.js", + "scripts": { + "start": "node src/app.js", + "dev": "nodemon src/app.js", + "test": "jest" + }, + "author": "", + "license": "ISC", + "dependencies": { + "cors": "^2.8.5", + "dotenv": "^8.2.0", + "ejs": "^3.1.6", + "express": "^4.17.1", + "mongoose": "^5.12.3", + "morgan": "^1.10.0" + }, + "devDependencies": { + "jest": "^27.0.6" + } +} diff --git a/src/skeletons/express-js/src/app.js b/src/skeletons/express-js/src/app.js new file mode 100644 index 0000000..488bd3a --- /dev/null +++ b/src/skeletons/express-js/src/app.js @@ -0,0 +1,41 @@ +const express = require('express') +const morgan = require('morgan') +const mongoose = require('mongoose') +const dotenv = require('dotenv').config() +const cors = require('cors') +const path = require('path') + +const routes = require('./routes') +const middlewares = require('./middlewares') + +const port = process.env.APP_PORT || 8080 +const app = express() + +// MongoDB +const dbURI = process.env.DB_URI +mongoose + .connect(dbURI, { useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true }) + .then(result => { + console.log('connected to db') + app.listen(port, () => { + console.log(`server is running on http://localhost:${port}`) + }) + }) + .catch(err => { + console.log(err) + }) + +// View engine +app.set('view engine', 'ejs') + +// Middlewares +app.use(middlewares) +app.set('views', path.join(__dirname, 'views')) +app.use(express.static(path.join(__dirname, 'public'))) +app.use(cors()) +app.use(morgan('dev')) +app.use(express.urlencoded({ extended: true })) +app.use(express.json()) + +// Routes +app.use(routes) diff --git a/src/skeletons/express-js/src/controllers/rootController.js b/src/skeletons/express-js/src/controllers/rootController.js new file mode 100644 index 0000000..aaef9ae --- /dev/null +++ b/src/skeletons/express-js/src/controllers/rootController.js @@ -0,0 +1,8 @@ +const root_get = (req, res) => { + res.render('home') + return true +} + +module.exports = { + root_get, +} diff --git a/src/skeletons/express-js/src/middlewares/index.js b/src/skeletons/express-js/src/middlewares/index.js new file mode 100644 index 0000000..ca227fd --- /dev/null +++ b/src/skeletons/express-js/src/middlewares/index.js @@ -0,0 +1,8 @@ +const { Router } = require('express') +const sayHiMiddleware = require('./sayHiMiddleware') + +const router = Router() + +router.use(sayHiMiddleware) + +module.exports = router diff --git a/src/skeletons/express-js/src/middlewares/sayHiMiddleware.js b/src/skeletons/express-js/src/middlewares/sayHiMiddleware.js new file mode 100644 index 0000000..154e3b2 --- /dev/null +++ b/src/skeletons/express-js/src/middlewares/sayHiMiddleware.js @@ -0,0 +1,10 @@ +const { Router } = require('express') + +const router = Router() + +router.use((req, res, next) => { + console.log('Hi :)') + next() +}) + +module.exports = router diff --git a/src.old/skeletons/express-ts/src/public/expressjs.png b/src/skeletons/express-js/src/public/expressjs.png similarity index 100% rename from src.old/skeletons/express-ts/src/public/expressjs.png rename to src/skeletons/express-js/src/public/expressjs.png diff --git a/src.old/skeletons/express-ts/src/public/nodejs_logo.svg b/src/skeletons/express-js/src/public/nodejs_logo.svg similarity index 100% rename from src.old/skeletons/express-ts/src/public/nodejs_logo.svg rename to src/skeletons/express-js/src/public/nodejs_logo.svg diff --git a/src.old/skeletons/express-ts/src/routes/index.ts b/src/skeletons/express-js/src/routes/index.js similarity index 82% rename from src.old/skeletons/express-ts/src/routes/index.ts rename to src/skeletons/express-js/src/routes/index.js index 93ad010..27fb8d8 100644 --- a/src.old/skeletons/express-ts/src/routes/index.ts +++ b/src/skeletons/express-js/src/routes/index.js @@ -1,4 +1,4 @@ -import { Router } from 'express' +const { Router } = require('express') const rootRoutes = require('./rootRoutes') const router = Router() diff --git a/src/make-files/express-ts/routes.ts b/src/skeletons/express-js/src/routes/rootRoutes.js similarity index 100% rename from src/make-files/express-ts/routes.ts rename to src/skeletons/express-js/src/routes/rootRoutes.js diff --git a/src/skeletons/express-js/src/tests/home.test.js b/src/skeletons/express-js/src/tests/home.test.js new file mode 100644 index 0000000..188e0c3 --- /dev/null +++ b/src/skeletons/express-js/src/tests/home.test.js @@ -0,0 +1,9 @@ +const { getReq, getRes } = require('./modules/reqRes.module.js') +const { root_get } = require('../controllers/rootController.js') + +test('Home page render test', () => { + const req = getReq() + const res = getRes() + + expect(root_get(req, res)).toBe(true) +}) diff --git a/src/skeletons/express-js/src/tests/modules/reqRes.module.js b/src/skeletons/express-js/src/tests/modules/reqRes.module.js new file mode 100644 index 0000000..0341a26 --- /dev/null +++ b/src/skeletons/express-js/src/tests/modules/reqRes.module.js @@ -0,0 +1,16 @@ +module.exports.getReq = () => { + const req = {} + req.body = {} + return req +} + +module.exports.getRes = () => { + const res = {} + res.locals = {} + res.status = () => res + res.json = () => res + res.send = () => res + res.render = () => res + + return res +} diff --git a/src/skeletons/express-js/src/utils/REAME.md b/src/skeletons/express-js/src/utils/REAME.md new file mode 100644 index 0000000..4a554e0 --- /dev/null +++ b/src/skeletons/express-js/src/utils/REAME.md @@ -0,0 +1 @@ +# Folder for utils and other config files \ No newline at end of file diff --git a/src.old/skeletons/express-ts/src/views/home.ejs b/src/skeletons/express-js/src/views/home.ejs similarity index 100% rename from src.old/skeletons/express-ts/src/views/home.ejs rename to src/skeletons/express-js/src/views/home.ejs diff --git a/src/skeletons/express-ts/.gitignore b/src/skeletons/express-ts/.gitignore index 65d7854..66e0c76 100644 --- a/src/skeletons/express-ts/.gitignore +++ b/src/skeletons/express-ts/.gitignore @@ -1,3 +1,107 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file .env -package-lock.json +.env.test + +# parcel-bundler cache (https://parceljs.org/) +.cache + +# Next.js build output +.next + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and *not* Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# package lock file +package-lock.json \ No newline at end of file diff --git a/src/skeletons/express-ts/norkconfig.json b/src/skeletons/express-ts/norkconfig.json new file mode 100644 index 0000000..265d99b --- /dev/null +++ b/src/skeletons/express-ts/norkconfig.json @@ -0,0 +1,3 @@ +{ + "lang": "ts" +} \ No newline at end of file diff --git a/src/skeletons/express-ts/package.json b/src/skeletons/express-ts/package.json index a38ab9d..dd0661b 100644 --- a/src/skeletons/express-ts/package.json +++ b/src/skeletons/express-ts/package.json @@ -13,7 +13,7 @@ "build": "npm-run-all clean tsc copy-assets" }, "keywords": [], - "author": "Filip Rojek", + "author": "", "license": "ISC", "dependencies": { "cors": "^2.8.5", @@ -21,7 +21,8 @@ "ejs": "^3.1.6", "express": "^4.17.1", "mongoose": "^5.12.3", - "morgan": "^1.10.0" + "morgan": "^1.10.0", + "fs-extra": "^10.0.0" }, "devDependencies": { "@types/cors": "^2.8.10", @@ -33,7 +34,6 @@ "@types/morgan": "^1.9.2", "@types/node": "^14.14.41", "@types/shelljs": "^0.8.9", - "fs-extra": "^10.0.0", "jest": "^27.0.6", "npm-run-all": "^4.1.5", "rimraf": "^3.0.2", diff --git a/src/skeletons/express-ts/src/app.ts b/src/skeletons/express-ts/src/app.ts index 1700a3c..2ea4ee0 100644 --- a/src/skeletons/express-ts/src/app.ts +++ b/src/skeletons/express-ts/src/app.ts @@ -1,43 +1,43 @@ -import express from "express"; -import morgan from "morgan"; -import mongoose from "mongoose"; -import path from "path"; -import cors from "cors"; +import express from 'express' +import morgan from 'morgan' +import mongoose from 'mongoose' +import path from 'path' +import cors from 'cors' -const config = require("./utils/environment"); -const routes = require("./routes"); -const middlewares = require("./middlewares"); +const config = require('./utils/environment') +const routes = require('./routes') +const middlewares = require('./middlewares') -const port: Number = config.APP_PORT; -const app = express(); +const port: Number = config.APP_PORT || 8080 +const app = express() // MongoDB -const dbURI: string = config.DB_URI; +const dbURI: string = config.DB_URI mongoose - .connect(dbURI, { - useNewUrlParser: true, - useUnifiedTopology: true, - useCreateIndex: true, - }) - .then((result) => { - console.log("connected to db"); - app.listen(port, () => { - console.log(`Server is listening on http://localhost:${port}`); - }); - }) - .catch((err) => { - console.log(err); - }); + .connect(dbURI, { + useNewUrlParser: true, + useUnifiedTopology: true, + useCreateIndex: true, + }) + .then(result => { + console.log('connected to db') + app.listen(port, () => { + console.log(`Server is listening on http://localhost:${port}`) + }) + }) + .catch(err => { + console.log(err) + }) // Middlewares -app.use(middlewares); -app.set("view engine", "ejs"); -app.set("views", path.join(__dirname, "views")); -app.use(cors()); -app.use(morgan("dev")); -app.use(express.urlencoded({ extended: true })); -app.use(express.json()); -app.use(express.static(path.join(__dirname, "public"))); +app.use(middlewares) +app.set('view engine', 'ejs') +app.set('views', path.join(__dirname, 'views')) +app.use(cors()) +app.use(morgan('dev')) +app.use(express.urlencoded({ extended: true })) +app.use(express.json()) +app.use(express.static(path.join(__dirname, 'public'))) // Routes -app.use(routes); +app.use(routes) diff --git a/src/skeletons/express-ts/src/controllers/rootController.ts b/src/skeletons/express-ts/src/controllers/rootController.ts index 1d3959f..1cfd054 100644 --- a/src/skeletons/express-ts/src/controllers/rootController.ts +++ b/src/skeletons/express-ts/src/controllers/rootController.ts @@ -1,10 +1,10 @@ -import { Request, Response } from "express"; +import { Request, Response } from 'express' const root_get = (req: Request, res: Response) => { - res.render("home"); - return true; -}; + res.render('home') + return true +} module.exports = { - root_get, -}; + root_get, +} diff --git a/src/skeletons/express-ts/src/middlewares/index.ts b/src/skeletons/express-ts/src/middlewares/index.ts index dce2628..640b880 100644 --- a/src/skeletons/express-ts/src/middlewares/index.ts +++ b/src/skeletons/express-ts/src/middlewares/index.ts @@ -1,8 +1,8 @@ -import { Router } from "express"; -const sayHiMiddleware = require("./sayHiMiddleware"); +import { Router } from 'express' +const sayHiMiddleware = require('./sayHiMiddleware') -const router = Router(); +const router = Router() -router.use(sayHiMiddleware); +router.use(sayHiMiddleware) -module.exports = router; +module.exports = router diff --git a/src/skeletons/express-ts/src/middlewares/sayHiMiddleware.ts b/src/skeletons/express-ts/src/middlewares/sayHiMiddleware.ts index c09cf77..f0ba714 100644 --- a/src/skeletons/express-ts/src/middlewares/sayHiMiddleware.ts +++ b/src/skeletons/express-ts/src/middlewares/sayHiMiddleware.ts @@ -1,11 +1,11 @@ -import { Router, Request, Response, NextFunction } from "express"; +import { Router, Request, Response, NextFunction } from 'express' -const router = Router(); +const router = Router() router.use((req: Request, res: Response, next: NextFunction) => { - console.log("Hi :)"); + console.log('Hi :)') - next(); -}); + next() +}) -module.exports = router; +module.exports = router diff --git a/src/skeletons/express-ts/src/routes/rootRoutes.ts b/src/skeletons/express-ts/src/routes/rootRoutes.ts index 9d0925b..e78b69b 100644 --- a/src/skeletons/express-ts/src/routes/rootRoutes.ts +++ b/src/skeletons/express-ts/src/routes/rootRoutes.ts @@ -1,4 +1,4 @@ -const { Router } = require('express') +import { Router } from 'express' const rootController = require('../controllers/rootController') const router = Router() diff --git a/src/skeletons/express-ts/src/tests/home.test.js b/src/skeletons/express-ts/src/tests/home.test.js index 0a254e3..7949993 100644 --- a/src/skeletons/express-ts/src/tests/home.test.js +++ b/src/skeletons/express-ts/src/tests/home.test.js @@ -1,9 +1,9 @@ -const { getReq, getRes } = require("./modules/reqRes.module.js"); -const { root_get } = require("../controllers/rootController.ts"); +const { getReq, getRes } = require('./modules/reqRes.module.js') +const { root_get } = require('../controllers/rootController.ts') -test("Home page render test", () => { - const req = getReq(); - const res = getRes(); +test('Home page render test', () => { + const req = getReq() + const res = getRes() - expect(root_get(req, res)).toBe(true) -}); + expect(root_get(req, res)).toBe(true) +}) diff --git a/src/skeletons/express-ts/src/tests/modules/reqRes.module.js b/src/skeletons/express-ts/src/tests/modules/reqRes.module.js index 0aae92c..0341a26 100644 --- a/src/skeletons/express-ts/src/tests/modules/reqRes.module.js +++ b/src/skeletons/express-ts/src/tests/modules/reqRes.module.js @@ -1,16 +1,16 @@ module.exports.getReq = () => { - const req = {}; - req.body = {}; - return req; -}; + const req = {} + req.body = {} + return req +} module.exports.getRes = () => { - const res = {}; - res.locals = {}; - res.status = () => res; - res.json = () => res; - res.send = () => res; - res.render = () => res; + const res = {} + res.locals = {} + res.status = () => res + res.json = () => res + res.send = () => res + res.render = () => res - return res; -}; + return res +} diff --git a/src/skeletons/express-ts/src/utils/copyAssets.ts b/src/skeletons/express-ts/src/utils/copyAssets.ts index 23b4709..52c7555 100644 --- a/src/skeletons/express-ts/src/utils/copyAssets.ts +++ b/src/skeletons/express-ts/src/utils/copyAssets.ts @@ -1,6 +1,6 @@ -import * as shell from "shelljs"; +import * as shell from 'shelljs' // Copy all the view templates -shell.cp("-R", "src/views", "dist/"); -shell.cp("-R", "src/public", "dist/"); -shell.cp("-u", "src/.env", "dist/"); +shell.cp('-R', 'src/views', 'dist/') +shell.cp('-R', 'src/public', 'dist/') +shell.cp('-u', 'src/.env', 'dist/') diff --git a/src/skeletons/express-ts/src/utils/environment.ts b/src/skeletons/express-ts/src/utils/environment.ts index 92616d4..c53d8cb 100644 --- a/src/skeletons/express-ts/src/utils/environment.ts +++ b/src/skeletons/express-ts/src/utils/environment.ts @@ -2,6 +2,6 @@ import path from 'path' require('dotenv').config({ path: path.join(__dirname, '../.env') }) module.exports = { - APP_PORT: process.env.APP_PORT, - DB_URI: process.env.DB_URI -} \ No newline at end of file + APP_PORT: process.env.APP_PORT, + DB_URI: process.env.DB_URI, +}