Cómo usar versiones anteriores del Polymer CLI

  • Por
Cómo disponer de varias versiones de Polymer CLI, adaptadas a las versiones de Polymer que tengas en cada proyecto.

En el día a día del desarrollo con Polymer podemos llegar a trabajar con varios proyectos, que ocupan diversas versiones de la librería. Lo ideal es tenerlos actualizados siempre a la última versión, más aún cuando las novedades de las versiones modernas nos permiten alcanzar un mayor rendimiento en las aplicaciones.

Paralelamente, con el lanzamiento de Polymer 3, estamos seguros que muchas personas hayan querido probar las novedades de esta versión de la librería y empezar a experimentar con los módulos de Javascript para importar el código de los componentes. El primer paso para probar Polymer 3 es actualizar tu versión de Polymer CLI, lo que puede llevarnos a un problema, no de difícil solución, con proyectos antiguos.

Si actualizaste el CLI y tienes un proyecto de Polymer en versión 2 podrías enfrentarte al problema que, al crear el build de ese proyecto, haya algún error "misterioso" provocado por el cambio de versión de Polymer CLI a nivel global. Lo vamos a resolver!

Usar una versión antigua de Polymer CLI localmente en un proyecto Polymer 2

En el caso que necesites usar una versión más antigua del Polymer CLI te recomendamos lo siguiente:

Nota: Esto vale para cualquier paquete de npm que quieras tener en un proyecto una versión más antigua. No es algo específico de Polymer, sino de la gestión de las dependencias de npm y tu package.json.

1.- Inicializas el proyecto con npm, para crear el package.json.

Si en tu proyecto ya tienes un package.json ya se ha realizado anteriormente este paso, por lo que no necesitas volver a hacerlo. El comando a usar es:

npm init

2.- Instalas localmente la versión del polymer-cli que necesites

Aquí es donde está el truco, para no eliminar la nueva versión de forma global y al mismo tiempo poder utilizar versiones anteriores en un proyecto específico.

Por ejemplo, si tengo un proyecto con Polymer 2 y por lo tanto quiero utilizar la versión 1.6 del Polymer-CLI, entonces ejecuto este comando:

npm install --save-dev polymer-cli@1.6.0

Con --save-dev consigues que la dependencia se marque como dependencia de desarrollo, que es lo que necesitas en principio, pues este paquete es algo que quieres para desarrollar y no se necesita en el servidor donde pongas la aplicación Polymer en producción.

Puedes escoger otra versión del CLI simplemente cambiando lo que hay después de la "@" polymer-cli@1.7.0.

3.- Crear los scripts npm necesarios para ejecutar la versión local de Polymer-CLI

Esto se hace dentro del archivo package.json en la raíz de tu proyecto. Tienes que buscar la localización de la propiedad "scripts" y colocar todos las llamadas al Polymer CLI que necesites realizar.

Por ejemplo: (te pongo todo el código del Package.json, que en tu proyecto puede ser diferente).

{
 "name": "cli_p1",
 "version": "1.0.0",
 "description": "",
 "main": "index.js",
 "scripts": {
   "test": "echo \"Error: no test specified\" && exit 1",
   "init": "polymer init",
   "build": "polymer build",
   "servir": "polymer serve -o"
 },
 "author": "",
 "license": "ISC",
 "devDependencies": {
   "polymer-cli": "^1.6.0"
 }
}

Realmente, la parte que te interesa es la propiedad "scripts". Verás que hemos creado tres scripts y los hemos nombrado como "init", "build" y "servir". Es este segmento de código del package.json:

"init": "polymer init",
"build": "polymer build",
"servir": "polymer serve -o"

Estos scripts son comandos de consola, que usarás para los efectos de ejecutar la versión anterior del CLI instalada localmente en este proyecto.

4.- Ejecutar los scripts mediante npm

Editado el package.json, si deseas ejecutar estos scripts, tienes que lanzar los correspondientes comandos a partir del comando npm. Por ejemplo, haces estos comandos (con el terminal desde la raíz de tu proyecto, donde tienes el package.json):

Para el script nombrado como "init"

npm run init

Para el script "build"

npm run build

Para el script nombrado como "servir"

npm run servir

Listo! problema resuelto! Pero recuerda, si en tu proyecto sigues ejecutando "polymer serve" o "polymer buid", como de costumbre, se ejecutará la versión de Polymer CLI que tengas instalada en global. Si quieres usar la instalada en local, recuerda hacerlo con "npm run" y el nombre del script en cuestión.

Esperamos haberte ayudado a resolver posibles problemas, o a animarte a instalar versiones nuevas del Polymer CLI con las que puedas probar Polymer 3, sin preocuparte por cómo seguirás administrando proyectos anteriores.

Autor

Marcos Galaviz

Desarrollador con experiencia en Polymer, Javascript y WordPress

Compartir