Rome, ¿La Mejor Herramienta para Javascript jamás creada?

Rome es experimental y en desarrollo activo. Está abierto para contribuyentes y aquellos interesados ​​en herramientas experimentales.

Historia de Rome

  • Rome fue iniciada por Sebastian McKenzie , el autor de Babel and Yarn.
  • Rome es un proyecto del equipo React Native de Facebook.
  • Rome recibe su nombre de proverbios como “Todos los caminos llevan a Rome”, “Rome no se construyó en un día” y “Cuando en Rome, haga lo que hacen los Romenos”. Esto se refiere al alcance expansivo y al deseo de conformidad en todo el proyecto. Comenzó como una bRome en la oficina.
  • Rome tiene el logotipo de un casco espartano griego antiguo. No es muy relevante ya que no es Romeno, pero se ve más genial que una Galea.

Características de Rome

  • Rome es una cadena de herramientas JavaScript experimental. Incluye un compilador, linter, formateador, bundler, marco de prueba y más. Su objetivo es ser una herramienta integral para todo lo relacionado con el procesamiento del código fuente de JavaScript.
  • Rome no es una colección de herramientas existentes. Todos los componentes son personalizados y no utilizan dependencias de terceros.
  • Rome es experimental y en desarrollo activo. Está abierto para contribuyentes y aquellos interesados en herramientas experimentales. No está listo para su uso en producción. La única forma de usarlo es construir desde la fuente.
  • Rome pretende ser un reemplazo para muchas herramientas JavaScript existentes. Sin embargo, ofreceremos integraciones para componentes en otras herramientas. Por ejemplo, usar el compilador de Rome como complemento para otro paquete.

?‍? Los mejores libros para Aprender Javascript y más, en español ?Publicada por Ciberninjas en Martes, 3 de marzo de 2020

Código Base de Rome

  • Rome está escrito completamente en TypeScript con un uso moderado de tipos sueltos.
  • Rome es un monorepo con paquetes internos para delinear los límites del código.
  • Rome es autohospedada y se compila con una versión antigua.
  • Rome admite el procesamiento de JSX, así como el código anotado Flow y TypeScript .

Filosofía de Rome

Esta lista incluye el carácter general que debe cumplir el proyecto. Esta lista no es completa. Algunos de estos son obvios pero se declaran completos.

Gestión del Proyecto de Rome

  • Establecer expectativas claras. Haga conocer la intención y las decisiones del proyecto con suficiente antelación. Nada debería ser una sorpresa.
  • Transparencia. Sin gestión de proyectos de canal posterior. La conversación y las decisiones del proyecto se llevarán a cabo solo en foros públicos como GitHub, Rome Discord y Twitter. La única excepción a esto son las decisiones de moderación que se harán estrictamente en privado.

Tecnicismos

  • Sin dependencias externas. Esto nos permite desarrollarnos más rápido y proporcionar una experiencia más coherente al integrar las bibliotecas internas de manera más estrecha y compartir conceptos y abstracciones. Siempre existen oportunidades para tener una mejor experiencia al tener algo especialmente diseñado.
  • Los errores deben sugerir correcciones y sugerencias cuando sea posible. Deben inferirse y filtrarse del uso para reducir la aparición de mensajes irrelevantes e inútiles.
  • Mensajes de error únicos y específicos. No hay mensajes de error genéricos. Esto no solo ayuda a los usuarios a comprender qué salió mal, sino que también debe proporcionar a los encargados de mantenimiento un sitio de llamadas único y la información necesaria para depurar.
  • Minimizar API. Cuestionar la existencia de todas las opciones y banderas. ¿Son necesarios? ¿Se pueden combinar? ¿Cómo podemos reducir la ramificación de código?
  • Reduce la jerga. No asuma que los usuarios comprenderán la terminología específica. Esforzarse por proporcionar un significado claro para expertos y principiantes. Por ejemplo, use “carácter” donde tradicionalmente usaría “token” cuando produzca errores de analizador.
  • Utilice la verbosidad al nombrar comandos y banderas. No hay abreviaturas innecesarias y confusas.
  • Use terminología inclusiva. Usa pronombres neutros en cuanto al género. Sin insultos capaces. No se utilizan términos que puedan considerarse insensibles.
  • Construir para clientes genéricos. No asuma que la salida solo será consumida por un terminal y utilizando códigos ANSI. Utilice abstracciones que se puedan generalizar para ver en un IDE, navegador u otros entornos.
  • Usa tipos fuertes. No use tipos sueltos como any. Donde sea posible, refine y valide la entrada. Apunta a los tipos de sonido.
  • La salida del terminal no debe ser ambigua. Al diseñar la salida del terminal, no confíe únicamente en las señales de formato como el color. Siempre use una combinación de formato, símbolos y espaciado. Si se eliminan todos los códigos ANSI, toda la salida aún debe entenderse.

