New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

oversoft-ui

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

oversoft-ui

latest
npmnpm
Version
1.0.11
Version published
Maintainers
1
Created
Source

Way of Working

En la siguiente documentacion se detalla un flujo de trabajo sugerido para desarrollar la libreria de componentes oversoft-ui.

Desarrollo

Tener en cuenta antes de empezar un desarrollo en fijarse si ya existe ese componente. Para esto, pueden entrar a Chromatic y fijarse si esta el componente conectado, o entrar en el storybook, o entrar en el trello y fijarse si hay una tarjeta de ese componente.

Trello

La herramienta de Trello la utilizamos para tener un seguimiento de los componentes que desarrollamos. Tambien se usa para estar sincronizados entre devs en cuanto a los componentes, para no pisarnos y en caso de que haya dos mesas que usan un mismo componente se ubica en la columna (In Progress) la etiqueta (High Priority) en la tarjeta del componente y asi el dev que lo hace lo desarrolla lo mas rapido posible. Despues, cada columna es autoexplicativa.

TODOS LOS COMPONENTES TIENEN QUE TENER SU TARJETA EN TRELLO. Esto es para tener buen seguimiento de lo desarrollado.

Estructura de carpetas/archivos

Cada componente va a estar contenido dentro de src/, lo vamos a desarrollar en la ruta /src/CarpetaPadre/CapetaDelComponente/ y el arbol de archivos que vamos a generar en esa carpeta sera el siguiente:

- index.tsx
- LeftArrow.tsx
- LeftArrow.stories.tsx
- LeftArrow.styles.ts
- LeftArrow.test.tsx

Como resultado tendremos la ruta del componente de la siguente manera src/Assets/LeftArrow.

Gitflow

  • Se crea una rama por componente con el nombre/ruta del componente.
  • Cuando se finaliza el desarrollo chequear cual es la ultima version publicada de la libreria e incrementar la version correspondiente con npm version (patch || minor || major).
  • Se hace un merge request a develop y si es necesario se asigna un revisor de codigo.

Conexion de componentes con Chromatic

  • Para publicar la libreria solo se debe corren el comando npm run publish-package.
  • Esperar a que finalice, al finalizar debe mostrar el link del proyecto actualizado.

Prueba local de los componentes

  • Hacer un npm run build de la libería para compilar los componentes.
  • Hacer un npm run test para correr todas las pruebas.
  • Hacer un npm run dist para generar los archivos .js y .d dentro la carpeta dist.
  • Dentro de tu proyecto de React, instalar el paquete recién generado con el comando npm i oversoft-ui.

Versionado Semántico

La propuesta con respecto al versionado es usar como referencia el estandar de versionado semantico (SemVer) y/o adaptarlo en la medida que veamos que es necesario. Tendriamos una version con 3 campos: MAJOR.MINOR.PATCH

  • Por cada nuevo fix/patch a cualquiera de los componentes de la version actual, que sea retrocompatible, se va a incrementar en 1 la PATCH version (npm version patch).
  • Si se introducen nuevos componentes/funcionalidades tambien compatibles con la version actual, se incrementa la MINOR version en 1 y se reseta el PATCH a 0 (este reset ya lo hace solo npm si usan el comando npm version minor para incrementar la version).
  • Para la primer version estable de la libreria, se incrementara la MAJOR version de 0.x.x a 1.0.0 y se resetean minor y patch a 0 (npm version major). Queda a definir que criterios vamos a usar para publicar esta version.
  • Por cada nuevo cambio que no sea compatible con la version anterior de la libreria se incrementa la MAJOR version en 1.

Funcion del pipeline

El pipeline es el encargado de ejecutar los tests, publicar la nueva version de la libreria y ademas de deployar el Storybook con el nuevo componente. Todo esto se hace automaticamente cuando se pushea a la rama develop (Por nuestro gitflow, se hace una nueva rama y despues se hace un merge request. Una vez mergeada la nueva rama en develop se ejecuta el pipeline automaticamente)

Instalación y utilización de la libreria

Instalación

  • Tener visibilidad de https://devops.oversoft.com.ar/gitlab en la intranet (vpn).
  • Crear archivo .npmrc o .yarnrc (dependiendo del manejador de paquetes que se use) con la sigiente linea/registry: @oversoft:registry=https://devops.oversoft.com.ar/gitlab/api/v4/packages/npm/
  • Ejecutar comando npm install @oversoft/oversoft-ui o con yarn yarn add @oversoft/oversoft-ui

Utilización

Se importa el componente con la base de @oversoft/oversoft-ui/dist y despues el nombre completo del componente. Las carpetas tienen un index, por lo que no hace falta llamar al componente .tsx en especifico. Por ejemplo, el import del componente Assets/LeftArrow sería @oversoft/oversoft-ui/dist/Assets/LeftArrow

Ej práctico:

import React from 'react';
import { LeftArrow } from '@oversoft/oversoft-ui';

export default function Header(){
    ...
    return <LeftArrow size={45}/>
}

Library Docs:

Readme version: 1.0

FAQs

Package last updated on 25 Jul 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts