Skip to content

Instantly share code, notes, and snippets.

@SachaG
Created April 22, 2015 08:00
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • 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:simple-schema@1.3.2',
    'aldeed:collection2@2.3.3',
    'aldeed:autoform@5.1.2',
    'tap:i18n@1.4.1',
    'fourseven:scss@2.1.1',
    'iron:router@1.0.5',
    'matb33:collection-hooks@0.7.11',
    'chuangbo:marked@0.3.5',
    'meteorhacks:fast-render@2.3.2',
    'meteorhacks:subs-manager@1.3.0',
    'percolatestudio:synced-cron@1.1.0',
    'useraccounts:unstyled@1.8.1',
    'manuelschoebel:ms-seo@0.4.1',
    'aramk:tinycolor@1.1.0_1',
    'momentjs:moment@2.10.3',
    'sacha:spin@0.2.4',
    'aslagle:reactive-table@0.7.3',
    'bengott:avatar@0.7.6'
  ]);

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:lib@0.3.0', //  no dependencies
    'telescope:messages@0.1.0', // lib
    'telescope:events@0.1.0', // lib
    'telescope:events@0.1.0', // lib
    'telescope:i18n@0.1.0', // lib
    'telescope:settings@0.1.0', // lib
    'telescope:users@0.1.0', // lib, settings
    'telescope:comments@0.1.0', // lib, settings, users
    'telescope:posts@0.1.2' // 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