As sintaxes sourceMappingURL e sourceURL foram alteradas

Paul Irish
Paul Irish

Se você usar mapas de origem ou sourceURL (ambos abordados neste manual introdutório sobre mapas de origem), poderá aparecer um aviso no console do Chrome como "/*@ sourceMappingURL=" source mapping URL declaration is deprecated, "/*# sourceMappingURL=" declaration should be used instead.

Captura de tela do Sourcemapping Devtools

Confira o que isso significa:

Impetus

//@ sourceMappingURL foi encontrado em conflito com o IE sempre que foi encontrado na página depois que //@cc_on foi interpretado para ativar a compilação condicional no mecanismo JScript do IE. Uma versão legada do HTML5 Shiv é um elemento que causa problemas aqui.

Mudança de especificação

A sintaxe //@ sourceMappingURL é definida na especificação do Sourcemap V3. Ela foi alterada para usar a sintaxe //#.

sourceURL

O //@ sourceURL também é definido na especificação e foi feito para corresponder à sintaxe //# para manter a consistência. Confira detalhes sobre o que sourceURL faz. Ele é usado pela minispade do Ember, pela concatenate.js do Google e por outros. No Chrome, sourceURL oferece suporte a scripts e estilos inline, além de JS avaliado.

Implementação nas ferramentas de desenvolvimento do navegador: pronto!

  • O Safari Inspector agora oferece suporte a //# para sourceMappingURL e sourceURL.
  • A mudança do Firebug foi lançada para sourceURL.
  • O Firefox lançou a mudança para sourceMappingURL. O sourceURL do ingresso está aqui.
  • O Chrome DevTools lançou a mudança para sourceMappingURL e sourceURL. Ele também vai alertar sobre o uso da sintaxe //@ descontinuada.

Enquanto essas mudanças são lançadas, você pode usar as duas sintaxe simultaneamente para ter suporte total à ferramenta ou migrar imediatamente para a sintaxe #, dependendo das suas necessidades.