{"_id":"@dmitriyzverev/fs-map","name":"@dmitriyzverev/fs-map","dist-tags":{"latest":"1.0.0-dev.0"},"versions":{"1.0.0-dev.0":{"name":"@dmitriyzverev/fs-map","version":"1.0.0-dev.0","homepage":"https://gitlab.com/DmitriyZverev/fs-map","bugs":{"url":"https://gitlab.com/DmitriyZverev/fs-map/-/issues","email":"opensource@dmitriyzverev.ru"},"license":"MIT","author":{"name":"Dmitriy Zverev","email":"opensource@dmitriyzverev.ru"},"repository":{"type":"git","url":"git+https://gitlab.com/DmitriyZverev/fs-map.git"},"scripts":{"build":"rm -rf .package && npx tsc --outDir .package && cp package.json LICENSE README.md .package","eslint:fix":"npx eslint --no-error-on-unmatched-pattern --fix --ext .ts,.js .","eslint:check":"npx eslint --no-error-on-unmatched-pattern --ext .ts,.js .","prettier:fix":"npx prettier --write \"**/*.{ts,js,json,yml,md}\"","prettier:check":"npx prettier --check \"**/*.{ts,js,json,yml,md}\"","test":"npx jest -c .jestconfig.json"},"dependencies":{"tslib":"^2.0.0"},"devDependencies":{"@dmitriyzverev/eslint-config":"3.0.0","@dmitriyzverev/prettier-config":"1.0.1","@dmitriyzverev/typescript-config":"1.1.1","@types/jest":"29.5.0","@types/node":"16.18.23","eslint":"8.38.0","jest":"29.5.0","memfs":"3.5.1","prettier":"2.8.7","ts-jest":"29.1.0","typescript":"5.0.4"},"types":"./index.d.ts","gitHead":"7e5fb9318e6401d613e219fc16c703153cc103cf","description":"_Node.JS filesystem facade implementing the Map interface. It can be useful when you need simplify access to filesystem._","_id":"@dmitriyzverev/fs-map@1.0.0-dev.0","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-sUgCDDiRNMIM2yiqq6+KPUpfuMD7dBglY0h4sNgtbPl3qxQ6nZAQAxncoda0z+gViLCLLsgGhYdUX7ITBF1CLA==","shasum":"e43e823ae1ef13cfce53d8a0c137fcc344951dc2","tarball":"https://registry.npmjs.org/@dmitriyzverev/fs-map/-/fs-map-1.0.0-dev.0.tgz","fileCount":9,"unpackedSize":10196,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHWmpLjOP06+QeLWwOf+/4x9+lqNA88uUyEzd9yTRav8AiAYdbQR64fnooi1iPx1o33ARkcMBwdyURTZdLxHq1kkZQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkRWU1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrqYA/6AibXp9eLzu4vNKPSJ3pj0lpMtJYxZ+qlvU9i93ZkwHM4Ysrv\r\ny5jYFxpFmyNSEDBZoyASHN20Pqahs1ZmttFEJGvvaW8ujUQUN8OcSOLoMGie\r\n95yTa9apRRMb4Sec0KM51gDT+TWyoSJbLr+tLj+1uktIv1omku0pXdio+ZiL\r\nBtDJi3tSFUDbEQ3cvUOZgIl6xUySWIYNEzlK1Rb3qKH88s6g8GswIl5cRgRb\r\nn/jcgzgnsCBvGtz8s7MmKuhhV1TyDOwoRskhxEmc2Min0RHm7HZ5iYx3AdJj\r\nZaDVuESh8ot1X0R3bf51f0Z+6cMuXCWTVxHbzFQABJ2pCSIRWiJ3/NoODHCI\r\nwu3biuW7kOUC5e/qP+mr9QJEnGxvQi3apnY0akwfCQ2CfU7vT4Pmfi0EQ5Ho\r\n+dy8bqLFR48ReY2YnIayFM0tCglyC8KnavehQGwQWmt51FgRsJiaE+9prhyt\r\n0n4G1S7/5/mJNf74VGBHq3XXNYvUtOYw++6qj/OWeennfFBYbaFJSRBlnFqD\r\npBhWH4KbDUncjv6mT7ySdKOMvQdx5vVoOdK53dI6plSi8FZlgZ51El34M647\r\n20TaK5jbPzXXmwvU9euIN1PDaem7F+KWpt2QL7KvMyZbEQw/hBIBhIUr3dIg\r\n4EwX7eXP0578a4Ddhyen58XLX2nNjJkT8mQ=\r\n=+UKK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dmitriyzverev","email":"zver.lockon@mail.ru"},"directories":{},"maintainers":[{"name":"dmitriyzverev","email":"zver.lockon@mail.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fs-map_1.0.0-dev.0_1682269493629_0.5525953488898354"},"_hasShrinkwrap":false}},"time":{"created":"2023-04-23T17:04:53.572Z","1.0.0-dev.0":"2023-04-23T17:04:53.830Z","modified":"2023-04-23T17:04:54.026Z"},"maintainers":[{"name":"dmitriyzverev","email":"zver.lockon@mail.ru"}],"description":"_Node.JS filesystem facade implementing the Map interface. It can be useful when you need simplify access to filesystem._","homepage":"https://gitlab.com/DmitriyZverev/fs-map","repository":{"type":"git","url":"git+https://gitlab.com/DmitriyZverev/fs-map.git"},"author":{"name":"Dmitriy Zverev","email":"opensource@dmitriyzverev.ru"},"bugs":{"url":"https://gitlab.com/DmitriyZverev/fs-map/-/issues","email":"opensource@dmitriyzverev.ru"},"license":"MIT","readme":"# @dmitriyzverev/fs-map\n\n_Node.JS filesystem facade implementing the Map interface. It can be useful when\nyou need simplify access to filesystem._\n\n---\n\n## Usage\n\n1. Install dependencies:\n\n    ```bash\n    npm i -SE @dmitriyzverev/fs-map\n    ```\n\n2. Create a file system map:\n    ```ts\n    import {createFsMap} from '@dmitriyzverev/fs-map';\n    const fsMap = createFsMap({});\n    ```\n    Now you can create/read/delete files as Map items:\n    ```ts\n    fsMap.set('/foo/bar/Baz.txt', 'Some file content');\n    console.log(fsMap.get('/foo/bar/Baz.txt')); // Some file content\n    ```\n\n## Options\n\n### rootDir\n\nBy default, the root directory is `'/'`. But you can define your own:\n\n```ts\nconst fsMap = createFsMap({rootDir: '/root'});\n```\n\nAll relative paths will be resolved relative new root directory:\n\n```ts\nfsMap.set('foo/bar/Baz.txt', ''); // a file will be created with the path /root/foo/bar/Baz.txt\n```\n\n### files\n\nIt is possible to create needed files on initialization step, using `files`\noption:\n\n```ts\nconst fsMap = createFsMap({\n    files: [\n        ['/foo.txt', 'Foo text'],\n        ['/bar/baz.txt', 'Baz text'],\n    ],\n});\nconsole.log(fsMap.get('/bar/baz.txt')); // Baz text\n```\n\nAll files will be created include all needed directories.\n\n### fs\n\nYou can inject your own file system instead of the native Node.JS file system.\nFor example, you can use in-memory file system:\n\n```ts\nimport {fs} from 'memfs';\nimport {createFsMap} from '@dmitriyzverev/fs-map';\nconst fsMap = createFsMap({fs});\n```\n","readmeFilename":"README.md"}