{"id":47518,"library":"exframe-rest","title":"Exframe Rest","description":"Exframe Rest is a lightweight wrapper around Express.js that provides restful routing for the Harmony Framework. The current stable version is 3.7.3, released under the ISC license. It defaults to port 8080, assumes JSON payloads, and sets CORS headers. Key differentiators include integration with the exframe ecosystem (exframe-health, exframe-logger, exframe-service) and a simple API for creating RESTful servers. Release cadence appears to be stable with infrequent updates.","status":"active","version":"3.7.3","language":"javascript","source_language":"en","source_url":null,"tags":["javascript"],"install":[{"cmd":"npm install exframe-rest","lang":"bash","label":"npm"},{"cmd":"yarn add exframe-rest","lang":"bash","label":"yarn"},{"cmd":"pnpm add exframe-rest","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Health check integration for the Harmony Framework","package":"exframe-health","optional":false},{"reason":"Logging provider","package":"exframe-logger","optional":false},{"reason":"Service layer integration","package":"exframe-service","optional":false}],"imports":[{"note":"create is a named export, not default. CommonJS only (no ESM).","wrong":"const create = require('exframe-rest')","symbol":"create","correct":"const { create } = require('exframe-rest')"},{"note":"No default export; use named import or require the module and call create.","wrong":"import rest from 'exframe-rest'","symbol":"default","correct":"const rest = require('exframe-rest'); rest.create()"}],"quickstart":{"code":"const { create } = require('exframe-rest');\nconst app = create(process.env.PORT || 8080);\napp.post('/test', (req, res) => {\n  res.json({ result: 1 });\n});\napp.listen(() => console.log('Server running'));","lang":"javascript","description":"Demonstrates creating a REST server with exframe-rest, configuring port, and adding a POST endpoint."},"warnings":[{"fix":"Update Node.js to version 14 or later.","message":"Version 3.x requires Node >=14; earlier versions may fail silently.","severity":"breaking","affected_versions":">=3.0.0"},{"fix":"Use exframe-health 2.x if compatible (check changelog).","message":"Peer dependency exframe-health 1.x has been deprecated.","severity":"deprecated","affected_versions":">=3.0.0"},{"fix":"Call app.listen() after defining routes.","message":"The create function does not start the server; you must call app.listen() explicitly.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'3.7.3':24 '8080':34 'api':62 'appear':69 'around':9 'assum':35 'cadenc':68 'cor':40 'creat':64 'current':20 'default':31 'differenti':43 'ecosystem':49 'exfram':1,3,48,51,54,57 'exframe-health':50 'exframe-logg':53 'exframe-servic':56 'express.js':10 'framework':18 'harmoni':17 'header':41 'health':52 'includ':44 'infrequ':74 'integr':45 'isc':28 'javascript':76 'json':36 'key':42 'licens':29 'lightweight':7 'logger':55 'payload':37 'port':33 'provid':12 'releas':25,67 'rest':2,4,13,65 'rout':14 'server':66 'servic':58 'set':39 'simpl':61 'stabl':21,72 'updat':75 'version':22 'wrapper':8","created_at":"2026-06-07T16:51:55.829553+00:00","updated_at":"2026-06-07T16:51:55.829553+00:00","problems":[{"fix":"Use const { create } = require('exframe-rest');","cause":"Importing incorrectly (e.g., const rest = require('exframe-rest') then rest.create()) but rest is an object, so rest.create exists. Actually the error occurs if something else is wrong.","error":"TypeError: rest.create is not a function"},{"fix":"Install peer dependencies: npm install exframe-health exframe-logger exframe-service","cause":"Missing peer dependency.","error":"Error: Cannot find module 'exframe-health'"},{"fix":"Ensure create() is called correctly: const app = create(port);","cause":"Server not created properly; app is not an Express app.","error":"TypeError: app.post is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://bitbucket.org/exzeo-usa/exframe#readme","github":null,"docs":null,"changelog":null,"pypi":null,"npm":"exframe-rest","openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}