Si llevas tiempo en el ecosistema de Power Platform, ya conoces PAC CLI. Pero hay algo que genera bastante confusión entre los desarrolladores: con las Code Apps apareció un segundo CLI basado en npm. ¿Por qué hay dos CLIs? ¿Cuál uso para qué? Esta lección lo aclara todo.
Objetivos de aprendizaje
- Entender por qué existen dos CLIs distintos y cuál es el propósito de cada uno
- Conocer los comandos principales del nuevo npm CLI de Power Apps
- Comprender qué comandos de PAC CLI están siendo deprecados
- Saber cuándo usar cada herramienta en el workflow de desarrollo
La historia detrás de los dos CLIs
Cuando Microsoft lanzó las Code Apps, tenía sentido añadir comandos específicos para ellas al PAC CLI existente. Así surgió el grupo pac code con comandos como pac code init, pac code run y pac code push.
Sin embargo, a medida que las Code Apps evolucionaron, quedó claro que este enfoque tenía un problema: para usar pac code necesitabas tener instalado PAC CLI completo, con todas sus dependencias. Esto hacía el onboarding más pesado de lo necesario para alguien que solo quería empezar a desarrollar una Code App.
La solución fue crear un CLI específicamente para Code Apps, distribuido como un paquete de npm. Esto tiene varias ventajas:
- Solo necesitas Node.js (que ya tienes para el desarrollo)
- El CLI se actualiza automáticamente con las dependencias del proyecto
- Es más ligero y específico para el caso de uso
- Se puede usar con
npxsin instalación global
El resultado es que los comandos pac code están siendo deprecados, y la nueva forma de trabajar con Code Apps es a través del npm CLI.
El nuevo npm CLI: comandos esenciales
El nuevo CLI se distribuye a través del paquete @microsoft/power-apps. Puedes usarlo con npx o instalarlo como script en el package.json de tu proyecto (que es lo que hace la plantilla oficial).
Inicializar un nuevo proyecto
# Usando la plantilla oficial de Microsoft
npx degit github:microsoft/PowerAppsCodeApps/templates/vite mi-app
cd mi-app
npm install
# Inicializar la Code App (vincula el proyecto con el entorno)
npx power-apps init --display-name "Mi App" --environment-id [tu-environment-id]
Desarrollo local
npm run dev
# Equivale a: npx power-apps run
Desplegar al entorno
npm run push
# Equivale a: npx power-apps push
[Placeholder para imagen: Diagrama de flujo mostrando qué hace cada CLI en el ciclo de desarrollo de una Code App]
La división de responsabilidades
Esta es la tabla mental que te va a ahorrar confusión:
| Tarea | PAC CLI | npm CLI (power-apps) |
|---|---|---|
| Autenticación con el tenant | ✓ | |
| Gestión de entornos | ✓ | |
| Gestión de soluciones | ✓ | |
| Inicializar proyecto Code App | Deprecado | ✓ |
| Servidor de desarrollo local | Deprecado | ✓ |
| Desplegar Code App | Deprecado | ✓ |
| Generar tipos de Dataverse | ✓ |
Como ves, PAC CLI sigue siendo necesario para las operaciones de plataforma (auth, entornos, soluciones, generación de tipos de Dataverse). El npm CLI se especializa en el ciclo de vida del proyecto de Code App en sí.
pac code init, pac code run o pac code push, ten en cuenta que esos comandos están en proceso de deprecación. Usa siempre el equivalente del npm CLI para proyectos nuevos.
Puntos clave
- Hay dos CLIs: PAC CLI para operaciones de plataforma y npm CLI para el ciclo de vida de la Code App
- Los comandos
pac codeestán siendo deprecados a favor del npm CLI - PAC CLI sigue siendo necesario para auth, entornos, soluciones y generación de tipos
- El npm CLI se instala como parte de las dependencias del proyecto, no globalmente
Para profundizar