@modern-js/monorepo-tools 2.35.0 → 2.36.0
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/dist/cjs/cli/build.js +26 -9
- package/dist/cjs/cli/buildWatch.js +26 -9
- package/dist/cjs/cli/clear.js +26 -9
- package/dist/cjs/cli/deploy.js +26 -9
- package/dist/cjs/cli/index.js +30 -9
- package/dist/cjs/cli/install.js +26 -9
- package/dist/cjs/cli/new.js +29 -12
- package/dist/cjs/commands/build.js +33 -16
- package/dist/cjs/commands/buildWatch.js +32 -15
- package/dist/cjs/commands/clear.js +30 -13
- package/dist/cjs/commands/deploy.js +34 -17
- package/dist/cjs/commands/index.js +28 -8
- package/dist/cjs/commands/install.js +32 -15
- package/dist/cjs/constants.js +25 -15
- package/dist/cjs/dag/create.js +25 -9
- package/dist/cjs/dag/edgeManager.js +26 -9
- package/dist/cjs/dag/index.js +28 -11
- package/dist/cjs/dag/operator.js +59 -34
- package/dist/cjs/dag/task.js +46 -20
- package/dist/cjs/dag/utils.js +33 -25
- package/dist/cjs/features/build/index.js +51 -32
- package/dist/cjs/features/clear/index.js +47 -28
- package/dist/cjs/features/deploy/index.js +66 -41
- package/dist/cjs/features/dev/cmds.js +24 -7
- package/dist/cjs/features/dev/createTask.js +50 -31
- package/dist/cjs/features/dev/index.js +47 -21
- package/dist/cjs/features/dev/watchProjectsState.js +43 -17
- package/dist/cjs/features/install/index.js +55 -29
- package/dist/cjs/hooks/index.js +26 -9
- package/dist/cjs/index.js +45 -35
- package/dist/cjs/locale/en.js +24 -7
- package/dist/cjs/locale/index.js +31 -21
- package/dist/cjs/locale/zh.js +24 -7
- package/dist/cjs/log/error.js +24 -7
- package/dist/cjs/log/multiTasksLog.js +33 -16
- package/dist/cjs/log/time.js +29 -20
- package/dist/cjs/log/utils.js +24 -7
- package/dist/cjs/package/index.js +28 -11
- package/dist/cjs/parse-config/index.js +39 -13
- package/dist/cjs/parse-config/monorepo.js +55 -39
- package/dist/cjs/projects/checkProjectChange.js +65 -50
- package/dist/cjs/projects/clearMemoryFiles.js +39 -13
- package/dist/cjs/projects/getProjects.js +37 -27
- package/dist/cjs/projects/getProjectsByPackagesConfig.js +51 -33
- package/dist/cjs/projects/getProjectsByWorkspaceFile.js +63 -44
- package/dist/cjs/type.js +15 -3
- package/dist/cjs/utils/install.js +43 -24
- package/dist/cjs/utils/types.js +15 -3
- package/dist/esm/cli/build.js +4 -1
- package/dist/esm/cli/buildWatch.js +4 -1
- package/dist/esm/cli/clear.js +4 -1
- package/dist/esm/cli/deploy.js +4 -1
- package/dist/esm/cli/install.js +4 -1
- package/dist/esm/cli/new.js +4 -1
- package/dist/esm/commands/build.js +4 -1
- package/dist/esm/commands/buildWatch.js +4 -1
- package/dist/esm/commands/clear.js +4 -1
- package/dist/esm/commands/deploy.js +4 -1
- package/dist/esm/commands/install.js +4 -1
- package/dist/esm/constants.js +6 -2
- package/dist/esm/dag/create.js +5 -3
- package/dist/esm/dag/edgeManager.js +4 -1
- package/dist/esm/dag/index.js +4 -1
- package/dist/esm/dag/operator.js +5 -3
- package/dist/esm/dag/task.js +4 -1
- package/dist/esm/dag/utils.js +10 -4
- package/dist/esm/features/build/index.js +6 -2
- package/dist/esm/features/clear/index.js +6 -2
- package/dist/esm/features/deploy/index.js +5 -3
- package/dist/esm/features/dev/cmds.js +4 -1
- package/dist/esm/features/dev/createTask.js +6 -2
- package/dist/esm/features/dev/index.js +4 -1
- package/dist/esm/features/dev/watchProjectsState.js +4 -1
- package/dist/esm/features/install/index.js +6 -3
- package/dist/esm/hooks/index.js +4 -1
- package/dist/esm/index.js +6 -2
- package/dist/esm/locale/en.js +4 -1
- package/dist/esm/locale/index.js +4 -1
- package/dist/esm/locale/zh.js +4 -1
- package/dist/esm/log/error.js +4 -1
- package/dist/esm/log/multiTasksLog.js +4 -1
- package/dist/esm/log/time.js +8 -3
- package/dist/esm/log/utils.js +4 -1
- package/dist/esm/package/index.js +4 -1
- package/dist/esm/parse-config/index.js +4 -1
- package/dist/esm/parse-config/monorepo.js +12 -5
- package/dist/esm/projects/checkProjectChange.js +12 -5
- package/dist/esm/projects/clearMemoryFiles.js +4 -1
- package/dist/esm/projects/getProjects.js +6 -2
- package/dist/esm/projects/getProjectsByPackagesConfig.js +6 -2
- package/dist/esm/projects/getProjectsByWorkspaceFile.js +10 -6
- package/dist/esm/type.js +0 -1
- package/dist/esm/utils/install.js +6 -2
- package/dist/esm/utils/types.js +0 -1
- package/package.json +11 -11
|
@@ -1,31 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
9
15
|
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var install_exports = {};
|
|
20
|
+
__export(install_exports, {
|
|
21
|
+
install: () => install
|
|
10
22
|
});
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
23
|
+
module.exports = __toCommonJS(install_exports);
|
|
24
|
+
var import_install = require("../features/install");
|
|
25
|
+
var import_monorepo = require("../parse-config/monorepo");
|
|
26
|
+
var import_getProjects = require("../projects/getProjects");
|
|
27
|
+
var import_dag = require("../dag");
|
|
15
28
|
const install = async (projectNames = [], option, api) => {
|
|
16
29
|
const { appDirectory } = api.useAppContext();
|
|
17
30
|
const { auto } = option;
|
|
18
|
-
const projects = await (0,
|
|
31
|
+
const projects = await (0, import_getProjects.getProjects)({
|
|
19
32
|
packagesMatchs: {
|
|
20
33
|
enableAutoFinder: true
|
|
21
34
|
}
|
|
22
35
|
}, appDirectory);
|
|
23
|
-
const operator = (0,
|
|
36
|
+
const operator = (0, import_dag.initDAG)(projects);
|
|
24
37
|
operator.checkCircle();
|
|
25
|
-
const { rootPath, packageManager } = (0,
|
|
26
|
-
await (0,
|
|
38
|
+
const { rootPath, packageManager } = (0, import_monorepo.getMonorepoBaseData)(appDirectory);
|
|
39
|
+
await (0, import_install.runInstallTask)(projectNames, operator, {
|
|
27
40
|
packageManager,
|
|
28
41
|
rootPath,
|
|
29
42
|
auto
|
|
30
43
|
});
|
|
31
44
|
};
|
|
45
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
46
|
+
0 && (module.exports = {
|
|
47
|
+
install
|
|
48
|
+
});
|
package/dist/cjs/constants.js
CHANGED
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
6
7
|
for (var name in all)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return WORKSPACE_FILE;
|
|
15
|
-
},
|
|
16
|
-
LOCK_FILE: function() {
|
|
17
|
-
return LOCK_FILE;
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
15
|
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var constants_exports = {};
|
|
20
|
+
__export(constants_exports, {
|
|
21
|
+
LOCK_FILE: () => LOCK_FILE,
|
|
22
|
+
WORKSPACE_FILE: () => WORKSPACE_FILE
|
|
19
23
|
});
|
|
24
|
+
module.exports = __toCommonJS(constants_exports);
|
|
20
25
|
const WORKSPACE_FILE = {
|
|
21
26
|
LERNA: "lerna.json",
|
|
22
27
|
YARN: "package.json",
|
|
@@ -27,3 +32,8 @@ const LOCK_FILE = {
|
|
|
27
32
|
PNPM: "pnpm-lock.yaml",
|
|
28
33
|
NPM: "package-lock.json"
|
|
29
34
|
};
|
|
35
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
36
|
+
0 && (module.exports = {
|
|
37
|
+
LOCK_FILE,
|
|
38
|
+
WORKSPACE_FILE
|
|
39
|
+
});
|
package/dist/cjs/dag/create.js
CHANGED
|
@@ -1,13 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
9
15
|
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var create_exports = {};
|
|
20
|
+
__export(create_exports, {
|
|
21
|
+
create: () => create
|
|
10
22
|
});
|
|
23
|
+
module.exports = __toCommonJS(create_exports);
|
|
11
24
|
const initProjectDependencyAndDependent = (project, projectsName, projectsMap) => {
|
|
12
25
|
const dependencies = project.extra.dependencies || {};
|
|
13
26
|
const devDependencies = project.extra.devDependencies || {};
|
|
@@ -19,9 +32,8 @@ const initProjectDependencyAndDependent = (project, projectsName, projectsMap) =
|
|
|
19
32
|
}).filter((depName) => projectsName.includes(depName));
|
|
20
33
|
project.dependent = project.dependent || [];
|
|
21
34
|
project.dependency = DependencyProjectsName.map((projectName) => {
|
|
22
|
-
var _dependencyProject;
|
|
23
35
|
const dependencyProject = projectsMap.get(projectName);
|
|
24
|
-
const dependent = (
|
|
36
|
+
const dependent = (dependencyProject === null || dependencyProject === void 0 ? void 0 : dependencyProject.dependent) || [];
|
|
25
37
|
if (
|
|
26
38
|
// 消除重复添加的情况
|
|
27
39
|
!dependent.some((p) => p.name === project.name)
|
|
@@ -51,3 +63,7 @@ const create = (projects) => {
|
|
|
51
63
|
projectList: projectsName
|
|
52
64
|
};
|
|
53
65
|
};
|
|
66
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
67
|
+
0 && (module.exports = {
|
|
68
|
+
create
|
|
69
|
+
});
|
|
@@ -1,14 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
9
15
|
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var edgeManager_exports = {};
|
|
20
|
+
__export(edgeManager_exports, {
|
|
21
|
+
EdgeManager: () => EdgeManager
|
|
10
22
|
});
|
|
11
|
-
|
|
23
|
+
module.exports = __toCommonJS(edgeManager_exports);
|
|
24
|
+
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
12
25
|
class EdgeManager {
|
|
13
26
|
reduceOneEdge(project) {
|
|
14
27
|
if (!(project.name in this._dependencyEdgeHash)) {
|
|
@@ -32,7 +45,11 @@ class EdgeManager {
|
|
|
32
45
|
this._dependencyEdgeHash[project.name] = project.dependencyEdge;
|
|
33
46
|
}
|
|
34
47
|
constructor() {
|
|
35
|
-
|
|
48
|
+
(0, import_define_property._)(this, "_dependencyEdgeHash", void 0);
|
|
36
49
|
this._dependencyEdgeHash = {};
|
|
37
50
|
}
|
|
38
51
|
}
|
|
52
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
53
|
+
0 && (module.exports = {
|
|
54
|
+
EdgeManager
|
|
55
|
+
});
|
package/dist/cjs/dag/index.js
CHANGED
|
@@ -1,17 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
9
15
|
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var dag_exports = {};
|
|
20
|
+
__export(dag_exports, {
|
|
21
|
+
initDAG: () => initDAG
|
|
10
22
|
});
|
|
11
|
-
|
|
12
|
-
|
|
23
|
+
module.exports = __toCommonJS(dag_exports);
|
|
24
|
+
var import_create = require("./create");
|
|
25
|
+
var import_operator = require("./operator");
|
|
13
26
|
const initDAG = (projects) => {
|
|
14
|
-
const { projectsMap } = (0,
|
|
15
|
-
const operator = new
|
|
27
|
+
const { projectsMap } = (0, import_create.create)(projects);
|
|
28
|
+
const operator = new import_operator.DagOperator(projects, projectsMap);
|
|
16
29
|
return operator;
|
|
17
30
|
};
|
|
31
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
32
|
+
0 && (module.exports = {
|
|
33
|
+
initDAG
|
|
34
|
+
});
|
package/dist/cjs/dag/operator.js
CHANGED
|
@@ -1,20 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
9
17
|
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var operator_exports = {};
|
|
30
|
+
__export(operator_exports, {
|
|
31
|
+
DagOperator: () => DagOperator
|
|
10
32
|
});
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
33
|
+
module.exports = __toCommonJS(operator_exports);
|
|
34
|
+
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
35
|
+
var import_p_map = __toESM(require("p-map"));
|
|
36
|
+
var import_error = require("../log/error");
|
|
37
|
+
var import_task = require("./task");
|
|
38
|
+
var import_edgeManager = require("./edgeManager");
|
|
39
|
+
var import_utils = require("./utils");
|
|
18
40
|
class DagOperator {
|
|
19
41
|
checkNodeDataExist(name) {
|
|
20
42
|
return this._projectsMap.has(name);
|
|
@@ -26,7 +48,7 @@ class DagOperator {
|
|
|
26
48
|
if (this._projectsMap.has(name)) {
|
|
27
49
|
return this._projectsMap.get(name);
|
|
28
50
|
} else {
|
|
29
|
-
(0,
|
|
51
|
+
(0, import_error.errorLog)(`No '${name}' project exist`);
|
|
30
52
|
}
|
|
31
53
|
}
|
|
32
54
|
return this._projectsMap.get(name);
|
|
@@ -47,20 +69,20 @@ class DagOperator {
|
|
|
47
69
|
this.checkCircle();
|
|
48
70
|
}
|
|
49
71
|
if (!this._projectsMap.has(name)) {
|
|
50
|
-
(0,
|
|
72
|
+
(0, import_error.errorLog)(`No '${name}' project exist`);
|
|
51
73
|
}
|
|
52
74
|
const currentNode = this._projectsMap.get(name);
|
|
53
|
-
return (0,
|
|
75
|
+
return (0, import_utils.recursiveGetDependency)(currentNode, skipCircleCheck);
|
|
54
76
|
}
|
|
55
77
|
setNodeData(name, task) {
|
|
56
78
|
if (this._projectsMap.has(name)) {
|
|
57
79
|
task(this._projectsMap.get(name));
|
|
58
80
|
} else {
|
|
59
|
-
(0,
|
|
81
|
+
(0, import_error.errorLog)(`No '${name}' project exist`);
|
|
60
82
|
}
|
|
61
83
|
}
|
|
62
84
|
async traverseAllNodes(task) {
|
|
63
|
-
const sortedNodes = this._sortedProjects.length > 0 ? this._sortedProjects : (0,
|
|
85
|
+
const sortedNodes = this._sortedProjects.length > 0 ? this._sortedProjects : (0, import_utils.sortProjects)(this._projects);
|
|
64
86
|
const finishTaskHash = {};
|
|
65
87
|
let preNodes = [];
|
|
66
88
|
let earlyFinish = false;
|
|
@@ -68,7 +90,7 @@ class DagOperator {
|
|
|
68
90
|
if (earlyFinish) {
|
|
69
91
|
break;
|
|
70
92
|
}
|
|
71
|
-
await (0,
|
|
93
|
+
await (0, import_p_map.default)(
|
|
72
94
|
projects,
|
|
73
95
|
// eslint-disable-next-line @typescript-eslint/no-loop-func
|
|
74
96
|
async (project) => {
|
|
@@ -106,17 +128,17 @@ class DagOperator {
|
|
|
106
128
|
*/
|
|
107
129
|
async traverseProjectToDependent(name, task, { withSelf = false, runTaskConcurrency } = {}) {
|
|
108
130
|
if (!this._projectsMap.has(name)) {
|
|
109
|
-
(0,
|
|
131
|
+
(0, import_error.errorLog)(`No '${name}' project exist`);
|
|
110
132
|
}
|
|
111
133
|
const traverseTargetNode = this._projectsMap.get(name);
|
|
112
134
|
const leafNodeTasks = [
|
|
113
135
|
withSelf ? this._createTask(traverseTargetNode, task) : async () => Promise.resolve(traverseTargetNode.name)
|
|
114
136
|
];
|
|
115
|
-
const taskRunner = new
|
|
137
|
+
const taskRunner = new import_task.TaskRunner(leafNodeTasks, {
|
|
116
138
|
concurrency: runTaskConcurrency
|
|
117
139
|
});
|
|
118
|
-
const edgeManager = new
|
|
119
|
-
taskRunner.on(
|
|
140
|
+
const edgeManager = new import_edgeManager.EdgeManager();
|
|
141
|
+
taskRunner.on(import_task.TaskRunner.TASK_FINISH, (projectName) => {
|
|
120
142
|
const projectNode = this.getNodeData(projectName);
|
|
121
143
|
const dependent = projectNode.dependent || [];
|
|
122
144
|
for (const dependentProject of dependent) {
|
|
@@ -142,22 +164,21 @@ class DagOperator {
|
|
|
142
164
|
*/
|
|
143
165
|
// TODO: 执行顺序还需要再确定一下
|
|
144
166
|
async traverseDependenciesToProject(name, task, { withSelf = false, runTaskConcurrency } = {}) {
|
|
145
|
-
var _leafNodes;
|
|
146
167
|
if (!this._projectsMap.has(name)) {
|
|
147
|
-
(0,
|
|
168
|
+
(0, import_error.errorLog)(`No '${name}' project exist`);
|
|
148
169
|
}
|
|
149
170
|
const traverseTargetNode = this._projectsMap.get(name);
|
|
150
171
|
const leafNodes = this._getDependencyLeafNodes(traverseTargetNode);
|
|
151
|
-
if ((
|
|
172
|
+
if ((leafNodes === null || leafNodes === void 0 ? void 0 : leafNodes.length) === 0) {
|
|
152
173
|
await this._createTask(traverseTargetNode, task)();
|
|
153
174
|
return;
|
|
154
175
|
}
|
|
155
176
|
const leafNodeTasks = leafNodes.map((project) => this._createTask(project, task));
|
|
156
|
-
const taskRunner = new
|
|
177
|
+
const taskRunner = new import_task.TaskRunner(leafNodeTasks, {
|
|
157
178
|
concurrency: runTaskConcurrency
|
|
158
179
|
});
|
|
159
|
-
const edgeManager = new
|
|
160
|
-
taskRunner.on(
|
|
180
|
+
const edgeManager = new import_edgeManager.EdgeManager();
|
|
181
|
+
taskRunner.on(import_task.TaskRunner.TASK_FINISH, (projectName) => {
|
|
161
182
|
const projectNode = this.getNodeData(projectName);
|
|
162
183
|
const dependent = projectNode.dependent || [];
|
|
163
184
|
for (const dependentProject of dependent) {
|
|
@@ -225,10 +246,10 @@ class DagOperator {
|
|
|
225
246
|
return searchProjects.filter((p) => preNodes.map((preP) => preP.name).includes(p.name));
|
|
226
247
|
}
|
|
227
248
|
constructor(projects, projectsMap) {
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
249
|
+
(0, import_define_property._)(this, "_projects", void 0);
|
|
250
|
+
(0, import_define_property._)(this, "_projectsMap", void 0);
|
|
251
|
+
(0, import_define_property._)(this, "_sortedProjects", void 0);
|
|
252
|
+
(0, import_define_property._)(this, "_createTask", (project, task) => async (stopTask = () => void 0) => {
|
|
232
253
|
await task(project, project.dependency || [], () => stopTask());
|
|
233
254
|
return project.name;
|
|
234
255
|
});
|
|
@@ -237,3 +258,7 @@ class DagOperator {
|
|
|
237
258
|
this._sortedProjects = [];
|
|
238
259
|
}
|
|
239
260
|
}
|
|
261
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
262
|
+
0 && (module.exports = {
|
|
263
|
+
DagOperator
|
|
264
|
+
});
|
package/dist/cjs/dag/task.js
CHANGED
|
@@ -1,22 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
9
17
|
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var task_exports = {};
|
|
30
|
+
__export(task_exports, {
|
|
31
|
+
TaskRunner: () => TaskRunner
|
|
10
32
|
});
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
class TaskRunner extends
|
|
33
|
+
module.exports = __toCommonJS(task_exports);
|
|
34
|
+
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
35
|
+
var import_events = require("events");
|
|
36
|
+
var import_p_map = __toESM(require("p-map"));
|
|
37
|
+
class TaskRunner extends import_events.EventEmitter {
|
|
16
38
|
async run() {
|
|
17
39
|
const tasks = this._tasks.splice(0, this._concurrency);
|
|
18
40
|
this._usableConcurrency = this._concurrency - tasks.length;
|
|
19
|
-
await (0,
|
|
41
|
+
await (0, import_p_map.default)(tasks, async (task) => {
|
|
20
42
|
await this._runTask(task);
|
|
21
43
|
}, {
|
|
22
44
|
concurrency: tasks.length
|
|
@@ -36,7 +58,7 @@ class TaskRunner extends _events.EventEmitter {
|
|
|
36
58
|
const nextTasks = this._tasks.splice(0, this._usableConcurrency);
|
|
37
59
|
this._usableConcurrency -= nextTasks.length;
|
|
38
60
|
if (nextTasks.length > 0) {
|
|
39
|
-
await (0,
|
|
61
|
+
await (0, import_p_map.default)(nextTasks, async (_task) => {
|
|
40
62
|
await this._runTask(_task);
|
|
41
63
|
}, {
|
|
42
64
|
concurrency: nextTasks.length
|
|
@@ -49,15 +71,19 @@ class TaskRunner extends _events.EventEmitter {
|
|
|
49
71
|
}
|
|
50
72
|
constructor(tasks, { concurrency }) {
|
|
51
73
|
super();
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
74
|
+
(0, import_define_property._)(this, "_tasks", void 0);
|
|
75
|
+
(0, import_define_property._)(this, "_concurrency", void 0);
|
|
76
|
+
(0, import_define_property._)(this, "_usableConcurrency", void 0);
|
|
77
|
+
(0, import_define_property._)(this, "_stopFlag", void 0);
|
|
56
78
|
this._tasks = tasks;
|
|
57
79
|
this._concurrency = concurrency || TaskRunner.DefaultConcurrency;
|
|
58
80
|
this._usableConcurrency = this._concurrency;
|
|
59
81
|
this._stopFlag = false;
|
|
60
82
|
}
|
|
61
83
|
}
|
|
62
|
-
|
|
63
|
-
|
|
84
|
+
(0, import_define_property._)(TaskRunner, "DefaultConcurrency", 10);
|
|
85
|
+
(0, import_define_property._)(TaskRunner, "TASK_FINISH", "task-finish");
|
|
86
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
87
|
+
0 && (module.exports = {
|
|
88
|
+
TaskRunner
|
|
89
|
+
});
|
package/dist/cjs/dag/utils.js
CHANGED
|
@@ -1,30 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
6
7
|
for (var name in all)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return calculateCriticalPaths;
|
|
15
|
-
},
|
|
16
|
-
recursiveGetDependency: function() {
|
|
17
|
-
return recursiveGetDependency;
|
|
18
|
-
},
|
|
19
|
-
sortProjects: function() {
|
|
20
|
-
return sortProjects;
|
|
21
|
-
},
|
|
22
|
-
findCircle: function() {
|
|
23
|
-
return findCircle;
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
24
15
|
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var utils_exports = {};
|
|
20
|
+
__export(utils_exports, {
|
|
21
|
+
calculateCriticalPaths: () => calculateCriticalPaths,
|
|
22
|
+
findCircle: () => findCircle,
|
|
23
|
+
recursiveGetDependency: () => recursiveGetDependency,
|
|
24
|
+
sortProjects: () => sortProjects
|
|
25
25
|
});
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
module.exports = __toCommonJS(utils_exports);
|
|
27
|
+
var import_error = require("../log/error");
|
|
28
|
+
var import_edgeManager = require("./edgeManager");
|
|
28
29
|
const calculateCriticalPaths = (project) => {
|
|
29
30
|
var _project_dependent;
|
|
30
31
|
if (project.criticalPathLength !== void 0) {
|
|
@@ -87,7 +88,7 @@ const sortProjects = (projects) => {
|
|
|
87
88
|
const sortedQueue = [];
|
|
88
89
|
let readyIntoSortedQueue = [];
|
|
89
90
|
let queue = [];
|
|
90
|
-
const edgeManager = new
|
|
91
|
+
const edgeManager = new import_edgeManager.EdgeManager();
|
|
91
92
|
for (const project of projects) {
|
|
92
93
|
edgeManager.setEdge(project);
|
|
93
94
|
if (edgeManager.getEdge(project) === 0) {
|
|
@@ -118,7 +119,7 @@ const sortProjects = (projects) => {
|
|
|
118
119
|
}
|
|
119
120
|
}
|
|
120
121
|
if (shiftNodesCount < projects.length) {
|
|
121
|
-
(0,
|
|
122
|
+
(0, import_error.errorLog)("Items with a dependency loop");
|
|
122
123
|
} else {
|
|
123
124
|
}
|
|
124
125
|
return sortedQueue;
|
|
@@ -139,3 +140,10 @@ const findCircle = (projects) => {
|
|
|
139
140
|
checkNode.dependencyEdge--;
|
|
140
141
|
}
|
|
141
142
|
};
|
|
143
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
144
|
+
0 && (module.exports = {
|
|
145
|
+
calculateCriticalPaths,
|
|
146
|
+
findCircle,
|
|
147
|
+
recursiveGetDependency,
|
|
148
|
+
sortProjects
|
|
149
|
+
});
|