{"analyzedAt":"2022-06-26T19:13:18.891Z","collected":{"metadata":{"name":"shrimpit","scope":"unscoped","version":"2.0.0","description":"A CLI analysis tool for checking unused JavaScript, JSX & Vue templates ES6 exports in your project.","keywords":["babel","cli","es6","export","exports","import","imports","jsx","react","tool","typescript","vue"],"date":"2020-04-21T21:39:01.057Z","author":{"name":"Davy Duperron","url":"https://github.com/yamafaktory"},"publisher":{"username":"yamafaktory","email":"yamafaktory@gmail.com"},"maintainers":[{"username":"yamafaktory","email":"yamafaktory@gmail.com"}],"repository":{"type":"git","url":"git+https://github.com/yamafaktory/shrimpit.git"},"links":{"npm":"https://www.npmjs.com/package/shrimpit","homepage":"https://github.com/yamafaktory/shrimpit","repository":"https://github.com/yamafaktory/shrimpit","bugs":"https://github.com/yamafaktory/shrimpit/issues"},"license":"MIT","dependencies":{"@babel/parser":"7.9.4","@babel/traverse":"7.9.5","chalk":"4.0.0","cheerio":"1.0.0-rc.3","globby":"11.0.0","lodash":"4.17.15"},"devDependencies":{"babel-eslint":"10.1.0","eslint":"6.8.0","eslint-config-prettier":"6.11.0","eslint-config-standard":"14.1.1","eslint-plugin-import":"2.20.2","eslint-plugin-node":"11.1.0","eslint-plugin-standard":"4.0.1","husky":"4.2.5","jest":"25.4.0","lint-staged":"10.1.7","snazzy":"8.0.0","standard":"14.3.3"},"releases":[{"from":"2022-05-27T00:00:00.000Z","to":"2022-06-26T00:00:00.000Z","count":0},{"from":"2022-03-28T00:00:00.000Z","to":"2022-06-26T00:00:00.000Z","count":0},{"from":"2021-12-28T00:00:00.000Z","to":"2022-06-26T00:00:00.000Z","count":0},{"from":"2021-06-26T00:00:00.000Z","to":"2022-06-26T00:00:00.000Z","count":0},{"from":"2020-06-26T00:00:00.000Z","to":"2022-06-26T00:00:00.000Z","count":0}],"hasTestScript":true,"readme":"# Shrimpit :fried_shrimp: [![Build Status](https://github.com/yamafaktory/shrimpit/workflows/ci/badge.svg)](https://github.com/yamafaktory/shrimpit/actions) [![npm version](https://img.shields.io/npm/v/shrimpit.svg?style=flat)](https://www.npmjs.com/package/shrimpit) [![Standard - JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)\n\n[![Greenkeeper badge](https://badges.greenkeeper.io/yamafaktory/shrimpit.svg)](https://greenkeeper.io/)\n\nShrimpit is a small CLI analysis tool for checking unused JavaScript, JSX & Vue templates ES6 exports in your project.\n\n## Install\n\n### npm\n\n```shell\nnpm i -g shrimpit\n```\n\n### yarn\n\n```shell\nyarn global add shrimpit\n```\n\n## Usage\n\n```shell\nshrimpit path/to/your/files /another/path\n```\n\nGlobbing patterns are also supported:\n\n```shell\nshrimpit test/**/*.js\n```\n\nAdding the `--tree` flag will output the complete files tree with all the imports and the exports per file:\n\n```shell\nshrimpit --tree path/to/your/files\n```\n\nPlease note that default unnamed exports are rendered as `default (unnamed)`:\n\n```shell\nshrimpit test --tree\n Shrimpit!\n\n > Files tree\n\n{ test:\n   { core:\n      { a:\n         { 'a.js':\n            { imports:\n               [ { location: 'test/core/b/b.js',\n                   name: 'test',\n                   unnamedDefault: true },\n                 { location: 'test/core/b/b.js',\n                   name: 'a',\n                   unnamedDefault: false },\n                 { location: 'test/core/c/c.js',\n                   name: 'User',\n                   unnamedDefault: true } ],\n              exports:\n               [ { location: 'test/core/a/a.js',\n                   name: 'a',\n                   unnamedDefault: false },\n                 { location: 'test/core/a/a.js',\n                   name: 'c',\n                   unnamedDefault: false },\n                 { location: 'test/core/a/a.js', name: 'd', unnamedDefault: true } ] } },\n        b:\n         { 'b.js':\n            { imports:\n               [ { location: 'test/core/c/c.js',\n                   name: 'Cat',\n                   unnamedDefault: false },\n                 { location: 'test/core/d/d.js',\n                   name: 'unamedFunction',\n                   unnamedDefault: true },\n                 { location: 'test/core/a/a.js',\n                   name: 'a',\n                   unnamedDefault: false },\n                 { location: 'test/core/a/a.js',\n                   name: 'c',\n                   unnamedDefault: false },\n                 { location: 'test/core/a/a.js', name: 'd', unnamedDefault: true } ],\n              exports:\n               [ { location: 'test/core/b/b.js',\n                   name: 'a',\n                   unnamedDefault: false },\n                 { location: 'test/core/b/b.js',\n                   name: 'b',\n                   unnamedDefault: false },\n                 { location: 'test/core/b/b.js',\n                   name: 'default (unnamed)',\n                   unnamedDefault: true } ] } },\n        c:\n         { 'c.js':\n            { imports:\n               [ { location: 'test/core/a/a.js',\n                   name: 'a',\n                   unnamedDefault: false },\n                 { location: 'test/core/a/a.js',\n                   name: 'c',\n                   unnamedDefault: false },\n                 { location: 'test/core/a/a.js',\n                   name: 'd',\n                   unnamedDefault: false },\n                 { location: 'test/core/b/b.js',\n                   name: 'b',\n                   unnamedDefault: false } ],\n              exports:\n               [ { location: 'test/core/c/c.js',\n                   name: 'Cat',\n                   unnamedDefault: false },\n                 { location: 'test/core/c/c.js',\n                   name: 'User',\n                   unnamedDefault: true } ] } },\n        d:\n         { 'd.js':\n            { imports: [],\n              exports:\n               [ { location: 'test/core/d/d.js',\n                   name: 'test/core/d',\n                   unnamedDefault: true } ] } } } } }\n\n > Unused exports\n\nAll Clear Ahead, Captain.\n```\n\n## Flow & Vue\n\nShrimpit supports [Flow annotations](https://flowtype.org/) and Vue templates out of the box!\n\n# TypeScript (experimental)\n\nSince Babel 7, the TypeScript AST can directly be parsed. You can use the `--typescript` flag to enable it:\n\n```shell\nshrimpit --tree --typescript path/to/your/files\n```\n\nPlease note that the Flow and TypeScript parsers are mutually exclusive.\n\n## Linting\n\nThe code quality is checked by the [JavaScript Standard Style](http://standardjs.com/).\n\n## License\n\nReleased under the [MIT license](https://opensource.org/licenses/MIT) by Davy Duperron."},"npm":{"downloads":[{"from":"2022-06-25T00:00:00.000Z","to":"2022-06-26T00:00:00.000Z","count":1},{"from":"2022-06-19T00:00:00.000Z","to":"2022-06-26T00:00:00.000Z","count":19},{"from":"2022-05-27T00:00:00.000Z","to":"2022-06-26T00:00:00.000Z","count":163},{"from":"2022-03-28T00:00:00.000Z","to":"2022-06-26T00:00:00.000Z","count":683},{"from":"2021-12-28T00:00:00.000Z","to":"2022-06-26T00:00:00.000Z","count":1077},{"from":"2021-06-26T00:00:00.000Z","to":"2022-06-26T00:00:00.000Z","count":2179}],"starsCount":0},"github":{"starsCount":258,"forksCount":16,"subscribersCount":4,"issues":{"count":197,"openCount":24,"distribution":{"3600":25,"10800":2,"32400":3,"97200":11,"291600":11,"874800":25,"2624400":34,"7873200":37,"23619600":26,"70858800":21,"212576400":2},"isDisabled":false},"contributors":[{"username":"jaydenseric","commitsCount":1},{"username":"yamafaktory","commitsCount":153},{"username":"greenkeeper[bot]","commitsCount":106},{"username":"benadamstyles","commitsCount":5}],"commits":[{"from":"2022-06-19T00:00:00.000Z","to":"2022-06-26T00:00:00.000Z","count":0},{"from":"2022-05-27T00:00:00.000Z","to":"2022-06-26T00:00:00.000Z","count":0},{"from":"2022-03-28T00:00:00.000Z","to":"2022-06-26T00:00:00.000Z","count":0},{"from":"2021-12-28T00:00:00.000Z","to":"2022-06-26T00:00:00.000Z","count":0},{"from":"2021-06-26T00:00:00.000Z","to":"2022-06-26T00:00:00.000Z","count":0}]},"source":{"files":{"readmeSize":4711,"testsSize":18562},"badges":[{"urls":{"original":"https://img.shields.io/npm/v/shrimpit.svg?style=flat","shields":"https://img.shields.io/npm/v/shrimpit.svg","content":"https://img.shields.io/npm/v/shrimpit.json"},"info":{"service":"npm","type":"version","modifiers":{"type":"v"}}}],"linters":["eslint","prettier","standard"],"outdatedDependencies":{"globby":{"required":"11.0.0","stable":"13.1.2","latest":"13.1.2"},"chalk":{"required":"4.0.0","stable":"5.0.1","latest":"5.0.1"},"lodash":{"required":"4.17.15","stable":"4.17.21","latest":"4.17.21"},"@babel/traverse":{"required":"7.9.5","stable":"7.18.5","latest":"7.18.5"},"@babel/parser":{"required":"7.9.4","stable":"7.18.5","latest":"7.18.5"}}}},"evaluation":{"quality":{"carefulness":0.84,"tests":0.6,"health":0.5,"branding":0.15},"popularity":{"communityInterest":282,"downloadsCount":227.66666666666666,"downloadsAcceleration":-0.13076484018264822,"dependentsCount":0},"maintenance":{"releasesFrequency":0,"commitsFrequency":0,"openIssues":1,"issuesDistribution":0.26542197734803624}},"score":{"final":0.5715569303054906,"detail":{"quality":0.8529904819052422,"popularity":0.12477180343685641,"maintenance":0.7771132986600522}}}