Preparándonos para Dart 2, y haciendo que tus paquetes se vean geniales en el sitio de Pub

¡Tenemos un nuevo lanzamiento de Pub, el repositorio de paquetes de Dart! Esta vez nos enfocamos en prepararnos para el lanzamiento estable de Dart 2.

El logo de Dart junto a 'Dart Packages'.

Migrando tus paquetes a Dart 2

#

¡Esperamos que el lanzamiento de Dart 2 pase a estable en el futuro inmediato! Por lo tanto, es fundamental que migres tu código — especialmente cualquier paquete que hayas publicado — para que sea compatible con Dart 2. Hay tres aspectos principales en esto:

  • Asegúrate de que tu código pase el análisis de Dart 2 (detalles). Recomendamos que también prestes atención a las sugerencias — por ejemplo, para prepararte para las deprecaciones.

  • Ejecuta pruebas para asegurarte de que tu código pase las verificaciones de tiempo de ejecución de Dart 2 (detalles).

  • Actualiza el límite superior de la restricción del SDK de tus paquetes a <3.0.0 (detalles).

Recomendamos encarecidamente a todos los autores de paquetes que realicen este trabajo, y nosotros mismos trabajaremos duro en los paquetes que mantenemos durante los próximos días.

Interfaz de análisis mejorada en el sitio de Pub

#

Para ayudar con esta migración, hemos actualizado la pestaña de análisis del sitio de Pub para que los resultados del análisis de código sean más fáciles de leer. Primero, en la parte superior de la página de análisis añadimos barras de progreso que te permiten ver rápidamente el estado del paquete:

Puntuaciones de paquetes del sitio de Pub representadas por barras de progreso.
Puntuaciones de paquetes mostradas en el sitio de Pub

Debajo de las barras de progreso están los resultados detallados del análisis, agrupados por severidad: errores (icono rojo), advertencias (icono amarillo) y problemas sugeridos (icono azul), como se muestra en la siguiente captura de pantalla:

Problemas de análisis del sitio de Pub agrupados por severidad.
Problemas de análisis mostrados en el sitio de Pub

Puntuaciones de análisis actualizadas

#

También hicimos algunos ajustes a la puntuación de análisis. Ahora reducimos la puntuación de un paquete si se cumple cualquiera de las siguientes condiciones:

  • El paquete no pasa el análisis de Dart 2.

  • La restricción superior del SDK no es al menos <3.0.0.

  • La generación de la referencia del API (dartdoc) falla.

Para el próximo lanzamiento del sitio de Pub esperamos trabajar en un mayor refinamiento de las puntuaciones, y añadir documentación sobre cómo se calculan.

Buscando en la superficie del API de un paquete

#

La búsqueda es — no es de sorprender — la función más popular del sitio de Pub. Hemos hecho varias mejoras en esta área durante los últimos trimestres, enfocadas en añadir filtros de plataforma y mejor ranking. El nuevo lanzamiento extiende la búsqueda con soporte para buscar en la superficie del API de un paquete. Además de la indexación actual de la descripción del paquete y el contenido de README.md, ¡la búsqueda ahora cubre todos los miembros públicos del API del paquete, más la documentación del API de esos miembros! Esto es genial cuando quieres localizar algo que no se menciona en las descripciones y los archivos README.md.

Por ejemplo, digamos que buscas un paquete que pueda formatear cadenas usando el formato de moneda ISO 4217. Una búsqueda en descripciones y archivos README.md te da un único resultado, pero una búsqueda que incluye la documentación del API te da varios resultados:

10 results for 4217

intl

Contains code to deal with internationalized/localized messages, date and number formatting and parsing, bi-directional text, and other internationalization issues.

v 0.15.2 • Updated: Oct 19, 2017 FLUTTER WEB OTHER

API results:

intl/NumberFormat-class.html

flutter_billing

A flutter plugin to communicate with billing on iOS and Android.

v 0.1.2 • Updated: Feb 10, 2018 FLUTTER

API results:

flutter_billing/BillingProduct-class.html

En resumen…

#

El lanzamiento de Dart 2 en el canal estable está sucediendo muy pronto, y hemos hecho un montón de mejoras en el sitio de Pub relacionadas con Dart 2, ranking y búsqueda.

Si has publicado paquetes, ahora es el momento de actualizarlos para Dart 2:

  1. Asegúrate de que tus paquetes pasen el análisis de Dart 2.

  2. Actualiza el límite superior de la restricción del SDK a <3.0.0 en tu pubspec.yaml.

  3. Republica tus paquetes actualizados.

¡Luego ve a la página de análisis de tu paquete en pub.dartlang.org, y mira qué más puedes hacer para mejorar tu ranking!

Más de Dart