{"adoption": {"forks": 327, "observed_at": "2026-08-28T04:06:26.093328+00:00", "stars": 2207}, "canonical_url": "https://ross.abutalabs.com/products/umi-request", "card": {"archived": false, "artifact_type": "library", "description": "A request tool based on fetch.", "domain": ["web-development", "frontend", "apis", "developer-tools"], "enriched": true, "function": ["http-client", "middleware", "caching", "error-handling"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["umijs/umi-request"], "name": "umijs/umi-request", "platform": ["browser"], "pushed_at": "2023-05-08T06:35:49+00:00", "repo": "umijs/umi-request", "stars": 2207, "tags": ["fetch-wrapper", "axios-alternative", "interceptors", "request-library", "umi", "nodejs", "javascript"], "topics": [], "urls": [], "use_cases": ["make http requests with fetch but with interceptors like axios", "add timeout and caching to fetch requests", "cancel http requests in the browser", "simplify post request data submission and query serialization", "handle gbk-encoded responses in javascript", "unified error handling for api calls", "make http requests from node.js"], "what_it_is": "umi-request is a JavaScript HTTP request library built on fetch that combines fetch's native browser support with axios-like conveniences such as interceptors, request cancellation, and unified error handling. It provides a small (~9k) unified API with built-in timeout, caching, query serialization, and middleware support for both browser and Node.js.", "when_to_avoid": ["you need a library with active ongoing development and recent releases", "you require guaranteed long-term maintenance or official license clarity in the repo", "you prefer axios's XMLHttpRequest-based implementation or need broader ecosystem support", "you need advanced features like automatic retries or request deduplication out of the box"], "when_to_choose": ["you want axios-style interceptors and cancellation on top of native fetch", "you need a lightweight (~9k) request library with timeout, cache, and middleware support", "your project already uses the umi ecosystem", "you need to handle gbk character encoding in responses"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/umi-request", "repo": "umijs/umi-request", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:26.093328+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:46:28.466722+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06e00d854a58e562db73a5ce33fac0d7423bf4b307b57be52843d27bb4eda55a", "fetched_at": "2026-08-28T04:06:26.093328+00:00", "kind": "readme", "missing": false, "url": "https://github.com/umijs/umi-request"}, {"content_hash": "c8e82d754eb8656a19ce45224c1ea61a3b8123e160441ff8504069d23372dc1b", "fetched_at": "2026-08-29T10:27:04.722305+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/umi-request"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:26.093328+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:46:28.466722+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06e00d854a58e562db73a5ce33fac0d7423bf4b307b57be52843d27bb4eda55a", "fetched_at": "2026-08-28T04:06:26.093328+00:00", "kind": "readme", "missing": false, "url": "https://github.com/umijs/umi-request"}, {"content_hash": "c8e82d754eb8656a19ce45224c1ea61a3b8123e160441ff8504069d23372dc1b", "fetched_at": "2026-08-29T10:27:04.722305+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/umi-request"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:46:28.466722+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06e00d854a58e562db73a5ce33fac0d7423bf4b307b57be52843d27bb4eda55a", "fetched_at": "2026-08-28T04:06:26.093328+00:00", "kind": "readme", "missing": false, "url": "https://github.com/umijs/umi-request"}, {"content_hash": "c8e82d754eb8656a19ce45224c1ea61a3b8123e160441ff8504069d23372dc1b", "fetched_at": "2026-08-29T10:27:04.722305+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/umi-request"}], "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:06:26.093328+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:26.093328+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:26.093328+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:46:28.466722+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06e00d854a58e562db73a5ce33fac0d7423bf4b307b57be52843d27bb4eda55a", "fetched_at": "2026-08-28T04:06:26.093328+00:00", "kind": "readme", "missing": false, "url": "https://github.com/umijs/umi-request"}, {"content_hash": "c8e82d754eb8656a19ce45224c1ea61a3b8123e160441ff8504069d23372dc1b", "fetched_at": "2026-08-29T10:27:04.722305+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/umi-request"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:26.093328+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:26.093328+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:46:28.466722+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06e00d854a58e562db73a5ce33fac0d7423bf4b307b57be52843d27bb4eda55a", "fetched_at": "2026-08-28T04:06:26.093328+00:00", "kind": "readme", "missing": false, "url": "https://github.com/umijs/umi-request"}, {"content_hash": "c8e82d754eb8656a19ce45224c1ea61a3b8123e160441ff8504069d23372dc1b", "fetched_at": "2026-08-29T10:27:04.722305+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/umi-request"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:26.093328+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:26.093328+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:26.093328+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:46:28.466722+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06e00d854a58e562db73a5ce33fac0d7423bf4b307b57be52843d27bb4eda55a", "fetched_at": "2026-08-28T04:06:26.093328+00:00", "kind": "readme", "missing": false, "url": "https://github.com/umijs/umi-request"}, {"content_hash": "c8e82d754eb8656a19ce45224c1ea61a3b8123e160441ff8504069d23372dc1b", "fetched_at": "2026-08-29T10:27:04.722305+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/umi-request"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:26.093328+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:26.093328+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:46:28.466722+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06e00d854a58e562db73a5ce33fac0d7423bf4b307b57be52843d27bb4eda55a", "fetched_at": "2026-08-28T04:06:26.093328+00:00", "kind": "readme", "missing": false, "url": "https://github.com/umijs/umi-request"}, {"content_hash": "c8e82d754eb8656a19ce45224c1ea61a3b8123e160441ff8504069d23372dc1b", "fetched_at": "2026-08-29T10:27:04.722305+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/umi-request"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:46:28.466722+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06e00d854a58e562db73a5ce33fac0d7423bf4b307b57be52843d27bb4eda55a", "fetched_at": "2026-08-28T04:06:26.093328+00:00", "kind": "readme", "missing": false, "url": "https://github.com/umijs/umi-request"}, {"content_hash": "c8e82d754eb8656a19ce45224c1ea61a3b8123e160441ff8504069d23372dc1b", "fetched_at": "2026-08-29T10:27:04.722305+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/umi-request"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:46:28.466722+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06e00d854a58e562db73a5ce33fac0d7423bf4b307b57be52843d27bb4eda55a", "fetched_at": "2026-08-28T04:06:26.093328+00:00", "kind": "readme", "missing": false, "url": "https://github.com/umijs/umi-request"}, {"content_hash": "c8e82d754eb8656a19ce45224c1ea61a3b8123e160441ff8504069d23372dc1b", "fetched_at": "2026-08-29T10:27:04.722305+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/umi-request"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:46:28.466722+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06e00d854a58e562db73a5ce33fac0d7423bf4b307b57be52843d27bb4eda55a", "fetched_at": "2026-08-28T04:06:26.093328+00:00", "kind": "readme", "missing": false, "url": "https://github.com/umijs/umi-request"}, {"content_hash": "c8e82d754eb8656a19ce45224c1ea61a3b8123e160441ff8504069d23372dc1b", "fetched_at": "2026-08-29T10:27:04.722305+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/umi-request"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2826, "days_push": 1213, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}