1
resposta

O typescript-plugin-css-modules oferece tipagem para os estilos?

Conceitualmente isso está correto? Estava entendendo que o import com o uso do typescript-plugin-css-modules sempre nos retorna um tipo Object contendo em sua estrutura as estilizações criadas no arquivo .module.scss ou .module.css importado o que é diferente de oferecer tipagem para os estilos.

1 resposta

Oi Marcos, tudo bem?

Desculpe a demora em retornar.

Em resposta à sua pergunta sobre o typescript-plugin-css-modules, posso dizer que ele realmente oferece tipagem para os estilos, o que pode ser muito útil para projetos grandes e complexos que exigem maior clareza e organização do código.

O typescript-plugin-css-modules é uma extensão do TypeScript que fornece suporte para o CSS Modules, permitindo que os estilos sejam importados e usados em arquivos TypeScript com tipagem estática. Quando você importa um arquivo .module.scss ou .module.css usando o typescript-plugin-css-modules, as classes de estilo são tipadas automaticamente, o que ajuda a evitar erros de digitação ou de uso incorreto das classes.

Para entender melhor como isso funciona, vamos dar uma olhada em um exemplo. Suponha que você tenha um arquivo styles.module.scss com o seguinte conteúdo:

.button {
  background-color: blue;
  color: white;
}

Ao importar esse arquivo em um arquivo TypeScript usando o typescript-plugin-css-modules, você pode usar a sintaxe do TypeScript para acessar as classes de estilo:

import * as styles from './styles.module.scss';

const button = document.createElement('button');
button.classList.add(styles.button);

Observe que estamos usando a variável styles para acessar a classe de estilo button definida no arquivo styles.module.scss. Como essa variável é tipada pelo typescript-plugin-css-modules, o TypeScript sabe que a classe de estilo existe e que ela deve ser uma string.

Isso significa que se tentarmos usar uma classe de estilo que não existe, o TypeScript nos alertará sobre o erro de digitação:

import * as styles from './styles.module.scss';

const button = document.createElement('button');
button.classList.add(styles.buttton); // Erro de digitação: deve ser 'button' em vez de 'buttton'

Além disso, se tentarmos usar uma classe de estilo em um elemento HTML que não é compatível com essa classe, o TypeScript nos alertará sobre o erro de uso incorreto:

import * as styles from './styles.module.scss';

const div = document.createElement('div');
div.classList.add(styles.button); // Erro: a classe 'button' não é compatível com um elemento 'div'

Portanto, podemos concluir que o typescript-plugin-css-modules oferece sim tipagem para os estilos, o que pode ser muito útil para evitar erros de digitação e uso incorreto das classes de estilo em projetos grandes e complexos.

Espero que tenha te ajudado.

Um abraço e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software