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;