Артем Леванов
first commit
41a71fd
const entity = (plop) => {
plop.setGenerator('entity', {
description: 'Создает слайс в сущности',
prompts: [
{
type: 'input',
name: 'sliceName',
message: 'Название слайса?',
},
],
actions: (data) => {
data.layerName = 'entity';
return [
{
type: 'add',
path: '../src/entities/{{sliceName}}/ui/{{sliceName}}Card/{{sliceName}}Card.tsx',
templateFile: './templates/layers/entities/cardUi/cardUi.hbs',
},
{
type: 'add',
path: '../src/entities/{{sliceName}}/ui/{{sliceName}}Card/{{sliceName}}Card.module.scss',
templateFile: './templates/layers/entities/cardUi/cardUi.style.hbs',
},
{
type: 'add',
path: '../src/entities/{{sliceName}}/ui/{{sliceName}}Card/{{sliceName}}Card.stories.tsx',
templateFile: './templates/layers/entities/cardUi/cardUi.stories.hbs',
},
{
type: 'add',
path: '../src/entities/{{sliceName}}/model/store/use{{sliceName}}Store.ts',
templateFile: './templates/layers/entities/store/store.hbs',
},
{
type: 'add',
path: '../src/entities/{{sliceName}}/model/types/{{lowerCase sliceName}}Schema.ts',
templateFile: './templates/layers/entities/types/sliceSchema.hbs',
},
{
type: 'add',
path: '../src/entities/{{sliceName}}/model/types/{{lowerCase sliceName}}.ts',
templateFile: './templates/layers/entities/types/slice.hbs',
},
{
type: 'add',
path: '../src/entities/{{sliceName}}/api/fetch{{sliceName}}s.ts',
templateFile: './templates/api/fetchApi.hbs',
},
{
type: 'add',
path: '../src/entities/{{sliceName}}/lib/query/useFetch{{sliceName}}s.tsx',
templateFile: './templates/query/fetchQuery.hbs',
},
{
type: 'add',
path: '../src/entities/{{sliceName}}/api/fetch{{sliceName}}ById.ts',
templateFile: './templates/api/fetchByIdApi.hbs',
},
{
type: 'add',
path: '../src/entities/{{sliceName}}/lib/query/useFetch{{sliceName}}ById.tsx',
templateFile: './templates/query/fetchByIdQuery.hbs',
},
{
type: 'add',
path: '../src/entities/{{sliceName}}/index.ts',
templateFile: './templates/layers/entities/rootIndex.hbs',
},
];
},
});
};
module.exports = entity;