{"_id":"serve-placeholder","_rev":"2890052","name":"serve-placeholder","description":"Smart placeholder for missing assets","dist-tags":{"latest":"2.0.1"},"maintainers":[{"name":"atinux","email":"atinux@gmail.com"},{"name":"pi0","email":"pooya@pi0.ir"}],"time":{"modified":"2022-11-04T06:17:32.000Z","created":"2018-09-28T16:31:57.163Z","2.0.1":"2022-04-04T21:08:33.121Z","2.0.0":"2022-04-04T21:05:12.555Z","1.2.4":"2021-07-12T10:52:03.985Z","1.2.3":"2020-12-02T14:02:28.496Z","1.2.2":"2020-02-02T13:30:35.058Z","1.2.1":"2019-03-13T09:10:45.935Z","1.2.0":"2019-03-07T19:12:30.652Z","1.1.1":"2019-02-07T07:48:12.742Z","1.1.0":"2018-11-12T22:21:51.553Z","1.0.0":"2018-11-12T21:49:30.361Z","0.1.1":"2018-09-28T18:28:22.020Z","0.1.0":"2018-09-28T18:26:47.583Z","0.0.0":"2018-09-28T16:31:57.163Z"},"users":{},"repository":"unjs/serve-placeholder","versions":{"2.0.1":{"name":"serve-placeholder","version":"2.0.1","description":"Smart placeholder for missing assets","repository":"unjs/serve-placeholder","license":"MIT","sideEffects":false,"type":"module","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","dependencies":{"defu":"^6.0.0"},"devDependencies":{"@nuxtjs/eslint-config-typescript":"latest","c8":"^7.11.0","eslint":"latest","h3":"^0.5.5","listhen":"^0.2.6","ohmyfetch":"^0.4.15","standard-version":"latest","typescript":"latest","unbuild":"latest","vitest":"^0.8.4"},"packageManager":"pnpm@6.32.2","scripts":{"build":"unbuild","dev":"vitest dev","lint":"eslint --ext .ts,.js,.mjs,.cjs .","release":"pnpm test && standard-version && git push --follow-tags && pnpm publish","test":"pnpm lint && vitest run"},"_id":"serve-placeholder@2.0.1","_integrity":"sha512-rUzLlXk4uPFnbEaIz3SW8VISTxMuONas88nYWjAWaM2W9VDbt9tyFOr3lq8RhVOFrT3XISoBw8vni5una8qMnQ==","_resolved":"/home/pooya/Code/serve-placeholder/serve-placeholder-2.0.1.tgz","_from":"file:serve-placeholder-2.0.1.tgz","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"shasum":"dfa741812f49dfea472a68c4f292dbc40d28389a","size":4881,"noattachment":false,"key":"/serve-placeholder/-/serve-placeholder-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/serve-placeholder/download/serve-placeholder-2.0.1.tgz"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"atinux","email":"atinux@gmail.com"},{"name":"pi0","email":"pooya@pi0.ir"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serve-placeholder_2.0.1_1649106512986_0.6883193304760342"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-04-04T22:21:23.840Z","publish_time":1649106513121,"_cnpm_publish_time":1649106513121},"2.0.0":{"name":"serve-placeholder","version":"2.0.0","description":"Smart placeholder for missing assets","repository":"unjs/serve-placeholder","license":"MIT","sideEffects":false,"type":"module","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","dependencies":{"defu":"^6.0.0"},"devDependencies":{"@nuxtjs/eslint-config-typescript":"latest","c8":"^7.11.0","eslint":"latest","h3":"^0.5.5","listhen":"^0.2.6","ohmyfetch":"^0.4.15","standard-version":"latest","typescript":"latest","unbuild":"latest","vitest":"^0.8.4"},"packageManager":"pnpm@6.32.2","scripts":{"build":"unbuild","dev":"vitest dev","lint":"eslint --ext .ts,.js,.mjs,.cjs .","release":"pnpm test && standard-version && git push --follow-tags && pnpm publish","test":"pnpm lint && vitest run"},"_id":"serve-placeholder@2.0.0","_integrity":"sha512-eXC8R9/c2wlHttykaxS/Fr6SzYPaznKGsMKowy/n7hxjcbdQxh8DejoDjtJLY7ovIgGn4yXUGMbn3qpW06E6Hg==","_resolved":"/home/pooya/Code/serve-placeholder/serve-placeholder-2.0.0.tgz","_from":"file:serve-placeholder-2.0.0.tgz","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"shasum":"8941dcc5836034dbec85e350480a6049ba7a4fa8","size":4880,"noattachment":false,"key":"/serve-placeholder/-/serve-placeholder-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/serve-placeholder/download/serve-placeholder-2.0.0.tgz"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"atinux","email":"atinux@gmail.com"},{"name":"pi0","email":"pooya@pi0.ir"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serve-placeholder_2.0.0_1649106312382_0.8069242700317509"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-04-04T22:21:23.564Z","publish_time":1649106312555,"_cnpm_publish_time":1649106312555},"1.2.4":{"name":"serve-placeholder","version":"1.2.4","main":"src/index.js","license":"MIT","description":"Connect/Express middleware to respond with better placeholders based on request instead of 404 page","repository":{"type":"git","url":"git+ssh://git@github.com/nuxt/serve-placeholder.git"},"contributes":["Pooya Parsa <pooya@pi0.ir>"],"scripts":{"lint":"eslint src","test":"npm run lint && npm run jest","jest":"jest","release":"standard-version && git push --follow-tags && npm publish","prepare":"npm run test"},"dependencies":{"defu":"^5.0.0"},"devDependencies":{"axios":"latest","codecov":"latest","connect":"latest","eslint":"latest","eslint-config-standard":"latest","eslint-plugin-import":"latest","eslint-plugin-jest":"latest","eslint-plugin-node":"latest","eslint-plugin-promise":"latest","eslint-plugin-standard":"latest","jest":"latest","standard-version":"latest"},"gitHead":"8e0469252556b7c5a6a78e9dd3dba9e3bf9aedae","bugs":{"url":"https://github.com/nuxt/serve-placeholder/issues"},"homepage":"https://github.com/nuxt/serve-placeholder#readme","_id":"serve-placeholder@1.2.4","_nodeVersion":"14.16.1","_npmVersion":"7.12.1","dist":{"shasum":"513eac9c435272c7fe9a86612c852ae9b1467fd4","size":3908,"noattachment":false,"key":"/serve-placeholder/-/serve-placeholder-1.2.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/serve-placeholder/download/serve-placeholder-1.2.4.tgz"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"atinux","email":"atinux@gmail.com"},{"name":"pi0","email":"pooya@pi0.ir"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serve-placeholder_1.2.4_1626087123854_0.0578093141176903"},"_hasShrinkwrap":false,"publish_time":1626087123985,"_cnpm_publish_time":1626087123985},"1.2.3":{"name":"serve-placeholder","version":"1.2.3","main":"src/index.js","license":"MIT","description":"Connect/Express middleware to respond with better placeholders based on request instead of 404 page","repository":{"type":"git","url":"git+ssh://git@github.com/nuxt/serve-placeholder.git"},"contributes":["Pooya Parsa <pooya@pi0.ir>"],"scripts":{"lint":"eslint src","test":"npm run lint && npm run jest","jest":"jest","release":"standard-version && git push --follow-tags && npm publish","prepare":"npm run test"},"dependencies":{"defu":"^3.2.2"},"devDependencies":{"axios":"latest","codecov":"latest","connect":"latest","eslint":"latest","eslint-config-standard":"latest","eslint-plugin-import":"latest","eslint-plugin-jest":"latest","eslint-plugin-node":"latest","eslint-plugin-promise":"latest","eslint-plugin-standard":"latest","jest":"latest","standard-version":"latest"},"gitHead":"26fa1acb08a8d1ba8a94121046d911c008319e1f","bugs":{"url":"https://github.com/nuxt/serve-placeholder/issues"},"homepage":"https://github.com/nuxt/serve-placeholder#readme","_id":"serve-placeholder@1.2.3","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"shasum":"d2e778c6fedfe6e6ca48aff0b4627bbe2c4aa2ca","size":4676,"noattachment":false,"key":"/serve-placeholder/-/serve-placeholder-1.2.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/serve-placeholder/download/serve-placeholder-1.2.3.tgz"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"atinux","email":"atinux@gmail.com"},{"name":"pi0","email":"pooya@pi0.ir"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serve-placeholder_1.2.3_1606917748363_0.3719790802543943"},"_hasShrinkwrap":false,"publish_time":1606917748496,"_cnpm_publish_time":1606917748496},"1.2.2":{"name":"serve-placeholder","version":"1.2.2","main":"src/index.js","license":"MIT","description":"Connect/Express middleware to respond with better placeholders based on request instead of 404 page","repository":{"type":"git","url":"git+ssh://git@github.com/nuxt/serve-placeholder.git"},"contributes":["Pooya Parsa <pooya@pi0.ir>"],"scripts":{"lint":"eslint src","test":"npm run lint && npm run jest","jest":"jest","release":"standard-version && git push --follow-tags && npm publish","prepare":"npm run test"},"dependencies":{"defu":"^1.0.0"},"devDependencies":{"axios":"latest","codecov":"latest","connect":"latest","eslint":"latest","eslint-config-standard":"latest","eslint-plugin-import":"latest","eslint-plugin-jest":"latest","eslint-plugin-node":"latest","eslint-plugin-promise":"latest","eslint-plugin-standard":"latest","jest":"latest","standard-version":"latest"},"gitHead":"6d1be4d955b325de6691865810595374c2b0534c","bugs":{"url":"https://github.com/nuxt/serve-placeholder/issues"},"homepage":"https://github.com/nuxt/serve-placeholder#readme","_id":"serve-placeholder@1.2.2","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"shasum":"034960945b5950f873b2be4e4ea3a4653b9e33e5","size":4661,"noattachment":false,"key":"/serve-placeholder/-/serve-placeholder-1.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/serve-placeholder/download/serve-placeholder-1.2.2.tgz"},"maintainers":[{"name":"atinux","email":"atinux@gmail.com"},{"name":"pi0","email":"pooya@pi0.ir"}],"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serve-placeholder_1.2.2_1580650234868_0.5791266689116743"},"_hasShrinkwrap":false,"publish_time":1580650235058,"_cnpm_publish_time":1580650235058},"1.2.1":{"name":"serve-placeholder","version":"1.2.1","main":"src/index.js","license":"MIT","description":"Connect/Express middleware to respond with better placeholders based on request instead of 404 page","repository":{"type":"git","url":"git+ssh://git@github.com/nuxt/serve-placeholder.git"},"contributes":["Pooya Parsa <pooya@pi0.ir>"],"scripts":{"lint":"eslint src","test":"npm run lint && npm run jest","jest":"jest","release":"standard-version && git push --follow-tags && npm publish","prepare":"npm run test"},"dependencies":{"defu":"^0.0.1"},"devDependencies":{"axios":"^0.18.0","codecov":"^3.2.0","connect":"^3.6.6","eslint":"^5.15.1","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.16.0","eslint-plugin-jest":"^22.3.2","eslint-plugin-node":"^8.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","jest":"^24.5.0","standard-version":"^5.0.1"},"gitHead":"5b51acef3207aab0b41d2763f3a5277229e5c539","bugs":{"url":"https://github.com/nuxt/serve-placeholder/issues"},"homepage":"https://github.com/nuxt/serve-placeholder#readme","_id":"serve-placeholder@1.2.1","_nodeVersion":"11.11.0","_npmVersion":"6.7.0","dist":{"shasum":"3659fca99b0f15fb3bdf0a72917a6d1848786e9c","size":4682,"noattachment":false,"key":"/serve-placeholder/-/serve-placeholder-1.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/serve-placeholder/download/serve-placeholder-1.2.1.tgz"},"maintainers":[{"name":"atinux","email":"atinux@gmail.com"},{"name":"pi0","email":"pooya@pi0.ir"}],"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serve-placeholder_1.2.1_1552468245769_0.5004730042500523"},"_hasShrinkwrap":false,"publish_time":1552468245935,"_cnpm_publish_time":1552468245935},"1.2.0":{"name":"serve-placeholder","version":"1.2.0","main":"src/index.js","license":"MIT","description":"Connect/Express middleware to respond with better placeholders based on request instead of 404 page","repository":{"type":"git","url":"git+ssh://git@github.com/nuxt/serve-placeholder.git"},"contributes":["Pooya Parsa <pooya@pi0.ir>"],"scripts":{"lint":"eslint src","test":"npm run lint && npm run jest","jest":"jest","release":"standard-version && git push --follow-tags && npm publish","prepare":"npm run test"},"dependencies":{"defu":"^0.0.1"},"devDependencies":{"axios":"^0.18.0","codecov":"^3.2.0","connect":"^3.6.6","eslint":"^5.15.1","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.16.0","eslint-plugin-jest":"^22.3.0","eslint-plugin-node":"^8.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","jest":"^24.3.0","standard-version":"^5.0.1"},"gitHead":"df6445ae5e404f0d456ddb57cfb5f2ddd884a620","bugs":{"url":"https://github.com/nuxt/serve-placeholder/issues"},"homepage":"https://github.com/nuxt/serve-placeholder#readme","_id":"serve-placeholder@1.2.0","_nodeVersion":"11.10.1","_npmVersion":"6.7.0","dist":{"shasum":"83e1d78cb11f477636d0a09a87b1f3bfeda2a19d","size":4607,"noattachment":false,"key":"/serve-placeholder/-/serve-placeholder-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/serve-placeholder/download/serve-placeholder-1.2.0.tgz"},"maintainers":[{"name":"atinux","email":"atinux@gmail.com"},{"name":"pi0","email":"pooya@pi0.ir"}],"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serve-placeholder_1.2.0_1551985950441_0.65026404300686"},"_hasShrinkwrap":false,"publish_time":1551985950652,"_cnpm_publish_time":1551985950652},"1.1.1":{"name":"serve-placeholder","version":"1.1.1","main":"src/index.js","license":"MIT","description":"Connect/Express middleware to respond with better placeholders based on request instead of 404 page","repository":{"type":"git","url":"git+ssh://git@github.com/nuxt/serve-placeholder.git"},"contributes":["Pooya Parsa <pooya@pi0.ir>"],"scripts":{"lint":"eslint src","test":"npm run lint && npm run jest","jest":"jest","release":"standard-version && git push --follow-tags && npm publish","prepare":"npm run test"},"dependencies":{"defu":"^0.0.1"},"devDependencies":{"axios":"^0.18.0","codecov":"^3.1.0","connect":"^3.6.6","eslint":"^5.13.0","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.16.0","eslint-plugin-jest":"^22.2.2","eslint-plugin-node":"^8.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","jest":"^24.1.0","standard-version":"^4.4.0"},"gitHead":"5f7ea46c7e86fca6877498a6e327ecbbccc7770f","bugs":{"url":"https://github.com/nuxt/serve-placeholder/issues"},"homepage":"https://github.com/nuxt/serve-placeholder#readme","_id":"serve-placeholder@1.1.1","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"dist":{"shasum":"aab67f559abda831d8ddc66ee3da8564304273d6","size":4357,"noattachment":false,"key":"/serve-placeholder/-/serve-placeholder-1.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/serve-placeholder/download/serve-placeholder-1.1.1.tgz"},"maintainers":[{"name":"atinux","email":"atinux@gmail.com"},{"name":"pi0","email":"pooya@pi0.ir"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serve-placeholder_1.1.1_1549525692589_0.3562238170040186"},"_hasShrinkwrap":false,"publish_time":1549525692742,"_cnpm_publish_time":1549525692742},"1.1.0":{"name":"serve-placeholder","version":"1.1.0","main":"src/index.js","license":"MIT","description":"Connect/Express middleware to respond with better placeholders based on request instead of 404 page","repository":{"type":"git","url":"git+ssh://git@github.com/nuxt/serve-placeholder.git"},"contributes":["Pooya Parsa <pooya@pi0.ir>"],"scripts":{"lint":"eslint src","test":"npm run lint && npm run jest","jest":"jest","release":"standard-version && git push --follow-tags && npm publish","prepare":"npm run test"},"dependencies":{"defaults-deep":"^0.2.4"},"devDependencies":{"axios":"^0.18.0","codecov":"^3.1.0","connect":"^3.6.6","eslint":"^5.9.0","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jest":"^22.0.0","eslint-plugin-node":"^8.0.0","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","jest":"^23.6.0","standard-version":"^4.4.0"},"gitHead":"e629cca60a0637193bc2e8fe20d538913ad1a71e","bugs":{"url":"https://github.com/nuxt/serve-placeholder/issues"},"homepage":"https://github.com/nuxt/serve-placeholder#readme","_id":"serve-placeholder@1.1.0","_npmVersion":"6.4.1","_nodeVersion":"11.1.0","_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"dist":{"shasum":"3c0930b311a9896c3d90903bb8ea60fff12101b2","size":4241,"noattachment":false,"key":"/serve-placeholder/-/serve-placeholder-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/serve-placeholder/download/serve-placeholder-1.1.0.tgz"},"maintainers":[{"name":"atinux","email":"atinux@gmail.com"},{"name":"pi0","email":"pooya@pi0.ir"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serve-placeholder_1.1.0_1542061311394_0.07834742276445028"},"_hasShrinkwrap":false,"publish_time":1542061311553,"_cnpm_publish_time":1542061311553},"1.0.0":{"name":"serve-placeholder","version":"1.0.0","main":"src/index.js","license":"MIT","description":"Connect/Express middleware to respond with better placeholders based on request instead of 404 page","repository":{"type":"git","url":"git+ssh://git@github.com/nuxt/serve-placeholder.git"},"contributes":["Pooya Parsa <pooya@pi0.ir>"],"scripts":{"lint":"eslint src","test":"npm run lint && npm run jest","jest":"jest","release":"standard-version && git push --follow-tags && npm publish","prepare":"npm run test"},"dependencies":{"defaults-deep":"^0.2.4"},"devDependencies":{"axios":"^0.18.0","codecov":"^3.1.0","connect":"^3.6.6","eslint":"^5.9.0","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jest":"^22.0.0","eslint-plugin-node":"^8.0.0","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","jest":"^23.6.0","standard-version":"^4.4.0"},"gitHead":"2e39bdc239ecde38bb4c29797d7687dca93b0be7","bugs":{"url":"https://github.com/nuxt/serve-placeholder/issues"},"homepage":"https://github.com/nuxt/serve-placeholder#readme","_id":"serve-placeholder@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"11.1.0","_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"dist":{"shasum":"d6be8138cb09d875aeef92cccc296fc01e393b48","size":4113,"noattachment":false,"key":"/serve-placeholder/-/serve-placeholder-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/serve-placeholder/download/serve-placeholder-1.0.0.tgz"},"maintainers":[{"name":"atinux","email":"atinux@gmail.com"},{"name":"pi0","email":"pooya@pi0.ir"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serve-placeholder_1.0.0_1542059370180_0.7544522868537338"},"_hasShrinkwrap":false,"publish_time":1542059370361,"_cnpm_publish_time":1542059370361},"0.1.1":{"name":"serve-placeholder","version":"0.1.1","main":"src/index.js","license":"MIT","description":"Connect/Express middleware to respond with better placeholders based on request instead of 404 page","repository":{"type":"git","url":"git+ssh://git@github.com/nuxt/serve-placeholder.git"},"contributes":["Pooya Parsa <pooya@pi0.ir>"],"scripts":{"lint":"eslint src","test":"npm run lint && npm run jest","jest":"jest","release":"standard-version && git push --follow-tags && npm publish","prepare":"npm run test"},"dependencies":{"lodash.defaultsdeep":"^4.6.0"},"devDependencies":{"axios":"^0.18.0","codecov":"^3.1.0","connect":"^3.6.6","eslint":"^5.6.0","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jest":"^21.22.1","eslint-plugin-node":"^7.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","jest":"^23.6.0","standard-version":"^4.4.0"},"gitHead":"3e1767e83c04a0c5f29c2714ee2700d572536757","bugs":{"url":"https://github.com/nuxt/serve-placeholder/issues"},"homepage":"https://github.com/nuxt/serve-placeholder#readme","_id":"serve-placeholder@0.1.1","_npmVersion":"6.4.1","_nodeVersion":"8.11.3","_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"dist":{"shasum":"f9a15ce86cc61fbd0233f7fd7bac9497bd108fb1","size":3496,"noattachment":false,"key":"/serve-placeholder/-/serve-placeholder-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/serve-placeholder/download/serve-placeholder-0.1.1.tgz"},"maintainers":[{"name":"atinux","email":"atinux@gmail.com"},{"name":"pi0","email":"pooya@pi0.ir"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serve-placeholder_0.1.1_1538159301890_0.3091358555670427"},"_hasShrinkwrap":false,"publish_time":1538159302020,"_cnpm_publish_time":1538159302020},"0.1.0":{"name":"serve-placeholder","version":"0.1.0","main":"src/index.js","license":"MIT","description":"Connect/Express middleware to respond with better placeholders based on request instead of 404 page","repository":{"type":"git","url":"git+ssh://git@github.com/nuxt/serve-placeholder.git"},"contributes":["Pooya Parsa <pooya@pi0.ir>"],"scripts":{"lint":"eslint src","test":"npm run lint && npm run jest","jest":"jest","release":"standard-version && git push --follow-tags && npm publish","prepare":"npm run test"},"dependencies":{"lodash.defaultsdeep":"^4.6.0"},"devDependencies":{"axios":"^0.18.0","codecov":"^3.1.0","connect":"^3.6.6","eslint":"^5.6.0","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jest":"^21.22.1","eslint-plugin-node":"^7.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","jest":"^23.6.0","standard-version":"^4.4.0"},"gitHead":"1d88e2694489f1d4e3e6867b2b5b8c67d94edb1a","bugs":{"url":"https://github.com/nuxt/serve-placeholder/issues"},"homepage":"https://github.com/nuxt/serve-placeholder#readme","_id":"serve-placeholder@0.1.0","_npmVersion":"6.4.1","_nodeVersion":"8.11.3","_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"dist":{"shasum":"2f69d59638f1a98a32ad5680b8ac9d2bb70a4b3e","size":45478,"noattachment":false,"key":"/serve-placeholder/-/serve-placeholder-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/serve-placeholder/download/serve-placeholder-0.1.0.tgz"},"maintainers":[{"name":"atinux","email":"atinux@gmail.com"},{"name":"pi0","email":"pooya@pi0.ir"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serve-placeholder_0.1.0_1538159207361_0.8272984574210192"},"_hasShrinkwrap":false,"publish_time":1538159207583,"_cnpm_publish_time":1538159207583},"0.0.0":{"name":"serve-placeholder","version":"0.0.0","main":"src/index.js","license":"MIT","description":"Connect/Express middleware to responsd with appreciate placeholders based on request instead of 404","repository":{"type":"git","url":"git+ssh://git@github.com/nuxt/serve-placeholder.git"},"contributes":["Pooya Parsa <pooya@psi0.ir>"],"scripts":{"lint":"eslint src","test":"npm run lint && npm run jest","jest":"jest","release":"standard-version && git push --follow-tags && npm publish","prepare":"npm run test"},"dependencies":{"lodash.defaultsdeep":"^4.6.0"},"devDependencies":{"axios":"^0.18.0","codecov":"^3.1.0","connect":"^3.6.6","eslint":"^5.6.0","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jest":"^21.22.1","eslint-plugin-node":"^7.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","jest":"^23.6.0","standard-version":"^4.4.0"},"gitHead":"5885e4ef777cae5051ed2dfd56500f78d71c512f","bugs":{"url":"https://github.com/nuxt/serve-placeholder/issues"},"homepage":"https://github.com/nuxt/serve-placeholder#readme","_id":"serve-placeholder@0.0.0","_npmVersion":"6.4.1","_nodeVersion":"8.11.3","_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"dist":{"shasum":"d4921faffa728d1c17cebcbfcbc476b8c8a110b8","size":45149,"noattachment":false,"key":"/serve-placeholder/-/serve-placeholder-0.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/serve-placeholder/download/serve-placeholder-0.0.0.tgz"},"maintainers":[{"name":"atinux","email":"atinux@gmail.com"},{"name":"pi0","email":"pooya@pi0.ir"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serve-placeholder_0.0.0_1538152316991_0.3190246235907801"},"_hasShrinkwrap":false,"publish_time":1538152317163,"_cnpm_publish_time":1538152317163}},"readme":"# ♡ serve-placeholder\n\n<!-- automd:badges color=yellow -->\n\n[![npm version](https://img.shields.io/npm/v/serve-placeholder?color=yellow)](https://npmjs.com/package/serve-placeholder)\n[![npm downloads](https://img.shields.io/npm/dm/serve-placeholder?color=yellow)](https://npmjs.com/package/serve-placeholder)\n\n<!-- /automd -->\n\nSmart placeholder for missing assets\n\n## Why?\n\n**???? Rendering Errors is costly**\n\nServing each 404 page for assets adds extra load to the server and increases crashing chances. This is crucial for setups with server-side-rendering and removes additional SSR loads when assets like `robots.txt` or `favicon.ico` don't exist.\n\n**???? Meaningful Responses**\n\nWe can always send a better 404 response than an HTML page by knowing file extensions. For example, we send a fallback transparent 1x1 image for image extensions.\n\n**???? SEO Friendly**\n\nInstead of indexing invalid URLs with HTML pages, we properly send 404 and the right content type.\n\n## Usage\n\nInstall package:\n\n<!-- automd:pm-install -->\n\n```sh\n# ✨ Auto-detect\nnpx nypm install serve-placeholder\n\n# npm\nnpm install serve-placeholder\n\n# yarn\nyarn add serve-placeholder\n\n# pnpm\npnpm install serve-placeholder\n\n# bun\nbun install serve-placeholder\n```\n\n<!-- /automd -->\n\nImport:\n\n```js\n// ESM\nimport { servePlaceholder } from \"serve-placeholder\";\n\n// CommonJS\nconst { servePlaceholder } = require(\"serve-placeholder\");\n```\n\nCreate and add server middleware between serve-static and router middleware:\n\n```diff\napp.use('/assets', serveStatic(..))\n++ app.use('/assets', servePlaceholder())\napp.use('/', router)\n```\n\nAdditionally, we can have a default placeholder for arbitrary routes which handles known extensions **assuming other routes have no extension**:\n\n```diff\napp.use('/assets', serveStatic(..))\napp.use('/assets', servePlaceholder())\n++ app.use('/', placeholder({ skipUnknown: true }))\napp.use('/', router)\n```\n\n## Options\n\n### `handlers`\n\nA mapping from file extensions to the handler. Extensions should start with _dot_ like `.js`.\n\nYou can disable any of the handlers by setting the value to `null`\n\nIf the value of a handler is set to `false`, the middleware will be ignored for that extension.\n\n### `statusCode`\n\n- Default: `404`\n\nSets `statusCode` for all handled responses. Set to `false` to disable overriding statusCode.\n\n### `skipUnknown`\n\n- Default: `false`\n\nSkip middleware when no handler is defined for the current request.\n\nPlease note that if this option is set to `true`, then `default` handler will be disabled!\n\n### `placeholders`\n\n- Type: `Object`\n\nA mapping from handler to placeholder. Values can be `String` or `Buffer`. You can disable any of the placeholders by setting the value to `false`.\n\n### `mimes`\n\n- Type: `Object`\n\nA mapping from handler to the mime type. Mime type will be set as `Content-Type` header. You can disable sending any of the mimes by setting the value to `false`.\n\n### `cacheHeaders`\n\n- Default: `true`\n\nSet headers to prevent accidentally caching 404 resources.\n\nWhen enabled, these headers will be sent:\n\n```js\nconst headers = {\n  \"cache-control\": \"no-cache, no-store, must-revalidate\",\n  expires: \"0\",\n  pragma: \"no-cache\",\n};\n```\n\n### `placeholderHeader`\n\n- Default: `true`\n\nSets an `X-Placeholder` header with value of handler name.\n\n## Defaults\n\nThese are [default handlers](./src/defaults.ts). You can override every of them using provided options.\n\n| Handler   | Extensions                                                       | Mime type                | Placeholder               |\n| --------- | ---------------------------------------------------------------- | ------------------------ | ------------------------- |\n| `default` | any unknown extension                                            | -                        | -                         |\n| `css`     | `.css`                                                           | `text/css`               | `/* style not found */`   |\n| `html`    | `.html`, `.htm`                                                  | `text/html`              | `<!-- page not found -->` |\n| `js`      | `.js`                                                            | `application/javascript` | `/* script not found */`  |\n| `json`    | `.json`                                                          | `application/json`       | `{}`                      |\n| `map`     | `.map`                                                           | `application/json`       | [empty sourcemap v3 json] |\n| `plain`   | `.txt`, `.text`, `.md`                                           | `text/plain`             | [empty]                   |\n| `image`   | `.png`, `.jpg`, `.jpeg`, `.gif`, `.svg`, `.webp`, `.bmp`, `.ico` | `image/gif`              | [transparent 1x1 image]   |\n\n## Development\n\n<details>\n\n<summary>local development</summary>\n\n- Clone this repository\n- Install latest LTS version of [Node.js](https://nodejs.org/en/)\n- Enable [Corepack](https://github.com/nodejs/corepack) using `corepack enable`\n- Install dependencies using `pnpm install`\n- Run interactive tests using `pnpm dev`\n\n</details>\n\n## License\n\n<!-- automd:contributors author=pi0 license=MIT -->\n\nPublished under the [MIT](https://github.com/unjs/serve-placeholder/blob/main/LICENSE) license.\nMade by [@pi0](https://github.com/pi0) and [community](https://github.com/unjs/serve-placeholder/graphs/contributors) ????\n<br><br>\n<a href=\"https://github.com/unjs/serve-placeholder/graphs/contributors\">\n<img src=\"https://contrib.rocks/image?repo=unjs/serve-placeholder\" />\n</a>\n\n<!-- /automd -->\n\n<!-- automd:with-automd -->\n\n---\n\n_???? auto updated with [automd](https://automd.unjs.io)_\n\n<!-- /automd -->\n","_attachments":{},"license":"MIT"}