{"adoption": {"forks": 116, "observed_at": "2026-08-28T04:06:51.600708+00:00", "stars": 2440}, "canonical_url": "https://ross.abutalabs.com/products/bricklayer", "card": {"archived": false, "artifact_type": "library", "description": "Lightweight and independent Pinterest-like cascading grid layout library", "domain": ["web-development", "frontend", "web-design"], "enriched": true, "function": ["ui-components", "frontend-framework"], "health_score": 20, "homepage": "http://bricklayer.js.org", "language": "TypeScript", "license": "NOASSERTION", "license_family": "other", "maturity": "maintenance", "member_repos": ["ademilter/bricklayer"], "name": "ademilter/bricklayer", "platform": ["browser", "cross-platform"], "pushed_at": "2024-04-30T11:28:21+00:00", "repo": "ademilter/bricklayer", "stars": 2440, "tags": ["masonry", "cascading-grid", "layout", "typescript", "lightweight", "responsive-layout", "nodejs"], "topics": [], "urls": [], "use_cases": ["create a pinterest-style masonry photo gallery", "layout cards in responsive cascading columns", "lightweight masonry alternative for vanilla js", "build a grid layout without inline styles", "add masonry layout to react or jquery app"], "what_it_is": "Bricklayer is a lightweight (1.5KB gzipped) TypeScript library for creating Pinterest-style cascading grid (masonry) layouts without requiring any framework. It supports responsive column configuration, static positioning without inline styles, and easy integration with jQuery, Angular.js, and React.js.", "when_to_avoid": ["you need advanced masonry features like drag-and-drop or animations", "you need a library with active ongoing development", "you require a guaranteed permissive license (license file is non-standard)"], "when_to_choose": ["you need a tiny, dependency-free masonry layout library", "you want responsive cascading grids with simple configuration", "you prefer static positioning over inline styles"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/bricklayer", "repo": "ademilter/bricklayer", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:51.600708+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:30:43.989971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2af2ac9abcc8b56a1f61aef2cffda19e01e41aeaa25e14f5fb8e6b43f3d97d4c", "fetched_at": "2026-08-28T04:06:51.600708+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ademilter/bricklayer"}, {"content_hash": "a6b5b81552ddcdddad64d86f8dc2ae1269479b1aefed04048a03e54c087da6d8", "fetched_at": "2026-08-29T10:12:20.701100+00:00", "kind": "homepage", "missing": false, "url": "http://bricklayer.js.org"}, {"content_hash": "0d0123d6c3b2fea0fac535f34a39b9dcfe2602ea9fe1af68a7a02b1d7f0ff992", "fetched_at": "2026-08-29T10:12:20.703644+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/bricklayer"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:51.600708+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:30:43.989971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2af2ac9abcc8b56a1f61aef2cffda19e01e41aeaa25e14f5fb8e6b43f3d97d4c", "fetched_at": "2026-08-28T04:06:51.600708+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ademilter/bricklayer"}, {"content_hash": "a6b5b81552ddcdddad64d86f8dc2ae1269479b1aefed04048a03e54c087da6d8", "fetched_at": "2026-08-29T10:12:20.701100+00:00", "kind": "homepage", "missing": false, "url": "http://bricklayer.js.org"}, {"content_hash": "0d0123d6c3b2fea0fac535f34a39b9dcfe2602ea9fe1af68a7a02b1d7f0ff992", "fetched_at": "2026-08-29T10:12:20.703644+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/bricklayer"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:30:43.989971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2af2ac9abcc8b56a1f61aef2cffda19e01e41aeaa25e14f5fb8e6b43f3d97d4c", "fetched_at": "2026-08-28T04:06:51.600708+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ademilter/bricklayer"}, {"content_hash": "a6b5b81552ddcdddad64d86f8dc2ae1269479b1aefed04048a03e54c087da6d8", "fetched_at": "2026-08-29T10:12:20.701100+00:00", "kind": "homepage", "missing": false, "url": "http://bricklayer.js.org"}, {"content_hash": "0d0123d6c3b2fea0fac535f34a39b9dcfe2602ea9fe1af68a7a02b1d7f0ff992", "fetched_at": "2026-08-29T10:12:20.703644+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/bricklayer"}], "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:51.600708+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:51.600708+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:51.600708+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:30:43.989971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2af2ac9abcc8b56a1f61aef2cffda19e01e41aeaa25e14f5fb8e6b43f3d97d4c", "fetched_at": "2026-08-28T04:06:51.600708+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ademilter/bricklayer"}, {"content_hash": "a6b5b81552ddcdddad64d86f8dc2ae1269479b1aefed04048a03e54c087da6d8", "fetched_at": "2026-08-29T10:12:20.701100+00:00", "kind": "homepage", "missing": false, "url": "http://bricklayer.js.org"}, {"content_hash": "0d0123d6c3b2fea0fac535f34a39b9dcfe2602ea9fe1af68a7a02b1d7f0ff992", "fetched_at": "2026-08-29T10:12:20.703644+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/bricklayer"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:51.600708+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:51.600708+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:30:43.989971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2af2ac9abcc8b56a1f61aef2cffda19e01e41aeaa25e14f5fb8e6b43f3d97d4c", "fetched_at": "2026-08-28T04:06:51.600708+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ademilter/bricklayer"}, {"content_hash": "a6b5b81552ddcdddad64d86f8dc2ae1269479b1aefed04048a03e54c087da6d8", "fetched_at": "2026-08-29T10:12:20.701100+00:00", "kind": "homepage", "missing": false, "url": "http://bricklayer.js.org"}, {"content_hash": "0d0123d6c3b2fea0fac535f34a39b9dcfe2602ea9fe1af68a7a02b1d7f0ff992", "fetched_at": "2026-08-29T10:12:20.703644+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/bricklayer"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:51.600708+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:51.600708+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:51.600708+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:30:43.989971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2af2ac9abcc8b56a1f61aef2cffda19e01e41aeaa25e14f5fb8e6b43f3d97d4c", "fetched_at": "2026-08-28T04:06:51.600708+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ademilter/bricklayer"}, {"content_hash": "a6b5b81552ddcdddad64d86f8dc2ae1269479b1aefed04048a03e54c087da6d8", "fetched_at": "2026-08-29T10:12:20.701100+00:00", "kind": "homepage", "missing": false, "url": "http://bricklayer.js.org"}, {"content_hash": "0d0123d6c3b2fea0fac535f34a39b9dcfe2602ea9fe1af68a7a02b1d7f0ff992", "fetched_at": "2026-08-29T10:12:20.703644+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/bricklayer"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:51.600708+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:51.600708+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:30:43.989971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2af2ac9abcc8b56a1f61aef2cffda19e01e41aeaa25e14f5fb8e6b43f3d97d4c", "fetched_at": "2026-08-28T04:06:51.600708+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ademilter/bricklayer"}, {"content_hash": "a6b5b81552ddcdddad64d86f8dc2ae1269479b1aefed04048a03e54c087da6d8", "fetched_at": "2026-08-29T10:12:20.701100+00:00", "kind": "homepage", "missing": false, "url": "http://bricklayer.js.org"}, {"content_hash": "0d0123d6c3b2fea0fac535f34a39b9dcfe2602ea9fe1af68a7a02b1d7f0ff992", "fetched_at": "2026-08-29T10:12:20.703644+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/bricklayer"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:30:43.989971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2af2ac9abcc8b56a1f61aef2cffda19e01e41aeaa25e14f5fb8e6b43f3d97d4c", "fetched_at": "2026-08-28T04:06:51.600708+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ademilter/bricklayer"}, {"content_hash": "a6b5b81552ddcdddad64d86f8dc2ae1269479b1aefed04048a03e54c087da6d8", "fetched_at": "2026-08-29T10:12:20.701100+00:00", "kind": "homepage", "missing": false, "url": "http://bricklayer.js.org"}, {"content_hash": "0d0123d6c3b2fea0fac535f34a39b9dcfe2602ea9fe1af68a7a02b1d7f0ff992", "fetched_at": "2026-08-29T10:12:20.703644+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/bricklayer"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:30:43.989971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2af2ac9abcc8b56a1f61aef2cffda19e01e41aeaa25e14f5fb8e6b43f3d97d4c", "fetched_at": "2026-08-28T04:06:51.600708+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ademilter/bricklayer"}, {"content_hash": "a6b5b81552ddcdddad64d86f8dc2ae1269479b1aefed04048a03e54c087da6d8", "fetched_at": "2026-08-29T10:12:20.701100+00:00", "kind": "homepage", "missing": false, "url": "http://bricklayer.js.org"}, {"content_hash": "0d0123d6c3b2fea0fac535f34a39b9dcfe2602ea9fe1af68a7a02b1d7f0ff992", "fetched_at": "2026-08-29T10:12:20.703644+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/bricklayer"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:30:43.989971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2af2ac9abcc8b56a1f61aef2cffda19e01e41aeaa25e14f5fb8e6b43f3d97d4c", "fetched_at": "2026-08-28T04:06:51.600708+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ademilter/bricklayer"}, {"content_hash": "a6b5b81552ddcdddad64d86f8dc2ae1269479b1aefed04048a03e54c087da6d8", "fetched_at": "2026-08-29T10:12:20.701100+00:00", "kind": "homepage", "missing": false, "url": "http://bricklayer.js.org"}, {"content_hash": "0d0123d6c3b2fea0fac535f34a39b9dcfe2602ea9fe1af68a7a02b1d7f0ff992", "fetched_at": "2026-08-29T10:12:20.703644+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/bricklayer"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3799, "days_push": 855, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}