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

strike

v0.1.73

Published

Modular bash using require(3) for *NIX systems

Downloads

647

Readme

Strike

Modular bash using require(3) for *NIX systems. Depends upon bash >= 4.2 for some useful features.

Synopsis

Brings structure and modularity to bash programs and provides a set of modules that can be used from any bash program.

Semantic Versioning

This software is currently under development in the 0.x.x version range and is released using the semver(7) semantic versioning specification.

Features

Core

Process

  • Be safe, declare process.use strict
  • Daemonize any process with process.daemon.start!
  • Make a process behave as a singleton with process.lock.use!
  • Easily add PID file management with process.pid.use!
  • Map trap signals to command methods with the process.signal.* commands, see process(3)

Test

  • Write test-driven programs using the test task for bake(1)
  • Use assert(3) to perform inline assertions

Documentation & Help

  • Document your program using inline heredoc comments and publish to html and man pages using the doc.* tasks for bake(1)
  • Publish documentation as github pages with the doc.pages.push bake(1) task
  • Easily display program help as man pages with help(3)

Extensions & Executables

Prerequisites

Most modern distributions ship with the binaries that some parts of the library depend upon. However on extremely minimal distributions you should install the list below.

It is recommended (although not essential) that you have these executables:

BSD users (that's OS X users too) should install GNU versions for find(1) and tar(1).

Installation

To install the library code as a dependency for a project into the node_modules sub-folder use:

npm install strike

If you want the supplied executables to be available in $PATH use the global flag:

npm install -g strike

Documentation

The project documentation is available as html man pages.

Developers

Developers should have node(1) (which includes npm(1)) in order to run the tests.

Running Tests

For illustrative purposes the ./bake test runner is also available using the following commands:

If you prefer npm(1) use the test command:

npm test

If you prefer rake(1) use the test task:

rake test

If you prefer ant(1) use the test target:

ant test

If you prefer mvn(1) use the test goal:

mvn test

To verify all build tools are executing tests correctly use this one-liner:

npm test && rake test && ant test && mvn test && ./bake test

Dependencies

Some dependencies required to run the tests that may not be available on very minimal installations:

  • zip(1)
  • unzip(1)
  • tar(1)
  • man(1)

In addition it is recommended for all tests to run that you have the following executables and an active internet connection:

Generating Documentation

Documentation for the repository is generated using ronn(1) which must be installed, to generate documentation use task-doc(7):

npm run-script doc

Which is an alias for:

./bake doc man build

Note that currently you will need to apply this patch to ronn(1) for documentation to build correctly.

License

Everything is MIT. Read the license if you feel inclined.