This command retrieves information on how to fund the dependencies of a
given project. If no package name is provided, it will list all
dependencies that are looking for funding in a tree structure, listing
the type of funding and the url to visit. If a package name is provided
then it tries to open its funding url using the --browser config
param; if there are multiple funding sources for the package, the user
will be instructed to pass the --which option to disambiguate.
The list will avoid duplicated entries and will stack all packages that
share the same url as a single entry. Thus, the list does not have the
same shape of the output from npm ls.
Example
Workspaces support
It's possible to filter the results to only include a single workspace
and its dependencies using the workspace config option.
Example:
Here's an example running npm fund in a project with a configured
workspace a:
$ npm fund
test-workspaces-fund@1.0.0
+-- https://example.com/a
||`-- a@1.0.0
|`-- https://example.com/maintainer
|`-- foo@1.0.0
+-- https://example.com/npmcli-funding
|`-- @npmcli/test-funding
`-- https://example.com/org
`-- bar@2.0.0
And here is an example of the expected result when filtering only by a
specific workspace a in the same project:
$ npm fund -w a
test-workspaces-fund@1.0.0
`-- https://example.com/a
|`-- a@1.0.0
`-- https://example.com/maintainer
`-- foo@2.0.0
Configuration
json
Default: false
Type: Boolean
Whether or not to output JSON data, rather than the normal output.
In npm pkg set it enables parsing set values with JSON.parse() before
saving them to your package.json.
Not supported by all npm commands.
browser
Default: OS X: "open", Windows: "start", Others: "xdg-open"
Type: null, Boolean, or String
The browser that is called by npm commands to open websites.
Set to false to suppress browser behavior and instead print urls to
terminal.
Set to true to use default system URL opener.
unicode
Default: false on windows, true on mac/unix systems with a unicode locale,
as defined by the LC_ALL, LC_CTYPE, or LANG environment variables.
Type: Boolean
When set to true, npm uses unicode characters in the tree output. When
false, it uses ascii characters instead of unicode glyphs.
workspace
Default:
Type: String (can be set multiple times)
Enable running a command in the context of the configured workspaces of the
current project while filtering by running only the workspaces defined by
this configuration option.
Valid values for the workspace config are either:
Workspace names
Path to a workspace directory
Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
When set for the npm init command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project.
This value is not exported to the environment for child processes.
which
Default: null
Type: null or Number
If there are multiple funding sources, which 1-indexed source URL to open.