{"_id":"lockfile","_rev":"93187","name":"lockfile","description":"A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.","dist-tags":{"latest":"1.0.4"},"maintainers":[{"name":"isaacs","email":""},{"name":"trevorburnham","email":"trevorburnham@gmail.com"}],"time":{"modified":"2021-06-03T10:30:56.000Z","created":"2011-01-31T02:18:35.974Z","1.0.4":"2018-04-17T00:36:12.565Z","1.0.3":"2016-12-07T17:41:57.202Z","1.0.2":"2016-09-21T20:11:40.047Z","1.0.1":"2015-05-20T07:02:13.163Z","1.0.0":"2014-08-20T18:43:19.866Z","0.4.3":"2014-08-16T00:16:12.777Z","0.4.2":"2013-08-23T20:26:52.739Z","0.4.1":"2013-08-21T04:48:43.635Z","0.4.0":"2013-07-11T06:50:35.010Z","0.3.4":"2013-06-07T23:56:52.220Z","0.3.3":"2013-06-07T21:49:48.655Z","0.3.2":"2013-05-11T00:23:11.885Z","0.3.1":"2013-04-27T17:23:03.317Z","0.3.0":"2013-02-06T00:48:21.546Z","0.2.2":"2013-01-27T21:47:52.507Z","0.2.1":"2012-06-27T21:30:27.566Z","0.2.0":"2012-06-27T16:24:49.880Z","0.1.1":"2012-01-19T17:27:12.988Z","0.1.0":"2011-01-31T02:18:35.974Z"},"users":{"werle":true,"finalclass":true,"prisis":true,"garrickajo":true,"shipengyan":true,"octoo":true,"guananddu":true,"snowdream":true,"s00d":true,"moimikey":true,"rocket0191":true,"usex":true,"cedx":true,"tomi77":true},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"repository":{"type":"git","url":"git+https://github.com/npm/lockfile.git"},"versions":{"1.0.4":{"name":"lockfile","version":"1.0.4","main":"lockfile.js","directories":{"test":"test"},"dependencies":{"signal-exit":"^3.0.2"},"devDependencies":{"tap":"^11.1.3","touch":"0"},"scripts":{"test":"tap test/*.js --cov -J","changelog":"bash gen-changelog.sh","postversion":"npm run changelog && git add CHANGELOG.md && git commit -m 'update changelog - '${npm_package_version}"},"repository":{"type":"git","url":"git+https://github.com/npm/lockfile.git"},"keywords":["lockfile","lock","file","fs","O_EXCL"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","description":"A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.","gitHead":"94ef64505c07ec7cfb0b6860e61f1c2d820c4a06","bugs":{"url":"https://github.com/npm/lockfile/issues"},"homepage":"https://github.com/npm/lockfile#readme","_id":"lockfile@1.0.4","_npmVersion":"5.8.0","_nodeVersion":"8.9.1","_npmUser":{"name":"isaacs","email":"i@izs.me"},"dist":{"shasum":"07f819d25ae48f87e538e6578b6964a4981a5609","size":9621,"noattachment":false,"key":"/lockfile/-/lockfile-1.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/lockfile/download/lockfile-1.0.4.tgz"},"maintainers":[{"name":"isaacs","email":""},{"name":"trevorburnham","email":"trevorburnham@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lockfile_1.0.4_1523925372487_0.4260562345616645"},"_hasShrinkwrap":false,"publish_time":1523925372565,"_cnpm_publish_time":1523925372565},"1.0.3":{"name":"lockfile","version":"1.0.3","main":"lockfile.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"^7.1.2","touch":"0"},"scripts":{"test":"tap test/*.js --cov","changelog":"bash gen-changelog.sh","postversion":"npm run changelog && git add CHANGELOG.md && git commit -m 'update changelog - '${npm_package_version}"},"repository":{"type":"git","url":"git+https://github.com/npm/lockfile.git"},"keywords":["lockfile","lock","file","fs","O_EXCL"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","description":"A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.","gitHead":"96549505fcca4b8b0ff0e833719720bd463306d7","bugs":{"url":"https://github.com/npm/lockfile/issues"},"homepage":"https://github.com/npm/lockfile#readme","_id":"lockfile@1.0.3","_shasum":"2638fc39a0331e9cac1a04b71799931c9c50df79","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.5.0","_npmUser":{"name":"isaacs","email":"i@izs.me"},"dist":{"shasum":"2638fc39a0331e9cac1a04b71799931c9c50df79","size":8800,"noattachment":false,"key":"/lockfile/-/lockfile-1.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/lockfile/download/lockfile-1.0.3.tgz"},"maintainers":[{"name":"isaacs","email":""},{"name":"trevorburnham","email":"trevorburnham@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/lockfile-1.0.3.tgz_1481132515120_0.9350064944010228"},"publish_time":1481132517202,"_cnpm_publish_time":1481132517202,"_hasShrinkwrap":false},"1.0.2":{"name":"lockfile","version":"1.0.2","main":"lockfile.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"^7.1.2","touch":"0"},"scripts":{"test":"tap test/*.js --cov","changelog":"bash gen-changelog.sh","postversion":"npm run changelog && git add CHANGELOG.md && git commit -m 'update changelog - '${npm_package_version}"},"repository":{"type":"git","url":"git://github.com/isaacs/lockfile.git"},"keywords":["lockfile","lock","file","fs","O_EXCL"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","description":"A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.","gitHead":"a25076ca142a08951a9265bc1091e715e9bc7f05","bugs":{"url":"https://github.com/isaacs/lockfile/issues"},"homepage":"https://github.com/isaacs/lockfile#readme","_id":"lockfile@1.0.2","_shasum":"97e1990174f696cbe0a3acd58a43b84aa30c7c83","_from":".","_npmVersion":"3.10.7","_nodeVersion":"6.5.0","_npmUser":{"name":"isaacs","email":"i@izs.me"},"dist":{"shasum":"97e1990174f696cbe0a3acd58a43b84aa30c7c83","size":8606,"noattachment":false,"key":"/lockfile/-/lockfile-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/lockfile/download/lockfile-1.0.2.tgz"},"maintainers":[{"name":"isaacs","email":""},{"name":"trevorburnham","email":"trevorburnham@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/lockfile-1.0.2.tgz_1474488698320_0.008735276060178876"},"publish_time":1474488700047,"_cnpm_publish_time":1474488700047,"_hasShrinkwrap":false},"1.0.1":{"name":"lockfile","version":"1.0.1","main":"lockfile.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.2.5","touch":"0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/lockfile.git"},"keywords":["lockfile","lock","file","fs","O_EXCL"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","description":"A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.","gitHead":"9d338ed8e3e3a166955d051f6b5fb6bb1e563ca8","bugs":{"url":"https://github.com/isaacs/lockfile/issues"},"homepage":"https://github.com/isaacs/lockfile#readme","_id":"lockfile@1.0.1","_shasum":"9d353ecfe3f54d150bb57f89d51746935a39c4f5","_from":".","_npmVersion":"2.10.0","_nodeVersion":"2.0.1","_npmUser":{"name":"isaacs","email":"isaacs@npmjs.com"},"dist":{"shasum":"9d353ecfe3f54d150bb57f89d51746935a39c4f5","size":7441,"noattachment":false,"key":"/lockfile/-/lockfile-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/lockfile/download/lockfile-1.0.1.tgz"},"maintainers":[{"name":"isaacs","email":""},{"name":"trevorburnham","email":"trevorburnham@gmail.com"}],"publish_time":1432105333163,"_cnpm_publish_time":1432105333163,"_hasShrinkwrap":false},"1.0.0":{"name":"lockfile","version":"1.0.0","main":"lockfile.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.2.5","touch":"0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/lockfile"},"keywords":["lockfile","lock","file","fs","O_EXCL"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"BSD","description":"A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.","gitHead":"9590c6f02521eb1bb154ddc3ca9a7e84ce770c45","bugs":{"url":"https://github.com/isaacs/lockfile/issues"},"homepage":"https://github.com/isaacs/lockfile","_id":"lockfile@1.0.0","_shasum":"b3a7609dda6012060083bacb0ab0ecbca58e9203","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":""},{"name":"trevorburnham","email":"trevorburnham@gmail.com"}],"dist":{"shasum":"b3a7609dda6012060083bacb0ab0ecbca58e9203","size":7659,"noattachment":false,"key":"/lockfile/-/lockfile-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/lockfile/download/lockfile-1.0.0.tgz"},"publish_time":1408560199866,"_cnpm_publish_time":1408560199866,"_hasShrinkwrap":false},"0.4.3":{"name":"lockfile","version":"0.4.3","main":"lockfile.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.2.5","touch":"0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/lockfile"},"keywords":["lockfile","lock","file","fs","O_EXCL"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"BSD","description":"A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.","gitHead":"41c488e13d3399a6b5e5e4259970d1117abc2254","bugs":{"url":"https://github.com/isaacs/lockfile/issues"},"homepage":"https://github.com/isaacs/lockfile","_id":"lockfile@0.4.3","_shasum":"79b965ee9b32d9dd24b59cf81205e6dcb6d3b224","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":""},{"name":"trevorburnham","email":"trevorburnham@gmail.com"}],"dist":{"shasum":"79b965ee9b32d9dd24b59cf81205e6dcb6d3b224","size":6954,"noattachment":false,"key":"/lockfile/-/lockfile-0.4.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/lockfile/download/lockfile-0.4.3.tgz"},"publish_time":1408148172777,"_cnpm_publish_time":1408148172777,"_hasShrinkwrap":false},"0.4.2":{"name":"lockfile","version":"0.4.2","main":"lockfile.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.2.5","touch":"0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/lockfile"},"keywords":["lockfile","lock","file","fs","O_EXCL"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"BSD","description":"A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/lockfile/issues"},"_id":"lockfile@0.4.2","dist":{"shasum":"ab91f5d3745bc005ae4fa34d078910d1f2b9612d","size":5884,"noattachment":false,"key":"/lockfile/-/lockfile-0.4.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/lockfile/download/lockfile-0.4.2.tgz"},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":""},{"name":"trevorburnham","email":"trevorburnham@gmail.com"}],"publish_time":1377289612739,"_hasShrinkwrap":false,"_cnpm_publish_time":1377289612739},"0.4.1":{"name":"lockfile","version":"0.4.1","main":"lockfile.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.2.5","touch":"0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/lockfile"},"keywords":["lockfile","lock","file","fs","O_EXCL"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"BSD","description":"A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/lockfile/issues"},"_id":"lockfile@0.4.1","dist":{"shasum":"307b3aeb2983999f1ee3c26161d2f5878b574c8a","size":5688,"noattachment":false,"key":"/lockfile/-/lockfile-0.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/lockfile/download/lockfile-0.4.1.tgz"},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":""},{"name":"trevorburnham","email":"trevorburnham@gmail.com"}],"publish_time":1377060523635,"_hasShrinkwrap":false,"_cnpm_publish_time":1377060523635},"0.4.0":{"name":"lockfile","version":"0.4.0","main":"lockfile.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.2.5","touch":"0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/lockfile"},"keywords":["lockfile","lock","file","fs","O_EXCL"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"BSD","description":"A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/lockfile/issues"},"_id":"lockfile@0.4.0","dist":{"shasum":"0f815a7ee7c3d603ddec6fbfa8a212b5645d54c5","size":5682,"noattachment":false,"key":"/lockfile/-/lockfile-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/lockfile/download/lockfile-0.4.0.tgz"},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":""},{"name":"trevorburnham","email":"trevorburnham@gmail.com"}],"publish_time":1373525435010,"_hasShrinkwrap":false,"_cnpm_publish_time":1373525435010},"0.3.4":{"name":"lockfile","version":"0.3.4","main":"lockfile.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.2.5","touch":"0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/lockfile"},"keywords":["lockfile","lock","file","fs","O_EXCL"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"BSD","description":"A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/lockfile/issues"},"_id":"lockfile@0.3.4","dist":{"shasum":"932b63546e4915f81b71924b36187740358eda03","size":5947,"noattachment":false,"key":"/lockfile/-/lockfile-0.3.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/lockfile/download/lockfile-0.3.4.tgz"},"_from":".","_npmVersion":"1.2.28","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":""},{"name":"trevorburnham","email":"trevorburnham@gmail.com"}],"publish_time":1370649412220,"_hasShrinkwrap":false,"_cnpm_publish_time":1370649412220},"0.3.3":{"name":"lockfile","version":"0.3.3","main":"lockfile.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.2.5","touch":"0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/lockfile"},"keywords":["lockfile","lock","file","fs","O_EXCL"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"BSD","description":"A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/lockfile/issues"},"_id":"lockfile@0.3.3","dist":{"shasum":"fd5fda603546bf7206fae47f9c7f6f060505aab4","size":5943,"noattachment":false,"key":"/lockfile/-/lockfile-0.3.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/lockfile/download/lockfile-0.3.3.tgz"},"_from":".","_npmVersion":"1.2.27","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":""},{"name":"trevorburnham","email":"trevorburnham@gmail.com"}],"publish_time":1370641788655,"_hasShrinkwrap":false,"_cnpm_publish_time":1370641788655},"0.3.2":{"name":"lockfile","version":"0.3.2","main":"lockfile.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.2.5","touch":"0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/lockfile"},"keywords":["lockfile","lock","file","fs","O_EXCL"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"BSD","description":"A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/lockfile/issues"},"_id":"lockfile@0.3.2","dist":{"shasum":"542261743479f9f907be30441f5d6b95e8b95722","size":5620,"noattachment":false,"key":"/lockfile/-/lockfile-0.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/lockfile/download/lockfile-0.3.2.tgz"},"_from":".","_npmVersion":"1.2.19","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":""},{"name":"trevorburnham","email":"trevorburnham@gmail.com"}],"publish_time":1368231791885,"_hasShrinkwrap":false,"_cnpm_publish_time":1368231791885},"0.3.1":{"name":"lockfile","version":"0.3.1","main":"lockfile.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.2.5","touch":"0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/lockfile"},"keywords":["lockfile","lock","file","fs","O_EXCL"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"BSD","description":"A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.","readmeFilename":"README.md","_id":"lockfile@0.3.1","dist":{"shasum":"8b1772b4a9f16d964db05951ce6697825ed248e8","size":5649,"noattachment":false,"key":"/lockfile/-/lockfile-0.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/lockfile/download/lockfile-0.3.1.tgz"},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":""},{"name":"trevorburnham","email":"trevorburnham@gmail.com"}],"publish_time":1367083383317,"_hasShrinkwrap":false,"_cnpm_publish_time":1367083383317},"0.3.0":{"name":"lockfile","version":"0.3.0","main":"lockfile.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.2.5"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/lockfile"},"keywords":["lockfile","lock","file","fs","O_EXCL"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"BSD","description":"A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.","readmeFilename":"README.md","_id":"lockfile@0.3.0","dist":{"shasum":"60618302a2dd3e0970cfffbf419da94a011234ea","size":5198,"noattachment":false,"key":"/lockfile/-/lockfile-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/lockfile/download/lockfile-0.3.0.tgz"},"_from":".","_npmVersion":"1.2.4","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":""},{"name":"trevorburnham","email":"trevorburnham@gmail.com"}],"publish_time":1360111701546,"_hasShrinkwrap":false,"_cnpm_publish_time":1360111701546},"0.2.2":{"name":"lockfile","version":"0.2.2","main":"lockfile.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.2.5"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/lockfile"},"keywords":["lockfile","lock","file","fs","O_EXCL"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"BSD","description":"A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.","readmeFilename":"README.md","_id":"lockfile@0.2.2","dist":{"shasum":"1231b8f27618dddd9c72ae666e0471030d51e23e","size":5333,"noattachment":false,"key":"/lockfile/-/lockfile-0.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/lockfile/download/lockfile-0.2.2.tgz"},"_from":".","_npmVersion":"1.2.3","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":""},{"name":"trevorburnham","email":"trevorburnham@gmail.com"}],"publish_time":1359323272507,"_hasShrinkwrap":false,"_cnpm_publish_time":1359323272507},"0.2.1":{"name":"lockfile","version":"0.2.1","main":"lockfile.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.2.5"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/lockfile"},"keywords":["lockfile","lock","file","fs","O_EXCL"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"BSD","description":"A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.","_id":"lockfile@0.2.1","dist":{"shasum":"d581b3e3651a2499b65a21df8d1403e83b573fca","size":4827,"noattachment":false,"key":"/lockfile/-/lockfile-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/lockfile/download/lockfile-0.2.1.tgz"},"maintainers":[{"name":"isaacs","email":""},{"name":"trevorburnham","email":"trevorburnham@gmail.com"}],"publish_time":1340832627566,"_hasShrinkwrap":false,"_cnpm_publish_time":1340832627566},"0.2.0":{"name":"lockfile","version":"0.2.0","main":"lockfile.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.2.5"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/lockfile"},"keywords":["lockfile","lock","file","fs","O_EXCL"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"BSD","description":"A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.","_id":"lockfile@0.2.0","dist":{"shasum":"b3a18167839d5b4b3319e693ca44035807a98d5f","size":4686,"noattachment":false,"key":"/lockfile/-/lockfile-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/lockfile/download/lockfile-0.2.0.tgz"},"maintainers":[{"name":"isaacs","email":""},{"name":"trevorburnham","email":"trevorburnham@gmail.com"}],"publish_time":1340814289880,"_hasShrinkwrap":false,"_cnpm_publish_time":1340814289880},"0.1.1":{"name":"lockfile","description":"A simple utility for creating/checking lockfiles","keywords":["tool","fs"],"author":{"name":"Trevor Burnham"},"email":"trevorburnham@gmail.com","homepage":"http://github.com/TrevorBurnham/lockfile","repository":{"type":"git","url":"git://github.com/TrevorBurnham/lockfile.git"},"licenses":[{"type":"MIT"}],"version":"0.1.1","engines":{"node":">= 0.2.0"},"directories":{"lib":"./lib"},"main":"./lib/lockfile","_npmUser":{"name":"TrevorBurnham","email":"trevorburnham@gmail.com"},"_id":"lockfile@0.1.1","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.2","_defaultsLoaded":true,"dist":{"shasum":"188122a8ecc5a58aff3cc54cbaf431e66a0d179f","size":10240,"noattachment":false,"key":"/lockfile/-/lockfile-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/lockfile/download/lockfile-0.1.1.tgz"},"maintainers":[{"name":"isaacs","email":""},{"name":"trevorburnham","email":"trevorburnham@gmail.com"}],"publish_time":1326994032988,"_hasShrinkwrap":false,"_cnpm_publish_time":1326994032988},"0.1.0":{"name":"lockfile","description":"A simple utility for creating/checking lockfiles","keywords":["tool","fs"],"author":{"name":"Trevor Burnham"},"email":"trevorburnham@gmail.com","homepage":"http://github.com/TrevorBurnham/lockfile","repository":{"type":"git","url":"http://github.com/TrevorBurnham/lockfile.git"},"licenses":[{"type":"MIT"}],"version":"0.1.0","engines":{"node":">= 0.2.0"},"directories":{"lib":"./lib"},"main":"./lib/lockfile","_id":"lockfile@0.1.0","_engineSupported":true,"_npmVersion":"0.2.16","_nodeVersion":"v0.2.5","modules":{"lockfile.js":"lib/lockfile.js"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"f2c4129ae6cc8d033b5ca9ae7d30775a727ab588","size":1744,"noattachment":false,"key":"/lockfile/-/lockfile-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/lockfile/download/lockfile-0.1.0.tgz"},"publish_time":1296440315974,"maintainers":[{"name":"isaacs","email":""},{"name":"trevorburnham","email":"trevorburnham@gmail.com"}],"_hasShrinkwrap":false,"_cnpm_publish_time":1296440315974}},"readme":"# lockfile\n\nA very polite lock file utility, which endeavors to not litter, and to\nwait patiently for others.\n\n## Usage\n\n```javascript\nvar lockFile = require('lockfile')\n\n// opts is optional, and defaults to {}\nlockFile.lock('some-file.lock', opts, function (er) {\n  // if the er happens, then it failed to acquire a lock.\n  // if there was not an error, then the file was created,\n  // and won't be deleted until we unlock it.\n\n  // do my stuff, free of interruptions\n  // then, some time later, do:\n  lockFile.unlock('some-file.lock', function (er) {\n    // er means that an error happened, and is probably bad.\n  })\n})\n```\n\n## Methods\n\nSync methods return the value/throw the error, others don't.  Standard\nnode fs stuff.\n\nAll known locks are removed when the process exits.  Of course, it's\npossible for certain types of failures to cause this to fail, but a best\neffort is made to not be a litterbug.\n\n### lockFile.lock(path, [opts], cb)\n\nAcquire a file lock on the specified path\n\n### lockFile.lockSync(path, [opts])\n\nAcquire a file lock on the specified path\n\n### lockFile.unlock(path, cb)\n\nClose and unlink the lockfile.\n\n### lockFile.unlockSync(path)\n\nClose and unlink the lockfile.\n\n### lockFile.check(path, [opts], cb)\n\nCheck if the lockfile is locked and not stale.\n\nCallback is called with `cb(error, isLocked)`.\n\n### lockFile.checkSync(path, [opts])\n\nCheck if the lockfile is locked and not stale.\n\nReturns boolean.\n\n## Options\n\n### opts.wait\n\nA number of milliseconds to wait for locks to expire before giving up.\nOnly used by lockFile.lock.  Poll for `opts.wait` ms.  If the lock is\nnot cleared by the time the wait expires, then it returns with the\noriginal error.\n\n### opts.pollPeriod\n\nWhen using `opts.wait`, this is the period in ms in which it polls to\ncheck if the lock has expired.  Defaults to `100`.\n\n### opts.stale\n\nA number of milliseconds before locks are considered to have expired.\n\n### opts.retries\n\nUsed by lock and lockSync.  Retry `n` number of times before giving up.\n\n### opts.retryWait\n\nUsed by lock.  Wait `n` milliseconds before retrying.\n","_attachments":{},"homepage":"https://github.com/npm/lockfile#readme","bugs":{"url":"https://github.com/npm/lockfile/issues"},"license":"ISC"}