Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
[
{
"name": "Authorization",
"anchor": "authorization",
"modules": [
{
"name": "hacli",
"link": "https://github.com/antoniogiordano/hacli",
"description": "ACL support based on permissions hierarchy"
},
{
"name": "hapi-acl-auth",
"link": "https://github.com/charlesread/hapi-acl-auth",
"description": "Authentication provider agnostic authorization plugin for hapi apps"
},
{
"name": "hapi-authorization",
"link": "https://github.com/toymachiner62/hapi-authorization",
"description": "ACL Support for hapi apps"
},
{
"name": "hapi-auth-ip-whitelist",
"link": "https://github.com/chamini2/hapi-auth-ip-whitelist",
"description": "IP whitelisting auth scheme"
},
{
"name": "hapi-rbac",
"link": "https://github.com/franciscogouveia/hapi-rbac",
"description": "A Rule Based Access Control module for hapi"
}
]
},
{
"name": "Authentication",
"anchor": "authentication",
"modules": [
{
"name": "basic",
"isHapi": true,
"github": "https://github.com/hapijs/basic",
"link": "https://hapi.dev/family/basic",
"description": "An HTTP Basic authentication scheme"
},
{
"name": "bell",
"isHapi": true,
"github": "https://github.com/hapijs/bell",
"link": "https://hapi.dev/family/bell",
"description": "Third-party login plugin for hapi with built in Facebook, GitHub, Google, Instagram, LinkedIn, Twitter, Yahoo, Foursquare, VK, ArcGIS Online and Windows Live support"
},
{
"name": "cookie",
"isHapi": true,
"github": "https://github.com/hapijs/cookie",
"link": "https://hapi.dev/family/cookie",
"description": "A cookie-based session authentication scheme"
},
{
"name": "hapi-auth-bearer-token",
"link": "https://github.com/johnbrett/hapi-auth-bearer-token",
"description": "A bearer token based authentication scheme"
},
{
"name": "hapi-auth-jwt2",
"link": "https://www.npmjs.com/package/hapi-auth-jwt2",
"description": "Simplified JSON Web Token (JWT) authentication plugin"
},
{
"name": "hapi-jsonwebtoken",
"link": "https://github.com/odorisioe/hapi-jsonwebtoken",
"description": "JsonWebToken implementation for Hapi.js v17+ with authentication plugin"
},
{
"name": "hapi-auth-keycloak",
"link": "https://github.com/felixheck/hapi-auth-keycloak",
"description": "JSON Web Token based Authentication powered by Keycloak"
},
{
"name": "hapi-now-auth",
"link": "https://github.com/puchesjr/hapi-now-auth",
"description": "A Hapi v17+ plugin for simplified JSON Web Token (JWT) and Bearer auth tokens"
},
{
"name": "hapi-openid-connect",
"link": "https://github.com/gaaiatinc/hapi-openid-connect",
"description": "A Hapi plugin that implements the OpenID-Connect authorization flow"
},
{
"name": "hapi-passport-saml",
"link": "https://github.com/molekilla/hapi-passport-saml",
"description": "A Hapi plugin that wraps passport-saml for SAML SSO"
},
{
"name": "jwt",
"isHapi": true,
"github": "https://github.com/hapijs/jwt",
"link": "https://hapi.dev/family/jwt",
"description": "JWT (JSON Web Token) Authentication."
}
]
},
{
"name": "Documentation",
"anchor": "documentation",
"modules": [
{
"name": "hapi-ending",
"link": "https://github.com/desirable-objects/hapi-ending.git",
"description": "A simplified browsable api documentation generator"
},
{
"name": "hapi-swagger",
"link": "https://github.com/glennjones/hapi-swagger",
"description": "A swagger documentation UI generator plugin for hapi"
},
{
"name": "hapi-swaggered",
"link": "https://github.com/z0mt3c/hapi-swaggered",
"description": "A plugin to generate swagger v2.0 compliant specifications based on hapi routes and joi schemas"
},
{
"name": "hapi-swaggered-ui",
"link": "https://github.com/z0mt3c/hapi-swaggered-ui",
"description": "A plugin to serve and configure swagger-ui"
},
{
"name": "optic-hapi-middleware",
"github": "https://github.com/opticdev/optic-node/tree/main/frameworks/hapi",
"link": "https://www.npmjs.com/package/@useoptic/hapi-middleware",
"description": "Document API endpoints using Optic"
}
]
},
{
"name": "Encoding",
"anchor": "encoding",
"modules": [
{
"name": "brok",
"link": "https://github.com/kanongil/brok",
"description": "Brotli encoder and decoder"
}
]
},
{
"name": "GraphQL",
"anchor": "graphql",
"modules": [
{
"name": "hapi-plugin-graphiql",
"link": "https://github.com/rse/hapi-plugin-graphiql",
"description": "HAPI plugin for integrating GraphiQL, an interactive GraphQL user interface"
},
{
"name": "graphi",
"link": "https://www.npmjs.com/package/graphi",
"github": "https://github.com/geek/graphi",
"description": "Simple to use hapi GraphQL server plugin"
}
]
},
{
"name": "Kubernetes",
"anchor": "kubernetes",
"modules": [
{
"name": "hapi-on-kubernetes",
"link": "https://github.com/NextStepGuru/hapi-on-kubernetes",
"description": "A simple plugin design to connect the kubernetes probes to the lifecycles of Hapi"
}
]
},
{
"name": "Hypermedia",
"anchor": "hypermedia",
"modules": [
{
"name": "boom",
"isHapi": true,
"github": "https://github.com/hapijs/boom",
"link": "https://hapi.dev/family/boom",
"description": "HTTP-friendly error objects"
},
{
"name": "hapi-openapi",
"link": "https://github.com/krakenjs/hapi-openapi",
"description": "hapi plugin to build design-driven apis with OpenAPI (formerly swagger)."
},
{
"name": "hapi-http-problem-details",
"link": "https://github.com/PDMLab/hapi-http-problem-details",
"description": "Create HTTP Problem Details (RFC7807) for hapi application errors"
},
{
"name": "inert",
"isHapi": true,
"github": "https://github.com/hapijs/inert",
"link": "https://hapi.dev/family/inert",
"description": "Static file and directory handlers"
}
]
},
{
"name": "Localization/Internationalization",
"anchor": "localization",
"modules": [
{
"name": "hapi-i18n",
"link": "https://github.com/codeva/hapi-i18n",
"description": "Translation module for hapi based on mashpie's i18n module"
},
{
"name": "hapi-locale",
"link": "https://github.com/ozum/hapi-locale",
"description": "Configurable plugin to determine request language from URL, Cookie, Query and Header"
}
]
},
{
"name": "Logging/Metrics",
"anchor": "logging",
"modules": [
{
"name": "blipp",
"link": "https://github.com/danielb2/blipp",
"description": "Displays the routes table at startup"
},
{
"name": "hapi-statsd",
"link": "https://github.com/mac-/hapi-statsd",
"description": "Sends request round trip metrics to statsd"
},
{
"name": "hapi-plugin-traffic",
"link": "https://github.com/rse/hapi-plugin-traffic",
"description": "Network traffic accounting"
},
{
"name": "hapi-alive",
"link": "https://github.com/idosh/hapi-alive",
"description": "Health route for your hapi.js server"
},
{
"name": "hapi-pino",
"link": "https://github.com/mcollina/hapi-pino",
"description": "Fast and simple JSON logger"
},
{
"name": "hapijs-status-monitor",
"link": "https://github.com/ziyasal/hapijs-status-monitor",
"description": "Realtime Monitoring solution for Hapi.js apps, inspired by GitHub Status"
},
{
"name": "laabr",
"link": "https://github.com/felixheck/laabr",
"description": "Well-formatted pino logger for hapi.js - inspired by morgan"
},
{
"name": "hapi-k8s-health",
"link": "https://github.com/radenui/hapi-k8s-health",
"description": "Prometheus metrics and liveness / readiness probes"
},
{
"name": "hapi-audit-rest",
"link": "https://github.com/denlap007/hapi-audit-rest",
"description": "Hapi.js plugin that generates audit logs for RESTful APIs"
}
]
},
{
"name": "Messaging",
"anchor": "messaging",
"modules": [
{
"name": "hapi-plugin-websocket",
"link": "https://github.com/rse/hapi-plugin-websocket",
"description": "Seamless WebSocket integration by injecting WebSocket messages as HTTP request"
},
{
"name": "multines",
"link": "https://github.com/mcollina/multines",
"description": "Support for multi-process publish/subscribe for nes"
},
{
"name": "nes",
"isHapi": true,
"github": "https://github.com/hapijs/nes",
"link": "https://hapi.dev/family/nes",
"description": "WebSocket adapter plugin for hapi routes"
},
{
"name": "susie",
"link": "https://github.com/mtharrison/susie",
"description": "Server-Sent Events for hapi with support for streaming events"
},
{
"name": "hapi-wechat",
"link": "https://github.com/dhso/hapi-wechat",
"description": "Wechat plugin for hapi"
}
]
},
{
"name": "Security",
"anchor": "security",
"modules": [
{
"name": "blankie",
"link": "https://github.com/nlf/blankie",
"description": "A plugin that makes Content-Security-Policy headers easy"
},
{
"name": "crumb",
"isHapi": true,
"github": "https://github.com/hapijs/crumb",
"link": "https://hapi.dev/family/crumb",
"description": "CSRF crumb generation and validation for hapi"
},
{
"name": "ralphi",
"link": "https://github.com/yonjah/ralphi",
"description": "Simple and minimal rate limiting and bruteforce protection"
}
]
},
{
"name": "Session",
"anchor": "session",
"modules": [
{
"name": "hapi-server-session",
"link": "https://github.com/btmorex/hapi-server-session",
"description": "Simple server-side session support for hapi"
},
{
"name": "yar",
"isHapi": true,
"github": "https://github.com/hapijs/yar",
"link": "https://hapi.dev/family/yar",
"description": "A hapi session plugin and cookie jar"
}
]
},
{
"name": "Templating",
"anchor": "templating",
"modules": [
{
"name": "hapi-react-views",
"link": "https://github.com/jedireza/hapi-react-views",
"description": "A hapi view engine for React components"
},
{
"name": "vision",
"isHapi": true,
"github": "https://github.com/hapijs/vision",
"link": "https://hapi.dev/family/vision",
"description": "Templates rendering support"
}
]
},
{
"name": "Testing",
"anchor": "testing",
"modules": [
{
"name": "lab",
"isHapi": true,
"github": "https://github.com/hapijs/lab",
"link": "https://hapi.dev/family/lab",
"description": "A simple testing utility with code coverage analysis"
},
{
"name": "shot",
"isHapi": true,
"github": "https://github.com/hapijs/shot",
"link": "https://hapi.dev/family/shot",
"description": "Injects a fake HTTP request/response into your node server logic"
}
]
},
{
"name": "Utility",
"anchor": "utility",
"modules": [
{
"name": "admin-bro-hapijs",
"link": "https://github.com/SoftwareBrothers/admin-bro-hapijs",
"description": "AdminBro - Admin Panel integrated into your hapijs routes"
},
{
"name": "akaya",
"link": "https://github.com/felixheck/akaya",
"description": "Generate URIs fast based on named hapi routes their parameters"
},
{
"name": "bissle",
"link": "https://github.com/felixheck/bissle",
"description": "Minimalist HALicious pagination reply interface for HapiJS"
},
{
"name": "configue",
"link": "https://github.com/AdrieanKhisbe/configue",
"description": "Config plugin for Hapi"
},
{
"name": "cron",
"link": "https://github.com/antonsamper/hapi-cron",
"description": "Cron jobs for internal hapi.js routes"
},
{
"name": "cron-cluster",
"link": "https://github.com/Meg4mi/hapi-cron-cluster",
"description": "Cron jobs for internal hapi.js routes with leader election (mongodb or redis) - cluster mode"
},
{
"name": "disinfect",
"link": "https://github.com/genediazjr/disinfect",
"description": "Request query, payload, and params sanitization"
},
{
"name": "errorh",
"link": "https://github.com/genediazjr/errorh",
"description": "Custom error pages"
},
{
"name": "hapi-scaffold",
"link": "https://github.com/jeffsouza/hapi-scaffold",
"description": "Code generation for the hapijs framework"
},
{
"name": "hapi-api-version",
"link": "https://github.com/p-meier/hapi-api-version",
"description": "An API versioning plugin for hapi."
},
{
"name": "hapi-auto-route",
"link": "https://github.com/hsitraka/hapi-auto-route",
"description": "Automatically load routes from directory"
},
{
"name": "hapi-aws",
"link": "https://github.com/ar4mirez/hapi-aws",
"description": "A HapiJS plugin for AWS services."
},
{
"name": "hapi-bookshelf-serializer",
"link": "https://github.com/lob/hapi-bookshelf-serializer",
"description": "Serialize Bookshelf.js models sent through Hapi reply"
},
{
"name": "hapi-boom-decorators",
"link": "https://github.com/brainsiq/hapi-boom-decorators",
"description": "Exposes boom errors through the hapi reply interface"
},
{
"name": "hapi-decorators",
"link": "https://github.com/knownasilya/hapi-decorators",
"description": "Decorators for HapiJS routes"
},
{
"name": "hapi-dev-errors",
"link": "https://github.com/fs-opensource/hapi-dev-errors",
"description": "Get better error details during development and skip the command line round trip to catch the issue"
},
{
"name": "hapi-error",
"link": "https://www.npmjs.com/package/hapi-error",
"description": "Custom error handling with ability to pass an object and render a custom error template or redirect to a specific url on error."
},
{
"name": "hapi-gate",
"link": "https://github.com/captainjackrana/hapi-gate",
"description": "Easily handle http to https and www/non-www redirections"
},
{
"name": "hapi-geo-locate",
"link": "https://github.com/fs-opensource/hapi-geo-locate",
"description": "Geo locate requests by IP and provide the user’s location in your route handlers"
},
{
"name": "hapi-level-db",
"link": "https://github.com/maxnachlinger/hapi-level-db",
"description": "HapiJS / LevelDB integration"
},
{
"name": "hapi-maxmind-web",
"link": "https://github.com/midnightcodr/hapi-maxmind-web",
"description": "Hapi.js plugin for MaxMind GeoIP2 Web Service"
},
{
"name": "hapi-mongo-models",
"link": "https://github.com/jedireza/hapi-mongo-models",
"description": "MongoDB object models for hapi applications"
},
{
"name": "hapi-mongodb",
"link": "https://github.com/Marsup/hapi-mongodb",
"description": "A simple Hapi MongoDB connection plugin, accessing one or several connections pools through server or request properties"
},
{
"name": "hapi-mongoose",
"link": "https://github.com/asilluron/hapi-mongoose",
"description": "A lightweight mongoose connection and configuration plugin for Hapi 9+"
},
{
"name": "@watchup/hapi-mongoose",
"link": "https://github.com/watchup/hapi-mongoose",
"description": "Hapi.js plugin that maps mongoose models to routes"
},
{
"name": "hapi-multi-mongo",
"link": "https://github.com/metoikos/hapi-multi-mongo",
"description": "Hapi mongodb connection plugin, especially for multiple connections"
},
{
"name": "hapi-mysql2",
"link": "https://github.com/midnightcodr/hapi-mysql2",
"description": "Another mysql plugin for Hapijs that supports multiple connections, inspired by Marsup/hapi-mongodb"
},
{
"name": "hapi-named-routes",
"link": "https://github.com/poeticninja/hapi-named-routes",
"description": "Add named routes to your view templates"
},
{
"name": "hapio",
"link": "https://github.com/caligone/hapio",
"description": "A simple bridge plugin between HapiJS and SocketIO"
},
{
"name": "hapi-octopus",
"link": "https://github.com/ar4mirez/hapi-octopus",
"description": "A multi-purpose plugin that allows you to autoload methods, handlers, routes and decorators using a simple signature convention."
},
{
"name": "hapi-oracledb",
"link": "https://github.com/midnightcodr/hapi-oracledb",
"description": "Oracledb plugin for hapijs."
},
{
"name": "hapi-pagination",
"link": "https://github.com/fknop/hapi-pagination",
"description": "A simple / customizable pagination plugin for HapiJS"
},
{
"name": "hapi-plugin-co",
"link": "https://github.com/rse/hapi-plugin-co",
"description": "Co-routine based route handlers for asynchronous processing"
},
{
"name": "hapi-plugin-header",
"link": "https://github.com/rse/hapi-plugin-header",
"description": "Always send one or more custom HTTP headers, independent of the current route"
},
{
"name": "hapi-pulse",
"link": "https://github.com/fs-opensource/hapi-pulse",
"description": "Gracefully stop the hapi server on SIGINT (for graceful PM2 reloads)"
},
{
"name": "hapi-rate-limitor",
"link": "https://github.com/fs-opensource/hapi-rate-limitor",
"description": "Easy to use rate limiting to prevent brute-force attacks"
},
{
"name": "hapi-redis2",
"link": "https://github.com/midnightcodr/hapi-redis2",
"description": "A redis plugin for Hapijs that supports multiple connections, inspired by Marsup/hapi-mongodb"
},
{
"name": "hapi-request-user",
"link": "https://github.com/fs-opensource/hapi-request-user",
"description": "A hapi plugin that shortcuts “request.auth.credentials” to “request.user”"
},
{
"name": "hapi-response-time",
"link": "https://github.com/pankajpatel/hapi-response-time",
"description": "A Hapi plugin for adding `x-response-time` header to responses"
},
{
"name": "hapi-router",
"link": "https://github.com/bsiddiqui/hapi-router",
"description": "A plugin to automatically load your routes"
},
{
"name": "hapi-sanitize-payload",
"link": "https://github.com/lob/hapi-sanitize-payload",
"description": "Hapi plugin to sanitize the request payload"
},
{
"name": "hapi-sequelizejs",
"link": "https://github.com/valtlfelipe/hapi-sequelizejs",
"description": "A Hapi plugin for Sequelize ORM"
},
{
"name": "hoek",
"isHapi": true,
"github": "https://github.com/hapijs/hoek",
"link": "https://hapi.dev/family/hoek",
"description": "General purpose node utilities"
},
{
"name": "mrhorse",
"link": "https://github.com/mark-bradshaw/mrhorse",
"description": "Plugin for adding pre-handlers and post-handlers to routes"
},
{
"name": "patova",
"link": "https://github.com/dschenkelman/patova",
"description": "A limitd plugin for hapi, useful for rate-limiting/throttling"
},
{
"name": "rate-limiter-flexible",
"link": "https://github.com/animir/node-rate-limiter-flexible",
"description": "Mature and flexible rate limiter, DDoS and bruteforce protection at any scale in process Memory, Cluster or PM2, Redis, Memcached, MongoDb, etc. Block key for some duration, enable Leaky Bucket analogy, manage failover with insurance options, configure smart key blocking in memory and many others."
},
{
"name": "recourier",
"link": "https://github.com/ruiquelhas/recourier",
"description": "Request lifecycle property sealing"
},
{
"name": "rest-hapi",
"link": "https://github.com/JKHeadley/rest-hapi",
"description": "A RESTful API generator for hapi"
},
{
"name": "scooter",
"isHapi": true,
"github": "https://github.com/hapijs/scooter",
"link": "https://hapi.dev/family/scooter",
"description": "User-agent information plugin"
},
{
"name": "spazy",
"link": "https://github.com/AlexanderElias/spazy",
"description": "Static file and single page application (spa) plugin for hapi"
},
{
"name": "therealyou",
"link": "https://github.com/briandela/therealyou",
"description": "A plugin for setting the request.info.remoteAddress and request.info.remotePort based on the X-Forwarded-For and X-Forwarded-Port headers"
},
{
"name": "wozu",
"link": "https://github.com/felixheck/wozu",
"description": "Server decorator to list all defined hapi.js routes"
},
{
"name": "wurst",
"link": "https://github.com/felixheck/wurst",
"description": "Directory based autoloader for routes"
},
{
"name": "Wildcard API",
"link": "https://github.com/reframejs/wildcard-api",
"description": "RPC implementation for browser ⇔ Node.js communication."
},
{
"name": "topo",
"isHapi": true,
"link": "https://hapi.dev/family/topo",
"description": "Topological sorting with grouping support"
},
{
"name": "wreck",
"isHapi": true,
"github": "https://github.com/hapijs/wreck",
"link": "https://hapi.dev/family/wreck",
"description": "HTTP Client utilities"
},
{
"name": "glue",
"isHapi": true,
"github": "https://github.com/hapijs/glue",
"link": "https://hapi.dev/family/glue",
"description": "Server composer"
},
{
"name": "h2o2",
"isHapi": true,
"github": "https://github.com/hapijs/h2o2",
"link": "https://hapi.dev/family/h2o2",
"description": "Proxy handler"
},
{
"name": "hapi-graceful-pm2",
"link": "https://github.com/roylines/hapi-graceful-pm2",
"description": "Handle true zero downtime reloads when issuing a pm2 gracefulReload command"
},
{
"name": "podium-hapi-layout",
"link": "https://github.com/podium-lib/hapi-layout",
"description": "Hapi plugin for writing Micro Frontend Layout servers with Podium - https://podium-lib.io"
},
{
"name": "podium-hapi-podlet",
"link": "https://github.com/podium-lib/hapi-podlet",
"description": "Hapi plugin for writing Micro Frontend Fragment servers with Podium - https://podium-lib.io"
},
{
"name": "qs",
"isHapi": true,
"link": "https://github.com/hapijs/qs",
"description": "A querystring parser with support for arrays and objects"
},
{
"name": "tarm",
"link": "https://github.com/kanongil/tarm",
"description": "Add tarmount handler for serving tar file contents"
}
]
},
{
"name": "Validation",
"anchor": "validation",
"modules": [
{
"name": "blaine",
"link": "https://github.com/ruiquelhas/blaine",
"description": "Server-level file signature validation for raw request payloads in memory"
},
{
"name": "burton",
"link": "https://github.com/ruiquelhas/burton",
"description": "Server-level file signature validation for raw stream request payloads"
},
{
"name": "copperfield",
"link": "https://github.com/ruiquelhas/copperfield",
"description": "Server-level file signature validation for parsed request payloads in memory"
},
{
"name": "coutts",
"link": "https://github.com/ruiquelhas/coutts",
"description": "Server-level file signature validation for raw temporary file request payloads"
},
{
"name": "fischbacher",
"link": "https://github.com/ruiquelhas/fischbacher",
"description": "Server-level file signature validation for parsed temporary file request payloads"
},
{
"name": "hapi-plugin-ducky",
"link": "https://github.com/rse/hapi-plugin-ducky",
"description": "Validating payloads with the DuckyJS JSON validation language"
},
{
"name": "henning",
"link": "https://github.com/ruiquelhas/henning",
"description": "Server-level file signature validation for parsed request payload file streams"
},
{
"name": "houdin",
"link": "https://github.com/ruiquelhas/houdin",
"description": "Route-level file signature validation for request payloads in memory"
},
{
"name": "joi",
"link": "https://joi.dev",
"description": "Object schema description language and validator for JavaScript objects"
},
{
"name": "lafayette",
"link": "https://github.com/ruiquelhas/lafayette",
"description": "Route-level file signature validation for temporary file request payloads"
},
{
"name": "supervizor",
"link": "https://github.com/ruiquelhas/supervizor",
"description": "Server-level request payload validation"
},
{
"name": "thurston",
"link": "https://github.com/ruiquelhas/thurston",
"description": "Route-level file signature validation for request payload file streams"
}
]
},
{
"name": "hapi pal",
"anchor": "hapipal",
"modules": [
{
"name": "ahem",
"link": "https://hapipal.com/docs/ahem",
"github": "https://github.com/hapipal/ahem",
"description": "hapi plugins as libraries"
},
{
"name": "avocat",
"link": "https://hapipal.com/docs/avocat",
"github": "https://github.com/hapipal/avocat",
"description": "Convert objection DB errors to boom HTTP errors"
},
{
"name": "boilerplate",
"link": "https://hapipal.com/docs/boilerplate",
"github": "https://github.com/hapipal/boilerplate",
"description": "A friendly, proven starting place for your next hapi plugin or deployment"
},
{
"name": "confidence",
"link": "https://github.com/hapipal/confidence",
"description": "A configuration document format, an API, and a foundation for A/B testing"
},
{
"name": "haute-couture",
"link": "https://hapipal.com/docs/haute-couture",
"github": "https://github.com/hapipal/haute-couture",
"description": "File-based hapi plugin composer"
},
{
"name": "hecks",
"link": "https://hapipal.com/docs/hecks",
"github": "https://github.com/hapipal/hecks",
"description": "Mount your express app onto your hapi server, aw heck!"
},
{
"name": "hodgepodge",
"link": "https://hapipal.com/docs/hodgepodge",
"github": "https://github.com/hapipal/hodgepodge",
"description": "A plugin dependency resolver"
},
{
"name": "hpal",
"link": "https://hapipal.com/docs/hpal",
"github": "https://github.com/hapipal/hpal",
"description": "The hapi pal CLI, for searching hapi docs, scaffolding projects, and running custom server commands"
},
{
"name": "hpal-debug",
"link": "https://hapipal.com/docs/hpal-debug",
"github": "https://github.com/hapipal/hpal-debug",
"description": "hapijs debugging tools for the hapi pal CLI"
},
{
"name": "lalalambda",
"link": "https://hapipal.com/docs/lalalambda",
"github": "https://github.com/hapipal/lalalambda",
"description": "Serverless functions powered by hapijs"
},
{
"name": "schmervice",
"link": "https://hapipal.com/docs/schmervice",
"github": "https://github.com/hapipal/schmervice",
"description": "A service layer for hapi"
},
{
"name": "schwifty",
"link": "https://hapipal.com/docs/schwifty",
"github": "https://github.com/hapipal/schwifty",
"description": "A model layer for hapi integrating Objection ORM"
},
{
"name": "tandy",
"link": "https://hapipal.com/docs/tandy",
"github": "https://github.com/hapipal/tandy",
"description": "Auto-generated, RESTful, CRUDdy route handlers for Objection models"
},
{
"name": "toys",
"link": "https://hapipal.com/docs/toys",
"github": "https://github.com/hapipal/toys",
"description": "The hapi utility toy chest"
},
{
"name": "underdog",
"link": "https://hapipal.com/docs/underdog",
"github": "https://github.com/hapipal/underdog",
"description": "HTTP/2 server-push for hapi"
}
]
}
]