| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | 
							- /**
 
-  * @fileoverview Common helpers for operations on filenames and paths
 
-  * @author Ian VanSchooten
 
-  */
 
- "use strict";
 
- //------------------------------------------------------------------------------
 
- // Requirements
 
- //------------------------------------------------------------------------------
 
- const path = require("path");
 
- //------------------------------------------------------------------------------
 
- // Private
 
- //------------------------------------------------------------------------------
 
- /**
 
-  * Replace Windows with posix style paths
 
-  *
 
-  * @param {string} filepath   Path to convert
 
-  * @returns {string}          Converted filepath
 
-  */
 
- function convertPathToPosix(filepath) {
 
-     const normalizedFilepath = path.normalize(filepath);
 
-     const posixFilepath = normalizedFilepath.replace(/\\/g, "/");
 
-     return posixFilepath;
 
- }
 
- /**
 
-  * Converts an absolute filepath to a relative path from a given base path
 
-  *
 
-  * For example, if the filepath is `/my/awesome/project/foo.bar`,
 
-  * and the base directory is `/my/awesome/project/`,
 
-  * then this function should return `foo.bar`.
 
-  *
 
-  * path.relative() does something similar, but it requires a baseDir (`from` argument).
 
-  * This function makes it optional and just removes a leading slash if the baseDir is not given.
 
-  *
 
-  * It does not take into account symlinks (for now).
 
-  *
 
-  * @param {string} filepath  Path to convert to relative path.  If already relative,
 
-  *                           it will be assumed to be relative to process.cwd(),
 
-  *                           converted to absolute, and then processed.
 
-  * @param {string} [baseDir] Absolute base directory to resolve the filepath from.
 
-  *                           If not provided, all this function will do is remove
 
-  *                           a leading slash.
 
-  * @returns {string} Relative filepath
 
-  */
 
- function getRelativePath(filepath, baseDir) {
 
-     const absolutePath = path.isAbsolute(filepath)
 
-         ? filepath
 
-         : path.resolve(filepath);
 
-     if (baseDir) {
 
-         if (!path.isAbsolute(baseDir)) {
 
-             throw new Error("baseDir should be an absolute path");
 
-         }
 
-         return path.relative(baseDir, absolutePath);
 
-     }
 
-     return absolutePath.replace(/^\//, "");
 
- }
 
- //------------------------------------------------------------------------------
 
- // Public Interface
 
- //------------------------------------------------------------------------------
 
- module.exports = {
 
-     convertPathToPosix,
 
-     getRelativePath
 
- };
 
 
  |