Skip to content

This site describes solve-engine as it is on main: 2.43.0, which npm does not have yet. npm installs 2.40.0, so a page may show an answer that version does not give yet.

Subpath exports

The package exposes focused entry points so a bundler pulls in only what you use.

Stable. Changes follow semantic versioning; versioning and support says exactly what that promises, including how deprecations are handled and which Node versions are tested.

EntryContains
solve-engineExpressionEngine, createEngine, IEnginePackage, common types
solve-engine/engineEngine internals for host integration
solve-engine/vmValue, ValueType, value construction
solve-engine/formatformatValue and formatting settings
solve-engine/languageCompletions, token categories, highlighting
solve-engine/packagesBuilt-in packages and their configuration
solve-engine/constantsConfiguration defaults (DEFAULT_CONFIG, ConfigManager) and ENGINE_VERSION
solve-engine/errorsEngineError, the structured error type a failure throws, its taxonomy, and the result type
solve-engine/workerOff-main-thread evaluation: the worker proxy, transports and result DTO
solve-engine/engine-workerThe worker entry the engine’s own offloaded compile and execute pools run, started by a host through setEngineWorkerFactory. Its own bundle, carrying every built-in package
solve-engine/testingA test kit for package authors: createTestEngine, expectExpression, expectPackage
solve-engine/temporalThe Temporal calendar backend: createTemporalCalendar, passed as an engine’s calendar option

Also public, but they expose pipeline internals. Reach for them when writing a package or building tooling.

EntryContains
solve-engine/lexerTokeniser and vocabulary types
solve-engine/parserParselets, binding powers, bytecode builder
solve-engine/normalizerPhrase fusion and normalisation rules
solve-engine/resolversAsync resolver contracts
solve-engine/utilitiesShared helpers
solve-engine/uomUnit definitions and conversion
solve-engine/servicesData query plumbing

Not exported and not covered by semantic versioning: telemetry, caching, diagnostics, the internal compile/execute worker managers, and internal types. (The public solve-engine/worker entry above is the supported way to move evaluation off the main thread.) If you find yourself needing one of these, that is worth raising as an issue, because it usually means a public entry point is missing something.