Giter VIP home page Giter VIP logo

depcheck's People

Contributors

narfdotpl avatar wojteklu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

depcheck's Issues

Export Graph Dot File

It would be great if there was an option in the graph command to simply export the Dot file rather than going through the whole process of generating the GraphViz image. That way the Dot file could be imported into other programs (such as OmniGraffle). It would also make the dependency graph editable.

Generating Graph for Watch.

Currently depcheck does not support graphing for Watch with error message
No derived data found. Please make sure the project was built.

I did some investigation and found out that this is because In the case of Watch, data are stored inside 'target_name Extension.build' (at least for my project).

I was able to analyze and graph by manually adding ' Extension' inside Finder module.

`depcheck analyse` fails with `undefined method 'each' for nil:NilClass`

$ depcheck analyze --workspace App.xcworkspace --scheme App
/Users/ldiqual/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/depcheck-0.1.0/lib/depcheck/analyzer.rb:29:in `block (2 levels) in generate_dependencies': undefined method `each' for nil:NilClass (NoMethodError)
        from /Users/ldiqual/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/depcheck-0.1.0/lib/depcheck/analyzer.rb:26:in `each'
        from /Users/ldiqual/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/depcheck-0.1.0/lib/depcheck/analyzer.rb:26:in `block in generate_dependencies'
        from /Users/ldiqual/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/depcheck-0.1.0/lib/depcheck/analyzer.rb:10:in `each'
        from /Users/ldiqual/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/depcheck-0.1.0/lib/depcheck/analyzer.rb:10:in `generate_dependencies'
        from /Users/ldiqual/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/depcheck-0.1.0/lib/depcheck/command/analyze_command.rb:13:in `execute'
        from /Users/ldiqual/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/clamp-0.6.5/lib/clamp/command.rb:67:in `run'
        from /Users/ldiqual/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/clamp-0.6.5/lib/clamp/subcommand/execution.rb:11:in `execute'
        from /Users/ldiqual/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/clamp-0.6.5/lib/clamp/command.rb:67:in `run'
        from /Users/ldiqual/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/clamp-0.6.5/lib/clamp/command.rb:132:in `run'
        from /Users/ldiqual/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/depcheck-0.1.0/bin/depcheck:16:in `<top (required)>'
        from /Users/ldiqual/.rbenv/versions/2.3.0/bin/depcheck:23:in `load'
        from /Users/ldiqual/.rbenv/versions/2.3.0/bin/depcheck:23:in `<main>'

Graph creation fails silently

Steps to reproduce:

  1. Install depcheck via gem install depcheck
  2. See all dependencies get installed properly
  3. Run depcheck graph
  4. depcheck graph fails silently

Expected Behavior:

  • Find the graph.png file on the file system

Notes:

  • Also tried by giving the gem executable, read and write permissions.
  • Analyze works but Graph doesn't.
  • I tried with different projects and schemes and it always failed silently on the graph creation

Assumptions:
Xcode version: 9.0.1
Using RVM

Output:

Hanoi julio$ depcheck analyze --project /Users/julio/Github/Hanoi/Hanoi.xcodeproj --scheme Hanoi
1. HanoiViewsTests - 7
2. HanoiTests - 6
3. ViewController - 0
4. AppDelegate - 0
Hanoi julio$ depcheck graph --project /Users/julio/Github/Hanoi/Hanoi.xcodeproj --scheme Hanoi
Hanoi julio$ 

`depcheck version` fails with uninitialized constant error

$ depcheck version
/Users/ldiqual/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/depcheck-0.1.0/lib/depcheck/command/version_command.rb:4:in `execute': uninitialized constant Depcheck::VERSION (NameError)
        from /Users/ldiqual/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/clamp-0.6.5/lib/clamp/command.rb:67:in `run'
        from /Users/ldiqual/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/clamp-0.6.5/lib/clamp/subcommand/execution.rb:11:in `execute'
        from /Users/ldiqual/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/clamp-0.6.5/lib/clamp/command.rb:67:in `run'
        from /Users/ldiqual/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/clamp-0.6.5/lib/clamp/command.rb:132:in `run'
        from /Users/ldiqual/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/depcheck-0.1.0/bin/depcheck:16:in `<top (required)>'
        from /Users/ldiqual/.rbenv/versions/2.3.0/bin/depcheck:23:in `load'
        from /Users/ldiqual/.rbenv/versions/2.3.0/bin/depcheck:23:in `<main>'

Assorted duplicate items

Just wanted to report that I get duplicates, sometimes interspersed:

$ depcheck analyze --project TableFlip.xcodeproj
1. TableEventHandler - 18 
2. TableEventHandler - 18 
3. TableInteractionController - 16 
4. TableInteractionController - 16 
5. TableInteractionController - 16 
6. MarkdownTable - 14 
7. MarkdownTable - 14 
8. MarkdownTable - 14 
9. TableViewModel - 12 
10. DocumentStateContextAdapter - 12 
11. DocumentStateContextAdapter - 12 
12. DocumentStateContextAdapter - 12 
13. TableViewModel - 12 
14. AppActionContext - 10 
15. TableContextMenuController - 10 
16. ToolbarItems - 10 
17. TableContextMenuController - 10 
18. ToolbarItems - 10 
19. TableContextMenuController - 10 
20. AppActionContext - 10 
21. ToolbarItems - 10 
22. AppActionContext - 10 

I also wonder where the 18 dependencies of the first item come from ๐Ÿค” Maybe the rather big Interface Builder file gets in the way?

`depcheck analyze` generates a lot of duplicates

Here's one example of an output on my production app:

1. TROverviewVC - 51
2. TROverviewVC - 51
3. TROverviewVC - 51
4. TROverviewVC - 50
5. SCInviteVC - 38
6. SCInviteVC - 38
7. SCInviteVC - 38
8. SCInviteVC - 38
9. TRItineraryCardVC - 36
10. TRItineraryCardVC - 36
11. TRItineraryCardVC - 36
12. TRItineraryCardVC - 36
13. TRScheduleVC - 36
14. DeveloperVC - 29
15. DeveloperVC - 29
16. DeveloperVC - 29
17. DeveloperVC - 29
18. STDrivingDocumentVC - 28
19. STDrivingDocumentVC - 28
20. STDrivingDocumentVC - 28
21. STDrivingDocumentVC - 28
22. AppDelegate - 27
23. AppDelegate - 27
24. AppDelegate - 27
25. AppDelegate - 27
26. OBCredentialsVC - 26
27. OBCredentialsVC - 26
...

Side question: how can TROverviewVC have both a count of 50 and 51?

Ability to exclude pods or carthage dependency

First of all - cool tool! It gave me more insight into my project, so thanks for that!
Second, I would really like to see the ability to exclude certain folders like pods/carthage, because these tend to clutter the results.

Cheers,
Sid

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.