{"adoption": {"forks": 208, "observed_at": "2026-08-28T04:06:50.917722+00:00", "stars": 2428}, "canonical_url": "https://ross.abutalabs.com/products/slip", "card": {"archived": false, "artifact_type": "library", "description": "Slip.js — UI library for manipulating lists via swipe and drag gestures", "domain": ["web-development", "frontend", "mobile-development"], "enriched": true, "function": ["ui-components", "animation"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": "BSD-2-Clause", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["kornelski/slip"], "name": "kornelski/slip", "platform": ["browser", "cross-platform"], "pushed_at": "2021-09-23T19:09:56+00:00", "repo": "kornelski/slip", "stars": 2428, "tags": ["touch-gestures", "swipe", "drag-and-drop", "list-reordering", "dom-events", "no-dependencies", "mobile"], "topics": ["reordering", "swipe", "touch", "list", "manipulate", "gui", "widget", "dom"], "urls": [], "use_cases": ["reorder list items by dragging on a touchscreen", "swipe list rows to delete or dismiss them", "build mobile-style swipeable lists in the browser", "keep an underlying array in sync when users drag items to new positions", "add tap and swipe event handling to DOM lists without a framework"], "what_it_is": "Slip.js is a tiny dependency-free JavaScript library that adds swipe and drag gesture interaction to list elements on touch screens. It exposes custom DOM events for swiping, reordering, and tapping so developers can wire up their own list manipulation logic.", "when_to_avoid": ["you need mouse/desktop drag-and-drop support rather than touch gestures", "you want a batteries-included component library with built-in rendering", "you need actively developed features — the project's latest release dates to 2021"], "when_to_choose": ["you need lightweight touch swipe/reorder behavior with no dependencies", "you want fine-grained control via custom DOM events rather than a full UI framework", "you target mobile browsers like iOS Safari, Chrome Mobile, and Firefox Mobile"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/slip", "repo": "kornelski/slip", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:50.917722+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:31:33.362488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a16c996f9743b977605326fc3823fd3ce10e0877ae858ae58280c11d46c715d7", "fetched_at": "2026-08-28T04:06:50.917722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kornelski/slip"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:50.917722+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:31:33.362488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a16c996f9743b977605326fc3823fd3ce10e0877ae858ae58280c11d46c715d7", "fetched_at": "2026-08-28T04:06:50.917722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kornelski/slip"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:31:33.362488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a16c996f9743b977605326fc3823fd3ce10e0877ae858ae58280c11d46c715d7", "fetched_at": "2026-08-28T04:06:50.917722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kornelski/slip"}], "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:50.917722+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:50.917722+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:50.917722+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:31:33.362488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a16c996f9743b977605326fc3823fd3ce10e0877ae858ae58280c11d46c715d7", "fetched_at": "2026-08-28T04:06:50.917722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kornelski/slip"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:50.917722+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:50.917722+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:31:33.362488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a16c996f9743b977605326fc3823fd3ce10e0877ae858ae58280c11d46c715d7", "fetched_at": "2026-08-28T04:06:50.917722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kornelski/slip"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:50.917722+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:50.917722+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:50.917722+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:31:33.362488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a16c996f9743b977605326fc3823fd3ce10e0877ae858ae58280c11d46c715d7", "fetched_at": "2026-08-28T04:06:50.917722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kornelski/slip"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:50.917722+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:50.917722+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:31:33.362488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a16c996f9743b977605326fc3823fd3ce10e0877ae858ae58280c11d46c715d7", "fetched_at": "2026-08-28T04:06:50.917722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kornelski/slip"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:31:33.362488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a16c996f9743b977605326fc3823fd3ce10e0877ae858ae58280c11d46c715d7", "fetched_at": "2026-08-28T04:06:50.917722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kornelski/slip"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:31:33.362488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a16c996f9743b977605326fc3823fd3ce10e0877ae858ae58280c11d46c715d7", "fetched_at": "2026-08-28T04:06:50.917722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kornelski/slip"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:31:33.362488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a16c996f9743b977605326fc3823fd3ce10e0877ae858ae58280c11d46c715d7", "fetched_at": "2026-08-28T04:06:50.917722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kornelski/slip"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4626, "days_push": 1805, "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}}