@pnpm/workspace.injected-deps-syncer 1000.0.13 → 1000.0.15
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/lib/index.js +39 -0
- package/lib/index.js.map +1 -1
- package/package.json +10 -6
package/lib/index.js
CHANGED
|
@@ -6,8 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.syncInjectedDeps = syncInjectedDeps;
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
8
|
const error_1 = require("@pnpm/error");
|
|
9
|
+
const link_bins_1 = require("@pnpm/link-bins");
|
|
9
10
|
const logger_1 = require("@pnpm/logger");
|
|
10
11
|
const modules_yaml_1 = require("@pnpm/modules-yaml");
|
|
12
|
+
const read_package_json_1 = require("@pnpm/read-package-json");
|
|
13
|
+
const workspace_find_packages_1 = require("@pnpm/workspace.find-packages");
|
|
11
14
|
const normalize_path_1 = __importDefault(require("normalize-path"));
|
|
12
15
|
const DirPatcher_js_1 = require("./DirPatcher.js");
|
|
13
16
|
const logger = (0, logger_1.logger)('skip-sync-injected-deps');
|
|
@@ -46,5 +49,41 @@ async function syncInjectedDeps(opts) {
|
|
|
46
49
|
}
|
|
47
50
|
const patchers = await DirPatcher_js_1.DirPatcher.fromMultipleTargets(pkgRootDir, targetDirs.map(targetDir => path_1.default.resolve(opts.workspaceDir, targetDir)));
|
|
48
51
|
await Promise.all(patchers.map(patcher => patcher.apply()));
|
|
52
|
+
// After syncing files, also sync bin links if the package has binaries
|
|
53
|
+
await syncBinLinks(pkgRootDir, targetDirs, opts.workspaceDir);
|
|
54
|
+
}
|
|
55
|
+
async function syncBinLinks(pkgRootDir, targetDirs, workspaceDir) {
|
|
56
|
+
const manifest = await (0, read_package_json_1.safeReadPackageJsonFromDir)(pkgRootDir);
|
|
57
|
+
if (!manifest?.bin || !manifest?.name) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
// Step 1: Link bins in .pnpm virtual store
|
|
61
|
+
const binLinkPromises = targetDirs.map(async (targetDir) => {
|
|
62
|
+
const resolvedTargetDir = path_1.default.resolve(workspaceDir, targetDir);
|
|
63
|
+
const parentNodeModulesDir = path_1.default.dirname(resolvedTargetDir);
|
|
64
|
+
const binDir = path_1.default.join(parentNodeModulesDir, '.bin');
|
|
65
|
+
await (0, link_bins_1.linkBinsOfPackages)([{
|
|
66
|
+
manifest,
|
|
67
|
+
location: resolvedTargetDir,
|
|
68
|
+
}], binDir, {});
|
|
69
|
+
});
|
|
70
|
+
// Step 2: Relink bins for all workspace projects
|
|
71
|
+
// We need to relink bins for all workspace projects because injected deps
|
|
72
|
+
// can be used by any project in the workspace. We relink all bins (not just
|
|
73
|
+
// this package) to ensure consistency.
|
|
74
|
+
const allProjects = await (0, workspace_find_packages_1.findWorkspacePackagesNoCheck)(workspaceDir, {});
|
|
75
|
+
const consumerLinkPromises = allProjects.map(async (project) => {
|
|
76
|
+
const projectNodeModules = path_1.default.join(project.rootDir, 'node_modules');
|
|
77
|
+
const projectBinDir = path_1.default.join(projectNodeModules, '.bin');
|
|
78
|
+
// Relink all bins in the project's node_modules
|
|
79
|
+
await (0, link_bins_1.linkBins)(projectNodeModules, projectBinDir, {
|
|
80
|
+
allowExoticManifests: true,
|
|
81
|
+
projectManifest: project.manifest,
|
|
82
|
+
warn: (msg) => {
|
|
83
|
+
console.warn(`[linkBins warning] ${msg}`);
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
await Promise.all([...binLinkPromises, ...consumerLinkPromises]);
|
|
49
88
|
}
|
|
50
89
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pnpm/workspace.injected-deps-syncer",
|
|
3
|
-
"version": "1000.0.
|
|
3
|
+
"version": "1000.0.15",
|
|
4
4
|
"description": "Update all injected replica of a workspace package",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pnpm",
|
|
@@ -26,17 +26,21 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@types/normalize-path": "^3.0.2",
|
|
28
28
|
"normalize-path": "^3.0.0",
|
|
29
|
+
"@pnpm/directory-fetcher": "1000.1.13",
|
|
29
30
|
"@pnpm/error": "1000.0.5",
|
|
30
|
-
"@pnpm/
|
|
31
|
-
"@pnpm/modules-yaml": "1000.3.5"
|
|
31
|
+
"@pnpm/link-bins": "1000.2.5",
|
|
32
|
+
"@pnpm/modules-yaml": "1000.3.5",
|
|
33
|
+
"@pnpm/types": "1000.8.0",
|
|
34
|
+
"@pnpm/read-package-json": "1000.1.1",
|
|
35
|
+
"@pnpm/workspace.find-packages": "1000.0.41"
|
|
32
36
|
},
|
|
33
37
|
"peerDependencies": {
|
|
34
38
|
"@pnpm/logger": ">=1001.0.0 <1002.0.0"
|
|
35
39
|
},
|
|
36
40
|
"devDependencies": {
|
|
37
|
-
"@pnpm/logger": "1001.0.
|
|
38
|
-
"@pnpm/workspace.injected-deps-syncer": "1000.0.
|
|
39
|
-
"@pnpm/prepare": "1000.0.
|
|
41
|
+
"@pnpm/logger": "1001.0.1",
|
|
42
|
+
"@pnpm/workspace.injected-deps-syncer": "1000.0.15",
|
|
43
|
+
"@pnpm/prepare": "1000.0.3"
|
|
40
44
|
},
|
|
41
45
|
"engines": {
|
|
42
46
|
"node": ">=18.12"
|