yamafaktory / Shrimpit
Licence: mit
Shrimpit 🍤 is a small CLI analysis tool for checking unused JavaScript, JSX & Vue templates ES6 exports in your project.
Stars: ✭ 255
Programming Languages
javascript
184084 projects - #8 most used programming language
es6
455 projects
Projects that are alternatives of or similar to Shrimpit
DataDefinitions
Data Definitions Plugin for Pimcore
Stars: ✭ 70 (-72.55%)
Mutual labels: export, import
excel mysql
Module for import Excel files to MySQL table and export MySQL table to Excel file using PHPExcel
Stars: ✭ 30 (-88.24%)
Mutual labels: export, import
ProcessMigrator
ProcessWire module that facilitates automated migration and sharing of page trees along with their templates and fields.
Stars: ✭ 29 (-88.63%)
Mutual labels: export, import
blender-xray
STALKER (aka xray-engine) import/export plugin for Blender 3D
Stars: ✭ 132 (-48.24%)
Mutual labels: export, import
sync-magento-2-migration
Release of rough proof of concept from 2018 that allows to import and export millions of products quickly
Stars: ✭ 51 (-80%)
Mutual labels: export, import
craft3-blockonomicon
Manage matrix fields on a per-block basis. Bundle presentation with blocks. Render entire matrices with a single line.
Stars: ✭ 32 (-87.45%)
Mutual labels: export, import
lint-deps
Lint for unused or missing dependencies in your node.js projects. Customize with plugins or configuration.
Stars: ✭ 48 (-81.18%)
Mutual labels: modules, import
VBA-Import-Export
Export & Import VBA code for use with Git (or any VCS)
Stars: ✭ 14 (-94.51%)
Mutual labels: export, import
FSDevTools
Project to support developer experience (DX) with FirstSpirit template development by offering a connection between a VCS like Git and FirstSpirit.
Stars: ✭ 29 (-88.63%)
Mutual labels: export, import
zabbix-review-export-import
Clone of zabbix-review-export with added import object(s) feature
Stars: ✭ 36 (-85.88%)
Mutual labels: export, import
format-imports-vscode
Format imports and exports for JavaScript and TypeScript in VS Code.
Stars: ✭ 60 (-76.47%)
Mutual labels: export, import
importer-exporter
3D City Database client for high-performance import and export of 3D city model data
Stars: ✭ 104 (-59.22%)
Mutual labels: export, import
connect-backup
A tool to backup and restore AWS Connect, with some useful other utilities too
Stars: ✭ 19 (-92.55%)
Mutual labels: export, import
skinner
Skin export / import tools for Autodesk Maya
Stars: ✭ 68 (-73.33%)
Mutual labels: export, import
open2fa
Two-factor authentication app with import/export for iOS and macOS. All codes encrypted with AES 256. FaceID & TouchID support included. Written with love in SwiftUI ❤️
Stars: ✭ 24 (-90.59%)
Mutual labels: export, import
cassandra-exporter
Simple Tool to Export / Import Cassandra Tables into JSON
Stars: ✭ 44 (-82.75%)
Mutual labels: export, import
qgis-kmltools-plugin
Fast KML Import and Export Plugin for QGIS
Stars: ✭ 45 (-82.35%)
Mutual labels: export, import
requireg
Resolve and require local & global modules in node.js like a boss
Stars: ✭ 45 (-82.35%)
Mutual labels: modules, import
Shrimpit 🍤
Shrimpit is a small CLI analysis tool for checking unused JavaScript, JSX & Vue templates ES6 exports in your project.
Install
npm
npm i -g shrimpit
yarn
yarn global add shrimpit
Usage
shrimpit path/to/your/files /another/path
Globbing patterns are also supported:
shrimpit test/**/*.js
Adding the --tree
flag will output the complete files tree with all the imports and the exports per file:
shrimpit --tree path/to/your/files
Please note that default unnamed exports are rendered as default (unnamed)
:
shrimpit test --tree
Shrimpit!
> Files tree
{ test:
{ core:
{ a:
{ 'a.js':
{ imports:
[ { location: 'test/core/b/b.js',
name: 'test',
unnamedDefault: true },
{ location: 'test/core/b/b.js',
name: 'a',
unnamedDefault: false },
{ location: 'test/core/c/c.js',
name: 'User',
unnamedDefault: true } ],
exports:
[ { location: 'test/core/a/a.js',
name: 'a',
unnamedDefault: false },
{ location: 'test/core/a/a.js',
name: 'c',
unnamedDefault: false },
{ location: 'test/core/a/a.js', name: 'd', unnamedDefault: true } ] } },
b:
{ 'b.js':
{ imports:
[ { location: 'test/core/c/c.js',
name: 'Cat',
unnamedDefault: false },
{ location: 'test/core/d/d.js',
name: 'unamedFunction',
unnamedDefault: true },
{ location: 'test/core/a/a.js',
name: 'a',
unnamedDefault: false },
{ location: 'test/core/a/a.js',
name: 'c',
unnamedDefault: false },
{ location: 'test/core/a/a.js', name: 'd', unnamedDefault: true } ],
exports:
[ { location: 'test/core/b/b.js',
name: 'a',
unnamedDefault: false },
{ location: 'test/core/b/b.js',
name: 'b',
unnamedDefault: false },
{ location: 'test/core/b/b.js',
name: 'default (unnamed)',
unnamedDefault: true } ] } },
c:
{ 'c.js':
{ imports:
[ { location: 'test/core/a/a.js',
name: 'a',
unnamedDefault: false },
{ location: 'test/core/a/a.js',
name: 'c',
unnamedDefault: false },
{ location: 'test/core/a/a.js',
name: 'd',
unnamedDefault: false },
{ location: 'test/core/b/b.js',
name: 'b',
unnamedDefault: false } ],
exports:
[ { location: 'test/core/c/c.js',
name: 'Cat',
unnamedDefault: false },
{ location: 'test/core/c/c.js',
name: 'User',
unnamedDefault: true } ] } },
d:
{ 'd.js':
{ imports: [],
exports:
[ { location: 'test/core/d/d.js',
name: 'test/core/d',
unnamedDefault: true } ] } } } } }
> Unused exports
All Clear Ahead, Captain.
Flow & Vue
Shrimpit supports Flow annotations and Vue templates out of the box!
TypeScript (experimental)
Since Babel 7, the TypeScript AST can directly be parsed. You can use the --typescript
flag to enable it:
shrimpit --tree --typescript path/to/your/files
Please note that the Flow and TypeScript parsers are mutually exclusive.
Linting
The code quality is checked by the JavaScript Standard Style.
License
Released under the MIT license by Davy Duperron.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].