{"id":18746895,"url":"https://github.com/iainjreid/fui","last_synced_at":"2025-04-12T22:21:52.769Z","repository":{"id":34260190,"uuid":"173137525","full_name":"iainjreid/fui","owner":"iainjreid","description":"A functional UI framework and rendering engine with an impossibly small footprint","archived":false,"fork":false,"pushed_at":"2023-01-27T10:28:38.000Z","size":817,"stargazers_count":12,"open_issues_count":6,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-10T17:24:22.632Z","etag":null,"topics":["framework","fui","functional","functional-programming","interface","user","user-interface"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iainjreid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null}},"created_at":"2019-02-28T15:31:03.000Z","updated_at":"2025-02-17T01:59:48.000Z","dependencies_parsed_at":"2023-02-15T08:02:00.569Z","dependency_job_id":null,"html_url":"https://github.com/iainjreid/fui","commit_stats":null,"previous_names":["iainjreid/fui","emphori/fui"],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iainjreid%2Ffui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iainjreid%2Ffui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iainjreid%2Ffui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iainjreid%2Ffui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iainjreid","download_url":"https://codeload.github.com/iainjreid/fui/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248638602,"owners_count":21137688,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["framework","fui","functional","functional-programming","interface","user","user-interface"],"created_at":"2024-11-07T16:27:31.225Z","updated_at":"2025-04-12T22:21:52.740Z","avatar_url":"https://github.com/iainjreid.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"#\"\u003e\n    \u003cimg src=\"https://cdn.jsdelivr.net/gh/emphori/fui@master/.github/logo-67x122@2x.png\" width=\"67px\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@emphori/fui\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/v/@emphori/fui.svg?style=flat-square\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"#\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/workflow/status/Emphori/fui/Build.svg?style=flat-square\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://coveralls.io/github/Emphori/fui\"\u003e\n    \u003cimg src=\"https://img.shields.io/coveralls/github/Emphori/fui.svg?style=flat-square\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://lgtm.com/projects/g/Emphori/fui\"\u003e\n    \u003cimg src=\"https://img.shields.io/lgtm/grade/javascript/github/Emphori/fui.svg?style=flat-square\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## What’s this all about?\n\nFui is a fresh take on the traditional frontend framework, it’s simple to use,\nhas a tiny footprint, and is blazingly fast!\n\nUnder the hood, Fui is built using functional concepts, elements you build are\nreferentially transparent, so wherever or however you create them they'll always\nbe the same.\n\nCheckout [this repository](https://git.io/fjvBY) for a demo!\n\n### Features\n\nAt its center, Fui plays host to a simple AST engine; a respectably lightweight\none, written in highly compressible and optimised code, weighing in at just 396\nbytes.\n\nElements are composed using simple JavaScript functions, so there's no need for\nJSX, or even HTML for that matter. Using elements is simply a case of importing\nthe composition, and then invoking it.\n\n```javascript\nconst { div } = require(\"@emphori/fui/html\");\n\n// A possible component\nconst myWrapper = div.attr(\"class\", \"wrapper\");\n\n// Generate the DOM element\nconst elem = myWrapper();\n\n// Append the element\ndocument.body.appendChild(elem);\n```\n\n## FAQ\n\n### Why is this not written in TypeScript?\n\nThere's rational behind not using TS for this project, simply put, the need to\neasily document the possible values exposed by a Proxy isn't currently met by\nthe tooling provided.\n\n## License\n\nThis project is released under the [MIT License](./LICENSE). Enjoy responsibly\n✌️\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiainjreid%2Ffui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiainjreid%2Ffui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiainjreid%2Ffui/lists"}