{"id":15018556,"url":"https://github.com/nativescript-community/solid-js","last_synced_at":"2025-10-24T21:23:13.351Z","repository":{"id":60457968,"uuid":"543322299","full_name":"nativescript-community/solid-js","owner":"nativescript-community","description":"SolidJS for NativeScript","archived":false,"fork":false,"pushed_at":"2025-02-01T18:54:15.000Z","size":72,"stargazers_count":63,"open_issues_count":1,"forks_count":3,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-03-04T18:03:10.061Z","etag":null,"topics":["dominative","nativescript","solidjs"],"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/nativescript-community.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-29T21:16:46.000Z","updated_at":"2025-02-24T10:17:38.000Z","dependencies_parsed_at":"2024-01-15T10:59:45.589Z","dependency_job_id":"de830b2f-f43b-4d77-ae07-47b294e9d548","html_url":"https://github.com/nativescript-community/solid-js","commit_stats":{"total_commits":27,"total_committers":5,"mean_commits":5.4,"dds":0.4444444444444444,"last_synced_commit":"a3e2c7612bac647fd0f5196a217a02d333b5d62b"},"previous_names":["sudomaker/dominative-solid"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nativescript-community%2Fsolid-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nativescript-community%2Fsolid-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nativescript-community%2Fsolid-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nativescript-community%2Fsolid-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nativescript-community","download_url":"https://codeload.github.com/nativescript-community/solid-js/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247471517,"owners_count":20944158,"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":["dominative","nativescript","solidjs"],"created_at":"2024-09-24T19:52:06.655Z","updated_at":"2025-10-24T21:23:08.313Z","avatar_url":"https://github.com/nativescript-community.png","language":"JavaScript","funding_links":[],"categories":["Flavors"],"sub_categories":["Community Flavors"],"readme":"# NativeScript SolidJS\n\n### **Custom render and patches for SolidJS to work with [DOMiNATIVE](https://github.com/SudoMaker/DOMiNATIVE) on [NativeScript](https://nativescript.org/)**\n\n[Playground](https://stackblitz.com/edit/nativescript-dominative-solid?file=app/app.jsx)\n\n---\n\n## Installation\n\nVia npm:\n\n```shell\nnpm install @nativescript-community/solid-js dominative undom-ng solid-js @babel/preset-typescript babel-preset-solid\n```\n\n**Note:** `dominative`, `undom-ng`, `solid-js` are peer dependencies, you have to install them manually. As the benefit for using peer dependencies, you'll be able to upgrade these dependencies directly from upstream, no need to wait for an update with `@nativescript-community/solid-js`\n\n---\n\n## Usage\n\n```jsx\nimport { Application } from \"@nativescript/core\"\nimport { render } from \"@nativescript-community/solid-js\"\nimport { createSignal } from \"solid-js\"\n\ndocument.body.actionBarHidden = false\n\nconst App = () =\u003e {\n\tconst [count, setCount] = createSignal(0)\n\tconst increment = () =\u003e {\n\t\tsetCount(c =\u003e c + 1)\n\t}\n\treturn \u003c\u003e\n\t\u003cactionbar title=\"Hello, SolidJS!\"\u003e\u003c/actionbar\u003e\n\t\u003cstacklayout\u003e\n\t\t\u003clabel\u003eYou have taapped {count()} time(s)\u003c/label\u003e\n\t\t\u003cbutton class=\"-primary\" on:tap={increment}\u003eTap me!\u003c/button\u003e\n\t\u003c/stacklayout\u003e\n\t\u003c/\u003e\n}\n\nconst create = () =\u003e {\n\trender(App, document.body)\n\treturn document\n}\n\nApplication.run({ create })\n\n```\n\n---\n\n## Caveats\n\n### Event handling\n\nUse `on:raw-EventName` and `oncapture:RawEvent-Name` to register event handlers instead of `on___`. It may be a little annoying, but NativeScript uses case sensitive event names and don't have native event bubbling, which means delegation couldn't function.\n\nTo enable capture and bubble phase of an event, please refer to this [doc](https://github.com/SudoMaker/DOMiNATIVE#tweakabledefineeventoptioneventname-string-option-eventoption)\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnativescript-community%2Fsolid-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnativescript-community%2Fsolid-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnativescript-community%2Fsolid-js/lists"}