Requisitos para stacks web
Uma stack é composta por muito mais do que um framework de componetização como react, temos frameworks para testes, rotas, e muitos outros.
Este documento visa listar alguns requisitos que levantamos antes de inciar a montagem de uma stack web. Os pontos listados são tidos como necessários para a maioria dos projetos de grande/médio porte. Mas vale destacar que esta lista é um guia e não uma regra.
- Hot reload
- Automated tests (unit, component, integration) com mock de estado global e requisições
- jest, moca
- Builds to most browsers
- polyfills, autoprefixer, babel
- Source map and optimized (minify)
- Routing solution
- Routes slash or hash based
- Authorization solution / policies
- Option to use SSR (optional)
- Linting p/ Js
- Linting p/ SCSS
- Typescript
- Easy to prepare dev environment
- Lazy loading of dependencies (optional)
- Split style from component
- Static files transfer
- Hash the assets for versioning
- Image minifier (optional)
- Sitemap for search engines
- Handle with websocket (optional)
- Politica de componentização e organização de pastas
- imagens, fontes, icones, componentes, páginas, html, css, ...
- Guia de padrões de código, como css, js, ...
- Talvez usar CSS module, para melhorar legibilidade e isolar escopo
- https://css-tricks.com/css-modules-part-1-need/
- Documentação de componentes, módulos e classes
- jsDoc, storybook, typescript