npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

rada-router

v0.0.2

Published

Utilizaremos REACT JS de VITE para crear un ROUTER y publicarlos en NPM. Esto será una alternativa para crear SPA's (Single Page Applications), en lo cual se basa REACT, VUE, etc. Es lo contrario a MPA (Multiple Page Application).

Downloads

2

Readme

React ROUTER & Publish

Utilizaremos REACT JS de VITE para crear un ROUTER y publicarlos en NPM. Esto será una alternativa para crear SPA's (Single Page Applications), en lo cual se basa REACT, VUE, etc. Es lo contrario a MPA (Multiple Page Application).

NOTA IMPORTANTE

A la hora de hacer navegacion en nuestro sitio web, es de suma importancia evitar la utilizacion de botones o, mejor dicho, el TAG <button></button> de HTML. En su lugar es recomendado utilizar el anchor, o, el TAG <a href='https://nowere.com'>Link</a>.

Con el ENRRUTADO, nosotros establecemos las paginas que se tienen que cargar, y sus componentes.

Rutas dinámicas

Son aquellas cuyos parámetros son desconocidos:

path: '/search/:query'

En este caso, al ":query" lo queremos capturar y recuperar su información, para posteriormente hacer algo con ella.

Testing

Antes de publicar una libreria en NPM, primero lo tenemos que testear, y no hay mejor herramienta que VITEST:

npm i vitest -D

En este caso, lo que vamos a testear es un elemento de REACT, un componente, por lo cual debemos utilizar los elementos del DOM para realizar el testing. Para eso instalamos el HAPPY-DOM:

npm i happy-dom @testing-library/react -D

Además, tenemos que agregar los siguiente en el vite.config.js:

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [react()],
  test: {
    environment: 'happy-dom'
  }
})

Le añadimos el "happy-dom" al TEST.

Compiladores

Para realizar la tarea de COMPILAR (tal cual lo hace BABEL), podemos utilizar la libreria SWC.

npm i -D @swc/cli @swc/core

Para utilizar en REACT, es necesario agregar el archivo ".swcrc".

En el package.json ponemos en los SCRIPTS, un comando que se va a ejecutar el PUBLISH.

"prepare": "swc src -d lib"

En este caso utilizamos esta dependencia, ya que, la de VITE esta pensada para las aplicaciones web, sobre todo, y no tanto asi para publicar librerias

Preparacion de DEPENDENCIAS

Realizamos las modificaciones en el package.json, y sobre todo las dependencias que van a ser incorporadas en la publicación. En este caso, modificacion las dependencias del proyecto y colocamos el REACT y el REACT-DOM como "peerDependencies".

  "dependencies": {
    "path-to-regexp": "6.2.1" 
  },
  "peerDependencies": {
    "react": "^18.2.0",
    "react-dom": "^18.2.0"
  },