{"_id":"gulp-folder-changed","_rev":"78-576f3379971d7a4c1386cb7d67d416cf","name":"gulp-folder-changed","dist-tags":{"latest":"1.2.2"},"versions":{"1.0.0":{"name":"gulp-folder-changed","version":"1.0.0","keywords":["gulp"],"author":{"name":"New York Media"},"license":"MIT","_id":"gulp-folder-changed@1.0.0","maintainers":[{"name":"yoshokatana","email":"nelson@keats.me"}],"homepage":"https://github.com/nymag/gulp-folder-changed","bugs":{"url":"https://github.com/nymag/gulp-folder-changed/issues"},"dist":{"shasum":"a12611bd6c2d314b462f8bc845193c3a480bd9f3","tarball":"https://registry.npmjs.org/gulp-folder-changed/-/gulp-folder-changed-1.0.0.tgz","integrity":"sha512-aSnH1ozYMIj0+9k2+fyt2Pr6/7jnpw/cHMtR9obBYhX8dcKa/+WLvYfnpIykvYBLWr4xvY3al5r96w945ciMuA==","signatures":[{"sig":"MEQCIGFDfyrh/Ja4xmaqP1nzGrTAO+HjErvCEEM4VOgvvgbWAiBH2qqqBqGlhkm0FEqZ/XFJrQm5jkg2fy1wipAwpH7pog==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"a12611bd6c2d314b462f8bc845193c3a480bd9f3","gitHead":"ddbbe78811cb7785aa0fd559e732fcec920c787f","scripts":{"test":"mocha"},"_npmUser":{"name":"yoshokatana","email":"nelson@keats.me"},"repository":{"url":"https://github.com/nymag/gulp-folder-changed.git","type":"git"},"_npmVersion":"2.5.1","description":"Gulp plugin to pass through files if they've changed","directories":{},"_nodeVersion":"0.12.0","dependencies":{"glob":"^5.0.5","lodash":"^3.6.0"},"devDependencies":{"chai":"^2.2.0","mocha":"^2.2.4","sinon":"^1.14.1","mock-fs":"^2.5.0","vinyl-map":"^1.0.1","vinyl-fs-mock":"^0.1.2"}},"1.1.0":{"name":"gulp-folder-changed","version":"1.1.0","keywords":["gulp"],"author":{"name":"New York Media"},"license":"MIT","_id":"gulp-folder-changed@1.1.0","maintainers":[{"name":"yoshokatana","email":"nelson@keats.me"},{"name":"nymdev","email":"nymdev@nymag.com"}],"homepage":"https://github.com/nymag/gulp-folder-changed","bugs":{"url":"https://github.com/nymag/gulp-folder-changed/issues"},"dist":{"shasum":"2962b67f20eba179b92f0a8bc0ec6215266554ad","tarball":"https://registry.npmjs.org/gulp-folder-changed/-/gulp-folder-changed-1.1.0.tgz","integrity":"sha512-Vgx95feos9uNqFa806U/9UBYJCkFvhvBCnfLAZZzYI0fsHuiBHKCF4QWV02zFwgjuputYmXR/kntZ2M0LxRUWw==","signatures":[{"sig":"MEUCIAk2Kny/aSqyrUbnDmQy7Dgvu8xHlQHnrtQiZ/laOb8BAiEAqsxJOEa2vkmurxDufie+XhBbKNyKXzFRSc/OF3/iJEY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"2962b67f20eba179b92f0a8bc0ec6215266554ad","gitHead":"366d9e8f3b6efae4d0e39dcac9dae51d2817475c","scripts":{"test":"mocha"},"_npmUser":{"name":"yoshokatana","email":"nelson@keats.me"},"repository":{"url":"https://github.com/nymag/gulp-folder-changed.git","type":"git"},"_npmVersion":"2.5.1","description":"Gulp plugin to pass through files if they've changed","directories":{},"_nodeVersion":"0.12.0","dependencies":{"glob":"^5.0.5","lodash":"^3.6.0"},"devDependencies":{"chai":"^2.2.0","mocha":"^2.2.4","sinon":"^1.14.1","mock-fs":"^2.5.0","vinyl-map":"^1.0.1","vinyl-fs-mock":"^0.1.2"}},"1.1.1":{"name":"gulp-folder-changed","version":"1.1.1","keywords":["gulp"],"author":{"name":"New York Media"},"license":"MIT","_id":"gulp-folder-changed@1.1.1","maintainers":[{"name":"yoshokatana","email":"nelson@keats.me"},{"name":"nymdev","email":"nymdev@nymag.com"}],"homepage":"https://github.com/nymag/gulp-folder-changed","bugs":{"url":"https://github.com/nymag/gulp-folder-changed/issues"},"dist":{"shasum":"1367334ed33f537902b8709107c693a72b315609","tarball":"https://registry.npmjs.org/gulp-folder-changed/-/gulp-folder-changed-1.1.1.tgz","integrity":"sha512-N7GCUW4iYx8ijj3xDTbXCLFObpqFBIqRgNIvVONIJgE3QB6Y4oWnc9tpDmQ+otUFxBwad+rgwlxIR2nL1am6EQ==","signatures":[{"sig":"MEUCIEr+4q+ORGE2H0tGE/Nl607r4Lme19YsCd+2vhAlfs10AiEA+9y10N45JF9N/nZizcm8wCRK2pd/6yriFoTJjshbULc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"1367334ed33f537902b8709107c693a72b315609","gitHead":"9a316bc6c1402177a293ce0464ae1820b62fe5f4","scripts":{"test":"mocha"},"_npmUser":{"name":"yoshokatana","email":"nelson@keats.me"},"repository":{"url":"https://github.com/nymag/gulp-folder-changed.git","type":"git"},"_npmVersion":"2.5.1","description":"Gulp plugin to pass through files if they've changed","directories":{},"_nodeVersion":"0.12.0","dependencies":{"glob":"^5.0.5","lodash":"^3.6.0"},"devDependencies":{"chai":"^2.2.0","mocha":"^2.2.4","sinon":"^1.14.1","mock-fs":"^2.5.0","vinyl-map":"^1.0.1","vinyl-fs-mock":"^0.1.2"}},"1.2.0":{"name":"gulp-folder-changed","version":"1.2.0","keywords":["gulp"],"author":{"name":"New York Media"},"license":"MIT","_id":"gulp-folder-changed@1.2.0","maintainers":[{"name":"yoshokatana","email":"nelson@keats.me"},{"name":"nymdev","email":"nymdev@nymag.com"}],"homepage":"https://github.com/nymag/gulp-folder-changed","bugs":{"url":"https://github.com/nymag/gulp-folder-changed/issues"},"dist":{"shasum":"1f1cf68cdf966a18d537570e82790d2c5a80082e","tarball":"https://registry.npmjs.org/gulp-folder-changed/-/gulp-folder-changed-1.2.0.tgz","integrity":"sha512-ZhgtkQRIbwr0Th87UDD9x8jfDIh+JGo8hNiyVKF1HIk+mUIOqc0eBstVjdzswMs4oztoajVKiruqwkL1XocYcA==","signatures":[{"sig":"MEQCIDsLvS4w3fCrUrQwYDEKhX1+fTlNfVCUZLYEf37+cb1AAiBBarYXylTkEAa06sus1tdaC4deuGIguS8c1pjSIDAAcg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"1f1cf68cdf966a18d537570e82790d2c5a80082e","gitHead":"20813fe0a8b2587c907a9895435b12a9ae91ecee","scripts":{"test":"mocha"},"_npmUser":{"name":"yoshokatana","email":"nelson@keats.me"},"repository":{"url":"https://github.com/nymag/gulp-folder-changed.git","type":"git"},"_npmVersion":"2.5.1","description":"Gulp plugin to pass through files if they've changed","directories":{},"_nodeVersion":"0.12.0","dependencies":{"glob":"^5.0.5","lodash":"^3.6.0"},"devDependencies":{"chai":"^2.2.0","mocha":"^2.2.4","sinon":"^1.14.1","mock-fs":"^2.5.0","vinyl-map":"^1.0.1","vinyl-fs-mock":"^0.1.2"}},"1.2.1":{"name":"gulp-folder-changed","version":"1.2.1","keywords":["gulp"],"author":{"name":"New York Media"},"license":"MIT","_id":"gulp-folder-changed@1.2.1","maintainers":[{"name":"yoshokatana","email":"nelson@keats.me"},{"name":"nymdev","email":"nymdev@nymag.com"}],"homepage":"https://github.com/nymag/gulp-folder-changed","bugs":{"url":"https://github.com/nymag/gulp-folder-changed/issues"},"dist":{"shasum":"7fbd3cde3dd114ed93633a047012e6f116b9af47","tarball":"https://registry.npmjs.org/gulp-folder-changed/-/gulp-folder-changed-1.2.1.tgz","integrity":"sha512-1UHx92QevOMLWX3fNBehUHtc3ftJhEt8NnzRbikGNL1otOaTRXf9UMY2IYcO+3eucT1gEC+v4i9b/Aj5Oxa7IA==","signatures":[{"sig":"MEYCIQCMxXhxxf9C8KvNh+YVz43klQZK2Xb1qndC/5G08BfweQIhAKqp8znAQULTrxx5cIgho38AZRvt+TPpkC3jNCWS6W/V","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"7fbd3cde3dd114ed93633a047012e6f116b9af47","gitHead":"a8d9bf6b910ee51cb033dbd7d8c4adaf23db999d","scripts":{"test":"mocha"},"_npmUser":{"name":"yoshokatana","email":"nelson@keats.me"},"repository":{"url":"https://github.com/nymag/gulp-folder-changed.git","type":"git"},"_npmVersion":"2.7.6","description":"Gulp plugin to pass through files if they've changed","directories":{},"_nodeVersion":"1.7.1","dependencies":{"glob":"^5.0.5","lodash":"^3.6.0"},"devDependencies":{"chai":"^2.2.0","mocha":"^2.2.4","sinon":"^1.14.1","mock-fs":"^2.5.0","vinyl-map":"^1.0.1","vinyl-fs-mock":"^0.1.2"}},"1.2.2":{"name":"gulp-folder-changed","version":"1.2.2","keywords":["gulp"],"author":{"name":"New York Media"},"license":"MIT","_id":"gulp-folder-changed@1.2.2","maintainers":[{"name":"yoshokatana","email":"nelson@keats.me"},{"name":"nymdev","email":"nymdev@nymag.com"}],"homepage":"https://github.com/nymag/gulp-folder-changed","bugs":{"url":"https://github.com/nymag/gulp-folder-changed/issues"},"dist":{"shasum":"9fa97a9f8f2d93971347384f307399ad7b4a6683","tarball":"https://registry.npmjs.org/gulp-folder-changed/-/gulp-folder-changed-1.2.2.tgz","integrity":"sha512-jTWlEs6Df9O86ABq2Qyw4ERjwmousuPWLr5yfJnI6itEVZAQ85IIK5Hv+sf0UPiPhzsTXDUmwc8L0rIsnhZbCw==","signatures":[{"sig":"MEYCIQC9VX4ORl95gwpa5Gh1HHpQdPXpFiYY6gUNJb1PTkCVLQIhALD3ksDpGKK4wNwZDZOY5A/rdAynyvk7/87Lzvhynq3q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"9fa97a9f8f2d93971347384f307399ad7b4a6683","gitHead":"a29ed79cad6f0ab38b535fc98b31b455122e768c","scripts":{"test":"mocha"},"_npmUser":{"name":"nymdev","email":"nymdev@nymag.com"},"repository":{"url":"git+https://github.com/nymag/gulp-folder-changed.git","type":"git"},"_npmVersion":"2.14.2","description":"Gulp plugin to pass through files if they've changed","directories":{},"_nodeVersion":"4.0.0","dependencies":{"glob":"^6.0.1","lodash":"^3.6.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.2.4","sinon":"^1.14.1","mock-fs":"^3.5.0","vinyl-map":"^1.0.1","vinyl-fs-mock":"^0.1.2"}}},"time":{"created":"2015-04-14T18:23:10.266Z","modified":"2026-09-22T21:37:53.975Z","1.0.0":"2015-04-14T18:23:10.266Z","1.1.0":"2015-04-14T18:43:12.780Z","1.1.1":"2015-04-15T14:42:52.372Z","1.2.0":"2015-04-16T16:23:03.988Z","1.2.1":"2015-04-17T15:49:11.018Z","1.2.2":"2015-12-09T14:49:49.537Z"},"bugs":{"url":"https://github.com/nymag/gulp-folder-changed/issues"},"author":{"name":"New York Media"},"license":"MIT","homepage":"https://github.com/nymag/gulp-folder-changed","keywords":["gulp"],"repository":{"url":"git+https://github.com/nymag/gulp-folder-changed.git","type":"git"},"description":"Gulp plugin to pass through files if they've changed","maintainers":[{"email":"nymdev@nymag.com","name":"nymdev"},{"email":"dontae.malone@voxmedia.com","name":"dontae-vox-media"},{"email":"lchevres@nymag.com","name":"nymdocker"},{"email":"reuben.son@nymag.com","name":"reubenson"},{"email":"Keren.Lerner@nymag.com","name":"kerenlerner"},{"email":"adelina.pepenella@nymag.com","name":"nymedia"},{"email":"webops@nymag.com","name":"nymagwebops"},{"email":"daniel@daniel.sh","name":"phyllisstein"},{"email":"jordanp9312@gmail.com","name":"jordanp9312"},{"email":"ealcantara22@gmail.com","name":"ealcantara22"},{"email":"wendy.ramirez@voxmedia.com","name":"wramirez92"},{"email":"alex.brand@voxmedia.com","name":"alex-vox-media"},{"email":"tara.siegel@voxmedia.com","name":"tara.siegel"},{"email":"shilpa.shetty@voxmedia.com","name":"shilpa.shetty"},{"email":"jesscastillo28@hotmail.com","name":"jess2896"}],"readme":"# gulp-folder-changed\nGulp plugin to pass through files if they've changed\n\n[![Build Status](https://travis-ci.org/nymag/gulp-folder-changed.svg)](https://travis-ci.org/nymag/gulp-folder-changed)\n[![Code Climate](https://codeclimate.com/github/nymag/gulp-folder-changed/badges/gpa.svg)](https://codeclimate.com/github/nymag/gulp-folder-changed)\n\n# Install\n\n```\nnpm install --save-dev gulp-folder-changed\n```\n\n# Usage\n\nPass this into something like [gulp-ignore](https://github.com/robrich/gulp-ignore) to pass through all files in a folder if any of those files has changed.\n\nTo match against a single file, pass in the file path:\n\n```\ndest/\n  styles.css\nsrc/\n  a.css\n  b.css\n```\n\n```js\nvar ignore = require('gulp-ignore'),\n  folderChanged = require('gulp-folder-changed');\n\ngulp.src('src/*.css')\n  .pipe(ignore.include(folderChanged('dest/styles.css')))\n  .pipe(doSomethingWithTheChangedFiles);\n```\n\nIf you want to match against more than one file, use a glob:\n\n```\ndest/\n  styles-1.css\n  styles-2.css\nsrc/\n  a.css\n  b.css\n```\n\n```js\nvar ignore = require('gulp-ignore'),\n  folderChanged = require('gulp-folder-changed');\n\ngulp.src('src/*.css')\n  .pipe(ignore.include(folderChanged('dest/styles-*.css')))\n  .pipe(doSomethingWithTheChangedFiles);\n```\n\nYou can also match against files with the same name as the source files:\n\n```\ndest/\n  a.css\n  b.css\nsrc/\n  a.css\n  b.css\n```\n\n```js\ngulp.src('src/*.css')\n  .pipe(ignore.include(folderChanged('dest/:name.css')))\n  .pipe(doSomethingWithTheChangedFiles);\n```\n\nIf you sort your source files into specific folders, you can match on the parent folder instead:\n\n```\ndest/\n  folder1.css\n  folder2.css\nsrc/\n  folder1/\n    a.css\n    b.css\n  folder2/\n    a.css\n    b.css\n```\n\n```js\ngulp.src('src/**/*.css')\n  .pipe(ignore.include(folderChanged('dest/:dirname.css')))\n  .pipe(doSomethingWithTheChangedFiles);\n```\n\nYou can also specify matching extensions (note: `:ext` includes the dot):\n\n```\ndest/\n  foo.css\n  foo.js\nsrc/\n  bar.css\n  baz.js\n```\n\n```js\ngulp.src('src/**/*.css')\n  .pipe(ignore.include(folderChanged('dest/foo:ext')))\n  .pipe(doSomethingWithTheChangedFiles);\n```\n\nCombine them to create powerful matching schemas!\n\n```\ndest/\n  foo-a.css\n  foo-b.css\n  foo-c.js\n  bar-a.css\n  bar-b.js\nsrc/\n  foo/\n    a.css\n    b.css\n    c.js\n  bar/\n    a.css\n    b.js\n```\n\n```js\ngulp.src('src/**/*.css')\n  .pipe(ignore.include(folderChanged('dest/:dirname-:name:ext')))\n  .pipe(doSomethingWithTheChangedFiles);\n```\n\nIf you want to do something super custom, you can pass an object with either a `parentName` or `parentDir` (or both!) as a second argument:\n\n```\ndest/\n  foo.css\n  bar.css\nsrc/\n  foo/\n    styles/\n      a.css\n      b.css\n  bar/\n    styles/\n      a.css\n      b.css\n```\n\n```js\nvar path = require('path'),\n  _ = require('lodash');\n\n// src/foo/styles/a.css -> foo\nfunction getName(filePath) {\n  return _.last(_.dropRight(path.dirname(filePath).split(path.sep)));\n}\n\n// foo -> src/foo/styles\nfunction getFolder(parentName) {\n  return path.join('src', parentName, 'styles');\n}\n\ngulp.src('src/**/*.css')\n  .pipe(ignore.include(folderChanged('dest/:dirname:ext', {\n    parentName: getName,\n    parentDir: getFolder\n  })))\n  .pipe(doSomethingWithTheChangedFiles);\n```\n\nHave fun!","readmeFilename":"README.md","users":{"gloddy":true}}