Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
path-browserify
Advanced tools
The path-browserify npm package is a version of Node.js core path module for the browser. It provides utilities for working with file and directory paths, allowing you to perform operations such as normalization, joining, and resolving paths in a way that is compatible with browser environments.
Normalization
Normalize a string path, taking care of '..' and '.' parts and multiple slashes.
const path = require('path-browserify');
const normalizedPath = path.normalize('/foo/bar//baz/asdf/quux/..');
Joining Paths
Join all arguments together and normalize the resulting path.
const path = require('path-browserify');
const joinedPath = path.join('/foo', 'bar', 'baz/asdf', 'quux', '..');
Resolving Paths
Resolve a sequence of paths or path segments into an absolute path.
const path = require('path-browserify');
const resolvedPath = path.resolve('foo/bar', '/tmp/file/', '..', 'a/../subfile');
Basename
Get the last portion of a path, similar to the Unix basename command.
const path = require('path-browserify');
const base = path.basename('/foo/bar/baz/asdf/quux.html');
Extension Name
Return the extension of the path, from the last occurrence of the '.' (period) character to end of string in the last portion of the path.
const path = require('path-browserify');
const ext = path.extname('index.html');
Directory Name
Return the directory name of a path, similar to the Unix dirname command.
const path = require('path-browserify');
const dir = path.dirname('/foo/bar/baz/asdf/quux');
This is the original Node.js path module itself. It provides the same functionality as path-browserify but is intended for use in Node.js server-side environments rather than the browser.
A plugin for webpack that allows you to use the Node.js path module in browser environments. It is similar to path-browserify but is specifically tailored for integration with webpack's module bundling system.
A path manipulation library that extends the Node.js path module's functionality. It adds features like preserving trailing slashes and normalizing paths to a consistent format, which can be useful in certain situations. It is an alternative to path-browserify with some additional features.
The
path
module from Node.js for browsers
This implements the Node.js path
module for environments that do not have it, like browsers.
path-browserify
currently matches the Node.js 10.3 API.
You usually do not have to install path-browserify
yourself! If your code runs in Node.js, path
is built in. If your code runs in the browser, bundlers like browserify or webpack include the path-browserify
module by default.
But if none of those apply, with npm do:
npm install path-browserify
var path = require('path')
var filename = 'logo.png';
var logo = path.join('./assets/img', filename);
document.querySelector('#logo').src = logo;
See the Node.js path docs. path-browserify
currently matches the Node.js 10.3 API.
path-browserify
only implements the POSIX functions, not the win32 ones.
PRs are very welcome! The main way to contribute to path-browserify
is by porting features, bugfixes and tests from Node.js. Ideally, code contributions to this module are copy-pasted from Node.js and transpiled to ES5, rather than reimplemented from scratch. Matching the Node.js code as closely as possible makes maintenance simpler when new changes land in Node.js.
This module intends to provide exactly the same API as Node.js, so features that are not available in the core path
module will not be accepted. Feature requests should instead be directed at nodejs/node and will be added to this module once they are implemented in Node.js.
If there is a difference in behaviour between Node.js's path
module and this module, please open an issue!
1.0.1
FAQs
the path module from node core for browsers
The npm package path-browserify receives a total of 15,413,130 weekly downloads. As such, path-browserify popularity was classified as popular.
We found that path-browserify demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 40 open source maintainers 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.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.