| 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; | |