FoxHound is a fluent query generation DSL for Node.js and the browser (v2.0.27). It generates dialect-specific SQL from a single chainable API, keeping application code database-agnostic while producing parameterized queries for MySQL, PostgreSQL, MSSQL, SQLite, and ALASQL. Key differentiators include schema-aware auto-management of identity columns, timestamps, soft-delete tracking, built-in Fable integration (logging, config, UUID generation), and multiple output dialects including human-readable English and REST URL endpoints. The library supports full CRUD, count, filtering, sorting, joins, pagination, and custom SQL overrides with automatic parameter binding. It is released under the MIT license and follows a configure-then-build pattern.
npm install foxhoundVerified import paths — ran on the pinned version, not inferred.
Create a query instance with a Fable object, chain configuration methods to build a SELECT query for MySQL, then log the SQL and parameters.
Always pass a configured Fable object to libFoxHound.new().
Use .dialect('MySQL') instead of .setDialect('MySQL').Update any code that assumes fixed parameter names; use the parameters object returned.
Use libFoxHound.new(_Fable) instead of new libFoxHound().
Ensure all necessary methods (setScope, setDialect, etc.) are called before buildReadQuery().
Use one of: 'MySQL', 'PostgreSQL', 'MSSQL', 'SQLite', 'ALASQL', 'English', or 'MeadowEndpoints'.