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

package-script

v0.0.8

Published

Spawn external process in additional to the package install

Downloads

98

Readme

package-script

Blog

Some more information NodeJS Corner blog

How To

First add a script section to your package.json file (optional)

Add a script section to your package.json file. You can set the script to run in any phase according to the package.json docs

 "scripts": {
    "install": "node installer.js"
  }

Then, in your javascript file:

require('package-script').spawn([
      {
          command: "npm",
          args: ["install", "-g", "grunt-cli"]
      },
      {
          command: "npm",
          args: ["install", "-g", "bower"]
      }

  ]);

Or check the install/uninstall methods

require('package-script').install([
        {
            admin:false,
            name: "q"
        }
    ], {callback: function() {
        // callback functionality in here
     });

Note: The install and uninstall methods have a validation process for checking if the package already installed/uninstalled

version 0.0.7

  • depth and debug attributes were added to the optional arguments of the install/uninstall methods
  • js.utils dependency upgrade (npm list info, improved)
  • local Object utils removed, using js.utils instead
  • MAC is now supported

version 0.0.5

  • issue #1 fixed - Checking if packages already exist See install and uninstall methods, also look into js.utils package (NPM)
  • Install and UnInstalled methods were added
  • callback support for the global methods added

version 0.0.4

  • issue #2 fixed - switching log off
  • Initial configuration added, it can be set via the spawn method or using a separate init method

version 0.0.3

  • An admin configuration property that enables(default)/disables the admin cli prompt
  • A spawnopt configuration property that is the spawn options

Reference

  • init(config)

    • config {Object} The initial configuration
      • log: Switching the logger off/on optional values: [true/false]
  • spawn(config, init, callback)

    • config {Array} List of Objects to launch Launches one or more processes according to the given configuration:
      • command {String} The command to run
      • args {Array} List of string arguments
      • spawnopt {Object} The spawn options
      • admin {boolean} The boolean flag for running the command as administrator (Linux support only for now)
    • init {Object} The initial configuration
      • log: Switching the logger off/on optional values: [true/false]
    • callback {Function} The callback functionality
  • install(config, opt)

    • config {Array} List of packages configuration to be installed
      • name {String} The package name
      • spawnopt {Object} The spawn options
      • admin {boolean} The boolean flag for running the command as administrator (Linux support only for now)
    • opt {Object} The optional configuration
      • init {Object} The initial configuration
        • log: Switching the logger off/on optional values: [true/false]
      • debug {Number}
        • 0: set debug to off (default)
        • 1: set debug to on
      • depth {String} The npm tree info dependencies hierarchy depth (see 'npm list' for more info)
      • callback {Function} The callback functionality
  • uninstall(config, opt)

    • config {Array} List of packages configuration to be installed
      • name {String} The package name
      • spawnopt {Object} The spawn options
      • admin {boolean} The boolean flag for running the command as administrator (Linux support only for now)
    • opt {Object} The optional configuration
      • init {Object} The initial configuration
        • log: Switching the logger off/on optional values: [true/false]
      • debug {Number}
        • 0: set debug to off (default)
        • 1: set debug to on
      • depth {String} The npm tree info dependencies hierarchy depth (see 'npm list' for more info)
      • callback {Function} The callback functionality

See child_process.spawn for more information