Objective: get rid of anything unnecessary for a proper, clutter-free Meteor Apollo integration.
Looking at the dependency tree:
$ meteor list --tree
accounts-password@1.5.1
├─┬ accounts-base@1.4.2
│ ├─┬ callback-hook@1.1.0
│ │ └── ecmascript@0.10.5 (top level)
│ ├─┬ check@1.3.0
│ │ ├── ecmascript@0.10.5 (top level)
│ │ └─┬ ejson@1.1.0
│ │ ├─┬ base64@1.0.11
│ │ │ └── ecmascript@0.10.5 (top level)
│ │ └── ecmascript@0.10.5 (top level)
│ ├─┬ ddp@1.4.0
│ │ ├─┬ ddp-client@2.3.1
│ │ │ ├── callback-hook@1.1.0 (expanded above)
│ │ │ ├── check@1.3.0 (expanded above)
│ │ │ ├─┬ ddp-common@1.4.0
│ │ │ │ ├── check@1.3.0 (expanded above)
│ │ │ │ ├── ecmascript@0.10.5 (top level)
│ │ │ │ ├── ejson@1.1.0 (expanded above)
│ │ │ │ ├─┬ random@1.1.0
│ │ │ │ │ └── ecmascript@0.10.5 (top level)
│ │ │ │ ├─┬ retry@1.1.0
│ │ │ │ │ ├── ecmascript@0.10.5 (top level)
│ │ │ │ │ └── random@1.1.0 (expanded above)
│ │ │ │ └── tracker@1.1.3
│ │ │ ├─┬ diff-sequence@1.1.0
│ │ │ │ ├── ecmascript@0.10.5 (top level)
│ │ │ │ └── ejson@1.1.0 (expanded above)
│ │ │ ├── ecmascript@0.10.5 (top level)
│ │ │ ├── ejson@1.1.0 (expanded above)
│ │ │ ├─┬ id-map@1.1.0
│ │ │ │ ├── ecmascript@0.10.5 (top level)
│ │ │ │ └── ejson@1.1.0 (expanded above)
│ │ │ ├─┬ mongo-id@1.0.6
│ │ │ │ ├── ejson@1.1.0 (expanded above)
│ │ │ │ ├── id-map@1.1.0 (expanded above)
│ │ │ │ └── random@1.1.0 (expanded above)
│ │ │ ├── random@1.1.0 (expanded above)
│ │ │ ├─┬ reload@1.2.0
│ │ │ │ └── ecmascript@0.10.5 (top level)
│ │ │ ├── retry@1.1.0 (expanded above)
│ │ │ ├─┬ socket-stream-client@0.1.0
│ │ │ │ ├── ecmascript@0.10.5 (top level)
│ │ │ │ └── retry@1.1.0 (expanded above)
│ │ │ └── tracker@1.1.3
│ │ └─┬ ddp-server@2.1.2
│ │ ├── callback-hook@1.1.0 (expanded above)
│ │ ├── check@1.3.0 (expanded above)
│ │ ├── ddp-client@2.3.1 (expanded above)
│ │ ├── ddp-common@1.4.0 (expanded above)
│ │ ├── diff-sequence@1.1.0 (expanded above)
│ │ ├── ecmascript@0.10.5 (top level)
│ │ ├── ejson@1.1.0 (expanded above)
│ │ ├─┬ minimongo@1.4.3
│ │ │ ├── diff-sequence@1.1.0 (expanded above)
│ │ │ ├── ecmascript@0.10.5 (top level)
│ │ │ ├── ejson@1.1.0 (expanded above)
│ │ │ ├─┬ geojson-utils@1.0.10
│ │ │ │ └─┬ modules@0.11.5
│ │ │ │ └── modules-runtime@0.9.2
│ │ │ ├── id-map@1.1.0 (expanded above)
│ │ │ ├── mongo-id@1.0.6 (expanded above)
│ │ │ ├─┬ ordered-dict@1.1.0
│ │ │ │ └── ecmascript@0.10.5 (top level)
│ │ │ ├── random@1.1.0 (expanded above)
│ │ │ └── tracker@1.1.3
│ │ ├── mongo-id@1.0.6 (expanded above)
│ │ ├── random@1.1.0 (expanded above)
│ │ ├── retry@1.1.0 (expanded above)
│ │ ├─┬ routepolicy@1.0.12
│ │ │ ├── underscore@1.0.10
│ │ │ └── webapp@1.5.0 (top level)
│ │ ├── underscore@1.0.10
│ │ └── webapp@1.5.0 (top level)
│ ├─┬ ddp-rate-limiter@1.0.7
│ │ └─┬ rate-limit@1.0.9
│ │ ├── ecmascript@0.10.5 (top level)
│ │ └── random@1.1.0 (expanded above)
│ ├── ecmascript@0.10.5 (top level)
│ ├── ejson@1.1.0 (expanded above)
│ ├─┬ localstorage@1.2.0
│ │ └── random@1.1.0 (expanded above)
│ ├── mongo@1.4.5 (top level)
│ ├── random@1.1.0 (expanded above)
│ ├─┬ reactive-var@1.0.11
│ │ └── tracker@1.1.3
│ ├─┬ service-configuration@1.0.11
│ │ ├── accounts-base@1.4.2 (expanded above)
│ │ └── mongo@1.4.5 (top level)
│ ├── tracker@1.1.3
│ └── underscore@1.0.10
├── check@1.3.0 (expanded above)
├── ddp@1.4.0 (expanded above)
├── ecmascript@0.10.5 (top level)
├── ejson@1.1.0 (expanded above)
├── email@1.2.3
├─┬ npm-bcrypt@0.9.3
│ └── modules@0.11.5 (expanded above)
├── random@1.1.0 (expanded above)
├── sha@1.0.9
├─┬ srp@1.0.10
│ ├── check@1.3.0 (expanded above)
│ ├── random@1.1.0 (expanded above)
│ ├── sha@1.0.9
│ └── underscore@1.0.10
└── underscore@1.0.10
alanning:roles@1.2.16
├── accounts-base@1.4.2 (expanded above)
├── check@1.3.0 (expanded above)
├── mongo@1.4.5 (top level)
├── tracker@1.1.3
└── underscore@1.0.10
apollo@2.0.0
├── accounts-base@1.4.2 (expanded above)
└── ecmascript@0.10.5 (top level)
ecmascript@0.10.5
├─┬ babel-compiler@7.0.5
│ └─┬ ecmascript-runtime@0.5.0
│ ├─┬ ecmascript-runtime-client@0.6.2
│ │ ├── modules@0.11.5 (expanded above)
│ │ └─┬ promise@0.10.2
│ │ └── modules@0.11.5 (expanded above)
│ └─┬ ecmascript-runtime-server@0.5.0
│ └── modules@0.11.5 (expanded above)
├─┬ babel-runtime@1.2.2
│ └── modules@0.11.5 (expanded above)
├─┬ dynamic-import@0.3.0
│ ├─┬ http@1.4.0
│ │ ├── modules@0.11.5 (expanded above)
│ │ └─┬ url@1.2.0
│ │ └── modules@0.11.5 (expanded above)
│ ├── modules@0.11.5 (expanded above)
│ └── promise@0.10.2 (expanded above)
├── ecmascript-runtime@0.5.0 (expanded above)
├── modules@0.11.5 (expanded above)
└── promise@0.10.2 (expanded above)
es5-shim@4.7.3
├── modules@0.11.5 (expanded above)
├─┬ server-render@0.3.0
│ ├── ecmascript@0.10.5 (top level)
│ └── webapp@1.5.0 (top level)
└─┬ shim-common@0.1.0
└── ecmascript@0.10.5 (top level)
hot-code-push@1.0.4
├─┬ autoupdate@1.4.0
│ ├── check@1.3.0 (expanded above)
│ ├── ddp@1.4.0 (expanded above)
│ ├── ecmascript@0.10.5 (top level)
│ ├── http@1.4.0 (expanded above)
│ ├── mongo@1.4.5 (top level)
│ ├── random@1.1.0 (expanded above)
│ ├── retry@1.1.0 (expanded above)
│ ├── tracker@1.1.3
│ └── webapp@1.5.0 (top level)
└── reload@1.2.0 (expanded above)
meteor@1.8.4
mongo@1.4.5
├─┬ allow-deny@1.1.0
│ ├── check@1.3.0 (expanded above)
│ ├── ddp@1.4.0 (expanded above)
│ ├── ecmascript@0.10.5 (top level)
│ ├── ejson@1.1.0 (expanded above)
│ └── minimongo@1.4.3 (expanded above)
├─┬ binary-heap@1.0.10
│ ├── id-map@1.1.0 (expanded above)
│ └── underscore@1.0.10
├── callback-hook@1.1.0 (expanded above)
├── check@1.3.0 (expanded above)
├── ddp@1.4.0 (expanded above)
├── diff-sequence@1.1.0 (expanded above)
├── ecmascript@0.10.5 (top level)
├── ejson@1.1.0 (expanded above)
├── minimongo@1.4.3 (expanded above)
├─┬ mongo-dev-server@1.1.0
│ └── modules@0.11.5 (expanded above)
├── mongo-id@1.0.6 (expanded above)
├── npm-mongo@2.2.34
├── random@1.1.0 (expanded above)
├── tracker@1.1.3
└── underscore@1.0.10
nicolaslopezj:apollo-accounts@3.2.2
├── accounts-base@1.4.2 (expanded above)
├─┬ accounts-oauth@1.1.15
│ ├── accounts-base@1.4.2 (expanded above)
│ ├── check@1.3.0 (expanded above)
│ ├─┬ oauth@1.2.1
│ │ ├── base64@1.0.11 (expanded above)
│ │ ├── check@1.3.0 (expanded above)
│ │ ├── localstorage@1.2.0 (expanded above)
│ │ ├─┬ logging@1.1.19
│ │ │ ├── ejson@1.1.0 (expanded above)
│ │ │ ├── modules@0.11.5 (expanded above)
│ │ │ └── underscore@1.0.10
│ │ ├── mongo@1.4.5 (top level)
│ │ ├── reload@1.2.0 (expanded above)
│ │ ├── routepolicy@1.0.12 (expanded above)
│ │ ├── service-configuration@1.0.11 (expanded above)
│ │ ├── underscore@1.0.10
│ │ ├── url@1.2.0 (expanded above)
│ │ └── webapp@1.5.0 (top level)
│ ├── random@1.1.0 (expanded above)
│ ├── underscore@1.0.10
│ └── webapp@1.5.0 (top level)
├── check@1.3.0 (expanded above)
├── ecmascript@0.10.5 (top level)
├── http@1.4.0 (expanded above)
├── npm-bcrypt@0.9.3 (expanded above)
├── oauth@1.2.1 (expanded above)
├─┬ oauth2@1.2.0
│ ├── oauth@1.2.1 (expanded above)
│ ├── random@1.1.0 (expanded above)
│ └── service-configuration@1.0.11 (expanded above)
├── random@1.1.0 (expanded above)
├── service-configuration@1.0.11 (expanded above)
└─┬ tmeasday:check-npm-versions@0.3.2
└── ecmascript@0.10.5 (top level)
shell-server@0.3.1
└── ecmascript@0.10.5 (top level)
standard-minifier-css@1.4.1
└─┬ minifier-css@1.3.1
└── ecmascript@0.10.5 (top level)
standard-minifier-js@2.3.2
├── babel-compiler@7.0.5 (expanded above)
├── ecmascript@0.10.5 (top level)
└─┬ minifier-js@2.3.3
└── babel-compiler@7.0.5 (expanded above)
static-html@1.2.2
├─┬ caching-html-compiler@1.1.2
│ ├─┬ caching-compiler@1.1.11
│ │ ├── ecmascript@0.10.5 (top level)
│ │ └── random@1.1.0 (expanded above)
│ ├── ecmascript@0.10.5 (top level)
│ ├─┬ templating-tools@1.1.2
│ │ ├── ecmascript@0.10.5 (top level)
│ │ ├─┬ spacebars-compiler@1.1.3
│ │ │ ├─┬ blaze-tools@1.0.10
│ │ │ │ ├─┬ htmljs@1.0.11
│ │ │ │ │ └─┬ deps@1.0.12
│ │ │ │ │ └── tracker@1.1.3
│ │ │ │ └── underscore@1.0.10
│ │ │ ├─┬ html-tools@1.0.11
│ │ │ │ └── htmljs@1.0.11 (expanded above)
│ │ │ ├── htmljs@1.0.11 (expanded above)
│ │ │ └── underscore@1.0.10
│ │ └── underscore@1.0.10
│ └── underscore@1.0.10
├── ecmascript@0.10.5 (top level)
├── templating-tools@1.1.2 (expanded above)
└── underscore@1.0.10
swydo:graphql@0.4.0
└── ecmascript@0.10.5 (top level)
webapp@1.5.0
├─┬ boilerplate-generator@1.4.0
│ ├── ecmascript@0.10.5 (top level)
│ └── underscore@1.0.10
├── ecmascript@0.10.5 (top level)
├── logging@1.1.19 (expanded above)
├── routepolicy@1.0.12 (expanded above)
├── underscore@1.0.10
└─┬ webapp-hashing@1.0.9
├── ecmascript@0.10.5 (top level)
└── underscore@1.0.10
We have so many dependencies on ddp
from and others.
If I do DISABLE_WEBSOCKETS
it will fallback to polling and bunch of XHR requests happen.
I see that ddp
is so wired into Meteor. Any ideas how I can let it loose ?