Exportaciones y límites de los paquetes
Exportaciones y límites de los paquetes
Sección titulada «Exportaciones y límites de los paquetes»Los campos exports, files y bin de los manifiestos de los paquetes definen
el contrato de distribución. Los consumidores usan especificadores de paquetes
publicados, no el árbol de código fuente del repositorio ni las rutas internas
de compilación.
Exportaciones de @mauriciodmo/framekit
Sección titulada «Exportaciones de @mauriciodmo/framekit»El paquete actual publica estos puntos de entrada exactos:
| Especificador del consumidor | Clave del manifiesto | Destino de JavaScript | Destino de tipos |
|---|---|---|---|
@mauriciodmo/framekit |
. |
./dist/index.js |
./dist/index.d.ts |
@mauriciodmo/framekit/editor |
./editor |
./dist/editor.js |
./dist/editor.d.ts |
@mauriciodmo/framekit/client |
./client |
./dist/client.js |
./dist/client.d.ts |
@mauriciodmo/framekit/qr |
./qr |
./dist/qr.js |
./dist/qr.d.ts |
@mauriciodmo/framekit/next |
./next |
./dist/next.js |
./dist/next.d.ts |
@mauriciodmo/framekit/studio |
./studio |
./dist/studio.js |
./dist/studio.d.ts |
@mauriciodmo/framekit/studio/root |
./studio/root |
./dist/studio-root.js |
./dist/studio-root.d.ts |
@mauriciodmo/framekit/dev |
./dev |
./dist/dev.js |
./dist/dev.d.ts |
@mauriciodmo/framekit/server |
./server |
./dist/server.js |
./dist/server.d.ts |
@mauriciodmo/framekit/styles.css |
./styles.css |
./dist/styles.css |
No aplicable |
Cada exportación de JavaScript tiene el mismo destino import y default que
se muestra en la tabla, además de su destino types. El punto de entrada
./next es compatible y es el punto de entrada que usa el next.config.ts de
la plantilla canónica:
import { withFrameKit } from '@mauriciodmo/framekit/next'
export default withFrameKit()El binario del paquete también forma parte de este límite:
framekit -> ./bin/framekit.jsLa CLI admite generate, check, dev, build, start y
browser install [--with-deps]. Consulta la referencia de la CLI de
FrameKit para ver el contrato de los
comandos.
El límite del paquete creador
Sección titulada «El límite del paquete creador»@mauriciodmo/create-framekit es el segundo y único otro paquete público.
Publica el binario create-framekit en ./dist/cli.js y el directorio
canónico template/. Se consume mediante su ejecutable y su plantilla copiada,
no mediante importaciones desde packages/create-framekit/src/**.
La plantilla generada importa código reutilizable mediante los puntos de entrada públicos de FrameKit, por ejemplo:
import { FrameKitStudioRoot } from '@mauriciodmo/framekit/studio/root'import { createFrameKitApiHandler } from '@mauriciodmo/framekit/server'Después de la generación, los enlaces locales del proyecto usan los alias
@framekit/generated/*. Son archivos generados del consumidor, no
exportaciones adicionales de FrameKit publicadas.
Mantén el límite público
Sección titulada «Mantén el límite público»Los imports del consumidor, del proyecto generado y de los adaptadores propios
deben usar uno de los especificadores exactos anteriores. Usa
@framekit/generated/* únicamente para archivos generados dentro del proyecto
consumidor.
Esto mantiene el contrato público independiente de la disposición del repositorio y mantiene los grafos de cliente, servidor y herramientas en sus lados compatibles del límite. La guía de límites de importación y la referencia de la API de paquetes para usuarios describen la misma regla desde las perspectivas del contribuidor y del consumidor.
Compila y audita los destinos
Sección titulada «Compila y audita los destinos»La compilación de FrameKit con tsdown tiene una entrada para cada exportación
de JavaScript, además de la entrada de la CLI:
src/index.ts -> dist/index.jssrc/editor.ts -> dist/editor.jssrc/client/index.ts -> dist/client.jssrc/qr.ts -> dist/qr.jssrc/next.ts -> dist/next.jssrc/studio.ts -> dist/studio.jssrc/studio-root.ts -> dist/studio-root.jssrc/dev.ts -> dist/dev.jssrc/server.ts -> dist/server.jssrc/tooling/cli/index.ts -> dist/cli.jsLa hoja de estilos se compila por separado en dist/styles.css. La compilación
del creador usa src/cli.ts como entrada de dist/cli.js. Al empaquetar el
paquete, su lista files incluye el directorio canónico template/.
Ejecuta las compilaciones de los paquetes en este orden:
pnpm --filter @mauriciodmo/framekit buildpnpm --filter @mauriciodmo/create-framekit buildAmbas compilaciones ejecutan check-dist, que verifica las importaciones
relativas emitidas y que los destinos exports y bin del manifiesto sean
archivos existentes dentro del paquete. Después, ejecuta la prueba del tarball
para inspeccionar los archivos reales, incluidas las referencias del espacio de
trabajo, las rutas locales, los secretos y los artefactos del navegador.