{"_id":"js-todos","_rev":"26-f1af085c4f8712821c208c52366aa216","name":"js-todos","description":"Finds todos in JS source-code","dist-tags":{"latest":"1.1.1"},"versions":{"0.0.2":{"name":"js-todos","version":"0.0.2","description":"Finds todos in JS source-code","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"ssh://git@bitbucket.org/timruffles/comment-parser.git"},"bin":{"js-todos":"./bin/js-todos"},"author":{"name":"Tim Ruffles"},"license":"BSD","dependencies":{"esprima":"~1.0.4","colors":"~0.6.2"},"devDependencies":{"referee":"~1.0.1","mocha":"~1.13.0"},"_id":"js-todos@0.0.2","dist":{"shasum":"fab77abac3f0a8caf4c72b17141cc2cffb188485","tarball":"https://registry.npmjs.org/js-todos/-/js-todos-0.0.2.tgz","integrity":"sha512-fLeGL7dD+MtlSSHJsRZItLJrjFgtiRzWVi92zdM2wCcTT6CS3t/9dgRYD1jwoz2mU90eeUryNtbOMFsPNY4mQQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHAs0cgKAcWv8huG768jRAPjHV6IJE3Lr7euj2sXXTx9AiEAssr5kWmEJI5yPyvCuDNhMvDUDv3QU3MiZYqdekqRhWQ="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"timruffles","email":"timruffles@googlemail.com"},"maintainers":[{"name":"timruffles","email":"timruffles@googlemail.com"}],"directories":{}},"0.0.3":{"name":"js-todos","version":"0.0.3","description":"Finds todos in JS source-code","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"homepage":"https://github.com/timruffles/js-todos","repository":{"type":"git","url":"ssh://git@bitbucket.org/timruffles/comment-parser.git"},"bin":{"js-todos":"./bin/js-todos"},"author":{"name":"Tim Ruffles"},"license":"BSD","dependencies":{"esprima":"~1.0.4","colors":"~0.6.2"},"devDependencies":{"referee":"~1.0.1","mocha":"~1.13.0"},"_id":"js-todos@0.0.3","dist":{"shasum":"682e430f80196dc1b423595f3786b6b228284a4d","tarball":"https://registry.npmjs.org/js-todos/-/js-todos-0.0.3.tgz","integrity":"sha512-mS7XJg9Q1fHXm9qez3FQO9MaivUDQYQfpxJtQAn9Vkm8mDPGi7cbtVYrkVSqgr9Kht/MYCrZ03Iz3bmQJCIqUw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1RrxGx0VA09la/VZ286ZKK/dZzUsQ+4ahLwhcWL2ksAIhAKvptZT3ShtPd3oPCpZ+qFh8K5TLjBtLsYqcI1OsE9xA"}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"timruffles","email":"timruffles@googlemail.com"},"maintainers":[{"name":"timruffles","email":"timruffles@googlemail.com"}],"directories":{}},"0.0.4":{"name":"js-todos","version":"0.0.4","description":"Finds todos in JS source-code","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"homepage":"https://github.com/timruffles/js-todos","repository":{"type":"git","url":"ssh://git@bitbucket.org/timruffles/comment-parser.git"},"bin":{"js-todos":"./bin/js-todos"},"author":{"name":"Tim Ruffles"},"license":"BSD","dependencies":{"esprima":"~1.0.4","colors":"~0.6.2","optimist":"~0.6.0"},"devDependencies":{"referee":"~1.0.1","mocha":"~1.13.0"},"_id":"js-todos@0.0.4","dist":{"shasum":"448ac2cabd1d22d7076bbba39c8f6887ee9cae96","tarball":"https://registry.npmjs.org/js-todos/-/js-todos-0.0.4.tgz","integrity":"sha512-3REGl/1L0h6ejNhzzXatL1RSHrqu8q3xMJ+4u6RKWzIfSRejGi3a5GKuNkKyHgQx83EQqchJoilCplxD2qBcnA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDFSolROEeKmdoh62KW2YMPQbV9cVnT1AUZWM0WdH5pHAIhAIpxTKjAGHsTXaDJADFU/yAMHQ+yjuAUl/UPib7v+fV5"}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"timruffles","email":"timruffles@googlemail.com"},"maintainers":[{"name":"timruffles","email":"timruffles@googlemail.com"}],"directories":{}},"0.0.5":{"name":"js-todos","version":"0.0.5","description":"Finds todos in JS source-code","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"homepage":"https://github.com/timruffles/js-todos","repository":{"type":"git","url":"ssh://git@bitbucket.org/timruffles/comment-parser.git"},"bin":{"js-todos":"./bin/js-todos"},"files":["bin","index.js"],"author":{"name":"Tim Ruffles"},"license":"BSD","dependencies":{"esprima":"~1.0.4","colors":"~0.6.2","optimist":"~0.6.0"},"devDependencies":{"referee":"~1.0.1","mocha":"~1.13.0"},"_id":"js-todos@0.0.5","dist":{"shasum":"6d310853038be9c78057cfb1fc1baba9f00635db","tarball":"https://registry.npmjs.org/js-todos/-/js-todos-0.0.5.tgz","integrity":"sha512-D18nR3vAGqC+vBQn2mjLzNuWB15R6qxMUSPzSGeQ/HN4sazKMIt0LP29wmr1pqxnV2fvhG5wIC00WOyQVS/EKw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAVUkaAEpWQczfL4LjFQLXeAkweZw+1UQIKwqVfyb2PLAiAugG5gN17UudwycemNxmRe10ev9VLOw5ggxR3poNG7wQ=="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"timruffles","email":"timruffles@googlemail.com"},"maintainers":[{"name":"timruffles","email":"timruffles@googlemail.com"}],"directories":{}},"0.0.6":{"name":"js-todos","version":"0.0.6","description":"Finds todos in JS source-code","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"homepage":"https://github.com/timruffles/js-todos","repository":{"type":"git","url":"ssh://git@bitbucket.org/timruffles/comment-parser.git"},"bin":{"js-todos":"./bin/js-todos"},"files":["bin","index.js"],"author":{"name":"Tim Ruffles"},"license":"BSD","dependencies":{"esprima":"~1.0.4","colors":"~0.6.2","optimist":"~0.6.0"},"devDependencies":{"referee":"~1.0.1","mocha":"~1.13.0"},"_id":"js-todos@0.0.6","dist":{"shasum":"c51e5d88c038ebb2b56b46ac8835d16b744c2569","tarball":"https://registry.npmjs.org/js-todos/-/js-todos-0.0.6.tgz","integrity":"sha512-6mM3mN1bcPSTE+WSsC3HCOPMlSxzeqoGTnZK9iYsgctwGiDJI6tVs5pEDAZr51eM3HVWiDzXT9+WzpqaXCZ6UQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDIgSVqZ2D0lAfez8Kcag6/P5I7U1kflLaoMRK/OZmSwAIgN5KgHvwGi3wWJJw1325kH0XrNlAdyn7fkOKS6Rxg7SE="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"timruffles","email":"timruffles@googlemail.com"},"maintainers":[{"name":"timruffles","email":"timruffles@googlemail.com"}],"directories":{}},"0.0.7":{"name":"js-todos","version":"0.0.7","description":"Finds todos in JS source-code","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"homepage":"https://github.com/timruffles/js-todos","repository":{"type":"git","url":"ssh://git@bitbucket.org/timruffles/comment-parser.git"},"bin":{"js-todos":"./bin/js-todos"},"files":["bin","index.js"],"author":{"name":"Tim Ruffles"},"license":"BSD","dependencies":{"esprima":"~1.0.4","colors":"~0.6.2","optimist":"~0.6.0"},"devDependencies":{"referee":"~1.0.1","mocha":"~1.13.0"},"_id":"js-todos@0.0.7","dist":{"shasum":"21e98444dc0e56706009d6166be2dfe9164da26d","tarball":"https://registry.npmjs.org/js-todos/-/js-todos-0.0.7.tgz","integrity":"sha512-ASxo6FocfJo64QS0McbC0JoI7MdKqbpt7/N23U7/Qn1tA9aORRc9m6DPlPihDTtNLocaSajFx0uag1hXpP7Geg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF1DYAlj5FHfRG9dcBjW7w2zVjGyd2E1GPzsNQwKDZARAiEA2Rq9rpDGmJG5TpZsv06hp60sZ8wjRwK42BQ/b9Y+kms="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"timruffles","email":"timruffles@googlemail.com"},"maintainers":[{"name":"timruffles","email":"timruffles@googlemail.com"}],"directories":{}},"0.0.8":{"name":"js-todos","version":"0.0.8","description":"Finds todos in JS source-code","main":"index.js","scripts":{"test":"mocha"},"homepage":"https://github.com/timruffles/js-todos","repository":{"type":"git","url":"ssh://git@bitbucket.org/timruffles/comment-parser.git"},"bin":{"js-todos":"./bin/js-todos"},"files":["bin","index.js"],"author":{"name":"Tim Ruffles"},"license":"BSD","dependencies":{"esprima":"~1.0.4","colors":"~0.6.2","optimist":"~0.6.0"},"devDependencies":{"referee":"~1.0.1","mocha":"~1.13.0"},"_id":"js-todos@0.0.8","dist":{"shasum":"1fa027fea59ccd04dbeccb680fb3221bf575d324","tarball":"https://registry.npmjs.org/js-todos/-/js-todos-0.0.8.tgz","integrity":"sha512-MMEeIz5l5r3SV5271v+79WnIFw5zKPF/VHgyRb43dJxztRCa+82+k6Ye5cTit9o5gv+R6h1rfN/GLgcYMOlTPQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH7zEHgKvbwoYkm4RIy92V2GZMNpzXThXFPKLMFsUByDAiEAmE6I/OsehLgPN6TA1AjbZDFmZhNQ9tMwQAAh9aedvzg="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"timruffles","email":"timruffles@googlemail.com"},"maintainers":[{"name":"timruffles","email":"timruffles@googlemail.com"}],"directories":{}},"0.0.9":{"name":"js-todos","version":"0.0.9","description":"Finds todos in JS source-code","main":"index.js","scripts":{"test":"mocha"},"homepage":"https://github.com/timruffles/js-todos","repository":{"type":"git","url":"ssh://git@bitbucket.org/timruffles/comment-parser.git"},"bin":{"js-todos":"./bin/js-todos"},"files":["bin","index.js"],"author":{"name":"Tim Ruffles"},"license":"BSD","dependencies":{"esprima":"~1.0.4","colors":"~0.6.2","optimist":"~0.6.0"},"devDependencies":{"referee":"~1.0.1","mocha":"~1.13.0"},"_id":"js-todos@0.0.9","dist":{"shasum":"38af555a9839a1b0314c98de5e4b2c938e006a0b","tarball":"https://registry.npmjs.org/js-todos/-/js-todos-0.0.9.tgz","integrity":"sha512-9XvU5Ap/Yd4lZdUcUSynwOr/GNr6QqIF2RR5ZvCsoz8Hja8ORv5i/L7ReQ4PU/aA59o5rIBVO98H4tTqD8UaYQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDXLwY/1DLpzHa8iY9wi/wi/IkzypMO5ss5YSvOSUbGcAIgVkW4KTWWUtzQwCjQg6cIrRe9oU13VXxtkPJFwNH7Snw="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"timruffles","email":"timruffles@googlemail.com"},"maintainers":[{"name":"timruffles","email":"timruffles@googlemail.com"}],"directories":{}},"0.1.0":{"name":"js-todos","version":"0.1.0","description":"Finds todos in JS source-code","main":"index.js","scripts":{"test":"mocha"},"homepage":"https://github.com/timruffles/js-todos","repository":{"type":"git","url":"ssh://git@bitbucket.org/timruffles/comment-parser.git"},"bin":{"js-todos":"./bin/js-todos"},"files":["bin","index.js"],"author":{"name":"Tim Ruffles"},"license":"BSD","dependencies":{"esprima":"~1.0.4","colors":"~0.6.2","optimist":"~0.6.0"},"devDependencies":{"referee":"~1.0.1","mocha":"~1.13.0"},"gitHead":"699aa8b12bb61e4829eb2fe6c7038cdbbccd017e","_id":"js-todos@0.1.0","_shasum":"0a139de9a5a22ef34d7ba2435c2e327937390773","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"timruffles","email":"timruffles@googlemail.com"},"maintainers":[{"name":"timruffles","email":"timruffles@googlemail.com"}],"dist":{"shasum":"0a139de9a5a22ef34d7ba2435c2e327937390773","tarball":"https://registry.npmjs.org/js-todos/-/js-todos-0.1.0.tgz","integrity":"sha512-HJZonTO/tLxcuUvbew++kUNnJP6oe4u2i1RpG0xPpX8aCXeD4i0RGPD2sxAvSumJVJU+9qxhaPt7fSlwnVYevQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDoyOi6PcPCuottgBj4hVx/dxp+0QRqllVP/9skPmy0KgIgbIKvPC2+waYc6yPUmXTJWWNdExDFyZ/IArtPEczNpm4="}]},"directories":{}},"1.0.2":{"name":"js-todos","version":"1.0.2","description":"Finds todos in JS source-code","main":"index.js","scripts":{"test":"mocha"},"homepage":"https://github.com/timruffles/js-todos","repository":{"type":"git","url":"git+https://github.com/timruffles/js-todos.git"},"bin":{"js-todos":"./bin/js-todos"},"files":["bin","index.js"],"author":{"name":"Tim Ruffles"},"license":"BSD","dependencies":{"colors":"~0.6.2","esprima":"^2.7.0","optimist":"~0.6.0"},"devDependencies":{"referee":"~1.0.1","mocha":"~1.13.0"},"gitHead":"deba27373131a2b8a30139c8f5200a8500aede27","bugs":{"url":"https://github.com/timruffles/js-todos/issues"},"_id":"js-todos@1.0.2","_shasum":"a956c02ef2b707fed469fc3d847e7197a7928f3b","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.0","_npmUser":{"name":"timruffles","email":"timruffles@googlemail.com"},"maintainers":[{"name":"timruffles","email":"timruffles@googlemail.com"}],"dist":{"shasum":"a956c02ef2b707fed469fc3d847e7197a7928f3b","tarball":"https://registry.npmjs.org/js-todos/-/js-todos-1.0.2.tgz","integrity":"sha512-Wq/aLhZbMMZXyGpPLiz7eR0UuCICR3C8zhfPMIs0uDQnTu2Duumdj/IdjhQWQlLMdDU/AiIaApUfhnewWO0epQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEMCICMTnDOlDTOdgOvYb2+57NBr72ixLmfDPeP1iW+6gCC1Ah8S6m56dYtnRMj2XZOlAL0RjQ54m88UzKVv/9d7+wjC"}]},"directories":{}},"1.0.3":{"name":"js-todos","version":"1.0.3","description":"Finds todos in JS source-code","main":"index.js","scripts":{"test":"mocha"},"homepage":"https://github.com/timruffles/js-todos","repository":{"type":"git","url":"git+https://github.com/timruffles/js-todos.git"},"bin":{"js-todos":"./bin/js-todos"},"files":["bin","index.js"],"author":{"name":"Tim Ruffles"},"license":"BSD","dependencies":{"colors":"~0.6.2","esprima":"^2.7.0","optimist":"~0.6.0"},"devDependencies":{"referee":"~1.0.1","mocha":"~1.13.0"},"gitHead":"d7ebadf014ceabf7d5ed199d67bd3d31d072fcc6","bugs":{"url":"https://github.com/timruffles/js-todos/issues"},"_id":"js-todos@1.0.3","_shasum":"50999c7d24187ecebb7a6f72d5a8fa1863650d58","_from":".","_npmVersion":"3.3.9","_nodeVersion":"0.10.33","_npmUser":{"name":"timruffles","email":"timruffles@googlemail.com"},"maintainers":[{"name":"timruffles","email":"timruffles@googlemail.com"}],"dist":{"shasum":"50999c7d24187ecebb7a6f72d5a8fa1863650d58","tarball":"https://registry.npmjs.org/js-todos/-/js-todos-1.0.3.tgz","integrity":"sha512-x8YJQn1nc7KIutEl8ARLtNGHUTq2nE1Ca8i5mqZyZMyIglOJMXDVKXYNiV7Vm0KgWWWiI5M3qn4AVFK70r2xnA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCZ/owUYAkl20eLoUAJHjzOBM6yQuJfUydVMVo6taMBJgIhAN3+oC8n/qZBslOLnM9neIF5Yjkqvaf4ilaIa675l5Ta"}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/js-todos-1.0.3.tgz_1458215390836_0.5687250706832856"},"directories":{}},"1.1.0":{"name":"js-todos","version":"1.1.0","description":"Finds todos in JS source-code","main":"index.js","scripts":{"test":"mocha"},"homepage":"https://github.com/timruffles/js-todos","repository":{"type":"git","url":"git+https://github.com/timruffles/js-todos.git"},"bin":{"js-todos":"./bin/js-todos"},"files":["bin","index.js"],"author":{"name":"Tim Ruffles"},"license":"BSD","dependencies":{"colors":"~0.6.2","esprima":"^4.0.0","optimist":"~0.6.0"},"devDependencies":{"referee":"~1.0.1","mocha":"~1.13.0"},"gitHead":"5c68d557dbf8402b1ffd7a0f1354bfddd5627039","bugs":{"url":"https://github.com/timruffles/js-todos/issues"},"_id":"js-todos@1.1.0","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"timruffles","email":"timruffles@googlemail.com"},"dist":{"integrity":"sha512-tHohmb6Qf714UKSA2gqu9T9qpyGCCg2cV+GUr/2iFiwzr3YaYhbnXWMeIVEMZ+qv0ElUMjUs3/bkm/Y+P2uk3w==","shasum":"8c1d71a7befa6ece64a7498d02b09de7e62957c7","tarball":"https://registry.npmjs.org/js-todos/-/js-todos-1.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNallsFIj1S77ig1nZh5edBVa1+ZQ3thb1YMO8w5f0GwIhAPxjI2yXwQ628NdkHhjMsksCpGdHXJ79kWtyUWtfdFCx"}]},"maintainers":[{"name":"timruffles","email":"timruffles@googlemail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/js-todos-1.1.0.tgz_1510917725475_0.24322305573150516"},"directories":{}},"1.1.1":{"name":"js-todos","version":"1.1.1","description":"Finds todos in JS source-code","main":"index.js","scripts":{"test":"mocha"},"homepage":"https://github.com/timruffles/js-todos","repository":{"type":"git","url":"git+https://github.com/timruffles/js-todos.git"},"bin":{"js-todos":"./bin/js-todos"},"files":["bin","index.js"],"author":{"name":"Tim Ruffles"},"license":"BSD","dependencies":{"colors":"~0.6.2","espree":"^3.5.3","optimist":"~0.6.0"},"devDependencies":{"referee":"~1.0.1","mocha":"~1.13.0"},"gitHead":"f78df426b587defc40831fa04641410a2281b36e","bugs":{"url":"https://github.com/timruffles/js-todos/issues"},"_id":"js-todos@1.1.1","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"timruffles","email":"timruffles@googlemail.com"},"dist":{"integrity":"sha512-80L0+NyMOLCiZmC9qWBgsgb0JgNhy3dNP7eqUkjUROnCsfxc2tinZLvKSydABhHjMvg0JpFJnCFwf0Q0wmCGWg==","shasum":"612012dd1d329f1157700e44477b338303b3a804","tarball":"https://registry.npmjs.org/js-todos/-/js-todos-1.1.1.tgz","fileCount":4,"unpackedSize":6868,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEkfM5VD9izTak1jj7bShzPW0iPnCpxRzP0AJorJiIAuAiEAoAMPEDUTQZqeu14gsskLGSoVunzjSziloogcLp0gxQo="}]},"maintainers":[{"name":"timruffles","email":"timruffles@googlemail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/js-todos_1.1.1_1518263114281_0.16100975986206034"},"_hasShrinkwrap":false}},"readme":"# JS-TODOs\n\nFind todos in JS code. Uses [espree](https://github.com/eslint/espree), so won't give you false positives like 'grep -r TODO', but is as easy to use.\n\n```sh\n# ./node_modules/.bin on path? if not, install with --global / -g\nnpm install js-todos\njs-todos *.js\n```\n\n## Options\n\n- --outputter - set output\n-- json: outputs as list of todos\n-- default: human readable format\n- --nostatus - disable exit status (to invoke via process spawing)\n\n## API\n\n### jsTodos(source)\n\nMain function - takes javascript source, parses, return todos.\n\n### jsTodos.findTodo(comment)\n\nTakes an Espree AST comment and parses for TODO/FIXME. Returns comment with added todo type field, or undefined if no todo was found. \n\n### jsTodos.commentsToTodos(comments)\n\nRuns `findTodo` on each comment, returns an array of all todos found.\n\n### jsTodos.readAll(paths,output)\n\nRuns `jsTodos()` over JS source found at each path, and calls `output()`. `output` is a function with parameters `output(todo,path)`. It'll be called once for each path before todos are found: `output(path)`. Once for each todo with path: `output(path,todo)`. Finally it'll be called once with the string `\"complete\"` after all paths have been read: `output(\"complete\")`. This is to allow outputters to either output on the go, or cache all data and output a formatted display on complete.  \n\nSee below for how to add a custom outputter.\n\n## Configuration\n\n### jsTodos.outputters\n\nTo define an outputter add it to `jsTodos.outputter`. It should be a function that takes an options object (the command line options defined above) and returns a function that responds to the above calls. See the [JSON outputter](index.js#L103) for an example of how to write an outputter.\n\n### jsTodos.types\n\nAdd functions to this array that take a comment and return an todo if found. A todo contains the same fields (`value`, `loc` etc) with an added `type` field - by default `'TODO'` and `'FIXME'`, but add your own.\n\nExample:\n\n```javascript\njsTodos.types.push(function(comment) {\n  if(/WTF/.test(comment.value)) {\n    comment.type = \"WTF\"\n    return comment\n  }\n})\n```\n\n\n","maintainers":[{"name":"timruffles","email":"timruffles@googlemail.com"}],"time":{"modified":"2022-06-19T05:45:18.511Z","created":"2013-10-21T14:12:29.179Z","0.0.2":"2013-10-21T14:12:33.345Z","0.0.3":"2013-10-21T17:10:36.266Z","0.0.4":"2013-10-22T12:15:40.298Z","0.0.5":"2013-10-22T13:58:28.864Z","0.0.6":"2013-10-22T14:19:59.889Z","0.0.7":"2013-10-22T16:08:57.003Z","0.0.8":"2013-10-27T13:38:24.767Z","0.0.9":"2013-10-27T14:19:54.968Z","0.1.0":"2014-09-15T14:36:02.298Z","1.0.2":"2015-12-10T11:40:25.403Z","1.0.3":"2016-03-17T11:49:53.127Z","1.1.0":"2017-11-17T11:22:06.336Z","1.1.1":"2018-02-10T11:45:15.076Z"},"author":{"name":"Tim Ruffles"},"repository":{"type":"git","url":"git+https://github.com/timruffles/js-todos.git"},"homepage":"https://github.com/timruffles/js-todos","license":"BSD","readmeFilename":"README.md","bugs":{"url":"https://github.com/timruffles/js-todos/issues"}}