Concepts

Glossary

Key terms and definitions used throughout the AntelopeJS documentation.

Key Terms

This glossary defines the core terms used throughout the AntelopeJS documentation. Each entry includes a short definition and links to the relevant page for further detail.

Interface

A TypeScript contract that defines methods, events, or registrations a module can implement (produce) or consume. Interfaces enable modules to communicate without direct dependencies — a consumer imports the interface, not the module behind it. The core resolves which module fulfills each interface at runtime.

See Interfaces

Module

A self-contained functional unit packaged as a standard npm package with a managed lifecycle. Modules provide or consume interfaces and transition through defined states (loaded, constructed, active) under the control of the core.

See Modules

Proxy

An abstraction layer that handles communication between modules through interfaces. AntelopeJS provides three proxy types: InterfaceFunction for async function calls, EventProxy for event-based messaging, and RegisteringProxy for registration patterns.

See Proxies

Binding

The resolved association between an interface producer (the module that implements it) and a consumer (the module that uses it). The core resolves all bindings before modules enter the start phase, ensuring every interface call has a concrete target.

Implementation

The concrete code in a module that fulfills an interface contract. An implementation maps each proxy declared in the interface to a real function, event handler, or registration handler inside the module.

Contract

A synonym for interface, commonly used in the context of contract tests that validate whether an implementation correctly fulfills the interface it claims to provide. Contract tests run the same assertions against any module that implements a given interface.

Lifecycle

The sequence of phases a module goes through: constructstartstopdestroy, corresponding to states loadedconstructedactive. The core orchestrates these transitions and ensures they happen in the correct order across all modules.

See Architecture

Core

The AntelopeJS runtime that orchestrates module loading, lifecycle management, and interface routing. The core resolves the dependency graph between modules, manages bindings, and provides the infrastructure that makes interface-based communication possible.

Hot Module Reloading (HMR)

The ability to reload a module at runtime during development without restarting the entire application. HMR performs a stop-destroy-load-start cycle on a single module, preserving the state of all other modules. The --watch flag on ajs project dev triggers HMR automatically when source files change.

See Modules