CSSWringとCSS MQPackerをPostCSS v3に更新したものをリリースした。どのバージョンを上げるか迷ったが、メジャー・バージョンアップして気持ち悪いのは自分だけなので、ユーザーに混乱を与えないようにメジャー・バージョンを上げることにした。
PostCSSにそのまま渡されるオプションのうちmap
キーのデフォルト値が変わったことが互換性のない変更ということになる。今まで通りソース・マップ・ファイルを外部に吐き、元ソースを含めない場合は以下のように設定してやる必要がある。
var csswring = require('csswring');
var result = csswring.wring(css, {
map: {
inline: false,
sourcesContent: false
},
from: 'from.css',
to: 'to.css'
});
つまりインラインにソース・マップを埋め込むinline
オプションと、元ソースをソース・マップに含めるsourcesContent
オプションがfalse
からtrue
に変更になったので、それぞれを無効にしてやる必要があるということだ。単純にインラインで元ソース付きのソース・マップでも構わないのなら、map
オプションをtrue
にするだけで良い。
var csswring = require('csswring');
var result = csswring.wring(css, {
map: true
});
この場合はインラインで全て解決するので、from
やto
オプションも不要になる。
インラインをデフォルトにした理由はちょっと良くわかっていない。インラインの方がパス解決などの点で都合が良いことが多く、開発現場では使いやすいからなのではないかと想像している。今までのようにmap: true
だと出力するCSSが肥大化する(3倍超)ので、開発とリリースそれぞれのビルドにおいてオプションを変えて生成するように気を付ける必要があるだろう。