@modern-js/monorepo-tools 2.4.0 → 2.5.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.
Files changed (118) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/cli.js +1 -1
  3. package/dist/{js/node → cjs}/cli/build-watch.js +3 -23
  4. package/dist/{js/node → cjs}/cli/build.js +3 -23
  5. package/dist/{js/node → cjs}/cli/clear.js +3 -23
  6. package/dist/{js/node → cjs}/cli/deploy.js +3 -23
  7. package/dist/{js/node → cjs}/cli/index.js +0 -0
  8. package/dist/cjs/cli/install.js +34 -0
  9. package/dist/{js/node → cjs}/cli/new.js +3 -40
  10. package/dist/{js/node → cjs}/commands/build-watch.js +4 -24
  11. package/dist/{js/node → cjs}/commands/build.js +8 -41
  12. package/dist/{js/node → cjs}/commands/clear.js +3 -23
  13. package/dist/{js/node → cjs}/commands/deploy.js +4 -24
  14. package/dist/{js/node → cjs}/commands/index.js +0 -0
  15. package/dist/{js/node → cjs}/commands/install.js +4 -24
  16. package/dist/{js/node → cjs}/constants.js +0 -0
  17. package/dist/{js/node → cjs}/dag/create.js +5 -15
  18. package/dist/{js/node → cjs}/dag/edge-manager.js +0 -0
  19. package/dist/{js/node → cjs}/dag/index.js +0 -0
  20. package/dist/cjs/dag/operator.js +232 -0
  21. package/dist/{js/node → cjs}/dag/task.js +29 -53
  22. package/dist/{js/node → cjs}/dag/utils.js +0 -0
  23. package/dist/{js/node → cjs}/features/build/index.js +13 -33
  24. package/dist/{js/node → cjs}/features/clear/index.js +0 -0
  25. package/dist/{js/node → cjs}/features/deploy/index.js +10 -30
  26. package/dist/{js/node → cjs}/features/dev/cmds.js +0 -0
  27. package/dist/{js/node → cjs}/features/dev/create-task.js +6 -26
  28. package/dist/{js/node → cjs}/features/dev/index.js +14 -34
  29. package/dist/{js/node → cjs}/features/dev/watch-projects-state.js +3 -19
  30. package/dist/{js/node → cjs}/features/install/index.js +3 -23
  31. package/dist/{js/node → cjs}/hooks/index.js +0 -0
  32. package/dist/{js/node → cjs}/index.js +0 -0
  33. package/dist/{js/node → cjs}/locale/en.js +0 -0
  34. package/dist/{js/node → cjs}/locale/index.js +0 -0
  35. package/dist/{js/node → cjs}/locale/zh.js +0 -0
  36. package/dist/{js/node → cjs}/log/error.js +0 -0
  37. package/dist/{js/node → cjs}/log/multi-tasks-log.js +0 -0
  38. package/dist/{js/node → cjs}/log/time.js +1 -15
  39. package/dist/{js/node → cjs}/log/utils.js +0 -0
  40. package/dist/{js/node → cjs}/package/index.js +0 -0
  41. package/dist/{js/node → cjs}/parse-config/index.js +4 -38
  42. package/dist/{js/node → cjs}/parse-config/monorepo.js +0 -0
  43. package/dist/{js/node → cjs}/projects/check-project-change.js +12 -32
  44. package/dist/{js/node → cjs}/projects/clear-memory-files.js +0 -0
  45. package/dist/{js/node → cjs}/projects/get-projects-by-packages-config.js +11 -45
  46. package/dist/{js/node → cjs}/projects/get-projects-by-workspace-file.js +4 -24
  47. package/dist/{js/node → cjs}/projects/get-projects.js +15 -47
  48. package/dist/{js/node → cjs}/type.js +0 -0
  49. package/dist/{js/node → cjs}/utils/install.js +4 -24
  50. package/dist/{js/node → cjs}/utils/language.js +0 -0
  51. package/dist/{js/node → cjs}/utils/types.js +0 -0
  52. package/dist/esm/cli/build-watch.js +11 -0
  53. package/dist/esm/cli/build.js +12 -0
  54. package/dist/esm/cli/clear.js +11 -0
  55. package/dist/esm/cli/deploy.js +16 -0
  56. package/dist/{js/modern → esm}/cli/index.js +0 -0
  57. package/dist/esm/cli/install.js +11 -0
  58. package/dist/esm/cli/new.js +18 -0
  59. package/dist/esm/commands/build-watch.js +24 -0
  60. package/dist/esm/commands/build.js +55 -0
  61. package/dist/esm/commands/clear.js +19 -0
  62. package/dist/{js/modern → esm}/commands/deploy.js +4 -24
  63. package/dist/{js/modern → esm}/commands/index.js +0 -0
  64. package/dist/esm/commands/install.js +23 -0
  65. package/dist/{js/modern → esm}/constants.js +0 -0
  66. package/dist/{js/modern → esm}/dag/create.js +5 -17
  67. package/dist/{js/modern → esm}/dag/edge-manager.js +0 -0
  68. package/dist/{js/modern → esm}/dag/index.js +0 -0
  69. package/dist/esm/dag/operator.js +203 -0
  70. package/dist/esm/dag/task.js +55 -0
  71. package/dist/{js/modern → esm}/dag/utils.js +0 -0
  72. package/dist/{js/modern → esm}/features/build/index.js +13 -33
  73. package/dist/{js/modern → esm}/features/clear/index.js +0 -0
  74. package/dist/{js/modern → esm}/features/deploy/index.js +10 -30
  75. package/dist/{js/modern → esm}/features/dev/cmds.js +0 -0
  76. package/dist/{js/modern → esm}/features/dev/create-task.js +6 -26
  77. package/dist/{js/modern → esm}/features/dev/index.js +14 -34
  78. package/dist/{js/modern → esm}/features/dev/watch-projects-state.js +3 -21
  79. package/dist/{js/modern → esm}/features/install/index.js +3 -23
  80. package/dist/{js/modern → esm}/hooks/index.js +0 -0
  81. package/dist/{js/modern → esm}/index.js +0 -0
  82. package/dist/{js/modern → esm}/locale/en.js +0 -0
  83. package/dist/{js/modern → esm}/locale/index.js +0 -0
  84. package/dist/{js/modern → esm}/locale/zh.js +0 -0
  85. package/dist/{js/modern → esm}/log/error.js +0 -0
  86. package/dist/{js/modern → esm}/log/multi-tasks-log.js +0 -0
  87. package/dist/esm/log/time.js +13 -0
  88. package/dist/{js/modern → esm}/log/utils.js +0 -0
  89. package/dist/{js/modern → esm}/package/index.js +0 -0
  90. package/dist/esm/parse-config/index.js +15 -0
  91. package/dist/{js/modern → esm}/parse-config/monorepo.js +0 -0
  92. package/dist/{js/modern → esm}/projects/check-project-change.js +12 -32
  93. package/dist/{js/modern → esm}/projects/clear-memory-files.js +0 -0
  94. package/dist/{js/modern → esm}/projects/get-projects-by-packages-config.js +11 -47
  95. package/dist/{js/modern → esm}/projects/get-projects-by-workspace-file.js +4 -24
  96. package/dist/{js/modern → esm}/projects/get-projects.js +15 -49
  97. package/dist/{js/modern → esm}/type.js +0 -0
  98. package/dist/esm/utils/install.js +27 -0
  99. package/dist/{js/modern → esm}/utils/language.js +0 -0
  100. package/dist/{js/modern → esm}/utils/types.js +0 -0
  101. package/package.json +16 -16
  102. package/dist/js/modern/cli/build-watch.js +0 -31
  103. package/dist/js/modern/cli/build.js +0 -32
  104. package/dist/js/modern/cli/clear.js +0 -31
  105. package/dist/js/modern/cli/deploy.js +0 -36
  106. package/dist/js/modern/cli/install.js +0 -31
  107. package/dist/js/modern/cli/new.js +0 -57
  108. package/dist/js/modern/commands/build-watch.js +0 -44
  109. package/dist/js/modern/commands/build.js +0 -90
  110. package/dist/js/modern/commands/clear.js +0 -39
  111. package/dist/js/modern/commands/install.js +0 -43
  112. package/dist/js/modern/dag/operator.js +0 -251
  113. package/dist/js/modern/dag/task.js +0 -79
  114. package/dist/js/modern/log/time.js +0 -29
  115. package/dist/js/modern/parse-config/index.js +0 -51
  116. package/dist/js/modern/utils/install.js +0 -47
  117. package/dist/js/node/cli/install.js +0 -54
  118. package/dist/js/node/dag/operator.js +0 -278
