{"id":16014893,"url":"https://github.com/thheller/electron-cljs","last_synced_at":"2025-03-18T02:32:47.916Z","repository":{"id":140236700,"uuid":"558504382","full_name":"thheller/electron-cljs","owner":"thheller","description":"Electron App Example in ClojureScript using shadow-cljs","archived":false,"fork":false,"pushed_at":"2022-10-28T06:41:42.000Z","size":20,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-28T06:21:31.965Z","etag":null,"topics":["cljs","clojurescript","electron","shadow-cljs"],"latest_commit_sha":null,"homepage":"","language":"Clojure","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/thheller.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":"2022-10-27T17:20:11.000Z","updated_at":"2023-03-13T15:31:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"981e490e-5f12-41e1-b57f-16226ee27c89","html_url":"https://github.com/thheller/electron-cljs","commit_stats":{"total_commits":2,"total_committers":1,"mean_commits":2.0,"dds":0.0,"last_synced_commit":"4fea19209e67c4bea4a8730c0fe8b3616ef4ab2f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thheller%2Felectron-cljs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thheller%2Felectron-cljs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thheller%2Felectron-cljs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thheller%2Felectron-cljs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thheller","download_url":"https://codeload.github.com/thheller/electron-cljs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243894547,"owners_count":20365049,"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":["cljs","clojurescript","electron","shadow-cljs"],"created_at":"2024-10-08T15:05:26.763Z","updated_at":"2025-03-18T02:32:47.909Z","avatar_url":"https://github.com/thheller.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# electron-cljs\n\nElectron App Example using shadow-cljs.\n\n## Build Instructions\n\n```\nnpm install\nnpx shadow-cljs watch main renderer\nnpx electron .\n```\n\n## Implementation Notes\n\nTwo builds are used. The `:renderer` build is a generic `:browser` build, used for the \"BrowserWindow\" parts which act like a normal browser. They are launched by the Electron \"main\" process. The `:main` build produces the output for the \"main\" as well as the Electron \"preload\". They are both node-ish contexts, so we can use a single `:npm-module` build to produce the necessary outputs.\n\nThe `app/main.js` and `app/preload.js` files act as the entry point which load and call the actual code. These are not strictly necessary, but I prefer it over having code that unconditionally runs when the namespace is loaded.\n\n\nThis requires using the helper files:\n\n```\n(ns demo.main)\n\n(defn ^:export init []\n  (do-something))\n```\n\nThis would not, and you would just point your `package.json` `\"main\"` directly at `app/js/demo.main.js` instead.\n\n```\n(ns demo.main)\n\n(do-something)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthheller%2Felectron-cljs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthheller%2Felectron-cljs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthheller%2Felectron-cljs/lists"}