{"_id":"sanitize-filename","_rev":"4242886","name":"sanitize-filename","description":"Sanitize a string for use as a filename","dist-tags":{"latest":"1.6.4"},"maintainers":[{"name":"parshap","email":""}],"time":{"modified":"2026-03-29T21:22:55.000Z","created":"2013-08-30T21:20:28.761Z","1.6.4":"2026-03-20T22:06:51.221Z","1.6.3":"2019-08-26T02:10:56.988Z","1.6.2":"2019-07-28T05:28:00.317Z","1.6.1":"2016-09-29T17:46:30.871Z","1.6.0":"2016-04-29T19:33:43.212Z","1.5.3":"2015-11-09T08:01:40.878Z","1.5.2":"2015-11-06T22:12:15.358Z","1.4.5":"2015-10-10T23:58:59.107Z","1.4.4":"2015-09-25T06:50:34.582Z","1.4.3":"2015-09-11T19:53:21.786Z","1.4.2":"2015-08-12T07:11:28.996Z","1.4.1":"2015-07-31T09:43:49.420Z","1.4.0":"2015-07-31T09:40:50.949Z","1.3.0":"2015-03-24T00:51:45.358Z","1.2.0":"2015-03-19T06:53:23.074Z","1.1.5":"2015-02-27T08:48:08.682Z","1.1.4":"2015-02-27T01:41:44.901Z","1.1.3":"2015-01-27T17:36:46.940Z","1.1.2":"2015-01-26T21:06:01.115Z","1.1.1":"2014-08-04T03:15:54.321Z","1.1.0":"2014-07-31T18:50:39.170Z","1.0.1":"2013-09-14T05:38:04.639Z","1.0.0":"2013-08-30T21:20:28.761Z"},"users":{"f1lt3r":true,"oheard":true,"joakin":true,"algonzo":true,"gvn":true,"elussich":true,"goatandsheep":true,"monolithed":true,"gothy":true,"jolg42":true,"ubenzer":true,"shrimpseaweed":true,"g120hbq":true,"mrbgit":true,"tpkn":true,"letsbora":true,"michalskuza":true,"zhenguo.zhao":true,"bracken":true,"shiva127":true},"author":{"name":"Parsha Pourkhomami"},"repository":{"type":"git","url":"git+ssh://git@github.com/parshap/node-sanitize-filename.git"},"versions":{"1.6.4":{"name":"sanitize-filename","version":"1.6.4","description":"Sanitize a string for use as a filename","keywords":["file","name","filename","sanitize","validate","escape"],"license":"WTFPL OR ISC","author":{"name":"Parsha Pourkhomami"},"main":"index.js","types":"index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parshap/node-sanitize-filename.git"},"scripts":{"test":"tape test.js","test-browser":"airtap --local --open -- test.js","test-browser-sauce":"airtap -- test.js"},"dependencies":{"truncate-utf8-bytes":"^1.0.0"},"devDependencies":{"airtap":"^2.0.3","browserify":"^14.0.0","concat-stream":"^1.5.1","mktemp":"^0.4.0","tape":"^4.2.2"},"_id":"sanitize-filename@1.6.4","contributors":[{"name":"Parsha Pourkhomami","email":"parshap@gmail.com"},{"name":"Joel Mukuthu","email":"joelmukuthu@gmail.com"}],"gitHead":"4cee8c6fe56e9ead2387b0ce70b95028c4ecd87d","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"homepage":"https://github.com/parshap/node-sanitize-filename#readme","_nodeVersion":"18.17.1","_npmVersion":"10.5.0","dist":{"shasum":"b6b39ebed9bd1a1898b85c5c03089da74590d6f8","size":6726,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.6.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.6.4.tgz"},"_npmUser":{"name":"parshap","email":"parshap+npm@gmail.com"},"directories":{},"maintainers":[{"name":"parshap","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sanitize-filename_1.6.4_1774044411085_0.43011511231871524"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-20T22:06:51.221Z","publish_time":1774044411221,"_source_registry_name":"default","_cnpm_publish_time":1774044411221},"1.6.3":{"name":"sanitize-filename","version":"1.6.3","description":"Sanitize a string for use as a filename","keywords":["file","name","filename","sanitize","validate","escape"],"license":"WTFPL OR ISC","author":{"name":"Parsha Pourkhomami"},"main":"index.js","types":"index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parshap/node-sanitize-filename.git"},"scripts":{"test":"tape test.js","test-browser":"airtap --local --open -- test.js","test-browser-sauce":"airtap -- test.js"},"dependencies":{"truncate-utf8-bytes":"^1.0.0"},"devDependencies":{"airtap":"^2.0.3","browserify":"^14.0.0","concat-stream":"^1.5.1","mktemp":"^0.4.0","tape":"^4.2.2"},"contributors":[{"name":"Parsha Pourkhomami","email":"parshap@gmail.com"},{"name":"Joel Mukuthu","email":"joelmukuthu@gmail.com"}],"gitHead":"88bba56da0bad941ea5c8302983dc66af331c7e9","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"homepage":"https://github.com/parshap/node-sanitize-filename#readme","_id":"sanitize-filename@1.6.3","_npmVersion":"5.10.0","_nodeVersion":"10.0.0","_npmUser":{"name":"parshap","email":"parshap+npm@gmail.com"},"dist":{"shasum":"755ebd752045931977e30b2025d340d7c9090378","size":6448,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.6.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.6.3.tgz"},"maintainers":[{"name":"parshap","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sanitize-filename_1.6.3_1566785456832_0.4295080026293052"},"_hasShrinkwrap":false,"publish_time":1566785456988,"_cnpm_publish_time":1566785456988},"1.6.2":{"name":"sanitize-filename","version":"1.6.2","description":"Sanitize a string for use as a filename","keywords":["file","name","filename","sanitize","validate","escape"],"license":"WTFPL OR ISC","author":{"name":"Parsha Pourkhomami"},"main":"index.js","repository":{"type":"git","url":"git+ssh://git@github.com/parshap/node-sanitize-filename.git"},"scripts":{"test":"tape test.js","test-browser":"airtap --local --open -- test.js","test-browser-sauce":"airtap -- test.js"},"dependencies":{"truncate-utf8-bytes":"^1.0.0"},"devDependencies":{"airtap":"^2.0.3","browserify":"^14.0.0","concat-stream":"^1.5.1","mktemp":"^0.4.0","tape":"^4.2.2"},"contributors":[{"name":"Parsha Pourkhomami","email":"parshap@gmail.com"},{"name":"Joel Mukuthu","email":"joelmukuthu@gmail.com"}],"gitHead":"9c750cd349df3d8b7477030743602121a0201ec2","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"homepage":"https://github.com/parshap/node-sanitize-filename#readme","_id":"sanitize-filename@1.6.2","_npmVersion":"5.10.0","_nodeVersion":"10.0.0","_npmUser":{"name":"parshap","email":"parshap+npm@gmail.com"},"dist":{"shasum":"01b4fc8809f14e9d22761fe70380fe7f3f902185","size":6346,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.6.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.6.2.tgz"},"maintainers":[{"name":"parshap","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sanitize-filename_1.6.2_1564291680095_0.55375145910769"},"_hasShrinkwrap":false,"publish_time":1564291680317,"_cnpm_publish_time":1564291680317},"1.6.1":{"name":"sanitize-filename","version":"1.6.1","description":"Sanitize a string for use as a filename","keywords":["file","name","filename","sanitize","validate","escape"],"license":"WTFPL OR ISC","author":{"name":"Parsha Pourkhomami"},"main":"index.js","repository":{"type":"git","url":"git+ssh://git@github.com/parshap/node-sanitize-filename.git"},"scripts":{"test":"tape test.js","test-browser":"zuul --local --open -- test.js","test-browser-sauce":"zuul -- test.js"},"dependencies":{"truncate-utf8-bytes":"^1.0.0"},"devDependencies":{"browserify":"^13.0.0","concat-stream":"^1.5.1","mktemp":"^0.4.0","tape":"^4.2.2","zuul":"^3.7.2"},"contributors":[{"name":"Parsha Pourkhomami","email":"parshap@gmail.com"},{"name":"Joel Mukuthu","email":"joelmukuthu@gmail.com"}],"gitHead":"ef1e8ad58e95eb90f8a01f209edf55cd4176e9c8","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"homepage":"https://github.com/parshap/node-sanitize-filename#readme","_id":"sanitize-filename@1.6.1","_shasum":"612da1c96473fa02dccda92dcd5b4ab164a6772a","_from":".","_npmVersion":"3.10.7","_nodeVersion":"6.6.0","_npmUser":{"name":"parshap","email":"parshap+npm@gmail.com"},"dist":{"shasum":"612da1c96473fa02dccda92dcd5b4ab164a6772a","size":6075,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.6.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.6.1.tgz"},"maintainers":[{"name":"parshap","email":""}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/sanitize-filename-1.6.1.tgz_1475171189008_0.9685693806968629"},"directories":{},"publish_time":1475171190871,"_cnpm_publish_time":1475171190871,"_hasShrinkwrap":false},"1.6.0":{"name":"sanitize-filename","version":"1.6.0","description":"Sanitize a string for use as a filename","main":"index.js","scripts":{"test":"tape test.js","test-browser":"zuul --local --open -- test.js","test-browser-sauce":"zuul -- test.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/parshap/node-sanitize-filename.git"},"keywords":["file","name","filename","sanitize","validate","escape"],"author":{"name":"Parsha Pourkhomami"},"license":"WTFPL OR ISC","devDependencies":{"browserify":"^13.0.0","concat-stream":"^1.5.1","mktemp":"^0.4.0","tape":"^4.2.2","zuul":"^3.7.2"},"dependencies":{"truncate-utf8-bytes":"^1.0.0"},"contributors":[{"name":"Parsha Pourkhomami","email":"parshap@gmail.com"},{"name":"Joel Mukuthu","email":"joelmukuthu@gmail.com"}],"gitHead":"4fbe6f04d19c43c3ca4fd4578516ee0e512e72e1","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"homepage":"https://github.com/parshap/node-sanitize-filename#readme","_id":"sanitize-filename@1.6.0","_shasum":"8b009c7828e0b9ffc54e6a118f042be2ef00d6d8","_from":".","_npmVersion":"3.5.3","_nodeVersion":"4.2.6","_npmUser":{"name":"parshap","email":"parshap+npm@gmail.com"},"maintainers":[{"name":"parshap","email":""}],"dist":{"shasum":"8b009c7828e0b9ffc54e6a118f042be2ef00d6d8","size":31993,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.6.0.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sanitize-filename-1.6.0.tgz_1461958421066_0.7055269093252718"},"directories":{},"publish_time":1461958423212,"_cnpm_publish_time":1461958423212,"_hasShrinkwrap":false},"1.5.3":{"name":"sanitize-filename","version":"1.5.3","description":"Sanitize a string for use as a filename","main":"index.js","scripts":{"test":"tape test.js","test-browser":"zuul --local --open -- test.js","test-browser-sauce":"zuul -- test.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/parshap/node-sanitize-filename.git"},"keywords":["file","name","filename","sanitize","validate","escape"],"author":{"name":"Parsha Pourkhomami"},"license":"WTFPL OR ISC","devDependencies":{"browserify":"^12.0.1","concat-stream":"^1.5.1","mktemp":"^0.4.0","tape":"^4.2.2","zuul":"^3.7.2"},"dependencies":{"truncate-utf8-bytes":"^1.0.0"},"contributors":[{"name":"Parsha Pourkhomami","email":"parshap@gmail.com"},{"name":"Joel Mukuthu","email":"joelmukuthu@gmail.com"}],"gitHead":"2bfbf0ce18608cc24d199049bf120afb1aa2d4a8","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"homepage":"https://github.com/parshap/node-sanitize-filename#readme","_id":"sanitize-filename@1.5.3","_shasum":"4c35f7fb9572bdcee2f426974210467e57f6b574","_from":".","_npmVersion":"2.12.1","_nodeVersion":"0.12.7","_npmUser":{"name":"parshap","email":"parshap+npm@gmail.com"},"maintainers":[{"name":"parshap","email":""}],"dist":{"shasum":"4c35f7fb9572bdcee2f426974210467e57f6b574","size":31884,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.5.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.5.3.tgz"},"directories":{},"publish_time":1447056100878,"_cnpm_publish_time":1447056100878,"_hasShrinkwrap":false},"1.5.2":{"name":"sanitize-filename","version":"1.5.2","description":"Sanitize a string for use as a filename","main":"index.js","scripts":{"test":"tape test.js","test-browser":"zuul --local --open -- test.js","test-browser-sauce":"zuul -- test.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/parshap/node-sanitize-filename.git"},"keywords":["file","name","filename","sanitize","validate","escape"],"author":{"name":"Parsha Pourkhomami"},"license":"WTFPL OR ISC","devDependencies":{"browserify":"^12.0.1","concat-stream":"^1.5.1","mktemp":"^0.4.0","tape":"^4.2.2","zuul":"^3.7.2"},"dependencies":{"truncate-utf8-bytes":"^1.0.0"},"contributors":[{"name":"Parsha Pourkhomami","email":"parshap@gmail.com"},{"name":"Joel Mukuthu","email":"joelmukuthu@gmail.com"}],"gitHead":"0a9ff3fc548969e63881b4432be06248df651dd6","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"homepage":"https://github.com/parshap/node-sanitize-filename#readme","_id":"sanitize-filename@1.5.2","_shasum":"58460b0f9ebcedbc9bed874d3152b7bc3f187b6b","_from":".","_npmVersion":"2.12.1","_nodeVersion":"0.12.7","_npmUser":{"name":"parshap","email":"parshap+npm@gmail.com"},"maintainers":[{"name":"parshap","email":""}],"dist":{"shasum":"58460b0f9ebcedbc9bed874d3152b7bc3f187b6b","size":31893,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.5.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.5.2.tgz"},"directories":{},"publish_time":1446847935358,"_cnpm_publish_time":1446847935358,"_hasShrinkwrap":false},"1.4.5":{"name":"sanitize-filename","version":"1.4.5","description":"Sanitize a string for use as a filename","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/parshap/node-sanitize-filename.git"},"keywords":["file","name","filename","sanitize","validate","escape"],"author":{"name":"Parsha Pourkhomami"},"license":"WTFPL OR ISC","devDependencies":{"mktemp":"^0.4.0","tape":"^4.2.0"},"contributors":[{"name":"Parsha Pourkhomami","email":"parshap@gmail.com"},{"name":"Joel Mukuthu","email":"joelmukuthu@gmail.com"}],"gitHead":"b81878714d8eb2d43a8ca22ab3ba5b09bd1e47e2","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"homepage":"https://github.com/parshap/node-sanitize-filename#readme","_id":"sanitize-filename@1.4.5","_shasum":"a009c443d746990ac7648f335e322fc86f5d3fc8","_from":".","_npmVersion":"2.14.4","_nodeVersion":"4.1.1","_npmUser":{"name":"parshap","email":"parshap+npm@gmail.com"},"dist":{"shasum":"a009c443d746990ac7648f335e322fc86f5d3fc8","size":30781,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.4.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.4.5.tgz"},"maintainers":[{"name":"parshap","email":""}],"directories":{},"publish_time":1444521539107,"_cnpm_publish_time":1444521539107,"_hasShrinkwrap":false},"1.4.4":{"name":"sanitize-filename","version":"1.4.4","description":"Sanitize a string for use as a filename","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/parshap/node-sanitize-filename.git"},"keywords":["file","name","filename","sanitize","validate","escape"],"author":{"name":"Parsha Pourkhomami"},"license":"WTFPL OR ISC","devDependencies":{"mktemp":"^0.4.0","tape":"^4.2.0"},"contributors":[{"name":"Parsha Pourkhomami","email":"parshap@gmail.com"},{"name":"Joel Mukuthu","email":"joelmukuthu@gmail.com"}],"gitHead":"0c12c07dab3a8856a22a029affb91cdef13509ca","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"homepage":"https://github.com/parshap/node-sanitize-filename#readme","_id":"sanitize-filename@1.4.4","_shasum":"5de694b9a746c527cd3c88b2cd2a53749f9217d0","_from":".","_npmVersion":"2.12.1","_nodeVersion":"0.12.7","_npmUser":{"name":"parshap","email":"parshap+npm@gmail.com"},"maintainers":[{"name":"parshap","email":""}],"dist":{"shasum":"5de694b9a746c527cd3c88b2cd2a53749f9217d0","size":30835,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.4.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.4.4.tgz"},"directories":{},"publish_time":1443163834582,"_cnpm_publish_time":1443163834582,"_hasShrinkwrap":false},"1.4.3":{"name":"sanitize-filename","version":"1.4.3","description":"Sanitize a string for use as a filename","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/parshap/node-sanitize-filename.git"},"keywords":["file","name","filename","sanitize","validate","escape"],"author":{"name":"Parsha Pourkhomami"},"license":"WTFPL","devDependencies":{"mktemp":"^0.4.0","tape":"^3.5.0"},"contributors":[{"name":"Parsha Pourkhomami","email":"parshap@gmail.com"},{"name":"Joel Mukuthu","email":"joelmukuthu@gmail.com"}],"gitHead":"bf884f950e47fa708148b01f0d0bdbd42594a921","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"homepage":"https://github.com/parshap/node-sanitize-filename#readme","_id":"sanitize-filename@1.4.3","_shasum":"a70deec47927c8e87107c09e6217b9065a549d21","_from":".","_npmVersion":"2.12.1","_nodeVersion":"0.12.7","_npmUser":{"name":"parshap","email":"parshap+npm@gmail.com"},"maintainers":[{"name":"parshap","email":""}],"dist":{"shasum":"a70deec47927c8e87107c09e6217b9065a549d21","size":30147,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.4.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.4.3.tgz"},"directories":{},"publish_time":1442001201786,"_cnpm_publish_time":1442001201786,"_hasShrinkwrap":false},"1.4.2":{"name":"sanitize-filename","version":"1.4.2","description":"Sanitize a string for use as a filename","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git@github.com:parshap/node-sanitize-filename.git"},"keywords":["file","name","filename","sanitize","validate","escape"],"author":{"name":"Parsha Pourkhomami"},"license":"Public Domain","devDependencies":{"mktemp":"^0.4.0","tape":"^3.5.0"},"contributors":[{"name":"Parsha Pourkhomami","email":"parshap@gmail.com"},{"name":"Joel Mukuthu","email":"joelmukuthu@gmail.com"}],"gitHead":"28ad55064e83b8dbaa1e0415935ae4902d630ab2","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"homepage":"https://github.com/parshap/node-sanitize-filename","_id":"sanitize-filename@1.4.2","_shasum":"da03cb3d75a862e7a2d71341657507712c83b22b","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.10.35","_npmUser":{"name":"parshap","email":"parshap+npm@gmail.com"},"maintainers":[{"name":"parshap","email":""}],"dist":{"shasum":"da03cb3d75a862e7a2d71341657507712c83b22b","size":12697,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.4.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.4.2.tgz"},"directories":{},"publish_time":1439363488996,"_cnpm_publish_time":1439363488996,"_hasShrinkwrap":false},"1.4.1":{"name":"sanitize-filename","version":"1.4.1","description":"Sanitize string for use as filename","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git@github.com:parshap/node-sanitize-filename.git"},"keywords":["file","name","filename","sanitize","validate","escape"],"author":{"name":"Parsha Pourkhomami"},"license":"Public Domain","devDependencies":{"mktemp":"^0.4.0","tape":"^3.5.0"},"contributors":[{"name":"Parsha Pourkhomami","email":"parshap@gmail.com"},{"name":"Joel Mukuthu","email":"joelmukuthu@gmail.com"}],"gitHead":"ba7140efda8fc43358a3ff5b2134c07da035115e","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"homepage":"https://github.com/parshap/node-sanitize-filename","_id":"sanitize-filename@1.4.1","_shasum":"51cb8fa7588c57f7a3b05d8c0c38af1c8ed41efc","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.10.35","_npmUser":{"name":"parshap","email":"parshap+npm@gmail.com"},"maintainers":[{"name":"parshap","email":""}],"dist":{"shasum":"51cb8fa7588c57f7a3b05d8c0c38af1c8ed41efc","size":3510,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.4.1.tgz"},"directories":{},"publish_time":1438335829420,"_cnpm_publish_time":1438335829420,"_hasShrinkwrap":false},"1.4.0":{"name":"sanitize-filename","version":"1.4.0","description":"Sanitize string for use as filename","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git@github.com:parshap/node-sanitize-filename.git"},"keywords":["file","name","filename","sanitize","validate","escape"],"author":{"name":"Parsha Pourkhomami"},"license":"Public Domain","devDependencies":{"mktemp":"^0.4.0","tape":"^3.5.0"},"contributors":[{"name":"Parsha Pourkhomami","email":"parshap@gmail.com"},{"name":"Joel Mukuthu","email":"joelmukuthu@gmail.com"}],"gitHead":"d594e919cf38be983918bc6f1a00e3c724c93f2f","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"homepage":"https://github.com/parshap/node-sanitize-filename","_id":"sanitize-filename@1.4.0","_shasum":"78960cdc349d3f4a690d4bdfcdfe211df8a2d06e","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.10.35","_npmUser":{"name":"parshap","email":"parshap+npm@gmail.com"},"maintainers":[{"name":"parshap","email":""}],"dist":{"shasum":"78960cdc349d3f4a690d4bdfcdfe211df8a2d06e","size":3517,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.4.0.tgz"},"directories":{},"publish_time":1438335650949,"_cnpm_publish_time":1438335650949,"_hasShrinkwrap":false},"1.3.0":{"name":"sanitize-filename","version":"1.3.0","description":"Sanitize string for use as filename","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git@github.com:parshap/node-sanitize-filename.git"},"keywords":["file","name","filename","sanitize","validate","escape"],"author":{"name":"Parsha Pourkhomami"},"license":"Public Domain","devDependencies":{"mktemp":"^0.4.0","tape":"^3.5.0"},"contributors":[{"name":"Parsha Pourkhomami","email":"parshap@gmail.com"},{"name":"Joel Mukuthu","email":"joelmukuthu@gmail.com"}],"gitHead":"1b74d3205394b08bff7727f1d1a3aa0892799de7","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"homepage":"https://github.com/parshap/node-sanitize-filename","_id":"sanitize-filename@1.3.0","_shasum":"5026a8b8696f9b2cb36d3aa34c9af44e45c8c77e","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"parshap","email":"parshap+npm@gmail.com"},"maintainers":[{"name":"parshap","email":""}],"dist":{"shasum":"5026a8b8696f9b2cb36d3aa34c9af44e45c8c77e","size":3046,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.3.0.tgz"},"directories":{},"publish_time":1427158305358,"_cnpm_publish_time":1427158305358,"_hasShrinkwrap":false},"1.2.0":{"name":"sanitize-filename","version":"1.2.0","description":"Sanitize string for use as filename","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git@github.com:parshap/node-sanitize-filename.git"},"keywords":["file","name","filename","sanitize","validate","escape"],"author":{"name":"Parsha Pourkhomami"},"license":"Public Domain","devDependencies":{"mktemp":"^0.4.0","tape":"^3.5.0"},"gitHead":"1c82e8ed065ed32f494523b84f0768d28d238b0e","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"homepage":"https://github.com/parshap/node-sanitize-filename","_id":"sanitize-filename@1.2.0","_shasum":"84712856a0800e3f6cdde62ce11833baad4982df","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"parshap","email":"parshap+npm@gmail.com"},"maintainers":[{"name":"parshap","email":""}],"dist":{"shasum":"84712856a0800e3f6cdde62ce11833baad4982df","size":2849,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.2.0.tgz"},"directories":{},"publish_time":1426748003074,"_cnpm_publish_time":1426748003074,"_hasShrinkwrap":false},"1.1.5":{"name":"sanitize-filename","version":"1.1.5","description":"Sanitize string for use as filename","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git@github.com:parshap/node-sanitize-filename.git"},"keywords":["file","name","filename","sanitize","validate","escape"],"author":{"name":"Parsha Pourkhomami"},"license":"Public Domain","devDependencies":{"mktemp":"^0.4.0","tape":"^3.5.0"},"gitHead":"eea09736353778590d88de2c774ca76aa00d9cf4","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"homepage":"https://github.com/parshap/node-sanitize-filename","_id":"sanitize-filename@1.1.5","_shasum":"bd24e92bb9c793926c873ff76abf47cf870bbba2","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"parshap","email":"parshap+npm@gmail.com"},"maintainers":[{"name":"parshap","email":""}],"dist":{"shasum":"bd24e92bb9c793926c873ff76abf47cf870bbba2","size":2400,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.1.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.1.5.tgz"},"directories":{},"publish_time":1425026888682,"_cnpm_publish_time":1425026888682,"_hasShrinkwrap":false},"1.1.4":{"name":"sanitize-filename","version":"1.1.4","description":"Sanitize string for use as filename","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git@github.com:parshap/node-sanitize-filename.git"},"keywords":["file","name","filename","sanitize","validate","escape"],"author":{"name":"Parsha Pourkhomami"},"license":"Public Domain","devDependencies":{"mktemp":"^0.4.0","tape":"~1.0.4"},"gitHead":"28a2576fca7c03490e74ed5710385d3b9189d65a","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"homepage":"https://github.com/parshap/node-sanitize-filename","_id":"sanitize-filename@1.1.4","_shasum":"7aa8ed19224338782bb1f40b0e2d10232be577dd","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"parshap","email":"parshap+npm@gmail.com"},"maintainers":[{"name":"parshap","email":""}],"dist":{"shasum":"7aa8ed19224338782bb1f40b0e2d10232be577dd","size":2265,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.1.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.1.4.tgz"},"directories":{},"publish_time":1425001304901,"_cnpm_publish_time":1425001304901,"_hasShrinkwrap":false},"1.1.3":{"name":"sanitize-filename","version":"1.1.3","description":"Sanitize string for use as filename","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git@github.com:parshap/node-sanitize-filename.git"},"keywords":["file","name","filename","sanitize","validate","escape"],"author":{"name":"Parsha Pourkhomami"},"license":"Public Domain","devDependencies":{"tape":"~1.0.4"},"gitHead":"d805c936688a3a5c542594c21fb0dc649899776b","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"homepage":"https://github.com/parshap/node-sanitize-filename","_id":"sanitize-filename@1.1.3","_shasum":"d83e2d486674f369c31e07477907073076e9d51c","_from":".","_npmVersion":"2.1.14","_nodeVersion":"0.10.35","_npmUser":{"name":"parshap","email":"parshap+npm@gmail.com"},"maintainers":[{"name":"parshap","email":""}],"dist":{"shasum":"d83e2d486674f369c31e07477907073076e9d51c","size":1677,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.1.3.tgz"},"directories":{},"publish_time":1422380206940,"_cnpm_publish_time":1422380206940,"_hasShrinkwrap":false},"1.1.2":{"name":"sanitize-filename","version":"1.1.2","description":"Sanitize string for use as filename","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git@github.com:parshap/node-sanitize-filename.git"},"keywords":["file","name","filename","sanitize","validate","escape"],"author":{"name":"Parsha Pourkhomami"},"license":"Public Domain","devDependencies":{"tape":"~1.0.4"},"gitHead":"c0c2e72ddeeda94f601d39e764dd857fdd46ea7e","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"homepage":"https://github.com/parshap/node-sanitize-filename","_id":"sanitize-filename@1.1.2","_shasum":"16b8ba70a68220ef5b6a823e7e23bc6e8c500936","_from":".","_npmVersion":"2.1.14","_nodeVersion":"0.10.35","_npmUser":{"name":"parshap","email":"parshap+npm@gmail.com"},"maintainers":[{"name":"parshap","email":""}],"dist":{"shasum":"16b8ba70a68220ef5b6a823e7e23bc6e8c500936","size":1649,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.1.2.tgz"},"directories":{},"publish_time":1422306361115,"_cnpm_publish_time":1422306361115,"_hasShrinkwrap":false},"1.1.1":{"name":"sanitize-filename","version":"1.1.1","description":"Sanitize string for use as filename","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git@github.com:parshap/node-sanitize-filename.git"},"keywords":["file","name","filename","sanitize","validate","escape"],"author":{"name":"Parsha Pourkhomami"},"license":"Public Domain","devDependencies":{"tape":"~1.0.4"},"gitHead":"d899baaa32f6dc462245d670c9bca79370d195f7","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"homepage":"https://github.com/parshap/node-sanitize-filename","_id":"sanitize-filename@1.1.1","_shasum":"58e2449bba43688a62407ab0f3352f84aa38f686","_from":".","_npmVersion":"1.4.20","_npmUser":{"name":"parshap","email":"parshap+npm@gmail.com"},"maintainers":[{"name":"parshap","email":""}],"dist":{"shasum":"58e2449bba43688a62407ab0f3352f84aa38f686","size":1539,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.1.1.tgz"},"directories":{},"publish_time":1407122154321,"_cnpm_publish_time":1407122154321,"_hasShrinkwrap":false},"1.1.0":{"name":"sanitize-filename","version":"1.1.0","description":"Sanitize string for use as filename","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git@github.com:parshap/node-sanitize-filename.git"},"keywords":["file","name","filename","sanitize","validate","escape"],"author":{"name":"Parsha Pourkhomami"},"license":"Public Domain","devDependencies":{"tape":"~1.0.4"},"gitHead":"1a10dfae52974bfe8565ef3a6ddff933891761af","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"homepage":"https://github.com/parshap/node-sanitize-filename","_id":"sanitize-filename@1.1.0","_shasum":"51ce903adb550fd59a8d9eb70b7ac297af838e2d","_from":".","_npmVersion":"1.4.20","_npmUser":{"name":"parshap","email":"parshap+npm@gmail.com"},"maintainers":[{"name":"parshap","email":""}],"dist":{"shasum":"51ce903adb550fd59a8d9eb70b7ac297af838e2d","size":1510,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.1.0.tgz"},"directories":{},"publish_time":1406832639170,"_cnpm_publish_time":1406832639170,"_hasShrinkwrap":false},"1.0.1":{"name":"sanitize-filename","version":"1.0.1","description":"Sanitize string for use as filename","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git@github.com:parshap/node-sanitize-filename.git"},"keywords":["file","name","filename","sanitize","validate","escape"],"author":{"name":"Parsha Pourkhomami"},"license":"Public Domain","devDependencies":{"tape":"~1.0.4"},"readmeFilename":"README.md","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"_id":"sanitize-filename@1.0.1","dist":{"shasum":"6f5e17f59ccdc34adcdf3801947b23ecd8331026","size":1368,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.0.1.tgz"},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"parshap","email":"supster+npm@gmail.com"},"maintainers":[{"name":"parshap","email":""}],"directories":{},"publish_time":1379137084639,"_cnpm_publish_time":1379137084639,"_hasShrinkwrap":false},"1.0.0":{"name":"sanitize-filename","version":"1.0.0","description":"Sanitize string for use as filename","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git@github.com:parshap/node-sanitize-filename.git"},"keywords":["file","name","filename","sanitize","validate","escape"],"author":{"name":"Parsha Pourkhomami"},"license":"Public Domain","devDependencies":{"tape":"~1.0.4"},"readmeFilename":"README.md","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"_id":"sanitize-filename@1.0.0","dist":{"shasum":"f9aa06bdcc76b5648d67769d20ad4c7136f1cd6e","size":1291,"noattachment":false,"key":"/sanitize-filename/-/sanitize-filename-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/sanitize-filename/download/sanitize-filename-1.0.0.tgz"},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"parshap","email":"supster+npm@gmail.com"},"maintainers":[{"name":"parshap","email":""}],"directories":{},"publish_time":1377897628761,"_cnpm_publish_time":1377897628761,"_hasShrinkwrap":false}},"readme":"# sanitize-filename [![build status](https://secure.travis-ci.org/parshap/node-sanitize-filename.svg?branch=master)](http://travis-ci.org/parshap/node-sanitize-filename)\n\nSanitize a string to be safe for use as a filename by removing directory\npaths and invalid characters.\n\n## Install\n\n[npm: *sanitize-filename*](https://www.npmjs.com/package/sanitize-filename)\n\n```\nnpm install sanitize-filename\n```\n\n## Example\n\n```js\nvar sanitize = require(\"sanitize-filename\");\n\n// Some string that may be unsafe or invalid as a filename\nvar UNSAFE_USER_INPUT = \"~/.\\u0000ssh/authorized_keys\";\n\n// Sanitize the string to be safe for use as a filename.\nvar filename = sanitize(UNSAFE_USER_INPUT);\n// -> \"~.sshauthorized_keys\"\n```\n\n## Details\n\n*sanitize-filename* removes the following:\n\n * [Control characters][] (`0x00`–`0x1f` and `0x80`–`0x9f`)\n * [Reserved characters][] (`/`, `?`, `<`, `>`, `\\`, `:`, `*`, `|`, and\n   `\"`)\n * Unix reserved filenames (`.` and `..`)\n * Trailing periods and spaces ([for Windows][windows trailing])\n * Windows reserved filenames (`CON`, `PRN`, `AUX`, `NUL`, `COM1`,\n   `COM2`, `COM3`, `COM4`, `COM5`, `COM6`, `COM7`, `COM8`, `COM9`,\n   `LPT1`, `LPT2`, `LPT3`, `LPT4`, `LPT5`, `LPT6`, `LPT7`, `LPT8`, and\n   `LPT9`)\n\n[control characters]: https://en.wikipedia.org/wiki/C0_and_C1_control_codes\n[reserved characters]: https://kb.acronis.com/content/39790\n[windows trailing]: https://msdn.microsoft.com/en-us/library/aa365247(v=vs.85).aspx#Naming_Conventions\n\nThe resulting string is truncated to [255 bytes in length][255]. The\nstring will not contain any directory paths and will be safe to use as a\nfilename.\n\n[255]: http://unix.stackexchange.com/questions/32795/what-is-the-maximum-allowed-filename-and-folder-size-with-ecryptfs\n\n### Empty String `\"\"` Result\n\nAn empty string `\"\"` can be returned. For example:\n\n```js\nvar sanitize = require(\"sanitize-filename\");\nsanitize(\"..\")\n// -> \"\"\n\n```\n\n### Non-unique Filenames\n\nTwo different inputs can return the same value. For example:\n\n```js\nvar sanitize = require(\"sanitize-filename\");\nsanitize(\"file?\")\n// -> \"file\"\nsanitize (\"*file*\")\n// -> \"file\"\n```\n\n### File Systems\n\nSanitized filenames will be safe for use on modern Windows, OS X, and\nUnix file systems (`NTFS`, `ext`, etc.).\n\n[`FAT` 8.3 filenames][8.3] are not supported.\n\n[8.3]: https://en.wikipedia.org/wiki/8.3_filename\n\n#### Test Your File System\n\nThe test program will use various strings (including the [Big List of\nNaughty Strings][blns]) to create files in the working directory. Run\n`npm test` to run tests against your file system.\n\n[blns]: https://github.com/minimaxir/big-list-of-naughty-strings\n\n## API\n\n### `sanitize(inputString, [options])`\n\nSanitize `inputString` by removing or replacing invalid characters.\n\nOptions:\n\n * `options.replacement`: *optional, string/function, default: `\"\"`*. If passed\n as a string, it's used as the replacement for invalid characters. If passed as\n a function, the function will be called with the invalid characters and it's\n return value will be used as the replacement. See [`String.prototype.replace`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace)\n for more info.\n","_attachments":{},"homepage":"https://github.com/parshap/node-sanitize-filename#readme","bugs":{"url":"https://github.com/parshap/node-sanitize-filename/issues"},"license":"WTFPL OR ISC"}