{"_id":"stubborn-fs","_rev":"4106789","name":"stubborn-fs","description":"Stubborn versions of Node's fs functions that try really hard to do their job.","dist-tags":{"latest":"2.0.0"},"maintainers":[{"name":"fabiospampinato","email":"spampinabio@gmail.com"}],"time":{"modified":"2026-01-11T18:56:35.000Z","created":"2022-05-19T17:12:23.554Z","2.0.0":"2025-10-26T20:13:55.956Z","1.2.5":"2023-07-26T10:26:54.394Z","1.2.4":"2023-02-11T22:25:05.975Z","1.2.3":"2023-02-11T19:48:24.887Z","1.2.2":"2023-02-11T15:27:51.576Z","1.2.1":"2022-11-06T19:34:47.182Z","1.2.0":"2022-05-20T10:38:59.824Z","1.1.0":"2022-05-20T10:36:19.401Z","1.0.0":"2022-05-19T17:12:23.554Z"},"users":{},"repository":{"type":"git","url":"git+https://github.com/fabiospampinato/stubborn-fs.git"},"versions":{"2.0.0":{"name":"stubborn-fs","repository":{"type":"git","url":"git+https://github.com/fabiospampinato/stubborn-fs.git"},"description":"Stubborn versions of Node's fs functions that try really hard to do their job.","license":"MIT","version":"2.0.0","type":"module","main":"dist/index.js","exports":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"tsex clean","compile":"tsex compile","compile:watch":"tsex compile --watch","prepublishOnly":"tsex prepare"},"keywords":["fs","attempt","retry","stubborn","reliable"],"dependencies":{"stubborn-utils":"^1.0.1"},"devDependencies":{"@types/node":"^18.19.39","tsex":"^4.0.2","typescript":"^5.5.2"},"_id":"stubborn-fs@2.0.0","gitHead":"65b118badc290ff3a57b9e5c13fc83cbe0d54bfd","bugs":{"url":"https://github.com/fabiospampinato/stubborn-fs/issues"},"homepage":"https://github.com/fabiospampinato/stubborn-fs#readme","_nodeVersion":"18.19.0","_npmVersion":"10.2.3","dist":{"shasum":"628750f81c51c44c04ef50fc70ed4d1caea4f1e9","size":3550,"noattachment":false,"key":"/stubborn-fs/-/stubborn-fs-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/stubborn-fs/download/stubborn-fs-2.0.0.tgz"},"_npmUser":{"name":"fabiospampinato","email":"spampinabio@gmail.com"},"directories":{},"maintainers":[{"name":"fabiospampinato","email":"spampinabio@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/stubborn-fs_2.0.0_1761509635745_0.6698409749633081"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-10-26T20:13:55.956Z","publish_time":1761509635956,"_source_registry_name":"default","_cnpm_publish_time":1761509635956},"1.2.5":{"name":"stubborn-fs","repository":{"type":"git","url":"git+https://github.com/fabiospampinato/stubborn-fs.git"},"description":"Stubborn versions of Node's fs functions that try really hard to do their job.","version":"1.2.5","type":"module","main":"dist/index.js","exports":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"tsex clean","compile":"tsex compile","compile:watch":"tsex compile --watch","prepublishOnly":"tsex prepare"},"keywords":["fs","attempt","retry","stubborn","reliable"],"devDependencies":{"@types/node":"^18.13.0","tsex":"^2.1.0","typescript":"^4.9.5"},"gitHead":"1bff7368878bba033cf678da7799c6dec67e1e42","bugs":{"url":"https://github.com/fabiospampinato/stubborn-fs/issues"},"homepage":"https://github.com/fabiospampinato/stubborn-fs#readme","_id":"stubborn-fs@1.2.5","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"shasum":"e5e244223166921ddf66ed5e062b6b3bf285bfd2","size":5822,"noattachment":false,"key":"/stubborn-fs/-/stubborn-fs-1.2.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/stubborn-fs/download/stubborn-fs-1.2.5.tgz"},"_npmUser":{"name":"fabiospampinato","email":"spampinabio@gmail.com"},"directories":{},"maintainers":[{"name":"fabiospampinato","email":"spampinabio@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stubborn-fs_1.2.5_1690367214255_0.24352279130017385"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-07-26T10:26:54.394Z","publish_time":1690367214394,"_source_registry_name":"default","_cnpm_publish_time":1690367214394},"1.2.4":{"name":"stubborn-fs","repository":{"type":"git","url":"git+https://github.com/fabiospampinato/stubborn-fs.git"},"description":"Stubborn versions of Node's fs functions that try really hard to do their job.","version":"1.2.4","type":"module","main":"dist/index.js","exports":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"tsex clean","compile":"tsex compile","compile:watch":"tsex compile --watch","prepublishOnly":"tsex prepare"},"keywords":["fs","attempt","retry","stubborn","reliable"],"devDependencies":{"@types/node":"^18.13.0","tsex":"^2.1.0","typescript":"^4.9.5"},"gitHead":"e85c98601fc805eff8d81374a1894a7ab31eefc5","bugs":{"url":"https://github.com/fabiospampinato/stubborn-fs/issues"},"homepage":"https://github.com/fabiospampinato/stubborn-fs#readme","_id":"stubborn-fs@1.2.4","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"shasum":"7b03f0e8c57272d86cbed0bdbd6d6b75dbd8f2e9","size":5819,"noattachment":false,"key":"/stubborn-fs/-/stubborn-fs-1.2.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/stubborn-fs/download/stubborn-fs-1.2.4.tgz"},"_npmUser":{"name":"fabiospampinato","email":"spampinabio@gmail.com"},"directories":{},"maintainers":[{"name":"fabiospampinato","email":"spampinabio@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stubborn-fs_1.2.4_1676154305854_0.6132457637124611"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-02-11T22:25:05.975Z","publish_time":1676154305975,"_cnpm_publish_time":1676154305975},"1.2.3":{"name":"stubborn-fs","repository":{"type":"git","url":"git+https://github.com/fabiospampinato/stubborn-fs.git"},"description":"Stubborn versions of Node's fs functions that try really hard to do their job.","version":"1.2.3","type":"module","main":"dist/index.js","exports":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"tsex clean","compile":"tsex compile","compile:watch":"tsex compile --watch","prepublishOnly":"tsex prepare"},"keywords":["fs","attempt","retry","stubborn","reliable"],"devDependencies":{"@types/node":"^18.13.0","tsex":"^2.1.0","typescript":"^4.9.5"},"gitHead":"f17f4afb986ef86445d6222c023b814aabdbf8d8","bugs":{"url":"https://github.com/fabiospampinato/stubborn-fs/issues"},"homepage":"https://github.com/fabiospampinato/stubborn-fs#readme","_id":"stubborn-fs@1.2.3","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"shasum":"49c8587beb547056bed6d5502bb3bf64905090ab","size":6019,"noattachment":false,"key":"/stubborn-fs/-/stubborn-fs-1.2.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/stubborn-fs/download/stubborn-fs-1.2.3.tgz"},"_npmUser":{"name":"fabiospampinato","email":"spampinabio@gmail.com"},"directories":{},"maintainers":[{"name":"fabiospampinato","email":"spampinabio@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stubborn-fs_1.2.3_1676144904670_0.7715863024021563"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-02-11T19:48:24.887Z","publish_time":1676144904887,"_cnpm_publish_time":1676144904887},"1.2.2":{"name":"stubborn-fs","repository":{"type":"git","url":"git+https://github.com/fabiospampinato/stubborn-fs.git"},"description":"Stubborn versions of Node's fs functions that try really hard to do their job.","version":"1.2.2","type":"module","main":"dist/index.js","exports":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"tsex clean","compile":"tsex compile","compile:watch":"tsex compile --watch","prepublishOnly":"tsex prepare"},"keywords":["fs","attempt","retry","stubborn","reliable"],"devDependencies":{"@types/node":"^18.13.0","tsex":"^2.1.0","typescript":"^4.9.5"},"gitHead":"9f1a9038d8530965c57ff686e6acf660b0f873d5","bugs":{"url":"https://github.com/fabiospampinato/stubborn-fs/issues"},"homepage":"https://github.com/fabiospampinato/stubborn-fs#readme","_id":"stubborn-fs@1.2.2","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"shasum":"55d50d3afd0ee667dbbe3b4dd781989344b5a17a","size":6006,"noattachment":false,"key":"/stubborn-fs/-/stubborn-fs-1.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/stubborn-fs/download/stubborn-fs-1.2.2.tgz"},"_npmUser":{"name":"fabiospampinato","email":"spampinabio@gmail.com"},"directories":{},"maintainers":[{"name":"fabiospampinato","email":"spampinabio@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stubborn-fs_1.2.2_1676129271421_0.705234085499951"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-02-11T15:27:51.576Z","publish_time":1676129271576,"_cnpm_publish_time":1676129271576},"1.2.1":{"name":"stubborn-fs","repository":{"type":"git","url":"git+https://github.com/fabiospampinato/stubborn-fs.git"},"description":"Stubborn versions of Node's fs functions that try really hard to do their job.","version":"1.2.1","type":"module","main":"dist/index.js","exports":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"tsex clean","compile":"tsex compile","compile:watch":"tsex compile --watch","prepublishOnly":"npm run clean && npm run compile"},"keywords":["fs","attempt","retry","stubborn","reliable"],"devDependencies":{"@types/node":"^17.0.35","tsex":"^1.1.2","typescript":"^4.6.4"},"gitHead":"73fd13193477a871bb0290f9da6770a1c0f35a1c","bugs":{"url":"https://github.com/fabiospampinato/stubborn-fs/issues"},"homepage":"https://github.com/fabiospampinato/stubborn-fs#readme","_id":"stubborn-fs@1.2.1","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"shasum":"3758a8b2b9be9212d1af1a286de2f04836e5b41c","size":5550,"noattachment":false,"key":"/stubborn-fs/-/stubborn-fs-1.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/stubborn-fs/download/stubborn-fs-1.2.1.tgz"},"_npmUser":{"name":"fabiospampinato","email":"spampinabio@gmail.com"},"directories":{},"maintainers":[{"name":"fabiospampinato","email":"spampinabio@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stubborn-fs_1.2.1_1667763287014_0.6167103825194962"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-11-06T19:34:51.028Z","publish_time":1667763287182,"_cnpm_publish_time":1667763287182},"1.2.0":{"name":"stubborn-fs","repository":{"type":"git","url":"git+https://github.com/fabiospampinato/stubborn-fs.git"},"description":"Stubborn versions of Node's fs functions that try really hard to do their job.","version":"1.2.0","type":"module","main":"dist/index.js","exports":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"tsex clean","compile":"tsex compile","compile:watch":"tsex compile --watch","prepublishOnly":"npm run clean && npm run compile"},"keywords":["fs","attempt","retry","stubborn","reliable"],"devDependencies":{"@types/node":"^17.0.35","tsex":"^1.1.2","typescript":"^4.6.4"},"gitHead":"0d7600eab34d11b7b972d52858716ca9ff8d6a12","bugs":{"url":"https://github.com/fabiospampinato/stubborn-fs/issues"},"homepage":"https://github.com/fabiospampinato/stubborn-fs#readme","_id":"stubborn-fs@1.2.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"shasum":"5984b99b94fac61d47858ee203e8b38ff74a32af","size":5562,"noattachment":false,"key":"/stubborn-fs/-/stubborn-fs-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/stubborn-fs/download/stubborn-fs-1.2.0.tgz"},"_npmUser":{"name":"fabiospampinato","email":"spampinabio@gmail.com"},"directories":{},"maintainers":[{"name":"fabiospampinato","email":"spampinabio@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stubborn-fs_1.2.0_1653043139661_0.5557931756953549"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-20T11:50:01.979Z","publish_time":1653043139824,"_cnpm_publish_time":1653043139824},"1.1.0":{"name":"stubborn-fs","repository":{"type":"git","url":"git+https://github.com/fabiospampinato/stubborn-fs.git"},"description":"Stubborn versions of Node's fs functions that try really hard to do their job.","version":"1.1.0","type":"module","main":"dist/index.js","exports":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"tsex clean","compile":"tsex compile","compile:watch":"tsex compile --watch","prepublishOnly":"npm run clean && npm run compile"},"keywords":["fs","attempt","retry","stubborn","reliable"],"devDependencies":{"@types/node":"^17.0.35","tsex":"^1.1.2","typescript":"^4.6.4"},"gitHead":"68cb3823b8330f776a5fec5f11bc10373c4428ac","bugs":{"url":"https://github.com/fabiospampinato/stubborn-fs/issues"},"homepage":"https://github.com/fabiospampinato/stubborn-fs#readme","_id":"stubborn-fs@1.1.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"shasum":"840275fda99af72126126ae6fafd1077ce4aae5b","size":5533,"noattachment":false,"key":"/stubborn-fs/-/stubborn-fs-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/stubborn-fs/download/stubborn-fs-1.1.0.tgz"},"_npmUser":{"name":"fabiospampinato","email":"spampinabio@gmail.com"},"directories":{},"maintainers":[{"name":"fabiospampinato","email":"spampinabio@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stubborn-fs_1.1.0_1653042979215_0.9772309913416284"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-20T11:50:01.133Z","publish_time":1653042979401,"_cnpm_publish_time":1653042979401},"1.0.0":{"name":"stubborn-fs","repository":{"type":"git","url":"git+https://github.com/fabiospampinato/stubborn-fs.git"},"description":"Stubborn versions of Node's fs functions that try really hard to do their job.","version":"1.0.0","type":"module","main":"dist/index.js","exports":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"tsex clean","compile":"tsex compile","compile:watch":"tsex compile --watch","prepublishOnly":"npm run clean && npm run compile"},"keywords":["fs","attempt","retry","stubborn","reliable"],"devDependencies":{"@types/node":"^17.0.35","tsex":"^1.1.2","typescript":"^4.6.4"},"gitHead":"74e557be769a0f83b85e7150363d68c41406c5b7","bugs":{"url":"https://github.com/fabiospampinato/stubborn-fs/issues"},"homepage":"https://github.com/fabiospampinato/stubborn-fs#readme","_id":"stubborn-fs@1.0.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"shasum":"d03354a0137aeab22b0c85c1d7a37a44a9653291","size":5483,"noattachment":false,"key":"/stubborn-fs/-/stubborn-fs-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/stubborn-fs/download/stubborn-fs-1.0.0.tgz"},"_npmUser":{"name":"fabiospampinato","email":"spampinabio@gmail.com"},"directories":{},"maintainers":[{"name":"fabiospampinato","email":"spampinabio@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stubborn-fs_1.0.0_1652980343339_0.597714844977018"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-19T17:17:43.741Z","publish_time":1652980343554,"_cnpm_publish_time":1652980343554}},"readme":"# Stubborn FS\n\nStubborn versions of Node's `fs` functions that try really hard to do their job.\n\n## Install\n\n```sh\nnpm install --save stubborn-fs\n```\n\n## Usage\n\nThe following functions are currently provided, if you need others please open an issue.\n\n- `attempt` functions swallow some errors that may occur.\n- `retry` functions are executed in a loop until they succeed or the timeout is reached, in which case an error is thrown.\n\n```ts\nimport fs from 'stubborn-fs';\n\n// Attempt functions (async)\n\nfs.attempt.chmod;\nfs.attempt.chown;\nfs.attempt.close;\nfs.attempt.fsync;\nfs.attempt.mkdir;\nfs.attempt.realpath;\nfs.attempt.stat;\nfs.attempt.unlink;\n\n// Attempt functions (sync)\n\nfs.attempt.chmodSync;\nfs.attempt.chownSync;\nfs.attempt.closeSync;\nfs.attempt.existsSync;\nfs.attempt.fsyncSync;\nfs.attempt.mkdirSync;\nfs.attempt.realpathSync;\nfs.attempt.statSync;\nfs.attempt.unlinkSync;\n\n// Retry functions (async)\n\nfs.retry.close;\nfs.retry.fsync;\nfs.retry.open;\nfs.retry.readFile;\nfs.retry.rename;\nfs.retry.stat;\nfs.retry.write;\nfs.retry.writeFile;\n\n// Retry functions (sync)\n\nfs.retry.closeSync;\nfs.retry.fsyncSync;\nfs.retry.openSync;\nfs.retry.readFileSync;\nfs.retry.renameSync;\nfs.retry.statSync;\nfs.retry.writeSync;\nfs.retry.writeFileSync;\n```\n\n## License\n\nMIT © Fabio Spampinato\n","_attachments":{},"homepage":"https://github.com/fabiospampinato/stubborn-fs#readme","bugs":{"url":"https://github.com/fabiospampinato/stubborn-fs/issues"},"license":"MIT"}