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 🙏

© 2026 – Pkg Stats / Ryan Hefner

tech-map-d3

v1.0.3

Published

Biblioteca para visualizar a relação de tecnologias, práticas e projetos em uma mapa interativo usando d3.js

Readme

Tech Map D3

Biblioteca para visualizar a relação de tecnologias, práticas e projetos em uma mapa interativo usando d3.js

Live Preview (Demo)

Abrir Live Preview

Uso

Basta chamar a função renderMap para renderizar o mapa em um elemento já existente na página.

Deve ser criada uma div com algum id de sua escolha.

import { renderMap } from 'tech-map-d3';
const projects = [...projetos aqui];
const options = {elemId: 'id-de-sua-preferencia', ...outras opções};
renderMap(projects, options);

Mapa

Tipos

renderMap(projects: InputProject[], options: ProjectMapOptions);

InputProject:

{
    projectId: number;
    name: string;
    description: string;
    link: string;
    technologies: InputTechnology[];
    practices: InputPractice[];
}

InputPractice:

{
    practiceId: number;
    name: string;
    description: string;
    links: string;
    imageLink?: string;
}

InputTechnology:

{
    technologyId: number;
    name: string;
    description: string;
    links: string;
    imageLink?: string;
}

ProjectMapOptions (todos os campos possuem um valor default, o único campo obrigatório é o elemId):

{
	elemId: string; // Id do elemento onde o mapa será renderizado
	nodeSize?: number; // Tamanho dos nodos de tecnologia e prática
	startTechPractsRandomPosition?: boolean; // Iniciar tecnologias práticas em posições aleatórias
	maxZoomOutFactor?: number; // Máximo de zoom que o usuário pode executar para fora
	rainbowStrokes?: boolean; // Linhas aleatoriamente coloridas se baseando nos IDs

	linkStrokeWidth?: number; // Espessura das linhas que conectam os nodos

	projectStrokeWidth?: number; // Espessura do contorno do projeto
	projectStrokeColor?: string; // Cor do contorno do projeto
	projectBackgroundColor?: string; // Cor de fundo do projeto
	projectTextColor?: string; // Cor do texto do projeto
	projectEachOtherDistance?: number; // Distância entre um projeto e outro
    projectMinRadius?: number; // Tamanho mínimo de um projeto
	projectShowTechnologiesCount?: boolean; // Mostrar contagem de tecnologias ou não no projeto
	projectShowPracticesCount?: boolean; // Mostrar contagem de práticas ou não no projeto

	technologyStrokeWidth?: number; // Espessura do contorno da tecnologia
	technologyStrokeColor?: string; // Cor do contorno da tecnologia
	technologyBackgroundColor?: string; // Cor de fundo da tecnologia
	technologyNameColor?: string, // Cor do nome da tecnologia
	technologyCounterColor?: string, // Cor da contagem de projetos que a tecnologia está associada

	practiceStrokeWidth?: number, // Espessura do contorno da prática
	practiceStrokeColor?: string, // Cor do contorno da prática
	practiceBackgroundColor?: string, // Cor de fundo da prática
	practiceNameColor?: string, // Cor do nome da prática
	practiceCounterColor?: string, // Cor da contagem de projetos que a prática está associada
}