@@ -0,0 +1,203 @@
1
+ import pMap from "p-map";
2
+ import { errorLog } from "../log/error";
3
+ import { TaskRunner } from "./task";
4
+ import { EdgeManager } from "./edge-manager";
5
+ import { recursiveGetDependency, sortProjects } from "./utils";
6
+ class DagOperator {
7
+ constructor(projects, projectsMap) {
8
+ this._createTask = (project, task) => async (stopTask = () => void 0) => {
9
+ await task(project, project.dependency || [], () => stopTask());
10
+ return project.name;
11
+ };
12
+ this._projects = projects;
13
+ this._projectsMap = projectsMap;
14
+ this._sortedProjects = [];
15
+ }
16
+ checkNodeDataExist(name) {
17
+ return this._projectsMap.has(name);
18
+ }
19
+ getNodeData(name, option = { checkExist: false }) {
20
+ if (option.checkExist) {
21
+ if (this._projectsMap.has(name)) {
22
+ return this._projectsMap.get(name);
23
+ } else {
24
+ errorLog(`No '${name}' project exist`);
25
+ }
26
+ }
27
+ return this._projectsMap.get(name);
28
+ }
29
+ getNodeDependencyData(name) {
30
+ var _a;
31
+ return ((_a = this._projectsMap.get(name)) == null ? void 0 : _a.dependency) || [];
32
+ }
33
+ getNodeDependentData(name) {
34
+ var _a;
35
+ return ((_a = this._projectsMap.get(name)) == null ? void 0 : _a.dependent) || [];
36
+ }
37
+ getNodeAllDependencyData(name, option = { skipCircleCheck: false }) {
38
+ const { skipCircleCheck } = option;
39
+ if (!skipCircleCheck) {
40
+ this.checkCircle();
41
+ }
42
+ if (!this._projectsMap.has(name)) {
43
+ errorLog(`No '${name}' project exist`);
44
+ }
45
+ const currentNode = this._projectsMap.get(name);
46
+ return recursiveGetDependency(currentNode, skipCircleCheck);
47
+ }
48
+ setNodeData(name, task) {
49
+ if (this._projectsMap.has(name)) {
50
+ task(this._projectsMap.get(name));
51
+ } else {
52
+ errorLog(`No '${name}' project exist`);
53
+ }
54
+ }
55
+ async traverseAllNodes(task) {
56
+ const sortedNodes = this._sortedProjects.length > 0 ? this._sortedProjects : sortProjects(this._projects);
57
+ const finishTaskHash = {};
58
+ let preNodes = [];
59
+ let earlyFinish = false;
60
+ for (const projects of sortedNodes) {
61
+ if (earlyFinish) {
62
+ break;
63
+ }
64
+ await pMap(
65
+ projects,
66
+ async (project) => {
67
+ if (!finishTaskHash[project.name]) {
68
+ finishTaskHash[project.name] = true;
69
+ await task(
70
+ project,
71
+ this._getProjectPreviousNode(project.dependent || [], preNodes),
72
+ () => earlyFinish = true
73
+ );
74
+ }
75
+ },
76
+ { concurrency: projects.length }
77
+ );
78
+ preNodes = [...projects];
79
+ }
80
+ }
81
+ checkCircle() {
82
+ this._checkForCyclicDependencies(this._projects, [], /* @__PURE__ */ new Set());
83
+ }
84
+ async traverseDependenciesToProjectToDependent(name, task, config = {}) {
85
+ await this.traverseDependenciesToProject(name, task, config);
86
+ await this.traverseProjectToDependent(name, task, {
87
+ ...config,
88
+ withSelf: false
89
+ });
90
+ }
91
+ async traverseProjectToDependent(name, task, { withSelf = false, runTaskConcurrency } = {}) {
92
+ if (!this._projectsMap.has(name)) {
93
+ errorLog(`No '${name}' project exist`);
94
+ }
95
+ const traverseTargetNode = this._projectsMap.get(name);
96
+ const leafNodeTasks = [
97
+ withSelf ? this._createTask(traverseTargetNode, task) : async () => Promise.resolve(traverseTargetNode.name)
98
+ ];
99
+ const taskRunner = new TaskRunner(leafNodeTasks, {
100
+ concurrency: runTaskConcurrency
101
+ });
102
+ const edgeManager = new EdgeManager();
103
+ taskRunner.on(TaskRunner.TASK_FINISH, (projectName) => {
104
+ const projectNode = this.getNodeData(projectName);
105
+ const dependent = projectNode.dependent || [];
106
+ for (const dependentProject of dependent) {
107
+ const dependency = dependentProject.dependency || [];
108
+ const removeNodes = dependency.filter(
109
+ (dependencyProject) => ![projectName, ...dependent.map((p) => p.name)].includes(
110
+ dependencyProject.name
111
+ )
112
+ );
113
+ edgeManager.reduceEdges(dependentProject, removeNodes.length + 1);
114
+ if (edgeManager.getEdge(dependentProject) === 0) {
115
+ taskRunner.addTask(this._createTask(dependentProject, task));
116
+ }
117
+ }
118
+ });
119
+ await taskRunner.run();
120
+ }
121
+ async traverseDependenciesToProject(name, task, { withSelf = false, runTaskConcurrency } = {}) {
122
+ if (!this._projectsMap.has(name)) {
123
+ errorLog(`No '${name}' project exist`);
124
+ }
125
+ const traverseTargetNode = this._projectsMap.get(name);
126
+ const leafNodes = this._getDependencyLeafNodes(traverseTargetNode);
127
+ if ((leafNodes == null ? void 0 : leafNodes.length) === 0) {
128
+ await this._createTask(traverseTargetNode, task)();
129
+ return;
130
+ }
131
+ const leafNodeTasks = leafNodes.map(
132
+ (project) => this._createTask(project, task)
133
+ );
134
+ const taskRunner = new TaskRunner(leafNodeTasks, {
135
+ concurrency: runTaskConcurrency
136
+ });
137
+ const edgeManager = new EdgeManager();
138
+ taskRunner.on(TaskRunner.TASK_FINISH, (projectName) => {
139
+ const projectNode = this.getNodeData(projectName);
140
+ const dependent = projectNode.dependent || [];
141
+ for (const dependentProject of dependent) {
142
+ if (![traverseTargetNode, ...leafNodes].some(
143
+ (n) => n.name === dependentProject.name
144
+ )) {
145
+ continue;
146
+ }
147
+ edgeManager.reduceOneEdge(dependentProject);
148
+ if (dependentProject.name === traverseTargetNode.name && !withSelf) {
149
+ continue;
150
+ }
151
+ if (edgeManager.getEdge(dependentProject) === 0) {
152
+ taskRunner.addTask(this._createTask(dependentProject, task));
153
+ }
154
+ }
155
+ });
156
+ await taskRunner.run();
157
+ }
158
+ _checkForCyclicDependencies(projects, dependencyChain, alreadyCheckedProjects) {
159
+ for (const project of projects) {
160
+ if (dependencyChain.includes(project.name)) {
161
+ throw new Error(
162
+ `${"A cyclic dependency was encountered:\n"} ${[
163
+ ...dependencyChain,
164
+ project.name
165
+ ].reverse().join("\n -> ")}
166
+ `
167
+ );
168
+ }
169
+ if (!alreadyCheckedProjects.has(project.name)) {
170
+ alreadyCheckedProjects.add(project.name);
171
+ dependencyChain.push(project.name);
172
+ this._checkForCyclicDependencies(
173
+ project.dependent,
174
+ dependencyChain,
175
+ alreadyCheckedProjects
176
+ );
177
+ dependencyChain.pop();
178
+ }
179
+ }
180
+ }
181
+ _getDependencyLeafNodes(node) {
182
+ const dependency = node.dependency;
183
+ if (dependency.length === 0) {
184
+ return [];
185
+ }
186
+ let leafNodes = [...dependency];
187
+ for (const dependencyNode of dependency) {
188
+ leafNodes = [
189
+ ...leafNodes,
190
+ ...this._getDependencyLeafNodes(dependencyNode)
191
+ ];
192
+ }
193
+ return leafNodes;
194
+ }
195
+ _getProjectPreviousNode(searchProjects, preNodes) {
196
+ return searchProjects.filter(
197
+ (p) => preNodes.map((preP) => preP.name).includes(p.name)
198
+ );
199
+ }
200
+ }
201
+ export {
202
+ DagOperator
203
+ };
@@ -0,0 +1,55 @@
1
+ import { EventEmitter } from "events";
2
+ import pMap from "p-map";
3
+ const _TaskRunner = class extends EventEmitter {
4
+ constructor(tasks, { concurrency }) {
5
+ super();
6
+ this._tasks = tasks;
7
+ this._concurrency = concurrency || _TaskRunner.DefaultConcurrency;
8
+ this._usableConcurrency = this._concurrency;
9
+ this._stopFlag = false;
10
+ }
11
+ async run() {
12
+ const tasks = this._tasks.splice(0, this._concurrency);
13
+ this._usableConcurrency = this._concurrency - tasks.length;
14
+ await pMap(
15
+ tasks,
16
+ async (task) => {
17
+ await this._runTask(task);
18
+ },
19
+ { concurrency: tasks.length }
20
+ );
21
+ }
22
+ addTask(task) {
23
+ this._tasks.push(task);
24
+ }
25
+ async _runTask(task) {
26
+ if (this._stopFlag) {
27
+ return;
28
+ }
29
+ const emitValue = await task(this._stopTask.bind(this));
30
+ this._usableConcurrency--;
31
+ this.emit(_TaskRunner.TASK_FINISH, emitValue);
32
+ if (this._tasks.length > 0) {
33
+ const nextTasks = this._tasks.splice(0, this._usableConcurrency);
34
+ this._usableConcurrency -= nextTasks.length;
35
+ if (nextTasks.length > 0) {
36
+ await pMap(
37
+ nextTasks,
38
+ async (_task) => {
39
+ await this._runTask(_task);
40
+ },
41
+ { concurrency: nextTasks.length }
42
+ );
43
+ }
44
+ }
45
+ }
46
+ _stopTask() {
47
+ this._stopFlag = true;
48
+ }
49
+ };
50
+ let TaskRunner = _TaskRunner;
51
+ TaskRunner.DefaultConcurrency = 10;
52
+ TaskRunner.TASK_FINISH = "task-finish";
53
+ export {
54
+ TaskRunner
55
+ };
File without changes
@@ -1,23 +1,3 @@
1
- var __async = (__this, __arguments, generator) => {
2
- return new Promise((resolve, reject) => {
3
- var fulfilled = (value) => {
4
- try {
5
- step(generator.next(value));
6
- } catch (e) {
7
- reject(e);
8
- }
9
- };
10
- var rejected = (value) => {
11
- try {
12
- step(generator.throw(value));
13
- } catch (e) {
14
- reject(e);
15
- }
16
- };
17
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
- step((generator = generator.apply(__this, __arguments)).next());
19
- });
20
- };
21
1
  import os from "os";
