{"id":20774027,"url":"https://github.com/indoorvivants/sn-bindgen-web","last_synced_at":"2025-06-14T04:37:47.834Z","repository":{"id":171414001,"uuid":"637342797","full_name":"indoorvivants/sn-bindgen-web","owner":"indoorvivants","description":"(WIP) web interface to sn-bindgen (https://sn-bindgen.indoorvivants.com/) to generate Scala 3 Native bindings to C header files ","archived":false,"fork":false,"pushed_at":"2024-06-05T07:12:10.000Z","size":3642,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-03T14:45:16.478Z","etag":null,"topics":["bindings","c","scala-native","scala3","smithy","smithy4s","sn-bindgen"],"latest_commit_sha":null,"homepage":"https://sn-bindgen-web.fly.dev/","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/indoorvivants.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-05-07T09:03:39.000Z","updated_at":"2025-02-11T05:53:05.000Z","dependencies_parsed_at":"2024-06-03T20:25:24.658Z","dependency_job_id":"5e72e35b-9c83-4174-a2d7-3802c9e81809","html_url":"https://github.com/indoorvivants/sn-bindgen-web","commit_stats":null,"previous_names":["indoorvivants/sn-bindgen-web"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/indoorvivants/sn-bindgen-web","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indoorvivants%2Fsn-bindgen-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indoorvivants%2Fsn-bindgen-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indoorvivants%2Fsn-bindgen-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indoorvivants%2Fsn-bindgen-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/indoorvivants","download_url":"https://codeload.github.com/indoorvivants/sn-bindgen-web/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indoorvivants%2Fsn-bindgen-web/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259761575,"owners_count":22907367,"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":["bindings","c","scala-native","scala3","smithy","smithy4s","sn-bindgen"],"created_at":"2024-11-17T12:28:07.999Z","updated_at":"2025-06-14T04:37:47.788Z","avatar_url":"https://github.com/indoorvivants.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Web app to generate Scala 3 Native bindings for C\n\n_Warning: this is currently not working and really should be a private repo, but I've run out of private GHA minutes so... here we are_\n\n\u003c!--toc:start--\u003e\n- [Web app to generate Scala 3 Native bindings for C](#web-app-to-generate-scala-3-native-bindings-for-c)\n  - [Quick start (Docker)](#quick-start-docker)\n  - [Local development (backend)](#local-development-backend)\n  - [Local development (frontend)](#local-development-frontend)\n\u003c!--toc:end--\u003e\n\n![2023-05-29 12 01 15](https://github.com/indoorvivants/sn-bindgen-web/assets/1052965/85d0144c-f431-49e3-a45c-b644fc642cf7)\n\n### Quick start (Docker)\n\n**Warning: this will take some time, as we need to build NGINX Unit from scratch, and install LLVM. Sit back, have a beverage**\n\n- Build a docker container\n\n    Release version (slow):\n\n    ```\n    $ docker build . --build-arg scalanative_mode=release-fast --build-arg scalanative_lto=none -t sn-bindgen-web\n    ```\n\n    Debug version (slightly faster):\n\n    ```\n    $ docker build . --build-arg scalanative_mode=debug --build-arg scalanative_lto=none -t sn-bindgen-web\n    ```\n- Run it \n\n    ```\n    docker run -p 9999:9999 sn-bindgen-web:latest\n    ```\n- Open `http://localhost:9999` and enjoy.\n\n### Local development (backend)\n\n1. Install NGINX Unit: https://unit.nginx.org/installation/\n2. Install LLVM: https://releases.llvm.org/\n3. Set `LLVM_BIN` env variable to the location of `bin` folder in LLVM installation\n4. Run `sbt devServer/run`\n\n   **Warning: first run will be very slow. Subsequent ones will be somewhat slow.**\n\n   Alternatively, you can keep launch SBT and run `devServer/reStart` in there - this \n   will make sure that your SBT shell remains usable, and the server will be run in the background.\n\n5. Open `http://localhost:9999` and enjoy.\n\n### Local development (frontend)\n\nThe frontend module is set up using [Vite.js](https://vitejs.dev/).\n\n- `cd modules/frontend`\n- `npm install`\n- Run the backend (see above), it has to be running on port 9999 (default) \n  as Vite is configured to proxy the `/api/*` requests to `http://localhost:9999/api/*`\n- In a separate SBT shell, run `~frontend/fastLinkJS` - this continuously rebuilds the Scala.js frontend\n- `npm run dev` - will run the Vite server \n- Open http://localhost:5173 and you can now edit frontend without restarting the backend, with live reload\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Findoorvivants%2Fsn-bindgen-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Findoorvivants%2Fsn-bindgen-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Findoorvivants%2Fsn-bindgen-web/lists"}