{"_id":"simple-glob","_rev":"3348635","name":"simple-glob","description":"Simplified globbing, same as Grunt","dist-tags":{"latest":"0.2.0"},"maintainers":[{"name":"jedhunsaker","email":""},{"name":"jedmao","email":"jed.hunsaker+npm@gmail.com"}],"time":{"modified":"2024-08-07T03:57:36.000Z","created":"2014-01-25T16:52:25.813Z","0.2.0":"2018-05-27T03:40:34.001Z","0.1.0":"2014-01-25T16:54:27.712Z","0.1.1":"2014-01-25T16:52:25.813Z"},"users":{},"author":{"name":"\"Cowboy\" Ben Alman","url":"http://benalman.com/"},"repository":{"type":"git","url":"git+https://github.com/jedmao/simple-glob.git"},"versions":{"0.2.0":{"name":"simple-glob","description":"Simplified globbing, same as Grunt","version":"0.2.0","author":{"name":"\"Cowboy\" Ben Alman","url":"http://benalman.com/"},"homepage":"https://github.com/jedmao/simple-glob","repository":{"type":"git","url":"git+https://github.com/jedmao/simple-glob.git"},"bugs":{"url":"https://github.com/jedmao/simple-glob/issues"},"licenses":[{"type":"MIT","url":"http://github.com/jedmao/simple-glob/blob/master/LICENSE-MIT"}],"main":"lib/api.js","scripts":{"test":"grunt test"},"engines":{"node":">= 6"},"keywords":["glob","tool","grunt"],"dependencies":{"glob":"^7.1.2","lodash.difference":"^4.5.0","lodash.flatten":"^4.4.0","lodash.union":"^4.6.0"},"devDependencies":{"grunt":"^1.0.2","grunt-contrib-jshint":"^1.1.0","grunt-contrib-nodeunit":"^2.0.0","grunt-contrib-watch":"^1.1.0"},"contributors":[{"name":"\"Cowboy\" Ben Alman","url":"http://benalman.com/"},{"name":"Kyle Robinson Young","url":"http://dontkry.com/"},{"name":"Tyler Kellen","url":"http://goingslowly.com"},{"name":"Sindre Sorhus","url":"http://sindresorhus.com"},{"name":"Vlad Filippov","url":"http://vladfilippov.com/"}],"gitHead":"686ccd1118ebc7919c9cbe8db1402b3b4a7df99b","_id":"simple-glob@0.2.0","_npmVersion":"6.0.0","_nodeVersion":"10.0.0","_npmUser":{"name":"jedhunsaker","email":"jedmao@outlook.com"},"dist":{"shasum":"95cf6a5fb5d84843a52a58529cba31b0f5c3478c","size":4120,"noattachment":false,"key":"/simple-glob/-/simple-glob-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/simple-glob/download/simple-glob-0.2.0.tgz"},"maintainers":[{"name":"jedhunsaker","email":""},{"name":"jedmao","email":"jed.hunsaker+npm@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-glob_0.2.0_1527392433888_0.5054038197798703"},"_hasShrinkwrap":false,"publish_time":1527392434001,"_cnpm_publish_time":1527392434001,"_cnpmcore_publish_time":"2021-12-16T20:13:49.843Z"},"0.1.0":{"name":"simple-glob","description":"Simplified globbing, same as Grunt","version":"0.1.0","author":{"name":"\"Cowboy\" Ben Alman","url":"http://benalman.com/"},"homepage":"https://github.com/jedmao/simple-glob","repository":{"type":"git","url":"https://github.com/jedmao/simple-glob.git"},"bugs":{"url":"https://github.com/jedmao/simple-glob/issues"},"licenses":[{"type":"MIT","url":"http://github.com/jedmao/simple-glob/blob/master/LICENSE-MIT"}],"main":"lib/api.js","scripts":{"test":"grunt test"},"engines":{"node":">= 0.8.0"},"keywords":["glob","tool","grunt"],"dependencies":{"glob":"~3.2.8","lodash":"~2.4.1","minimatch":"~0.2.14"},"devDependencies":{"grunt-contrib-jshint":"~0.8.0","grunt-contrib-nodeunit":"~0.2.2","grunt-contrib-watch":"~0.5.3"},"_id":"simple-glob@0.1.0","dist":{"shasum":"f5e84fb8692db730ea8654d4da42d1b5ef8c1456","size":4035,"noattachment":false,"key":"/simple-glob/-/simple-glob-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/simple-glob/download/simple-glob-0.1.0.tgz"},"_from":"https://github.com/jedmao/simple-glob/archive/v0.1.0.tar.gz","_resolved":"https://github.com/jedmao/simple-glob/archive/v0.1.0.tar.gz","_npmVersion":"1.3.21","_npmUser":{"name":"jedhunsaker","email":"jed.hunsaker@gmail.com"},"maintainers":[{"name":"jedhunsaker","email":""},{"name":"jedmao","email":"jed.hunsaker+npm@gmail.com"}],"directories":{},"publish_time":1390668867712,"_hasShrinkwrap":false,"_cnpm_publish_time":1390668867712,"_cnpmcore_publish_time":"2021-12-16T20:13:50.285Z"},"0.1.1":{"name":"simple-glob","description":"Simplified globbing, same as Grunt","version":"0.1.1","author":{"name":"\"Cowboy\" Ben Alman","url":"http://benalman.com/"},"homepage":"https://github.com/jedmao/simple-glob","repository":{"type":"git","url":"https://github.com/jedmao/simple-glob.git"},"bugs":{"url":"https://github.com/jedmao/simple-glob/issues"},"licenses":[{"type":"MIT","url":"http://github.com/jedmao/simple-glob/blob/master/LICENSE-MIT"}],"main":"lib/api.js","scripts":{"test":"grunt test"},"engines":{"node":">= 0.8.0"},"keywords":["glob","tool","grunt"],"dependencies":{"glob":"~3.2.8","lodash":"~2.4.1","minimatch":"~0.2.14"},"devDependencies":{"grunt-contrib-jshint":"~0.8.0","grunt-contrib-nodeunit":"~0.2.2","grunt-contrib-watch":"~0.5.3"},"_id":"simple-glob@0.1.1","dist":{"shasum":"282bfa012d7206643df61d34c6bb9e4ce3fd7714","size":4030,"noattachment":false,"key":"/simple-glob/-/simple-glob-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/simple-glob/download/simple-glob-0.1.1.tgz"},"_from":"https://github.com/jedmao/simple-glob/archive/v0.1.0.tar.gz","_resolved":"https://github.com/jedmao/simple-glob/archive/v0.1.0.tar.gz","_npmVersion":"1.3.21","_npmUser":{"name":"jedhunsaker","email":"jed.hunsaker@gmail.com"},"maintainers":[{"name":"jedhunsaker","email":""},{"name":"jedmao","email":"jed.hunsaker+npm@gmail.com"}],"directories":{},"publish_time":1390668745813,"_hasShrinkwrap":false,"_cnpm_publish_time":1390668745813,"_cnpmcore_publish_time":"2021-12-16T20:13:50.057Z"}},"readme":"# simple-glob\n\n> Simplified globbing, same as [Grunt][]\n\n[![Build Status][]](http://travis-ci.org/jedmao/simple-glob)\n[![Dependency Status][]](https://gemnasium.com/jedmao/simple-glob)\n[![NPM version][]](http://badge.fury.io/js/simple-glob)\n[![Views][]](https://sourcegraph.com/github.com/jedmao/simple-glob)\n\n[![NPM][]](https://nodei.co/npm/simple-glob/)\n\nThe inspiration for this project was to simplify globbing patterns to work the same way many are familiar with (i.e., the globbing patterns in [Grunt][]). Instead of reinventing the wheel, I figured I'd just extract the code directly from [Grunt][]'s code base to get the exact same functionality that we know and love. Now, we can all enjoy the same globbing, even outside of [Grunt][]!\n\n<i>Full disclaimer: The code contained in this project is 99% the original work of the Grunt.js team. I only renamed a couple things and moved things around a bit. I take no credit whatsoever and the original license is in tact, according to license conditions.</i>\n\n<i>Note: The following documentation was taken mostly from [Grunt's Configuring Tasks][] page.</i>\n\n\n## Globbing patterns\n\nIt is often impractical to specify all source filepaths individually, so simple-glob supports filename expansion (also know as globbing) via the built-in [node-glob][] and [minimatch][] libraries.\n\nWhile this isn't a comprehensive tutorial on globbing patterns, know that in a filepath:\n\n- `*` matches any number of characters, but not `/`\n- `?` matches a single character, but not `/`\n- `**` matches any number of characters, including `/`, as long as it's the only thing in a path part\n- `{}` allows for a comma-separated list of \"or\" expressions\n- `!` at the beginning of a pattern will negate the match\n\nAll most people need to know is that `foo/*.js` will match all files ending with `.js` in the `foo/` subdirectory, but `foo/**/*.js` will match all files ending with `.js` in the `foo/` subdirectory and all of its subdirectories.\n\nAlso, in order to simplify otherwise complicated globbing patterns, simple-glob allows arrays of file paths or globbing patterns to be specified. Patterns are processed in-order, with `!`-prefixed matches excluding matched files from the result set. The result set is uniqued.\n\nFor example:\n```js\nvar glob = require('simple-glob');\n\n// You can specify single files:\nglob('foo/this.js');\n// Or arrays of files:\nglob(['foo/this.js', 'foo/that.js', 'foo/the-other.js']);\n// Or you can generalize with a glob pattern:\nglob('foo/th*.js');\n\n// This single node-glob pattern:\nglob('foo/{a,b}*.js');\n// Could also be written like this:\nglob(['foo/a*.js', 'foo/b*.js']);\n\n// All .js files, in foo/, in alpha order:\nglob(['foo/*.js']);\n// Here, bar.js is first, followed by the remaining files, in alpha order:\nglob(['foo/bar.js', 'foo/*.js']);\n\n// All files except for bar.js, in alpha order:\nglob(['foo/*.js', '!foo/bar.js']);\n// All files in alpha order, but with bar.js at the end.\nglob(['foo/*.js', '!foo/bar.js', 'foo/bar.js']);\n```\n\nFor more on glob pattern syntax, see the [node-glob][] and [minimatch][] documentation.\n\n\n\n[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/jedmao/simple-glob/trend.png)](https://bitdeli.com/free \"Bitdeli Badge\")\n\n\n[Grunt]: http://gruntjs.com/\n[Build Status]: https://secure.travis-ci.org/jedmao/simple-glob.png?branch=master\n[Dependency Status]: https://gemnasium.com/jedmao/simple-glob.png\n[NPM version]: https://badge.fury.io/js/simple-glob.png\n[Views]: https://sourcegraph.com/api/repos/github.com/jedmao/simple-glob/counters/views-24h.png\n[NPM]: https://nodei.co/npm/simple-glob.png?downloads=true\n[Grunt's Configuring Tasks]: http://gruntjs.com/configuring-tasks\n[node-glob]: https://github.com/isaacs/node-glob\n[minimatch]: https://github.com/isaacs/minimatch\n","_attachments":{},"homepage":"https://github.com/jedmao/simple-glob","bugs":{"url":"https://github.com/jedmao/simple-glob/issues"}}