22
2
  import { execa, signale } from "@modern-js/utils";
23
3
  import {
@@ -33,17 +13,17 @@ const createTask = (config, taskCmds = defaultBuildCmds, taskLogger) => {
33
13
  disableContentHash = false,
34
14
  enableGitHash = false
35
15
  } = config;
36
- const task = (project) => __async(void 0, null, function* () {
16
+ const task = async (project) => {
37
17
  console.info("run ", project.name);
38
18
  if (!disableContentHash) {
39
- const changed = yield checkProjectChangeByContent(project);
19
+ const changed = await checkProjectChangeByContent(project);
40
20
  if (!changed) {
41
21
  console.info(`${project.name} content not change, skip`);
42
22
  return;
43
23
  }
44
24
  }
45
25
  if (enableGitHash) {
46
- const changed = yield checkProjectChangeByGit(project, rootPath);
26
+ const changed = await checkProjectChangeByGit(project, rootPath);
47
27
  if (!changed) {
48
28
  console.info(`${project.name} not change, skip`);
49
29
  return;
@@ -65,7 +45,7 @@ const createTask = (config, taskCmds = defaultBuildCmds, taskLogger) => {
65
45
  stderr: childProcess.stderr,
66
46
  logConfig: { label: "BUILD: " }
67
47
  });
68
- yield childProcess;
48
+ await childProcess;
69
49
  signale.timeEnd(prefix);
70
50
  } catch (e) {
71
51
  errorLog(project.name, e.message);
@@ -74,11 +54,11 @@ const createTask = (config, taskCmds = defaultBuildCmds, taskLogger) => {
74
54
  console.info(`${project.name} not have ${taskCmd}, skip it.`);
75
55
  }
76
56
  }
77
- });
57
+ };
78
58
  return task;
79
59
  };
