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

@xotic750/salita

v1.0.2

Published

Automatically upgrade all dependencies, devDependencies, and peerDependencies

Downloads

9

Readme

Salita

Automatically upgrade all dependencies and devDependencies to their latest stable semver.

CLI

Install

npm install @xotic750/salita -g

Options

  • --no-color: prevents colorized output
  • --json: provides parseable JSON output (also disables colors)
  • --dry-run / -n: prevents changes to package.json
  • --update: reflects the changes in package.json
  • --ignore-stars: ignore updates to packages that are set to "*" or "latest"
  • --ignore-pegged: ignore updates to packages that are pegged to a single version, rather than a range
  • --check: implies "dry-run"; and returns with an exit code matching the number of updated dependencies.
  • --sections: comma-separated list of sections to process, default: dep dev peer opt
  • --only-changed: only show packages that have (or would have) changed
  • --quiet: do not print information

Example

# Change into directory with package.json.
cd my_project

# Upgrade all dependencies.
salita
Running in dry-run mode. Use --update to persist changes to package.json.
Found: /Users/me/my_project/package.json
Dependencies:
 Kept:   chalk           at  ^2.4.2  
 Kept:   cli-table       at  ^0.3.1  
 Kept:   json-file-plus  at  ^3.3.1  
 Kept:   npm             at  ^6.11.3 
 Kept:   semver          at  ^6.3.0  
 Kept:   yargs           at  ^14.0.0 
Development Dependencies:
 Kept:                               @babel/cli                                 at    ^7.5.5        
 Kept:                               @babel/core                                at    ^7.5.5        
 Kept:                               @babel/node                                at    ^7.5.5        
 Kept:                               @babel/plugin-transform-property-mutators  at    ^7.2.0        
 Kept:                               @babel/plugin-transform-runtime            at    ^7.5.5        
 Kept:                               @babel/preset-env                          at    ^7.5.5        
 Kept:                               @babel/runtime                             at    ^7.5.5        
 Kept:                               @types/jest                                at    ^24.0.18      
 Changed:                            @types/node                                from  ^12.7.3        to  ^12.7.4 
 Kept:                               @types/webpack                             at    ^4.39.1       
 Kept:                               @xotic750/eslint-config-recommended        at    ^1.1.9        
 Requested range not satisfied by:   babel-core                                 from  ^7.0.0-0       to  ^6.26.3 
 Kept:                               babel-eslint                               at    ^10.0.3       
 Kept:                               babel-loader                               at    ^8.0.6        
 Kept:                               babel-plugin-lodash                        at    ^3.3.4        
 Kept:                               caniuse-lite                               at    ^1.0.30000989 
 Kept:                               coveralls                                  at    ^3.0.6        
 Changed:                            cross-env                                  from  ^5.2.0         to  ^5.2.1  
 Kept:                               eslint                                     at    ^6.3.0        
 Kept:                               eslint-friendly-formatter                  at    ^4.0.1        
 Kept:                               eslint-import-resolver-webpack             at    ^0.11.1       
 Kept:                               eslint-loader                              at    ^3.0.0        
 Kept:                               eslint-plugin-babel                        at    ^5.3.0        
 Kept:                               eslint-plugin-compat                       at    ^3.3.0        
 Kept:                               eslint-plugin-css-modules                  at    ^2.11.0       
 Kept:                               eslint-plugin-eslint-comments              at    ^3.1.2        
 Kept:                               eslint-plugin-html                         at    ^6.0.0        
 Kept:                               eslint-plugin-import                       at    ^2.18.2       
 Kept:                               eslint-plugin-jest                         at    ^22.16.0      
 Changed:                            eslint-plugin-jsdoc                        from  ^15.8.4        to  ^15.9.1 
 Kept:                               eslint-plugin-json                         at    ^1.4.0        
 Kept:                               eslint-plugin-lodash                       at    ^6.0.0        
 Kept:                               eslint-plugin-no-use-extend-native         at    ^0.4.1        
 Kept:                               eslint-plugin-prefer-object-spread         at    ^1.2.1        
 Kept:                               eslint-plugin-prettier                     at    ^3.1.0        
 Kept:                               eslint-plugin-promise                      at    ^4.2.1        
 Kept:                               eslint-plugin-sort-class-members           at    ^1.6.0        
 Kept:                               eslint-plugin-switch-case                  at    ^1.1.2        
 Kept:                               jest                                       at    ^24.9.0       
 Kept:                               jest-cli                                   at    ^24.9.0       
 Kept:                               jest-file                                  at    ^1.0.0        
 Kept:                               lodash                                     at    ^4.17.15      
 Kept:                               lodash-webpack-plugin                      at    ^0.11.5       
 Kept:                               mkdirp                                     at    ^0.5.1        
 Changed:                            nodemon                                    from  ^1.19.1        to  ^1.19.2 
 Kept:                               power-set-x                                at    ^2.1.2        
 Kept:                               prettier                                   at    ^1.18.2       
 Kept:                               rimraf                                     at    ^3.0.0        
 Kept:                               source-map-loader                          at    ^0.2.4        
 Kept:                               strip-ansi                                 at    ^5.2.0        
 Kept:                               terser-webpack-plugin                      at    ^1.4.1        
 Kept:                               typescript                                 at    ^3.6.2        
 Kept:                               webpack                                    at    ^4.39.3       
 Kept:                               webpack-bundle-analyzer                    at    ^3.4.1        
 Kept:                               webpack-cli                                at    ^3.3.7        
 Kept:                               webpack-global-object-x                    at    ^1.0.0        
 Kept:                               webpack-merge                              at    ^4.2.2        
