Before I was using aldeed:simple-schema package, then switched to the npm version and removed the package: meteor remove aldeed:simple-schema
However when Meteor starts building, it reinstals the package, because of an indirect dependency on it from another package.
Is there a convenient way to identify the package introducing the indirect dependency?
Here is the content of the “packages” file:
meteor-base@1.0.4 # Packages every Meteor app needs to have
mobile-experience@1.0.4 # Packages for a great mobile UX
mongo@1.1.16 # The database Meteor supports right now
blaze-html-templates@1.0.4 # Compile .html files into Meteor Blaze views
reactive-var@1.0.11 # Reactive variable for tracker
tracker@1.1.2 # Meteor’s client-side reactive programming library
standard-minifier-css@1.3.4 # CSS minifier run for production mode
standard-minifier-js@1.2.3 # JS minifier run for production mode
es5-shim@4.6.15 # ECMAScript 5 compatibility for older browsers.
ecmascript@0.6.3 # Enable ECMAScript2015+ syntax in app code
twbs:bootstrap
fourseven:scss
logging@1.1.17
random@1.0.10
ejson@1.0.13
cfs:http-methods
tap:i18n
accounts-password@1.3.4
http@1.2.12
shell-server
I think I vaguely remember a package or an online service (open source) with the ability to analyze your packages file to give you a visualization of your dependency tree, perhaps if you searched the forums you could find it.
I actually did search before posting but I couldn’t find a convenient way of doing it. If you’re able to find it please share the link, I’m sure it’d help.
I can’t remember where I saw it on the forums, but someone had this posted:
for p in `meteor list | grep '^[a-z]' | awk '{ print $1"@"$2 }'`; do echo "$p"; meteor show "$p" | grep -E '^ [a-z]'; echo; done
It lists the direct dependencies for the top level packages. Takes a while to run, so issue the command in the meteor app’s root directory then go make a cup of coffee and come back to see something like: