BabelでJavaScriptをコンパイルするとデフォルトで"use strict";が付きます。
ソース・コードがstrictに書かれたものなら良いのですが、いろいろ事情があってstrictではない場合もあり、"use strict";を付けたくないこともあります。
以下の方法で"use strict";なしの出力ができました(Babel 7.5で確認)。
sourceTypeオプションを使う
sourceTypeオプションに"script"を指定すると"use strict";が出力されなくなります。このオプションのデフォルトは"module"なので、デフォルトのままだと出力は自動的にstrictモードになります。
{
"sourceType": "script"
}
詳細は以下の公式ドキュメントを参照してください。
公式ドキュメント:Babel>Docs>Usgage>Options#misc-options
CommonJSに変換する場合はstrictModeオプションでも可
トランスフォーム・プラグイン(@babel/plugin-transform-modules-commonjs)を使ってCommonJSに変換する場合は、"strictMode": falseを指定して出力を抑止することもできます。
{
"plugins": [
["@babel/plugin-transform-modules-commonjs", {"strictMode": false}]
]
}
詳細は以下の公式ドキュメントを参照してください。
公式ドキュメント:Babel>Docs>General>Plugins#other ・strict-mode
以上です。