Code
nodejs
import path from "path";
import { fileURLToPath } from "url";
// Cross-platform path joining
const file = path.join("/var", "data", "users.json");
const abs = path.resolve("data", "users.json");
const norm = path.normalize("/var/../tmp//x/");
// Parse and format
const parsed = path.parse("/var/www/index.html");
// { root, dir, base, name, ext }
const rebuilt = path.format({ dir: "/tmp", name: "out", ext: ".txt" });
// Relative and basename
path.relative("/a/b/c", "/a/b/d"); // ../d
path.basename("/a/b/index.html"); // index.html
path.basename("/a/b/index.html", ".html"); // index
path.extname("archive.tar.gz"); // .gz
// ESM: derive __dirname (not defined in ES modules)
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);