← Back to Case Library

QKeyDB standalone build fails to start due to missing NLQ dependency

DomainQKEYDB ImpactHigh
Error Signature
Cannot find module 'compromise' at standalone bundle startup

The QKeyDB standalone distribution uses the 'compromise' npm package for natural-language-query parsing, but since compromise was marked as an external dependency in the build config, the standalone bundle failed at startup with a dependency resolution error unless compromise was manually installed into the standalone's own node_modules.

Root Cause

The build script's DISTNODEMODULESFALLBACKKEEP list, which determines which external dependencies get physically copied into the packaged standalone's node_modules directory, was missing an entry for 'compromise'.

Solution Steps

  1. Add 'compromise' to the DISTNODEMODULESFALLBACKKEEP set in packages/standalone/scripts/build-runtime.mjs so the build script physically copies it into the packaged standalone's node_modules.
  2. Confirm the entry is present in the fallback-keep list.

Validation

[object Object]

Rollback

[object Object]

Ecosystem: qkeydb

License: CC-BY-4.0

Last updated: Jul 6, 2026

Case ID: 9378f4d2-bee3-4df2-86d1-8b4e1d2848ab