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

secco

v2.2.0

Published

Local package testing made easy. secco is a command-line tool for local development. It uses Verdaccio and direct file copying to apply your latest changes to other projects.

Downloads

209

Readme

secco

Local package testing made easy.

secco is a command-line tool for local development. It uses Verdaccio and direct file copying to apply your latest changes to other projects.

When developing and maintaining (multiple) packages, it's a real hassle to use something like npm link. But you also don't want to publish your changes to npm's remote registry. Both have a lot of pitfalls as they might break on complicated dependency chains or symlinking.

secco solves these problems and streamlines the process of local package testing.

Want to try it? Start with our Getting Started guide. Need a longer explanation? Read our Learn secco tutorial.

Features:

  • File Sync & Package Publishing. By default, changes will be copied over from the source into the destination's node_modules folder. If necessary, changes are published to a local Verdaccio registry first, so that you don't have to worry about symlinks or dependency hell.
  • Link Multiple Projects. secco reads the .seccorc file to make the connection between destination and source. This allows you to use secco with as many source folders as you wish.
  • npm, yarn, pnpm, and bun support. You can use any of these package managers in your source and destination projects.
  • Watch and CI mode. By default, secco starts a watch task. But you can also only run it once, enabling CI End-To-End testing use cases.
  • Workspaces. Your source & destination folders can be a monorepo using workspaces.

Installation

Using a global installation:

npm install --global secco

You can also use npx to invoke it.

npx secco@latest --help

Usage

It's recommended to also go through the Getting Started guide to understand how you can leverage secco in your projects.

secco uses the terms source and destination throughout its docs and messages. The source refers to the root folder that contains the package(s) that you want to test in other places. The destination refers to the folder you want to test your package(s) in. So your destination's package.json should have the source as a dependency.

secco requires to either find a .seccorc file in the destination (with source.path set) or that the SECCO_SOURCE_PATH environment variable is defined.

Here's an overview of all available commands and flags:

Usage: secco <command>

Commands:
  secco init                        Initialize a new .seccorc file
  secco packages [packageNames...]  Specify list of packages you want to link

Options:
  --help             Show help
  --version          Show version number
  --scan-once        Scan source once and do not start file watching
  --force-verdaccio  Disable file copying/watching and force usage of Verdaccio
  --verbose          Output verbose logging

Examples:
  secco                     Scan destination and copy files from source
  secco packages ars aurea  Copy specified packages from source to destination

Documentation

Visit secco's official documentation

Contributing

Want to improve secco? Great! Read the Contributing guide to get started.