mirror of
https://github.com/filiprojek/nork.git
synced 2025-02-20 01:22:58 +01:00
rewriting to oop and typescript
This commit is contained in:
76
src/make.ts
Normal file
76
src/make.ts
Normal file
@@ -0,0 +1,76 @@
|
||||
import path from 'path'
|
||||
import fs from 'fs-extra'
|
||||
import global from './global'
|
||||
import { Norkcfg } from './interfaces/GlobalInterface'
|
||||
|
||||
export default class Make {
|
||||
static component(component: string) {
|
||||
// const norkcfg = require(path.join(process.cwd(), 'norkconfig.json'))
|
||||
const norkcfg: Norkcfg = fs.readJsonSync(path.join(process.cwd(), 'norkconfig.json'))
|
||||
|
||||
const tsComponents = ['controller', 'middleware', 'route', 'service']
|
||||
|
||||
if (tsComponents.includes(component)) {
|
||||
const src = path.join(__dirname, './make-files/express-' + norkcfg.lang + '/' + component + '.' + norkcfg.lang)
|
||||
const dest = path.join(process.cwd(), './src/' + component + 's' + '/' + process.argv[4] + '.' + norkcfg.lang)
|
||||
|
||||
try {
|
||||
fs.copySync(src, dest, { overwrite: false, errorOnExist: true })
|
||||
} catch (err: any) {
|
||||
return global.logError(err.message)
|
||||
}
|
||||
return global.logSuccess()
|
||||
}
|
||||
|
||||
if (component == 'model') {
|
||||
const src = path.join(__dirname, './make-files/express-' + norkcfg.lang + '/' + component + '.' + norkcfg.lang)
|
||||
const dest = path.join(process.cwd(), './src/' + component + 's' + '/' + process.argv[4] + '.' + norkcfg.lang)
|
||||
try {
|
||||
fs.copySync(src, dest, { overwrite: false, errorOnExist: true })
|
||||
} catch (err: any) {
|
||||
return global.logError(err.message)
|
||||
}
|
||||
return global.logSuccess()
|
||||
}
|
||||
|
||||
if (component == 'view') {
|
||||
const src = path.join(__dirname, './make-files/express-' + norkcfg.lang + '/' + component + '.ejs')
|
||||
const dest = path.join(process.cwd(), './src/' + component + 's' + '/' + process.argv[4] + '.ejs')
|
||||
|
||||
try {
|
||||
fs.copySync(src, dest, { overwrite: false, errorOnExist: true })
|
||||
} catch (err: any) {
|
||||
return global.logError(err.message)
|
||||
}
|
||||
return global.logSuccess()
|
||||
}
|
||||
|
||||
if (component == 'test') {
|
||||
const src = path.join(__dirname, './make-files/express-' + norkcfg.lang + '/' + component + '.js')
|
||||
const dest = path.join(process.cwd(), './src/' + component + 's' + '/' + process.argv[4] + '.test.js')
|
||||
|
||||
try {
|
||||
fs.copySync(src, dest, { overwrite: false, errorOnExist: true })
|
||||
} catch (err: any) {
|
||||
return global.logError(err.message)
|
||||
}
|
||||
return global.logSuccess()
|
||||
}
|
||||
if (component == 'interface') {
|
||||
if (norkcfg.lang != 'ts') {
|
||||
return global.logError('error - this is typescript only component')
|
||||
}
|
||||
const src = path.join(__dirname, './make-files/express-' + norkcfg.lang + '/' + component + '.ts')
|
||||
const dest = path.join(process.cwd(), './src/' + component + 's' + '/' + process.argv[4] + '.ts')
|
||||
|
||||
try {
|
||||
fs.copySync(src, dest, { overwrite: false, errorOnExist: true })
|
||||
} catch (err: any) {
|
||||
return global.logError(err.message)
|
||||
}
|
||||
return global.logSuccess()
|
||||
}
|
||||
|
||||
return global.logError(`error - unknown component ${component}`)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user