Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

appcd-path

Package Overview
Dependencies
Maintainers
3
Versions
55
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

appcd-path - npm Package Compare versions

Comparing version 1.1.9 to 1.1.10

5

CHANGELOG.md

@@ -0,1 +1,6 @@

# v1.1.10 (Jan 14, 2020)
* fix: Fixed bug when resolving the real path of a non-existent top-level directory/file.
[(DAEMON-310)](https://jira.appcelerator.org/browse/DAEMON-310)
# v1.1.9 (Jan 8, 2020)

@@ -2,0 +7,0 @@

45

dist/path.js

@@ -43,5 +43,4 @@ "use strict";

/**
* Tries to determine the real path for the given path. Unlike `fs.realpathSync()`, it will attempt
* to figure out the real path even if the path does not exist by resolving the nearest existing
* parent directory.
* Determines a path's real path by walking from the root to target while resolving symlinks and
* reconstructing the path. If a path does not exist, it simply appends everything
*

@@ -54,16 +53,38 @@ * @param {String} path - The path to resolve.

function real(path) {
try {
return _fs.default.realpathSync(expandPath(path));
} catch (e) {
const basename = _path2.default.basename(path);
path = expandPath(path);
const root = _path2.default.resolve('/');
const dirs = [];
let dir; // chop up the path
while (path !== root) {
dirs.unshift(_path2.default.basename(path));
path = _path2.default.dirname(path);
} // reset path to the root
if (path === _path2.default.dirname(path)) {
return path;
path = root; // walk the dirs and construct the real path
while (dir = dirs.shift()) {
const current = _path2.default.join(path, dir);
try {
if (_fs.default.lstatSync(current).isSymbolicLink()) {
const link = _fs.default.readlinkSync(current);
path = _path2.default.isAbsolute(link) ? real(link) : _path2.default.resolve(path, link);
} else {
path = current;
}
} catch (e) {
// current does not exist which means all subdirectories also do not exist, so just
// stitch everything back together
return _path2.default.resolve(current, ...dirs);
}
} // resolve any relative symlinks we joined together
return _path2.default.join(real(path), basename);
}
return path;
}
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhdGguanMiXSwibmFtZXMiOlsiRXJyb3IiLCJwcmVwYXJlU3RhY2tUcmFjZSIsInJlcXVpcmUiLCJob21lRGlyUmVnRXhwIiwid2luUmVnRXhwIiwid2luRW52VmFyUmVnRXhwIiwiZXhwYW5kUGF0aCIsInNlZ21lbnRzIiwicGxhdGZvcm0iLCJwcm9jZXNzIiwiZW52IiwiQVBQQ0RfVEVTVF9QTEFURk9STSIsInJlcGxhY2UiLCJIT01FIiwiVVNFUlBST0ZJTEUiLCJ0ZXN0IiwiX3BhdGgiLCJyZXNvbHZlIiwiam9pbiIsImFwcGx5IiwicyIsIm0iLCJuIiwicmVhbCIsInBhdGgiLCJmcyIsInJlYWxwYXRoU3luYyIsImUiLCJiYXNlbmFtZSIsImRpcm5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBS0E7O0FBQ0E7Ozs7QUFOQTtBQUNBLElBQUksQ0FBQ0EsS0FBSyxDQUFDQyxpQkFBWCxFQUE4QjtBQUM3QkMsRUFBQUEsT0FBTyxDQUFDLDZCQUFELENBQVA7QUFDQTs7QUFLRCxNQUFNQyxhQUFhLEdBQUcsZ0JBQXRCO0FBQ0EsTUFBTUMsU0FBUyxHQUFHLE1BQWxCO0FBQ0EsTUFBTUMsZUFBZSxHQUFHLGNBQXhCO0FBRUE7Ozs7Ozs7QUFNTyxTQUFTQyxVQUFULENBQW9CLEdBQUdDLFFBQXZCLEVBQWlDO0FBQ3ZDLFFBQU1DLFFBQVEsR0FBR0MsT0FBTyxDQUFDQyxHQUFSLENBQVlDLG1CQUFaLElBQW1DRixPQUFPLENBQUNELFFBQTVEO0FBQ0FELEVBQUFBLFFBQVEsQ0FBQyxDQUFELENBQVIsR0FBY0EsUUFBUSxDQUFDLENBQUQsQ0FBUixDQUFZSyxPQUFaLENBQW9CVCxhQUFwQixFQUFtQyxDQUFDTSxPQUFPLENBQUNDLEdBQVIsQ0FBWUcsSUFBWixJQUFvQkosT0FBTyxDQUFDQyxHQUFSLENBQVlJLFdBQWpDLElBQWdELElBQW5GLENBQWQ7O0FBQ0EsTUFBSVYsU0FBUyxDQUFDVyxJQUFWLENBQWVQLFFBQWYsQ0FBSixFQUE4QjtBQUM3QixXQUFPUSxlQUFNQyxPQUFOLENBQWNELGVBQU1FLElBQU4sQ0FBV0MsS0FBWCxDQUFpQixJQUFqQixFQUF1QlosUUFBdkIsRUFBaUNLLE9BQWpDLENBQXlDUCxlQUF6QyxFQUEwRCxDQUFDZSxDQUFELEVBQUlDLENBQUosRUFBT0MsQ0FBUCxLQUFhO0FBQzNGLGFBQU9iLE9BQU8sQ0FBQ0MsR0FBUixDQUFZWSxDQUFaLEtBQWtCRCxDQUF6QjtBQUNBLEtBRm9CLENBQWQsQ0FBUDtBQUdBOztBQUNELFNBQU9MLGVBQU1DLE9BQU4sQ0FBY0UsS0FBZCxDQUFvQixJQUFwQixFQUEwQlosUUFBMUIsQ0FBUDtBQUNBO0FBRUQ7Ozs7Ozs7Ozs7QUFRTyxTQUFTZ0IsSUFBVCxDQUFjQyxJQUFkLEVBQW9CO0FBQzFCLE1BQUk7QUFDSCxXQUFPQyxZQUFHQyxZQUFILENBQWdCcEIsVUFBVSxDQUFDa0IsSUFBRCxDQUExQixDQUFQO0FBQ0EsR0FGRCxDQUVFLE9BQU9HLENBQVAsRUFBVTtBQUNYLFVBQU1DLFFBQVEsR0FBR1osZUFBTVksUUFBTixDQUFlSixJQUFmLENBQWpCOztBQUNBQSxJQUFBQSxJQUFJLEdBQUdSLGVBQU1hLE9BQU4sQ0FBY0wsSUFBZCxDQUFQOztBQUNBLFFBQUlBLElBQUksS0FBS1IsZUFBTWEsT0FBTixDQUFjTCxJQUFkLENBQWIsRUFBa0M7QUFDakMsYUFBT0EsSUFBUDtBQUNBOztBQUNELFdBQU9SLGVBQU1FLElBQU4sQ0FBV0ssSUFBSSxDQUFDQyxJQUFELENBQWYsRUFBdUJJLFFBQXZCLENBQVA7QUFDQTtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLyogaXN0YW5idWwgaWdub3JlIGlmICovXG5pZiAoIUVycm9yLnByZXBhcmVTdGFja1RyYWNlKSB7XG5cdHJlcXVpcmUoJ3NvdXJjZS1tYXAtc3VwcG9ydC9yZWdpc3RlcicpO1xufVxuXG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IF9wYXRoIGZyb20gJ3BhdGgnO1xuXG5jb25zdCBob21lRGlyUmVnRXhwID0gL15+KFtcXFxcfC9dLiopPyQvO1xuY29uc3Qgd2luUmVnRXhwID0gL153aW4vO1xuY29uc3Qgd2luRW52VmFyUmVnRXhwID0gLyglKFteJV0qKSUpL2c7XG5cbi8qKlxuICogUmVzb2x2ZXMgYSBwYXRoIGludG8gYW4gYWJzb2x1dGUgcGF0aC5cbiAqXG4gKiBAcGFyYW0gey4uLlN0cmluZ30gc2VnbWVudHMgLSBUaGUgcGF0aCBzZWdtZW50cyB0byBqb2luIGFuZCByZXNvbHZlLlxuICogQHJldHVybnMge1N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4cGFuZFBhdGgoLi4uc2VnbWVudHMpIHtcblx0Y29uc3QgcGxhdGZvcm0gPSBwcm9jZXNzLmVudi5BUFBDRF9URVNUX1BMQVRGT1JNIHx8IHByb2Nlc3MucGxhdGZvcm07XG5cdHNlZ21lbnRzWzBdID0gc2VnbWVudHNbMF0ucmVwbGFjZShob21lRGlyUmVnRXhwLCAocHJvY2Vzcy5lbnYuSE9NRSB8fCBwcm9jZXNzLmVudi5VU0VSUFJPRklMRSkgKyAnJDEnKTtcblx0aWYgKHdpblJlZ0V4cC50ZXN0KHBsYXRmb3JtKSkge1xuXHRcdHJldHVybiBfcGF0aC5yZXNvbHZlKF9wYXRoLmpvaW4uYXBwbHkobnVsbCwgc2VnbWVudHMpLnJlcGxhY2Uod2luRW52VmFyUmVnRXhwLCAocywgbSwgbikgPT4ge1xuXHRcdFx0cmV0dXJuIHByb2Nlc3MuZW52W25dIHx8IG07XG5cdFx0fSkpO1xuXHR9XG5cdHJldHVybiBfcGF0aC5yZXNvbHZlLmFwcGx5KG51bGwsIHNlZ21lbnRzKTtcbn1cblxuLyoqXG4gKiBUcmllcyB0byBkZXRlcm1pbmUgdGhlIHJlYWwgcGF0aCBmb3IgdGhlIGdpdmVuIHBhdGguIFVubGlrZSBgZnMucmVhbHBhdGhTeW5jKClgLCBpdCB3aWxsIGF0dGVtcHRcbiAqIHRvIGZpZ3VyZSBvdXQgdGhlIHJlYWwgcGF0aCBldmVuIGlmIHRoZSBwYXRoIGRvZXMgbm90IGV4aXN0IGJ5IHJlc29sdmluZyB0aGUgbmVhcmVzdCBleGlzdGluZ1xuICogcGFyZW50IGRpcmVjdG9yeS5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gcGF0aCAtIFRoZSBwYXRoIHRvIHJlc29sdmUuXG4gKiBAcmV0dXJucyB7U3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVhbChwYXRoKSB7XG5cdHRyeSB7XG5cdFx0cmV0dXJuIGZzLnJlYWxwYXRoU3luYyhleHBhbmRQYXRoKHBhdGgpKTtcblx0fSBjYXRjaCAoZSkge1xuXHRcdGNvbnN0IGJhc2VuYW1lID0gX3BhdGguYmFzZW5hbWUocGF0aCk7XG5cdFx0cGF0aCA9IF9wYXRoLmRpcm5hbWUocGF0aCk7XG5cdFx0aWYgKHBhdGggPT09IF9wYXRoLmRpcm5hbWUocGF0aCkpIHtcblx0XHRcdHJldHVybiBwYXRoO1xuXHRcdH1cblx0XHRyZXR1cm4gX3BhdGguam9pbihyZWFsKHBhdGgpLCBiYXNlbmFtZSk7XG5cdH1cbn1cbiJdLCJmaWxlIjoicGF0aC5qcyJ9
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhdGguanMiXSwibmFtZXMiOlsiRXJyb3IiLCJwcmVwYXJlU3RhY2tUcmFjZSIsInJlcXVpcmUiLCJob21lRGlyUmVnRXhwIiwid2luUmVnRXhwIiwid2luRW52VmFyUmVnRXhwIiwiZXhwYW5kUGF0aCIsInNlZ21lbnRzIiwicGxhdGZvcm0iLCJwcm9jZXNzIiwiZW52IiwiQVBQQ0RfVEVTVF9QTEFURk9STSIsInJlcGxhY2UiLCJIT01FIiwiVVNFUlBST0ZJTEUiLCJ0ZXN0IiwiX3BhdGgiLCJyZXNvbHZlIiwiam9pbiIsImFwcGx5IiwicyIsIm0iLCJuIiwicmVhbCIsInBhdGgiLCJyb290IiwiZGlycyIsImRpciIsInVuc2hpZnQiLCJiYXNlbmFtZSIsImRpcm5hbWUiLCJzaGlmdCIsImN1cnJlbnQiLCJmcyIsImxzdGF0U3luYyIsImlzU3ltYm9saWNMaW5rIiwibGluayIsInJlYWRsaW5rU3luYyIsImlzQWJzb2x1dGUiLCJlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUtBOztBQUNBOzs7O0FBTkE7QUFDQSxJQUFJLENBQUNBLEtBQUssQ0FBQ0MsaUJBQVgsRUFBOEI7QUFDN0JDLEVBQUFBLE9BQU8sQ0FBQyw2QkFBRCxDQUFQO0FBQ0E7O0FBS0QsTUFBTUMsYUFBYSxHQUFHLGdCQUF0QjtBQUNBLE1BQU1DLFNBQVMsR0FBRyxNQUFsQjtBQUNBLE1BQU1DLGVBQWUsR0FBRyxjQUF4QjtBQUVBOzs7Ozs7O0FBTU8sU0FBU0MsVUFBVCxDQUFvQixHQUFHQyxRQUF2QixFQUFpQztBQUN2QyxRQUFNQyxRQUFRLEdBQUdDLE9BQU8sQ0FBQ0MsR0FBUixDQUFZQyxtQkFBWixJQUFtQ0YsT0FBTyxDQUFDRCxRQUE1RDtBQUNBRCxFQUFBQSxRQUFRLENBQUMsQ0FBRCxDQUFSLEdBQWNBLFFBQVEsQ0FBQyxDQUFELENBQVIsQ0FBWUssT0FBWixDQUFvQlQsYUFBcEIsRUFBbUMsQ0FBQ00sT0FBTyxDQUFDQyxHQUFSLENBQVlHLElBQVosSUFBb0JKLE9BQU8sQ0FBQ0MsR0FBUixDQUFZSSxXQUFqQyxJQUFnRCxJQUFuRixDQUFkOztBQUNBLE1BQUlWLFNBQVMsQ0FBQ1csSUFBVixDQUFlUCxRQUFmLENBQUosRUFBOEI7QUFDN0IsV0FBT1EsZUFBTUMsT0FBTixDQUFjRCxlQUFNRSxJQUFOLENBQVdDLEtBQVgsQ0FBaUIsSUFBakIsRUFBdUJaLFFBQXZCLEVBQWlDSyxPQUFqQyxDQUF5Q1AsZUFBekMsRUFBMEQsQ0FBQ2UsQ0FBRCxFQUFJQyxDQUFKLEVBQU9DLENBQVAsS0FBYTtBQUMzRixhQUFPYixPQUFPLENBQUNDLEdBQVIsQ0FBWVksQ0FBWixLQUFrQkQsQ0FBekI7QUFDQSxLQUZvQixDQUFkLENBQVA7QUFHQTs7QUFDRCxTQUFPTCxlQUFNQyxPQUFOLENBQWNFLEtBQWQsQ0FBb0IsSUFBcEIsRUFBMEJaLFFBQTFCLENBQVA7QUFDQTtBQUVEOzs7Ozs7Ozs7QUFPTyxTQUFTZ0IsSUFBVCxDQUFjQyxJQUFkLEVBQW9CO0FBQzFCQSxFQUFBQSxJQUFJLEdBQUdsQixVQUFVLENBQUNrQixJQUFELENBQWpCOztBQUVBLFFBQU1DLElBQUksR0FBR1QsZUFBTUMsT0FBTixDQUFjLEdBQWQsQ0FBYjs7QUFDQSxRQUFNUyxJQUFJLEdBQUcsRUFBYjtBQUNBLE1BQUlDLEdBQUosQ0FMMEIsQ0FPMUI7O0FBQ0EsU0FBT0gsSUFBSSxLQUFLQyxJQUFoQixFQUFzQjtBQUNyQkMsSUFBQUEsSUFBSSxDQUFDRSxPQUFMLENBQWFaLGVBQU1hLFFBQU4sQ0FBZUwsSUFBZixDQUFiO0FBQ0FBLElBQUFBLElBQUksR0FBR1IsZUFBTWMsT0FBTixDQUFjTixJQUFkLENBQVA7QUFDQSxHQVh5QixDQWExQjs7O0FBQ0FBLEVBQUFBLElBQUksR0FBR0MsSUFBUCxDQWQwQixDQWdCMUI7O0FBQ0EsU0FBT0UsR0FBRyxHQUFHRCxJQUFJLENBQUNLLEtBQUwsRUFBYixFQUEyQjtBQUMxQixVQUFNQyxPQUFPLEdBQUdoQixlQUFNRSxJQUFOLENBQVdNLElBQVgsRUFBaUJHLEdBQWpCLENBQWhCOztBQUNBLFFBQUk7QUFDSCxVQUFJTSxZQUFHQyxTQUFILENBQWFGLE9BQWIsRUFBc0JHLGNBQXRCLEVBQUosRUFBNEM7QUFDM0MsY0FBTUMsSUFBSSxHQUFHSCxZQUFHSSxZQUFILENBQWdCTCxPQUFoQixDQUFiOztBQUNBUixRQUFBQSxJQUFJLEdBQUdSLGVBQU1zQixVQUFOLENBQWlCRixJQUFqQixJQUF5QmIsSUFBSSxDQUFDYSxJQUFELENBQTdCLEdBQXNDcEIsZUFBTUMsT0FBTixDQUFjTyxJQUFkLEVBQW9CWSxJQUFwQixDQUE3QztBQUNBLE9BSEQsTUFHTztBQUNOWixRQUFBQSxJQUFJLEdBQUdRLE9BQVA7QUFDQTtBQUNELEtBUEQsQ0FPRSxPQUFPTyxDQUFQLEVBQVU7QUFDWDtBQUNBO0FBQ0EsYUFBT3ZCLGVBQU1DLE9BQU4sQ0FBY2UsT0FBZCxFQUF1QixHQUFHTixJQUExQixDQUFQO0FBQ0E7QUFDRCxHQS9CeUIsQ0FpQzFCOzs7QUFDQSxTQUFPRixJQUFQO0FBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbmlmICghRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UpIHtcblx0cmVxdWlyZSgnc291cmNlLW1hcC1zdXBwb3J0L3JlZ2lzdGVyJyk7XG59XG5cbmltcG9ydCBmcyBmcm9tICdmcyc7XG5pbXBvcnQgX3BhdGggZnJvbSAncGF0aCc7XG5cbmNvbnN0IGhvbWVEaXJSZWdFeHAgPSAvXn4oW1xcXFx8L10uKik/JC87XG5jb25zdCB3aW5SZWdFeHAgPSAvXndpbi87XG5jb25zdCB3aW5FbnZWYXJSZWdFeHAgPSAvKCUoW14lXSopJSkvZztcblxuLyoqXG4gKiBSZXNvbHZlcyBhIHBhdGggaW50byBhbiBhYnNvbHV0ZSBwYXRoLlxuICpcbiAqIEBwYXJhbSB7Li4uU3RyaW5nfSBzZWdtZW50cyAtIFRoZSBwYXRoIHNlZ21lbnRzIHRvIGpvaW4gYW5kIHJlc29sdmUuXG4gKiBAcmV0dXJucyB7U3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZXhwYW5kUGF0aCguLi5zZWdtZW50cykge1xuXHRjb25zdCBwbGF0Zm9ybSA9IHByb2Nlc3MuZW52LkFQUENEX1RFU1RfUExBVEZPUk0gfHwgcHJvY2Vzcy5wbGF0Zm9ybTtcblx0c2VnbWVudHNbMF0gPSBzZWdtZW50c1swXS5yZXBsYWNlKGhvbWVEaXJSZWdFeHAsIChwcm9jZXNzLmVudi5IT01FIHx8IHByb2Nlc3MuZW52LlVTRVJQUk9GSUxFKSArICckMScpO1xuXHRpZiAod2luUmVnRXhwLnRlc3QocGxhdGZvcm0pKSB7XG5cdFx0cmV0dXJuIF9wYXRoLnJlc29sdmUoX3BhdGguam9pbi5hcHBseShudWxsLCBzZWdtZW50cykucmVwbGFjZSh3aW5FbnZWYXJSZWdFeHAsIChzLCBtLCBuKSA9PiB7XG5cdFx0XHRyZXR1cm4gcHJvY2Vzcy5lbnZbbl0gfHwgbTtcblx0XHR9KSk7XG5cdH1cblx0cmV0dXJuIF9wYXRoLnJlc29sdmUuYXBwbHkobnVsbCwgc2VnbWVudHMpO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgYSBwYXRoJ3MgcmVhbCBwYXRoIGJ5IHdhbGtpbmcgZnJvbSB0aGUgcm9vdCB0byB0YXJnZXQgd2hpbGUgcmVzb2x2aW5nIHN5bWxpbmtzIGFuZFxuICogcmVjb25zdHJ1Y3RpbmcgdGhlIHBhdGguIElmIGEgcGF0aCBkb2VzIG5vdCBleGlzdCwgaXQgc2ltcGx5IGFwcGVuZHMgZXZlcnl0aGluZ1xuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBwYXRoIC0gVGhlIHBhdGggdG8gcmVzb2x2ZS5cbiAqIEByZXR1cm5zIHtTdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWFsKHBhdGgpIHtcblx0cGF0aCA9IGV4cGFuZFBhdGgocGF0aCk7XG5cblx0Y29uc3Qgcm9vdCA9IF9wYXRoLnJlc29sdmUoJy8nKTtcblx0Y29uc3QgZGlycyA9IFtdO1xuXHRsZXQgZGlyO1xuXG5cdC8vIGNob3AgdXAgdGhlIHBhdGhcblx0d2hpbGUgKHBhdGggIT09IHJvb3QpIHtcblx0XHRkaXJzLnVuc2hpZnQoX3BhdGguYmFzZW5hbWUocGF0aCkpO1xuXHRcdHBhdGggPSBfcGF0aC5kaXJuYW1lKHBhdGgpO1xuXHR9XG5cblx0Ly8gcmVzZXQgcGF0aCB0byB0aGUgcm9vdFxuXHRwYXRoID0gcm9vdDtcblxuXHQvLyB3YWxrIHRoZSBkaXJzIGFuZCBjb25zdHJ1Y3QgdGhlIHJlYWwgcGF0aFxuXHR3aGlsZSAoZGlyID0gZGlycy5zaGlmdCgpKSB7XG5cdFx0Y29uc3QgY3VycmVudCA9IF9wYXRoLmpvaW4ocGF0aCwgZGlyKTtcblx0XHR0cnkge1xuXHRcdFx0aWYgKGZzLmxzdGF0U3luYyhjdXJyZW50KS5pc1N5bWJvbGljTGluaygpKSB7XG5cdFx0XHRcdGNvbnN0IGxpbmsgPSBmcy5yZWFkbGlua1N5bmMoY3VycmVudCk7XG5cdFx0XHRcdHBhdGggPSBfcGF0aC5pc0Fic29sdXRlKGxpbmspID8gcmVhbChsaW5rKSA6IF9wYXRoLnJlc29sdmUocGF0aCwgbGluayk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRwYXRoID0gY3VycmVudDtcblx0XHRcdH1cblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBjdXJyZW50IGRvZXMgbm90IGV4aXN0IHdoaWNoIG1lYW5zIGFsbCBzdWJkaXJlY3RvcmllcyBhbHNvIGRvIG5vdCBleGlzdCwgc28ganVzdFxuXHRcdFx0Ly8gc3RpdGNoIGV2ZXJ5dGhpbmcgYmFjayB0b2dldGhlclxuXHRcdFx0cmV0dXJuIF9wYXRoLnJlc29sdmUoY3VycmVudCwgLi4uZGlycyk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gcmVzb2x2ZSBhbnkgcmVsYXRpdmUgc3ltbGlua3Mgd2Ugam9pbmVkIHRvZ2V0aGVyXG5cdHJldHVybiBwYXRoO1xufVxuIl0sImZpbGUiOiJwYXRoLmpzIn0=
{
"name": "appcd-path",
"version": "1.1.9",
"version": "1.1.10",
"description": "Library for working with paths.",

@@ -22,3 +22,3 @@ "main": "./dist/path",

"devDependencies": {
"appcd-gulp": "^2.3.1",
"appcd-gulp": "^2.3.2",
"tmp": "^0.1.0"

@@ -25,0 +25,0 @@ },

@@ -23,3 +23,3 @@ # appcd-path

```js
import { real } from 'appcd-nodejs';
import { real } from 'appcd-path';

@@ -26,0 +26,0 @@ // resolves symlinks to real path, even if symlink is broken

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc