Skip to content

Package Reference

Maarten Vroegindeweij edited this page Feb 18, 2026 · 1 revision

Package Reference

Ifc-Factory consists of 7 packages organized in dependency layers. Each package is independently versioned and publishable to npm.

Package Overview

Package Layer Description Runtime Deps
@ifc-factory/express-parser 0 EXPRESS schema (.exp) parser None
@ifc-factory/step-serializer 0 ISO 10303-21 STEP tokenizer/reader/writer None
@ifc-factory/codegen 1 TypeScript code generator from EXPRESS AST express-parser
@ifc-factory/schema 2 Auto-generated IFC4X3 TypeScript types None
@ifc-factory/step-parser 2 Schema-aware STEP parser step-serializer, schema
@ifc-factory/core 3 Main library: IfcModel, helpers, compliance schema, step-parser, step-serializer
@ifc-factory/ifc-utils 4 Convenience utilities (validation, diff, batch) core, schema

Which Packages Do I Need?

Most users

pnpm add @ifc-factory/core @ifc-factory/schema

The core package provides IfcModel, all helpers, compliance templates, and the query builder. The schema package provides TypeScript types and runtime metadata.

For validation, diffing, batch ops

pnpm add @ifc-factory/ifc-utils

For raw STEP file manipulation

pnpm add @ifc-factory/step-serializer

Use this if you need to work with STEP files at the raw level, without IFC schema awareness (e.g., processing non-IFC STEP files, or custom parsers).

For custom code generation

pnpm add @ifc-factory/express-parser @ifc-factory/codegen

Use these if you need to parse other EXPRESS schemas or generate code from them.

Detailed Documentation

Each package has its own wiki page with full API documentation:

  • express-parser — Lexer, parser, AST types, usage examples
  • step-serializer — Tokenizer, reader, writer, STEP value types, unicode
  • codegen — Emitters, type mapping, CLI, generated output structure
  • schema — Generated types, metadata, entity registry, base types
  • step-parser — Two-pass parsing, instance builder, value parser
  • core — IfcModel, spatial helpers, property sets, documents, libraries, classifications, annotations, compliance, query builder
  • ifc-utils — Validation, diffing, batch operations, schema detection, GUID utilities

Clone this wiki locally