{"_id":"avocado","_rev":"8-3bfcf94ed7461d8af748c4cc037b5eb7","name":"avocado","description":"Vector Drawable & Animated Vector Drawable optimization tool","dist-tags":{"latest":"1.0.0"},"versions":{"0.0.0":{"name":"avocado","version":"0.0.0","description":"WIP js standard library","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/ariabuckles/avocado.git"},"author":{"name":"Aria Buckles"},"license":"CC0","bugs":{"url":"https://github.com/ariabuckles/avocado/issues"},"homepage":"https://github.com/ariabuckles/avocado","gitHead":"b84c49f20de24ac81bea184f23775ec886b8e26b","_id":"avocado@0.0.0","_shasum":"eb4d59bf8fdf1df43039181fdea3fa4527547282","_from":".","_npmVersion":"2.1.5","_nodeVersion":"0.10.28","_npmUser":{"name":"ariabuckles","email":"aria@khanacademy.org"},"maintainers":[{"name":"ariabuckles","email":"aria@khanacademy.org"}],"dist":{"shasum":"eb4d59bf8fdf1df43039181fdea3fa4527547282","tarball":"https://registry.npmjs.org/avocado/-/avocado-0.0.0.tgz","integrity":"sha512-3AICcP5Z8wEX1iPUz6nsbQy/siVPaLZk3T7Oj/RrQx07EF+v6qzG28s9nh7+B8T8W8Wm4VYq8zBZlUalO5gm8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDEY3zfRxgratwU3pRONy2UA8Q5eZ5U3TNj0g+FnOobdQIhAJqvcYkETMwcDTLzuW6Km8x6eqbS7SFuJFtYQ+p+S2z0"}]}},"0.1.5":{"name":"avocado","version":"0.1.5","description":"Vector Drawable & Animated Vector Drawable optimization tool","main":"dist/index.js","types":"dist/index.d.ts","bin":{"avdo":"./bin/avdo"},"scripts":{"prepublishOnly":"npm run build","build":"tsc","test":"mocha --require ts-node/register ./test/**/*.spec.ts","test-cov":"nyc -e '.ts' -r text -r lcov npm run test"},"repository":{"type":"git","url":"git+https://github.com/alexjlockwood/avdo.git"},"keywords":["Android","Vector Drawable","Animated Vector Drawable"],"author":{"name":"Alex Lockwood"},"license":"MIT","dependencies":{"commander":"^2.13.0","sax":"^1.2.4","util.promisify":"^1.0.0"},"devDependencies":{"@types/chai":"^4.1.1","@types/mocha":"^2.2.46","@types/node":"^9.3.0","@types/sax":"^1.0.0","chai":"^4.1.2","coveralls":"^3.0.0","mocha":"^5.0.0","nyc":"^11.4.1","prettier":"1.10.2","should":"^13.2.1","ts-node":"^4.1.0","typescript":"^2.6.2"},"engines":{"node":">=6.12.0"},"gitHead":"f5d85a44d6cec1c70c2e01bba33b8c3beef2dd5d","bugs":{"url":"https://github.com/alexjlockwood/avdo/issues"},"homepage":"https://github.com/alexjlockwood/avdo#readme","_id":"avocado@0.1.5","_npmVersion":"5.6.0","_nodeVersion":"9.1.0","_npmUser":{"name":"alexjlockwood","email":"alexjlockwood@gmail.com"},"dist":{"integrity":"sha512-2Q1EPNOY6T+2EuV9LjOLj70GIIPm1bTwUw7qdxUPlNAPR9TTHAckhyOIgkG4NXWntnNvRGmaM9emlHBKcEb8ng==","shasum":"9506004a67707ab44fedce3d0fb640c28cbfa93d","tarball":"https://registry.npmjs.org/avocado/-/avocado-0.1.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkigjaDrhulGJFm99m9fifGDYzDVFDT9fyGQN/iB9fJgIhANrO10SlZ2IeQ3Q85NNxEKe110B1Ym/KCCifNAXVGF4l"}]},"maintainers":[{"name":"alexjlockwood","email":"alexjlockwood@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/avocado-0.1.5.tgz_1516582233717_0.8340730494819582"}},"1.0.0":{"name":"avocado","version":"1.0.0","description":"Vector Drawable & Animated Vector Drawable optimization tool","main":"dist/index.js","types":"dist/index.d.ts","bin":{"avdo":"./bin/avocado","avocado":"./bin/avocado"},"scripts":{"prepublishOnly":"npm run build","build":"tsc","test":"mocha --require ts-node/register ./test/**/*.spec.ts","test-cov":"nyc -e '.ts' -r text -r lcov npm run test"},"repository":{"type":"git","url":"git+https://github.com/alexjlockwood/avocado.git"},"keywords":["Android","Vector Drawable","Animated Vector Drawable"],"author":{"name":"Alex Lockwood"},"license":"MIT","dependencies":{"commander":"^2.13.0","sax":"^1.2.4","util.promisify":"^1.0.0"},"devDependencies":{"@types/chai":"^4.1.1","@types/mocha":"^2.2.46","@types/node":"^9.3.0","@types/sax":"^1.0.0","chai":"^4.1.2","coveralls":"^3.0.0","mocha":"^5.0.0","nyc":"^11.4.1","prettier":"1.10.2","should":"^13.2.1","ts-node":"^4.1.0","typescript":"^2.6.2"},"engines":{"node":">=6.12.0"},"gitHead":"bba21b828073bac745649b9c46f6bdb7b15e5cc8","bugs":{"url":"https://github.com/alexjlockwood/avocado/issues"},"homepage":"https://github.com/alexjlockwood/avocado#readme","_id":"avocado@1.0.0","_npmVersion":"5.6.0","_nodeVersion":"9.1.0","_npmUser":{"name":"alexjlockwood","email":"alexjlockwood@gmail.com"},"dist":{"integrity":"sha512-JVEq0f3V7U0S8ebn/o942wwYylzolHBGUQQk2zHGqj5uEC5UqLdJ1NP0+D82Gdav1sxWuf+r+Rgb+2KbZs8HTQ==","shasum":"e4a5c297da726e6493a90bfd6ca727986020d2d5","tarball":"https://registry.npmjs.org/avocado/-/avocado-1.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCUDhZU6i49tZp3tZh2QdI2/X//SD28OpRqaf11IgJC+AIhAPE1x7Cxq0PRrakFsgB7OT1At2FkeqNPuRQewIUu8IqC"}]},"maintainers":[{"name":"alexjlockwood","email":"alexjlockwood@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/avocado-1.0.0.tgz_1516582825174_0.3944149168673903"}}},"readme":"# avocado\n\n[![Build status][travis-badge]][travis-badge-url]\n[![npm version][npm-badge]][npm-badge-url]\n[![Coverage status][coveralls-badge]][coveralls-badge-url]\n\n`avocado` is a command line tool (similar to [`svgo`][svgo]) that optimizes Android\n`VectorDrawable` (VD) and `AnimatedVectorDrawable` (AVD) xml files.\n\n## Installation\n\nYou can install `avocado` using [npm][npm] w/ the following command:\n\n```sh\nnpm install -g avocado\n```\n\n## Usage\n\n```text\nUsage: avocado [options] [file]\n\nOptions:\n\n  -V, --version          output the version number\n  -s, --string <string>  input VD or AVD string\n  -i, --input <file>     input file/directory, or \"-\" for STDIN\n  -o, --output <file>    output file/directory (same as the input file by default), or \"-\" for STDOUT\n  -d, --dir <dir>        optimizes and rewrite all *.xml files in a directory\n  -q, --quiet            only output error messages\n  -h, --help             output usage information\n```\n\n### Examples\n\n```sh\n# Optimize (and overwrite) a VD/AVD file.\navocado vector.xml\n\n# Optimize (and overwrite) multiple VD/AVD files.\navocado *.xml\n\n# Optimize a VD/AVD file and write the output to a new file.\navocado vector.xml -o vector_min.xml\n\n# Optimize a VD/AVD using standard input and standard output.\ncat vector.xml | avocado -i - -o - > vector_min.xml\n\n# Optimize (and overwrite) all of the VD/AVD files in a directory.\navocado -d path/to/directory\n\n# Optimize all VD/AVD files in a directory and write them to a new directory.\navocado -d path/to/input/directory -o path/to/output/directory\n\n# Optimize all files ending with '.xml' and write them to a new directory.\navocado *.xml -o path/to/output/directory\n\n# Pass a string as input and write the output to a new file.\navocado -s '<vector>...</vector>' -o vector_min.xml\n```\n\n`avocado` rewrites the `VectorDrawable` using the smallest number of `<group>`s and `<path>`s possible, reducing their file sizes and making them faster to parse and draw at runtime. The example below shows the contents of a `VectorDrawable` before and after being run through `avocado`.\n\n#### Before\n\n```xml\n<vector xmlns:android=\"http://schemas.android.com/apk/res/android\" android:width=\"108dp\" android:height=\"108dp\" android:viewportHeight=\"108\" android:viewportWidth=\"108\">\n  <path android:fillColor=\"#26A69A\" android:pathData=\"M0,0h108v108h-108z\" />\n  <group android:pivotX=\"54\" android:pivotY=\"54\" android:scaleX=\"1.5\" android:scaleY=\"1.5\">\n    <path android:fillColor=\"#00000000\" android:pathData=\"M9,0L9,108\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n    <path android:fillColor=\"#00000000\" android:pathData=\"M19,0L19,108\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n    <path android:fillColor=\"#00000000\" android:pathData=\"M29,0L29,108\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n    <path android:fillColor=\"#00000000\" android:pathData=\"M39,0L39,108\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n    <path android:fillColor=\"#00000000\" android:pathData=\"M49,0L49,108\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n    <path android:fillColor=\"#00000000\" android:pathData=\"M59,0L59,108\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n  </group>\n  <path android:fillColor=\"#00000000\" android:pathData=\"M69,0L69,108\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n  <path android:fillColor=\"#00000000\" android:pathData=\"M79,0L79,108\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n  <path android:fillColor=\"#00000000\" android:pathData=\"M89,0L89,108\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n  <path android:fillColor=\"#00000000\" android:pathData=\"M99,0L99,108\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n  <group android:translateX=\"54\" android:translateY=\"54\">\n    <group android:pivotX=\"54\" android:pivotY=\"54\" android:rotation=\"180\">\n      <path android:fillColor=\"#00000000\" android:pathData=\"M0,9L108,9\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n      <path android:fillColor=\"#00000000\" android:pathData=\"M0,19L108,19\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n      <path android:fillColor=\"#00000000\" android:pathData=\"M0,29L108,29\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n      <path android:fillColor=\"#00000000\" android:pathData=\"M0,39L108,39\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n      <path android:fillColor=\"#00000000\" android:pathData=\"M0,49L108,49\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n      <path android:fillColor=\"#00000000\" android:pathData=\"M0,59L108,59\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n    </group>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M0,69L108,69\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n    <path android:fillColor=\"#00000000\" android:pathData=\"M0,79L108,79\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n    <path android:fillColor=\"#00000000\" android:pathData=\"M0,89L108,89\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n    <path android:fillColor=\"#00000000\" android:pathData=\"M0,99L108,99\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n    <path android:fillColor=\"#00000000\" android:pathData=\"M19,29L89,29\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n    <path android:fillColor=\"#00000000\" android:pathData=\"M19,39L89,39\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n    <path android:fillColor=\"#00000000\" android:pathData=\"M19,49L89,49\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n    <path android:fillColor=\"#00000000\" android:pathData=\"M19,59L89,59\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n    <path android:fillColor=\"#00000000\" android:pathData=\"M19,69L89,69\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n    <path android:fillColor=\"#00000000\" android:pathData=\"M19,79L89,79\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n    <path android:fillColor=\"#00000000\" android:pathData=\"M29,19L29,89\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n    <path android:fillColor=\"#00000000\" android:pathData=\"M39,19L39,89\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n    <path android:fillColor=\"#00000000\" android:pathData=\"M49,19L49,89\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n    <path android:fillColor=\"#00000000\" android:pathData=\"M59,19L59,89\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n    <path android:fillColor=\"#00000000\" android:pathData=\"M69,19L69,89\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n    <path android:fillColor=\"#00000000\" android:pathData=\"M79,19L79,89\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\" />\n  </group>\n</vector>\n```\n\n#### After\n\n```xml\n<vector xmlns:android=\"http://schemas.android.com/apk/res/android\" android:width=\"108dp\" android:height=\"108dp\" android:viewportHeight=\"108\" android:viewportWidth=\"108\">\n    <path android:fillColor=\"#26A69A\" android:pathData=\"M0 0h108v108H0z\"/>\n    <path android:pathData=\"M-13.5-27v162m15-162v162m15-162v162m15-162v162m15-162v162m15-162v162M69 0v108M79 0v108M89 0v108M99 0v108m63 63h108m-108 10h108m-108 10h108m-108 10h108m-108 10h108m-108 10h108M54 123h108M54 133h108M54 143h108M54 153h108M73 83h70M73 93h70m-70 10h70m-70 10h70m-70 10h70m-70 10h70M83 73v70m10-70v70m10-70v70m10-70v70m10-70v70m10-70v70\" android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n</vector>\n\n```\n\n## Build instructions\n\nIf you want to contribute, first be sure to install the latest version of\n[`Node.js`](https://nodejs.org/) and [`npm`](https://www.npmjs.com/).\nIf you're not sure what IDE to use, I highly recommend checking out\n[vscode][vscode].\n\nThen clone this repository and in the root directory, run:\n\n```sh\nnpm install\n```\n\nTo build the tool, run:\n\n```sh\nnpm run build\n```\n\nTo test the tool, run:\n\n```sh\nnpm run test\n```\n\n  [travis-badge]: https://travis-ci.org/alexjlockwood/avocado.svg?branch=master\n  [travis-badge-url]: https://travis-ci.org/alexjlockwood/avocado\n  [coveralls-badge]: https://coveralls.io/repos/github/alexjlockwood/avocado/badge.svg?branch=master\n  [coveralls-badge-url]: https://coveralls.io/github/alexjlockwood/avocado?branch=master\n  [npm-badge]: https://badge.fury.io/js/avocado.svg\n  [npm-badge-url]: https://www.npmjs.com/package/avocado\n  [svgo]: https://github.com/svg/svgo\n  [vscode]: https://code.visualstudio.com/\n  [npm]: https://www.npmjs.com/get-npm\n","maintainers":[{"name":"alexjlockwood","email":"alexjlockwood@gmail.com"}],"time":{"modified":"2022-06-13T03:52:17.641Z","created":"2015-03-24T19:27:07.323Z","0.0.0":"2015-03-24T19:27:07.323Z","0.1.5":"2018-01-22T00:50:34.268Z","1.0.0":"2018-01-22T01:00:25.283Z"},"homepage":"https://github.com/alexjlockwood/avocado#readme","repository":{"type":"git","url":"git+https://github.com/alexjlockwood/avocado.git"},"author":{"name":"Alex Lockwood"},"bugs":{"url":"https://github.com/alexjlockwood/avocado/issues"},"license":"MIT","readmeFilename":"README.md","keywords":["Android","Vector Drawable","Animated Vector Drawable"]}