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

scriptastic

v1.0.9

Published

Simple task runner.

Readme

Scriptastic

Scriptastic is a simple build script engine.

Usage

Installation

Install to the local project

Installing locally is important to ensure the project's build script is always run with the project's referenced version of scriptastic. This will help prevent potential inconsistencies between build.

npm i -D scriptastic

Install globally

Installing globally is optional, but recommended for convenience. Scriptastic will always run the local project version when available, meaning it is safe to use globally without any potential inconsistencies.

npm i -g scriptastic

Automatic transpiling

When working with a typecsript build script, Scriptastic will automatically attempt to transpile the script so you don't need to. In order to do so, one of the following optional dependencies will need to be installed.

Note: None of these are needed if the script is written in javascript.

ts-node

Strongly recommended, as the script will be run in memory.

npm i -D ts-node
typescript
npm i -D typescript

Running a script

Scriptastic's cli is scri. Simply running scri will run the default task. Adding a task name as an argument will run that particular task. Example: scri build will run the build task.

Run globally

scri build

Run locally with npm

npx scri build

Run locally

node node_modules/.bin/scri build

Creating a script

Create a script in the root of the project directory. The file can be scri.ts or scri.js. The javascript file is prioritized when available incase transpiling is handled outside of scriptastic.

Import

Start the build script by importing scriptastic.

import { scri } from "scriptastic";

Create a task

Tasks are the core of the build system. Tasks can be as granular as needed.

This will create a task named clean.

scri.task("clean")
    .does(() => {
        console.log("Build artifacts are removed");
    });

Add a dependency for a task

Dependencies are run before the current task. By default, the task will only run when all dependencies are successful.

This will create a task named build with a dependency on the clean task.

scri.task("build")
    .dependsOn("clean")
    .does(() => {
        console.log("Project is built");
    });

Why should I use this build system?

Prioritizes running locally

Scriptastic will prioritize running from the locally installed project regardless of where it was executed. This will help prevent inconsistencies between build environments, while encouraged to be executed globally for convenience.

Build script written in typescript

I have always had a problem with my project being written in typescript, but needing to write my build script in javascript. Yes, many build scripts can be written in typescript, but they typically need to be transpiled before running, effectively needing to build the build script. Scriptastic takes care of transpiling, making this step nearly non-existent to the user.

Error handling

Don't like seeing an error about a thrown error? Too much or too little information about the error is shown? Control exactly how errors are displayed. We know errors will happen, so scriptastic allow you to control the flow and display of said errors.

Included type definitions

Scriptastic was built with the intention of being used in typescript, so everything is included to do so.

Small dependency stack

Scriptastic only has a few dependencies, and these dependencies are mostly for convenience, like displaying console output in color.