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

grunt-project-update

v0.2.4

Published

Grunt task to update bower, npm, and other arbitrary update tasks

Downloads

644

Readme

grunt-project-update Build Status

Grunt task to update bower, npm, and other arbitrary update tasks

Getting Started

This plugin requires Grunt ~0.4.2

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-project-update --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-project-update');

The "projectUpdate" task

Overview

To activate plugin please define a default config similar to this.

grunt.initConfig({
  projectUpdate: {
    update: {}
  }
})

It will autodetect package.json and bower.json and update them appropriately. This requires you have npm and/or bower installed globally.

Options

commands

Type: Array Default value: []

An array of commands to run in this format

{cmd: 'npm', args: ['prune']}

or with the CWD (current working directory)

{cmd: 'npm', args: ['prune'], opts: {cwd: '/foo'}}

This is useful for specifying custom commands to run during the update.

cwd

Type: String Default value: null

This will change the current working directory the commands are ran in.

If say bower is in a different folder use two separate targets like so:

grunt.initConfig({
  projectUpdate: {
    npm: {},
    bower: {cwd: 'assets'}
  }
})

npm

Type: Boolean Default value: false

This will enable or disable npm explicitly.

bower

Type: Boolean Default value: false

This will enable or disable bower explicitly.

Usage Examples

Default Usage

The default functionality will auto detect bower and npm and update them appropriately.

grunt.initConfig({
  projectUpdate: {
    update: {}
  }
})

Enable NPM/Bower Explicitly

If you have non-standard file locations use something like this:

grunt.initConfig({
  projectUpdate: {
    update: {
      npm: true,
      bower: true
    }
  }
})

Arbitrary Commands

To add your own arbitrary commands try this:

grunt.initConfig({
  projectUpdate: {
    update: {
      npm: true,
      bower: true,
      commands: [
        {cmd: 'my-package-manager', args: ['install']},
        {cmd: 'my-package-manager', args: ['update']},
        {cmd: 'my-package-manager', args: ['prune']}
      ]
    }
  }
})

Just not that commands set there are used first and then the others will be ran.

Contributing

Commits and changes are welcome.

Please follow the NPM coding style: https://npmjs.org/doc/coding-style.html

Release History

0.2.4

  • Fixes #2 which would enable npm if package.json exists even if npm is specifically disabled at runtime
  • Changed the order to prune, install, update to stop the update of packages that have been dropped

0.2.3

  • Fixed issue with working directories on custom commands

0.2.2

  • Updated project properties for package.json

0.2.1

  • Updated project name in package.json

0.2.0

  • API rewrite with automatic package manager detection.

0.1.0

  • Initial release and port from custom task right in the gruntfile