Empezando con Rome

Para configurar Rome en un proyecto, todo lo que necesita es un rome.jsonarchivo.

$ mkdir hello-world 
$ cd hello-world 
$ echo  ' {} '  > rome.json

Este archivo se utiliza para configurar Rome e indica los límites de su proyecto.

Consulte los primeros pasos para obtener más instrucciones de uso.

Instalación de Rome

Antes de continuar

Para instalar Rome, debe tener node y npm instalado en su sistema. Si no tiene node e npm instalado, instálelos antes de continuar.

Clonación y construcción

Rome no está disponible a través de npm y debe instalarse desde GitHub. En una carpeta de su elección, clone el rome repositorio:

bash
git clone https://github.com/facebookexperimental/rome

Luego, navega hacia él y construye rome:

bash
cd rome; ./scripts/build-release dist

En la compilación de Windows 10 rome con el siguiente comando con PowerShell 7:

powershell
cd rome && node scripts/build-release dist

Ahora, instale romeglobalmente:

undefined
npm install -g ./dist/

¡Felicidades! Rome está instalada.

Cuando llegue el momento de actualizar Rome, repita el proceso anterior. npmsobrescribirá automáticamente su instalación existente de Rome con la nueva versión.

Cómo empezar a usar Rome

Si bien Rome busca cumplir el papel de muchas herramientas en el ecosistema de JavaScript, puede integrarse en proyectos existentes y usarse tanto o tan poco como desee.

Integrando Rome

Primero, navegue a la carpeta de su proyecto:

bash
cd my_existing_project

Ahora, cree una configuración de Rome para su proyecto. Cuando se le solicite, use la configuración recomendada:

bash
rome init

¿Qué hicimos?

La ejecución rome init con la configuración recomendada crea un archivo de configuración de Rome rome.json, que se ve así:

json
{  "version": "^0.0.52",  "lint": {    "enabled": true  }}

Este archivo le dice a rome que debe ser al menos la versión 0.0.52 para trabajar con su proyecto, y que debe alinear su código. Si desea deshabilitar el linting o aplicar configuraciones avanzadas, consulte la documentacion con rome init.

Ejecutando su código

El comando rome run ejecutará cualquier archivo que se le pase. Use este comando con el archivo principal de su proyecto, por ejemplo:

bash
rome run index.js

Rome todavía está en desarrollo activo y es posible que no pueda procesar correctamente todos los archivos fuente. Si puede ejecutar un archivo con node pero no con rome, cree un problema

Otros comandos

lint

Este comando alineará un archivo con un conjunto de pelusas predeterminadas y mostrará los diagnósticos producidos. Cuando se ejecuta sin argumentos, todos los archivos JavaScript en un proyecto están alineados. Por ejemplo:

bash
rome lint file.js

compile

Este comando compilará un archivo con un conjunto de transformaciones predeterminadas. Actualmente no hay opciones para que este comando especifique un subconjunto de transformaciones.

undefined
rome compile file.js

parse

Este comando analizará un archivo y generará un AST bastante formateado.

rome parse file.js

Licencia

Rome

tiene licencia del MIT y el proyecto se gestiona bajo el Código de Conducta del Pacto del Colaborador.
Fuente: Repositorio de Github

Relacionados

? ▷ Cómo APRENDER a Programar GRATIS cualquier Lenguaje de Programación en 2021▷ Las 15 Mejores Lenguajes de Programación para Aprender en 2021

?‍? Los mejores libros para Aprender Javascript y más, en español ?

Publicada por Ciberninjas en Martes, 3 de marzo de 2020

Artículos Relacionados
Symfony vs Laravel, ¿Qué framework PHP es mejor para tu negocio?

Los desarrolladores que crean aplicaciones web de primera calidad utilizando frameworks de desarrollo, los utilizan en el proceso de desarrollo para simplificar la gestión y el mantenimiento del proyecto. Hay muchos tipos de frameworks en el mercado, pero la mayoría de los frameworks basados ¡SEGUIR LEYENDO!

¿Qué son los objetos ABAP?

Los Objetos ABAP son la extensión orientada a objetos introducida en 1999 al lenguaje original ABAP (programación de aplicaciones comerciales avanzadas) y ABAP Workbench de R/3 versión 4.6 y posteriores. Esta extensión totalmente integrada dota a ABAP de características orientadas a objetos para el ¡SEGUIR LEYENDO!

14 Mejores Fuentes Tipográficas Gratuitas para Programar con Estilo

Los desarrolladores pasan todo el día usando editores de código, emuladores de terminal y en otras herramientas de desarrollo o en la creación de proyectos. El uso de una fuente que te resulte cómoda a la vista puede marcar una gran diferencia y mejorar ¡SEGUIR LEYENDO!