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

lazy-typer

v0.2.1

Published

A CLI tool to simplify navigating and running scripts in multi-project workspaces.

Downloads

537

Readme

Lazy-Typer

lazy-typer is a CLI tool designed to simplify the process of navigating and running scripts in a monorepo or multi-project workspace. It allows you to scan project folders, navigate to the desired project, and run package.json scripts with ease. Additionally, it supports custom package manager commands.

Features

  • Scan and select project folders (e.g., apps, libs) dynamically.
  • Run scripts from package.json in any selected project.
  • Supports common package managers (npm, yarn, pnpm).
  • Customizable commands for special workflows (e.g., nx or other tools).
  • Configurable project folder structure and package manager preferences.

Installation

You can install lazy-typer globally using npm:

npm install -g lazy-typer

Usage

After installation, you can run the tool using the lz command:

lz

First-Time Configuration

When you first run lz, you will be asked to configure the tool:

  1. Select Folders: Specify which folders to scan (e.g., apps, libs). Use a dot (.) to indicate the current directory.

  2. Choose Package Manager: Select the package manager you use (npm, yarn, pnpm, or custom).

    • If you select custom, you will be asked to provide:
      • A custom package manager (e.g., nx, gulp).
      • A command format (e.g., run @company/{project}:{script}), where {project} and {script} will be dynamically replaced during script execution.

Running Commands

Once configured, you can run lz to:

  1. Select a project: Choose a project from the scanned folders.

  2. Select a script: Choose a script to run from the package.json file.

  3. Run the script: The tool will execute the script using your selected package manager or custom command.

Resetting the Configuration

To clear the existing configuration, use the --clear flag:

lz --clear

This will reset the saved folder paths and package manager settings, and prompt you to configure the tool again.

lz
# Output
# 1. Select the project folder:
#    - backend
#    - frontend
# 2. Select the script to run:
#    - build
#    - start

Custom Command Example

If you use nx, you can configure the custom command as:

Custom Package Manager: nx
Command Format: run @company/{project}:{script}

Then, when you run lz, it will dynamically replace {project} and {script} and execute commands like:

nx run @company/backend:build

License

This project is licensed under the MIT License.