Log inGet started

packages

Updated October 16, 2026

Discover and inspect registered packages (folders marked with package.yaml).

require("@builtin::modules.api.engine.packages") -- packages (also available as global 'packages')

The packages namespace: 6 functions.

globals/packages/list

packages.list() -> { PackageEntry }

List every registered package across scopes.

Returns { PackageEntry } — Array of package entries.

for _, p in ipairs(packages.list()) do print(p.name, p.scope) end

globals/packages/lookup

packages.lookup(name_or_scope: string, name: string?) -> PackageEntry?

Look up a single package by name (any scope) or by exact (scope, name).

Parameters

  • name_or_scope string — Package name, or scope if a second arg is given.
  • name string (optional) — Package name when the first arg is a scope.

Returns PackageEntry? — Package entry or nil.

local p = packages.lookup("@builtin", "audio")

modules/packages/list

list(): { PackageEntry }

List every registered package across scopes.

for _, p in ipairs(packages.list()) do print(p.name, p.scope) end

modules/packages/lookup

lookup(name_or_scope: string, name: string?): PackageEntry?

Look up a single package by name (any scope) or by exact (scope, name).

Parameters

  • name_or_scope string — Package name, or scope if a second arg is given.
  • name string? (optional) — Package name when the first arg is a scope.
local p = packages.lookup("@builtin", "audio")

typed/builtin//modules/api/engine/packages/packages/list

packages.list() -> { PackageEntry }

List every registered package across scopes.

Returns { PackageEntry } — Array of package entries.

for _, p in ipairs(packages.list()) do print(p.name, p.scope) end

typed/builtin//modules/api/engine/packages/packages/lookup

packages.lookup(name_or_scope: string, name: string?) -> PackageEntry?

Look up a single package by name (any scope) or by exact (scope, name).

Parameters

  • name_or_scope string — Package name, or scope if a second arg is given.
  • name string (optional) — Package name when the first arg is a scope.

Returns PackageEntry? — Package entry or nil.

local p = packages.lookup("@builtin", "audio")
  • api
  • reference