issue #
DTO 공용화
This commit is contained in:
39
scripts/generate-dto.js
Normal file
39
scripts/generate-dto.js
Normal file
@@ -0,0 +1,39 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const targetProject = process.argv[2];
|
||||
if (!targetProject) {
|
||||
console.error('targetProject required');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const targetApi = process.argv[3];
|
||||
if (!targetApi) {
|
||||
console.error('targetApi required');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const name = process.argv[4];
|
||||
if (!name) {
|
||||
console.error('name required');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const nameKebab = name
|
||||
.replace(/([a-z0-9])([A-Z])/g, '$1-$2')
|
||||
.replace(/([A-Z]+)([A-Z][a-z])/g, '$1-$2')
|
||||
.toLowerCase();
|
||||
|
||||
const baseDir = path.resolve('src', targetProject, 'http/dto', targetApi, name);
|
||||
|
||||
fs.mkdirSync(baseDir, {recursive: true});
|
||||
|
||||
fs.writeFileSync(
|
||||
path.join(baseDir, `${nameKebab}-request.dto.ts`),
|
||||
''
|
||||
);
|
||||
|
||||
fs.writeFileSync(
|
||||
path.join(baseDir, `${nameKebab}-response.dto.ts`),
|
||||
''
|
||||
);
|
||||
Reference in New Issue
Block a user