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

Relacionado

10 Repositorio de GitHub que todo Desarrollador Web debería conocer

GitHub es el lugar que debes buscar cuando intentas mejorar como desarrollador, toda la información que necesitas está disponible en algún repositorio que alguien ya se ha molestado en indexar. Sin embargo, la parte complicado es encontrar el repositorio más adecuado. Es fácil sentirse perdido en todos los repositorios disponibles dentro de GitHub. Para ayudarte, he elaborado una lista de 10 repositorios de GitHub que pueden ¡SEGUIR LEYENDO!

15 Excelentes Libros GRATIS de Programación hechos por el creador de tutoriales de programación Flaviocopes (en inglés)

En los siguientes manuales vas a encontrar un gran contenido (en inglés) creado por @flaviocopes. Si te gustan sus contenidos, no dejes de visitar su página web flaviocopes.com, en la que Flavio publica un artículo en el que aprender algo nuevo cada día. Manual de Python. 2021 PDF, ePub, Mobi Manual para principiantes de React. 2020 PDF, ePub, Mobi Manual para principiantes de JavaScript. 2020 PDF, ¡SEGUIR LEYENDO!

15 Mejores Lenguajes de Programación que Aprender

Una de las habilidades más importantes para aprender en el mundo de hoy en día, es saber programar con un lenguaje de programación. En la actualidad, las computadoras han entrado en casi todas las industrias, desde el piloto automático de un avión hasta el velocímetro digital de una bicicleta pasando por la inclusión del Internet de las cosas en los pequeños electrodomésticos. Casi todo lo que ¡SEGUIR LEYENDO!

17 Nuevos Cursos Gratuitos de SQL, Python, Diseño Web y Más (06 de Marzo)

Regreso con nuevos cursos gratis, recuerda que algunos de los cupones de los cursos publicados ayer, es muy posible que aún sigan activos; y vas a poder encontrar cursos en español de javascript -typescript, react,vue- y Unity. Además, de cursos en inglés de Python, R, SQL y más; también tienes muchos cursos totalmente gratis y una gran oferta de guías para programación de O´Reilly (en inglés) ¡SEGUIR LEYENDO!

26 Nuevos Cursos GRATIS de Udemy: Python, Javascript, Flutter (cupón finalizado)

26 Nuevos cursos con cupones free de Udemy: En español (typescript,javascript, react, vue y videojuegos) e ingles (Python, Django, Javascript, R, SQL, Flutter, Java, Qt, Bootstrap, Illustrator y Photoshop). Cursos en Español ? Curso Gratis de Udemy: Aprende JavaScript y Jquery de 0 a 100 APÚNTATE ? Curso Gratis de Udemy: Aprende Typescript de 0 a 100 APÚNTATE ? Curso Gratis de Udemy: Aprende Vue + ¡SEGUIR LEYENDO!

40 Cursos Gratis de Udemy: Desarrollo Web, Python (cupón finalizado)

Recién llega la primavera y vamos con una publicación más, que incluye los cursos del Lunes; hoy tenemos, 9 cursos en español (Typescript, Javascript, React, Vue, Firebase, Swift, Azure, HTML y CSS, Power Bi). Más 31 cursos en inglés: Javascript, Typescript, React, Python, R, Java, Drupal, Android y Kotlin, Básicos de Visual Studio Code, Bootstrap, Gitlab, Maya 3D, Photoshop, Marketing en Facebook e Instagram, SEO. Iniciación ¡SEGUIR LEYENDO!

5 Lenguajes de programación que todo ingeniero DevOps debería aprender

La adopción de DevOps ha aumentado en los últimos dos años, lo que ha ayudado a las organizaciones a reunir todas las funciones, permitiendo proporcionar software confiable con una entrega más rápida y de mejor calidad. Si eres ingeniero DevOps y buscas los mejores lenguajes de programación para optimizar tu trabajo, aquí hay la lista que necesitas. 1. Python Python se ha convertido en el lenguaje ¡SEGUIR LEYENDO!

Salir de la versión móvil