{"id":25892,"library":"liqd-framework","title":"Liqd Framework","description":"Liqd Framework is a Node.js server framework that bundles a collection of liqd-* libraries for building web applications and APIs. Version 1.7.13 is the latest stable release, with infrequent updates. It provides a modular architecture with routing, middleware, and HTTP utilities. Compared to Express or Fastify, it is less widely adopted and has limited community support, but offers a cohesive set of tools from the same ecosystem. The framework emphasizes simplicity and minimal dependencies, making it suitable for small to medium projects.","status":"active","version":"1.7.13","language":"javascript","source_language":"en","source_url":"git://github.com/radixxko/liqd-framework","tags":["javascript","liqd","framework"],"install":[{"cmd":"npm install liqd-framework","lang":"bash","label":"npm"},{"cmd":"yarn add liqd-framework","lang":"bash","label":"yarn"},{"cmd":"pnpm add liqd-framework","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"ESM-only; CommonJS require() is not supported.","wrong":"const Liqd = require('liqd-framework')","symbol":"Liqd","correct":"import Liqd from 'liqd-framework'"},{"note":"Named export, not default.","wrong":"import Server from 'liqd-framework'","symbol":"Server","correct":"import { Server } from 'liqd-framework'"},{"note":"Named export.","wrong":"import Router from 'liqd-framework'","symbol":"Router","correct":"import { Router } from 'liqd-framework'"}],"quickstart":{"code":"import Liqd from 'liqd-framework';\n\nconst app = new Liqd();\n\napp.get('/', (req, res) => {\n  res.send('Hello, world!');\n});\n\napp.listen(3000, () => {\n  console.log('Server running on http://localhost:3000');\n});","lang":"typescript","description":"Creates a basic HTTP server with a single route and starts listening on port 3000."},"warnings":[{"fix":"Use import syntax and ensure your project is configured for ESM (e.g., type: \"module\" in package.json).","message":"The framework is ESM-only. Using require() will throw a runtime error.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"Always return a Promise or mark handler as async.","message":"Middleware and route handlers must return a Promise or use async/await; synchronous handlers may cause unexpected behavior.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"Replace .use(subApp) with .mount(subApp).","message":"The .use() method for mounting sub-applications is deprecated in favor of .mount().","severity":"deprecated","affected_versions":">=1.5"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Switch to import syntax and enable ESM in your project.","cause":"Using require() to import an ESM-only package.","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module not supported"},{"fix":"Use import { Router } from 'liqd-framework'.","cause":"Router is imported incorrectly (using default import instead of named import).","error":"TypeError: router.get() is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}