Instalación

meme.js es un SDK simple y versátil, por esto mismo, hay varias formas de empezar a usarlo. Y puedes usar la forma que más se adapte a tus necesidades, pero por supuesto, todas son fáciles.

De igual forma te recomiendo que instalen las extensiones oficiales de meme.js:

  • meme.js Languages: El cual les ayudará a el coloreado de la sintaxis de los lenguajes que usaremos, además de los iconos básicos de los archivos propios de estos lenguajes.
  • meme.js Icons: Esta es una extensión completamente opcional y es un paquete de iconos de los archivos y carpetas del monorepo.

Manejar el paquete NPM

meme.js está disponible como un paquete de npm, por lo que lo podremos instalar en cualquier proyecto que necesitemos, por mi parte recomiendo instalarlo de forma global con lo que tendremos el CLI disponible en cualquier lugar, aunque por supuesto, la form de trabajo es decision de cada uno.

Uso del SDK desde NPX

Todo el SDK pesa apenas 422KB (y estoy en la labor de reducir su tamaño aún más), por lo que es fácil usarlo sin instalación, con el comando
npx meme-sdk
, por ejemplo:

Inicializa un proyecto con:

npx meme-sdk init

Abre la carpeta de tu proyecto e inícialo con el siguiente comando:

npx meme-sdk start

Para detener los servicios de meme.js, lo haces con el comando:

npx meme-sdk stop

Instalación por proyecto

Si lo prefieres, puedes instalar el SDK como dependencia de tu proyecto de la siguiente manera:

Inicializa un proyecto con:

npx meme-sdk init -install

Abre la carpeta de tu proyecto e inícialo con el siguiente comando:

npx me start

Para detener los servicios de meme.js, lo haces con el comando:

npx me stop

Instalación global del SDK (recomendado)

Aunque existan las otras formas, te recomiendo que instales el SDK de forma global para facilitar muchas de las tareas y que el comando me, siempre esté disponible donde lo necesites.

Puedes instalar el SDK con NPM con el siguiente comando:

npm i -g meme-sdk

De esta forma tendremos disponible el CLI de meme.js en cualquier lugar, a través del comando me. Una vez instalado el SDK, lo podemos utilizar de la siguiente forma:

Inicializa un proyecto con:

me init

Abre la carpeta de tu proyecto e inícialo con el siguiente comando:

me start

Para detener los servicios de meme.js, lo haces con el comando:

me stop

Por supuesto las funciones de init, start y stop, son los más simples y fáciles de comprender del SDK, pero si quieres profundizar más sobre estos comandos o ver el funcionamiento de otros comandos, puedes dirigirte a la sección del CLI en: /docs/cli

Uso del monorepo de meme.js

meme.js no tiene ninguna clase de dependencias y está diseñado de forma desacoplada. Tanto entre los proyectos como en el mismo SDK, por lo mismo, puedes usarlo, solo clonando el repositorio.

Una vez que hayas clonado el monorepo, solo necesitas, ir a la carpeta del monorepo y ejecutar los siguientes comandos:

Inicializa un proyecto en el monorepo, con:

./me init

Por supuesto en caso de que ya tengas instalado el CLI de forma global, puedes ejecutar el comando de inicialización con me, en lugar de con ./me, use el comando ./me, para que puedas ver la enorme facilidad, versatilidad e independencia que te proporciona meme.js. Al punto de que con solo clonar el monorepo, tendrás tanto el SDK como todos tus proyectos listos para ejecutar y desarrollar, con instalacion 0 de dependencias.

Por supuesto, trabajar en el monorepo te da algunos beneficios extra, como por ejemplo el uso de los lanzadores de Visual Studio Code, que te servirán para iniciar tus proyectos de forma rápida e intuitiva, además de levantar el entorno de depuración de todo tu proyecto.

Con solo clonar el monorepo, ya tendrás disponibles los lanzadores de los proyectos públicos de meme.js.
E igualmente cada vez que inicialices un proyecto dentro del monorepo. Se agregara un lanzador de VSCode referente a tu proyecto. Por lo que para ejecutarlo, puedes ir a la vista de Ejecución y depuración, buscar el lanzador de tu proyecto y dar click en el botón de iniciar depuración.

instala el sdk desde el monorepo

De igual forma, podrás instalar el SDK de forma global desde el monorepo, con esto ganaras la posibilidad de modificar el SDK y ver los cambios reflejados de forma global en todas las ejecuciones de meme.js, además de que las actualizaciones seran tan faciles como hacer un pull del código del monorepo o de cualquier fork que hayas generado (poco a poco te liberarás de las cadenas de npm y su instalación masiva de paquetes 😎).

Para instalar el SDK desde el monorepo, solo tienes que entrar a la carpeta del sdk ([monorepo]/.meme-sdk), y ejecutar el comando:
npm link
De igual forma si quieres desinstalar el SDK, entraremos a la misma carpeta y ejecutaremos el comando:
npm unlink

Heredar tu propio monorepo

Una vez que has hecho un fork o clonado el repositorio de meme.js, puedes empezar a agregar tus propios proyectos, sin preocupación alguna, y con cada actualisacion del SDK o de el sistema de diseño Mimix, solo tendrás que pullear cambios para que todos tus proyectos esten 100% actualizados a la última versión.

Se acabaron esas complicadas configuraciones con horribles actualizaciones de dependencias progresivas. Con meme.js, crear, heredar y manipular tu propio monorepo, será la tarea más fácil del mundo, dotando de super poderes colaborativos y de organización, entre diferentes equipos.

Tamaño reducido

Los proyectos de meme.js son de tamaño muy reducido y dependiendo de tu forma de programar, sistemas complejos con cientos de interfaces y servicios de todo tipo pueden llegar a pesar hasta 50MB, y no más. Se acabaron los proyectos del tipo npm-agujero-negro 🕳️, con cientos de dependencias y mas pesados que una estrella de neutrones 😂🤷‍♂️. Con meme.js, puedes tener cientos de proyectos en el mismo monorepo, con todos funcionales sin dependencias y todo esto pesando la mitad de un solo proyecto pequeño de react 😏.

Proyectos independientes

Todos los proyectos que crees dentro del monorepo tienen 0 dependencia hacia el propio monorepo, actúan como entes completamente independientes, y al mismo tiempo pueden beneficiarse de estar en un monorepo. Siendo así, en cualquier momento puedes simplemente sacar el proyecto del monorepo, re-apuntar tus repositorios de componentes y seguir como si nada hubiera cambiado 😎.