Skip to content

Instantly share code, notes, and snippets.

@SachaG
Created April 22, 2015 08:00
Show Gist options
  • Save SachaG/f22e04bf91751435806d to your computer and use it in GitHub Desktop.
Save SachaG/f22e04bf91751435806d to your computer and use it in GitHub Desktop.
Telescope Package Hierarchy

Telescope has three tiers of packages.

Lib Packages

These are third-party packages such as Iron Router, SimpleSchema, AutoForm, etc. that are used throughout the app. Inside telescope:lib, they are used (api.use()) and then implied (api.imply()), which makes them available to any package that then uses telescope:lib.

Here's the full list:

  api.use([
    'standard-app-packages',
    'accounts-base',
    'accounts-base',
    'accounts-password',
    'accounts-twitter',
    'http',
    'aldeed:[email protected]',
    'aldeed:[email protected]',
    'aldeed:[email protected]',
    'tap:[email protected]',
    'fourseven:[email protected]',
    'iron:[email protected]',
    'matb33:[email protected]',
    'chuangbo:[email protected]',
    'meteorhacks:[email protected]',
    'meteorhacks:[email protected]',
    'percolatestudio:[email protected]',
    'useraccounts:[email protected]',
    'manuelschoebel:[email protected]',
    'aramk:[email protected]_1',
    'momentjs:[email protected]',
    'sacha:[email protected]',
    'aslagle:[email protected]',
    'bengott:[email protected]'
  ]);

Core Packages

Core packages are packages that are necessary to run the app. They all depend on telescope:lib, and some of them also depend on each other in addition. They are all used and implied from telescope:core.

Here's the full list:

  api.use([
    'telescope:[email protected]', //  no dependencies
    'telescope:[email protected]', // lib
    'telescope:[email protected]', // lib
    'telescope:[email protected]', // lib
    'telescope:[email protected]', // lib
    'telescope:[email protected]', // lib
    'telescope:[email protected]', // lib, settings
    'telescope:[email protected]', // lib, settings, users
    'telescope:[email protected]' // lib, settings, users, comments
  ]);

Note that all these packages (including telescope:lib) are also implied in telescope:core. That means any package that uses telescope:core also has access to the packages that were implied in telescope:lib.

Also, since telescope:core depends on all of these, only telescope:core needs to be added to .meteor/packages:

############ Telescope Core ############

telescope:core

Optional Packages

Finally, optional packages all depend telescope:core, but can also optionally depend on each other. Here's the full list:

# Note: all following packages depend on telescope:core; Additional internal dependencies are mentioned

telescope:api
telescope:daily # singleday
telescope:datetimepicker
telescope:email
telescope:embedly
telescope:getting-started
telescope:invites
telescope:kadira
telescope:migrations
telescope:newsletter
telescope:notifications
telescope:pages
telescope:post-by-feed
telescope:releases
telescope:rss
telescope:scoring
telescope:search
telescope:share
telescope:singleday
# telescope:sitemap
telescope:subscribe-to-posts # notifications
telescope:tagline-banner
telescope:tags
telescope:theme-base
telescope:theme-hubble
telescope:update-prompt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment