{"id":13451097,"url":"https://github.com/ProPuke/electron-shared","last_synced_at":"2025-03-23T18:31:49.904Z","repository":{"id":140668805,"uuid":"174532468","full_name":"ProPuke/electron-shared","owner":"ProPuke","description":"A (proof of concept?) launcher for Electron apps that uses shared runtimes","archived":false,"fork":false,"pushed_at":"2019-08-22T03:10:34.000Z","size":77,"stargazers_count":29,"open_issues_count":1,"forks_count":2,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-10-28T18:14:44.141Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","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/ProPuke.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-03-08T12:16:20.000Z","updated_at":"2024-09-26T16:17:22.000Z","dependencies_parsed_at":"2024-01-16T03:45:50.889Z","dependency_job_id":"820780b5-b17c-4bfa-9423-f390f4e391cb","html_url":"https://github.com/ProPuke/electron-shared","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProPuke%2Felectron-shared","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProPuke%2Felectron-shared/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProPuke%2Felectron-shared/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProPuke%2Felectron-shared/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ProPuke","download_url":"https://codeload.github.com/ProPuke/electron-shared/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245149391,"owners_count":20568896,"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":[],"created_at":"2024-07-31T07:00:47.945Z","updated_at":"2025-03-23T18:31:44.889Z","avatar_url":"https://github.com/ProPuke.png","language":"C","readme":"# Electron-shared\n\n[Usage](#usage)  \n[How to Build](#building)\n\nA (proof of concept?) launcher for Electron apps  \nNo need to include Electron with your apps, just use this? (or that's the theory)\n\n1) Bundle your app in a `app.asar` package, or in a directory named `app` alongside this executable\n2) Run it\n3) Electron will be automatically downloaded if needed and your app will run\n\nElectron-shared will look inside your `package.json` to check version requirements  \nIf a version of electron meeting these hasn't already be downloaded it will do so (with an update dialog while it does so)  \nRuntimes get stored in `AppData\\Local\\electron-shared`, `.cache/electron-shared` and `Library/Application Support/electron-shared`  \nFuture apps compatible with the same versions will make use of the same downloaded runtimes\n\n## Usage\n\n```\nUsage: ./electron-shared [options] [path]\n       ./electron-shared [command]\n\n  Download the latest supporting version of Electron for the specified PATH\n  and then run the application using it.\n\n  If omitted, path will default to \"app\"\n\n  PATH must be a directory containing a project.json file or the path to an\n  .asar archive (extension optional)\n\n  Options:\n    -d, --downloadOnly   Download any required Electron updates and then exit\n    -n, --noDownload     Do NOT download if required Electron is not available\n    -s, --silent         Do not display any user feedback while downloading\n\n    Any other options will be passed directly to Electron (if it is executed)\n\n  Commands:\n    -h, --help           Display this help and exit\n    -l, --list           Print the currently downloaded Electron versions\n    -v, --version        Output version information and exit\n```\n\n## Building\n\nBuilding Electron-shared has only currently been tested from within Linux  \nIt is cross-compiled for Windows from within Linux via MinGW  \nThe makefiles *should* also work from within macOS, although this has not been tested  \nIf anyone wants to contribute a native build process for Windows this would be greatly appreciated\n\nFirst, clone the repo along with all submodules, by using the `--recursive` flag:\n```\ngit clone --recursive https://github.com/ProPuke/electron-shared.git\n```\n\nBuilding is then done via 3 makefiles:\n* `makefile.posix` - This will compile for your local (posix-compliant) OS. Libraries such as libcurl will be dynamically linked.\n* `makefile.mingw32` - This will compile for 32bit win32. Libraries such as libcurl will be statically compiled into the executable.\n* `makefile` - This will simply call both of the above, producing both a native executable *and* a 32bit win32 executable for distribution\n\n### Building for Linux (and macOS)\n\nTo build exclusively for Linux (and hopefully also macOS), ensure `cmake`, the following libraries are installed: `libcurl` and `libgtk-3-dev`, and execute the posix makefile as follows:\n\n```\nmake -f makefile.posix\n```\n\nThis will generate a native `electron-shared` executable\n\n### Building for Windows (from within Linux)\n\nTo build for Windows from within Linux ensure `cmake` the following library is installed: `mingw-w64`, and execute the windows makefile as follows:\n\n```\nmake -f makefile.mingw32\n```\n\nThis will generate an `electron-shared.exe` 32bit executable\n\n### Building for Linux/macOS *and* Windows at once\n\nTo build for both targets at once, ensure you have the neccasary libaries for both, above, installed and simple execute the main makefile:\n\n```\nmake\n```\n\nThis will generate both a native `electron-shared` executable, and an `electron-shared.exe` 32bit win32 executable.\n","funding_links":[],"categories":["C"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FProPuke%2Felectron-shared","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FProPuke%2Felectron-shared","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FProPuke%2Felectron-shared/lists"}