@apia/objects
v0.3.6
Published
Este package se creó con la única utilidad de copiarlo entero y pegarlo a la hora de crear un nuevo package.
Downloads
24
Readme
Initiator
Este package se creó con la única utilidad de copiarlo entero y pegarlo a la hora de crear un nuevo package.
Este iniciador permite crear un paquete que compila typescript y puede ser importado desde otros packages.
IMPORTANTE
Los archivos tsconfig.json y tsup.config.ts no son archivos únicos sino symlinks a archivos de configuración comunes a todos los packages. En caso de que sea necesario modificar alguno de ellos que en la gran mayoría de los casos no sería necesario, es necesario eliminar el archivo a modificar y crear uno nuevo.
Procedimiento
- Copiar la carpeta initiator y pegarla con otro nombre dentro de packages.
- Modificar el package.json:
- Eliminar la línea
private: true
. - Cambiar la ocurrencia
initiator
por el nombre del nuevo paquete. - Agregar los scripts convenientes: dev, build, etc.
- Eliminar la línea
- Ejecutar el comando lerna bootstrap desde la carpeta raíz.
Luego de ejecutar estos pasos, el package estaría listo para comenzar a usarse.
Este package trae como dependencias por defecto theme-ui y react. Si se desea agregar más dependencias se debe ejecutar el comando lerna add --scope="@apia/packageName" dependencyName
. Ejemplo, si creamos un paquete con el nombre @apia/myPackage y queremos agregar lodash como dependencia, ejecutamos el comando lerna add --scope="@apia/myPackage" lodash
.
Importante 1: Dado que estamos desarrollando packages, es importante determinar si las dependencias que vamos a agregar son de tipo dependency o de tipo peerDependency.
Importante 2: lerna no permite instalar de a varias dependencias a la vez como lo hace npm, por lo tanto, si se desea agregar varias dependencias se debe ejecutar el comando anterior tantas veces como dependencias se quiera agregar.
Importante 3: React y theme-ui vienen instalados como peerDependencies. En caso de no ser necesarios pueden ser removidos, pero en cualquier caso asegurarse de que estas dependencias no sean instaladas como dependencies puesto que esto causaría comportamientos indeseados en la aplicación.