Tecnologias
Plasma contém uma série de tecnologias que foram acopladas para melhorar o desenvolvimento, a seguir falaremos sobre elas.
Vue 3
Framework base principal para desenvolvimento de aplicações frontend dentro do Plasma.
Aqui você pode aprender sobre Vue 3.
Nuxt 3
Nuxt 3 é um framework para trabalhar com Vue 3, ele facilita o desenvolvimento deixando pré-configurado uma série de coisas, como rotas, estados, componentes, dentre muitas outras features. Nuxt foi escolhido como ferramenta base de desenvolvimento para o Plasma para que todas as aplicações sejam feitas na mesma base, facilitando a abstração de todas essas configurações que normalmente usando somente Vue 3 levaria mais tempo e atenção para deixar tudo funcionando.
Aqui você pode aprender sobre Nuxt 3.
Apollo Client
Dentro do Plasma é possível trabalhar com GraphQL e para isso fizemos a integração com o Apollo Cliente. Essa ferramenta em conjunto com @vue/apollo-composable e @graphql-codegen/cli nos proporciona uma série de composables que são gerados a partir de uma API GraphQL. Dessa forma não é necessário criar os types de mutations, queries e schemas, pois o codegen se encaregará de ler a API e gerar todos os types, em seguida usando o apollo-composable irá gerar todos os composables necessários para fazer as requisições dentro da aplicação, sem necessidade de uso de bibliotecas para requisições http, como por exemplo um axios.
Para saber mais veja aqui.
Codegen
Codegen é um plugin usado para gerar código a partir de uma stack GraphQL. Em resumo ele irá ler uma API GraphQL e irá gerar todos os types e métodos necessários para acessar esta API, seja schemas, mutation ou queries.
Para saber mais veja aqui.
Pinia
Pinia é um gerenciador de estado criado para usar com Vue. Tradicionalmente usamos o Vuex, que foi o primeiro gerenciador de estado disponibilizado, mas Pinia já conta com todas as novas features do Vue 3, disponibilizando composables e métodos que facilitam o controle de estados na aplicação.
Aqui você pode aprender sobre Pinia.
Commitlint + Commitzen
Commitlint é uma ferramenta de padronização de commits, que será usada para garantir que todos sigam uma mesma forma de fazer seus commits, mas para isso acomplamos o Commitzen, pois somente o commitlint não garante um padrão 100% apresentável. Commitzen apresenta para o desenvovedor uma serie de perguntas para serem respondidas a partir de uma cli seguindo os padrões do commitlint, assim temos um commit limpo e organizado para todos os desenvolvedores.
No Plasma para fazer um commit, assumindo que já tenha indexado os arquivos necessários, basta executar:
yarn commit
Windi CSS
Windi CSS é um framework CSS utilitário de última geração. É um framework feito sob demanda em relação ao Tailwind CSS, porém ais rápido e com 100% de compatibilidade com Tailwind 2.0.
Aqui você pode aprender sobre Windi CSS.
Girassol
Girassol é o Design System da Solfácil, um framework repleto de componentes que atendem a necessidade da empresa para construção de novas aplicações.
Aqui você pode aprender sobre Girassol.
Sentry
Sentry é uma plataforma de monitoramento de erros em aplicações e para isso usamos o plugin oficial para fazer esta rastreabilidade. Plasma já vem com plugin de integração para o Sentry disponibilizando 3 métodos básicos globalmente.
sentrySetContext- Onde pode ser informado o contexto dos erros que serão monitorados.sentrySetUser- Usado para informar o usuário que estava usando a aplicação no momento em que o erro é rastreado.sentrySetTag- Aqui pode ser informada uma TAG específica para identificar o erro.
Ohmyfetch
Ohmyfetch é uma biblíoteca fortemente recomendada pela comunidade Nuxt para a realização de requisições http. Ela disponibiliza todos os tipos possíveis de requisições e com uma simples forma de usar e configurar.
Aqui você pode aprender sobre ohmyfetch.