{"_id":"@jsdevtools/file-path-filter","_rev":"9-ad6506f289665fcf3ce00eee27fca042","name":"@jsdevtools/file-path-filter","dist-tags":{"latest":"3.0.2"},"versions":{"2.2.2":{"name":"@jsdevtools/file-path-filter","version":"2.2.2","keywords":["filter","find","file","path","regex","regexp","glob","include","exclude"],"author":{"url":"https://jamesmessinger.com","name":"James Messinger"},"license":"MIT","_id":"@jsdevtools/file-path-filter@2.2.2","maintainers":[{"name":"jamesmessinger","email":"james.messinger@gmail.com"},{"name":"james_messinger","email":"j.ames.messinger@gmail.com"}],"homepage":"https://jstools.dev/file-path-filter","bugs":{"url":"https://github.com/JS-DevTools/file-path-filter/issues"},"dist":{"shasum":"fd0baecac30eb057d67a06b53fbef220f21ae48d","tarball":"https://registry.npmjs.org/@jsdevtools/file-path-filter/-/file-path-filter-2.2.2.tgz","fileCount":22,"integrity":"sha512-d5rr9U47RHs84XH+5OyomWLZAgob3HFMVzQw+dT1CBKWqUQ2C3RQmwBwM7UD3OpzOeiW+A6dDpbzyMOSm6plFw==","signatures":[{"sig":"MEUCIDyBqip9f7SFbG6EIrn12RYpDlOfXvfUw6EuXP38jciEAiEA+3xCS/vkDxsdDR37cYmcFTGjboEPBmXeAVdoWJdvSUU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29637,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeSVKHCRA9TVsSAnZWagAA5AUP/Aj04+Dkx1llTjlwZbc5\n+fEi0AJmejA3km0m2sc4SqSo059BYmkDOwq902tXtlfjr97d78gXJseloPAd\nz6qHjVQ1zUHf84we3OteTFlQ5e3e8Bkkf7x9cIgskLZYiKq3Wjhb2pW5EW4h\nfTWPyClBKZySsvwVAjW/TGdNx7gotshKHL98QmU0zdH7WrZY/n3puUFyPcK0\nU+dknSvH4bJvgOr/f2R4YnICvLA1GRfiUOJcBHMse0FHm2enVxuZPdFu+oOz\nN34sOEGADEOGApMQMLpnuSECISidgyYmJBUGYB2L3DrvScJf4KyIx8xsVwA2\nSZU+I63mp3vd4GKiJF4VoEI6rZG+qfRs+Qs1Oa41E7QvPRWqzvMRLfE9b6Dm\njF32uVPd+5HtmXFatRFoDtLEmTQPunUj+C9fJp+0dV43KzVWnPVwLkcd4Wi5\nqJMC8LJHwHFEt0u9Kwm7od6rwwDMUB9BUFB2Nhyetz1KnuPWjoHfws1WJxgr\n3/x35BKs5rR29SvugJvTqBKPyzsudQ7mP4DmG+/ZcurONcSVzXzkt3l7LdhK\npMSrFieZXt5DMrt0wY3ri1BvMpP2o2nyrRQi8Nc+1lbWPq3PETMNn2qMFwnn\nDcgOldIdmwfLTyxt20Shyiudt1oDvPdE6ILNUR6KrPQTJ4aW5vVsXSwQukE7\n0ci+\r\n=ETqe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=10"},"gitHead":"5dd79a22d1bee706e2409d369c1583fa86129a22","scripts":{"bump":"bump --tag --push --all","lint":"npm run lint:typescript && npm run lint:javascript","test":"mocha && npm run lint","build":"tsc","clean":"shx rm -rf .nyc_output coverage lib","watch":"tsc --watch","release":"npm run upgrade && npm run clean && npm run build && npm test && npm run bump","upgrade":"npm-check -u && npm audit fix","coverage":"nyc node_modules/mocha/bin/mocha","lint:javascript":"eslint test","lint:typescript":"tslint -p tsconfig.json"},"_npmUser":{"name":"jamesmessinger","email":"james.messinger@gmail.com"},"repository":{"url":"git+https://github.com/JS-DevTools/file-path-filter.git","type":"git"},"_npmVersion":"6.13.1","description":"Filters file paths using globs, regular expressions, or custom criteria","directories":{},"_nodeVersion":"13.3.0","dependencies":{"glob-to-regexp":"^0.4.1"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.0","shx":"^0.3.2","chai":"^4.2.0","mocha":"^7.0.1","eslint":"^6.8.0","tslint":"^6.0.0","coveralls":"^3.0.9","npm-check":"^5.9.0","typescript":"^3.7.5","@types/chai":"^4.2.9","@types/node":"^13.7.1","@types/mocha":"^7.0.1","@types/glob-to-regexp":"^0.4.0","typescript-tslint-plugin":"^0.5.5","@jsdevtools/tslint-modular":"^2.0.1","@jsdevtools/version-bump-prompt":"^6.0.0","@jsdevtools/eslint-config-modular":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/file-path-filter_2.2.2_1581863559193_0.7974526461031357","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@jsdevtools/file-path-filter","version":"3.0.0","keywords":["filter","find","file","path","regex","regexp","glob","include","exclude"],"author":{"url":"https://jamesmessinger.com","name":"James Messinger"},"license":"MIT","_id":"@jsdevtools/file-path-filter@3.0.0","maintainers":[{"name":"james_messinger","email":"j.ames.messinger@gmail.com"},{"name":"jamesmessinger","email":"james.messinger@gmail.com"}],"homepage":"https://jstools.dev/file-path-filter","bugs":{"url":"https://github.com/JS-DevTools/file-path-filter/issues"},"dist":{"shasum":"682a47369a595815f081aa3d7e8c1fae42ce2e29","tarball":"https://registry.npmjs.org/@jsdevtools/file-path-filter/-/file-path-filter-3.0.0.tgz","fileCount":22,"integrity":"sha512-JNtnixm+7/x5wo32j2d3XEaU3NITa1XD1nuYTCM0peSkB1AC0ziA7lRJ4o3CwpSlq1QUXgi2ymJLjWWw0PROgw==","signatures":[{"sig":"MEQCIDZVtjhqSyTOgD+oxoDlAsiGoMHhDRv7crLZKDfH+yi+AiAKyK2H326AdVSV+Q2Ew+oeG/8hBRL4Mw71o3u7DG6EMA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30123,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeSVVLCRA9TVsSAnZWagAAsOQP/0C13F5tRMs+a9gKAN4H\n/EP87o1rIQxyg+x6NMG7Lr/CKCYUvOrPA2f/q4x0pQ4jx68qAVXsEN/YQlGl\ny8rbeFUDIQbuR8Y+x2hVJFHhptoq36Kw3BQAbY2LwBeoiVjXJC7MRo6HRb1h\nwaEmyHKIBIFpFPsL5m8LpfNR77SJZs3EzDqkiaCJvdiK0RfX9PC9mg8t+GV7\nU+xhtk/Pwg6Y7RrMGEjH28KcIXW/aDcn0OnGppcTw0hXnb6oUFfho+cmLCJG\nzd6jfah0SAoLknHAXB4Xi20t4CzlZAF/5Z4/ev1b4SsDwJAuvGZ+fNL5VMv/\no/b8OVigkcGegTbwP3WUDja3sNNvlgsvLffhc1KUMX2v1+YLfsOqP3Ngykew\n/Ir+QzSyx5XbLQ9+nx71zmIGXnUNX6nid3s85DaPbd53WbGVeEvanP7xf9xm\neYXHKGPWrza9ZTbha4+Xv368Q+paL7ghjJvJSpqxZ378LgUj9TcBf0r5qMxh\n1O8NqQtdcYZlB7RtJ/rWI23JjIJcC+BxSlk0kUCxdJzoRRpDUaSmBDB05KCO\n8aVuYBEH+VhVTnTzsMV53ut/tbKD9wdxouloaDd7dI6XEBMInH0b56EIBkZp\n3e2hoWHmeWoCuENrductgPF/UQANw16jSB5lsDZVavemx8qow1Rp7Fmp6NzX\nsGQ2\r\n=6Zf5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=10"},"gitHead":"53aecdf9418601d9de846ad5eafc0f0f1833fee9","scripts":{"bump":"bump --tag --push --all","lint":"npm run lint:typescript && npm run lint:javascript","test":"mocha && npm run lint","build":"tsc","clean":"shx rm -rf .nyc_output coverage lib","watch":"tsc --watch","release":"npm run upgrade && npm run clean && npm run build && npm test && npm run bump","upgrade":"npm-check -u && npm audit fix","coverage":"nyc node_modules/mocha/bin/mocha","lint:javascript":"eslint test","lint:typescript":"tslint -p tsconfig.json"},"_npmUser":{"name":"jamesmessinger","email":"james.messinger@gmail.com"},"repository":{"url":"git+https://github.com/JS-DevTools/file-path-filter.git","type":"git"},"_npmVersion":"6.13.4","description":"Filters file paths using globs, regular expressions, or custom criteria","directories":{},"_nodeVersion":"10.19.0","dependencies":{"glob-to-regexp":"^0.4.1"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.0","shx":"^0.3.2","chai":"^4.2.0","mocha":"^7.0.1","eslint":"^6.8.0","tslint":"^6.0.0","coveralls":"^3.0.9","npm-check":"^5.9.0","typescript":"^3.7.5","@types/chai":"^4.2.9","@types/node":"^13.7.1","@types/mocha":"^7.0.1","@types/glob-to-regexp":"^0.4.0","typescript-tslint-plugin":"^0.5.5","@jsdevtools/tslint-modular":"^2.0.1","@jsdevtools/version-bump-prompt":"^6.0.0","@jsdevtools/eslint-config-modular":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/file-path-filter_3.0.0_1581864267210_0.29890728960286284","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"@jsdevtools/file-path-filter","version":"3.0.1","keywords":["filter","find","file","path","regex","regexp","glob","include","exclude"],"author":{"url":"https://jamesmessinger.com","name":"James Messinger"},"license":"MIT","_id":"@jsdevtools/file-path-filter@3.0.1","maintainers":[{"name":"james_messinger","email":"j.ames.messinger@gmail.com"},{"name":"jamesmessinger","email":"james.messinger@gmail.com"}],"homepage":"https://jstools.dev/file-path-filter","bugs":{"url":"https://github.com/JS-DevTools/file-path-filter/issues"},"dist":{"shasum":"7fa96b4c0d41a2ec6231584a9f90f4e9442d24eb","tarball":"https://registry.npmjs.org/@jsdevtools/file-path-filter/-/file-path-filter-3.0.1.tgz","fileCount":22,"integrity":"sha512-7kOhYFyidfB9fZf2LLkMD/AntpFnxzWW614H4hLvWe3ENE9NN32cZQeF0Ychjg6h91XaUYbqQx2D/GtXJ05/Ew==","signatures":[{"sig":"MEUCIQC7Wvc9Klk/ciMO0a4jtHteWzPlL1KIJNj/QP69yKdaOwIgIB4k6WnwuOaCP5yYiTn6UxLMArtZM+3CvXSHAVbWSTo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30574,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJebkIVCRA9TVsSAnZWagAA4wMP/Rom6Nbz7U2tcpqOJbzO\na5M/lzKFfukMUs/gU0XgLBRnp7CAX5EjtYUrJKgbnQkexK5alEg3oAuZzLlo\njjH1p+9sxRsn0STcodO7L+8hu99oiYEm2dPQoAj2VfLAZQB3JE10bLf1opE/\nfNaljrmCzXoEADuC0bpIc6Bv+IwROwZSJk63xZFn74b5D/vuXYWy8J8Iq5qt\njbi8xAhWj5I2K/RiHx0GqXXB9Lu6f3CpN33lQkGICL3+uoTQgxtvUa0z/3Q0\nAYB48mD8tsrzGcH9pnjMliQCb+wI9erC7ivi/IvHiJnIUZ06fzRrob3YkN9P\nZuzjMZA0tlp8rLtyv9iLPttpdw22zkgoljnA/1raoQ6WGU9ahy/ihXa9DXdP\n+uWVk9DgIpxmoB//4Cxxz5Vf7LRIT2S5d9RfkdlmxDaP6nrFlRDcZPZnaAMc\nRiSEDVRS4z4zCNmO02QhHKczyvKUEAhBRt9vS/tXJtwodsUfHkVsk2jDGxAb\nQu3xX6p2IZlzd83Gawyoy98RLyIG7UWLre0eungLXdIOMbadNgyViLRbbbzb\nLmpWjhTa9af7+ZN2AfOz4LtcnNl96cvEPTOcBxkN+cH43UlxnC+Dz2JyN1TN\nUlOwyvqn0Ax6ofFxPvEkkvU+1PZCSkOn9oKNrTGj1UV5htFV+RYylBX09sZZ\nzRAl\r\n=puqJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=10"},"gitHead":"bd7079fa361301513ed20e40a52b6030074d9311","scripts":{"bump":"bump --tag --push --all","lint":"npm run lint:typescript && npm run lint:javascript","test":"mocha && npm run lint","build":"tsc","clean":"shx rm -rf .nyc_output coverage lib","watch":"tsc --watch","release":"npm run upgrade && npm run clean && npm run build && npm test && npm run bump","upgrade":"npm-check -u && npm audit fix","coverage":"nyc node_modules/mocha/bin/mocha","lint:javascript":"eslint test","lint:typescript":"tslint -p tsconfig.json"},"_npmUser":{"name":"jamesmessinger","email":"james.messinger@gmail.com"},"repository":{"url":"git+https://github.com/JS-DevTools/file-path-filter.git","type":"git"},"_npmVersion":"6.13.4","description":"Filters file paths using globs, regular expressions, or custom criteria","directories":{},"_nodeVersion":"10.19.0","dependencies":{"glob-to-regexp":"^0.4.1"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.0","shx":"^0.3.2","chai":"^4.2.0","mocha":"^7.0.1","eslint":"^6.8.0","tslint":"^6.0.0","npm-check":"^5.9.0","typescript":"^3.7.5","@types/chai":"^4.2.9","@types/node":"^13.7.1","@types/mocha":"^7.0.1","@types/glob-to-regexp":"^0.4.0","typescript-tslint-plugin":"^0.5.5","@jsdevtools/tslint-modular":"^2.0.1","@jsdevtools/version-bump-prompt":"^6.0.0","@jsdevtools/eslint-config-modular":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/file-path-filter_3.0.1_1584284180749_0.2255803200118136","host":"s3://npm-registry-packages"}},"3.0.2":{"name":"@jsdevtools/file-path-filter","version":"3.0.2","keywords":["filter","find","file","path","regex","regexp","glob","include","exclude"],"author":{"url":"https://jamesmessinger.com","name":"James Messinger"},"license":"MIT","_id":"@jsdevtools/file-path-filter@3.0.2","maintainers":[{"name":"james_messinger","email":"j.ames.messinger@gmail.com"},{"name":"jamesmessinger","email":"james.messinger@gmail.com"}],"homepage":"https://jstools.dev/file-path-filter","bugs":{"url":"https://github.com/JS-DevTools/file-path-filter/issues"},"dist":{"shasum":"22a0b544b8471fafd8da87c471a92bc778ab75f1","tarball":"https://registry.npmjs.org/@jsdevtools/file-path-filter/-/file-path-filter-3.0.2.tgz","fileCount":22,"integrity":"sha512-+SbZG6stIE/nRF2PpRnubtuzhh4pouDsk/hEWwM5mKsSKlFfr4ziAE5VMogGG/K++i9NHbUTxxW0y4vdM678ew==","signatures":[{"sig":"MEUCIH+TGnsRfsqKWIitPMW0eC4AGPvowk2UJ9zd09ZqSHGNAiEAkqB3pGsBPknew9XGCnP267PKej4LA6vLLFlEwynhod4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30985,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfEFxHCRA9TVsSAnZWagAA5CcP/3Gi5p7N/wi/3jxcmW9v\nL9GvsIiewvWwiuldGFK4JISdaV6fBn6/oLNxhYBhaW/m82LFmJduC+M5ooiY\ndOFbgEfZgOhMPQoftNE1+gOmjTqyLUumpjrhRrwkZtNC38e/YlRRcwIdt0T0\nm/zEMU8KgHvs9mg+7ZPV1bdY1To6G06z53njbUY/r38IcamcgOBwgQL+ab/L\nDa3Gsvm70TWTMrN8q35X3fjV3qKqGPkN7xF7C4wxskjipVRHMRLCdANcWLIH\nfn9KXTxFaUU/uFicx87Uf0kXhZzcR2Oe5yDm/n+3/Y+x/akERSGjoisJk/hJ\nZMGwouitixYMATd+0E3a67YZUp7pLrewBBLr/avQGi+c42zpa3DFscGsjf5y\nL/nU/+4Eawu6Syc3JYgtjoDmuh0r54OBOi7v+vWnb2veM3+QRjZL8y1CsKJU\nxMv5Y1xilwr2OPzK6v0O+k7/igToETGC+aJgZZoQMOz6cZc6fNvfxgYT+oS8\nJYgnVo7wXgvTRXvMJTNbcm8F4kCKWjDGHBDcneyvs9bppBs58HtfleopacJz\n4rv3Xnn/JQhxoY0frIEDdKBBdCwUueS1+D9oYXjnb8HKdTj2i2NunCupn/5d\n4k+l1kIDi8QECfWC8fQzYi3C510thir2UYFDIe00zmbibc/3V7Pi0vD1TTAY\nxD2B\r\n=yHMV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=10"},"gitHead":"a56139256b85d017506d46a007919a3c689a95fe","scripts":{"bump":"bump --tag --push --all","lint":"eslint src test","test":"mocha && npm run lint","build":"tsc","clean":"shx rm -rf .nyc_output coverage lib","watch":"tsc --watch","release":"npm run upgrade && npm run clean && npm run build && npm test && npm run bump","upgrade":"npm-check -u && npm audit fix","coverage":"nyc node_modules/mocha/bin/mocha"},"_npmUser":{"name":"jamesmessinger","email":"james.messinger@gmail.com"},"repository":{"url":"git+https://github.com/JS-DevTools/file-path-filter.git","type":"git"},"_npmVersion":"6.14.4","description":"Filters file paths using globs, regular expressions, or custom criteria","directories":{},"_nodeVersion":"10.21.0","dependencies":{"glob-to-regexp":"^0.4.1"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","shx":"^0.3.2","chai":"^4.2.0","mocha":"^8.0.1","eslint":"^7.4.0","npm-check":"^5.9.2","typescript":"^3.9.6","@types/chai":"^4.2.11","@types/node":"^14.0.23","@types/mocha":"^8.0.0","@types/glob-to-regexp":"^0.4.0","@jsdevtools/eslint-config":"^1.0.3","@jsdevtools/version-bump-prompt":"^6.0.5"},"_npmOperationalInternal":{"tmp":"tmp/file-path-filter_3.0.2_1594907718663_0.8394552025809052","host":"s3://npm-registry-packages"}}},"time":{"created":"2020-02-16T14:32:39.021Z","modified":"2026-01-24T16:03:02.101Z","2.2.2":"2020-02-16T14:32:39.309Z","3.0.0":"2020-02-16T14:44:27.312Z","3.0.1":"2020-03-15T14:56:20.873Z","3.0.2":"2020-07-16T13:55:18.752Z"},"bugs":{"url":"https://github.com/JS-DevTools/file-path-filter/issues"},"author":{"url":"https://jamesmessinger.com","name":"James Messinger"},"license":"MIT","homepage":"https://jstools.dev/file-path-filter","keywords":["filter","find","file","path","regex","regexp","glob","include","exclude"],"repository":{"url":"git+https://github.com/JS-DevTools/file-path-filter.git","type":"git"},"description":"Filters file paths using globs, regular expressions, or custom criteria","maintainers":[{"email":"jonluca.decaro@gmail.com","name":"jonluca"},{"email":"james.messinger@gmail.com","name":"jamesmessinger"},{"email":"me@philsturgeon.uk","name":"philsturgeon"},{"email":"michael@cousins.io","name":"mcous"}],"readme":"# File Path Filter\nFilters file paths using globs, regular expressions, or custom criteria\n\n[![Cross-Platform Compatibility](https://jstools.dev/img/badges/os-badges.svg)](https://github.com/JS-DevTools/file-path-filter/actions)\n[![Build Status](https://github.com/JS-DevTools/file-path-filter/workflows/CI-CD/badge.svg)](https://github.com/JS-DevTools/file-path-filter/actions)\n\n[![Coverage Status](https://coveralls.io/repos/github/JS-DevTools/file-path-filter/badge.svg?branch=master)](https://coveralls.io/github/JS-DevTools/file-path-filter)\n[![Dependencies](https://david-dm.org/JS-DevTools/file-path-filter.svg)](https://david-dm.org/JS-DevTools/file-path-filter)\n\n[![npm](https://img.shields.io/npm/v/@jsdevtools/file-path-filter.svg)](https://www.npmjs.com/package/@jsdevtools/file-path-filter)\n[![License](https://img.shields.io/npm/l/@jsdevtools/file-path-filter.svg)](LICENSE)\n[![Buy us a tree](https://img.shields.io/badge/Treeware-%F0%9F%8C%B3-lightgreen)](https://plant.treeware.earth/JS-DevTools/file-path-filter)\n\n\n\nExample\n--------------------------\n\n```javascript\nconst filePathFilter = require(\"@jsdevtools/file-path-filter\");\n\nconst paths = [\n  \"/some/path/index.html\",\n  \"/some/path/contact.html\",\n  \"/some/path/about.html\",\n  \"/some/path/favicon.ico\",\n  \"/some/path/img/logo.png\",\n];\n\n// Filter using a glob pattern\npaths.filter(filePathFilter(\"**/*.html\"));\n\n// Exclude glob patterns with \"!\"\npaths.filter(filePathFilter(\"**/*.html\", \"!**/index.html\"));\n\n// Filter using a regular expression\npaths.filter(filePathFilter(/\\.(ico|png)$/));\n\n// Filter using custom criteria\npaths.filter(filePathFilter(path => path.length === 23));\n\n// Use any combination of filters\npaths.filter(filePathFilter([\n  \"**/*.html\",\n  \"!**/index.html\",\n  /\\.(ico|png)$/,\n  path => path.length === 23\n]));\n\n// Explicitly specify include and exclude criteria\npaths.filter(filePathFilter({\n  include:  [\n    \"**/*.html\",\n    /\\.(ico|png)$/,\n    path => path.length === 23\n  ],\n  exclude: \"**/index.html\",\n));\n\n```\n\n\n\nInstallation\n--------------------------\nYou can install File Path Filter via [npm](https://docs.npmjs.com/about-npm/).\n\n```bash\nnpm install @jsdevtools/file-path-filter\n```\n\n\n\nUsage\n--------------------------\n\n### filePathFilter(criteria)\n\n- **`criteria`** - The filter criteria. This can be any of the following:\n  - A boolean. `true` will match all files. `false` will not match any files.\n  - A [glob pattern](https://en.wikipedia.org/wiki/Glob_(programming)). If the pattern starts with `!`, then it will be treated as an `exclude` pattern (see below)\n  - A [regular expression](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)\n  - A [filter function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter#Syntax) that accepts a file path and returns `true` if the file should be matched\n  - An array containing any combination of the above types\n  - An object with `include` and `exclude` properties. Each of these properties can be any of the above types.  File paths will be matched if they match any of the `include` criteria and do not match any of the `exclude` criteria.\n\n- **`return value`** - A [filter function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter#Syntax) that matches file paths that meet the specified criteria\n\n\n### createFilter(options, criteria)\n\n- **`options`** - An object with some or all of the following properties:\n  - `map` - A function that maps filtered items to file paths\n  - `sep` - A custom path separator, such as `\\` or `/`\n\n- **`criteria`** - The filter criteria. See the [`filePathFilter`](#filepathfiltercriteria) for details.\n\n- **`return value`** - A [filter function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter#Syntax) that matches file paths that meet the specified criteria\n\nThe `createFilter` function is an alternative to the `filePathFilter` function that allows you to customize the behavior to suit your needs.\n\n#### Filtering objects\nThe `filePathFilter` function creates a function that filters arrays of strings, but what if you need to filter an array of objects instead?  That's where the `map` option comes in handy. You can use it to map objects (or any other value) to file paths.  Here's an example:\n\n```javascript\nconst { createFilter } = require(\"@jsdevtools/file-path-filter\");\nconst path = require(\"path\");\n\nconst files = [\n  { dir: \"/my/website\", filename: \"index.html\" },\n  { dir: \"/my/website\", filename: \"contact.html\" },\n  { dir: \"/my/website/blog\", filename: \"post-1.html\" },\n  { dir: \"/my/website/blog\", filename: \"post-2.html\" },\n];\n\n// A function to returns the path of each file\nfunction map(file) {\n  return path.join(file.dir, file.filename);\n}\n\n// Filter the file objects - return all HTML files except the blog posts\nfiles.filter(createFilter({ map }, \"**/*.html\", \"!**/blog/*.html\"));\n```\n\n\nContributing\n--------------------------\nContributions, enhancements, and bug-fixes are welcome!  [Open an issue](https://github.com/JS-DevTools/file-path-filter/issues) on GitHub and [submit a pull request](https://github.com/JS-DevTools/file-path-filter/pulls).\n\n#### Building\nTo build the project locally on your computer:\n\n1. __Clone this repo__<br>\n`git clone https://github.com/JS-DevTools/file-path-filter.git`\n\n2. __Install dependencies__<br>\n`npm install`\n\n3. __Build the code__<br>\n`npm run build`\n\n4. __Run the tests__<br>\n`npm test`\n\n\n\nLicense\n--------------------------\nFile Path Filter is 100% free and open-source, under the [MIT license](LICENSE). Use it however you want.\n\nThis package is [Treeware](http://treeware.earth). If you use it in production, then we ask that you [**buy the world a tree**](https://plant.treeware.earth/JS-DevTools/file-path-filter) to thank us for our work. By contributing to the Treeware forest you’ll be creating employment for local families and restoring wildlife habitats.\n\n\n\nBig Thanks To\n--------------------------\nThanks to these awesome companies for their support of Open Source developers ❤\n\n[![Travis CI](https://jstools.dev/img/badges/travis-ci.svg)](https://travis-ci.com)\n[![SauceLabs](https://jstools.dev/img/badges/sauce-labs.svg)](https://saucelabs.com)\n[![Coveralls](https://jstools.dev/img/badges/coveralls.svg)](https://coveralls.io)\n","readmeFilename":"README.md"}