@modern-js/monorepo-tools 2.35.1 → 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 +24 -7
- package/dist/cjs/dag/edgeManager.js +26 -9
- package/dist/cjs/dag/index.js +28 -11
- package/dist/cjs/dag/operator.js +58 -32
- 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 +65 -39
- 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 +53 -27
- 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 +59 -40
- 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 +4 -1
- package/dist/esm/dag/edgeManager.js +4 -1
- package/dist/esm/dag/index.js +4 -1
- package/dist/esm/dag/operator.js +4 -1
- 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 +4 -1
- 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 +4 -1
- 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 +6 -2
- 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 || {};
|
|
@@ -50,3 +63,7 @@ const create = (projects) => {
|
|
|
50
63
|
projectList: projectsName
|
|
51
64
|
};
|
|
52
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) {
|
|
@@ -143,7 +165,7 @@ class DagOperator {
|
|
|
143
165
|
// TODO: 执行顺序还需要再确定一下
|
|
144
166
|
async traverseDependenciesToProject(name, task, { withSelf = false, runTaskConcurrency } = {}) {
|
|
145
167
|
if (!this._projectsMap.has(name)) {
|
|
146
|
-
(0,
|
|
168
|
+
(0, import_error.errorLog)(`No '${name}' project exist`);
|
|
147
169
|
}
|
|
148
170
|
const traverseTargetNode = this._projectsMap.get(name);
|
|
149
171
|
const leafNodes = this._getDependencyLeafNodes(traverseTargetNode);
|
|
@@ -152,11 +174,11 @@ class DagOperator {
|
|
|
152
174
|
return;
|
|
153
175
|
}
|
|
154
176
|
const leafNodeTasks = leafNodes.map((project) => this._createTask(project, task));
|
|
155
|
-
const taskRunner = new
|
|
177
|
+
const taskRunner = new import_task.TaskRunner(leafNodeTasks, {
|
|
156
178
|
concurrency: runTaskConcurrency
|
|
157
179
|
});
|
|
158
|
-
const edgeManager = new
|
|
159
|
-
taskRunner.on(
|
|
180
|
+
const edgeManager = new import_edgeManager.EdgeManager();
|
|
181
|
+
taskRunner.on(import_task.TaskRunner.TASK_FINISH, (projectName) => {
|
|
160
182
|
const projectNode = this.getNodeData(projectName);
|
|
161
183
|
const dependent = projectNode.dependent || [];
|
|
162
184
|
for (const dependentProject of dependent) {
|
|
@@ -224,10 +246,10 @@ class DagOperator {
|
|
|
224
246
|
return searchProjects.filter((p) => preNodes.map((preP) => preP.name).includes(p.name));
|
|
225
247
|
}
|
|
226
248
|
constructor(projects, projectsMap) {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
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) => {
|
|
231
253
|
await task(project, project.dependency || [], () => stopTask());
|
|
232
254
|
return project.name;
|
|
233
255
|
});
|
|
@@ -236,3 +258,7 @@ class DagOperator {
|
|
|
236
258
|
this._sortedProjects = [];
|
|
237
259
|
}
|
|
238
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
|
+
});
|