Isopack Format
An Isopack is Meteor’s package format containing compiled source code for each architecture the package supports. Each architecture-specific build is called a “Unibuild”.Definition
From GLOSSARY.md:Each package used by Isobuild forms an Isopack. Isopack is a package format containing source code for each architecture it can be ran on. Each separate part built for a separate architecture is called “Unibuild”.
Isopack Structure
An Isopack contains:Format Versions
Isopacks have evolved through multiple format versions:Format Migration
The system can convert between formats:On-Disk Layout
When written to disk, an Isopack directory contains:isopack.json
The main metadata file:Unibuild Directories
Each unibuild has its own subdirectory with:- Compiled JavaScript files
- CSS resources
- Source maps
- Assets
- Node modules
Unibuilds
From GLOSSARY.md:Isopack is a package format containing source code for each architecture it can be ran on. Each separate part built for a separate architecture is called “Unibuild”.
There are multiple reasons why we can’t call it just “build” and historically the name “Unibuild” has been associated with parts of Isopacks.
Unibuild Properties
Plugin Architecture
Isopacks can contain build plugins:Plugin Initialization
Architecture Detection
Thearchitectures() method returns all architectures in the package:
Tarball Naming
Node Modules Integration
Isopacks track Node.js dependencies:Watch Set Integration
Isopacks maintain comprehensive watch sets for efficient rebuilding:Cordova Dependencies
Isopacks track Cordova plugin dependencies:Package Metadata
Storage Locations
~/.meteor/packages/- Installed packages (release mode)APP/.meteor/local/isopacks/- Local package buildsREPO/.meteor/packages/- Checkout mode packages
Related Topics
- Isobuild System - The build system
- Bundler - Creating bundles from isopacks
- Compiler Plugins - Build-time code transformation