80
60
  const defaultBuildCmds = ["build"];
81
- const runBuildTask = (_0, _1, _2, ..._3) => __async(void 0, [_0, _1, _2, ..._3], function* (projectName, operator, config, taskCmds = defaultBuildCmds) {
61
+ const runBuildTask = async (projectName, operator, config, taskCmds = defaultBuildCmds) => {
82
62
  const {
83
63
  withSelf = true,
84
64
  onlySelf = false,
@@ -88,14 +68,14 @@ const runBuildTask = (_0, _1, _2, ..._3) => __async(void 0, [_0, _1, _2, ..._3],
88
68
  const taskLogger = new MultitasksLogger();
89
69
  const task = createTask(config, taskCmds, taskLogger);
90
70
  if (onlySelf) {
91
- yield task(operator.getNodeData(projectName, { checkExist: true }));
71
+ await task(operator.getNodeData(projectName, { checkExist: true }));
92
72
  } else if (!disableWithDeps && withDept) {
93
- yield operator.traverseDependenciesToProjectToDependent(projectName, task, {
73
+ await operator.traverseDependenciesToProjectToDependent(projectName, task, {
94
74
  withSelf,
95
75
  runTaskConcurrency: os.cpus().length
96
76
  });
97
77
  } else if (disableWithDeps && withDept) {
98
- yield operator.traverseProjectToDependent(projectName, task, {
78
+ await operator.traverseProjectToDependent(projectName, task, {
99
79
  withSelf,
100
80
  runTaskConcurrency: os.cpus().length
101
81
  });
@@ -105,12 +85,12 @@ const runBuildTask = (_0, _1, _2, ..._3) => __async(void 0, [_0, _1, _2, ..._3],
105
85
  runTaskConcurrency: os.cpus().length
106
86
  });
107
87
  }
108
- });
109
- const runAllBuildTask = (_0, _1, ..._2) => __async(void 0, [_0, _1, ..._2], function* (operator, config, taskCmds = defaultBuildCmds) {
88
+ };
89
+ const runAllBuildTask = async (operator, config, taskCmds = defaultBuildCmds) => {
110
90
  const taskLogger = new MultitasksLogger();
111
91
  const task = createTask(config, taskCmds, taskLogger);
112
- yield operator.traverseAllNodes(task);
113
- });
92
+ await operator.traverseAllNodes(task);
93
+ };
114
94
  export {
115
95
  runAllBuildTask,
116
96
  runBuildTask
File without changes
@@ -1,23 +1,3 @@
1
- var __async = (__this, __arguments, generator) => {
2
- return new Promise((resolve, reject) => {
3
- var fulfilled = (value) => {
4
- try {
5
- step(generator.next(value));
6
- } catch (e) {
7
- reject(e);
8
- }
9
- };
10
- var rejected = (value) => {
11
- try {
12
- step(generator.throw(value));
13
- } catch (e) {
14
- reject(e);
15
- }
16
- };
17
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
- step((generator = generator.apply(__this, __arguments)).next());
19
- });
20
- };
21
1
  import * as path from "path";
22
2
  import {
23
3
  FileSystem,
@@ -85,7 +65,7 @@ const generatorAndCopyRequiredFiles = (rootPath, deployDir) => {
85
65
  copy("package-lock.json");
86
66
  checkAndUpdatePMWorkspaces(deployDir);
87
67
  };
88
- const checkAndRunDeployCommand = (monorepoPath, targetProject, packageManager) => __async(void 0, null, function* () {
68
+ const checkAndRunDeployCommand = async (monorepoPath, targetProject, packageManager) => {
89
69
  var _a, _b, _c;
90
70
  const scripts = ((_a = targetProject.extra) == null ? void 0 : _a.scripts) || {};
91
71
  if (scripts.deploy) {
@@ -94,7 +74,7 @@ const checkAndRunDeployCommand = (monorepoPath, targetProject, packageManager) =
94
74
  );
95
75
  let runDeployCommands = ["run", "deploy"];
96
76
  if (packageManager === "pnpm") {
97
- const pnpmVersion = yield getPnpmVersion();
77
+ const pnpmVersion = await getPnpmVersion();
98
78
  if (pnpmVersion.startsWith("6")) {
99
79
  runDeployCommands = ["run", "deploy", "--filter", targetProject.name];
100
80
  } else {
@@ -110,10 +90,10 @@ const checkAndRunDeployCommand = (monorepoPath, targetProject, packageManager) =
110
90
  });
111
91
  (_b = childProcess.stdout) == null ? void 0 : _b.pipe(process.stdout);
112
92
  (_c = childProcess.stderr) == null ? void 0 : _c.pipe(process.stderr);
113
- yield childProcess;
93
+ await childProcess;
114
94
  }
115
- });
116
- const installDependency = (deployDir, packageManager) => __async(void 0, null, function* () {
95
+ };
96
+ const installDependency = async (deployDir, packageManager) => {
117
97
  const packageJsonPath = path.join(deployDir, "package.json");
118
98
  const packageJson = JsonFile.load(packageJsonPath);
119
99
  const scripts = (packageJson == null ? void 0 : packageJson.scripts) || {};
@@ -135,11 +115,11 @@ const installDependency = (deployDir, packageManager) => __async(void 0, null, f
135
115
  cwd: deployDir,
136
116
  env: { NODE_ENV: void 0 }
137
117
  });
138
- yield childProcess;
139
- });
118
+ await childProcess;
119
+ };
140
120
  const excludeDirs = (filePath, dirs) => dirs.some((dir) => filePath.includes(dir));
141
121
  const defaultDeployPath = "output";
142
- const deploy = (deployProjectNames, operator, config) => __async(void 0, null, function* () {
122
+ const deploy = async (deployProjectNames, operator, config) => {
143
123
  const { rootPath, packageManager, deployPath = defaultDeployPath } = config;
144
124
  const realDeployPath = path.isAbsolute(deployPath) ? deployPath : path.join(rootPath, deployPath);
145
125
  FileSystem.deleteFolder(realDeployPath);
@@ -154,7 +134,7 @@ const deploy = (deployProjectNames, operator, config) => __async(void 0, null, f
154
134
  alldeps,
155
135
  realDeployPath
156
136
  );
157
- yield checkAndRunDeployCommand(rootPath, currentProject, packageManager);
137
+ await checkAndRunDeployCommand(rootPath, currentProject, packageManager);
158
138
  FileSystem.ensureFolder(realDeployPath);
159
139
  for (const [from, to] of copyMap) {
160
140
  FileSystem.copyFiles({
@@ -172,7 +152,7 @@ const deploy = (deployProjectNames, operator, config) => __async(void 0, null, f
172
152
  }
173
153
  generatorAndCopyRequiredFiles(rootPath, realDeployPath);
174
154
  logger.success(`Deploy success. The deploy dir is in '${rootPath}/output'`);
175
- });
155
+ };
176
156
  export {
177
157
  deploy
178
158
  };
File without changes
@@ -1,23 +1,3 @@
1
- var __async = (__this, __arguments, generator) => {
2
- return new Promise((resolve, reject) => {
3
- var fulfilled = (value) => {
4
- try {
5
- step(generator.next(value));
6
- } catch (e) {
7
- reject(e);
8
- }
9
- };
10
- var rejected = (value) => {
11
- try {
12
- step(generator.throw(value));
13
- } catch (e) {
14
- reject(e);
15
- }
16
- };
17
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
- step((generator = generator.apply(__this, __arguments)).next());
19
- });
20
- };
21
1
  import { execa, logger } from "@modern-js/utils";
22
2
  import { errorLog } from "../../log/error";
23
3
  import * as timeLog from "../../log/time";
@@ -38,7 +18,7 @@ const getFinalTaskCmds = (taskCmds, project) => {
38
18
  const createDependenciesTask = (config, taskCmds = defaultBuildWatchCmds, taskLogger) => {
39
19
  const { packageManager } = config;
40
20
  const timelogInstance = timeLog.initTimeLog();
41
- const task = (project) => __async(void 0, null, function* () {
21
+ const task = async (project) => {
42
22
  const finalTaskCmds = getFinalTaskCmds(taskCmds, project);
43
23
  const cmd = project.extra.scripts || {};
44
24
  for (const taskCmd of finalTaskCmds) {
@@ -55,7 +35,7 @@ const createDependenciesTask = (config, taskCmds = defaultBuildWatchCmds, taskLo
55
35
  stderr: childProcess.stderr,
56
36
  logConfig: { label: "WATCH: " }
57
37
  });
58
- yield childProcess;
38
+ await childProcess;
59
39
  } catch (e) {
60
40
  errorLog(project.name, e);
61
41
  }
@@ -64,12 +44,12 @@ const createDependenciesTask = (config, taskCmds = defaultBuildWatchCmds, taskLo
64
44
  logger.info(`${project.name} not have ${taskCmd}, skip it.`);
65
45
  }
66
46
  }
67
- });
47
+ };
68
48
  return task;
69
49
  };
70
50
  const createDevTask = (config, taskCmds = defaultBuildWatchCmds, taskLogger) => {
71
51
  const { packageManager } = config;
72
- const task = (project) => __async(void 0, null, function* () {
52
+ const task = async (project) => {
73
53
  const devCmds = [taskCmds[0]];
74
54
  const cmd = project.extra.scripts || {};
75
55
  for (const taskCmd of devCmds) {
@@ -85,7 +65,7 @@ const createDevTask = (config, taskCmds = defaultBuildWatchCmds, taskLogger) =>
85
65
  stderr: childProcess.stderr,
86
66
  logConfig: { label: `${taskCmd.toUpperCase()}: ` }
87
67
  });
88
- const ret = yield childProcess;
68
+ const ret = await childProcess;
89
69
  console.info(ret);
90
70
  } catch (e) {
91
71
  errorLog(project.name, e);
@@ -94,7 +74,7 @@ const createDevTask = (config, taskCmds = defaultBuildWatchCmds, taskLogger) =>
94
74
  logger.info(`${project.name} not have ${taskCmd}, skip it.`);
95
75
  }
96
76
  }
97
- });
77
+ };
98
78
  return task;
99
79
  };
100
80
  export {
@@ -1,23 +1,3 @@
1
- var __async = (__this, __arguments, generator) => {
2
- return new Promise((resolve, reject) => {
3
- var fulfilled = (value) => {
4
- try {
5
- step(generator.next(value));
6
- } catch (e) {
7
- reject(e);
8
- }
9
- };
10
- var rejected = (value) => {
11
- try {
12
- step(generator.throw(value));
13
- } catch (e) {
14
- reject(e);
15
- }
16
- };
17
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
- step((generator = generator.apply(__this, __arguments)).next());
19
- });
20
- };
21
1
  import anymatch from "anymatch";
22
2
  import { chokidar } from "@modern-js/utils";
23
3
  import { MultitasksLogger } from "../../log/multi-tasks-log";
@@ -34,7 +14,7 @@ const getIgnored = (config) => (watchFilePath) => {
34
14
  }
35
15
  return false;
36
16
  };
37
- const runBuildWatchTask = (_0, _1, _2, ..._3) => __async(void 0, [_0, _1, _2, ..._3], function* (projectName, operator, config, taskCmds = defaultBuildWatchCmds) {
17
+ const runBuildWatchTask = async (projectName, operator, config, taskCmds = defaultBuildWatchCmds) => {
38
18
  const { needInit = true } = config;
39
19
  const taskLogger = new MultitasksLogger();
40
20
  const dependenciesTask = createDependenciesTask(config, taskCmds, taskLogger);
@@ -52,24 +32,24 @@ const runBuildWatchTask = (_0, _1, _2, ..._3) => __async(void 0, [_0, _1, _2, ..
52
32
  });
53
33
  watcher.add(watchedProjectState.getWatchedProjectsPath());
54
34
  if (needInit) {
55
- yield operator.traverseDependenciesToProject(
35
+ await operator.traverseDependenciesToProject(
56
36
  projectName,
57
- (currentProject) => __async(void 0, null, function* () {
58
- yield dependenciesTask(currentProject);
59
- })
37
+ async (currentProject) => {
38
+ await dependenciesTask(currentProject);
39
+ }
60
40
  );
61
41
  }
62
- yield new Promise((resolve) => {
42
+ await new Promise((resolve) => {
63
43
  console.info("start watch");
64
- watcher.on("all", (eventName, changeFilePath) => __async(void 0, null, function* () {
44
+ watcher.on("all", async (eventName, changeFilePath) => {
65
45
  if (eventName === "add") {
66
46
  watchedProjectState.updateState();
67
47
  }
68
48
  const changedProject = watchedProjectState.getChangedProject(changeFilePath);
69
49
  if (changedProject) {
70
- yield operator.traverseProjectToDependent(
50
+ await operator.traverseProjectToDependent(
71
51
  changedProject.name,
72
- (currentProject, _, earlyFinish) => __async(void 0, null, function* () {
52
+ async (currentProject, _, earlyFinish) => {
73
53
  if (currentProject.name === projectName) {
74
54
  earlyFinish();
75
55
  return;
@@ -78,20 +58,20 @@ const runBuildWatchTask = (_0, _1, _2, ..._3) => __async(void 0, [_0, _1, _2, ..
78
58
  currentProject.name
79
59
  )) {
80
60
  console.info("run build", currentProject.name);
81
- yield dependenciesTask(currentProject);
61
+ await dependenciesTask(currentProject);
82
62
  }
83
- }),
63
+ },
84
64
  { withSelf: true }
85
65
  );
86
66
  resolve(null);
87
67
  } else {
88
68
  console.info("changed is not in monorepo manager");
89
69
  }
90
- }));
70
+ });
91
71
  resolve(null);
92
72
  });
93
- yield devTask(operator.getNodeData(projectName, { checkExist: true }));
94
- });
73
+ await devTask(operator.getNodeData(projectName, { checkExist: true }));
74
+ };
95
75
  export {
96
76
  runBuildWatchTask
97
77
  };
@@ -1,22 +1,3 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
1
  import * as path from "path";
21
2
  import { globby } from "@modern-js/utils";
22
3
  class WatchedProjectsState {
@@ -44,9 +25,10 @@ class WatchedProjectsState {
44
25
  node.extra.path
45
26
  );
46
27
  }
47
- return __spreadProps(__spreadValues({}, ret), {
28
+ return {
29
+ ...ret,
48
30
  [node.extra.path]: node
49
- });
31
+ };
50
32
  },
51
33
  {}
52
34
  );