POSIX Path Normalizer

1.1.1 · maintenance · verified Tue Apr 21

The `ensure-posix-path` package is a minimalist JavaScript utility designed to convert Windows-style file paths, which conventionally use backslashes (`\`), into POSIX-compliant paths that exclusively utilize forward slashes (`/`). This transformation is crucial for maintaining path consistency across diverse operating systems, particularly within cross-platform development workflows, build processes, and web-related applications where URLs and file paths mandate a uniform POSIX format. The package is currently at stable version 1.1.1, with its last publication occurring approximately seven years ago (as of 2026), indicating a mature and stable codebase with an infrequent release cadence. Its key differentiator from Node.js's native `path.posix` module is its explicit conversion of backslashes to forward slashes, a functionality `path.posix` does not inherently provide, instead focusing on POSIX-style operations once a path is already in that format.

Common errors

Warnings

Install

Imports

Quickstart

Demonstrates how to import and use `ensurePosixPath` to convert various path strings into their POSIX-compliant forward-slash equivalents.

import ensurePosixPath from 'ensure-posix-path';

// Example 1: Basic Windows path conversion
const windowsPath1 = 'C:\\Projects\\my-app\\src\\index.js';
const posixPath1 = ensurePosixPath(windowsPath1);
console.log(`Windows Path: ${windowsPath1}`);
console.log(`POSIX Path:   ${posixPath1}`);
// Expected: C:/Projects/my-app/src/index.js

// Example 2: Path with mixed separators (still normalizes to POSIX)
const mixedPath = 'folder\\sub/file.txt';
const posixPath2 = ensurePosixPath(mixedPath);
console.log(`Mixed Path:   ${mixedPath}`);
console.log(`POSIX Path:   ${posixPath2}`);
// Expected: folder/sub/file.txt

// Example 3: Already POSIX path (remains unchanged)
const alreadyPosix = '/var/www/html/app.js';
const posixPath3 = ensurePosixPath(alreadyPosix);
console.log(`Already POSIX: ${alreadyPosix}`);
console.log(`POSIX Path:    ${posixPath3}`);
// Expected: /var/www/html/app.js

// Note: This utility only handles separator conversion; it does not resolve '..' or '.' segments.
const unresolvedPath = 'dir/../another-dir/file.js';
const posixPath4 = ensurePosixPath(unresolvedPath);
console.log(`Unresolved: ${unresolvedPath}`);
console.log(`POSIX (unresolved): ${posixPath4}`);
// Expected: dir/../another-dir/file.js (no change as no backslashes)

view raw JSON →