{"_id":"grunt-versioning-incremental","_rev":"58-687084f3d92581b61d95a15623c52b6a","name":"grunt-versioning-incremental","description":"Versioning static assets with Grunt","dist-tags":{"latest":"0.1.7"},"versions":{"0.0.1":{"name":"grunt-versioning-incremental","description":"Versioning static assets with Grunt","version":"0.0.1","homepage":"https://github.com/brandonmcquarie/grunt-versioning-incremental","author":{"name":"Brandon McQuarie","email":"brandon.mcquarie@gmail.com"},"repository":{"type":"git","url":"git://github.com/brandonmcquarie/grunt-versioning-incremental.git"},"bugs":{"url":"https://github.com/brandonmcquarie/grunt-versioning-incremental/issues"},"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"devDependencies":{"grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"dependencies":{"underscore":"~1.6.0"},"_resolved":"https://registry.npmjs.org/grunt-assets-versioning/-/grunt-assets-versioning-0.1.5.tgz","_id":"grunt-versioning-incremental@0.0.1","dist":{"shasum":"ace1a85466ee5c747d396aca7faabf5b7e648470","tarball":"https://registry.npmjs.org/grunt-versioning-incremental/-/grunt-versioning-incremental-0.0.1.tgz","integrity":"sha512-7kzqEcc74wS3IgnA/FYPzweYGpSrxHsjPQCYWdQCN+tCgTkrENZIFTtLG7CWwMSewuntlX4SGAug5+QGg4G6Pw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDirIMS4qunQpAFVWS4ancriQ191Fk+MuGLuwhZeUFLEQIhAK0IM1WdsyVWP0Ku6kLiZO26vFGvqJaXTQAzAFhu5Cjp"}]},"_from":"./","_npmVersion":"1.3.17","_npmUser":{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"},"maintainers":[{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"}]},"0.0.2":{"name":"grunt-versioning-incremental","description":"Versioning static assets with Grunt","version":"0.0.2","homepage":"https://github.com/brandonmcquarie/grunt-versioning-incremental","author":{"name":"Brandon McQuarie","email":"brandon.mcquarie@gmail.com"},"repository":{"type":"git","url":"git://github.com/brandonmcquarie/grunt-versioning-incremental.git"},"bugs":{"url":"https://github.com/brandonmcquarie/grunt-versioning-incremental/issues"},"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"devDependencies":{"grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"dependencies":{"underscore":"~1.6.0"},"_resolved":"https://registry.npmjs.org/grunt-assets-versioning/-/grunt-assets-versioning-0.1.5.tgz","_id":"grunt-versioning-incremental@0.0.2","dist":{"shasum":"d88fe607704918fe436c9f640603aa17a10d9be5","tarball":"https://registry.npmjs.org/grunt-versioning-incremental/-/grunt-versioning-incremental-0.0.2.tgz","integrity":"sha512-I78+Kor17ne2HxoZeq+/Jvzf5/HImr94+QDFirpWm7OsZxTDYoIgANwJh6xyDr8h8gBm5Y7uV4/PIu/4DYgbJw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDC6YDGcskMNADf/uA4qW0jYNJZcQM8ZH9OCd60iC/qiAIgPW8G6Uy77M2B1hhoxobe6UPywmYMyVPBcs2nMBfWQsY="}]},"_from":"./","_npmVersion":"1.3.17","_npmUser":{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"},"maintainers":[{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"}]},"0.0.3":{"name":"grunt-versioning-incremental","description":"Versioning static assets with Grunt","version":"0.0.3","homepage":"https://github.com/brandonmcquarie/grunt-versioning-incremental","author":{"name":"Brandon McQuarie","email":"brandon.mcquarie@gmail.com"},"repository":{"type":"git","url":"git://github.com/brandonmcquarie/grunt-versioning-incremental.git"},"bugs":{"url":"https://github.com/brandonmcquarie/grunt-versioning-incremental/issues"},"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"devDependencies":{"grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"dependencies":{"underscore":"~1.6.0"},"_id":"grunt-versioning-incremental@0.0.3","dist":{"shasum":"23bb6e09fc6a79441ce017ac416a7663fa49e0f0","tarball":"https://registry.npmjs.org/grunt-versioning-incremental/-/grunt-versioning-incremental-0.0.3.tgz","integrity":"sha512-S4wm+yfUrP3KxgKid79BDUKb/ZS6B2qTzewWNilrS05J9mlXw5N5waQeLHIKZvTfpQ0JhRuDfEXdFgBXe2BGCg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDF1f9+SOoMLY0Lm467kIs+NaI11YT1G/Yy0PBZdcd7fAiAIkezlFTiTXaZ8ThzHfprhtgc1DmVQ9oH7R2rszRPuQQ=="}]},"_from":"./","_npmVersion":"1.3.17","_npmUser":{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"},"maintainers":[{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"}]},"0.1.0":{"name":"grunt-versioning-incremental","description":"Versioning static assets with Grunt","version":"0.1.0","homepage":"https://github.com/brandonmcquarie/grunt-versioning-incremental","author":{"name":"Brandon McQuarie","email":"brandon.mcquarie@gmail.com"},"repository":{"type":"git","url":"git://github.com/brandonmcquarie/grunt-versioning-incremental.git"},"bugs":{"url":"https://github.com/brandonmcquarie/grunt-versioning-incremental/issues"},"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"devDependencies":{"grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"dependencies":{"underscore":"~1.6.0"},"_id":"grunt-versioning-incremental@0.1.0","dist":{"shasum":"5352ab8d556af09b79552fdeabaf224a9c66e5e8","tarball":"https://registry.npmjs.org/grunt-versioning-incremental/-/grunt-versioning-incremental-0.1.0.tgz","integrity":"sha512-oiifZUr7l8eesZN7uLtpjjeC//f1cTYV/mBLVyPSixjkaqdNI2fh8OM4kkkl/Av7OnBPtv3xnmcAS1jMYJMWNg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAIFIooDQdBQuogyTo9otJfEzw8SqaHu8GHz5Hzx39B7AiB44tfMZ3+WFh1N88UyEWIahRr+1IoYxl0rI6MTjn7suQ=="}]},"_from":"./","_npmVersion":"1.3.17","_npmUser":{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"},"maintainers":[{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"}]},"0.1.1":{"name":"grunt-versioning-incremental","description":"Versioning static assets with Grunt","version":"0.1.1","homepage":"https://github.com/brandonmcquarie/grunt-versioning-incremental","author":{"name":"Brandon McQuarie","email":"brandon.mcquarie@gmail.com"},"repository":{"type":"git","url":"git://github.com/brandonmcquarie/grunt-versioning-incremental.git"},"bugs":{"url":"https://github.com/brandonmcquarie/grunt-versioning-incremental/issues"},"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"devDependencies":{"grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"dependencies":{"underscore":"~1.6.0"},"_id":"grunt-versioning-incremental@0.1.1","dist":{"shasum":"6a9bcc9f9a9944908963e76614342b9c2bb34e3b","tarball":"https://registry.npmjs.org/grunt-versioning-incremental/-/grunt-versioning-incremental-0.1.1.tgz","integrity":"sha512-9wSzK+Wf0LzUEpB4RtmFBAz0sKz8Q4YUnAColjTP4Y4+VgmQGoAAft87O1GNeOkjmIMf3lUEqQQdj2Erre3AUg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9kG8lPgSb9sBijSjtGGbWDbs8HhBxwYlIes/A8rexSwIgWXSRvCIYoh6u8HEGS7UrCALGTmUeKUbMFsPf0P7ITOg="}]},"_from":"./","_npmVersion":"1.3.17","_npmUser":{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"},"maintainers":[{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"}]},"0.1.2":{"name":"grunt-versioning-incremental","description":"Versioning static assets with Grunt","version":"0.1.2","homepage":"https://github.com/brandonmcquarie/grunt-versioning-incremental","author":{"name":"Brandon McQuarie","email":"brandon.mcquarie@gmail.com"},"repository":{"type":"git","url":"git://github.com/brandonmcquarie/grunt-versioning-incremental.git"},"bugs":{"url":"https://github.com/brandonmcquarie/grunt-versioning-incremental/issues"},"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"devDependencies":{"grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"dependencies":{"underscore":"~1.6.0"},"_id":"grunt-versioning-incremental@0.1.2","dist":{"shasum":"7db8e5583a010fd09e30e033f28b8ffa82c72607","tarball":"https://registry.npmjs.org/grunt-versioning-incremental/-/grunt-versioning-incremental-0.1.2.tgz","integrity":"sha512-8NMO6xwyN75IouOLDbLLJ/pnBHrKwsJRCIloX3h6Zq5u8IHuL5ahdF9ZWzvVGAvrc+z4AcvwpFjL9J3sHHYSMQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD68KC81rdXdfRpaOtmR9Drh7nvoudafo047s2Hoe20iwIhAM+3ApqZTQX14vP53G0ouR+ArHyqY57gwd+h/C3TmD8y"}]},"_from":"./","_npmVersion":"1.3.17","_npmUser":{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"},"maintainers":[{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"}]},"0.1.3":{"name":"grunt-versioning-incremental","description":"Versioning static assets with Grunt","version":"0.1.3","homepage":"https://github.com/brandonmcquarie/grunt-versioning-incremental","author":{"name":"Brandon McQuarie","email":"brandon.mcquarie@gmail.com"},"repository":{"type":"git","url":"git://github.com/brandonmcquarie/grunt-versioning-incremental.git"},"bugs":{"url":"https://github.com/brandonmcquarie/grunt-versioning-incremental/issues"},"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"devDependencies":{"grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"dependencies":{"underscore":"~1.6.0"},"_id":"grunt-versioning-incremental@0.1.3","dist":{"shasum":"ce397b0c8524691bb7e29869b7c2dd43778a4263","tarball":"https://registry.npmjs.org/grunt-versioning-incremental/-/grunt-versioning-incremental-0.1.3.tgz","integrity":"sha512-a8lOrun/HQb8T9wNb/Y0AUa43+6DnJLgl2/adGUfD+figH4faaUSGzhI2c1+me73ggqwl6ap+Wf+y7IzZMc08A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJVwk5mFAi5TvQhkVFLThpT6UXDXKs4sJWmAcTU1QM+gIhAKDLAzKYOJKaXRkbjFMAAUP51YM5Il9DHSimr1Aei+Ee"}]},"_from":"./","_npmVersion":"1.3.17","_npmUser":{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"},"maintainers":[{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"}]},"0.1.4":{"name":"grunt-versioning-incremental","description":"Versioning static assets with Grunt","version":"0.1.4","homepage":"https://github.com/brandonmcquarie/grunt-versioning-incremental","author":{"name":"Brandon McQuarie","email":"brandon.mcquarie@gmail.com"},"repository":{"type":"git","url":"git://github.com/brandonmcquarie/grunt-versioning-incremental.git"},"bugs":{"url":"https://github.com/brandonmcquarie/grunt-versioning-incremental/issues"},"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"devDependencies":{"grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"dependencies":{"underscore":"~1.6.0"},"_id":"grunt-versioning-incremental@0.1.4","dist":{"shasum":"8597a2144e3b55c3c3635ff1b92af9ceac7f165a","tarball":"https://registry.npmjs.org/grunt-versioning-incremental/-/grunt-versioning-incremental-0.1.4.tgz","integrity":"sha512-QyfyRYlEChOnjAYfGvYOFbF1b8pFnFoOwtj/bBRDGFbZjb4QGpILm+EZ/o0WScfnyVOMfTeti68mULEEjI40hg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFc2iLpHaZEOdVMbM3oVnwTnUl3W81ZK33EdkFqLBc34AiEAi7sm69Ar74GzPeVrofbcfnvGZOjdcTM2hEoXAjNglfg="}]},"_from":"./","_npmVersion":"1.3.17","_npmUser":{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"},"maintainers":[{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"}]},"0.1.5":{"name":"grunt-versioning-incremental","description":"Versioning static assets with Grunt","version":"0.1.5","homepage":"https://github.com/brandonmcquarie/grunt-versioning-incremental","author":{"name":"Brandon McQuarie","email":"brandon.mcquarie@gmail.com"},"repository":{"type":"git","url":"git://github.com/brandonmcquarie/grunt-versioning-incremental.git"},"bugs":{"url":"https://github.com/brandonmcquarie/grunt-versioning-incremental/issues"},"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"devDependencies":{"grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"dependencies":{"underscore":"~1.6.0"},"_id":"grunt-versioning-incremental@0.1.5","dist":{"shasum":"8bc708a6aac38ce094b40d29e47a755a7fee7c13","tarball":"https://registry.npmjs.org/grunt-versioning-incremental/-/grunt-versioning-incremental-0.1.5.tgz","integrity":"sha512-lrmC8Xr4how8qlkZAtyNZ2I98mysb/j4dUVXykV6dL7MVrIlQqekfyC+hbSCvQpjKqHz0BpVsOogyxc5l9pP4A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICPnin+PknbsbplDty/qYJPHpzVv37uJNMWjPqKKY6SxAiBRijtGxrkEJ/R1kDdxi0q9chgOVzsMu17e6AstN1JRMQ=="}]},"_from":"./","_npmVersion":"1.3.17","_npmUser":{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"},"maintainers":[{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"}]},"0.1.6":{"name":"grunt-versioning-incremental","description":"Versioning static assets with Grunt","version":"0.1.6","homepage":"https://github.com/brandonmcquarie/grunt-versioning-incremental","author":{"name":"Brandon McQuarie","email":"brandon.mcquarie@gmail.com"},"repository":{"type":"git","url":"git://github.com/brandonmcquarie/grunt-versioning-incremental.git"},"bugs":{"url":"https://github.com/brandonmcquarie/grunt-versioning-incremental/issues"},"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"devDependencies":{"grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"dependencies":{"underscore":"~1.6.0"},"_id":"grunt-versioning-incremental@0.1.6","dist":{"shasum":"8fba7fbca3a0fbbeefef98a75fd42c07a5ef45f0","tarball":"https://registry.npmjs.org/grunt-versioning-incremental/-/grunt-versioning-incremental-0.1.6.tgz","integrity":"sha512-Q5pd6fJkZZaZuwzDkJroV2hOWnagLxQm6epg3yqYTnblBUAoGuRA621+bHe79l0TQxJeQUJDuzbPdsh2zuXUug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICYGtZEt+Y4tBbdA/uZ9VP4x3ITqsLru6SGEMkMHPYPnAiBaQWH7AK5nLE7AA7h9H0HyRVRZTL5bky42PuOFQMgoPw=="}]},"_from":"./","_npmVersion":"1.3.17","_npmUser":{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"},"maintainers":[{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"}]},"0.1.7":{"name":"grunt-versioning-incremental","description":"Versioning static assets with Grunt","version":"0.1.7","homepage":"https://github.com/brandonmcquarie/grunt-versioning-incremental","author":{"name":"Brandon McQuarie","email":"brandon.mcquarie@gmail.com"},"repository":{"type":"git","url":"git://github.com/brandonmcquarie/grunt-versioning-incremental.git"},"bugs":{"url":"https://github.com/brandonmcquarie/grunt-versioning-incremental/issues"},"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"devDependencies":{"grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"dependencies":{"underscore":"~1.6.0"},"_id":"grunt-versioning-incremental@0.1.7","dist":{"shasum":"a2b19e582ab2ce8aad41ccda54f7a03964c485c3","tarball":"https://registry.npmjs.org/grunt-versioning-incremental/-/grunt-versioning-incremental-0.1.7.tgz","integrity":"sha512-/GusE5Nmuxv5fqCvDzm+5g0fCaNMrz56p0a2+yJVIxqq7YO4Z5vcB/s5mBhAMpNiFvGUteFqPJj9v9k0zn2yuQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrVHrUFc9/P4MRnEyaBFPfc3SJkgL0QGHk4jhrIkBfNwIhAILikTv+huadQGcAaDDc4Kzq7/vAZWIVjkyl+595eJpU"}]},"_from":"./","_npmVersion":"1.3.17","_npmUser":{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"},"maintainers":[{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"}]}},"readme":"# grunt-versioning-incremental\n\n> Versioning Static Files Incrementally with Grunt\n\n> I will be creating an example Node Project using this, after some more testing\n> This module will take a file named example.extension and turn it into example._version_.extension\n> If example._5_.extension exists, and the example.extension file is modified, example._5_.extension will be removed and example._6_.extension will be created.\n> I have a helper function in my Node templates that does the following\n\n> Warning! If you change the options.pattern this module WILL delete versioned files that no longer match the new pattern. If you want to change your pattenr, I recommend passing `logging` as `[2]` and `testing` as `true` so you can see what files will be deleted before you build!\n\n```js\n    setVersioning(fs.readFileSync('.cache/versioning.json', { encoding: 'utf8' }));\n    \n    setVersioning: function(file) {\n\t\tthis.versionRoutes = JSON.parse(file).modified;\n\t}\n\n\tgetVersionFile: function(path) {\n        if (globalVars.production) {\n\t\t\treturn this.versionRoutes[path] || path;\n\t\t}\n\n\t\treturn path;\n\t}\n```\n> Those functions are placed into a global Functions file, and then in your template (Depending on what templating language you use, I use underscore tempaltes on the Server, you can do something as followed\n\n```html\n<link href=\"<%=getVersionFile('/css/apps/sitewidget.css')%>\" rel=\"stylesheet\">\n```\n\n## Getting Started\nThis plugin requires Grunt `~0.4.1`\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-versioning-incrementally --save-dev\n```\n\nOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('grunt-versioning-incremental');\n```\n\n## The \"versioningIncremental\" task\n\n### Overview\nIn your project's Gruntfile, add a section named `versioningIncremental` to the data object passed into `grunt.initConfig()`.\n\n```js\ngrunt.initConfig({\n    versioningIncremental: {\n        options: {\n            // Task-specific options go here.\n        },\n        files: [\n            {\n                expand: true,\n                cwd: 'public/css/',\n                src: '**/*.*',\n                dest: 'public/css/',\n            }\n        ]\n    },\n})\n```\n\n### Options\n\n#### options.cacheFile\nType: `String`\nDefault value: `.cache/versioning.json`\n\nWhere do you want to save the output file so you can translate the unversioned URL to the versioned URL\n\n#### options.deletedFile\nType: `String`\nDefault value: `.cache/versioningOld.json`\n\nWhere do you want to save a list of all of the old versioned files. Useful to have a manual script that deletes them. As an example, I upload all of my versioned files to an S3 bucket, after I test that all the files are good, I run a script that reads in the versioningOld.json and deletes those files from S3.\n\n#### options.encoding\nType: `String`\nPossible Values `utf8`, `ascii`, `base64`\nDefault value: `utf8`\n\nHow do you want to encode the output files that are versioned\n\n#### options.versionAllFiles\nType: `Boolean`\nPossible Values `true`, `false`\nDefault value: `false`\n\nForce every file to be reversioned when set to true\n\n#### options.outputKey(key)\nType: `Function`\nArgument `key`: `Relative path to unversioned file`\n\nFunction that passes the relative path to the unversioned file, and allows you to do any directory replacing or renaming before the cache file saves. As an example, my public/css/bootstrap.css file gets passed in and I do a replace on `public/css/` to `assets/` so when I include the file in the assets directory, the cache file has a mapping of that file to the built version\n\n#### options.outputValue(value)\nType: `Function`\nArgument `value`: `Relative path to versioned file`\n\nSame type of thing as the `outputKey(key)` function above, allows you to rename any part of the relative path to the built file. I rename `public/css/` in my CSS files to `assets/`\n\n#### options.pattern\nType: `String`\nRequirements: `name` `version` `ext`\nDefault value: `name._version_.ext`\n\nCreate the structure that you want your versioned files to have. `name._version_.ext` will turn testFile.css into `testFile._1_.css`\n\n#### options.findRegex\nType: `RegExp`\nDefault value: Auto generated baesed off of options.pattern\n\nCreate the Regular Expression that will determine if a file in a given directory is a versioned file or not. Recommend leaving this parameter alone unless you have very strict RegEx requirements. The `options.pattern` should handle most cases.\n\n#### options.versionRegex\nType: `RegExp`\nDefault value: Auto generated baesed off of options.pattern\n\nCreate the Regular Expression that will grab the version number out of the versioned file path. Recommend leaving this parameter alone unless you have very strict RegEx requirements. The `options.pattern` should handle most cases.\n\n#### options.replaceRegex\nType: `RegExp`\nDefault value: Auto generated baesed off of options.pattern\n\nCreate the Regular Expression that will grab the entire version number and any additional characters. For the example `name._version_.ext`, it will grab the `._version.`. Recommend leaving this parameter alone unless you have very strict RegEx requirements. The `options.pattern` should handle most cases.\n\n#### options.startingVersion\nType: `Integer`\nDefault value: 0\n\nStarting version number for your unversioned files. If your file is already versioned, it will stil only increment by one. If your file has not been versioned yet, it will start off at `options.startinVersion + 1`, so a value of 200 will start your versioning at 201.\n\n#### options.logging\nType: `Array` of `Integer`\nDefault value: [ 1, 2 ]\n\nModify this to get more granular logs during the build process.\n1. Creating new version file\n2. Deleting old version file\n3. Process flow `Useful for debugging`\n4. File already versioned\n\n#### options.testing\nType: `Boolean`\nDefault value: false\n\nHaving a value of `true` will cause the build process to generate console messages, depending on your `options.logging` array, but will not delete, create, or modify any files. Your Cache File will remain untouched as well. Useful for when you are testing new settings, especially when changing your `options.pattern` to ensure no extra files get deleted.\n\n#### options.deletedOld\nType: `Boolean`\nDefault value: true\n\nDo you want the old versioned files to be automatically deleted from the versioned directory.\n\n### Usage Examples\n\n#### Versioning your CSS directory, saving the versioned files into the same directory\nIn this example, all of your CSS files inside your CSS directory will be versioned into their same directory\n\n```js\ngrunt.initConfig({\n    versioningIncremental: {\n        staticFiles: {\n            options: {\n                outputKey: function(key) {\n                    key = key.replace('public/static-built/', '/assets/');\n                    console.log(key);\n                    return key;\n                },\n                outputValue: function(value) {\n                    value = value.replace('public/static-built/', '/assets/');\n                    return value;\n                },\n                startingVersion: 200\n                pattern: 'version.name.ext'\n            },\n            files: [\n                {\n                    expand: true,\n                    cwd: 'public/static-built/',\n                    src: '**/*.*',\n                    dest: 'public/static-built/',\n                }\n            ]\n        },\n        cssFiles: {\n            options: {\n                outputKey: function(key) {\n                    key = key.replace('public/css/', '/css/');\n                    console.log(key);\n                    return key;\n                },\n                outputValue: function(value) {\n                    value = value.replace('public/css/', '/css/');\n                    return value;\n                },\n                testing: true,\n                logging: [1, 2, 3, 4],\n                versionAllFiles: true\n            },\n            files: [\n                {\n                    expand: true,\n                    cwd: 'public/css/',\n                    src: '**/*.*',\n                    dest: 'public/css/',\n                }\n            ]\n        }\n    },\n});\n```\n\n## Release History\n\n* Removed unused var's\n* Updated logic for gathering mappings between src/dest files\n* Updated var's locally to use a local object instead of creating a new var every time\n\n* Added optional deleting of old versioned files\n* Added old version file cache\n\n* Fixed issue with versioning files when the versioned file has been manually deleted\n* Fixed issue with versioning files with new RegEx\n\n* Added additional config options\n    * options.logging\n    * options.pattern\n    * options.findRegex\n    * options.replaceRegex\n    * options.versionRegex\n    * options.testing\n    * options.startingVersion\n    * options.versionAllFiles\n* Added automatic generation of Regex based on your options.pattern\n* Updated process flow to try and account for more Grunt Configurations\n","maintainers":[{"name":"brandonmcquarie","email":"brandon.mcquarie@gmail.com"}],"time":{"modified":"2022-06-18T16:15:47.431Z","created":"2014-05-07T20:43:49.216Z","0.0.1":"2014-05-07T20:43:49.924Z","0.0.2":"2014-05-07T20:51:12.355Z","0.0.3":"2014-05-08T14:02:44.815Z","0.1.0":"2014-05-10T20:51:44.727Z","0.1.1":"2014-05-12T15:13:41.166Z","0.1.2":"2014-05-12T15:20:19.233Z","0.1.3":"2014-05-12T16:06:11.416Z","0.1.4":"2014-05-12T18:45:14.191Z","0.1.5":"2014-05-19T21:56:15.585Z","0.1.6":"2014-05-20T04:04:18.190Z","0.1.7":"2014-06-11T15:25:01.374Z"},"readmeFilename":"README.md","homepage":"https://github.com/brandonmcquarie/grunt-versioning-incremental","keywords":["gruntplugin"],"repository":{"type":"git","url":"git://github.com/brandonmcquarie/grunt-versioning-incremental.git"},"author":{"name":"Brandon McQuarie","email":"brandon.mcquarie@gmail.com"},"bugs":{"url":"https://github.com/brandonmcquarie/grunt-versioning-incremental/issues"},"users":{}}