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.json
archivo.
$ 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
rome
globalmente:
undefined
npm install -g ./dist/
¡Felicidades! Rome está instalada.
Cuando llegue el momento de actualizar Rome, repita el proceso anterior.
npm
sobrescribirá 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