dlang / dub

Package and build management system for D
MIT License
662 stars 228 forks source link

feature: allow adding a .dubignore file to limit which files end up in repo #1769

Open SingingBush opened 4 years ago

SingingBush commented 4 years ago

I thought there already was a request for this but can't find it. Kind of related to #1129 and #1561. Essentially dub downloads all the files in a repo when pulling down a dependency. Obviously this isnt always an issue but sometimes the repository will include all sorts of stuff that the end user doesn't need on their file system such as config files for IDE's, CI build files, and other junk.

As an example if I look at ~/.dub/packages/ddbc-0.4.1/ it includes files for Visual Studio, docker and 3 sub projects (example, examples, test) that are only required by people working in the ddbc code base. It would be good if we could add a .dubignore file in the root of the project so that all files that are not relevant to using the project can be excluded from the download.

wilzbach commented 4 years ago

Dub currently just plainly downloads the zip archive of the respective repository from GitHub, so this would require the registry to store the files in the first place.

Geod24 commented 4 years ago

config files for IDE's, CI build files, and other junk.

Usually those files weight very little in the grand scheme of things. The main problem is that dub doesn't clean up old builds (e.g. dub clean isn't recursive), and obviously the leftover packages that are no longer used / referenced.

And since it is not directly used by the library developer (as opposed to, say, .dockerignore or .gitignore), my guess is that it would go out of date / be unmaintained pretty quickly.

SingingBush commented 4 years ago

@Geod24 in my example the files are small but a repo can contain all sorts including executables that the end user doesn't need. Also, my point it that I want it to be placed in the repo by the developer in the same way that a gitignore/dockerignore is. Because I want to place it in both ddbc and hibernated

Geod24 commented 4 years ago

a repo can contain all sorts including executables that the end user doesn't need.

I'd like to see a use case. All I can think of is someone distributing DLLs, and it being useless for non-Windows users. But this could potentially be inferred from the DUB file.

Also, my point it that I want it to be placed in the repo by the developer in the same way that a gitignore/dockerignore is.

My point was that those files won't have a benefit for the library developer, because they won't be used by them. Hence we rely on the developer doing additional work, that does not benefit him/her, and I've never seen this approach working.

The key difference with dockerignore / gitignore is that the effect are immediately visible to the user (developer). You see the effect of your gitignore every time you do a "git status". You see the effect of your dockerignore every time you build. But dubignore, you'd see it only when you download the package. It happens once, and no one time it / check the result.

I think we all agree there's an issue with the size of ~/.dub/packages/. If the size of binary object is part of it, I'd like to see evidence of it. For example, Vibe.d's lib folder is 10M, downloaded on every release of Vibe.d. On the other hand, a single build of vibe-d:http static library is 51M. E.g. look at this:

199M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d
199M    /Users/geod24/.dub/packages/vibe-d-0.8.5
 51M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/http
 25M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/core
 22M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/data/.dub/build
 22M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/data/.dub
 22M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/data
 16M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tls/.dub/build/openssl-debug-posix.osx-x86_64-dmd_2087-678CEF49C76ABE2B49B614E5A1948E92
 16M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tls/.dub/build
 16M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tls/.dub
 16M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tls
 15M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/redis/.dub/build/library-debug-posix.osx-x86_64-dmd_2087-EFD26D771AE1ED9460B113B15D3B592C
 15M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/redis/.dub/build
 15M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/redis/.dub
 15M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/redis
 13M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/mongodb
 11M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/data/.dub/build/library-unittest-posix.osx-x86_64-dmd_2087-E1037E16F6777F67581F763A39921E9D
 11M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/data/.dub/build/library-debug-posix.osx-x86_64-dmd_2087-A337E449DB22090F1FC5B3D7D7FD2A05
 10M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/web
 10M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/lib
