rev-dep
Dependency analysis and optimization toolkit for modern JavaScript and TypeScript codebases. Enforce dependency graph hygiene and remove unused code with a very fast CLI.
File Explorer
Download Latest Version (.zip)- test.yml
- settings.json
- parseImports.16b9792.txt
- parseImports.4b0e2d6.txt
- parseImports.6aad013.txt
- parseImports.6f48e2a.txt
- parseImports.73cf55b.txt
- parseImports.7f02286.txt
- file.js
- file.jsx
- file.ts
- file.tsx
- file.js
- file.jsx
- file.tsx
- file.js
- file.jsx
- test.ts
- index.ts
- package.json
- index.ts
- node.ts
- package.json
- package.json
- end.ts
- start.ts
- a.ts
- b.ts
- type-a.ts
- type-b.ts
- custom.tsconfig.json
- index.ts
- package.json
- tsconfig.json
- broken-import.ts
- index.ts
- orphan.ts
- package.json
- private.ts
- public.ts
- featureA.ts
- featureB.ts
- helper.ts
- orphan.ts
- index.ts
- package.json
- rev-dep.config.json
- tsconfig.json
- Card.tsx
- Panel.tsx
- adminApi.ts
- teamApi.ts
- userApi.ts
- http.ts
- package.json
- index.ts
- index.ts
- index.ts
- package.json
- rev-dep.config.json
- tsconfig.json
- invalidImport.ts
- utils.ts
- validImport.ts
- invalidCrossDomain.ts
- service.ts
- validCrossDomain.ts
- Button.ts
- package.json
- rev-dep.config.json
- tsconfig.json
- index.ts
- utils.ts
- index.ts
- package.json
- rev-dep.config.json
- tsconfig.json
- import-baseurl.ts
- package.json
- tsconfig.json
- index.ts
- package.json
- import-no-exports-index.ts
- import-no-exports-lib-index.ts
- import-no-exports-simple.ts
- import-no-exports-utils-index.ts
- import-no-exports-utils.ts
- index.ts
- package.json
- other.ts
- something.ts
- setup.config.js
- browser.js
- prod-default.js
- feature-a.js
- feature-b.js
- feature-from-dist.js
- private-internal-utils.js
- helper.js
- main.js
- file.js
- invalidFile.js
- xyz.js
- other.ts
- something.ts
- setup.config.js
- blocked.ts
- dev-default.ts
- fallback.ts
- node.ts
- feature-a.ts
- feature-b.ts
- private-internal-utils.ts
- helper.ts
- main.ts
- self-import-via-exports.ts
- something.ts
- package.json
- index.ts
- index.ts
- index.ts
- package.json
- utils.ts
- package.json
- file.ts
- anotherFileForCycle.js
- fileA.tsx
- fileForCycle.ts
- oneMoreFileForCycle.tsx
- index.ts
- file.ts
- fileDirTheSameName.ts
- importFileA.ts
- importFileWithSamePathAsNodeModule.ts
- importFileWithTheSameNameAsDir.ts
- importFileWithTheSameNameAsDirOutsideCwd.ts
- importNestedFile.ts
- nodeModules.ts
- types.ts
- custom.package.json
- custom.tsconfig.json
- global.d.ts
- index.ts
- package.json
- script.js
- tsconfig.json
- index.ts
- package.json
- _index.ts
- fileA.ts
- fileB.ts
- fileC.ts
- package.json
- package.json
- file.ts
- fileWithBinary.txt
- fileWithModule.txt
- index.ts
- package.json
- tsconfig.json
- package.json
- package.json
- index.js
- large-file.txt
- index.js
- large-file.txt
- package.json
- index.js
- large-file.txt
- package.json
- index.js
- package.json
- package.json
- package.json
- package.json
- package.json
- file.ts
- fileWithBinary.txt
- fileWithModule.txt
- index.ts
- package.json
- tsconfig.json
- index.ts
- package.json
- index.ts
- package.json
- package.json
- helper.ts
- index.ts
- package.json
- index.ts
- package.json
- tsconfig.json
- App.svelte
- main.ts
- module-util.ts
- private.ts
- utils.ts
- package.json
- tsconfig.json
- index.ts
- package.json
- tsconfig.json
- consumer.ts
- index.ts
- types.ts
- utils.ts
- package.json
- rev-dep.config.json
- tsconfig.json
- App.vue
- main.ts
- private.ts
- utils.ts
- package.json
- tsconfig.json
- fileDirTheSameName.ts
- parseImports.ts
- parseIMports600Loc.ts
- main.go
- 1.0.schema.json
- 1.1.schema.json
- 1.10.schema.json
- 1.11.schema.json
- 1.12.schema.json
- 1.2.schema.json
- 1.3.schema.json
- 1.4.schema.json
- 1.5.schema.json
- 1.6.schema.json
- 1.7.schema.json
- 1.8.schema.json
- 1.9.schema.json
- 2.0.schema.json
- index.mdx
- authors.yml
- tags.yml
- rev-dep_circular.md
- rev-dep_config.md
- rev-dep_config_init.md
- rev-dep_config_lint.md
- rev-dep_config_migrate.md
- rev-dep_config_run.md
- rev-dep_debug.md
- rev-dep_debug_get-tree-for-cwd.md
- rev-dep_debug_list-cwd-files.md
- rev-dep_debug_parse-file.md
- rev-dep_debug_parse-tsconfig.md
- rev-dep_duplicated-code.md
- rev-dep_entry-points.md
- rev-dep_files.md
- rev-dep_imported-by.md
- rev-dep_lines-of-code.md
- rev-dep_list-cwd-files.md
- rev-dep_node-modules.md
- rev-dep_node-modules_analyze-size.md
- rev-dep_node-modules_dirs-size.md
- rev-dep_node-modules_installed-duplicates.md
- rev-dep_node-modules_installed.md
- rev-dep_node-modules_missing.md
- rev-dep_node-modules_prune-docs.md
- rev-dep_node-modules_unused.md
- rev-dep_node-modules_used.md
- rev-dep_resolve.md
- rev-dep_unresolved.md
- overview.mdx
- depcheck-vs-rev-dep.mdx
- dependency-cruiser-vs-rev-dep.mdx
- dpdm-vs-rev-dep.mdx
- eslint-plugin-import-vs-rev-dep.mdx
- good-fences-vs-rev-dep.mdx
- jscpd-vs-rev-dep.mdx
- knip-vs-rev-dep.mdx
- madge-vs-rev-dep.mdx
- npm-check-vs-rev-dep.mdx
- overview.mdx
- sheriff-vs-rev-dep.mdx
- skott-vs-rev-dep.mdx
- ts-prune-vs-rev-dep.mdx
- ts-unused-exports-vs-rev-dep.mdx
- unimported-vs-rev-dep.mdx
- circular-imports.mdx
- dev-deps-on-prod.mdx
- duplicated-code.mdx
- import-conventions.mdx
- missing-node-modules.mdx
- module-boundaries.mdx
- orphan-files.mdx
- restricted-direct-importers.mdx
- restricted-importers.mdx
- restricted-imports.mdx
- unresolved-imports.mdx
- unused-exports.mdx
- unused-node-modules.mdx
- config-file-structure.mdx
- entry-points-definition.mdx
- linting-the-config.mdx
- output-formats.mdx
- overview.mdx
- running-checks-and-autofix.mdx
- circular.mdx
- debug.mdx
- duplicated-code.mdx
- entry-points.mdx
- files.mdx
- imported-by.mdx
- lines-of-code.mdx
- node-modules.mdx
- overview.mdx
- resolve.mdx
- workflows.mdx
- migrating-from-depcheck.mdx
- migrating-from-dependency-cruiser.mdx
- migrating-from-dpdm.mdx
- migrating-from-eslint-plugin-import.mdx
- migrating-from-good-fences.mdx
- migrating-from-knip.mdx
- migrating-from-madge.mdx
- migrating-from-npm-check.mdx
- migrating-from-sheriff.mdx
- migrating-from-skott.mdx
- migrating-from-ts-prune.mdx
- migrating-from-ts-unused-exports.mdx
- migrating-from-unimported.mdx
- overview.mdx
- duplicated-code-detection.mdx
- following-monorepo-packages.mdx
- glob-patterns.mdx
- ignoring-files.mdx
- module-resolution-and-path-aliases.mdx
- node-modules-resolution.mdx
- supported-file-types.mdx
- svelte-support.mdx
- vue-support.mdx
- index.mdx
- missing-or-unused-dependency-false-positives.mdx
- orphan-files-and-unused-exports-in-shared-packages.mdx
- unresolved-imports-troubleshooting.mdx
- v3-breaking-changes.mdx
- glossary.mdx
- installation.mdx
- intro.mdx
- monorepo-integration-guide.mdx
- single-workspace-integration-guide.mdx
- telemetry.mdx
- build-demo.mjs
- build-logos.mjs
- check-css-modules.mjs
- wait-for-hmr.mjs
- adoption.ts
- agents.ts
- benchmarks.ts
- checks.ts
- compatibility.ts
- demoOutput.ts
- faq.ts
- projects.ts
- toolkit.ts
- tools.ts
- Button.module.css
- Button.tsx
- Card.module.css
- Card.tsx
- CardFooter.module.css
- CardFooter.tsx
- CopyCommand.module.css
- CopyCommand.tsx
- FeatureCard.module.css
- FeatureCard.tsx
- Grid.module.css
- Grid.tsx
- MicroLabel.module.css
- MicroLabel.tsx
- motion.ts
- Reveal.module.css
- Reveal.tsx
- Section.module.css
- Section.tsx
- SectionHeader.module.css
- SectionHeader.tsx
- Split.module.css
- Split.tsx
- Stat.module.css
- Stat.tsx
- Terminal.module.css
- Terminal.tsx
- TrackedLink.tsx
- useInView.ts
- useReveal.ts
- BenchmarkBar.tsx
- BenchmarkBars.module.css
- BenchmarkBars.tsx
- formatMs.ts
- TaskComparison.module.css
- TaskComparison.tsx
- useBenchmarkPlayback.ts
- Adoption.module.css
- Adoption.tsx
- AgentGuardrails.module.css
- AgentGuardrails.tsx
- Checks.module.css
- Checks.tsx
- Compatibility.tsx
- Faq.module.css
- Faq.tsx
- FinalCta.module.css
- FinalCta.tsx
- Hero.module.css
- Hero.tsx
- RealProjects.module.css
- RealProjects.tsx
- ReplacesStack.module.css
- ReplacesStack.tsx
- SpeedChart.module.css
- SpeedChart.tsx
- Testimonials.module.css
- Testimonials.tsx
- Toolkit.module.css
- Toolkit.tsx
- analytics.ts
- custom.css
- testimonialCandidates.json
- index.tsx
- markdown-page.mdx
- index.tsx
- styles.module.css
- index.tsx
- styles.module.css
- index.tsx
- index.tsx
- styles.module.css
- sidebarIcons.tsx
- fontsReady.ts
- gtagFallback.ts
- Geist-Variable.woff2
- GeistMono-Variable.woff2
- LICENSE.txt
- favicon.svg
- logo-text.svg
- demo.png
- favicon.ico
- favicon.svg
- logo-mark-card.png
- logo-text.svg
- logo.png
- og-logo.jpg
- og-logo.svg
- .nojekyll
- CNAME
- rev-dep_circular.md
- rev-dep_config.md
- rev-dep_config_init.md
- rev-dep_config_lint.md
- rev-dep_config_run.md
- rev-dep_entry-points.md
- rev-dep_files.md
- rev-dep_imported-by.md
- rev-dep_lines-of-code.md
- rev-dep_list-cwd-files.md
- rev-dep_node-modules.md
- rev-dep_node-modules_dirs-size.md
- rev-dep_node-modules_installed-duplicates.md
- rev-dep_node-modules_installed.md
- rev-dep_node-modules_missing.md
- rev-dep_node-modules_unused.md
- rev-dep_node-modules_used.md
- rev-dep_resolve.md
- rev-dep_unresolved.md
- overview.mdx
- depcheck-vs-rev-dep.mdx
- dependency-cruiser-vs-rev-dep.mdx
- dpdm-vs-rev-dep.mdx
- eslint-plugin-import-vs-rev-dep.mdx
- good-fences-vs-rev-dep.mdx
- knip-vs-rev-dep.mdx
- madge-vs-rev-dep.mdx
- npm-check-vs-rev-dep.mdx
- overview.mdx
- sheriff-vs-rev-dep.mdx
- skott-vs-rev-dep.mdx
- ts-prune-vs-rev-dep.mdx
- ts-unused-exports-vs-rev-dep.mdx
- unimported-vs-rev-dep.mdx
- circular-imports.mdx
- dev-deps-on-prod.mdx
- import-conventions.mdx
- missing-node-modules.mdx
- module-boundaries.mdx
- orphan-files.mdx
- restricted-direct-importers.mdx
- restricted-importers.mdx
- restricted-imports.mdx
- unresolved-imports.mdx
- unused-exports.mdx
- unused-node-modules.mdx
- config-file-structure.mdx
- entry-points-definition.mdx
- linting-the-config.mdx
- output-formats.mdx
- overview.mdx
- running-checks-and-autofix.mdx
- circular.mdx
- debug.mdx
- entry-points.mdx
- files.mdx
- imported-by.mdx
- lines-of-code.mdx
- node-modules.mdx
- overview.mdx
- resolve.mdx
- workflows.mdx
- migrating-from-depcheck.mdx
- migrating-from-dependency-cruiser.mdx
- migrating-from-dpdm.mdx
- migrating-from-eslint-plugin-import.mdx
- migrating-from-good-fences.mdx
- migrating-from-knip.mdx
- migrating-from-madge.mdx
- migrating-from-npm-check.mdx
- migrating-from-sheriff.mdx
- migrating-from-skott.mdx
- migrating-from-ts-prune.mdx
- migrating-from-ts-unused-exports.mdx
- migrating-from-unimported.mdx
- overview.mdx
- following-monorepo-packages.mdx
- glob-patterns.mdx
- ignoring-files.mdx
- module-resolution-and-path-aliases.mdx
- node-modules-resolution.mdx
- supported-file-types.mdx
- svelte-support.mdx
- vue-support.mdx
- index.mdx
- missing-or-unused-dependency-false-positives.mdx
- orphan-files-and-unused-exports-in-shared-packages.mdx
- unresolved-imports-troubleshooting.mdx
- glossary.mdx
- installation.mdx
- intro.mdx
- monorepo-integration-guide.mdx
- single-workspace-integration-guide.mdx
- telemetry.mdx
- version-2-sidebars.json
- .gitignore
- docusaurus.config.ts
- package.json
- pnpm-lock.yaml
- README.md
- sidebars.ts
- tsconfig.json
- versions.json
- aliases.go
- circular.go
- circularDeps_scc_test.go
- circularDeps_test.go
- duplicated_code.go
- glob_workspace_scoping_test.go
- import_conventions.go
- module_boundaries.go
- module_boundaries_test.go
- orphan.go
- orphanFiles_test.go
- restricted_devdeps.go
- restricted_direct_importers.go
- restricted_importers.go
- restricted_importers_test.go
- restricted_imports.go
- restrictedDevDependencies_test.go
- restrictedDirectImporters_test.go
- restrictedImports_test.go
- unresolved.go
- unresolved_test.go
- unused_exports.go
- unusedExports_test.go
- cmd_run_config_rules_test.go
- config_init.go
- config_json_output_test.go
- config_json_schema_drift_test.go
- config_lint.go
- config_lint_test.go
- config_migrate.go
- config_output_duplicated_code_test.go
- config_output_issues_list.go
- config_output_json.go
- config_output_json_locations.go
- config_output_test.go
- config_rules_filter.go
- config_run.go
- config_run_exit_test.go
- config_run_recheck_test.go
- config_summary_output_test.go
- debug_commands.go
- detector_preset_test.go
- duplicated_code.go
- duplicated_code_exit_test.go
- duplicated_code_format_test.go
- duplicated_code_options_test.go
- entry_points.go
- entry_points_test.go
- exports.go
- init_config_api_test.go
- init_config_choice_test.go
- init_config_compact_output_test.go
- init_config_duplicated_code_test.go
- init_config_standalone_test.go
- init_config_test.go
- main_flags_test.go
- main_smoke_test.go
- prompt.go
- prompt_test.go
- resolve_hints.go
- root.go
- telemetry_cmd.go
- test_helpers_test.go
- unresolved_cmd_test.go
- circular_algorithm_removal_test.go
- compact.go
- compact_test.go
- config.go
- config_cloud_field_test.go
- config_compact_forms_test.go
- config_duplicated_code_snapshot_test.go
- config_duplicated_code_test.go
- config_import_conventions_test.go
- config_module_boundaries_test.go
- config_restricted_devdeps_test.go
- config_restricted_direct_importers_test.go
- config_restricted_importers_test.go
- config_restricted_imports_test.go
- config_test.go
- config_tsconfig_path_test.go
- config_version_test.go
- configProcessor_autofix_test.go
- configProcessor_duplicated_code_test.go
- configProcessor_ignore_entry_points_test.go
- configProcessor_import_conventions_test.go
- configProcessor_no_root_workspaces_test.go
- configProcessor_node_modules_resolution_test.go
- configProcessor_orphan_autofix_test.go
- configProcessor_restricted_direct_importers_test.go
- configProcessor_svelte_test.go
- configProcessor_test.go
- configProcessor_tsconfig_path_test.go
- configProcessor_unresolved_test.go
- configProcessor_unused_exports_test.go
- configProcessor_vue_test.go
- duplicated_code_command.go
- duplicated_code_command_test.go
- exports.go
- import_conventions_test.go
- jsonedit.go
- jsonedit_test.go
- lint.go
- lint_fix.go
- lint_integration_test.go
- migrate.go
- migrate_test.go
- processor.go
- restrictedDevDependencies_validation_test.go
- rules_aliases.go
- unused_exports_rules_test.go
- aliases.go
- debug_utils.go
- diag.go
- canonical_form_golden_test.go
- characterization_test.go
- collector.go
- collector_test.go
- compare.go
- compare_test.go
- detect.go
- detect_bench_test.go
- detect_test.go
- determinism_test.go
- ignore_files_test.go
- invariants_test.go
- json.go
- json_schema_drift_test.go
- json_test.go
- report.go
- report_test.go
- skip_objects_test.go
- snapshot.go
- snapshot_report.go
- snapshot_settings_test.go
- snapshot_test.go
- emoji.go
- files.go
- files_test.go
- files_walk_test.go
- bench_glob_test.go
- createGlobMatchers_test.go
- deep_path_test.go
- exclude_filters.go
- exclude_filters_test.go
- gitignore_parity_test.go
- ignore_filters.go
- matchers.go
- reject_excluded_test.go
- aliases.go
- build_graph.go
- entry_points.go
- format_paths.go
- getEntryPoints_test.go
- minimal_tree.go
- types.go
- module.go
- discover_standalone_test.go
- exports.go
- monorepo.go
- monorepo_discovery_test.go
- monorepo_resolution_test.go
- restrictedDevDependencies_validation_test.go
- aliases.go
- binary_word_matcher_test.go
- find_node_module_binaries_test.go
- node_modules.go
- node_modules_aggregation_test.go
- node_modules_dirs.go
- node_modules_prune_docs.go
- node_modules_resolution_test.go
- nodeModules_test.go
- nodeModulesPruneDocs_test.go
- parse_bin_field_test.go
- aliases.go
- dual_mode_test.go
- import_scan_regressions_test.go
- parse_blocks.go
- parse_blocks_test.go
- parse_imports.go
- parse_locations.go
- parseImports_imports_after_exports_test.go
- parseImports_locations_test.go
- parseImports_svelte_bench_test.go
- parseImports_test.go
- parseImports_vue_bench_test.go
- reserved_words.go
- unified_scan_test.go
- paths.go
- pathutils.go
- pathutils_test.go
- perf.go
- plural.go
- accessors.go
- aliases.go
- getResolverForFile_test.go
- minimal_tree.go
- resolve_imports.go
- resolveImports_excluded_test.go
- resolveImports_pkg_json_exports_test.go
- resolveImports_pkg_json_test.go
- resolveImports_test.go
- test_helpers_test.go
- tsAliasTargetPath_test.go
- tsconfig.go
- tsconfig_test.go
- rules.go
- shell.go
- shell_test.go
- strip.go
- strip_test.go
- source_modifier.go
- source_modifier_test.go
- detach_unix.go
- detach_windows.go
- fingerprint.go
- metrics.go
- reporter.go
- telemetry.go
- telemetry_test.go
- reporoot.go
- version.go
- LICENSE
- package.json
- Readme.md
- LICENSE
- package.json
- Readme.md
- LICENSE
- package.json
- Readme.md
- LICENSE
- package.json
- Readme.md
- LICENSE
- package.json
- Readme.md
- bin.js
- LICENSE
- package.json
- Readme.md
- 1.0.schema.json
- 1.1.schema.json
- 1.2.schema.json
- 2.0.schema.json
- duplicated-code-1.0.schema.json
- duplicated-code-snapshot-1.0.schema.json
- addCliRefToReadmeAndDocs.js
- benchmarkParseImports.sh
- buildProdBinaries.sh
- genGitignoreParityTest.js
- publish.sh
- release.js
- releaseNotes.js
- setVersions.js
- canonical-form.golden
- circular-custom-config.golden
- circular-monorepo-conditions-ignore-type.golden
- circular-monorepo-ignore-type.golden
- circular.golden
- config_output_limiting.golden
- entry-points-complex-filtering-monorepo.golden
- entry-points-conditions-monorepo.golden
- entry-points-deps-count.golden
- entry-points-exclude-patterns-count.golden
- entry-points-include-patterns-deps-count.golden
- entry-points.golden
- files-count.golden
- files-ignore-type-custom-config.golden
- files-monorepo-conditions-count.golden
- files-monorepo-ignore-type.golden
- files.golden
- import-scan-tricky.golden
- import-scan.golden
- imported-by-fileA-list-imports.golden
- imported-by-fileA.golden
- imported-by-types-count.golden
- imported-by-types-list-imports.golden
- imported-by-types.golden
- lines-of-code.golden
- list-cwd-files-complex-count.golden
- list-cwd-files-count.golden
- list-cwd-files-include-exclude.golden
- list-cwd-files-multiple-include.golden
- list-cwd-files.golden
- node-modules-analyze-size.golden
- node-modules-dirs-size.golden
- node-modules-installed-duplicates-optimized.golden
- node-modules-installed-duplicates.golden
- node-modules-installed-include-exclude.golden
- node-modules-installed.golden
- node-modules-missing-monorepo-conditions.golden
- node-modules-missing.golden
- node-modules-unused-exclude-count.golden
- node-modules-unused.golden
- node-modules-used-file-filters-conditions.golden
- node-modules-used-grouping-entry-points.golden
- node-modules-used.golden
- resolve-all-paths.golden
- resolve-compact-summary-conditions.golden
- resolve-custom-config.golden
- resolve-multiple-entry-points-graph-exclude.golden
- resolve-type-imports-all.golden
- resolve-with-entry-points.golden
- resolve.golden
- unused_exports_limiting.golden
- unused_exports_sorting.golden
- .gitignore
- cli-telemetry.env.example
- demo.png
- go.mod
- go.sum
- InternalReadme.md
- LICENSE
- logo.png
- logo.svg
- PERFORMANCE.md
- README.md
# Installation Guide
git clone https://github.com/jayu/rev-dep
Downloads the entire project code from GitHub to your computer.
cd rev-dep
Moves into the project folder you just downloaded.
2. Official Install Script
Easy Recommended- Node.js Node.js must be installed to use npm.
npm install -g rev-dep
Installs the package published on the npm registry globally β no need to clone the source.
Pulled directly from this repo's README.
3. Node.js
Easyyarn add -D rev-dep
Type this command into your terminal and run it.
npm install -D rev-dep
Downloads and installs the libraries listed in package.json.
pnpm add -D rev-dep
Type this command into your terminal and run it.
yarn global add rev-dep
Type this command into your terminal and run it.
npm install -g rev-dep
Installs the package published on the npm registry globally β no need to clone the source.
Pulled directly from this repo's README.
4. Go
Mediumgo build ./...
Compiles the Go program into an executable.
go run .
Runs the Go program directly without a separate build step.
