occam-file-system 5.0.95 → 5.0.96
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.
- package/lib/createProjectEntry.js +78 -0
- package/lib/main.js +5 -1
- package/package.json +1 -1
- package/src/createProjectEntry.js +95 -0
- package/src/main.js +1 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
default: function() {
|
|
13
|
+
return createProjectEntry;
|
|
14
|
+
},
|
|
15
|
+
createEntryOperation: function() {
|
|
16
|
+
return createEntryOperation;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
var _necessary = require("necessary");
|
|
20
|
+
var _fsExtra = require("fs-extra");
|
|
21
|
+
var first = _necessary.arrayUtilities.first, concatenatePaths = _necessary.pathUtilities.concatenatePaths, checkEntryExists = _necessary.fileSystemUtilities.checkEntryExists, isEntryDirectory = _necessary.fileSystemUtilities.isEntryDirectory;
|
|
22
|
+
function createProjectEntry(projectsDirectoryPath, json, callback) {
|
|
23
|
+
var pathMaps = json.pathMaps, firstPathMap = first(pathMaps), pathMap = firstPathMap, sourceEntryPath = pathMap.sourceEntryPath, targetEntryPath = pathMap.targetEntryPath;
|
|
24
|
+
createEntryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, function(sourceEntryPath, targetEntryPath) {
|
|
25
|
+
var sourceEntryPaths = [
|
|
26
|
+
sourceEntryPath
|
|
27
|
+
], targetEntryPaths = [
|
|
28
|
+
targetEntryPath
|
|
29
|
+
];
|
|
30
|
+
var _$json = {
|
|
31
|
+
sourceEntryPaths: sourceEntryPaths,
|
|
32
|
+
targetEntryPaths: targetEntryPaths
|
|
33
|
+
};
|
|
34
|
+
callback(_$json);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
function createEntryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
|
|
38
|
+
var absoluteSourceEntryPath = concatenatePaths(projectsDirectoryPath, sourceEntryPath), entryDirectory = isEntryDirectory(absoluteSourceEntryPath);
|
|
39
|
+
entryDirectory ? createDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) : createFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback);
|
|
40
|
+
}
|
|
41
|
+
function createFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
|
|
42
|
+
var targetFilePath = targetEntryPath; ///
|
|
43
|
+
if (targetFilePath === null) {
|
|
44
|
+
callback(sourceEntryPath, targetEntryPath);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
var absoluteTargetFilePath = concatenatePaths(projectsDirectoryPath, targetFilePath), targetFileExists = checkEntryExists(absoluteTargetFilePath);
|
|
48
|
+
if (targetFileExists) {
|
|
49
|
+
callback(sourceEntryPath, targetEntryPath);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
(0, _fsExtra.createFile)(absoluteTargetFilePath, function(error) {
|
|
53
|
+
if (error) {
|
|
54
|
+
targetEntryPath = null; ///
|
|
55
|
+
}
|
|
56
|
+
callback(sourceEntryPath, targetEntryPath);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
function createDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
|
|
60
|
+
var targetDirectoryPath = targetEntryPath; //
|
|
61
|
+
if (targetDirectoryPath === null) {
|
|
62
|
+
callback(sourceEntryPath, targetEntryPath);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
var absoluteTargetDirectoryPath = concatenatePaths(projectsDirectoryPath, targetDirectoryPath), targetDirectoryExists = checkEntryExists(absoluteTargetDirectoryPath);
|
|
66
|
+
if (targetDirectoryExists) {
|
|
67
|
+
callback(sourceEntryPath, targetEntryPath);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
(0, _fsExtra.mkdirs)(absoluteTargetDirectoryPath, function(error) {
|
|
71
|
+
if (error) {
|
|
72
|
+
targetEntryPath = null; ///
|
|
73
|
+
}
|
|
74
|
+
callback(sourceEntryPath, targetEntryPath);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVQcm9qZWN0RW50cnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuaW1wb3J0IHsgcGF0aFV0aWxpdGllcywgZmlsZVN5c3RlbVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcbmltcG9ydCB7IGNyZWF0ZUZpbGUsIG1rZGlycyBhcyBjcmVhdGVEaXJlY3RvcnkgfSBmcm9tIFwiZnMtZXh0cmFcIjtcblxuY29uc3QgeyBmaXJzdCB9ID0gYXJyYXlVdGlsaXRpZXMsXG4gICAgICB7IGNvbmNhdGVuYXRlUGF0aHMgfSA9IHBhdGhVdGlsaXRpZXMsXG4gICAgICB7IGNoZWNrRW50cnlFeGlzdHMsIGlzRW50cnlEaXJlY3RvcnkgfSA9IGZpbGVTeXN0ZW1VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZVByb2plY3RFbnRyeShwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGpzb24sIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgcGF0aE1hcHMgfSA9IGpzb24sXG4gICAgICAgIGZpcnN0UGF0aE1hcCA9IGZpcnN0KHBhdGhNYXBzKSxcbiAgICAgICAgcGF0aE1hcCA9IGZpcnN0UGF0aE1hcCwgIC8vL1xuICAgICAgICB7IHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoIH0gPSBwYXRoTWFwO1xuXG4gIGNyZWF0ZUVudHJ5T3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIChzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCkgPT4ge1xuICAgIGNvbnN0IHNvdXJjZUVudHJ5UGF0aHMgPSBbXG4gICAgICAgICAgICBzb3VyY2VFbnRyeVBhdGhcbiAgICAgICAgICBdLFxuICAgICAgICAgIHRhcmdldEVudHJ5UGF0aHMgPSBbXG4gICAgICAgICAgICB0YXJnZXRFbnRyeVBhdGhcbiAgICAgICAgICBdO1xuXG4gICAgY29uc3QganNvbiA9IHtcbiAgICAgIHNvdXJjZUVudHJ5UGF0aHMsXG4gICAgICB0YXJnZXRFbnRyeVBhdGhzXG4gICAgfTtcblxuICAgIGNhbGxiYWNrKGpzb24pO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVudHJ5T3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGFic29sdXRlU291cmNlRW50cnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHNvdXJjZUVudHJ5UGF0aCksXG4gICAgICAgIGVudHJ5RGlyZWN0b3J5ID0gaXNFbnRyeURpcmVjdG9yeShhYnNvbHV0ZVNvdXJjZUVudHJ5UGF0aCk7XG5cbiAgZW50cnlEaXJlY3RvcnkgP1xuICAgIGNyZWF0ZURpcmVjdG9yeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykgOlxuICAgICAgY3JlYXRlRmlsZU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjayk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUZpbGVPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgY29uc3QgdGFyZ2V0RmlsZVBhdGggPSB0YXJnZXRFbnRyeVBhdGg7ICAvLy9cblxuICBpZiAodGFyZ2V0RmlsZVBhdGggPT09IG51bGwpIHtcbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBhYnNvbHV0ZVRhcmdldEZpbGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHRhcmdldEZpbGVQYXRoKSxcbiAgICAgICAgdGFyZ2V0RmlsZUV4aXN0cyA9IGNoZWNrRW50cnlFeGlzdHMoYWJzb2x1dGVUYXJnZXRGaWxlUGF0aCk7XG5cbiAgaWYgKHRhcmdldEZpbGVFeGlzdHMpIHtcbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjcmVhdGVGaWxlKGFic29sdXRlVGFyZ2V0RmlsZVBhdGgsIChlcnJvcikgPT4ge1xuICAgIGlmIChlcnJvcikge1xuICAgICAgdGFyZ2V0RW50cnlQYXRoID0gbnVsbDsgIC8vL1xuICAgIH1cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZURpcmVjdG9yeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykge1xuICBjb25zdCB0YXJnZXREaXJlY3RvcnlQYXRoID0gdGFyZ2V0RW50cnlQYXRoOyAvL1xuXG4gIGlmICh0YXJnZXREaXJlY3RvcnlQYXRoID09PSBudWxsKSB7XG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgYWJzb2x1dGVUYXJnZXREaXJlY3RvcnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHRhcmdldERpcmVjdG9yeVBhdGgpLFxuICAgICAgICB0YXJnZXREaXJlY3RvcnlFeGlzdHMgPSBjaGVja0VudHJ5RXhpc3RzKGFic29sdXRlVGFyZ2V0RGlyZWN0b3J5UGF0aCk7XG5cbiAgaWYgKHRhcmdldERpcmVjdG9yeUV4aXN0cykge1xuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGNyZWF0ZURpcmVjdG9yeShhYnNvbHV0ZVRhcmdldERpcmVjdG9yeVBhdGgsIChlcnJvcikgPT4ge1xuICAgIGlmIChlcnJvcikge1xuICAgICAgdGFyZ2V0RW50cnlQYXRoID0gbnVsbDsgIC8vL1xuICAgIH1cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcbiAgfSk7XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlUHJvamVjdEVudHJ5IiwiY3JlYXRlRW50cnlPcGVyYXRpb24iLCJmaXJzdCIsImFycmF5VXRpbGl0aWVzIiwiY29uY2F0ZW5hdGVQYXRocyIsInBhdGhVdGlsaXRpZXMiLCJjaGVja0VudHJ5RXhpc3RzIiwiZmlsZVN5c3RlbVV0aWxpdGllcyIsImlzRW50cnlEaXJlY3RvcnkiLCJwcm9qZWN0c0RpcmVjdG9yeVBhdGgiLCJqc29uIiwiY2FsbGJhY2siLCJwYXRoTWFwcyIsImZpcnN0UGF0aE1hcCIsInBhdGhNYXAiLCJzb3VyY2VFbnRyeVBhdGgiLCJ0YXJnZXRFbnRyeVBhdGgiLCJzb3VyY2VFbnRyeVBhdGhzIiwidGFyZ2V0RW50cnlQYXRocyIsImFic29sdXRlU291cmNlRW50cnlQYXRoIiwiZW50cnlEaXJlY3RvcnkiLCJjcmVhdGVEaXJlY3RvcnlPcGVyYXRpb24iLCJjcmVhdGVGaWxlT3BlcmF0aW9uIiwidGFyZ2V0RmlsZVBhdGgiLCJhYnNvbHV0ZVRhcmdldEZpbGVQYXRoIiwidGFyZ2V0RmlsZUV4aXN0cyIsImNyZWF0ZUZpbGUiLCJlcnJvciIsInRhcmdldERpcmVjdG9yeVBhdGgiLCJhYnNvbHV0ZVRhcmdldERpcmVjdG9yeVBhdGgiLCJ0YXJnZXREaXJlY3RvcnlFeGlzdHMiLCJjcmVhdGVEaXJlY3RvcnkiXSwibWFwcGluZ3MiOiJBQUFBOzs7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
|
package/lib/main.js
CHANGED
|
@@ -78,6 +78,9 @@ _export(exports, {
|
|
|
78
78
|
renameProjectEntry: function() {
|
|
79
79
|
return _renameProjectEntry.default;
|
|
80
80
|
},
|
|
81
|
+
createProjectEntry: function() {
|
|
82
|
+
return _createProjectEntry.default;
|
|
83
|
+
},
|
|
81
84
|
moveProjectEntries: function() {
|
|
82
85
|
return _moveProjectEntries.default;
|
|
83
86
|
},
|
|
@@ -108,6 +111,7 @@ var _saveFiles = /*#__PURE__*/ _interopRequireDefault(require("./saveFiles"));
|
|
|
108
111
|
var _loadProjects = /*#__PURE__*/ _interopRequireDefault(require("./loadProjects"));
|
|
109
112
|
var _loadReleases = /*#__PURE__*/ _interopRequireDefault(require("./loadReleases"));
|
|
110
113
|
var _renameProjectEntry = /*#__PURE__*/ _interopRequireDefault(require("./renameProjectEntry"));
|
|
114
|
+
var _createProjectEntry = /*#__PURE__*/ _interopRequireDefault(require("./createProjectEntry"));
|
|
111
115
|
var _moveProjectEntries = /*#__PURE__*/ _interopRequireDefault(require("./moveProjectEntries"));
|
|
112
116
|
var _removeProjectEntries = /*#__PURE__*/ _interopRequireDefault(require("./removeProjectEntries"));
|
|
113
117
|
function _interopRequireDefault(obj) {
|
|
@@ -116,4 +120,4 @@ function _interopRequireDefault(obj) {
|
|
|
116
120
|
};
|
|
117
121
|
}
|
|
118
122
|
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIEZpbGUgfSBmcm9tIFwiLi9maWxlXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEZpbGVzIH0gZnJvbSBcIi4vZmlsZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVmVyc2lvbiB9IGZyb20gXCIuL3ZlcnNpb25cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUmVsZWFzZSB9IGZyb20gXCIuL3JlbGVhc2VcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRW50cmllcyB9IGZyb20gXCIuL2VudHJpZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUHJvamVjdCB9IGZyb20gXCIuL3Byb2plY3RcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUHJvamVjdHMgfSBmcm9tIFwiLi9wcm9qZWN0c1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBEZXBlbmRlbmN5IH0gZnJvbSBcIi4vZGVwZW5kZW5jeVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBEZXBlbmRlbmNpZXMgfSBmcm9tIFwiLi9kZXBlbmRlbmNpZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU2hvcnRlbmVkVmVyc2lvbiB9IGZyb20gXCIuL3Nob3J0ZW5lZFZlcnNpb25cIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBmaWxlTmFtZXMgfSBmcm9tIFwiLi9maWxlTmFtZXNcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBodHRwVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2h0dHBcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY29udGVudFV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9jb250ZW50XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGZpbGVQYXRoVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2ZpbGVQYXRoXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIG1ldGFKU09OVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL21ldGFKU09OXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGZpbGVTeXN0ZW1VdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvZmlsZVN5c3RlbVwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIGxvYWRGaWxlIH0gZnJvbSBcIi4vbG9hZEZpbGVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2F2ZUZpbGUgfSBmcm9tIFwiLi9zYXZlRmlsZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBsb2FkRmlsZXMgfSBmcm9tIFwiLi9sb2FkRmlsZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2F2ZUZpbGVzIH0gZnJvbSBcIi4vc2F2ZUZpbGVzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGxvYWRQcm9qZWN0cyB9IGZyb20gXCIuL2xvYWRQcm9qZWN0c1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBsb2FkUmVsZWFzZXMgfSBmcm9tIFwiLi9sb2FkUmVsZWFzZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcmVuYW1lUHJvamVjdEVudHJ5IH0gZnJvbSBcIi4vcmVuYW1lUHJvamVjdEVudHJ5XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGNyZWF0ZVByb2plY3RFbnRyeSB9IGZyb20gXCIuL2NyZWF0ZVByb2plY3RFbnRyeVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBtb3ZlUHJvamVjdEVudHJpZXMgfSBmcm9tIFwiLi9tb3ZlUHJvamVjdEVudHJpZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcmVtb3ZlUHJvamVjdEVudHJpZXMgfSBmcm9tIFwiLi9yZW1vdmVQcm9qZWN0RW50cmllc1wiO1xuIl0sIm5hbWVzIjpbIkZpbGUiLCJGaWxlcyIsIlZlcnNpb24iLCJSZWxlYXNlIiwiRW50cmllcyIsIlByb2plY3QiLCJQcm9qZWN0cyIsIkRlcGVuZGVuY3kiLCJEZXBlbmRlbmNpZXMiLCJTaG9ydGVuZWRWZXJzaW9uIiwiZmlsZU5hbWVzIiwiaHR0cFV0aWxpdGllcyIsImNvbnRlbnRVdGlsaXRpZXMiLCJmaWxlUGF0aFV0aWxpdGllcyIsIm1ldGFKU09OVXRpbGl0aWVzIiwiZmlsZVN5c3RlbVV0aWxpdGllcyIsImxvYWRGaWxlIiwic2F2ZUZpbGUiLCJsb2FkRmlsZXMiLCJzYXZlRmlsZXMiLCJsb2FkUHJvamVjdHMiLCJsb2FkUmVsZWFzZXMiLCJyZW5hbWVQcm9qZWN0RW50cnkiLCJjcmVhdGVQcm9qZWN0RW50cnkiLCJtb3ZlUHJvamVjdEVudHJpZXMiLCJyZW1vdmVQcm9qZWN0RW50cmllcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBRW9CQSxJQUFJO2VBQUpBLGFBQUk7O0lBQ0pDLEtBQUs7ZUFBTEEsY0FBSzs7SUFDTEMsT0FBTztlQUFQQSxnQkFBTzs7SUFDUEMsT0FBTztlQUFQQSxnQkFBTzs7SUFDUEMsT0FBTztlQUFQQSxnQkFBTzs7SUFDUEMsT0FBTztlQUFQQSxnQkFBTzs7SUFDUEMsUUFBUTtlQUFSQSxpQkFBUTs7SUFDUkMsVUFBVTtlQUFWQSxtQkFBVTs7SUFDVkMsWUFBWTtlQUFaQSxxQkFBWTs7SUFDWkMsZ0JBQWdCO2VBQWhCQSx5QkFBZ0I7O0lBRWhCQyxTQUFTO2VBQVRBLGtCQUFTOztJQUVUQyxhQUFhO2VBQWJBLGFBQWE7O0lBQ2JDLGdCQUFnQjtlQUFoQkEsZ0JBQWdCOztJQUNoQkMsaUJBQWlCO2VBQWpCQSxpQkFBaUI7O0lBQ2pCQyxpQkFBaUI7ZUFBakJBLGlCQUFpQjs7SUFDakJDLG1CQUFtQjtlQUFuQkEsbUJBQW1COztJQUVuQkMsUUFBUTtlQUFSQSxpQkFBUTs7SUFDUkMsUUFBUTtlQUFSQSxpQkFBUTs7SUFDUkMsU0FBUztlQUFUQSxrQkFBUzs7SUFDVEMsU0FBUztlQUFUQSxrQkFBUzs7SUFDVEMsWUFBWTtlQUFaQSxxQkFBWTs7SUFDWkMsWUFBWTtlQUFaQSxxQkFBWTs7SUFDWkMsa0JBQWtCO2VBQWxCQSwyQkFBa0I7O0lBQ2xCQyxrQkFBa0I7ZUFBbEJBLDJCQUFrQjs7SUFDbEJDLGtCQUFrQjtlQUFsQkEsMkJBQWtCOztJQUNsQkMsb0JBQW9CO2VBQXBCQSw2QkFBb0I7Ozt5REE1QlI7MERBQ0M7NERBQ0U7NERBQ0E7NERBQ0E7NERBQ0E7NkRBQ0M7K0RBQ0U7aUVBQ0U7cUVBQ0k7OERBRVA7eURBRUk7NERBQ0c7NkRBQ0M7NkRBQ0E7K0RBQ0U7NkRBRVg7NkRBQ0E7OERBQ0M7OERBQ0E7aUVBQ0c7aUVBQ0E7dUVBQ007dUVBQ0E7dUVBQ0E7eUVBQ0UifQ==
|
package/package.json
CHANGED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { arrayUtilities } from "necessary";
|
|
4
|
+
import { pathUtilities, fileSystemUtilities } from "necessary";
|
|
5
|
+
import { createFile, mkdirs as createDirectory } from "fs-extra";
|
|
6
|
+
|
|
7
|
+
const { first } = arrayUtilities,
|
|
8
|
+
{ concatenatePaths } = pathUtilities,
|
|
9
|
+
{ checkEntryExists, isEntryDirectory } = fileSystemUtilities;
|
|
10
|
+
|
|
11
|
+
export default function createProjectEntry(projectsDirectoryPath, json, callback) {
|
|
12
|
+
const { pathMaps } = json,
|
|
13
|
+
firstPathMap = first(pathMaps),
|
|
14
|
+
pathMap = firstPathMap, ///
|
|
15
|
+
{ sourceEntryPath, targetEntryPath } = pathMap;
|
|
16
|
+
|
|
17
|
+
createEntryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, (sourceEntryPath, targetEntryPath) => {
|
|
18
|
+
const sourceEntryPaths = [
|
|
19
|
+
sourceEntryPath
|
|
20
|
+
],
|
|
21
|
+
targetEntryPaths = [
|
|
22
|
+
targetEntryPath
|
|
23
|
+
];
|
|
24
|
+
|
|
25
|
+
const json = {
|
|
26
|
+
sourceEntryPaths,
|
|
27
|
+
targetEntryPaths
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
callback(json);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export function createEntryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
|
|
35
|
+
const absoluteSourceEntryPath = concatenatePaths(projectsDirectoryPath, sourceEntryPath),
|
|
36
|
+
entryDirectory = isEntryDirectory(absoluteSourceEntryPath);
|
|
37
|
+
|
|
38
|
+
entryDirectory ?
|
|
39
|
+
createDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) :
|
|
40
|
+
createFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function createFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
|
|
44
|
+
const targetFilePath = targetEntryPath; ///
|
|
45
|
+
|
|
46
|
+
if (targetFilePath === null) {
|
|
47
|
+
callback(sourceEntryPath, targetEntryPath);
|
|
48
|
+
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const absoluteTargetFilePath = concatenatePaths(projectsDirectoryPath, targetFilePath),
|
|
53
|
+
targetFileExists = checkEntryExists(absoluteTargetFilePath);
|
|
54
|
+
|
|
55
|
+
if (targetFileExists) {
|
|
56
|
+
callback(sourceEntryPath, targetEntryPath);
|
|
57
|
+
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
createFile(absoluteTargetFilePath, (error) => {
|
|
62
|
+
if (error) {
|
|
63
|
+
targetEntryPath = null; ///
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
callback(sourceEntryPath, targetEntryPath);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
function createDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
|
|
71
|
+
const targetDirectoryPath = targetEntryPath; //
|
|
72
|
+
|
|
73
|
+
if (targetDirectoryPath === null) {
|
|
74
|
+
callback(sourceEntryPath, targetEntryPath);
|
|
75
|
+
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
const absoluteTargetDirectoryPath = concatenatePaths(projectsDirectoryPath, targetDirectoryPath),
|
|
80
|
+
targetDirectoryExists = checkEntryExists(absoluteTargetDirectoryPath);
|
|
81
|
+
|
|
82
|
+
if (targetDirectoryExists) {
|
|
83
|
+
callback(sourceEntryPath, targetEntryPath);
|
|
84
|
+
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
createDirectory(absoluteTargetDirectoryPath, (error) => {
|
|
89
|
+
if (error) {
|
|
90
|
+
targetEntryPath = null; ///
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
callback(sourceEntryPath, targetEntryPath);
|
|
94
|
+
});
|
|
95
|
+
}
|
package/src/main.js
CHANGED
|
@@ -26,5 +26,6 @@ export { default as saveFiles } from "./saveFiles";
|
|
|
26
26
|
export { default as loadProjects } from "./loadProjects";
|
|
27
27
|
export { default as loadReleases } from "./loadReleases";
|
|
28
28
|
export { default as renameProjectEntry } from "./renameProjectEntry";
|
|
29
|
+
export { default as createProjectEntry } from "./createProjectEntry";
|
|
29
30
|
export { default as moveProjectEntries } from "./moveProjectEntries";
|
|
30
31
|
export { default as removeProjectEntries } from "./removeProjectEntries";
|