PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` # `patchRequire(vol[, unixifyPaths[, Module]])` Patches Node's `module` module to use a given *fs-like* object `vol` for module loading. - `vol` - fs-like object - `unixifyPaths` *(optional)* - whether to convert Windows paths to unix style paths, defaults to `false`. - `Module` *(optional)* - a module to patch, defaults to `require('module')` Monkey-patches the `require` function in Node, this way you can make Node.js to *require* modules from your custom filesystem. It expects an object with three filesystem methods implemented that are needed for the `require` function to work. ```js let vol = { readFileSync: () => {}, realpathSync: () => {}, statSync: () => {}, }; ``` If you want to make Node.js to *require* your files from memory, you don't need to implement those functions yourself, just use the [`memfs`](https://github.com/streamich/memfs) package: ```js import {vol} from 'memfs'; import {patchRequire} from 'fs-monkey'; vol.fromJSON({'/foo/bar.js': 'console.log("obi trice");'}); patchRequire(vol); require('/foo/bar'); // obi trice ``` Now the `require` function will only load the files from the `vol` file system, but not from the actual filesystem on the disk. If you want the `require` function to load modules from both file systems, use the [`unionfs`](https://github.com/streamich/unionfs) package to combine both filesystems into a union: ```js import {vol} from 'memfs'; import {patchRequire} from 'fs-monkey'; import {ufs} from 'unionfs'; import * as fs from 'fs'; vol.fromJSON({'/foo/bar.js': 'console.log("obi trice");'}); ufs .use(vol) .use(fs); patchRequire(ufs); require('/foo/bar.js'); // obi trice ```