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

runas-plugin-npm

v0.3.0

Published

Runas plugin for npm

Downloads

13

Readme

Main Index:

Available Commands:

FLOWS

STEPS

PLUGINS

npm (Manage npm in steps)

[Index]

npm commands wrapper for runas

Hook (stages: check, run)

Any step can ensure that npm install or npm update are correctly executed:

1. Install plugin in your recipe

Add package dependency:

npm install runas-plugin-npm --save

Add plugin on steps/$stepName/config.json plugins:

{
  "plugins": [
    [...]
    "npm"
  ]
}

3. Configure plugin in config.json of your step

{
  "npmDependencies": {
    "installed": true,
    "updated": true,
    "baseDir" : "any", (default is '.')
    "directory" : "node_modules" (default is 'node_modules')
  }
}
  • installed (default: false) Ensure that npm install is executed if ${npm.directory} doesn't exists execute npm install.
  • updated (default: false) Ensure that npm update and npm prune are executed. Detect if there are symbolics links and ask user to delete
  • directory (default: 'node_modules') must to be the same value of directory in .npmrc file.
  • baseDir (default: '.') path to npm.json file relative.

4. Configure the stages for the hook (could be check or run)

By default the hook is set on check stage

In config.json of your step

{
  "stages" : ["check","run"],
  "npmDependencies": {
    [...]
  }
}

Examples:

Normal use, ensure npm install was executed:

{
  "npmDependencies": {
    "installed": true
  }
}

Check if there are symbolics links and ask user to update:

{
  "npmDependencies": {
    "updated": true
  }
}

this.npmList

Execute npm list ${opts}

| Param | Description | | --- | --- | | opts | array with command options to append to npm list for example [ '--offline', '--json' ] | | returns | a Promise with the complete child_process object result of the execution |

npmRegistry (Check npm registry configuration)

[Index]

Description

Plugin used to registry npm modules into a public npm registry

How to use this plugin:

    1. Implicit: Calling public addons.
    1. Explicit: By configuration. Checks if npm Registry is well configured.

configure this.params.stages with an array of the stages you want to check if the npm registry is ok.

  "stages" : ["check", "run"]

Transitive parameters

This parameters should be set on the step:

  • --registryUrl: [String], default: 'undefined' : Url of the npm registry. by default use what is configured on .npmrc

Note: you can change the repository that artifacts is going to be published by adding a .runas/runas.json file like this:

{
  "params" : {
    "registryUrl" : "https://registry.npmjs.org/"
  }
}

Addons

this.publishNpm

Return: 0 if everything is Ok or status of the command executed.