UNPKG

smart-ast-analyzer

Version:

Advanced AST-based project analysis tool with deep complexity analysis, security scanning, and optional AI enhancement

60 lines (54 loc) 2.04 kB
class PromptTemplates { static getAPITemplate(framework) { const frameworkSpecific = { nextjs: { patterns: ['API routes in pages/api/', 'Route handlers in app/api/', 'Server actions'], examples: 'pages/api/users.js, app/api/auth/route.ts' }, express: { patterns: ['Router middleware', 'Route handlers', 'Controller methods'], examples: 'app.get("/users", handler), router.use("/api", middleware)' }, django: { patterns: ['Django views', 'URL patterns', 'ViewSets'], examples: 'def user_view(request), path("users/", view)' }, fastapi: { patterns: ['FastAPI routes', 'Path operations', 'Dependencies'], examples: '@app.get("/users"), async def get_users()' } }; return frameworkSpecific[framework] || frameworkSpecific.express; } static getComponentTemplate(framework) { const frameworkSpecific = { react: { patterns: ['Functional components', 'Class components', 'Hooks', 'Context'], stateManagement: ['useState', 'useReducer', 'Context API', 'Redux', 'Zustand'] }, vue: { patterns: ['Single File Components', 'Composition API', 'Options API', 'Composables'], stateManagement: ['reactive', 'ref', 'Vuex', 'Pinia'] }, angular: { patterns: ['Components', 'Services', 'Directives', 'Pipes'], stateManagement: ['RxJS', 'NgRx', 'Services'] } }; return frameworkSpecific[framework] || frameworkSpecific.react; } static getWebSocketTemplate(library) { const librarySpecific = { 'socket.io': { patterns: ['socket.emit', 'socket.on', 'io.to(room)', 'socket.join'], events: ['connection', 'disconnect', 'custom events'] }, 'ws': { patterns: ['WebSocket constructor', 'ws.send', 'ws.on'], events: ['open', 'message', 'close', 'error'] } }; return librarySpecific[library] || librarySpecific['socket.io']; } } module.exports = PromptTemplates;