sourceMappingURL と sourceURL の構文を変更しました

ソースマップまたは sourceURL(どちらも Sourcemaps の HTML5 Rocks Primer に記載されています)を使用すると、Chrome コンソールに "/*@ sourceMappingURL=" source mapping URL declaration is deprecated, "/*# sourceMappingURL=" declaration should be used instead. のような警告が表示されることがあります。

Sourcemapping Devtools のスクリーンショット

詳細は次のとおりです。

引く力

//@ sourceMappingURL が、IE の JScript エンジンで条件付きコンパイルを有効にするように //@cc_on が解釈された後にページ内で検出されるたびに、IE と競合することが確認されました。特に問題の一つに 古いバージョンの HTML5 Shiv があります

仕様の変更

//@ sourceMappingURL 構文は Sourcemap V3 仕様で定義されています。代わりに //# 構文を使用するように変更しました。

sourceURL

//@ sourceURL も仕様で定義されており、一貫性を保つために //# 構文に合わせて作成されています。sourceURL の役割の詳細を確認してください。Ember の minispade や Google の concatenate.js などで使用されています。Chrome では、評価済みの JS に加えて、インライン スクリプトとインライン スタイルでも sourceURL がサポートされています。

Browser DevTools での実装は完了です。

  • Safari Inspector が sourceMappingURL と sourceURL に対して //# をサポートするようになりました
  • Firebug の変更が sourceURL に追加されました
  • Firefox では、sourceMappingURL の変更がリリースされました。sourceURL のチケットはこちら
  • ChromeDevTools で sourceMappingURL と sourceURL の変更が提供されました。また、非推奨の //@ 構文の使用についても警告されます。

これらの変更は安定版リリースに反映されますが、ニーズに応じて、ツールを完全にサポートするために両方の構文を同時に使用することも、すぐに # 構文に移行することもできます。