Como @takeshin disse, .d significa arquivo de declaração para texto datilografado (.ts).
Poucos pontos a serem esclarecidos antes de continuar a responder a esta postagem -
- O texto datilografado é um superconjunto sintático de javascript.
- O texto datilografado não roda por si só, ele precisa ser transpilado para javascript ( conversão de texto datilografado em javascript )
- "Definição de tipo" e "Verificação de tipo" são as principais funcionalidades adicionais que o texto datilografado fornece sobre javascript. ( verifique a diferença entre o script de tipo e o javascript )
Se você está pensando se o texto datilografado é apenas um superconjunto sintático, que benefícios ele oferece - https://basarat.gitbooks.io/typescript/docs/why-typescript.html#the-typescript-type-system
Para responder a este post -
Como discutimos, o texto datilografado é um superconjunto de javascript e precisa ser transpilado para javascript. Portanto, se uma biblioteca ou código de terceiros for escrito em texto datilografado, ele será convertido para javascript, que pode ser usado pelo projeto javascript, mas vice-versa não é verdadeiro.
Por ex -
Se você instalar a biblioteca javascript -
npm install --save mylib
e tente importá-lo no código datilografado -
import * from "mylib";
você receberá um erro.
"Não foi possível encontrar o módulo 'mylib'."
Conforme mencionado pelo @Chris, muitas bibliotecas como o sublinhado, o Jquery já estão escritos em javascript. Em vez de reescrever essas bibliotecas para projetos datilografados, era necessária uma solução alternativa.
Para fazer isso, você pode fornecer um arquivo de declaração de tipo na biblioteca javascript denominada * .d.ts, como no caso acima mylib.d.ts. O arquivo de declaração fornece apenas declarações de tipo de funções e variáveis definidas no respectivo arquivo javascript.
Agora, quando você tenta -
import * from "mylib";
O mylib.d.ts é importado, o que funciona como uma interface entre o código da biblioteca javascript e o projeto datilografado.