{"_id":"@cowasm/memfs","_rev":"2-d9d3f46065c038c514badb44a4979e54","name":"@cowasm/memfs","dist-tags":{"latest":"3.5.1"},"versions":{"3.4.8":{"name":"@cowasm/memfs","version":"3.4.8","description":"In-memory file-system with Node's fs API.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"clean":"rimraf lib types","build":"tsc -p . && cp src/getBigInt.js lib/","test":"jest --maxWorkers 2","test:coverage":"jest --coverage","test:watch":"jest --watch","watch":"watch \"npm run build\" ./src","prettier":"prettier --ignore-path .gitignore --write \"src/**/*.{ts,js}\"","prettier:diff":"prettier -l \"src/**/*.{ts,js}\"","tslint":"tslint \"src/**/*.ts\" -t verbose"},"repository":{"type":"git","url":"git+https://github.com/sagemathinc/memfs-js.git"},"dependencies":{"fs-monkey":"^1.0.3"},"devDependencies":{"@semantic-release/changelog":"^6.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/jest":"^29.2.0","@types/node":"^10.17.60","husky":"^8.0.1","jest":"^29.2.2","prettier":"^2.7.1","pretty-quick":"^3.1.3","rimraf":"^3.0.2","semantic-release":"^19.0.3","ts-jest":"^29.0.3","ts-node":"^10.8.1","tslint":"^5.20.1","tslint-config-common":"^1.6.0","typescript":"^4.7.4"},"config":{"commitizen":{"path":"git-cz"}},"jest":{"moduleFileExtensions":["ts","tsx","js","jsx"],"testEnvironment":"node","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":".*/__tests__/.*\\.(test|spec)\\.(jsx?|tsx?)$"},"engines":{"node":">= 4.0.0"},"release":{"verifyConditions":["@semantic-release/changelog","@semantic-release/npm","@semantic-release/git"],"prepare":["@semantic-release/changelog","@semantic-release/npm","@semantic-release/git"]},"license":"Unlicense","keywords":["fs","filesystem","fs.js","memory-fs","memfs","file","file system","mount","memory","in-memory","virtual","test","testing","mock"],"gitHead":"671af81ba00e546a10581217f43d32f2406dec6b","bugs":{"url":"https://github.com/sagemathinc/memfs-js/issues"},"homepage":"https://github.com/sagemathinc/memfs-js#readme","_id":"@cowasm/memfs@3.4.8","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-JgSpQiwcx4hfZ5mHOo/t3qsYuG0sXA1ELynLzkHMGtRdmeow2fbiT8O9xX34zY9xNZPOB9KgEBlTR/1yYvyNNQ==","shasum":"95b9c0f37497cd106462b0fc577eacbbd3e915c8","tarball":"https://registry.npmjs.org/@cowasm/memfs/-/memfs-3.4.8.tgz","fileCount":32,"unpackedSize":179015,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDVF5dOaDpM/9CgvUbyE+GeiUddCp+kR/u9B7WNrEsMCAiEA2jgRuJQiV27TiQkjB0RHgRu0C0hZbZiOMgOc6gGxpek="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWJQ2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmowyg//SiksY8PkUD+5GV0tAzxxLskhdXtvbfAw8t50G6fZKMqv9uj2\r\nGwj2FYvlSxIOSYNmJDWQ18rXAgSzrTNinjpIZZGLAktzCrZblSK4Z5VI2s9V\r\nM/fa5ifJNmaViBcz5QKLee+2s3KB09fW4jbQWaF+pVLgbR4rZHx57JJ645dB\r\nG15sfVji9E1nrF1ECFOZ7RUqPqwmDPn3iHFdhujCVFLrpG51bxU+1cfnUvuQ\r\nOdYBDFVC++W2RP16J4ycAD72DQbw2/IMDwkVkh/BpCFyYo8ldgJJDwW4VREq\r\nSvzHqjgz+AK9PokZTxvi572IOKHSBG0xXZ+dHC7kT6dpt7lEMOzwbhrZXoCb\r\nf0HLgtZ2p/Ugt3wSJfA8UT0UPpg3+XAOEBUNtar/QMc4MfTs0AAR7X2/CKNl\r\ndqet564V027XwdYje8YsLW3uDGsks12umqp08QOtJ9P+lKPjCQ0ajOnOYV3x\r\ntWQUc1ADbK8mdGB4qhI4wCyeb+IRYfuDFohozZBfJTc8CXtoLFONucXPh2F+\r\nO8XV3nwXBZk8jgZ63vxyD9zonx4EB+y98mJKH9/UX3lhg8DX5CrJLuukgNpc\r\nurdabvkict4BRlSIobrSF6bis9rZZh/PDXb/FDvXW3pPdA6ZEBmjq4p8v2/0\r\nGmJZQ/3cIreWbPKVqrZjSbzCS2cW071bLR0=\r\n=1mxP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"wstein","email":"wstein@sagemath.com"},"directories":{},"maintainers":[{"name":"wstein","email":"wstein@sagemath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/memfs_3.4.8_1666749493962_0.27760173288314305"},"_hasShrinkwrap":false},"3.5.0":{"name":"@cowasm/memfs","version":"3.5.0","description":"In-memory file-system with Node's fs API.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"clean":"rimraf lib types","build":"tsc && cp src/getBigInt.js lib/","tsc":"tsc -w","test":"jest --maxWorkers 8","test:coverage":"jest --coverage","test:watch":"jest --watch","watch":"watch \"npm run build\" ./src","prettier":"prettier --ignore-path .gitignore --write \"src/**/*.{ts,js}\"","prettier:diff":"prettier -l \"src/**/*.{ts,js}\"","prepublishOnly":"npm run clean && npm run build && npm run test","tslint":"tslint \"src/**/*.ts\" -t verbose"},"repository":{"type":"git","url":"git+https://github.com/sagemathinc/memfs-js.git"},"dependencies":{"fs-monkey":"^1.0.3"},"devDependencies":{"@semantic-release/changelog":"^6.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/jest":"^29.2.0","@types/node":"^18.11.5","husky":"^8.0.1","jest":"^29.2.2","prettier":"^2.7.1","pretty-quick":"^3.1.3","rimraf":"^3.0.2","semantic-release":"^19.0.3","ts-jest":"^29.0.3","ts-node":"^10.8.1","tslint":"^6.1.3","tslint-config-common":"^1.6.0","typescript":"^4.8.4"},"config":{"commitizen":{"path":"git-cz"}},"jest":{"moduleFileExtensions":["ts","tsx","js","jsx"],"testEnvironment":"node","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":".*/__tests__/.*\\.(test|spec)\\.(jsx?|tsx?)$"},"engines":{"node":">= 4.0.0"},"release":{"verifyConditions":["@semantic-release/changelog","@semantic-release/npm","@semantic-release/git"],"prepare":["@semantic-release/changelog","@semantic-release/npm","@semantic-release/git"]},"license":"Unlicense","keywords":["fs","filesystem","fs.js","memory-fs","memfs","file","file system","mount","memory","in-memory","virtual","test","testing","mock"],"gitHead":"08b2386a4e56d88ca61f528de3133f77c04ff0d8","bugs":{"url":"https://github.com/sagemathinc/memfs-js/issues"},"homepage":"https://github.com/sagemathinc/memfs-js#readme","_id":"@cowasm/memfs@3.5.0","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-mRGJdWMYPsdI3s4ocoyfdIYBC27GR+ycOoTz9egZf7sq7ubisVd979Xp9LfukQOqiORwcddT8fTAwQqduoS0wg==","shasum":"4b797d3120815154a2ea784e9945802e42de83aa","tarball":"https://registry.npmjs.org/@cowasm/memfs/-/memfs-3.5.0.tgz","fileCount":32,"unpackedSize":157714,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIESvjy4tXa5ACCGk/vGvWuL44ROh1dFSME7eJA9fEIyNAiA5EIgOx1Kd71U0wzh5VkyoZ4dJajv9mRjNrh8Z8WSXQA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWLj6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp0qw/+MbMkDJX4Nugo9dWXt05DCOXEvwVoLTTEKN3Ik10gX1B/LdWQ\r\nMjg1olPhsVUJYNFQC3k9yGcuXRBQBoP4nFrbLPM9we5D0NhqGT9Fu7DS43Ru\r\nMtTdy7a9I4MrreX1Kl6zykizlICCmxMahfHqXOY/h2T7Y0ROBVb1BxbCzmT6\r\nXr+A2yKXsFyjjOwiLkQuX+8hK2QZnJl8GDtb//LdzrlHa4eRD5UWHPEogGhS\r\nQONHxZz4Ve4JR+bG0QdZ7l6RxtSjZoXiBNs1KO8RUyxhGRlhObCxzKPq/9tK\r\nk9YTKzHEMyqTc7msAIQkQj+qlY0LHrr+36LaoOWMKoKouUQTfRQs3oDOqrbP\r\nRmfovA0C2oL/q75LcSiPxIyl5jO8Xep1rlDyz6Di5KHzBbdlpDxmaACT6/q3\r\n27THGlI9vdJ+qnGONcgDqMod8xAlYf3ZTMH443le28OkOfI7hiQT8Ha9jCFb\r\nNcwoV8vjkcRw7BQg43v5Z8GYbRJ69MhnZTMi8YtADq7ufQKZntZtVOPgiVwo\r\nBJ0FJfgI7Cr/9RG44ReqLiGwwKLhzGCRInptA1nzBV6qIPnFr6hU7rdthaxE\r\nxCFl2P43cxGn4XP2EIHCpgUmgQUQGEXu5DG0vaH1WPw4ksEeRTSJdLKq6Zei\r\nmdmvbToWiqKLTIgKJBKb7a4sG6KKB8HgFZs=\r\n=xqLu\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"wstein","email":"wstein@sagemath.com"},"directories":{},"maintainers":[{"name":"wstein","email":"wstein@sagemath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/memfs_3.5.0_1666758906056_0.7618704589122103"},"_hasShrinkwrap":false},"3.5.1":{"name":"@cowasm/memfs","version":"3.5.1","description":"In-memory file-system with Node's fs API.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"clean":"rimraf lib types","build":"tsc && cp src/getBigInt.js lib/","tsc":"tsc -w","test":"jest --maxWorkers 8","test:coverage":"jest --coverage","test:watch":"jest --watch","watch":"watch \"npm run build\" ./src","prettier":"prettier --ignore-path .gitignore --write \"src/**/*.{ts,js}\"","prettier:diff":"prettier -l \"src/**/*.{ts,js}\"","prepublishOnly":"npm run clean && npm run build && npm run test","tslint":"tslint \"src/**/*.ts\" -t verbose"},"repository":{"type":"git","url":"git+https://github.com/sagemathinc/memfs-js.git"},"dependencies":{"fs-monkey":"^1.0.3"},"devDependencies":{"@semantic-release/changelog":"^6.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/jest":"^29.2.0","@types/node":"^18.11.5","husky":"^8.0.1","jest":"^29.2.2","prettier":"^2.7.1","pretty-quick":"^3.1.3","rimraf":"^3.0.2","semantic-release":"^19.0.3","ts-jest":"^29.0.3","ts-node":"^10.8.1","tslint":"^6.1.3","tslint-config-common":"^1.6.0","typescript":"^4.8.4"},"config":{"commitizen":{"path":"git-cz"}},"jest":{"moduleFileExtensions":["ts","tsx","js","jsx"],"testEnvironment":"node","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":".*/__tests__/.*\\.(test|spec)\\.(jsx?|tsx?)$"},"engines":{"node":">= 4.0.0"},"release":{"verifyConditions":["@semantic-release/changelog","@semantic-release/npm","@semantic-release/git"],"prepare":["@semantic-release/changelog","@semantic-release/npm","@semantic-release/git"]},"license":"Unlicense","keywords":["fs","filesystem","fs.js","memory-fs","memfs","file","file system","mount","memory","in-memory","virtual","test","testing","mock"],"gitHead":"ce7bf5253793a901d14d96233e6418c03f9e16be","bugs":{"url":"https://github.com/sagemathinc/memfs-js/issues"},"homepage":"https://github.com/sagemathinc/memfs-js#readme","_id":"@cowasm/memfs@3.5.1","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-TSz00K+BdLxAYFQvwHmKgM/eAK6h9OYSQhPTcv/9XSyOF0Q90EtMkJvtwirwAXunfTsZw8R9YMu1UU213ooVKw==","shasum":"8846077117ff300fe3edc41e8657184c01437c62","tarball":"https://registry.npmjs.org/@cowasm/memfs/-/memfs-3.5.1.tgz","fileCount":32,"unpackedSize":158170,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIElAbGaG6tPbKj+R/EAmH5iITKFAgBZYWX7vnjft0cFnAiEAqkGpRk7+kQnRY06xuSThtWB87qZmzGTV/VtJA0O0TVY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWMXxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqGnA//XYrDIE+ZDSyQ4uJFTo9aogS9Xu3jnZe4uNSSrP7LAHSBJuEp\r\nheE+q5VbwEkLPSgCEBqSsdtHLqGlDo1g9cQusPB7OCH746AOlE/D6tiYTfmy\r\nqYOZWFDL5hIWP7mfgEO9onzsiiPDRued3PC0DbjHynABkDzYuSiEo4LGZdTp\r\nF3jKLhUR8xqb5hXgBkPaKEsv9HOuVKpCml6SnWe+0dnYvWIm5RB1/VjLv0Kg\r\nff60zZHKUT5MjfK+vNOySuAgQhzZhUZRiIFqOIXNH4wS2iTdCPl5tuSEpjN+\r\n9dLXUKkMMFeedMm5gBi3mz55ZBacbnGybYOWPkpXsMKwxIRTJ+mf9cqmMZHD\r\n7slO0kxw9/J9nyVb6WT6eRgMzc/h5eBB/ok76E11jj6cdroNRb4CnyoO23zt\r\nfx2iz8tDff1ep7251IezOaPFtBXzZSGm/9eITlM4cj0cqUtGEqaTX5siMfRA\r\nt8yyMlxerams2LJbs/11PxndiUOjc8diLITJXMN6nXQ/ja81S8VOdWhZp9lu\r\n/FVsWuOW5G+39UGLDy72eFeDb5g5WA2YjMB4zb7H61VWtiMUADuLDBvqgHyN\r\nYdoilO8hGaVRiZfUWO22EJ8kZBFTwYNBGsZrzB81nnHUic0EPBuYPp7e+2mN\r\nCv+A8Fyy1Cbii9leHwWzadBIjjVszjzOfEY=\r\n=tvxE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"wstein","email":"wstein@sagemath.com"},"directories":{},"maintainers":[{"name":"wstein","email":"wstein@sagemath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/memfs_3.5.1_1666762225237_0.11395199768216546"},"_hasShrinkwrap":false}},"time":{"created":"2022-10-26T01:58:13.888Z","3.4.8":"2022-10-26T01:58:14.162Z","modified":"2022-10-26T05:30:25.594Z","3.5.0":"2022-10-26T04:35:06.244Z","3.5.1":"2022-10-26T05:30:25.491Z"},"maintainers":[{"name":"wstein","email":"wstein@sagemath.com"}],"description":"In-memory file-system with Node's fs API.","homepage":"https://github.com/sagemathinc/memfs-js#readme","keywords":["fs","filesystem","fs.js","memory-fs","memfs","file","file system","mount","memory","in-memory","virtual","test","testing","mock"],"repository":{"type":"git","url":"git+https://github.com/sagemathinc/memfs-js.git"},"bugs":{"url":"https://github.com/sagemathinc/memfs-js/issues"},"license":"Unlicense","readme":"# memfs\n\nThis is a fork of https://www.npmjs.com/package/memfs, since there's a bunch of critical bugs and missing maintenance there, which might not be a priority for that project, but are definitely a priority for me (though I'm sending PR's).   Upstream memfs has nearly 12 million downloads a week, so I can see why doing these changes would be really scary there!\n\nThings I've done here include:\n\n- update to newest jest, and increase maxWorkers for testing; fix an issue with one test\n- update to newest typescript and node typings\n- update target to es2020 from es5; this does make code run more efficiently and is much easier to debug if you want to directly edit node_modules\n- fix the 13 security vulnerabilities revealed by npm audit\n- upgrade prettier and switch to using the defaults\n- switch to package-lock.json instead of yarn's lock\n- fix chmodSync bug\n- fix utimesSync bug\n- fix realpathSync bug\n\nSee https://github.com/sagemathinc/memfs-js\n\n---\n\n## Upstream description\n\nIn-memory file-system with [Node's `fs` API](https://nodejs.org/api/fs.html).\n\n- Node's `fs` API implemented, see [_old API Status_](./docs/api-status.md), [missing list](https://github.com/streamich/memfs/issues/735), [missing `opendir`](https://github.com/streamich/memfs/issues/663)\n- Stores files in memory, in `Buffer`s\n- Throws sameish\\* errors as Node.js\n- Has concept of _i-nodes_\n- Implements _hard links_\n- Implements _soft links_ (aka symlinks, symbolic links)\n- Permissions may\\* be implemented in the future\n- Can be used in browser, see [`memfs-webpack`](https://github.com/streamich/memfs-webpack)\n\n### Install\n\n```shell\nnpm install --save memfs\n```\n\n## Usage\n\n```js\nimport { fs } from \"memfs\";\n\nfs.writeFileSync(\"/hello.txt\", \"World!\");\nfs.readFileSync(\"/hello.txt\", \"utf8\"); // World!\n```\n\nCreate a file system from a plain JSON:\n\n```js\nimport { fs, vol } from \"memfs\";\n\nconst json = {\n  \"./README.md\": \"1\",\n  \"./src/index.js\": \"2\",\n  \"./node_modules/debug/index.js\": \"3\",\n};\nvol.fromJSON(json, \"/app\");\n\nfs.readFileSync(\"/app/README.md\", \"utf8\"); // 1\nvol.readFileSync(\"/app/src/index.js\", \"utf8\"); // 2\n```\n\nExport to JSON:\n\n```js\nvol.writeFileSync(\"/script.sh\", \"sudo rm -rf *\");\nvol.toJSON(); // {\"/script.sh\": \"sudo rm -rf *\"}\n```\n\nUse it for testing:\n\n```js\nvol.writeFileSync(\"/foo\", \"bar\");\nexpect(vol.toJSON()).toEqual({ \"/foo\": \"bar\" });\n```\n\nCreate as many filesystem volumes as you need:\n\n```js\nimport { Volume } from \"memfs\";\n\nconst vol = Volume.fromJSON({ \"/foo\": \"bar\" });\nvol.readFileSync(\"/foo\"); // bar\n\nconst vol2 = Volume.fromJSON({ \"/foo\": \"bar 2\" });\nvol2.readFileSync(\"/foo\"); // bar 2\n```\n\nUse `memfs` together with [`unionfs`][unionfs] to create one filesystem\nfrom your in-memory volumes and the real disk filesystem:\n\n```js\nimport * as fs from \"fs\";\nimport { ufs } from \"unionfs\";\n\nufs.use(fs).use(vol);\n\nufs.readFileSync(\"/foo\"); // bar\n```\n\nUse [`fs-monkey`][fs-monkey] to monkey-patch Node's `require` function:\n\n```js\nimport { patchRequire } from \"fs-monkey\";\n\nvol.writeFileSync(\"/index.js\", 'console.log(\"hi world\")');\npatchRequire(vol);\nrequire(\"/index\"); // hi world\n```\n\n## Docs\n\n- [Reference](./docs/reference.md)\n- [Relative paths](./docs/relative-paths.md)\n- [API status](./docs/api-status.md)\n- [Dependencies](./docs/dependencies.md)\n\n## See also\n\n- [`spyfs`][spyfs] - spies on filesystem actions\n- [`unionfs`][unionfs] - creates a union of multiple filesystem volumes\n- [`linkfs`][linkfs] - redirects filesystem paths\n- [`fs-monkey`][fs-monkey] - monkey-patches Node's `fs` module and `require` function\n- [`libfs`](https://github.com/streamich/full-js/blob/master/src/lib/fs.ts) - real filesystem (that executes UNIX system calls) implemented in JavaScript\n\n[chat]: https://onp4.com/@vadim/~memfs\n[chat-badge]: https://img.shields.io/badge/Chat-%F0%9F%92%AC-green?style=flat&logo=chat&link=https://onp4.com/@vadim/~memfs\n[npm-url]: https://www.npmjs.com/package/memfs\n[npm-badge]: https://img.shields.io/npm/v/memfs.svg\n[travis-url]: https://travis-ci.org/streamich/memfs\n[travis-badge]: https://travis-ci.org/streamich/memfs.svg?branch=master\n[memfs]: https://github.com/streamich/memfs\n[unionfs]: https://github.com/streamich/unionfs\n[linkfs]: https://github.com/streamich/linkfs\n[spyfs]: https://github.com/streamich/spyfs\n[fs-monkey]: https://github.com/streamich/fs-monkey\n\n## License\n\n[Unlicense](./LICENSE) - public domain.\n","readmeFilename":"README.md"}