Atmosphere is Meteor’s package repository, hosting thousands of community and core packages. It’s accessible at atmospherejs.com.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/meteor/meteor/llms.txt
Use this file to discover all available pages before exploring further.
What is Atmosphere?
Atmosphere is the central registry for Meteor packages, similar to npm for Node.js. It provides:- Package hosting: Stores and distributes Meteor packages
- Version management: Tracks all versions of every package
- Dependency resolution: Helps Meteor’s constraint solver find compatible versions
- Package discovery: Browse and search thousands of packages
- Usage statistics: Track package downloads and popularity
Package Naming Convention
Atmosphere packages use a namespaced naming system:iron:router- Iron Router by the Iron teamaldeed:collection2- Collection2 by aldeedostrio:flow-router-extra- Flow Router Extra by ostrio
Core Packages
Core packages maintained by Meteor don’t use a namespace:accounts-basemongotrackerecmascript
packages/ directory of the Meteor repository.
Using Atmosphere Packages
Adding a Package
Removing a Package
Updating Packages
Searching for Packages
Listing Installed Packages
.meteor/packages in your app.
Package Metadata
Meteor provides a DDP API atpackages.meteor.com to query package information.
Available Data
The package server exposes several collections:Packages Collection
One record per package:Versions Collection
One record per package version:Builds Collection
One record per architecture build:Querying Package Data
Connect via DDP:Package Statistics
Meteor tracks daily package installation statistics.Accessing Stats
HTTP GET request:Stats Format
JSON objects separated by newlines:- name: Package name
- version: Version installed
- directAdds: Times directly added via
meteor add - totalAdds: Total adds including as a dependency
Stats Subscription
Subscribe to available date range:Package Discovery
Popular Categories
- Routing:
ostrio:flow-router-extra,kadira:flow-router - Forms:
aldeed:collection2,aldeed:autoform - Authentication:
accounts-password,accounts-google - Testing:
meteortesting:mocha,xolvio:cleaner - UI:
blaze-html-templates,react-meteor-data - Build Tools:
typescript,less,sass - Mobile: Cordova plugin packages
- Security:
audit-argument-checks,browser-policy
Finding Quality Packages
Look for:- Active maintenance: Recent updates
- Good documentation: Clear README and examples
- High usage: Download statistics
- Test coverage: Test files included
- Semantic versioning: Proper version management
- GitHub repository: Open source with issue tracking
Version Constraints
Atmosphere uses Meteor’s constraint solver with semantic versioning.Constraint Rules
-
Major version must match exactly:
-
Minor and patch must be >=:
- Single-loading: Only one version per app
- Gravity: Solver prefers oldest compatible version
Version Syntax
Package Resolution
Meteor looks for packages in this order:- Local packages:
packages/directory in your app - METEOR_PACKAGE_DIRS: Environment variable paths
- Atmosphere: Downloaded to
~/.meteor/packages
Overriding Atmosphere Packages
Place a local version inpackages/ to override:
- Testing modifications
- Patching bugs before upstream fixes
- Customizing for your app
npm vs Atmosphere
When to Use Atmosphere
- Meteor-specific functionality
- Client-server integration
- Meteor build system integration
- Meteor API dependencies (DDP, Tracker, etc.)
When to Use npm
- Pure JavaScript libraries
- Node.js modules
- React/Vue/Angular components
- Utilities without Meteor dependencies
Using Both
Atmosphere packages can depend on npm packages:Popular Atmosphere Packages
Routing
- ostrio:flow-router-extra - Client-side router
- iron:router - Classic Meteor router (deprecated)
Data & Collections
- aldeed:collection2 - Schema validation for collections
- reywood:publish-composite - Reactive joins
- dburles:collection-helpers - Transform helpers
Forms
- aldeed:autoform - Automatic form generation
- vazco:uniforms - Modern forms framework
Authentication
- accounts-password - Password authentication (core)
- accounts-google - Google OAuth (core)
- accounts-facebook - Facebook OAuth (core)
Testing
- meteortesting:mocha - Mocha test framework
- xolvio:cleaner - Database cleanup for tests
- johanbrook:publication-collector - Test publications
Development Tools
- msavin:mongol - MongoDB admin interface
- meteorhacks:kadira - Performance monitoring
- bundle-visualizer - Analyze bundle size (core)
UI Frameworks
- blaze-html-templates - Blaze templating (core)
- react-meteor-data - React integration (core)
- vue-meteor-tracker - Vue integration
Package Best Practices
For Package Authors
- Clear naming: Use descriptive package names
- Good documentation: README with examples
- Semantic versioning: Follow SemVer strictly
- Test coverage: Include tests
- Dependency management: Minimize dependencies
- Backwards compatibility: Don’t break existing APIs
For Package Users
- Check maintenance: Avoid abandoned packages
- Review code: Check source before using
- Pin versions: Use specific versions in production
- Monitor updates: Keep packages updated
- Report issues: Help maintainers improve
Package Security
Security Considerations
- Review package code: Packages have full app access
- Check maintainers: Trust verified authors
- Audit dependencies: Check npm dependencies too
- Report vulnerabilities: Email security@meteor.com
- Keep updated: Security fixes in new versions
Insecure Packages
Some packages are for development only:Troubleshooting
Package not found
Package not found
Check:
- Package name spelling
- Package exists on Atmosphere
- Network connectivity
Version constraint conflicts
Version constraint conflicts
Package fails to build
Package fails to build
- Try removing and re-adding:
meteor remove pkg && meteor add pkg - Clear cache:
rm -rf ~/.meteor/packages - Check for binary dependencies needing specific architecture
Old package versions
Old package versions
Force update:Or specify version:
Atmosphere API Example
Query package information programmatically:Future of Atmosphere
Meteor continues to support both Atmosphere and npm:- Atmosphere: Meteor-specific packages
- npm: General JavaScript packages
- Hybrid approach: Use best tool for each need
Next Steps
Creating Packages
Build your own package
Publishing Packages
Share your package on Atmosphere
Package Server API
Complete API documentation
Browse Packages
Explore Atmosphere packages