Meteor has a powerful packaging system called Isobuild that compiles the same JavaScript codebase to different architectures: browser, Node.js-like server environment, or a webview in a Cordova mobile app.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 Isobuild?
Isobuild is Meteor’s build and packaging system. It knows how to compile the same JavaScript code-base to different architectures automatically, enabling true full-stack JavaScript development. Key capabilities:- Cross-platform compilation: Build for browser, server, and mobile from a single codebase
- Dependency management: Automatic resolution and loading of package dependencies
- Build plugins: Extensible compiler, linter, and minifier architecture
- Single-loading: Only one version of each package loads in an app
What is an Isopack?
Each package used by Isobuild forms an Isopack. An Isopack is a package format containing source code for each architecture it can run on.Core Packages vs. Community Packages
Core Packages
Core packages are maintained in the official Meteor repository atpackages/. They are:
- Released with Meteor versions
- Always compatible with the current Meteor release
- Don’t have
.versionsfiles (released from checkout)
accounts-base- User account systemmongo- MongoDB adapter and Minimongotracker- Dependency tracker for reactive callbacksecmascript- ES2015+ compiler plugin
Community Packages
Community packages are published to Atmosphere, Meteor’s package repository:- Published by community members
- Named with format
username:package-name - Available via
meteor add username:package-name - Browsable at atmospherejs.com
Package Structure
Every Meteor package contains apackage.js file that defines:
Package Dependencies
Atmosphere Dependencies
Packages can depend on other Meteor packages:npm Dependencies
Packages can include npm packages:Cordova Plugins
Mobile apps can use Cordova plugins:Version Constraints
Meteor uses Semantic Versioning (SemVer) with a constraint solver:- Major version must match exactly: If you depend on
2.0.0, only2.x.xversions work - Minor/patch must be greater or equal:
2.1.3accepts2.1.4and2.2.0, but not2.0.4 - Single-loading: Only one version of a package loads per app
- Gravity: The solver picks the oldest compatible version
Build Plugins
Isobuild supports three types of build plugins:Linters
Check code for errors and style issues:Compilers
Transform source files to JavaScript or CSS:ecmascript/package.js:
Minifiers
Minify JavaScript and CSS for production:Local Packages
Packages can live locally in your app without publishing to Atmosphere:packages/directory in your app- Directories in
METEOR_PACKAGE_DIRSenvironment variable - Downloaded packages from Atmosphere (cached in
~/.meteor/packages)
Package Cache
Published packages are cached at:- macOS/Linux:
~/.meteor/packages - Windows:
%LOCALAPPDATA%\.meteor\packages
Next Steps
Creating Packages
Learn how to create your own packages
Publishing Packages
Publish your package to Atmosphere
Atmosphere Repository
Explore the package ecosystem
Package.js API
Complete API reference