{"_id":"seek","_rev":"10-fba2ca5d3f38ebf19145df01109bc8c9","name":"seek","description":"search through a bunch of files","dist-tags":{"latest":"0.3.0"},"versions":{"0.0.0":{"author":{"name":"Paul Vorbach","email":"paul@vorb.de","url":"http://vorb.de"},"name":"seek","description":"search through a bunch of files","tags":["search","files","file search"],"version":"0.0.0","repository":{"type":"git","url":"git://github.com/pvorb/node-seek.git"},"bugs":{"url":"https://github.com/pvorb/node-seek/issues"},"main":"seek.js","engines":{"node":">=0.4.0"},"dependencies":{"append":">=0.1.0","dive":">=0.0.4"},"_npmJsonOpts":{"file":"/home/paul/.npm/seek/0.0.0/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"seek@0.0.0","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.26","_nodeVersion":"v0.4.11","_defaultsLoaded":true,"dist":{"shasum":"aac0aacb01aeca17777bc046178fd7d3192c8e23","tarball":"https://registry.npmjs.org/seek/-/seek-0.0.0.tgz","integrity":"sha512-WYyvI3mOKFCsD/x67i92lrXiqeHZlR6nKiS7RXfaFil+mERXLsRC2R45ToN1JfL2al0jj+5+QVX2DrnWT4AVMQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDRtTSCwAzL/gpQUdRaQ2PbOhBJLQ8w2s5ElYHywWPnzAiEAjScThn6v8mdzpUdPn5UHkIg25RaFmTnDHk+9KIqEyW0="}]},"scripts":{},"maintainers":[{"name":"pvorb","email":"paul@vorb.de"}]},"0.1.0":{"author":{"name":"Paul Vorbach","email":"paul@vorb.de","url":"http://vorb.de"},"name":"seek","description":"search through a bunch of files","tags":["search","files","file search"],"version":"0.1.0","repository":{"type":"git","url":"git://github.com/pvorb/node-seek.git"},"bugs":{"url":"https://github.com/pvorb/node-seek/issues"},"main":"seek.js","engines":{"node":">=0.4.0"},"dependencies":{"append":">=0.1.0","dive":">=0.0.4"},"_npmJsonOpts":{"file":"/home/paul/.npm/seek/0.1.0/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"seek@0.1.0","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.26","_nodeVersion":"v0.4.11","_defaultsLoaded":true,"dist":{"shasum":"9ca910ca7ee0de06cd9fee64d6c46686564d39ed","tarball":"https://registry.npmjs.org/seek/-/seek-0.1.0.tgz","integrity":"sha512-XzEZlsWkg31Wpr6M/2hWyf31RGGMs9pDpN5VD8/mhVV7zCyfpJ7ihFpxlpSu60ikhL9u6XPZdGcjxSQ+3F3ZXw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDYvyE3ejHUivNAxXkB8AFPPg4MAn1+p6V8UmlST5JZYAiA+TVhW+bgI/Ap8/J0EQBftWAyTc7SkD3J+IQNKE3XNSg=="}]},"scripts":{},"maintainers":[{"name":"pvorb","email":"paul@vorb.de"}]},"0.2.0":{"author":{"name":"Paul Vorbach","email":"paul@vorb.de","url":"http://vorb.de"},"name":"seek","description":"search through a bunch of files","tags":["search","files","file search"],"version":"0.2.0","repository":{"type":"git","url":"git://github.com/pvorb/node-seek.git"},"bugs":{"url":"https://github.com/pvorb/node-seek/issues"},"main":"seek.js","engines":{"node":">=0.4.0"},"dependencies":{"append":">=0.1.0","dive":">=0.1.0"},"_npmJsonOpts":{"file":"/home/paul/.npm/seek/0.2.0/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"seek@0.2.0","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.26","_nodeVersion":"v0.4.11","_defaultsLoaded":true,"dist":{"shasum":"828fe28784c1168b32982b40ab56dab4a86214af","tarball":"https://registry.npmjs.org/seek/-/seek-0.2.0.tgz","integrity":"sha512-oN7yGvDEsoMLsvYsG0Z1bZJFELLx5Y0L+er9MRltKXFk0kpe819POPcx4vYMNxMQYW7bIgAG6b3T1i5118v8Dw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDPfE1egFe+RiiPYa7cC+q/5mFDcgb1B4iWoP14rYG36AiB40JGK4L2red6X8UqlhrJheMtQ4bzGHi26tR6YdbbyZA=="}]},"scripts":{},"maintainers":[{"name":"pvorb","email":"paul@vorb.de"}]},"0.3.0":{"author":{"name":"Paul Vorbach","email":"paul@vorba.ch","url":"http://vorba.ch"},"contributors":[{"name":"Matthew Dean"}],"name":"seek","description":"search through a bunch of files","tags":["search","files","file search"],"version":"0.3.0","repository":{"type":"git","url":"git://github.com/pvorb/node-seek.git"},"bugs":{"url":"https://github.com/pvorb/node-seek/issues"},"main":"seek.js","engines":{"node":">=0.4.0"},"dependencies":{"append":">=0.1.0","dive":">=0.1.0","graceful-fs":"^3.0.6"},"gitHead":"3609bebd7db8f3c6fe92379631fdd46fbf481060","homepage":"https://github.com/pvorb/node-seek#readme","_id":"seek@0.3.0","scripts":{},"_shasum":"e942119c7ec62d0236b79e5fa57e2e67fdf88853","_from":".","_npmVersion":"3.9.3","_nodeVersion":"4.4.5","_npmUser":{"name":"pvorb","email":"paul@vorba.ch"},"dist":{"shasum":"e942119c7ec62d0236b79e5fa57e2e67fdf88853","tarball":"https://registry.npmjs.org/seek/-/seek-0.3.0.tgz","integrity":"sha512-FMYxVaoo7xfmGMSNWnXrTwguQw2yeIW+ZO+mw7PYDGyPIfrFmH+6hHLVhh6pcp4+ULeByQNPJ05Yjo+VlZPXzA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDIC4NReyp9jFbsm6Klp85XfCb6bt70IdhgwYN8ksqWiAIgX2QcCQqymn9O+oIuGfaIDQZaJFRH9OSbeg5XcaYLvVg="}]},"maintainers":[{"name":"pvorb","email":"paul@vorb.de"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/seek-0.3.0.tgz_1467757612183_0.6045545714441687"}}},"maintainers":[{"name":"pvorb","email":"paul@vorb.de"}],"time":{"modified":"2022-06-26T17:18:44.808Z","created":"2011-09-20T22:49:06.314Z","0.0.0":"2011-09-20T22:49:08.579Z","0.1.0":"2011-09-27T13:16:15.029Z","0.2.0":"2011-09-27T20:56:03.689Z","0.3.0":"2016-07-05T22:26:54.932Z"},"author":{"name":"Paul Vorbach","email":"paul@vorba.ch","url":"http://vorba.ch"},"repository":{"type":"git","url":"git://github.com/pvorb/node-seek.git"},"readme":"**seek** is a function that allows to recursively search through files in a\ndirectory. It's perfect for providing a search form on your website if the\nwebsite does only consist of static files.\n\n```javascript\nseek(directory, query, options, found[, filter[, complete]]);\n```\n\n*   `directory` is the pathname of a readable directory.\n*   `query` is either a string consisting of the keywords to search for or an\n    array of strings and regular expressions.\n*   `options` is an object that redefines some of the default properties.\n\n    The default options are as follows:\n\n    ```javascript\n    {\n      recursive: true,      // - Recursive file walking. If set to false,\n                            //   subdirectories of directory will be ignored.\n      caseSensitive: false, // - Case insensitive search\n      dotFiles: true,       // - Don't ignore \"dot files\" like '.gitignore'\n      requireAll: true,     // - Require to find all keywords so that a file is\n                            //   matched.\n      findAll: false,       // - Only the first occurrence of a keyword is\n                            //   matched. Set this to true, if you want to match\n                            //   all occurrences of a keyword in the file.\n      ignoreOrder: true,    // - Ignore the order of the keywords. Use with\n                            //   care! Only works with findAll set to false.\n      separator: ' ',       // - String, which separates the keywords query if\n                            //   query is a string.\n      bufferSize: 64 * 1024 // - The buffer size used (twice) for a file.\n                            //   Decrease this value for a smaller memory\n                            //   footprint when you are seeking for large files.\n    }\n    ```\n*   `found` is passed two arguments `(file, matches)` where `file` is the\n    pathname of the file that has been found and `matches` is an array. The\n    array may contain objects or arrays. The objects are returned when you\n    search for strings. They look something like this:\n\n    ```javascript\n    {\n      keyword: 'foo', // - the keyword that has been found\n      firstIndex: 43, // - the index of the first character of the keyword in\n                      //   the file\n      lastIndex: 45,  // - the index of the last character of the keyword in the\n                      //   file\n    }\n    ```\n\n    The arrays look like the regular results of a regular expression match. They\n    only occur when `query` is an array and contains a regular expression.\n*   `filter [optional]` is passed one argument `(file)`. You may filter files\n    out by providing a condition in this file. A file is left out, if `filter`\n    returns `false`.\n*   `complete [optional]` is passed no arguments. This callback is called, when\n    the search is over.\n\n## Installation\n\nUsing npm:\n\n```bash\nnpm install -g seek\n```\n\n## Usage\n\n```javascript\nvar seek = require('seek');\n\nseek(process.cwd(), 'seek require', {}, function(file, matches) {\n  console.log(file);\n  console.log(matches);\n}, function(file) {\n  return /\\.(html|txt|xml)$/i.test(file);\n  // Only look for files that end with '.html', '.txt', or '.xml'.\n});\n```\n\nFor more examples, look at the\n[tests](//github.com/pvorb/node-seek/tree/master/test).\n\n## Bugs and Issues\n\nIf you encounter any bugs or issues, feel free to open an issue at\n[github](//github.com/pvorb/node-seek/issues).\n\n## License\n\nMIT License\n","homepage":"https://github.com/pvorb/node-seek#readme","contributors":[{"name":"Matthew Dean"}],"bugs":{"url":"https://github.com/pvorb/node-seek/issues"},"readmeFilename":"README.md"}