HEX
Server: Apache/2.4.41
System: Linux mainweb 5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC 2024 x86_64
User: nationalmedicaregrp (1119)
PHP: 8.3.7
Disabled: exec,passthru,shell_exec,system,popen,proc_open,pcntl_exec
Upload Files
File: /home/ubuntu/.npm/registry.npmjs.org/steno/.cache.json
{"_id":"steno","_rev":"24-39c59ffee3852dea58451bac3cdb18ab","name":"steno","description":"Simple file writer with race condition prevention and atomic writing","dist-tags":{"latest":"0.4.4"},"versions":{"0.1.0":{"name":"steno","version":"0.1.0","description":"File writer","main":"index.js","scripts":{"test":"node test"},"repository":{"type":"git","url":"https://github.com/typicode/steno.git"},"keywords":["file","write","writer","asynchronous","synchronous","stenograph"],"author":{"name":"typicode"},"license":"MIT","bugs":{"url":"https://github.com/typicode/steno/issues"},"homepage":"https://github.com/typicode/steno","devDependencies":{"tape":"^3.0.1"},"gitHead":"0a6ea6dea44ce3b3a8570bb1cf0078a24a75e7d3","_id":"[email protected]","_shasum":"bf37ff6379712087de01741b493b71de818b3747","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"typicode","email":"[email protected]"},"maintainers":[{"name":"typicode","email":"[email protected]"}],"dist":{"shasum":"bf37ff6379712087de01741b493b71de818b3747","tarball":"https://registry.npmjs.org/steno/-/steno-0.1.0.tgz"},"directories":{}},"0.1.1":{"name":"steno","version":"0.1.1","description":"File writer","main":"index.js","scripts":{"test":"node test","prepush":"npm test"},"repository":{"type":"git","url":"https://github.com/typicode/steno.git"},"keywords":["file","write","writer","asynchronous","synchronous","stenograph"],"author":{"name":"typicode"},"license":"MIT","bugs":{"url":"https://github.com/typicode/steno/issues"},"homepage":"https://github.com/typicode/steno","devDependencies":{"husky":"^0.6.1","tape":"^3.0.1"},"gitHead":"755159dc6dcd8af17dc0e9d06de50484ff3be025","_id":"[email protected]","_shasum":"2b1004f5af9e6aa8b71396b04efc3aabace69690","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.32","_npmUser":{"name":"typicode","email":"[email protected]"},"maintainers":[{"name":"typicode","email":"[email protected]"}],"dist":{"shasum":"2b1004f5af9e6aa8b71396b04efc3aabace69690","tarball":"https://registry.npmjs.org/steno/-/steno-0.1.1.tgz"},"directories":{}},"0.1.2":{"name":"steno","version":"0.1.2","description":"File writer","main":"index.js","scripts":{"test":"node test","prepush":"npm test"},"repository":{"type":"git","url":"https://github.com/typicode/steno.git"},"keywords":["file","write","writer","asynchronous","synchronous","stenograph"],"author":{"name":"typicode"},"license":"MIT","bugs":{"url":"https://github.com/typicode/steno/issues"},"homepage":"https://github.com/typicode/steno","devDependencies":{"husky":"^0.6.1","tape":"^3.0.1"},"gitHead":"cb4eb2f962071ee3e85f2c0b51f9bc6b0c036f3b","_id":"[email protected]","_shasum":"5675402311dad9d9ff60138f2d237f5dcb70668b","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.32","_npmUser":{"name":"typicode","email":"[email protected]"},"maintainers":[{"name":"typicode","email":"[email protected]"}],"dist":{"shasum":"5675402311dad9d9ff60138f2d237f5dcb70668b","tarball":"https://registry.npmjs.org/steno/-/steno-0.1.2.tgz"},"directories":{}},"0.2.0":{"name":"steno","version":"0.2.0","description":"File writer","main":"index.js","scripts":{"test":"node test | tap-dot","prepush":"npm test"},"repository":{"type":"git","url":"https://github.com/typicode/steno.git"},"keywords":["file","write","writer","asynchronous","synchronous","stenograph"],"author":{"name":"typicode"},"license":"MIT","bugs":{"url":"https://github.com/typicode/steno/issues"},"homepage":"https://github.com/typicode/steno","devDependencies":{"husky":"^0.6.1","tap-dot":"^0.2.3","tape":"^3.0.1"},"gitHead":"b3e4ca3c6414f38a00eda012fe1ec2516077d0b6","_id":"[email protected]","_shasum":"9188ab75d96012db191b93a05cfa25b82ccb13ce","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"typicode","email":"[email protected]"},"maintainers":[{"name":"typicode","email":"[email protected]"}],"dist":{"shasum":"9188ab75d96012db191b93a05cfa25b82ccb13ce","tarball":"https://registry.npmjs.org/steno/-/steno-0.2.0.tgz"},"directories":{}},"0.2.1":{"name":"steno","version":"0.2.1","description":"File writer","main":"index.js","scripts":{"test":"node test | tap-dot","prepush":"npm test"},"repository":{"type":"git","url":"https://github.com/typicode/steno.git"},"keywords":["file","write","writer","asynchronous","synchronous","stenograph"],"author":{"name":"typicode"},"license":"MIT","bugs":{"url":"https://github.com/typicode/steno/issues"},"homepage":"https://github.com/typicode/steno","devDependencies":{"husky":"^0.6.1","tap-dot":"^0.2.3","tape":"^3.0.1"},"gitHead":"7892c1561d87966823b625f8b9b6b71602d97ece","_id":"[email protected]","_shasum":"2669073babbe8bcfd6ee7c5e5e942fbfaf39b9d7","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"typicode","email":"[email protected]"},"maintainers":[{"name":"typicode","email":"[email protected]"}],"dist":{"shasum":"2669073babbe8bcfd6ee7c5e5e942fbfaf39b9d7","tarball":"https://registry.npmjs.org/steno/-/steno-0.2.1.tgz"},"directories":{}},"0.3.0":{"name":"steno","version":"0.3.0","description":"Fast non-blocking file writer for Node","main":"index.js","scripts":{"test":"node test | tap-dot","prepush":"npm test"},"repository":{"type":"git","url":"https://github.com/typicode/steno.git"},"keywords":["file","write","writer","asynchronous","synchronous","race","condition","safe"],"author":{"name":"typicode"},"license":"MIT","bugs":{"url":"https://github.com/typicode/steno/issues"},"homepage":"https://github.com/typicode/steno","devDependencies":{"husky":"^0.6.2","tap-dot":"^0.2.3","tape":"^3.0.1"},"gitHead":"dc7834b8f5ab9538cfe97e86dea6b361a6dcbc50","_id":"[email protected]","_shasum":"f00d0ad24e679f09895adb189b1737a4beefbbc8","_from":".","_npmVersion":"2.1.8","_nodeVersion":"0.10.33","_npmUser":{"name":"typicode","email":"[email protected]"},"maintainers":[{"name":"typicode","email":"[email protected]"}],"dist":{"shasum":"f00d0ad24e679f09895adb189b1737a4beefbbc8","tarball":"https://registry.npmjs.org/steno/-/steno-0.3.0.tgz"},"directories":{}},"0.3.1":{"name":"steno","version":"0.3.1","description":"Fast non-blocking file writer for Node","main":"index.js","scripts":{"test":"node test | tap-dot","prepush":"npm test"},"repository":{"type":"git","url":"https://github.com/typicode/steno.git"},"keywords":["file","write","writer","asynchronous","synchronous","race","condition","safe"],"author":{"name":"typicode"},"license":"MIT","bugs":{"url":"https://github.com/typicode/steno/issues"},"homepage":"https://github.com/typicode/steno","devDependencies":{"husky":"^0.6.2","tap-dot":"^0.2.3","tape":"^3.0.1"},"gitHead":"807a8403ab6d0f362fe742797c97d4ddfa1d199d","_id":"[email protected]","_shasum":"8856790946baa45ee2bbc6d366bce55adc858694","_from":".","_npmVersion":"2.1.8","_nodeVersion":"0.10.33","_npmUser":{"name":"typicode","email":"[email protected]"},"maintainers":[{"name":"typicode","email":"[email protected]"}],"dist":{"shasum":"8856790946baa45ee2bbc6d366bce55adc858694","tarball":"https://registry.npmjs.org/steno/-/steno-0.3.1.tgz"},"directories":{}},"0.3.2":{"name":"steno","version":"0.3.2","description":"Fast non-blocking file writer for Node","main":"index.js","scripts":{"test":"node test | tap-dot","prepush":"npm test"},"repository":{"type":"git","url":"https://github.com/typicode/steno.git"},"keywords":["file","write","writer","asynchronous","synchronous","race","condition","safe"],"author":{"name":"typicode"},"license":"MIT","bugs":{"url":"https://github.com/typicode/steno/issues"},"homepage":"https://github.com/typicode/steno","devDependencies":{"husky":"^0.6.2","tap-dot":"^0.2.3","tape":"^3.0.1"},"gitHead":"f49180bc1354061af4ea9eeb28be77ad749fbaf3","_id":"[email protected]","_shasum":"ab1e7f547ac7f78aeecb8b6d74c25c5b292df99e","_from":".","_npmVersion":"2.1.8","_nodeVersion":"0.10.33","_npmUser":{"name":"typicode","email":"[email protected]"},"maintainers":[{"name":"typicode","email":"[email protected]"}],"dist":{"shasum":"ab1e7f547ac7f78aeecb8b6d74c25c5b292df99e","tarball":"https://registry.npmjs.org/steno/-/steno-0.3.2.tgz"},"directories":{}},"0.4.0":{"name":"steno","version":"0.4.0","description":"Simple file writer with race condition prevention and atomic writing","main":"index.js","scripts":{"test":"node test | tap-dot","prepush":"npm test"},"repository":{"type":"git","url":"git+https://github.com/typicode/steno.git"},"keywords":["file","write","writer","asynchronous","race","condition","atomic","writing","safe"],"author":{"name":"typicode"},"license":"MIT","bugs":{"url":"https://github.com/typicode/steno/issues"},"homepage":"https://github.com/typicode/steno","devDependencies":{"after":"^0.8.1","husky":"^0.6.2","tap-dot":"^0.2.3","tape":"^3.0.1"},"dependencies":{"graceful-fs":"^3.0.8"},"gitHead":"158b39da76b0001c4e2b3084cad796b69c72fbdb","_id":"[email protected]","_shasum":"2e4631a0d95ee527f780abb15ea39857faf90fa6","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"typicode","email":"[email protected]"},"dist":{"shasum":"2e4631a0d95ee527f780abb15ea39857faf90fa6","tarball":"https://registry.npmjs.org/steno/-/steno-0.4.0.tgz"},"maintainers":[{"name":"typicode","email":"[email protected]"}],"directories":{}},"0.4.1":{"name":"steno","version":"0.4.1","description":"Simple file writer with race condition prevention and atomic writing","main":"index.js","scripts":{"test":"node test | tap-dot","prepush":"npm test"},"repository":{"type":"git","url":"git+https://github.com/typicode/steno.git"},"keywords":["file","write","writer","asynchronous","race","condition","atomic","writing","safe"],"author":{"name":"typicode"},"license":"MIT","bugs":{"url":"https://github.com/typicode/steno/issues"},"homepage":"https://github.com/typicode/steno","devDependencies":{"after":"^0.8.1","husky":"^0.6.2","tap-dot":"^0.2.3","tape":"^3.0.1"},"dependencies":{"graceful-fs":"^3.0.8"},"gitHead":"0a4959b071d8f5dd04c88f7666c9086a736246a0","_id":"[email protected]","_shasum":"32ad7c13f34aa20e59408fa1e5312edb0a94ccbd","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"typicode","email":"[email protected]"},"dist":{"shasum":"32ad7c13f34aa20e59408fa1e5312edb0a94ccbd","tarball":"https://registry.npmjs.org/steno/-/steno-0.4.1.tgz"},"maintainers":[{"name":"typicode","email":"[email protected]"}],"directories":{}},"0.4.2":{"name":"steno","version":"0.4.2","description":"Simple file writer with race condition prevention and atomic writing","main":"index.js","scripts":{"test":"node test | tap-dot","prepush":"npm test"},"repository":{"type":"git","url":"git+https://github.com/typicode/steno.git"},"keywords":["file","write","writer","asynchronous","race","condition","atomic","writing","safe"],"author":{"name":"typicode"},"license":"MIT","bugs":{"url":"https://github.com/typicode/steno/issues"},"homepage":"https://github.com/typicode/steno","devDependencies":{"after":"^0.8.1","husky":"^0.6.2","tap-dot":"^0.2.3","tape":"^3.0.1"},"dependencies":{"graceful-fs":"^3.0.8"},"gitHead":"01750f492ae3c979123efc31dfd1730e4ebfda56","_id":"[email protected]","_shasum":"de79ec3d8d260cf1579730a21bff28bad4230a7d","_from":".","_npmVersion":"2.11.2","_nodeVersion":"0.12.5","_npmUser":{"name":"typicode","email":"[email protected]"},"dist":{"shasum":"de79ec3d8d260cf1579730a21bff28bad4230a7d","tarball":"https://registry.npmjs.org/steno/-/steno-0.4.2.tgz"},"maintainers":[{"name":"typicode","email":"[email protected]"}],"directories":{}},"0.4.3":{"name":"steno","version":"0.4.3","description":"Simple file writer with race condition prevention and atomic writing","main":"index.js","scripts":{"test":"node test | tap-dot","prepush":"npm test"},"repository":{"type":"git","url":"git+https://github.com/typicode/steno.git"},"keywords":["file","write","writer","asynchronous","race","condition","atomic","writing","safe"],"author":{"name":"typicode"},"license":"MIT","bugs":{"url":"https://github.com/typicode/steno/issues"},"homepage":"https://github.com/typicode/steno","devDependencies":{"after":"^0.8.1","husky":"^0.6.2","tap-dot":"^0.2.3","tape":"^3.0.1"},"dependencies":{"graceful-fs":"^4.1.3"},"gitHead":"f1d9eb3abde6bd74f1ad81503a7e8be40f131f0c","_id":"[email protected]","_shasum":"796dcd08ab771b6d6a075f75e68ab77d3307180c","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.5.0","_npmUser":{"name":"typicode","email":"[email protected]"},"dist":{"shasum":"796dcd08ab771b6d6a075f75e68ab77d3307180c","tarball":"https://registry.npmjs.org/steno/-/steno-0.4.3.tgz"},"maintainers":[{"name":"typicode","email":"[email protected]"}],"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/steno-0.4.3.tgz_1455399025673_0.2780794557183981"},"directories":{}},"0.4.4":{"name":"steno","version":"0.4.4","description":"Simple file writer with race condition prevention and atomic writing","main":"index.js","scripts":{"test":"node test | tap-dot && standard","prepush":"npm test"},"repository":{"type":"git","url":"git+https://github.com/typicode/steno.git"},"keywords":["fs","file","write","writer","asynchronous","race","condition","atomic","writing","safe"],"author":{"name":"typicode"},"license":"MIT","bugs":{"url":"https://github.com/typicode/steno/issues"},"homepage":"https://github.com/typicode/steno","devDependencies":{"after":"^0.8.1","husky":"^0.11.1","standard":"^6.0.7","tap-dot":"^0.2.3","tape":"^3.0.1"},"dependencies":{"graceful-fs":"^4.1.3"},"gitHead":"06e4e11e98dc3550d855e7731f80aacc2cbbd2c3","_id":"[email protected]","_shasum":"071105bdfc286e6615c0403c27e9d7b5dcb855cb","_from":".","_npmVersion":"3.6.0","_nodeVersion":"5.7.0","_npmUser":{"name":"typicode","email":"[email protected]"},"dist":{"shasum":"071105bdfc286e6615c0403c27e9d7b5dcb855cb","tarball":"https://registry.npmjs.org/steno/-/steno-0.4.4.tgz"},"maintainers":[{"name":"typicode","email":"[email protected]"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/steno-0.4.4.tgz_1457525446258_0.39970230776816607"},"directories":{}}},"readme":"# steno [![](http://img.shields.io/npm/dm/steno.svg?style=flat)](https://www.npmjs.org/package/steno)  [![](https://travis-ci.org/typicode/steno.svg?branch=master)](https://travis-ci.org/typicode/steno)\n\n> Simple file writer with __atomic writing__ and __race condition prevention__.\n\nCan be used as a drop-in replacement to `fs.writeFile()`.\n\nBuilt on [graceful-fs](https://github.com/isaacs/node-graceful-fs) and used in [lowdb](https://github.com/typicode/lowdb).\n\n## Install\n\n```\nnpm install steno --save\n```\n\n## Usage\n\n```javascript\nconst steno = require('steno')\n\nsteno.writeFile('file.json', data, err => {\n  if (err) throw err\n})\n```\n\n## The problem it solves\n\n### Without steno\n\nLet's say you have a server and want to save data to disk:\n\n```javascript\nvar data = { counter: 0 }\n\nserver.post('/', (req, res) => {\n  // Increment counter\n  ++data.counter\n\n  // Save data asynchronously\n  fs.writeFile('data.json', JSON.stringify(data), err => {\n    if (err) throw err\n    res.end()\n  })\n})\n```\n\nNow if you have many requests, for example `1000`, there's a risk that you end up with:\n\n```javascript\n// In your server\ndata.counter === 1000\n\n// In data.json\ndata.counter === 865 // ... or any other value\n```\n\nWhy? Because, `fs.write` doesn't guarantee that the call order will be kept. Also, if the server is killed while `data.json` is being written, the file can get corrupted.\n\n### With steno\n\n```javascript\nserver.post('/increment', (req, res) => {\n  ++data.counter\n\n  steno.writeFile('data.json', JSON.stringify(data), err => {\n    if (err) throw err\n    res.end()\n  })\n})\n```\n\nWith steno you'll always have the same data in your server and file. And in case of a crash, file integrity will be preserved.\n\nif needed, you can also use `steno.writeFileSync()` which offers atomic writing too.\n\n__Important: works only in a single instance of Node.__\n\n## License\n\nMIT - [Typicode](https://github.com/typicode)\n","maintainers":[{"name":"typicode","email":"[email protected]"}],"time":{"modified":"2017-03-23T16:07:32.221Z","created":"2014-10-21T22:15:06.688Z","0.1.0":"2014-10-21T22:15:06.688Z","0.1.1":"2014-10-23T19:20:48.261Z","0.1.2":"2014-10-23T21:18:38.010Z","0.2.0":"2014-11-06T06:41:04.855Z","0.2.1":"2014-11-06T13:30:56.589Z","0.3.0":"2014-11-27T09:27:26.184Z","0.3.1":"2014-11-28T05:51:21.783Z","0.3.2":"2014-12-08T22:36:41.615Z","0.4.0":"2015-06-02T18:42:15.650Z","0.4.1":"2015-06-02T19:01:48.222Z","0.4.2":"2015-06-25T12:06:00.827Z","0.4.3":"2016-02-13T21:30:29.265Z","0.4.4":"2016-03-09T12:10:50.243Z"},"homepage":"https://github.com/typicode/steno","keywords":["fs","file","write","writer","asynchronous","race","condition","atomic","writing","safe"],"repository":{"type":"git","url":"git+https://github.com/typicode/steno.git"},"author":{"name":"typicode"},"bugs":{"url":"https://github.com/typicode/steno/issues"},"license":"MIT","readmeFilename":"README.md","users":{"zeke":true,"gochomugo":true,"nickeltobias":true},"_attachments":{},"_etag":"W/\"b7d9b332a3c15d0156998716898584ce\"","_lastModified":"Sun, 27 May 2018 18:17:13 GMT"}