By their very nature, Meteor applications are made up of packages that provide various functionality. In Pup, you will find packages that are included in Meteor by default as well as packages that provide some additional functionality. There are two types of packages in Pup: Atmosphere (Meteor) packages and NPM packages.
Atmosphere (Meteor) Packages
An official Meteor package that enables support for the
Email.send() method for sending emails. Relies on the
MAIL_URL environment variable to determine which SMTP service to relay sends through.
A default Meteor package that combines together other packages that every Meteor app needs to function.
A default Meteor package that combines together other packages that improve the experience of using Meteor on a mobile device.
A default Meteor package that provides support for MongoDB in Meteor.
A package that helps with the creation of reactive variables in Meteor. Makes it possible to create a reactive data source that can be used in a reactive data context.
A default Meteor package that gives access to Meteor's
Tracker library, used for creating and managing reactive data context's.
A default Meteor package used for minifying CSS files in your application.
A default Meteor package that adds support for Meteor's
meteor shell command which gives you access to the running server environment of your application on the command line.
Adds support for the
withTracker method, used for creating data containers to supply data to React components.
Adds support for user roles (e.g., "admin" or "manager") to the
Adds support for the compilation of
Adds support for the Meteor accounts system. Required in order to support any of the Meteor authentication strategies.
Adds support for the password authentication strategy to the Meteor accounts system.
Adds support for registering and configuring OAuth authentication strategies to the Meteor accounts system.
Adds support for the Facebook OAuth authentication strategy to the Meteor accounts system.
Adds support for the GitHub OAuth authentication strategy to the Meteor accounts system.
Adds support for the Google OAuth authentication strategy to the Meteor accounts system.
Adds support for client-side, Growl-style alerts. Useful for displaying confirmations and warnings to users based on their actions in the application.
Adds support for the Font Awesome icon library. Useful for adding icons to your interface.
Automates the process of ensuring that all Meteor Methods in the application make use of the
check() method to validate arguments passed from the client.
Adds support for rate-limiting Meteor Methods. Used in Pup's
rateLimit() module located at
/imports/modules/rate-limit.js. Allows you to control how many requests can be made to a Meteor Method from the client before future requests are blocked.
NPM packages in Pup come in two flavors: dependencies and development dependencies. The former are those that are loaded in the production application, while the latter are those that are loaded in development only and excluded in production.
These are dependencies that are bundled in the application both for development and production.
Contains a method that aids in seeding MongoDB database collections with fixture or test data.
Adds support for converting a base64 string to a file blob. Used for transmitting a zip file from the server to the client when exporting a user's data.
A default package installed in all new Meteor applications. Adds support for the
bcrypt encryption library, used in Meteor core for handling various encryption tasks. The NPM version is installed to circumvent falling back to the version bundled with Meteor.
A standard library containing polyfills for ECMAScript 5, 6, and 7. Used by the Meteor core library.
jquery-validation package for adding client-side validation to forms.
Adds support for the jQuery validation library, used for validating forms on the client in Pup.
Adds support for creating .zip files. Used in conjunction with Pup's data export feature for users.
Adds support for converting the
<style></style> tags in HTML email templates into inline styles.
A default package installed in all new Meteor applications. Used for stubbing built-in modules in Node.js.
Used in conjunction with the
/imports/modules/dates.js file for creating helpers for converting and manipulating dates.
An extension library for the
moment library. Helps in the conversion of dates to specific timezones. Used in conjunction with the
Adds support for the
PropTypes library which aids in the validation of props passed to React components.
Adds support for the React user interface library.
Adds support for React's pure render mixin which allows React components to be rendered purely, potentially improving the performance of React components.
Adds support for the `react-autobind package which simplifies the process of binding the React component instance to non-lifecycle methods in ES2015/ES6 Class based components.
Adds support for the
react-bootstrap package which gives us access to Bootstrap components defined as React components.
Adds support for the ReactDOM library which is used for rendering and managing React components in the DOM.
react-markdown package is used for rendering the Markdown-based content included in Pup's static pages feature.
Adds helper functions for making React Bootstrap navigation components to play friendly with React Router. Helps specifically with the correct application of the
.active class to navigation items, highlighting the present page.
Adds support for the React Router library, used for defining routes in Pup.
Adds support for the SimpleSchema library, used in conjunction with the
collection2 package for defining schemas on MongoDB collections in Pup.
These are dependencies that are bundled in the application both for development purposes only.
Helps to reduce the bundle size of Lodash at compilation time by automatically removing any unused functions from the library.
Adds support for the compilation of React JSX-based components when writing tests in Jest and Enzyme.
Adds support for the Enzyme library, used for rendering React components for testing within Jest.
Adds support for the ESLint linting library, used for linting code in Pup.
Adds support for the AirBnB ESLint ruleset to ESLint.
Helps prevent errors from ESLint in relation to Meteor's import and package structure.
import syntax to ESLint.
Adds support for the React a11y (accessibility) ruleset to ESLint.
Adds support for the Meteor linting ruleset to ESLint.
Adds support for the React linting ruleset to ESLint.
Adds support for the Jest testing library. Used for writing and running tests in Pup.