Sentry-javascript: Konversikan ke modul ES

Dibuat pada 14 Nov 2017  ·  3Komentar  ·  Sumber: getsentry/sentry-javascript

Apakah Anda ingin meminta fitur atau melaporkan bug ?

Fitur

Apa perilaku saat ini?

Pustaka diekspos sebagai modul CommonJS.

Apa perilaku yang diharapkan?

Perpustakaan diekspos sebagai modul ES6.

Mengapa saya menginginkan perilaku ini?

Saya hanya ingin mengirimkan perpustakaan raven-js dalam beberapa hari pertama setelah merilis fitur baru. Setelah itu, saya ingin menyingkirkan perpustakaan raven-js 20KB untuk meningkatkan kinerja aplikasi saya.

Untuk menghapus perpustakaan raven-js 20KB, saya ingin menggunakan fitur 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();
}

Ini hanya mungkin bila menggunakan modul ES6.

Adakah rencana untuk mengonversi ke modul es? Apakah Anda akan menerima PR?

Terima kasih atas umpan balik Anda!

Help Wanted Improvement

Komentar yang paling membantu

Itu pasti sesuatu yang ingin saya lakukan segera.
Namun, itu mengharuskan kami untuk kemungkinan besar bermigrasi ke webpack/rollup dan memastikan bahwa bundel yang kami sediakan masih tidak melebihi anggaran 10kb kami.
Saya tidak bisa mengatakan kapan akan dikirim, karena ada beberapa hal lain yang sedang saya kerjakan saat ini juga.

Semua 3 komentar

Saya mungkin menambahkan satu peningkatan ke solusi yang diusulkan:

Jika kode sumber menggunakan es6 impor dan ekspor, dimungkinkan untuk menggunakan kunci module di package.json untuk merujuk titik masuk utama es6 dari paket { "module": "src/raven.js" } . Lihat: https://github.com/rollup/rollup/wiki/pkg.module

Dengan begitu, kunci main masih dapat mereferensikan versi paket yang kompatibel dengan CommonJS { "main": "dist/raven.js" } tetapi orang yang menggunakan alat seperti webpack atau rollup dapat mengimpornya dengan cara biasa import Raven from 'raven-js' yang secara otomatis diselesaikan ke versi file ES6.

Itu pasti sesuatu yang ingin saya lakukan segera.
Namun, itu mengharuskan kami untuk kemungkinan besar bermigrasi ke webpack/rollup dan memastikan bahwa bundel yang kami sediakan masih tidak melebihi anggaran 10kb kami.
Saya tidak bisa mengatakan kapan akan dikirim, karena ada beberapa hal lain yang sedang saya kerjakan saat ini juga.

@kamilogorek Saya selalu ingin melakukan pengaturan build dengan rollup.js. Jadi saya meluangkan waktu dan mengubah build dari Browserify menjadi Rollup dengan Babel: #1152

Ini adalah langkah pertama yang diperlukan untuk mengonversi sumber ke modul ES.

Akan keren jika Anda bisa meninjau PR ini. :gurita:

Apakah halaman ini membantu?
0 / 5 - 0 peringkat