{"_id":"fast-write-atomic","_rev":"4579277","name":"fast-write-atomic","description":"Fast way to write a file atomically, for Node.js","dist-tags":{"latest":"0.4.0"},"maintainers":[{"name":"matteo.collina","email":""}],"time":{"modified":"2026-04-10T15:54:15.000Z","created":"2018-12-20T17:17:21.965Z","0.4.0":"2026-02-13T12:33:55.490Z","0.2.1":"2019-03-08T12:15:45.186Z","0.2.0":"2019-01-04T14:58:23.643Z","0.1.1":"2018-12-21T10:58:44.701Z","0.1.0":"2018-12-20T17:17:21.965Z"},"users":{},"author":{"name":"Matteo Collina","email":"hello@matteocollina.com"},"repository":{"type":"git","url":"git+https://github.com/mcollina/fast-write-atomic.git"},"versions":{"0.4.0":{"name":"fast-write-atomic","version":"0.4.0","description":"Fast way to write a file atomically, for Node.js","main":"index.js","scripts":{"lint":"eslint .","test":"npm run lint && node --test --test-concurrency=1 test/*.test.js","cov":"node --test --test-concurrency=1 --experimental-test-coverage test/*.test.js"},"engines":{"node":">=20"},"repository":{"type":"git","url":"git+https://github.com/mcollina/fast-write-atomic.git"},"keywords":["file","write","atomic"],"author":{"name":"Matteo Collina","email":"hello@matteocollina.com"},"license":"MIT","bugs":{"url":"https://github.com/mcollina/fast-write-atomic/issues"},"homepage":"https://github.com/mcollina/fast-write-atomic#readme","devDependencies":{"fastbench":"^1.0.1","graceful-fs":"^4.2.11","eslint":"^9.20.1","neostandard":"^0.12.1","write-file-atomic":"^6.0.0"},"gitHead":"b918e79e66c7c0da6af1f9efe919023b34c1988c","_id":"fast-write-atomic@0.4.0","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"shasum":"cf083071d1ba868fc4b3d78e5f157bfabc7934c8","size":5463,"noattachment":false,"key":"/fast-write-atomic/-/fast-write-atomic-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-write-atomic/download/fast-write-atomic-0.4.0.tgz"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"directories":{},"maintainers":[{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fast-write-atomic_0.4.0_1770986035337_0.26206660103120827"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-13T12:33:55.490Z","publish_time":1770986035490,"_source_registry_name":"default","_cnpm_publish_time":1770986035490},"0.2.1":{"name":"fast-write-atomic","version":"0.2.1","description":"Fast way to write a file atomically, for Node.js","main":"index.js","scripts":{"test":"standard | snazzy && tap test/*test.js","cov":"tap --100 test/*test.js"},"repository":{"type":"git","url":"git+https://github.com/mcollina/fast-write-atomic.git"},"keywords":["file","write","atomic"],"author":{"name":"Matteo Collina","email":"hello@matteocollina.com"},"license":"MIT","bugs":{"url":"https://github.com/mcollina/fast-write-atomic/issues"},"homepage":"https://github.com/mcollina/fast-write-atomic#readme","devDependencies":{"fastbench":"^1.0.1","graceful-fs":"^4.1.15","husky":"^1.3.0","proxyquire":"^2.1.0","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.1.1","write-file-atomic":"^2.3.0"},"dependencies":{},"husky":{"hooks":{"pre-commit":"npm test"}},"gitHead":"162e4e7028a6853aa1fb79829160e6df80524159","_id":"fast-write-atomic@0.2.1","_nodeVersion":"10.15.2","_npmVersion":"6.8.0","_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"dist":{"shasum":"7ee8ef0ce3c1f531043c09ae8e5143361ab17ede","size":3660,"noattachment":false,"key":"/fast-write-atomic/-/fast-write-atomic-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-write-atomic/download/fast-write-atomic-0.2.1.tgz"},"maintainers":[{"name":"matteo.collina","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-write-atomic_0.2.1_1552047345073_0.010335729515421832"},"_hasShrinkwrap":false,"publish_time":1552047345186,"_cnpm_publish_time":1552047345186,"_cnpmcore_publish_time":"2021-12-16T22:12:02.603Z"},"0.2.0":{"name":"fast-write-atomic","version":"0.2.0","description":"Fast way to write a file atomically, for Node.js","main":"index.js","scripts":{"test":"standard | snazzy && tap test/*test.js","cov":"tap --100 test/*test.js"},"repository":{"type":"git","url":"git+https://github.com/mcollina/fast-write-atomic.git"},"keywords":["file","write","atomic"],"author":{"name":"Matteo Collina","email":"hello@matteocollina.com"},"license":"MIT","bugs":{"url":"https://github.com/mcollina/fast-write-atomic/issues"},"homepage":"https://github.com/mcollina/fast-write-atomic#readme","devDependencies":{"fastbench":"^1.0.1","graceful-fs":"^4.1.15","husky":"^1.3.0","proxyquire":"^2.1.0","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.1.1","write-file-atomic":"^2.3.0"},"dependencies":{},"husky":{"hooks":{"pre-commit":"npm test"}},"gitHead":"ab82a19dabf169717b8ebf241ca539b24e023dbf","_id":"fast-write-atomic@0.2.0","_npmVersion":"6.5.0","_nodeVersion":"10.14.2","_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"dist":{"shasum":"76ab0cf9fa0095a790763039bd57bb2e4f599fce","size":3535,"noattachment":false,"key":"/fast-write-atomic/-/fast-write-atomic-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-write-atomic/download/fast-write-atomic-0.2.0.tgz"},"maintainers":[{"name":"matteo.collina","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-write-atomic_0.2.0_1546613903487_0.3697111475508974"},"_hasShrinkwrap":false,"publish_time":1546613903643,"_cnpm_publish_time":1546613903643,"_cnpmcore_publish_time":"2021-12-16T22:12:02.800Z"},"0.1.1":{"name":"fast-write-atomic","version":"0.1.1","description":"Fast way to write a file atomically, for Node.js","main":"index.js","scripts":{"test":"standard | snazzy && tap test/*test.js"},"repository":{"type":"git","url":"git+https://github.com/mcollina/fast-write-atomic.git"},"keywords":["file","write","atomic"],"author":{"name":"Matteo Collina","email":"hello@matteocollina.com"},"license":"MIT","bugs":{"url":"https://github.com/mcollina/fast-write-atomic/issues"},"homepage":"https://github.com/mcollina/fast-write-atomic#readme","devDependencies":{"fastbench":"^1.0.1","graceful-fs":"^4.1.15","husky":"^1.3.0","proxyquire":"^2.1.0","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.1.1","write-file-atomic":"^2.3.0"},"dependencies":{},"husky":{"hooks":{"pre-commit":"npm test"}},"gitHead":"424dc5812b311f0a418d4e7499f6d5368decf273","_id":"fast-write-atomic@0.1.1","_nodeVersion":"10.14.2","_npmVersion":"6.6.0-next.0","_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"dist":{"shasum":"ec432f91b5a5cac83147dc8050404ceb40e5a243","size":3155,"noattachment":false,"key":"/fast-write-atomic/-/fast-write-atomic-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-write-atomic/download/fast-write-atomic-0.1.1.tgz"},"maintainers":[{"name":"matteo.collina","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-write-atomic_0.1.1_1545389924446_0.34161127967906313"},"_hasShrinkwrap":false,"publish_time":1545389924701,"_cnpm_publish_time":1545389924701,"_cnpmcore_publish_time":"2021-12-16T22:12:03.011Z"},"0.1.0":{"name":"fast-write-atomic","version":"0.1.0","description":"Fast way to write a file atomically, for Node.js","main":"index.js","scripts":{"test":"standard | snazzy && tap test/*test.js"},"repository":{"type":"git","url":"git+https://github.com/mcollina/fast-write-atomic.git"},"keywords":["file","write","atomic"],"author":{"name":"Matteo Collina","email":"hello@matteocollina.com"},"license":"MIT","bugs":{"url":"https://github.com/mcollina/fast-write-atomic/issues"},"homepage":"https://github.com/mcollina/fast-write-atomic#readme","devDependencies":{"fastbench":"^1.0.1","graceful-fs":"^4.1.15","husky":"^1.3.0","proxyquire":"^2.1.0","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.1.1","write-file-atomic":"^2.3.0"},"dependencies":{},"gitHead":"4a5fc7c0930ce90a03e052cd285409080337ab68","_id":"fast-write-atomic@0.1.0","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"dist":{"shasum":"9c05f1b98e7781238b7b37871d2d7bdd2337cf15","size":3011,"noattachment":false,"key":"/fast-write-atomic/-/fast-write-atomic-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-write-atomic/download/fast-write-atomic-0.1.0.tgz"},"maintainers":[{"name":"matteo.collina","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-write-atomic_0.1.0_1545326241844_0.47385004063135616"},"_hasShrinkwrap":false,"publish_time":1545326241965,"_cnpm_publish_time":1545326241965,"_cnpmcore_publish_time":"2021-12-16T22:12:03.378Z"}},"readme":"# fast-write-atomic\n\n[![CI](https://github.com/mcollina/fast-write-atomic/actions/workflows/ci.yml/badge.svg)](https://github.com/mcollina/fast-write-atomic/actions/workflows/ci.yml)\n[![npm version](https://img.shields.io/npm/v/fast-write-atomic.svg)](https://www.npmjs.com/package/fast-write-atomic)\n\nFast way to write a file atomically, for Node.js.\n\n## Requirements\n\n- Node.js 20+\n\n## Install\n\n```bash\nnpm i fast-write-atomic\n```\n\n## Example\n\n```js\nconst writeFile = require('fast-write-atomic')\n\nconst data = Buffer.from('hello world')\n\nwriteFile('./hello', data, function (err) {\n  if (err) {\n    console.log(err)\n    return\n  }\n\n  console.log('file written')\n})\n```\n\n## Promise API\n\n`writeFile.promise(path, content)` returns a Promise and keeps the same atomicity behavior.\n\n```js\nconst writeFile = require('fast-write-atomic')\n\nawait writeFile.promise('./hello', Buffer.from('hello world'))\n```\n\n## Development\n\n```bash\nnpm install\nnpm test\nnpm run cov\nnode bench.js\n```\n\n## Benchmarks\n\nThose benchmarks write a 1 MB file a thousand times:\n\n```text\nbenchWriteFileAtomic*1000: 9830.501ms\nbenchFastWriteAtomic*1000: 8848.916ms\nbenchWriteFileAtomic*1000: 9944.722ms\nbenchFastWriteAtomic*1000: 8997.108ms\n```\n\n## License\n\nMIT\n","_attachments":{},"homepage":"https://github.com/mcollina/fast-write-atomic#readme","bugs":{"url":"https://github.com/mcollina/fast-write-atomic/issues"},"license":"MIT"}