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

@granga/nx-executors

v1.0.0

Published

Custom Nx executors collection including ts-runner for interactive TypeScript execution

Readme

@granga/nx-executors

Custom Nx executors collection for enhanced development workflows.

Executors

ts-runner

Execute TypeScript files using ts-node with full interactive terminal support. This executor is designed to run TypeScript scripts that require user input, which is not possible with Nx's built-in run-commands executor.

Usage

Add the executor to your project.json or workspace.json:

{
  "targets": {
    "run-script": {
      "executor": "@granga/nx-executors:ts-runner",
      "options": {
        "file": "scripts/my-script.ts"
      }
    }
  }
}

Then run it:

nx run-script my-project

Options

| Option | Type | Description | Required | |--------|------|-------------|----------| | file | string | Path to the TypeScript file to execute | ✅ | | tsNodeOptions | object | Options to pass to ts-node | ❌ | | tsNodeOptions.transpileOnly | boolean | Use TypeScript's faster transpileOnly mode | ❌ | | tsNodeOptions.compilerOptions | object | TypeScript compiler options | ❌ | | tsNodeOptions.project | string | Path to TypeScript project file | ❌ | | tsNodeOptions.require | string[] | Modules to require before execution | ❌ | | args | string[] | Arguments to pass to the TypeScript script | ❌ | | env | object | Environment variables to set | ❌ | | cwd | string | Current working directory for script execution | ❌ |

Example Configuration

{
  "targets": {
    "interactive-script": {
      "executor": "@granga/nx-executors:ts-runner",
      "options": {
        "file": "scripts/setup.ts",
        "args": ["--production"],
        "env": {
          "NODE_ENV": "production"
        },
        "tsNodeOptions": {
          "transpileOnly": true,
          "compilerOptions": {
            "strict": true
          }
        }
      }
    }
  }
}

Key Features

  • Interactive Terminal Support: Unlike nx run-commands, this executor preserves stdin/stdout/stderr streams, allowing scripts to prompt for user input
  • Full ts-node Integration: Complete support for all ts-node options and TypeScript compiler configurations
  • Environment Management: Set custom environment variables and working directories
  • Argument Passing: Pass command-line arguments to your TypeScript scripts
  • Signal Handling: Proper handling of SIGINT and SIGTERM for graceful script termination

Installation

npm install @granga/nx-executors
# or
yarn add @granga/nx-executors
# or
pnpm add @granga/nx-executors

Requirements

  • Node.js >= 16
  • Nx >= 16.0.0
  • TypeScript >= 4.0.0

License

ISC

Contributing

Issues and pull requests are welcome on GitHub.