8.1M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/utils
7.9M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/utils/.dub/build
7.9M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/utils/.dub
7.9M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/inet
7.8M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/inet/.dub/build/library-debug-posix.osx-x86_64-dmd_2087-A1CF32AC57F852490FF85B19D2F7985A
7.8M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/inet/.dub/build
7.8M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/inet/.dub
5.9M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/stream
5.8M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/stream/.dub/build/library-debug-posix.osx-x86_64-dmd_2087-7290E83B9247D098AA90A0D6813965B5
5.8M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/stream/.dub/build
5.8M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/stream/.dub
5.4M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/mail/.dub/build/library-debug-posix.osx-x86_64-dmd_2087-53423DE6D11E245428DC727BE027CDBD
5.4M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/mail/.dub/build
5.4M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/mail/.dub
5.4M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/mail
5.0M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/lib/win-amd64
4.3M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/textfilter/.dub/build/library-debug-posix.osx-x86_64-dmd_2087-148942BCD4DF6E77669C81C142AE3100
4.3M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/textfilter/.dub/build
4.3M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/textfilter/.dub
4.3M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/textfilter
4.1M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/lib/win-i386
3.9M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/utils/.dub/build/library-unittest-posix.osx-x86_64-dmd_2087-CE5AF31688F1A8841FAE7475D1705A2B
3.9M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/utils/.dub/build/library-debug-posix.osx-x86_64-dmd_2087-1370297ABA824B069E26A79C310385C7
2.2M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/crypto
1.1M    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/lib/win-i386-mscoff
640K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples
476K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/core/vibe
452K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/core/vibe/core
376K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests
300K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http
300K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe
228K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/web/vibe/web
228K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/web/vibe
204K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data
204K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe
196K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/core/vibe/core/drivers
188K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe
120K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/internal
100K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/redis/vibe/db/redis
100K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/redis/vibe/db
100K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/redis/vibe
100K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/mongodb/vibe/db/mongo
100K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/mongodb/vibe/db
100K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/mongodb/vibe
 96K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/inet/vibe/inet
 96K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/inet/vibe
 88K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tls/vibe/stream
 88K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tls/vibe
 88K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/stream/vibe/stream
 88K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/stream/vibe
 72K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/internal/meta
 68K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils
 60K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/http_static_server
 56K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/textfilter/vibe/textfilter
 56K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/textfilter/vibe
 52K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/http_static_server/public
 40K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web-auth
 36K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/web/vibe/web/internal/rest
 36K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/web/vibe/web/internal
 32K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/tls
 32K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web
 32K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/bench-http-server
 32K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/app_skeleton
 28K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web-i18n
 28K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/http_static_server/public/gzip
 24K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/rest
 24K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web-auth/views
 24K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/rest
 24K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/https_server_sni
 24K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/crypto/vibe/crypto
 24K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/crypto/vibe
 20K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/rest/source
 20K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web_ajax
 20K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/rest/source
 20K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/bench-http-server/public
 20K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/core/vibe/internal
 16K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/auth
 16K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/websocket
 16K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web_websocket
 16K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web/views
 16K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/https_server
 16K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/auth_digest
 16K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/auth_basic
 16K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/app_skeleton/views
 12K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.web.rest.1922
 12K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.web.rest.1140
 12K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.web.rest.1125
 12K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/restclient
 12K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/redis
 12K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/not-runnable/vibe.http.websocket-autobahn-client
 12K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/not-runnable
 12K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/dirwatcher
 12K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/args
 12K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/mail/vibe/mail
 12K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/mail/vibe
 12K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web_ajax/views
 12K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/uploader
 12K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/task_control
 12K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/rest-js
 12K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/rest-collections
 12K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/http_info
 12K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/diet
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.web.web.auth
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.web.web
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.web.rest.auth
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.web.rest.1230
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.http.websocket.2169
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.http.websocket
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.http.server.listenHTTP
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.http.server.host-header
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.http.server.empty-json
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.http.server.1721
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.http.server.1388
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.http.client.2080
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.http.client.1426
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.http.client.1389
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.data.json.1504
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.core.net.1726
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.core.net.1452
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.core.net.1441
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.core.net.1429
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.core.net.1376
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.core.core.1742
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.core.core.1590
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.core.concurrency.1408
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/tls/source
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/tcpproxy
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/tcp
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/std.concurrency
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/restcollections
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/restclient/source
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/redis/source
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/mongodb
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/source/vibe
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/source
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/scripts
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/lib/subprojects
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/websocket/public
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web/source
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web-i18n/views
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web-i18n/translations
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web-auth/source
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/unix_socket
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/udp
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/tcp_separate
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/serialization
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/sendmail
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/rest-collections/source
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/redis-pubsub
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/redis
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/read_write_mutex
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/mongodb
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/message
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/json
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/http_server
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/http_reverse_proxy
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/http_request_digest
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/http_request
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/http_forward_proxy
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/future
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/file_operations
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/echoserver
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/download
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/daytime
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/bench-urlrouter
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/bench-mongodb
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/bench-http-request
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/auth_digest/views
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/auth_basic/views
8.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/app_skeleton/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.web.web/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.web.web.auth/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.web.rest.auth/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.web.rest.1922/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.web.rest.1230/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.web.rest.1140/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.web.rest.1125/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.http.websocket/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.http.websocket.2169/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.http.server.listenHTTP/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.http.server.host-header/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.http.server.empty-json/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.http.server.1721/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.http.server.1388/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.http.client.2080/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.http.client.1426/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.http.client.1389/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.data.json.1504/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.core.net.1726/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.core.net.1452/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.core.net.1441/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.core.net.1429/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.core.net.1376/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.core.core.1742/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.core.core.1590/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/vibe.core.concurrency.1408/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/tcpproxy/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/tcp/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/std.concurrency/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/restcollections/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/not-runnable/vibe.http.websocket-autobahn-client/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/mongodb/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/dirwatcher/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/tests/args/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/websocket/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/websocket/public/scripts
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web_websocket/views
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web_websocket/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web_websocket/public/scripts
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web_websocket/public
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web_ajax/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web/public/styles
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web/public
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web-i18n/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web-i18n/public/styles
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web-i18n/public
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web-auth/public/styles
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/web-auth/public
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/uploader/views
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/uploader/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/unix_socket/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/udp/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/tcp_separate/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/task_control/views
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/task_control/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/serialization/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/sendmail/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/rest-js/views
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/rest-js/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/redis/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/redis-pubsub/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/read_write_mutex/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/mongodb/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/message/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/json/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/https_server_sni/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/https_server/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/http_static_server/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/http_server/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/http_reverse_proxy/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/http_request_digest/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/http_request/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/http_info/views
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/http_info/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/http_forward_proxy/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/future/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/file_operations/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/echoserver/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/download/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/diet/views
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/diet/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/daytime/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/bench-urlrouter/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/bench-mongodb/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/bench-http-server/views
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/bench-http-server/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/bench-http-request/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/auth_digest/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/auth_basic/source
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/app_skeleton/public/styles
4.0K    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/examples/app_skeleton/public
  0B    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/web/.dub/build/library-debug-posix.osx-x86_64-dmd_2087-1C42CF44665AC695C8DC32BE32328A32
  0B    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/web/.dub/build
  0B    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/web/.dub
  0B    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/mongodb/.dub/build/library-debug-posix.osx-x86_64-dmd_2087-C2CBF8AF9756D89A4E74D817AAA924ED
  0B    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/mongodb/.dub/build
  0B    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/mongodb/.dub
  0B    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/http/.dub/build/library-debug-posix.osx-x86_64-dmd_2087-71E5DF2E36F1ED102D4C0EE5B84BE6A2
  0B    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/http/.dub/build
  0B    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/http/.dub
  0B    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/crypto/.dub/build/library-debug-posix.osx-x86_64-dmd_2087-DD94B0244B58E1A7F7E50028E257FF2B
  0B    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/crypto/.dub/build
  0B    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/crypto/.dub
  0B    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/core/.dub/build/libevent-unittest-posix.osx-x86_64-dmd_2087-C5A593069AFE739166662496E761A7CF
  0B    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/core/.dub/build
  0B    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/core/.dub
  0B    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/.dub/build/vibe-core-debug-posix.osx-x86_64-dmd_2087-E8999759C2B7BFE2D4E5725DDC836942
  0B    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/.dub/build
  0B    /Users/geod24/.dub/packages/vibe-d-0.8.5/vibe-d/.dub

In this example, while getting rid of the 10M of libs would be good (for non-Windows users), it would only amount for 5% less data. Most of the issue is dub not cleaning up after itself. And for those 5% less data, we would push the problem to the end-user, which is not scalable.