Peer Dependencies:
 None found 

4 updated out of 63 total dependencies.

API

Install

npm install --save @xotic750/salita

Options

/**
 * @typedef {object} UserOptions
 * @property {boolean} color - Default true.
 * @property {boolean} json - Default false.
 * @property {boolean} dryRun - Default true.
 * @property {boolean} update - Default false.
 * @property {boolean} onlyChanged - Default false.
 * @property {boolean} check - Default false.
 * @property {Array<string>} sections - Default ['dep','dev','peer].
 * @property {boolean} quiet - Default false.
 * @property {boolean} ignorePegged - Default false.
 * @property {boolean} ignoreStars - Default false.
 */

Example

import salita from '@xotic750/salita';

// Content of my_directory/package.json
// {
//   "name": "tests",
//   "version": "1.0.0",
//   "dependencies": {
//     "json3": "^3.1.0"
//   },
//     "devDependencies": {
//     "safe-to-string-x": "1.5.0"
//   },
//     "peerDependencies": {
//     "jquery-ui": "*"
//   }
// }

/**
 * The main entry point.
 *
 * @param {string} dir - The working directory.
 * @param {object} [options=UserOptions] - The user options.
 * @returns {Promise<(TotalsObject|PackagePlus)>} The promise of TotalsObject or PackagePlus.
 */
salita('my_directory', {
  check: true,
  quiet: true,
}).then((obj) => {
  console.log('Done.', obj);
  // {
  //   "changed": 3,
  //   "total": 3,
  // }
});

salita('my_directory', {
  quiet: true,
}).then((obj) => {
  console.log('Done.', obj);
  // {
  //   "data": {
  //     "dependencies": {
  //       "json3": "^3.3.3",
  //     },
  //     "devDependencies": {
  //       "safe-to-string-x": "^2.0.3",
  //     },
  //     "name": "tests",
  //     "peerDependencies": {
  //       "jquery-ui": "^1.12.1",
  //     },
  //     "version": "1.0.0",
  //   },
  //   "filename": "__tests__/files/temp/package.json",
  //   "format": {
  //     "indent": "  ",
  //     "trailing": false,
  //   },
  // }
});