fix check node of sub tree
This commit is contained in:
1 parent
13986c9b2f
commit
e4cfab885a
2 files changed
+13
-4
No files matched your search
@@ -746,7 +746,7 @@ class TreeNode extends Rect {
|
|||||||
|
|
||||||
if (
|
if (
|
||||||
!b3util.nodeDefs.has(data.name) ||
|
!b3util.nodeDefs.has(data.name) ||
|
||||||
(data.path && !node.children?.length) ||
|
(data.path && !data.$mtime) ||
|
||||||
(nodeDef.group && !nodeDef.group.some((g) => b3util.usingGroups?.[g])) ||
|
(nodeDef.group && !nodeDef.group.some((g) => b3util.usingGroups?.[g])) ||
|
||||||
!b3util.isValidNodeData(data) ||
|
!b3util.isValidNodeData(data) ||
|
||||||
foundUndefined(data.input) ||
|
foundUndefined(data.input) ||
|
||||||
|
|||||||
+12
-3
@@ -702,6 +702,7 @@ export const refreshNodeData = (tree: TreeData, node: NodeData, id: number) => {
|
|||||||
alertError(`循环引用节点:${node.path}`, 4);
|
alertError(`循环引用节点:${node.path}`, 4);
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
delete node.$mtime;
|
||||||
parsingStack.push(node.path);
|
parsingStack.push(node.path);
|
||||||
try {
|
try {
|
||||||
const subtreePath = workdir + "/" + node.path;
|
const subtreePath = workdir + "/" + node.path;
|
||||||
@@ -741,15 +742,23 @@ export const refreshNodeData = (tree: TreeData, node: NodeData, id: number) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const createBuildData = (path: string) => {
|
export const createBuildData = (path: string) => {
|
||||||
|
const clearUnnecessaryKey = (data: NodeData | TreeData) => {
|
||||||
|
for (const key in data) {
|
||||||
|
if (key.startsWith("$")) {
|
||||||
|
delete data[key as keyof (NodeData | TreeData)];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const treeModel: TreeData = readTree(path);
|
const treeModel: TreeData = readTree(path);
|
||||||
refreshNodeData(treeModel, treeModel.root, 1);
|
refreshNodeData(treeModel, treeModel.root, 1);
|
||||||
dfs(treeModel.root, (node) => (node.id = treeModel.prefix + node.id));
|
dfs(treeModel.root, (node) => (node.id = treeModel.prefix + node.id));
|
||||||
treeModel.name = Path.basenameWithoutExt(path);
|
treeModel.name = Path.basenameWithoutExt(path);
|
||||||
treeModel.root = createFileData(treeModel.root, true);
|
treeModel.root = createFileData(treeModel.root, true);
|
||||||
dfs(treeModel.root, (node) => delete (node as Partial<NodeData>).$id);
|
dfs(treeModel.root, (node) => clearUnnecessaryKey(node));
|
||||||
delete (treeModel as Partial<TreeData>).$override;
|
clearUnnecessaryKey(treeModel);
|
||||||
return treeModel as TreeData;
|
return treeModel;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log("build error:", path, e);
|
console.log("build error:", path, e);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user