39 lines
809 B
JavaScript
39 lines
809 B
JavaScript
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`),
|
|
''
|
|
); |