:eyeglasses: Node.js module that tells you when your package npm dependencies are out of date.

Related tags

Command Line david
Overview

David

npm version Inline docs Build Status Coverage Status Dependency Status devDependency Status

Node.js module that tells you when your package npm dependencies are out of date.

Getting Started

Install Node.js.

Install david:

cd /your/project/directory
npm install david

Use:

var david = require('david');

// Your package.json
var manifest = {
  name: 'xxx',
  dependencies: {
    'aaa': '~0.0.0',
    'bbb': '~0.0.0'
  },
  devDependencies: {
    'yyy': '~0.0.0',
    'zzz': '~0.0.0'
  }
};

david.getDependencies(manifest, function (er, deps) {
  console.log('latest dependencies information for', manifest.name);
  listDependencies(deps);
});

david.getDependencies(manifest, { dev: true }, function (er, deps) {
  console.log('latest devDependencies information for', manifest.name);
  listDependencies(deps);
});

david.getUpdatedDependencies(manifest, function (er, deps) {
  console.log('dependencies with newer versions for', manifest.name);
  listDependencies(deps);
});

david.getUpdatedDependencies(manifest, { dev: true }, function (er, deps) {
  console.log('devDependencies with newer versions for', manifest.name);
  listDependencies(deps);
});

david.getUpdatedDependencies(manifest, { stable: true }, function (er, deps) {
  console.log('dependencies with newer STABLE versions for', manifest.name);
  listDependencies(deps);
});

david.getUpdatedDependencies(manifest, { dev: true, stable: true }, function (er, deps) {
  console.log('devDependencies with newer STABLE versions for', manifest.name);
  listDependencies(deps);
});

function listDependencies(deps) {
  Object.keys(deps).forEach(function(depName) {
    var required = deps[depName].required || '*';
    var stable = deps[depName].stable || 'None';
    var latest = deps[depName].latest;
    console.log('%s Required: %s Stable: %s Latest: %s', depName, required, stable, latest);
  });
}

Both getDependencies and getUpdatedDependencies return an object result, whose keys are package names. The values are objects which contain the following properties:

  • required - The version required according to the manifest
  • stable - The latest stable version available
  • latest - The latest version available (including build and patch versions)

CLI

If you install David globally with npm install -g david, you can run david in your project directory to see which dependencies are out of date.

You can also run david --global to see your outdated global dependencies.

Update to latest

To update all your project dependencies to the latest stable versions, and save to your package.json, run:

david update

To update a particular project dependency to the latest stable version, and save to your package.json, run:

david update package-name

You can also update global dependencies to latest versions:

david update --global

To update all your project dependencies to the latest versions (including unstable versions), pass the --unstable flag:

david update --unstable

Alternate registry

david update --registry http://registry.nodejitsu.com/

Non-npm and SCM (Git) dependencies

If you have dependencies that are not published to npm, david will print a warning message by default. To throw an error and exit, pass the error404 option:

david --error404

If using david programmatically, pass error: {E404: true} in the options object.

If you have dependencies whose versions are SCM URLs, david will print a warning message by default. To throw an error and exit, pass the errorSCM option:

david --errorSCM

If using david programmatically, pass error: {ESCM: true} in the options object.

Specify package.json path

Use -p, --package to specify the path to your package.json.

Ignore dependencies

To tell david to ignore dependencies, add a david.ignore property to your package.json which lists the dependencies david should ignore. If using david programmatically you can also pass this as an option. Globs are also supported. e.g.

package.json

{
  "david": {
    "ignore": ["async", "underscore", "@types/*"]
  }
}

js-standard-style

