Sentry-javascript: Convertir a módulos ES

Creado en 14 nov. 2017  ·  3Comentarios  ·  Fuente: getsentry/sentry-javascript

¿Quieres solicitar una función o informar de un error ?

Característica

¿Cuál es el comportamiento actual?

La biblioteca se expone como un módulo CommonJS.

¿Cuál es el comportamiento esperado?

La biblioteca se expone como módulo ES6.

¿Por qué quiero este comportamiento?

Solo quiero enviar la biblioteca raven-js en los primeros días después de lanzar una nueva función. Después de eso, quiero deshacerme de la biblioteca raven-js de 20KB para mejorar el rendimiento de mi aplicación.

Para eliminar la biblioteca raven-js de 20KB, quiero usar la función "es6-tree-shaking / uglify-js-dead-code-remove" del paquete web.

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

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

Esto solo es posible cuando se utilizan módulos ES6.

¿Tiene planes de convertir a módulos es? ¿Aceptarías un PR?

¡Gracias por tus comentarios!

Help Wanted Improvement

Comentario más útil

Definitivamente es algo que quiero hacer pronto.
Sin embargo, lo más probable es que migremos a webpack / rollup y nos aseguremos de que el paquete que proporcionamos aún no supere nuestro presupuesto de 10 kb.
Sin embargo, no puedo decir cuándo se enviará, ya que también estoy trabajando en otras cosas en este momento.

Todos 3 comentarios

Podría agregar una mejora a la solución propuesta:

Si el código fuente usa importaciones y exportaciones de es6, es posible usar la tecla module en package.json para hacer referencia al punto de entrada principal es6 del paquete { "module": "src/raven.js" } . Ver: https://github.com/rollup/rollup/wiki/pkg.module

De esa manera, la clave main aún puede hacer referencia a una versión empaquetada y compatible con CommonJS del paquete { "main": "dist/raven.js" } pero las personas que usan herramientas como webpack o rollup pueden importarlas de la forma habitual import Raven from 'raven-js' que se resuelve automáticamente en la versión ES6 del archivo.

Definitivamente es algo que quiero hacer pronto.
Sin embargo, lo más probable es que migremos a webpack / rollup y nos aseguremos de que el paquete que proporcionamos aún no supere nuestro presupuesto de 10 kb.
Sin embargo, no puedo decir cuándo se enviará, ya que también estoy trabajando en otras cosas en este momento.

@kamilogorek Siempre quise hacer una configuración de compilación con rollup.js. Así que me tomé un tiempo y cambié la compilación de Browserify a Rollup con Babel: # 1152

Este es el primer paso necesario para convertir la fuente en módulos ES.

Sería genial si pudieras revisar este PR. : octocat:

¿Fue útil esta página
0 / 5 - 0 calificaciones