Incluir archivos TypeScript en el despliegue de git de Azure
Estoy tratando de incluir archivos TypeScript en mi despliegue automático de git para poder mostrar el código de un framework que estoy construyendo. Sin embargo, cada vez que despliego en azurewebsites los despliegues no incluyen los archivos TypeScript.
Sitio en cuestión: http://endgate-samples.azurewebsites.net/Samples/AnimatedSprites/
Lo que he intentado:
Copia todos los archivos de TypeScript a la carpeta de salida configurando las propiedades de TypeScript en "Copiar siempre". El problema con esto es que necesito cambiar las referencias a todos los archivos (no quiero hacer esto).
Pipeline de MSBuild. Esto funciona para la implementación en el sistema de archivos pero no para la implementación web... https://github.com/NTaylorMullen/EndGate/blob/master/EndGate/samples/EndGate.Core.JS.Samples/EndGate.Core.JS.Samples.csproj#L896-L909.
Publicación manual en el endpoint FTP (funciona de maravilla), pero no automática. También requiere la canalización msbuild (#2)
¿Qué estoy haciendo mal o qué puedo hacer (que no haya intentado) para que mis archivos TypeScript se desplieguen automáticamente?
Respuesta #1
Así que después de mucho trabajo resulta que con la pieza de la canalización msbuild (#2) en realidad se desplegarán los archivos de TypeScript. Una cosa que me faltaba era agregar el tipo MIME apropiado para manejar archivos de TypeScript.
Resulta que, por defecto, IIS no sirve correctamente los archivos TypeScript.
Para agregar el tipo de mime personalizado hice:
<system.webServer>
<staticContent>
<remove fileExtension=".ts"/>
<mimeMap fileExtension=".ts" mimeType="text/plain" />
</staticContent>
</system.webServer>
Es importante que eliminemos el tipo de MIME .ts existente (si es que hay uno) antes de agregar el tipo de MIME. Si realizas la implementación en una máquina que ya tiene el tipo de MIME .ts y no lo eliminas antes de agregarlo, prácticamente destruirá tus mapeos existentes y no podrá servir ningún archivo css, js, etc.
Esto ha sido una batalla, pero finalmente lo logré, ¡espero que esto ayude a alguien más en el futuro!
