Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
get-installed-path
Advanced tools
Get installation path where the given package is installed. Works for globally and locally installed packages
The get-installed-path npm package is used to find the path where an npm package is installed. This can be useful for various tasks such as debugging, custom module loading, or verifying installations.
Get the installed path of a package
This feature allows you to get the installed path of a specified npm package. In this example, it retrieves the path for the 'express' package.
const getInstalledPath = require('get-installed-path');
getInstalledPath('express').then((path) => {
console.log(path);
}).catch((err) => {
console.error(err);
});
Get the installed path of a package with options
This feature allows you to get the installed path of a specified npm package with additional options. In this example, the 'local' option is set to true to find the package in the local node_modules directory.
const getInstalledPath = require('get-installed-path');
getInstalledPath('express', { local: true }).then((path) => {
console.log(path);
}).catch((err) => {
console.error(err);
});
Get the installed path of a package synchronously
This feature allows you to get the installed path of a specified npm package synchronously. In this example, it retrieves the path for the 'express' package synchronously.
const getInstalledPath = require('get-installed-path');
try {
const path = getInstalledPath.sync('express');
console.log(path);
} catch (err) {
console.error(err);
}
The 'resolve' package is used to resolve the path of a module as per the Node.js module resolution algorithm. It can be used to find the path of a module, but it is more general-purpose compared to get-installed-path.
The 'pkg-dir' package finds the root directory of a Node.js project or a specific package. While it can help locate the root directory of a package, it does not specifically find the installation path of a package like get-installed-path.
The 'find-up' package is used to find a file or directory by walking up parent directories. It can be used to locate package.json files or other configuration files, but it is not specifically designed to find the installation path of npm packages.
Get installation path where the given package is installed. Works for globally and locally installed packages
You might also be interested in detect-installed.
If you have any how-to kind of questions, please read Code of Conduct and join the chat room or open an issue.
You may also read the Contributing Guide. There, beside "How to contribute?", we describe everything stated by the badges.
(TOC generated by verb using markdown-toc)
This project requires Node.js v6 and above. Use yarn v1 / npm v5 or above to install it.
$ yarn add get-installed-path
Review carefully the provided examples and the working tests.
Get installed path of globally or locally
name
package. By default it checks ifname
exists as directory in global-modules directory of the system. Passopts.local
to get path ofname
package from local directory or fromopts.cwd
. Returns rejected promise if module not found in global/localnode_modules
folder or if it exist but is not a directory.
Params
name
{string}: package nameopts
{Object}: pass opts.local
to check locallyreturns
{Promise}: rejected promise if name
not a string or is empty stringExample
const { getInstalledPath } = require('get-installed-path')
getInstalledPath('npm').then((path) => {
console.log(path)
// => '/home/charlike/.nvm/path/to/lib/node_modules/npm'
})
getInstalledPath('foo-bar-barwerwlekrjw').catch((err) => {
console.log(err.message)
// => 'module not found "foo-bar-barwerwlekrjw" in path ...'
})
getInstalledPath('npm', {
local: true
}).catch((err) => {
console.log(err.message)
// => 'module not found "foo-bar-barwerwlekrjw" in path ...'
})
getInstalledPath('global-modules', {
local: true
}).then((path) => {
console.log(path)
// => '~/code/get-installed-path/node_modules/global-modules'
})
// If you are using it for some sub-directory
// pass `opts.cwd` to be where the `node_modules`
// folder is.
process.chidr('foo-bar-baz')
getInstalledPath('global-modules', {
local: true,
cwd: '../'
}).then((path) => {
console.log(path)
// => '~/code/get-installed-path/node_modules/global-modules'
})
// When searching for the path of a package that is required
// by several other packages, its path may not be in the
// closest node_modules. In this case, to search recursively,
// you can use the following:
getInstalledPath('npm', {
paths: process.mainModule.paths
}).then((path) => {
// ...
})
// `process.mainModule` refers to the location of the current
// entry script.
Get installed path of a
name
package synchronous. Returnsboolean
whenpaths
option is used and filepath is directory, otherwise returns a full filepath OR throws error.
Params
name
{string}: package nameopts
{Object}: pass opts.local
to check locallyreturns
{string}: The full filepath or throw TypeError
if name
not a string or is empty stringExample
const { getInstalledPathSync } = require('get-installed-path')
const npmPath = getInstalledPathSync('npm')
console.log(npmPath)
// => '/home/charlike/.nvm/path/to/lib/node_modules/npm'
const gmPath = getInstalledPathSync('global-modules', { local: true })
console.log(gmPath)
// => '~/code/get-installed-path/node_modules/global-modules'
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Please read the Contributing Guide and Code of Conduct documents for advices.
Copyright © 2016-2017, Charlike Mike Reagent. Released under the MIT License.
This file was generated by verb-generate-readme, v0.6.0, on October 12, 2017.
Project scaffolded and managed with hela.
FAQs
Get installation path where the given package is installed. Works for globally and locally installed packages
We found that get-installed-path demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.