Servent-SSR — Extensão VS Code
Gerador de estrutura e artefatos para o padrão arquitetural Servent-SSR.
Instalação Manual (VSIX)
# 1. Instalar dependências e empacotar
npm install
npm install -g @vscode/vsce
vsce package
# 2. Instalar no VS Code
code --install-extension servent-ssr-1.0.0.vsix
Comandos Disponíveis
Acesse via Ctrl+Shift+P (ou Cmd+Shift+P no Mac) ou pelo menu de contexto do Explorer.
| Comando |
Descrição |
Servent-SSR: Inicializar Projeto |
Cria toda a estrutura de pastas e arquivos base |
Servent-SSR: Novo Módulo |
Cria Controller, Service, Repository, Domain, Page e teste unitário |
Servent-SSR: Novo Componente |
Cria index.ejs, style.css e script.js em components/[categoria]/[nome]/ |
Servent-SSR: Nova Page |
Cria src/views/pages/[nome]/index.ejs |
O que é gerado por comando
Inicializar Projeto
project/
├── server.js
├── package.json
├── .env
├── .gitignore
├── public/assets/vendor/bootstrap@5.3.8/
├── public/assets/vendor/jquery@3.7.1/
├── public/assets/vendor/toastr@2.1.4/
├── src/infrastructure/database/
│ ├── Repository.js
│ ├── connection.js
│ ├── initial.sql
│ ├── migrations/
│ ├── repositories/
│ └── seeds/
├── src/modules/
├── src/views/
│ ├── index.ejs
│ ├── pages/
│ └── components/{menus,modals,sidebars}/
└── tests/{unit,integration,e2e}/
Novo Módulo (auth)
src/modules/auth/
├── controllers/AuthController.js
├── controllers/router.js
├── services/AuthService.js
├── repositories/AuthRepository.js
└── domain/Auth.js
src/views/pages/auth/index.ejs
tests/unit/auth/AuthService.test.js
Novo Componente (modals / detalhe)
src/views/components/modals/detalhe/
├── index.ejs — markup com includes de style e script
├── style.css — classes prefixadas .srv-modal-detalhe
└── script.js — IIFE com registro em window.Servent.Modals.Detalhe
Nova Page (dashboard)
src/views/pages/dashboard/index.ejs
Convenções Geradas Automaticamente
- Prefixo CSS: derivado do caminho —
components/modals/detalhe/ → .srv-modal-detalhe
- Namespace JS: derivado do caminho —
components/modals/detalhe/ → window.Servent.Modals.Detalhe
- Nomes de arquivo: PascalCase para classes JS, kebab-case para pastas e rotas