@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
|
@@ -3,9 +3,9 @@ import { FileSystem, JsonFile, Sort } from "@rushstack/node-core-library";
|
|
|
3
3
|
import { getGitHashForFiles } from "@rushstack/package-deps-hash";
|
|
4
4
|
import { globby } from "@modern-js/utils";
|
|
5
5
|
import md5 from "md5";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
const PROJECT_CONTENT_FILE_NAME = "project-content.json";
|
|
7
|
+
const MONOREPO_GIT_FILE_NAME = "monorepo-git.json";
|
|
8
|
+
const PROJECT_MEMORY_PATH = ".project-memory";
|
|
9
9
|
const getProjectGitHash = async (project) => {
|
|
10
10
|
const projectDir = project.extra.path;
|
|
11
11
|
const globOption = {
|
|
@@ -29,7 +29,7 @@ const getProjectGitHash = async (project) => {
|
|
|
29
29
|
});
|
|
30
30
|
return md5(JsonFile.stringify(hashObject));
|
|
31
31
|
};
|
|
32
|
-
|
|
32
|
+
const checkProjectChangeByGit = async (project, rootPath) => {
|
|
33
33
|
const monorepoGitMemory = path.join(rootPath, MONOREPO_GIT_FILE_NAME);
|
|
34
34
|
const currentProjectHash = await getProjectGitHash(project);
|
|
35
35
|
if (!FileSystem.exists(monorepoGitMemory)) {
|
|
@@ -68,7 +68,7 @@ const getProjectContentHashObjectForFiles = async (project) => {
|
|
|
68
68
|
}
|
|
69
69
|
return hashObject;
|
|
70
70
|
};
|
|
71
|
-
|
|
71
|
+
const checkProjectChangeByContent = async (project) => {
|
|
72
72
|
const projectDir = project.extra.path;
|
|
73
73
|
const projectMemoryFolder = path.resolve(projectDir, ".project-memory");
|
|
74
74
|
const projectJsonFile = path.join(projectMemoryFolder, PROJECT_CONTENT_FILE_NAME);
|
|
@@ -89,3 +89,10 @@ export const checkProjectChangeByContent = async (project) => {
|
|
|
89
89
|
}
|
|
90
90
|
return changed;
|
|
91
91
|
};
|
|
92
|
+
export {
|
|
93
|
+
MONOREPO_GIT_FILE_NAME,
|
|
94
|
+
PROJECT_CONTENT_FILE_NAME,
|
|
95
|
+
PROJECT_MEMORY_PATH,
|
|
96
|
+
checkProjectChangeByContent,
|
|
97
|
+
checkProjectChangeByGit
|
|
98
|
+
};
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import * as path from "path";
|
|
2
2
|
import { FileSystem } from "@rushstack/node-core-library";
|
|
3
3
|
import { PROJECT_MEMORY_PATH, PROJECT_CONTENT_FILE_NAME } from "./checkProjectChange";
|
|
4
|
-
|
|
4
|
+
const clearProjectsMemoryFile = (projects) => {
|
|
5
5
|
for (const project of projects) {
|
|
6
6
|
const memoryFilePath = path.join(project.extra.path, PROJECT_MEMORY_PATH, PROJECT_CONTENT_FILE_NAME);
|
|
7
7
|
console.info("remove", memoryFilePath);
|
|
8
8
|
FileSystem.deleteFile(memoryFilePath);
|
|
9
9
|
}
|
|
10
10
|
};
|
|
11
|
+
export {
|
|
12
|
+
clearProjectsMemoryFile
|
|
13
|
+
};
|
|
@@ -87,7 +87,7 @@ const checkFindProjectsMode = (config) => {
|
|
|
87
87
|
}
|
|
88
88
|
errorLog("No `packagesMatchs` and `projectsConfig` configurations found");
|
|
89
89
|
};
|
|
90
|
-
|
|
90
|
+
const getProjects = async (config, currentDir = process.cwd()) => {
|
|
91
91
|
const { rootPath } = getMonorepoBaseData(currentDir);
|
|
92
92
|
const mode = checkFindProjectsMode(config);
|
|
93
93
|
let projects = [];
|
|
@@ -98,7 +98,7 @@ export const getProjects = async (config, currentDir = process.cwd()) => {
|
|
|
98
98
|
}
|
|
99
99
|
return projects;
|
|
100
100
|
};
|
|
101
|
-
|
|
101
|
+
const syncGetProjects = (config, currentDir = process.cwd()) => {
|
|
102
102
|
const { rootPath } = getMonorepoBaseData(currentDir);
|
|
103
103
|
const mode = checkFindProjectsMode(config);
|
|
104
104
|
let projects = [];
|
|
@@ -109,3 +109,7 @@ export const syncGetProjects = (config, currentDir = process.cwd()) => {
|
|
|
109
109
|
}
|
|
110
110
|
return projects;
|
|
111
111
|
};
|
|
112
|
+
export {
|
|
113
|
+
getProjects,
|
|
114
|
+
syncGetProjects
|
|
115
|
+
};
|
|
@@ -45,7 +45,7 @@ const makeFileFinder = (rootPath, packageConfigs, ignoreConfigs = []) => {
|
|
|
45
45
|
return results.reduce((acc, result) => acc.concat(result), []);
|
|
46
46
|
};
|
|
47
47
|
};
|
|
48
|
-
|
|
48
|
+
const getProjectsByPackageConfig = async (rootPath, packagesConfig, ignoreConfigs) => {
|
|
49
49
|
const finder = makeFileFinder(rootPath, packagesConfig, ignoreConfigs);
|
|
50
50
|
const fileName = "package.json";
|
|
51
51
|
const mapper = (packageConfigPath) => {
|
|
@@ -77,7 +77,7 @@ const makeSyncFileFinder = (rootPath, packageConfigs, ignoreConfigs = []) => {
|
|
|
77
77
|
return results.reduce((acc, result) => acc.concat(result), []);
|
|
78
78
|
};
|
|
79
79
|
};
|
|
80
|
-
|
|
80
|
+
const syncGetProjectsByPackageConfig = (rootPath, packagesConfig, ignoreConfigs) => {
|
|
81
81
|
const finder = makeSyncFileFinder(rootPath, packagesConfig, ignoreConfigs);
|
|
82
82
|
const fileName = "package.json";
|
|
83
83
|
const mapper = (packageConfigPath) => {
|
|
@@ -90,3 +90,7 @@ export const syncGetProjectsByPackageConfig = (rootPath, packagesConfig, ignoreC
|
|
|
90
90
|
const projects = finder(fileName, (filePaths) => filePaths.map((filePath) => mapper(filePath)), {});
|
|
91
91
|
return projects;
|
|
92
92
|
};
|
|
93
|
+
export {
|
|
94
|
+
getProjectsByPackageConfig,
|
|
95
|
+
syncGetProjectsByPackageConfig
|
|
96
|
+
};
|
|
@@ -4,7 +4,7 @@ import { fs, yaml } from "@modern-js/utils";
|
|
|
4
4
|
import { getWorkspaceFile } from "../parse-config/monorepo";
|
|
5
5
|
import { WORKSPACE_FILE } from "../constants";
|
|
6
6
|
import { getProjectsByPackageConfig, syncGetProjectsByPackageConfig } from "./getProjectsByPackagesConfig";
|
|
7
|
-
|
|
7
|
+
const getProjectsByWorkspaceFile = async (rootPath, config, ignoreConfigs) => {
|
|
8
8
|
var _config_workspaceFile;
|
|
9
9
|
let { workspaceFile } = config;
|
|
10
10
|
if (!config.enableAutoFinder && (!("workspaceFile" in config) || ((_config_workspaceFile = config.workspaceFile) === null || _config_workspaceFile === void 0 ? void 0 : _config_workspaceFile.length) === 0)) {
|
|
@@ -19,9 +19,9 @@ export const getProjectsByWorkspaceFile = async (rootPath, config, ignoreConfigs
|
|
|
19
19
|
const pnpmWorkspace = yaml.load(yamlString);
|
|
20
20
|
packagesConfig = pnpmWorkspace.packages || [];
|
|
21
21
|
} else if (workspaceFile === WORKSPACE_FILE.YARN) {
|
|
22
|
-
var _pkgJson_workspaces
|
|
22
|
+
var _pkgJson_workspaces;
|
|
23
23
|
const pkgJson = JsonFile.load(path.resolve(rootPath, workspaceFile));
|
|
24
|
-
packagesConfig = (
|
|
24
|
+
packagesConfig = (pkgJson === null || pkgJson === void 0 ? void 0 : (_pkgJson_workspaces = pkgJson.workspaces) === null || _pkgJson_workspaces === void 0 ? void 0 : _pkgJson_workspaces.packages) || [];
|
|
25
25
|
} else if (workspaceFile === WORKSPACE_FILE.LERNA) {
|
|
26
26
|
const lernaJson = JsonFile.load(path.resolve(rootPath, workspaceFile));
|
|
27
27
|
var _lernaJson_packages;
|
|
@@ -30,7 +30,7 @@ export const getProjectsByWorkspaceFile = async (rootPath, config, ignoreConfigs
|
|
|
30
30
|
const projects = await getProjectsByPackageConfig(rootPath, packagesConfig, ignoreConfigs);
|
|
31
31
|
return projects;
|
|
32
32
|
};
|
|
33
|
-
|
|
33
|
+
const syncGetProjectsByWorkspaceFile = (rootPath, config, ignoreConfigs) => {
|
|
34
34
|
var _config_workspaceFile;
|
|
35
35
|
let { workspaceFile } = config;
|
|
36
36
|
if (!config.enableAutoFinder && (!("workspaceFile" in config) || ((_config_workspaceFile = config.workspaceFile) === null || _config_workspaceFile === void 0 ? void 0 : _config_workspaceFile.length) === 0)) {
|
|
@@ -45,9 +45,9 @@ export const syncGetProjectsByWorkspaceFile = (rootPath, config, ignoreConfigs)
|
|
|
45
45
|
const pnpmWorkspace = yaml.load(yamlString);
|
|
46
46
|
packagesConfig = pnpmWorkspace.packages || [];
|
|
47
47
|
} else if (workspaceFile === WORKSPACE_FILE.YARN) {
|
|
48
|
-
var _pkgJson_workspaces
|
|
48
|
+
var _pkgJson_workspaces;
|
|
49
49
|
const pkgJson = JsonFile.load(path.resolve(rootPath, workspaceFile));
|
|
50
|
-
packagesConfig = (
|
|
50
|
+
packagesConfig = (pkgJson === null || pkgJson === void 0 ? void 0 : (_pkgJson_workspaces = pkgJson.workspaces) === null || _pkgJson_workspaces === void 0 ? void 0 : _pkgJson_workspaces.packages) || [];
|
|
51
51
|
} else if (workspaceFile === WORKSPACE_FILE.LERNA) {
|
|
52
52
|
const lernaJson = JsonFile.load(path.resolve(rootPath, workspaceFile));
|
|
53
53
|
var _lernaJson_packages;
|
|
@@ -56,3 +56,7 @@ export const syncGetProjectsByWorkspaceFile = (rootPath, config, ignoreConfigs)
|
|
|
56
56
|
const projects = syncGetProjectsByPackageConfig(rootPath, packagesConfig, ignoreConfigs);
|
|
57
57
|
return projects;
|
|
58
58
|
};
|
|
59
|
+
export {
|
|
60
|
+
getProjectsByWorkspaceFile,
|
|
61
|
+
syncGetProjectsByWorkspaceFile
|
|
62
|
+
};
|
package/dist/esm/type.js
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as path from "path";
|
|
2
2
|
import { fs, execa } from "@modern-js/utils";
|
|
3
3
|
import { LOCK_FILE } from "../constants";
|
|
4
|
-
|
|
4
|
+
const removeLockFile = (rootPath, packageManager) => {
|
|
5
5
|
if (packageManager === "pnpm") {
|
|
6
6
|
fs.removeSync(path.join(rootPath, LOCK_FILE.PNPM));
|
|
7
7
|
} else if (packageManager === "yarn") {
|
|
@@ -10,7 +10,7 @@ export const removeLockFile = (rootPath, packageManager) => {
|
|
|
10
10
|
fs.removeSync(path.join(rootPath, LOCK_FILE.NPM));
|
|
11
11
|
}
|
|
12
12
|
};
|
|
13
|
-
|
|
13
|
+
const installByPackageManager = async (packageManager, { rootPath, removeLock }) => {
|
|
14
14
|
if (removeLock) {
|
|
15
15
|
removeLockFile(rootPath, packageManager);
|
|
16
16
|
}
|
|
@@ -29,3 +29,7 @@ export const installByPackageManager = async (packageManager, { rootPath, remove
|
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
|
+
export {
|
|
33
|
+
installByPackageManager,
|
|
34
|
+
removeLockFile
|
|
35
|
+
};
|
package/dist/esm/utils/types.js
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"modern",
|
|
16
16
|
"modern.js"
|
|
17
17
|
],
|
|
18
|
-
"version": "2.
|
|
18
|
+
"version": "2.36.0",
|
|
19
19
|
"jsnext:source": "./src/index.ts",
|
|
20
20
|
"types": "./dist/types/index.d.ts",
|
|
21
21
|
"main": "./dist/cjs/index.js",
|
|
@@ -43,14 +43,14 @@
|
|
|
43
43
|
"md5": "^2.3.0",
|
|
44
44
|
"p-map": "^4.0.0",
|
|
45
45
|
"@swc/helpers": "0.5.1",
|
|
46
|
-
"@modern-js/core": "2.
|
|
47
|
-
"@modern-js/
|
|
48
|
-
"@modern-js/
|
|
49
|
-
"@modern-js/plugin": "2.
|
|
50
|
-
"@modern-js/plugin-
|
|
51
|
-
"@modern-js/plugin-
|
|
52
|
-
"@modern-js/plugin-lint": "2.
|
|
53
|
-
"@modern-js/utils": "2.
|
|
46
|
+
"@modern-js/core": "2.36.0",
|
|
47
|
+
"@modern-js/new-action": "2.36.0",
|
|
48
|
+
"@modern-js/upgrade": "2.36.0",
|
|
49
|
+
"@modern-js/plugin": "2.36.0",
|
|
50
|
+
"@modern-js/plugin-changeset": "2.36.0",
|
|
51
|
+
"@modern-js/plugin-i18n": "2.36.0",
|
|
52
|
+
"@modern-js/plugin-lint": "2.36.0",
|
|
53
|
+
"@modern-js/utils": "2.36.0"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@types/jest": "^29",
|
|
@@ -58,8 +58,8 @@
|
|
|
58
58
|
"@types/node": "^14",
|
|
59
59
|
"jest": "^29",
|
|
60
60
|
"typescript": "^5",
|
|
61
|
-
"@scripts/build": "2.
|
|
62
|
-
"@scripts/jest-config": "2.
|
|
61
|
+
"@scripts/build": "2.36.0",
|
|
62
|
+
"@scripts/jest-config": "2.36.0"
|
|
63
63
|
},
|
|
64
64
|
"sideEffects": false,
|
|
65
65
|
"publishConfig": {
|