{
  "id": 6949591,
  "title": "I Finally Published My First NPM Package! 🎉",
  "url": "https://urgent.news/2026/09/12/i-finally-published-my-first-npm-package",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-12T16:20:34.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/hossein_najafi81/i-finally-published-my-first-npm-package-30om"
  },
  "original_language": "en",
  "account": "Hello everyone! I'm thrilled to announce that I've published my very first NPM package, taglite. This package was born from a simple need in one of my projects - a Tag Input component. After trying various libraries, each with its limitations, I decided to build my own. As I used it more, I kept adding features and improvements, eventually deciding to share it with others. taglite is a lightweight Tag Input component for React, designed with a simple API while still providing commonly needed features in real-world projects. Its features include zero runtime dependencies, full TypeScript support, adding tags with Enter and custom keys like Tab, copy & paste support, tag normalization and validation, preventing duplicate tags, limiting the number of tags, custom placeholder and hintText, read-only and disabled modes, built-in themes, support for custom icons, and callbacks for adding and removing tags. I'm also working on a new feature that will allow custom color and appearance using a prop. This is my first experience building and publishing an NPM package, and the process was incredibly enlightening, from package structuring and API design to testing, building, writing documentation, and finally publishing. This is the first version, and there's still room for improvement. I welcome your feedback and encourage you to give taglite a try. You can find it on npm and GitHub.",
  "summary": "Hello everyone 👋 I’m really happy to finally share my first NPM package: taglite 🚀 This package started from a simple need in one of my projects. I needed a Tag Input component, so I tried several different libraries. Each one had its own limitations. Some were missing features I needed, while others weren’t flexible enough to customize the way I wanted. So I decided to build my own. As I kept…",
  "key_points": [
    "Author publishes first NPM package, taglite",
    "taglite is lightweight React Tag Input component",
    "Package offers zero runtime dependencies and TypeScript support"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}