@strapi/generators
Version:
Interactive API generator.
41 lines (38 loc) • 1.4 kB
JavaScript
import tsUtils from '@strapi/typescript-utils';
import getDestinationPrompts from './prompts/get-destination-prompts.mjs';
import validateInput from './utils/validate-input.mjs';
import getFilePath from './utils/get-file-path.mjs';
var generateMiddleware = ((plop)=>{
// middleware generator
plop.setGenerator('middleware', {
description: 'Generate a middleware for an API',
prompts: [
{
type: 'input',
name: 'name',
message: 'Middleware name',
validate: (input)=>validateInput(input)
},
...getDestinationPrompts('middleware', plop.getDestBasePath(), {
rootFolder: true
})
],
actions (answers) {
if (!answers) {
return [];
}
const filePath = getFilePath(answers.destination);
const currentDir = process.cwd();
const language = tsUtils.isUsingTypeScriptSync(currentDir) ? 'ts' : 'js';
return [
{
type: 'add',
path: `${filePath}/middlewares/{{ name }}.${language}`,
templateFile: `templates/${language}/middleware.${language}.hbs`
}
];
}
});
});
export { generateMiddleware as default };
//# sourceMappingURL=middleware.mjs.map