Comment on page
Browser and Node (Open Source)
Siempre que crees una nueva librería invierte tiempo en buscar un buen nombre (compártelo con el equipo)
Luego puedes crear el paquete con
npm init
, el cual te preguntará algunos detalles del paquete, o crear manualmente un package.json
.En el archivo
package.json
debemos llenar al menos los siguientes campos.//restmod package.json example
{
"name": "angular-restmod",
"description": "API Bound Models for AngularJS",
"version": "1.11.1",
"dependencies": {
...
},
"devDependencies": {
...
}
}
Puedes agregar como autor a Platanus y a ti como colaborador:
"author": {
"name": "Platanus",
"url": "https://platan.us"
},
"contributors": [
{
"name": "Tu nombre"
}
],
Al menos deberías instalar las siguientes dependencias:
jest
: Testingeslint
: Linter. Puedes copiar las reglas que vienen en Potassium. Puede ser necesario eliminar las reglas relacionadas a Vue y Tailwind si no serán utilizados.eslint-plugin-import
: Permite utilizar el linter para revisar sintaxis de import/export.
Opcionalmente, puedes instalar:
eslint-plugin-jest
: en caso de no instalarlo reemplazarjest/globals
enenv
de.eslintrc.json
por solojest
.
Si estamos desarrollando un paquete de Node (y no de web) debemos usar la sintaxis de CommonJS para imports/exports:
// lib.js
module.exports = {
funcionLib
}
// otro.js
const lib = require('./lib')
Se puede utilizar esta sintaxis manualmente o utilizar la sintaxis de ES6 y luego compilar con un bundle como webpack para que la librería quede en formato CommonJS.
Para correr algún archivo con un comando personalizado se deben seguir los siguientes pasos:
- Crear un archivo
cli.js
o una carpetacli
con archivos que queremos que se ejecuten. - Al principio de estos archivos colocar:#!/usr/bin/env node
- En
package.json
agregar una sección de:"bin": {"nombre-comando-cli": "archivo.js","nombre-comando-cli-2": "archivo2.js",}
Correr
npm link
(permite simular la instalación del paquete), reiniciar la terminal y probar corriendo alguno de los comandos creados. Si se modifica alguno de los archivos javascript no es necesario volver a correr npm link
.Si no has iniciado sesión en tu cuenta desde tu terminal, corre:
npm login
En NPM debes registrar el paquete y publicar directamente cada versión.
npm publish
IMPORTANTE: Las publicaremos con nuestro usuario personal pero debemos agregar como owner al usuario de platanus.
# Agregar un owner a un package
npm owner add platanus-owner <package-name>
Última actualización 1yr ago