Comments
  • Option to ignore some dependencies

    Option to ignore some dependencies

    I run David on all my modules once in a while and there are some commonly used dependencies that are outdated but that I don't care about updating, like e.g. Mocha. Would be useful if David had an ignore option where I could ignore dependencies I don't care about.

    enhancement 
    opened by sindresorhus 10
  • v11.1.0 appears to have been a breaking change in a minor version.

    v11.1.0 appears to have been a breaking change in a minor version.

    • it removed nodes 4 - 7 from the test matrix
    • it upgraded async from v2 to v3, which drops support for node 4 and earlier
    • it upgraded npm from v4 to v6, which drops support for node versions below node 6
    • you added multimatch, and that author's deps all aggressively drop support for older nodes, and happens to require node 8+.

    In this case, I'm not even invoking david in nvm's test suite; i'm just trying to install it on node 0.10. See https://travis-ci.org/nvm-sh/nvm/jobs/621428822 as an example.

    For a tool that checks deps with semver, I'd hope for more semver compliance. Would you consider reverting all of these breaking changes in a v11 release, and rereleasing as a v12?

    opened by ljharb 8
  • Truncated output with Node v6.0.0

    Truncated output with Node v6.0.0

    $ git clone [email protected]:jquery/jquery.git
    $ cd jquery
    $ git checkout e5ffcb0838c894e26f4ff32dfec162cf624d8d7d
    $ david --version
    v7.0.1
    $ node --version
    v6.0.0-rc.2
    $ david
    devDependencies
    
    ┌──────────────────────┬─────────┬────────┐
    │ Name                 │ Package │ Latest │
    ├──────────────────────┼─────────┼────────┤
    │ babel-preset-es2015  │ 6.3.13  │ 6.6.0  │
    ├──────────────────────┼─────────┼────────┤
    │ grunt-git-authors    │ 3.1.0   │ 3.1.1  │
    ├──────────────────────┼─────────┼────────┤
    │ load-grunt-tasks     │ 3.4.0   │ %                                                                                              
    $ nvm use 5
    Now using node v5.10.1 (npm v3.8.3)
    $ david
    devDependencies
    
    ┌──────────────────────┬─────────┬────────┐
    │ Name                 │ Package │ Latest │
    ├──────────────────────┼─────────┼────────┤
    │ jsdom                │ 5.6.1   │ 8.4.0  │
    ├──────────────────────┼─────────┼────────┤
    │ babel-preset-es2015  │ 6.3.13  │ 6.6.0  │
    ├──────────────────────┼─────────┼────────┤
    │ strip-json-comments  │ 2.0.0   │ 2.0.1  │
    ├──────────────────────┼─────────┼────────┤
    │ grunt-contrib-watch  │ 0.6.1   │ 1.0.0  │
    ├──────────────────────┼─────────┼────────┤
    │ grunt-newer          │ 1.1.1   │ 1.2.0  │
    ├──────────────────────┼─────────┼────────┤
    │ core-js              │ 2.0.3   │ 2.2.2  │
    ├──────────────────────┼─────────┼────────┤
    │ load-grunt-tasks     │ 3.4.0   │ 3.5.0  │
    ├──────────────────────┼─────────┼────────┤
    │ insight              │ 0.7.0   │ 0.8.1  │
    ├──────────────────────┼─────────┼────────┤
    │ husky                │ 0.11.3  │ 0.11.4 │
    ├──────────────────────┼─────────┼────────┤
    │ qunitjs              │ 1.20.0  │ 1.23.1 │
    ├──────────────────────┼─────────┼────────┤
    │ grunt                │ 0.4.5   │ 1.0.1  │
    ├──────────────────────┼─────────┼────────┤
    │ grunt-git-authors    │ 3.1.0   │ 3.1.1  │
    ├──────────────────────┼─────────┼────────┤
    │ grunt-contrib-uglify │ 0.11.0  │ 1.0.1  │
    ├──────────────────────┼─────────┼────────┤
    │ cross-spawn          │ 2.1.5   │ 2.2.3  │
    ├──────────────────────┼─────────┼────────┤
    │ grunt-cli            │ 0.1.13  │ 1.2.0  │
    ├──────────────────────┼─────────┼────────┤
    │ requirejs            │ 2.1.22  │ 2.2.0  │
    └──────────────────────┴─────────┴────────┘
    
    npm install --save-dev [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]
    
    
    opened by mgol 8
  • Support for URLs as dependencies?

    Support for URLs as dependencies?

    If a dependency is a URL, Git URL, or Github URL, can david be able to tell if it is outdated? If it's not currently supported, will there be a future support for this?

    opened by counterflow 8
  • David Too Popular (or DDoS) ?

    David Too Popular (or DDoS) ?

    Morning @alanshaw hope you are feeling great today!

    Really :heart: David! The site/service is great and we recommend it to everyone, but get super sad when the badge goes blank on a repo if its down... :cry:

    Is David behind CloudFlare? Or can we help with anything...? http://www.isup.me/david-dm.org

    david-is-down

    Would love to help if there are any tasks you can offload.

    opened by nelsonic 7
  • No output

    No output

    My packages are definitely not up to date, yet when I run david or david update, it runs for a few seconds, and then doesn't output anything or do anything noticeable.

    That's not enough to go off, so what else do you need to know?

    ~/path master
    ❯ david
    
    ~/path master
    ❯ david update
    

    In directories without a package.json, it says "package.json does not exist", so it's definitely being called.

    opened by callumacrae 6
  • fixed issues with latest/stable version detection

    fixed issues with latest/stable version detection

    This PR fixes two issues:

    'latest' and 'stable' versions weren't detected correctly. For example, if you looked at karma you got stable 0.11.0 and latest 0.10.2, when in reality it is exactly the opposite (stable 0.10.2 and latest 0.11.0). The reason for this is that you assumed that the 'latest' version you get from npm is the 'newest', while the truth is that the 'latest' version you get from npm is simply the version tagged 'latest'. I think that karma is one of the few node modules using this versioning system correctly. 0.10.2 is tagged as 'latest' and the newest (0.11.0) is tagged as 'canary'.

    The revised implementation assumes that 'latest' version returned from npm is the 'stable' one, while the 'unstable' is the last version in the version array. Only if the 'stable' version doesn't look like a stable version number, I use the old logic of scanning the version array backwards until I find a version that look like a stable version number.

    I also don't like the fact that in david's code 'latest' is used as synonym to 'unstable', I find it confusing especially since in my opinion npm regards 'latest' actually as the 'stable' version.

    The code assumes that the version array is sorted from oldest to newest, while actually the array is sorted using semver.compare(), which for example will put 0.0.1-alpha10 before 0.0.1-alpha9 (see for example 'npm view zombie versions'), so in order to fix this I also get the 'time' attribute from 'npm view' and then sort the version array by time

    opened by shahata 6
  • stopped working

    stopped working

    i updated to the last version and now david doesn't print any output.

    i downgraded to an older version and the same problem happened making me wonder if it's a problem with one of the dependencies.

    opened by dylang 5
  • david-dm.org TLS certificate distrusted in Firefox Nightly

    david-dm.org TLS certificate distrusted in Firefox Nightly

    Visiting https://david-dm.org/ in Firefox Nightly fails with a "Your connection is not secure" error.

    Your connection is not secure

    The owner of david-dm.org has configured their web site improperly. To protect your information from being stolen, Nightly has not connected to this web site.

    ...

    david-dm.org uses an invalid security certificate. The certificate is not trusted because the issuer certificate is unknown. The server might not be sending the appropriate intermediate certificates. An additional root certificate may need to be imported. Error code: SEC_ERROR_UNKNOWN_ISSUER

    Checking the cert using https://www.ssllabs.com/ssltest/analyze.html?d=david-dm.org shows:

    This server's certificate will be distrusted by Google and Mozilla from March 2018.

    ...which links to: https://blog.qualys.com/ssllabs/2017/09/26/google-and-mozilla-deprecating-existing-symantec-certificates

    So presuming Firefox Nightly has already made that switch, in readiness for the release in March - and so david-dm.org will need a new cert?

    opened by edmorley 4
  • Fixes issue #111: prompt missing after a recent npm update

    Fixes issue #111: prompt missing after a recent npm update

    New code that always explicitly calls a 'show cursor' using ANSI library. Thus also 'ansi' added as dependency. Changes only to cli side, not the lib/david

    opened by jpaulin 4
  • semver@5.3.0 breaks build 🚨

    [email protected] breaks build 🚨

    Hello lovely humans,

    semver just published its new version 5.3.0.

    State Failing tests :rotating_light:
    Dependency semver
    New version 5.3.0
    Type dependency

    This version is covered by your current version range and after updating it in your project the build went from success to failure.

    As semver is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them. I recommend you give this issue a very high priority. I’m sure you can resolve this :muscle:

    Of course this could just be a false positive, caused by a flaky test suite, or third parties that are currently broken or unavailable, but that would be another problem I’d recommend working on.

    Do you have any ideas how I could improve these pull requests? Did I report anything you think isn’t right? Are you unsure about how things are supposed to work?

    There is a collection of frequently asked questions and while I’m just a bot, there is a group of people who are happy to teach me new things. Let them know.

    Good luck with your project :sparkles:

    You rock!

    :palm_tree:


    The new version differs by 22 commits .

    • d21444a v5.3.0
    • bcd8849 style: add some missing semicolons
    • 984491a add minSatisfying
    • 4bdb8f4 Fix usage of semver module in docs
    • f7fef36 v5.2.0
    • 3cc5a94 Add prerelase(v) that returns prerelease components, fixes #133
    • 3643836 prefer files stanza in package.json over .npmignore, exclude tests
    • ad1d365 v5.1.1
    • 832845a fix #160 update cli -h output in readme
    • 8bd070b Fix Backus-Naur "nr" expansion (previous expansion forbade 1 to 9)
    • 4b28a27 update travis
    • adaf9b0 Fix incorrect comment
    • 8e33a30 v5.1.0
    • c3a1f41 Backus-Naur for ranges
    • 8cac175 Remove excessively cute inspect methods

    There are 22 commits in total. See the full diff.


    This pull request was created by greenkeeper.io.

    Tired of seeing this sponsor message? :zap: greenkeeper upgrade

    greenkeeper 
    opened by greenkeeperio-bot 4
  • Bump qs from 6.5.2 to 6.5.3

    Bump qs from 6.5.2 to 6.5.3

    Bumps qs from 6.5.2 to 6.5.3.

    Changelog

    Sourced from qs's changelog.

    6.5.3

    • [Fix] parse: ignore __proto__ keys (#428)
    • [Fix] utils.merge: avoid a crash with a null target and a truthy non-array source
    • [Fix] correctly parse nested arrays
    • [Fix] stringify: fix a crash with strictNullHandling and a custom filter/serializeDate (#279)
    • [Fix] utils: merge: fix crash when source is a truthy primitive & no options are provided
    • [Fix] when parseArrays is false, properly handle keys ending in []
    • [Fix] fix for an impossible situation: when the formatter is called with a non-string value
    • [Fix] utils.merge: avoid a crash with a null target and an array source
    • [Refactor] utils: reduce observable [[Get]]s
    • [Refactor] use cached Array.isArray
    • [Refactor] stringify: Avoid arr = arr.concat(...), push to the existing instance (#269)
    • [Refactor] parse: only need to reassign the var once
    • [Robustness] stringify: avoid relying on a global undefined (#427)
    • [readme] remove travis badge; add github actions/codecov badges; update URLs
    • [Docs] Clean up license text so it’s properly detected as BSD-3-Clause
    • [Docs] Clarify the need for "arrayLimit" option
    • [meta] fix README.md (#399)
    • [meta] add FUNDING.yml
    • [actions] backport actions from main
    • [Tests] always use String(x) over x.toString()
    • [Tests] remove nonexistent tape option
    • [Dev Deps] backport from main
    Commits
    • 298bfa5 v6.5.3
    • ed0f5dc [Fix] parse: ignore __proto__ keys (#428)
    • 691e739 [Robustness] stringify: avoid relying on a global undefined (#427)
    • 1072d57 [readme] remove travis badge; add github actions/codecov badges; update URLs
    • 12ac1c4 [meta] fix README.md (#399)
    • 0338716 [actions] backport actions from main
    • 5639c20 Clean up license text so it’s properly detected as BSD-3-Clause
    • 51b8a0b add FUNDING.yml
    • 45f6759 [Fix] fix for an impossible situation: when the formatter is called with a no...
    • f814a7f [Dev Deps] backport from main
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump async from 3.1.0 to 3.2.2

    Bump async from 3.1.0 to 3.2.2

    Bumps async from 3.1.0 to 3.2.2.

    Changelog

    Sourced from async's changelog.

    v3.2.2

    • Fix potential prototype pollution exploit

    v3.2.1

    v3.2.0

    • Fix a bug in Safari related to overwriting func.name
    • Remove built-in browserify configuration (#1653)
    • Varios doc fixes (#1688, #1703, #1704)

    v3.1.1

    • Allow redefining name property on wrapped functions.
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump minimist from 1.2.2 to 1.2.6

    Bump minimist from 1.2.2 to 1.2.6

    Bumps minimist from 1.2.2 to 1.2.6.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • david-dm is down, again

    david-dm is down, again

    Seems like lately every other minute there's issues with this.

    This is a new ticket to re-awake all previous like reports https://github.com/alanshaw/david/issues?q=is%3Aissue+is%3Aclosed+down

    Site is unreachable, badges dont work.

    Thanks for your service in any case.

    opened by the-j0k3r 0
  • Bump lodash from 4.17.15 to 4.17.21

    Bump lodash from 4.17.15 to 4.17.21

    Bumps lodash from 4.17.15 to 4.17.21.

    Commits
    • f299b52 Bump to v4.17.21
    • c4847eb Improve performance of toNumber, trim and trimEnd on large input strings
    • 3469357 Prevent command injection through _.template's variable option
    • ded9bc6 Bump to v4.17.20.
    • 63150ef Documentation fixes.
    • 00f0f62 test.js: Remove trailing comma.
    • 846e434 Temporarily use a custom fork of lodash-cli.
    • 5d046f3 Re-enable Travis tests on 4.17 branch.
    • aa816b3 Remove /npm-package.
    • d7fbc52 Bump to v4.17.19
    • Additional commits viewable in compare view
    Maintainer changes

    This version was pushed to npm by bnjmnt4n, a new releaser for lodash since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
Owner
Alan Shaw
Bug Author
Alan Shaw
An npm module to run Snowflake in a headless browser to help censored users connect to the Tor network.

snowflake-cli An npm module to run Snowflake in a headless browser to help censored users connect to the Tor network. Note: depending on your environm

yan 8 Mar 24, 2022
Check NPM package licenses

NPM License Checker As of v17.0.0 the failOn and onlyAllow arguments take semicolons as delimeters instead of commas. Some license names contain comma

Dav Glass 1.5k Dec 29, 2022
Open the npm page, Yarn page, or GitHub repo of a package

npm-home Open the npm page, Yarn page, or GitHub repo of a package Install $ npm install --global npm-home Usage $ npm-home --help Usage $ npm

Sindre Sorhus 180 Dec 18, 2022
Check whether a package or organization name is available on npm

npm-name Check whether a package or organization name is available on npm Install $ npm install npm-name Usage import npmName from 'npm-name'; // Ch

Sindre Sorhus 157 Nov 13, 2022
Package manager faster than NPM

Pine Script holder that runs faster than NPM and yarn Pine is a npm and yarn run like module, that allows you to organize your scripts and run them FA

Darkling 4 Jul 10, 2021
Add a hungry turtle to your terminal and feed it every time you mistype 'npm' as 'nom'

Nom Does this ever happen to you? You happily code away on a project, navigating the command line like a pro, testing, error logging, installing packa

Meike Hankewicz 5 Apr 26, 2022
Translations with speech synthesis in your terminal as a node package

Normit Normit is an easy way to translate stuff in your terminal. You can check out its Ruby gem version termit. Installation npm install normit -g Us

Paweł Urbanek 234 Jan 1, 2023
A better `npm publish`

np A better npm publish Why Interactive UI Ensures you are publishing from your release branch (main and master by default) Ensures the working direct

Sindre Sorhus 6.9k Jan 2, 2023
Simple config handling for your app or module

conf Simple config handling for your app or module All you have to care about is what to persist. This module will handle all the dull details like wh

Sindre Sorhus 1k Jan 7, 2023
A C++ based command-line (CLI) program that lets you manage your tasks

COMMAND LINE INTERFACE TODO APP a command-line (CLI) program that lets you manage your tasks. The specification for this project is written down as te

Rahul Prabhakar 1 Dec 25, 2021
DataENV is a cli tool that allows you to save data temporarily using your terminal.

DataEnv CLI Instllation npm install -g dataenv Usage Table of Contents LocalStorage npx dataenv save Parameters npx dataenv show Parameters npx dataen

PGamerX 2 Feb 5, 2022
LinkFree CLI is a command line tool that helps you to create your LinkFree profile through CLI.

LinkFree CLI LinkFree CLI is a command line tool that helps you to create your LinkFree profile through CLI. Demo Using the CLI (Commands) Note First

Pradumna Saraf 32 Dec 26, 2022
Pathokun, a path generator, updates your content just with your frontend by HTTP GET Request!

Pathokun Pathokun, a path generator, update your content just with your frontend by HTTP GET Request! In this way you can make Full-Stack project with

Pathokun 15 Feb 7, 2022
Distributed, realtime CLI for live Node apps.

Vantage = CLI + SSH + REPL for your live node app. In one line: require("vantage")().listen(4000); What just happened? That's voodoo magic: show me th

dc 3.5k Dec 30, 2022
download torrents with node from the CLI

torrent Download torrents from the command line usage torrent <magnet link OR path to .torrent file> Download a torrent from a magnet link to torre

Max Ogden 619 Dec 26, 2022
node.js command-line interfaces made easy

Commander.js The complete solution for node.js command-line interfaces. Read this in other languages: English | 简体中文 Commander.js Installation Declari

TJ Holowaychuk 24k Jan 8, 2023
Node.js Open CLI Framework. Built with 💜 by Heroku.

oclif: Node.JS Open CLI Framework ?? Description ?? Getting Started Tutorial ✨ Features ?? Requirements ?? CLI Types ?? Usage ?? Examples ?? Commands

oclif 8k Jan 4, 2023
A Node.js CLI to download PDF invoices from Stripe.

A Node.js CLI to download PDF invoices from Stripe.

Fabian Hedin 1 Feb 13, 2022
Keep track of book descriptions on the server-side using MongoDB, Express, and Node.js.

Backend Application A database model/backend for a user directory using Javascript MongoDB, Express, and Node.js. In summary, a backend CRUD model to

Rodrigo Bravo 3 Apr 10, 2022