{"adoption": {"forks": 810, "observed_at": "2026-08-28T04:09:13.827547+00:00", "stars": 5260}, "canonical_url": "https://ross.abutalabs.com/products/serverless-offline", "card": {"archived": false, "artifact_type": "plugin", "description": "Emulate AWS λ and API Gateway locally when developing your Serverless project", "domain": ["developer-tools", "backend", "apis", "cloud-computing"], "enriched": true, "function": ["http-server", "middleware", "testing", "developer-tools"], "health_score": 99, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["dherault/serverless-offline"], "name": "dherault/serverless-offline", "platform": ["cross-platform", "cli"], "pushed_at": "2026-08-14T14:45:25+00:00", "repo": "dherault/serverless-offline", "stars": 5260, "tags": ["serverless-framework", "aws-lambda", "api-gateway", "local-development", "emulation", "serverless", "nodejs"], "topics": ["serverless", "aws-lambda", "aws-apigateway"], "urls": [], "use_cases": ["test lambda functions locally without deploying to aws", "emulate api gateway on my machine", "speed up serverless development cycles", "run serverless framework project offline", "test lambda authorizers locally", "debug api gateway integrations before deployment"], "what_it_is": "A Serverless Framework plugin that emulates AWS Lambda and API Gateway on your local machine. It starts an HTTP server that replicates the API Gateway request lifecycle and invokes your Lambda handlers locally to speed up development.", "when_to_avoid": ["you use AWS SAM or CDK, which have their own local emulation tools", "you need exact production parity for integration testing - use real AWS or a full emulator like LocalStack", "your project does not use the Serverless Framework"], "when_to_choose": ["you develop Serverless Framework projects and want fast local iteration without deploying", "you need to test API Gateway routing, authorizers, CORS, or Velocity templates locally", "you work with multiple Lambda runtimes (Node.js, Python, Ruby, Go, Java) locally"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/serverless-offline", "repo": "dherault/serverless-offline", "role": "main", "score": 97}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.827547+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:59:30.711205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75080ed7d2006e6524a989bcc2c9389721d2c377d4bcdf1c7a0ba20d5027f6e1", "fetched_at": "2026-08-28T04:09:13.827547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dherault/serverless-offline"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.827547+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:59:30.711205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75080ed7d2006e6524a989bcc2c9389721d2c377d4bcdf1c7a0ba20d5027f6e1", "fetched_at": "2026-08-28T04:09:13.827547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dherault/serverless-offline"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:59:30.711205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75080ed7d2006e6524a989bcc2c9389721d2c377d4bcdf1c7a0ba20d5027f6e1", "fetched_at": "2026-08-28T04:09:13.827547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dherault/serverless-offline"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.827547+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.827547+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.827547+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:59:30.711205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75080ed7d2006e6524a989bcc2c9389721d2c377d4bcdf1c7a0ba20d5027f6e1", "fetched_at": "2026-08-28T04:09:13.827547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dherault/serverless-offline"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.827547+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.827547+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:59:30.711205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75080ed7d2006e6524a989bcc2c9389721d2c377d4bcdf1c7a0ba20d5027f6e1", "fetched_at": "2026-08-28T04:09:13.827547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dherault/serverless-offline"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.827547+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.827547+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.827547+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:59:30.711205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75080ed7d2006e6524a989bcc2c9389721d2c377d4bcdf1c7a0ba20d5027f6e1", "fetched_at": "2026-08-28T04:09:13.827547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dherault/serverless-offline"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.827547+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.827547+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:59:30.711205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75080ed7d2006e6524a989bcc2c9389721d2c377d4bcdf1c7a0ba20d5027f6e1", "fetched_at": "2026-08-28T04:09:13.827547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dherault/serverless-offline"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:59:30.711205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75080ed7d2006e6524a989bcc2c9389721d2c377d4bcdf1c7a0ba20d5027f6e1", "fetched_at": "2026-08-28T04:09:13.827547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dherault/serverless-offline"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:59:30.711205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75080ed7d2006e6524a989bcc2c9389721d2c377d4bcdf1c7a0ba20d5027f6e1", "fetched_at": "2026-08-28T04:09:13.827547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dherault/serverless-offline"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:59:30.711205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75080ed7d2006e6524a989bcc2c9389721d2c377d4bcdf1c7a0ba20d5027f6e1", "fetched_at": "2026-08-28T04:09:13.827547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dherault/serverless-offline"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 100, "rhythm": 96}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3850, "days_push": 19, "days_rel": 26, "gap_med": 11.0, "n_releases_24m": 17}, "score": 97, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}