@pnpm/mount-modules 0.1.23 → 0.2.1
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/README.md +2 -2
- package/lib/cli.js +10 -1
- package/lib/cli.js.map +1 -1
- package/lib/createFuseHandlers.d.ts +1 -1
- package/lib/createFuseHandlers.js +8 -9
- package/lib/createFuseHandlers.js.map +1 -1
- package/lib/makeVirtualNodeModules.d.ts +1 -1
- package/lib/makeVirtualNodeModules.js +8 -10
- package/lib/makeVirtualNodeModules.js.map +1 -1
- package/package.json +15 -10
package/README.md
CHANGED
|
@@ -24,12 +24,12 @@ Once the packages are in the store, run:
|
|
|
24
24
|
mount-modules
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
If something goes wrong and the modules directory will be not accessible,
|
|
27
|
+
If something goes wrong and the modules directory will be not accessible, unmount it using:
|
|
28
28
|
|
|
29
29
|
```
|
|
30
30
|
unmount <path to node_modules>
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
## License
|
|
33
|
+
## License
|
|
34
34
|
|
|
35
35
|
MIT
|
package/lib/cli.js
CHANGED
|
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const config_1 = __importDefault(require("@pnpm/config"));
|
|
6
7
|
const fs_1 = require("fs");
|
|
7
8
|
const path_1 = __importDefault(require("path"));
|
|
8
9
|
const store_path_1 = __importDefault(require("@pnpm/store-path"));
|
|
@@ -11,7 +12,15 @@ const createFuseHandlers_1 = __importDefault(require("./createFuseHandlers"));
|
|
|
11
12
|
(async () => {
|
|
12
13
|
const mnt = path_1.default.join(process.cwd(), 'node_modules');
|
|
13
14
|
await fs_1.promises.mkdir(mnt, { recursive: true });
|
|
14
|
-
const
|
|
15
|
+
const { config } = await (0, config_1.default)({
|
|
16
|
+
cliOptions: {},
|
|
17
|
+
packageManager: { name: '', version: '' },
|
|
18
|
+
});
|
|
19
|
+
const cafsDir = path_1.default.join(await (0, store_path_1.default)({
|
|
20
|
+
pkgRoot: process.cwd(),
|
|
21
|
+
storePath: config.storeDir,
|
|
22
|
+
pnpmHomeDir: config.pnpmHomeDir,
|
|
23
|
+
}), 'files');
|
|
15
24
|
const fuse = new fuse_native_1.default(mnt, await (0, createFuseHandlers_1.default)(process.cwd(), cafsDir), { debug: true });
|
|
16
25
|
fuse.mount(function (err) {
|
|
17
26
|
if (err != null)
|
package/lib/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;AAAA,2BAAmC;AACnC,gDAAuB;AAEvB,kEAA2C;AAC3C,8DAA8B;AAC9B,8EAAqD;AACrD,CAAC,KAAK,IAAI,EAAE;IACV,MAAM,GAAG,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAA;IACpD,MAAM,aAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACxC,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,IAAA,oBAAY,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;AAAA,0DAAoC;AACpC,2BAAmC;AACnC,gDAAuB;AAEvB,kEAA2C;AAC3C,8DAA8B;AAC9B,8EAAqD;AACrD,CAAC,KAAK,IAAI,EAAE;IACV,MAAM,GAAG,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAA;IACpD,MAAM,aAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACxC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,gBAAS,EAAC;QACjC,UAAU,EAAE,EAAE;QACd,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;KAC1C,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,IAAA,oBAAY,EAAC;QAC3C,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;QACtB,SAAS,EAAE,MAAM,CAAC,QAAQ;QAC1B,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC,EAAE,OAAO,CAAC,CAAA;IACZ,MAAM,IAAI,GAAG,IAAI,qBAAI,CAAC,GAAG,EAAE,MAAM,IAAA,4BAAkB,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7F,IAAI,CAAC,KAAK,CAAC,UAAU,GAAW;QAC9B,IAAI,GAAG,IAAI,IAAI;YAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;QACrB,IAAI,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;YAC3B,IAAI,GAAG,IAAI,IAAI,EAAE;gBACf,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,GAAa,gBAAgB,EAAE,GAAG,CAAC,CAAA;aACtE;iBAAM;gBACL,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,GAAa,YAAY,CAAC,CAAA;aAC7D;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,EAAE,CAAA"}
|
|
@@ -8,7 +8,7 @@ export default function createFuseHandlers(lockfileDir: string, cafsDir: string)
|
|
|
8
8
|
getattr(p: string, cb: (returnCode: number, files?: any) => void): void;
|
|
9
9
|
readdir: (p: string, cb: (returnCode: number, files?: string[] | undefined) => void) => void;
|
|
10
10
|
}>;
|
|
11
|
-
export declare function createFuseHandlersFromLockfile(lockfile: Lockfile,
|
|
11
|
+
export declare function createFuseHandlersFromLockfile(lockfile: Lockfile, cafsDir: string): {
|
|
12
12
|
open(p: string, flags: string | number, cb: (exitCode: number, fd?: number | undefined) => void): void;
|
|
13
13
|
release(p: string, fd: number, cb: (exitCode: number) => void): void;
|
|
14
14
|
read(p: string, fd: number, buffer: Buffer, length: number, position: number, cb: (readBytes: number) => void): void;
|
|
@@ -49,17 +49,17 @@ async function createFuseHandlers(lockfileDir, cafsDir) {
|
|
|
49
49
|
const lockfile = await (0, lockfile_file_1.readWantedLockfile)(lockfileDir, { ignoreIncompatible: true });
|
|
50
50
|
if (lockfile == null)
|
|
51
51
|
throw new Error('Cannot generate a .pnp.cjs without a lockfile');
|
|
52
|
-
return createFuseHandlersFromLockfile(lockfile,
|
|
52
|
+
return createFuseHandlersFromLockfile(lockfile, cafsDir);
|
|
53
53
|
}
|
|
54
54
|
exports.default = createFuseHandlers;
|
|
55
55
|
/* eslint-disable node/no-callback-literal */
|
|
56
|
-
function createFuseHandlersFromLockfile(lockfile,
|
|
56
|
+
function createFuseHandlersFromLockfile(lockfile, cafsDir) {
|
|
57
57
|
const pkgSnapshotCache = new Map();
|
|
58
|
-
const virtualNodeModules = (0, makeVirtualNodeModules_1.default)(lockfile
|
|
58
|
+
const virtualNodeModules = (0, makeVirtualNodeModules_1.default)(lockfile);
|
|
59
59
|
return {
|
|
60
60
|
open(p, flags, cb) {
|
|
61
61
|
const dirEnt = getDirEnt(p);
|
|
62
|
-
if (
|
|
62
|
+
if (dirEnt?.entryType !== 'index') {
|
|
63
63
|
cb(-1);
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
@@ -91,7 +91,7 @@ function createFuseHandlersFromLockfile(lockfile, lockfileDir, cafsDir) {
|
|
|
91
91
|
},
|
|
92
92
|
readlink(p, cb) {
|
|
93
93
|
const dirEnt = getDirEnt(p);
|
|
94
|
-
if (
|
|
94
|
+
if (dirEnt?.entryType !== 'symlink') {
|
|
95
95
|
cb(fuse_native_1.default.ENOENT);
|
|
96
96
|
return;
|
|
97
97
|
}
|
|
@@ -143,7 +143,7 @@ function createFuseHandlersFromLockfile(lockfile, lockfileDir, cafsDir) {
|
|
|
143
143
|
};
|
|
144
144
|
function readdir(p, cb) {
|
|
145
145
|
const dirEnt = getDirEnt(p);
|
|
146
|
-
if (
|
|
146
|
+
if (dirEnt?.entryType === 'index') {
|
|
147
147
|
const dirEnts = cafsExplorer.readdir(dirEnt.index, dirEnt.subPath);
|
|
148
148
|
if (dirEnts.length === 0) {
|
|
149
149
|
cb(fuse_native_1.default.ENOENT);
|
|
@@ -165,7 +165,7 @@ function createFuseHandlersFromLockfile(lockfile, lockfileDir, cafsDir) {
|
|
|
165
165
|
while ((parts.length > 0) && currentDirEntry && currentDirEntry.entryType === 'directory') {
|
|
166
166
|
currentDirEntry = currentDirEntry.entries[parts.shift()];
|
|
167
167
|
}
|
|
168
|
-
if (
|
|
168
|
+
if (currentDirEntry?.entryType === 'index') {
|
|
169
169
|
const pkg = getPkgInfo(currentDirEntry.depPath, cafsDir);
|
|
170
170
|
if (pkg == null) {
|
|
171
171
|
return null;
|
|
@@ -179,9 +179,8 @@ function createFuseHandlersFromLockfile(lockfile, lockfileDir, cafsDir) {
|
|
|
179
179
|
return currentDirEntry;
|
|
180
180
|
}
|
|
181
181
|
function getPkgInfo(depPath, cafsDir) {
|
|
182
|
-
var _a;
|
|
183
182
|
if (!pkgSnapshotCache.has(depPath)) {
|
|
184
|
-
const pkgSnapshot =
|
|
183
|
+
const pkgSnapshot = lockfile.packages?.[depPath];
|
|
185
184
|
if (pkgSnapshot == null)
|
|
186
185
|
return undefined;
|
|
187
186
|
const indexPath = (0, cafs_1.getFilePathInCafs)(cafsDir, pkgSnapshot.resolution['integrity'], 'index');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createFuseHandlers.js","sourceRoot":"","sources":["../src/createFuseHandlers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAmB;AACnB,qCAA0F;AAC1F,uDAAmF;AACnF,yDAE6B;AAC7B,4DAA6C;AAC7C,oEAAyC;AACzC,8DAA8B;AAC9B,6DAA8C;AAC9C,sFAA6D;AAE7D,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;AACvB,MAAM,YAAY,GAAG;IACnB,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;CAC3C,CAAA;AAEc,KAAK,UAAU,kBAAkB,CAAE,WAAmB,EAAE,OAAe;IACpF,MAAM,QAAQ,GAAG,MAAM,IAAA,kCAAkB,EAAC,WAAW,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAA;IACpF,IAAI,QAAQ,IAAI,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;IACtF,OAAO,8BAA8B,CAAC,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"createFuseHandlers.js","sourceRoot":"","sources":["../src/createFuseHandlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,19 +31,18 @@ const types_1 = require("@pnpm/types");
|
|
|
31
31
|
const lockfile_utils_1 = require("@pnpm/lockfile-utils");
|
|
32
32
|
const dp = __importStar(require("dependency-path"));
|
|
33
33
|
const normalize_path_1 = __importDefault(require("normalize-path"));
|
|
34
|
-
function default_1(lockfile
|
|
35
|
-
var _a;
|
|
34
|
+
function default_1(lockfile) {
|
|
36
35
|
const entries = {
|
|
37
36
|
'.pnpm': {
|
|
38
37
|
entryType: 'directory',
|
|
39
|
-
entries: createVirtualStoreDir(lockfile
|
|
38
|
+
entries: createVirtualStoreDir(lockfile),
|
|
40
39
|
},
|
|
41
40
|
};
|
|
42
41
|
for (const depType of types_1.DEPENDENCIES_FIELDS) {
|
|
43
|
-
for (const [depName, ref] of Object.entries(
|
|
42
|
+
for (const [depName, ref] of Object.entries(lockfile.importers['.'][depType] ?? {})) {
|
|
44
43
|
const symlink = {
|
|
45
44
|
entryType: 'symlink',
|
|
46
|
-
target: `./.pnpm/${dp.depPathToFilename(dp.refToRelative(ref, depName)
|
|
45
|
+
target: `./.pnpm/${dp.depPathToFilename(dp.refToRelative(ref, depName))}/node_modules/${depName}`,
|
|
47
46
|
};
|
|
48
47
|
addDirEntry(entries, depName, symlink);
|
|
49
48
|
}
|
|
@@ -54,13 +53,12 @@ function default_1(lockfile, lockfileDir) {
|
|
|
54
53
|
};
|
|
55
54
|
}
|
|
56
55
|
exports.default = default_1;
|
|
57
|
-
function createVirtualStoreDir(lockfile
|
|
58
|
-
var _a;
|
|
56
|
+
function createVirtualStoreDir(lockfile) {
|
|
59
57
|
const rootDir = {};
|
|
60
|
-
for (const [depPath, pkgSnapshot] of Object.entries(
|
|
58
|
+
for (const [depPath, pkgSnapshot] of Object.entries(lockfile.packages ?? {})) {
|
|
61
59
|
const { name } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot);
|
|
62
60
|
const pkgNodeModules = {};
|
|
63
|
-
const currentPath = dp.depPathToFilename(depPath
|
|
61
|
+
const currentPath = dp.depPathToFilename(depPath);
|
|
64
62
|
const pkgDir = {
|
|
65
63
|
entryType: 'index',
|
|
66
64
|
depPath,
|
|
@@ -69,7 +67,7 @@ function createVirtualStoreDir(lockfile, lockfileDir) {
|
|
|
69
67
|
for (const [depName, ref] of Object.entries({ ...pkgSnapshot.dependencies, ...pkgSnapshot.optionalDependencies })) {
|
|
70
68
|
const symlink = {
|
|
71
69
|
entryType: 'symlink',
|
|
72
|
-
target: (0, normalize_path_1.default)(path_1.default.relative(`${currentPath}/node_modules/`, `${dp.depPathToFilename(dp.refToRelative(ref, depName)
|
|
70
|
+
target: (0, normalize_path_1.default)(path_1.default.relative(`${currentPath}/node_modules/`, `${dp.depPathToFilename(dp.refToRelative(ref, depName))}/node_modules/${depName}`)),
|
|
73
71
|
};
|
|
74
72
|
addDirEntry(pkgNodeModules, depName, symlink);
|
|
75
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeVirtualNodeModules.js","sourceRoot":"","sources":["../src/makeVirtualNodeModules.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAuB;AAEvB,uCAAiD;AACjD,yDAA6D;AAC7D,oDAAqC;AACrC,oEAAsC;AAatC,mBAAyB,QAAkB,
|
|
1
|
+
{"version":3,"file":"makeVirtualNodeModules.js","sourceRoot":"","sources":["../src/makeVirtualNodeModules.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pnpm/mount-modules",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Mounts a node_modules directory with FUSE",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"bin": "bin/mount-modules.js",
|
|
7
7
|
"types": "lib/index.d.ts",
|
|
8
8
|
"engines": {
|
|
9
|
-
"node": ">=
|
|
9
|
+
"node": ">=14.19"
|
|
10
10
|
},
|
|
11
11
|
"files": [
|
|
12
12
|
"lib",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
],
|
|
16
16
|
"repository": "https://github.com/pnpm/pnpm/blob/main/packages/mount-modules",
|
|
17
17
|
"keywords": [
|
|
18
|
-
"
|
|
18
|
+
"pnpm7",
|
|
19
19
|
"pnpm",
|
|
20
20
|
"shrinkwrap",
|
|
21
21
|
"lockfile"
|
|
@@ -30,16 +30,18 @@
|
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@pnpm/logger": "^4.0.0",
|
|
33
|
-
"@pnpm/mount-modules": "0.1
|
|
33
|
+
"@pnpm/mount-modules": "0.2.1",
|
|
34
|
+
"@types/normalize-path": "^3.0.0",
|
|
34
35
|
"rimraf": "^3.0.2"
|
|
35
36
|
},
|
|
36
37
|
"dependencies": {
|
|
37
|
-
"@pnpm/cafs": "
|
|
38
|
-
"@pnpm/
|
|
39
|
-
"@pnpm/lockfile-
|
|
40
|
-
"@pnpm/
|
|
41
|
-
"@pnpm/
|
|
42
|
-
"
|
|
38
|
+
"@pnpm/cafs": "4.0.0",
|
|
39
|
+
"@pnpm/config": "15.0.0",
|
|
40
|
+
"@pnpm/lockfile-file": "5.0.1",
|
|
41
|
+
"@pnpm/lockfile-utils": "4.0.1",
|
|
42
|
+
"@pnpm/store-path": "6.0.0",
|
|
43
|
+
"@pnpm/types": "8.0.0",
|
|
44
|
+
"dependency-path": "9.1.0",
|
|
43
45
|
"hyperdrive-schemas": "^2.0.0",
|
|
44
46
|
"load-json-file": "^6.2.0",
|
|
45
47
|
"normalize-path": "^3.0.0"
|
|
@@ -48,6 +50,9 @@
|
|
|
48
50
|
"optionalDependencies": {
|
|
49
51
|
"fuse-native": "^2.2.6"
|
|
50
52
|
},
|
|
53
|
+
"exports": {
|
|
54
|
+
".": "./lib/index.js"
|
|
55
|
+
},
|
|
51
56
|
"scripts": {
|
|
52
57
|
"lint": "eslint src/**/*.ts test/**/*.ts",
|
|
53
58
|
"test": "pnpm run compile && pnpm run _test",
|