occam-file-system 5.0.221 → 5.0.225

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -64,12 +64,22 @@ function editFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPa
64
64
  });
65
65
  }
66
66
  function editDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
67
- var sourceDirectoryPath = sourceEntryPath, targetDirectoryPath = targetEntryPath, absoluteSourceDirectoryPath = concatenatePaths(projectsDirectoryPath, sourceDirectoryPath), absoluteTargetDirectoryPath = concatenatePaths(projectsDirectoryPath, targetDirectoryPath), targetDirectoryExists = checkEntryExists(absoluteTargetDirectoryPath);
68
- if (targetDirectoryExists) {
67
+ var sourceDirectoryPath = sourceEntryPath, targetDirectoryPath = targetEntryPath, absoluteSourceDirectoryPath = concatenatePaths(projectsDirectoryPath, sourceDirectoryPath), sourceDirectoryEmpty = isDirectoryEmpty(absoluteSourceDirectoryPath);
68
+ if (!sourceDirectoryEmpty) {
69
69
  targetEntryPath = sourceEntryPath; ///
70
70
  callback(sourceEntryPath, targetEntryPath);
71
71
  return;
72
72
  }
73
+ var absoluteTargetDirectoryPath = concatenatePaths(projectsDirectoryPath, targetDirectoryPath), targetDirectoryExists = checkEntryExists(absoluteTargetDirectoryPath);
74
+ if (targetDirectoryExists) {
75
+ (0, _fsextra.remove)(absoluteSourceDirectoryPath, function(error) {
76
+ if (error) {
77
+ targetEntryPath = sourceEntryPath; ///
78
+ }
79
+ callback(sourceEntryPath, targetEntryPath);
80
+ });
81
+ return;
82
+ }
73
83
  (0, _fsextra.move)(absoluteSourceDirectoryPath, absoluteTargetDirectoryPath, function(error) {
74
84
  if (error) {
75
85
  targetEntryPath = sourceEntryPath; ///
@@ -78,4 +88,4 @@ function editDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirect
78
88
  });
79
89
  }
80
90
 
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lZGl0UHJvamVjdEVudHJpZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG1vdmUgYXMgZWRpdCB9IGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0IHsgcGF0aFV0aWxpdGllcywgZmlsZVN5c3RlbVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgYXN5bmNocm9ub3VzRm9yRWFjaCB9IGZyb20gXCIuL3V0aWxpdGllcy9wYXRoTWFwc1wiO1xuXG5jb25zdCB7IGNvbmNhdGVuYXRlUGF0aHMgfSA9IHBhdGhVdGlsaXRpZXMsXG4gICAgICB7IGNoZWNrRW50cnlFeGlzdHMgfSA9IGZpbGVTeXN0ZW1VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGVkaXRQcm9qZWN0RW50cmllcyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGpzb24sIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgcGF0aE1hcHMgfSA9IGpzb247XG5cbiAgZWRpdEVudHJpZXMocGF0aE1hcHMsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgKHRhcmdldEVudHJ5UGF0aHMpID0+IHtcbiAgICBjb25zdCBqc29uID0ge1xuICAgICAgdGFyZ2V0RW50cnlQYXRoc1xuICAgIH07XG5cbiAgICBjYWxsYmFjayhqc29uKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlZGl0RW50cnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIGVudHJ5RGlyZWN0b3J5LCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGFic29sdXRlU291cmNlRW50cnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHNvdXJjZUVudHJ5UGF0aCksXG4gICAgICAgIHNvdXJjZUVudHJ5RXhpc3RzID0gY2hlY2tFbnRyeUV4aXN0cyhhYnNvbHV0ZVNvdXJjZUVudHJ5UGF0aCk7XG5cbiAgaWYgKCFzb3VyY2VFbnRyeUV4aXN0cykge1xuICAgIHRhcmdldEVudHJ5UGF0aCA9IG51bGw7XG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBlbnRyeURpcmVjdG9yeSA/XG4gICAgZWRpdERpcmVjdG9yeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykgOlxuICAgICAgZWRpdEZpbGVPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spO1xufVxuXG5mdW5jdGlvbiBlZGl0RW50cmllcyhwYXRoTWFwcywgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykge1xuICBjb25zdCB0YXJnZXRFbnRyeVBhdGhzID0gW107XG5cbiAgYXN5bmNocm9ub3VzRm9yRWFjaChcbiAgICBwYXRoTWFwcyxcbiAgICAoc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIGVudHJ5RGlyZWN0b3J5LCBuZXh0LCBkb25lLCBpbmRleCkgPT4ge1xuICAgICAgZWRpdEVudHJ5T3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBlbnRyeURpcmVjdG9yeSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCAoc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpID0+IHtcbiAgICAgICAgdGFyZ2V0RW50cnlQYXRocy5wdXNoKHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICAgICAgbmV4dCgpO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICAoKSA9PiB7XG4gICAgICBjYWxsYmFjayh0YXJnZXRFbnRyeVBhdGhzKTtcbiAgICB9XG4gICk7XG59XG5cbmZ1bmN0aW9uIGVkaXRGaWxlT3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHNvdXJjZUZpbGVQYXRoID0gc291cmNlRW50cnlQYXRoLCAvLy9cbiAgICAgICAgdGFyZ2V0RmlsZVBhdGggPSB0YXJnZXRFbnRyeVBhdGgsIC8vL1xuICAgICAgICBhYnNvbHV0ZVNvdXJjZUZpbGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHNvdXJjZUZpbGVQYXRoKSxcbiAgICAgICAgYWJzb2x1dGVUYXJnZXRGaWxlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCB0YXJnZXRGaWxlUGF0aCksXG4gICAgICAgIHRhcmdldEZpbGVFeGlzdHMgPSBjaGVja0VudHJ5RXhpc3RzKGFic29sdXRlVGFyZ2V0RmlsZVBhdGgpO1xuXG4gIGlmICh0YXJnZXRGaWxlRXhpc3RzKSB7XG4gICAgdGFyZ2V0RW50cnlQYXRoID0gc291cmNlRW50cnlQYXRoOyAgLy8vXG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBlZGl0KGFic29sdXRlU291cmNlRmlsZVBhdGgsIGFic29sdXRlVGFyZ2V0RmlsZVBhdGgsIChlcnJvcikgPT4ge1xuICAgIGlmIChlcnJvcikge1xuICAgICAgdGFyZ2V0RW50cnlQYXRoID0gc291cmNlRW50cnlQYXRoOyAgLy8vXG4gICAgfVxuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZWRpdERpcmVjdG9yeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykge1xuICBjb25zdCBzb3VyY2VEaXJlY3RvcnlQYXRoID0gc291cmNlRW50cnlQYXRoLCAgLy8vXG4gICAgICAgIHRhcmdldERpcmVjdG9yeVBhdGggPSB0YXJnZXRFbnRyeVBhdGgsICAvLy9cbiAgICAgICAgYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHNvdXJjZURpcmVjdG9yeVBhdGgpLFxuICAgICAgICBhYnNvbHV0ZVRhcmdldERpcmVjdG9yeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgdGFyZ2V0RGlyZWN0b3J5UGF0aCksXG4gICAgICAgIHRhcmdldERpcmVjdG9yeUV4aXN0cyA9IGNoZWNrRW50cnlFeGlzdHMoYWJzb2x1dGVUYXJnZXREaXJlY3RvcnlQYXRoKTtcblxuICBpZiAodGFyZ2V0RGlyZWN0b3J5RXhpc3RzKSB7XG4gICAgdGFyZ2V0RW50cnlQYXRoID0gc291cmNlRW50cnlQYXRoOyAgLy8vXG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBlZGl0KGFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCwgYWJzb2x1dGVUYXJnZXREaXJlY3RvcnlQYXRoLCAoZXJyb3IpID0+IHtcbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuICAgIH1cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcbiAgfSk7XG59XG4iXSwibmFtZXMiOlsiZWRpdFByb2plY3RFbnRyaWVzIiwiZWRpdEVudHJ5T3BlcmF0aW9uIiwiY29uY2F0ZW5hdGVQYXRocyIsInBhdGhVdGlsaXRpZXMiLCJjaGVja0VudHJ5RXhpc3RzIiwiZmlsZVN5c3RlbVV0aWxpdGllcyIsInByb2plY3RzRGlyZWN0b3J5UGF0aCIsImpzb24iLCJjYWxsYmFjayIsInBhdGhNYXBzIiwiZWRpdEVudHJpZXMiLCJ0YXJnZXRFbnRyeVBhdGhzIiwic291cmNlRW50cnlQYXRoIiwidGFyZ2V0RW50cnlQYXRoIiwiZW50cnlEaXJlY3RvcnkiLCJhYnNvbHV0ZVNvdXJjZUVudHJ5UGF0aCIsInNvdXJjZUVudHJ5RXhpc3RzIiwiZWRpdERpcmVjdG9yeU9wZXJhdGlvbiIsImVkaXRGaWxlT3BlcmF0aW9uIiwiYXN5bmNocm9ub3VzRm9yRWFjaCIsIm5leHQiLCJkb25lIiwiaW5kZXgiLCJwdXNoIiwic291cmNlRmlsZVBhdGgiLCJ0YXJnZXRGaWxlUGF0aCIsImFic29sdXRlU291cmNlRmlsZVBhdGgiLCJhYnNvbHV0ZVRhcmdldEZpbGVQYXRoIiwidGFyZ2V0RmlsZUV4aXN0cyIsImVkaXQiLCJlcnJvciIsInNvdXJjZURpcmVjdG9yeVBhdGgiLCJ0YXJnZXREaXJlY3RvcnlQYXRoIiwiYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoIiwiYWJzb2x1dGVUYXJnZXREaXJlY3RvcnlQYXRoIiwidGFyZ2V0RGlyZWN0b3J5RXhpc3RzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFVQSxPQVVDO2VBVnVCQTs7SUFZUkMsa0JBQWtCO2VBQWxCQTs7O3VCQXBCYTt5QkFDc0I7d0JBRWY7QUFFcEMsSUFBTSxBQUFFQyxtQkFBcUJDLHdCQUFhLENBQWxDRCxrQkFDRixBQUFFRSxtQkFBcUJDLDhCQUFtQixDQUF4Q0Q7QUFFTyxTQUFTSixtQkFBbUJNLHFCQUFxQixFQUFFQyxJQUFJLEVBQUVDLFFBQVE7SUFDOUUsSUFBTSxBQUFFQyxXQUFhRixLQUFiRTtJQUVSQyxZQUFZRCxVQUFVSCx1QkFBdUIsU0FBQ0s7UUFDNUMsSUFBTUosU0FBTztZQUNYSSxrQkFBQUE7UUFDRjtRQUVBSCxTQUFTRDtJQUNYO0FBQ0Y7QUFFTyxTQUFTTixtQkFBbUJXLGVBQWUsRUFBRUMsZUFBZSxFQUFFQyxjQUFjLEVBQUVSLHFCQUFxQixFQUFFRSxRQUFRO0lBQ2xILElBQU1PLDBCQUEwQmIsaUJBQWlCSSx1QkFBdUJNLGtCQUNsRUksb0JBQW9CWixpQkFBaUJXO0lBRTNDLElBQUksQ0FBQ0MsbUJBQW1CO1FBQ3RCSCxrQkFBa0I7UUFFbEJMLFNBQVNJLGlCQUFpQkM7UUFFMUI7SUFDRjtJQUVBQyxpQkFDRUcsdUJBQXVCTCxpQkFBaUJDLGlCQUFpQlAsdUJBQXVCRSxZQUM5RVUsa0JBQWtCTixpQkFBaUJDLGlCQUFpQlAsdUJBQXVCRTtBQUNqRjtBQUVBLFNBQVNFLFlBQVlELFFBQVEsRUFBRUgscUJBQXFCLEVBQUVFLFFBQVE7SUFDNUQsSUFBTUcsbUJBQW1CLEVBQUU7SUFFM0JRLElBQUFBLDZCQUFtQixFQUNqQlYsVUFDQSxTQUFDRyxpQkFBaUJDLGlCQUFpQkMsZ0JBQWdCTSxNQUFNQyxNQUFNQztRQUM3RHJCLG1CQUFtQlcsaUJBQWlCQyxpQkFBaUJDLGdCQUFnQlIsdUJBQXVCLFNBQUNNLGlCQUFpQkM7WUFDNUdGLGlCQUFpQlksSUFBSSxDQUFDVjtZQUV0Qk87UUFDRjtJQUNGLEdBQ0E7UUFDRVosU0FBU0c7SUFDWDtBQUVKO0FBRUEsU0FBU08sa0JBQWtCTixlQUFlLEVBQUVDLGVBQWUsRUFBRVAscUJBQXFCLEVBQUVFLFFBQVE7SUFDMUYsSUFBTWdCLGlCQUFpQlosaUJBQ2pCYSxpQkFBaUJaLGlCQUNqQmEseUJBQXlCeEIsaUJBQWlCSSx1QkFBdUJrQixpQkFDakVHLHlCQUF5QnpCLGlCQUFpQkksdUJBQXVCbUIsaUJBQ2pFRyxtQkFBbUJ4QixpQkFBaUJ1QjtJQUUxQyxJQUFJQyxrQkFBa0I7UUFDcEJmLGtCQUFrQkQsaUJBQWtCLEdBQUc7UUFFdkNKLFNBQVNJLGlCQUFpQkM7UUFFMUI7SUFDRjtJQUVBZ0IsSUFBQUEsYUFBSSxFQUFDSCx3QkFBd0JDLHdCQUF3QixTQUFDRztRQUNwRCxJQUFJQSxPQUFPO1lBQ1RqQixrQkFBa0JELGlCQUFrQixHQUFHO1FBQ3pDO1FBRUFKLFNBQVNJLGlCQUFpQkM7SUFDNUI7QUFDRjtBQUVBLFNBQVNJLHVCQUF1QkwsZUFBZSxFQUFFQyxlQUFlLEVBQUVQLHFCQUFxQixFQUFFRSxRQUFRO0lBQy9GLElBQU11QixzQkFBc0JuQixpQkFDdEJvQixzQkFBc0JuQixpQkFDdEJvQiw4QkFBOEIvQixpQkFBaUJJLHVCQUF1QnlCLHNCQUN0RUcsOEJBQThCaEMsaUJBQWlCSSx1QkFBdUIwQixzQkFDdEVHLHdCQUF3Qi9CLGlCQUFpQjhCO0lBRS9DLElBQUlDLHVCQUF1QjtRQUN6QnRCLGtCQUFrQkQsaUJBQWtCLEdBQUc7UUFFdkNKLFNBQVNJLGlCQUFpQkM7UUFFMUI7SUFDRjtJQUVBZ0IsSUFBQUEsYUFBSSxFQUFDSSw2QkFBNkJDLDZCQUE2QixTQUFDSjtRQUM5RCxJQUFJQSxPQUFPO1lBQ1RqQixrQkFBa0JELGlCQUFrQixHQUFHO1FBQ3pDO1FBRUFKLFNBQVNJLGlCQUFpQkM7SUFDNUI7QUFDRiJ9
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lZGl0UHJvamVjdEVudHJpZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG1vdmUgYXMgZWRpdCwgcmVtb3ZlIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgeyBwYXRoVXRpbGl0aWVzLCBmaWxlU3lzdGVtVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgeyBhc3luY2hyb25vdXNGb3JFYWNoIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3BhdGhNYXBzXCI7XG5cbmNvbnN0IHsgY29uY2F0ZW5hdGVQYXRocyB9ID0gcGF0aFV0aWxpdGllcyxcbiAgICAgIHsgY2hlY2tFbnRyeUV4aXN0cyB9ID0gZmlsZVN5c3RlbVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZWRpdFByb2plY3RFbnRyaWVzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwganNvbiwgY2FsbGJhY2spIHtcbiAgY29uc3QgeyBwYXRoTWFwcyB9ID0ganNvbjtcblxuICBlZGl0RW50cmllcyhwYXRoTWFwcywgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCAodGFyZ2V0RW50cnlQYXRocykgPT4ge1xuICAgIGNvbnN0IGpzb24gPSB7XG4gICAgICB0YXJnZXRFbnRyeVBhdGhzXG4gICAgfTtcblxuICAgIGNhbGxiYWNrKGpzb24pO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVkaXRFbnRyeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgZW50cnlEaXJlY3RvcnksIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgY29uc3QgYWJzb2x1dGVTb3VyY2VFbnRyeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc291cmNlRW50cnlQYXRoKSxcbiAgICAgICAgc291cmNlRW50cnlFeGlzdHMgPSBjaGVja0VudHJ5RXhpc3RzKGFic29sdXRlU291cmNlRW50cnlQYXRoKTtcblxuICBpZiAoIXNvdXJjZUVudHJ5RXhpc3RzKSB7XG4gICAgdGFyZ2V0RW50cnlQYXRoID0gbnVsbDtcblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGVudHJ5RGlyZWN0b3J5ID9cbiAgICBlZGl0RGlyZWN0b3J5T3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSA6XG4gICAgICBlZGl0RmlsZU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjayk7XG59XG5cbmZ1bmN0aW9uIGVkaXRFbnRyaWVzKHBhdGhNYXBzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHRhcmdldEVudHJ5UGF0aHMgPSBbXTtcblxuICBhc3luY2hyb25vdXNGb3JFYWNoKFxuICAgIHBhdGhNYXBzLFxuICAgIChzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgZW50cnlEaXJlY3RvcnksIG5leHQsIGRvbmUsIGluZGV4KSA9PiB7XG4gICAgICBlZGl0RW50cnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIGVudHJ5RGlyZWN0b3J5LCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIChzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCkgPT4ge1xuICAgICAgICB0YXJnZXRFbnRyeVBhdGhzLnB1c2godGFyZ2V0RW50cnlQYXRoKTtcblxuICAgICAgICBuZXh0KCk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgICgpID0+IHtcbiAgICAgIGNhbGxiYWNrKHRhcmdldEVudHJ5UGF0aHMpO1xuICAgIH1cbiAgKTtcbn1cblxuZnVuY3Rpb24gZWRpdEZpbGVPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgY29uc3Qgc291cmNlRmlsZVBhdGggPSBzb3VyY2VFbnRyeVBhdGgsIC8vL1xuICAgICAgICB0YXJnZXRGaWxlUGF0aCA9IHRhcmdldEVudHJ5UGF0aCwgLy8vXG4gICAgICAgIGFic29sdXRlU291cmNlRmlsZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc291cmNlRmlsZVBhdGgpLFxuICAgICAgICBhYnNvbHV0ZVRhcmdldEZpbGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHRhcmdldEZpbGVQYXRoKSxcbiAgICAgICAgdGFyZ2V0RmlsZUV4aXN0cyA9IGNoZWNrRW50cnlFeGlzdHMoYWJzb2x1dGVUYXJnZXRGaWxlUGF0aCk7XG5cbiAgaWYgKHRhcmdldEZpbGVFeGlzdHMpIHtcbiAgICB0YXJnZXRFbnRyeVBhdGggPSBzb3VyY2VFbnRyeVBhdGg7ICAvLy9cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGVkaXQoYWJzb2x1dGVTb3VyY2VGaWxlUGF0aCwgYWJzb2x1dGVUYXJnZXRGaWxlUGF0aCwgKGVycm9yKSA9PiB7XG4gICAgaWYgKGVycm9yKSB7XG4gICAgICB0YXJnZXRFbnRyeVBhdGggPSBzb3VyY2VFbnRyeVBhdGg7ICAvLy9cbiAgICB9XG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBlZGl0RGlyZWN0b3J5T3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHNvdXJjZURpcmVjdG9yeVBhdGggPSBzb3VyY2VFbnRyeVBhdGgsICAvLy9cbiAgICAgICAgdGFyZ2V0RGlyZWN0b3J5UGF0aCA9IHRhcmdldEVudHJ5UGF0aCwgIC8vL1xuICAgICAgICBhYnNvbHV0ZVNvdXJjZURpcmVjdG9yeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc291cmNlRGlyZWN0b3J5UGF0aCksXG4gICAgICAgIHNvdXJjZURpcmVjdG9yeUVtcHR5ID0gaXNEaXJlY3RvcnlFbXB0eShhYnNvbHV0ZVNvdXJjZURpcmVjdG9yeVBhdGgpO1xuXG4gIGlmICghc291cmNlRGlyZWN0b3J5RW1wdHkpIHtcbiAgICB0YXJnZXRFbnRyeVBhdGggPSBzb3VyY2VFbnRyeVBhdGg7ICAvLy9cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGFic29sdXRlVGFyZ2V0RGlyZWN0b3J5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCB0YXJnZXREaXJlY3RvcnlQYXRoKSxcbiAgICAgICAgdGFyZ2V0RGlyZWN0b3J5RXhpc3RzID0gY2hlY2tFbnRyeUV4aXN0cyhhYnNvbHV0ZVRhcmdldERpcmVjdG9yeVBhdGgpO1xuXG4gIGlmICh0YXJnZXREaXJlY3RvcnlFeGlzdHMpIHtcbiAgICByZW1vdmUoYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoLCAoZXJyb3IpID0+IHtcbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICB0YXJnZXRFbnRyeVBhdGggPSBzb3VyY2VFbnRyeVBhdGg7ICAvLy9cbiAgICAgIH1cblxuICAgICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZWRpdChhYnNvbHV0ZVNvdXJjZURpcmVjdG9yeVBhdGgsIGFic29sdXRlVGFyZ2V0RGlyZWN0b3J5UGF0aCwgKGVycm9yKSA9PiB7XG4gICAgaWYgKGVycm9yKSB7XG4gICAgICB0YXJnZXRFbnRyeVBhdGggPSBzb3VyY2VFbnRyeVBhdGg7ICAvLy9cbiAgICB9XG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbImVkaXRQcm9qZWN0RW50cmllcyIsImVkaXRFbnRyeU9wZXJhdGlvbiIsImNvbmNhdGVuYXRlUGF0aHMiLCJwYXRoVXRpbGl0aWVzIiwiY2hlY2tFbnRyeUV4aXN0cyIsImZpbGVTeXN0ZW1VdGlsaXRpZXMiLCJwcm9qZWN0c0RpcmVjdG9yeVBhdGgiLCJqc29uIiwiY2FsbGJhY2siLCJwYXRoTWFwcyIsImVkaXRFbnRyaWVzIiwidGFyZ2V0RW50cnlQYXRocyIsInNvdXJjZUVudHJ5UGF0aCIsInRhcmdldEVudHJ5UGF0aCIsImVudHJ5RGlyZWN0b3J5IiwiYWJzb2x1dGVTb3VyY2VFbnRyeVBhdGgiLCJzb3VyY2VFbnRyeUV4aXN0cyIsImVkaXREaXJlY3RvcnlPcGVyYXRpb24iLCJlZGl0RmlsZU9wZXJhdGlvbiIsImFzeW5jaHJvbm91c0ZvckVhY2giLCJuZXh0IiwiZG9uZSIsImluZGV4IiwicHVzaCIsInNvdXJjZUZpbGVQYXRoIiwidGFyZ2V0RmlsZVBhdGgiLCJhYnNvbHV0ZVNvdXJjZUZpbGVQYXRoIiwiYWJzb2x1dGVUYXJnZXRGaWxlUGF0aCIsInRhcmdldEZpbGVFeGlzdHMiLCJlZGl0IiwiZXJyb3IiLCJzb3VyY2VEaXJlY3RvcnlQYXRoIiwidGFyZ2V0RGlyZWN0b3J5UGF0aCIsImFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCIsInNvdXJjZURpcmVjdG9yeUVtcHR5IiwiaXNEaXJlY3RvcnlFbXB0eSIsImFic29sdXRlVGFyZ2V0RGlyZWN0b3J5UGF0aCIsInRhcmdldERpcmVjdG9yeUV4aXN0cyIsInJlbW92ZSJdLCJtYXBwaW5ncyI6IkFB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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-file-system",
3
3
  "author": "James Smith",
4
- "version": "5.0.221",
4
+ "version": "5.0.225",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-file-system",
7
7
  "description": "Occam's file system functionality.",
@@ -15,7 +15,7 @@
15
15
  "mkdirp": "^0.5.1",
16
16
  "necessary": "^11.0.40",
17
17
  "occam-dom": "^3.1.31",
18
- "occam-grammars": "^1.0.449"
18
+ "occam-grammars": "^1.0.451"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@swc/core": "^1.2.51",
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { move as edit } from "fs-extra";
3
+ import { move as edit, remove } from "fs-extra";
4
4
  import { pathUtilities, fileSystemUtilities } from "necessary";
5
5
 
6
6
  import { asynchronousForEach } from "./utilities/pathMaps";
@@ -83,10 +83,9 @@ function editDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirect
83
83
  const sourceDirectoryPath = sourceEntryPath, ///
84
84
  targetDirectoryPath = targetEntryPath, ///
85
85
  absoluteSourceDirectoryPath = concatenatePaths(projectsDirectoryPath, sourceDirectoryPath),
86
- absoluteTargetDirectoryPath = concatenatePaths(projectsDirectoryPath, targetDirectoryPath),
87
- targetDirectoryExists = checkEntryExists(absoluteTargetDirectoryPath);
86
+ sourceDirectoryEmpty = isDirectoryEmpty(absoluteSourceDirectoryPath);
88
87
 
89
- if (targetDirectoryExists) {
88
+ if (!sourceDirectoryEmpty) {
90
89
  targetEntryPath = sourceEntryPath; ///
91
90
 
92
91
  callback(sourceEntryPath, targetEntryPath);
@@ -94,6 +93,21 @@ function editDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirect
94
93
  return;
95
94
  }
96
95
 
96
+ const absoluteTargetDirectoryPath = concatenatePaths(projectsDirectoryPath, targetDirectoryPath),
97
+ targetDirectoryExists = checkEntryExists(absoluteTargetDirectoryPath);
98
+
99
+ if (targetDirectoryExists) {
100
+ remove(absoluteSourceDirectoryPath, (error) => {
101
+ if (error) {
102
+ targetEntryPath = sourceEntryPath; ///
103
+ }
104
+
105
+ callback(sourceEntryPath, targetEntryPath);
106
+ });
107
+
108
+ return;
109
+ }
110
+
97
111
  edit(absoluteSourceDirectoryPath, absoluteTargetDirectoryPath, (error) => {
98
112
  if (error) {
99
113
  targetEntryPath = sourceEntryPath; ///