Sentry-javascript: ESモジュールに変換する

作成日 2017年11月14日  ·  3コメント  ·  ソース: getsentry/sentry-javascript

機能をリクエストしバグを報告しますか?

特徴

現在の動作は何ですか?

ライブラリはCommonJSモジュールとして公開されています。

期待される動作は何ですか?

ライブラリはES6モジュールとして公開されています。

なぜこの動作が必要なのですか?

新機能をリリースしてから最初の数日でraven-jsライブラリを出荷したいだけです。 その後、アプリのパフォーマンスを向上させるために、20KBのraven-jsライブラリを削除したいと思います。

20KBのraven-jsライブラリを削除するために、webpackの「es6-tree-shaking / uglify-js-dead-code-removal」機能を使用したいと思います。

import { Raven, RavenVue } from './es6/raven';

if (FLAGS.SENTRY_ENABLE) {
    Raven.config(CONFIG.SENTRY_DSN).addPlugin(RavenVue, Vue).install();
}

これは、ES6モジュールを使用している場合にのみ可能です。

esモジュールに変換する予定はありますか? PRを受け入れますか?

フィードバックありがとうございます!

Help Wanted Improvement

最も参考になるコメント

それは間違いなく私がすぐにやりたいことです。
ただし、ほとんどの場合、webpack / rollupに移行し、提供するバンドルが10kbの予算を超えないようにする必要があります。
現在取り組んでいることが他にもあるので、いつ出荷されるかはわかりません。

全てのコメント3件

提案されたソリューションに1つの改善を加えるかもしれません:

ソースコードはES6インポートおよびエクスポートを使用している場合には使用することが可能であるmoduleでキーをpackage.jsonパッケージのES6メイン・エントリ・ポイント参照する{ "module": "src/raven.js" } 。 参照: https

そうすれば、 mainキーはバンドルされたCommonJS互換バージョンのパッケージ{ "main": "dist/raven.js" }できますが、webpackやrollupなどのツールを使用している人は通常の方法でそれらをインポートできますimport Raven from 'raven-js'は、ファイルのES6バージョンに自動的に解決されます。

それは間違いなく私がすぐにやりたいことです。
ただし、ほとんどの場合、webpack / rollupに移行し、提供するバンドルが10kbの予算を超えないようにする必要があります。
現在取り組んでいることが他にもあるので、いつ出荷されるかはわかりません。

@kamilogorek私はいつも

これは、ソースをESモジュールに変換するために必要な最初のステップです。

このPRをレビューしていただければ幸いです。 :octocat:

このページは役に立ちましたか?
0 / 5 - 0 評価