1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.patchFs = void 0;
|
4 | const tslib_1 = require("tslib");
|
5 | const fslib_1 = require("@yarnpkg/fslib");
|
6 | const fs_1 = tslib_1.__importDefault(require("fs"));
|
7 | const NodeModulesFS_1 = require("./NodeModulesFS");
|
8 | const dynamicRequire_1 = require("./dynamicRequire");
|
9 | let fsPatched = false;
|
10 | let pnp;
|
11 | try {
|
12 | pnp = (0, dynamicRequire_1.dynamicRequire)(`pnpapi`);
|
13 | }
|
14 | catch (e) {
|
15 | }
|
16 | const patchFs = () => {
|
17 | if (pnp && !fsPatched) {
|
18 | const realFs = { ...fs_1.default };
|
19 | const nodeModulesFS = new NodeModulesFS_1.NodeModulesFS(pnp, { realFs });
|
20 | (0, fslib_1.patchFs)(fs_1.default, nodeModulesFS);
|
21 | fsPatched = true;
|
22 | }
|
23 | };
|
24 | exports.patchFs = patchFs;
|
25 | if (!process.mainModule)
|
26 | (0, exports.patchFs)();
|