A Monero node manager for Windows, MacOS and Linux
Find a file
2024-10-12 00:26:41 +02:00
.github Disable headless unit test for ubuntu.yml 2024-10-11 01:01:29 +02:00
.nx/cache Wide implementation 2024-09-21 13:37:49 +02:00
.vscode Initial commit 2024-09-17 20:33:24 +02:00
app Update README, Fix package.json 2024-10-12 00:26:41 +02:00
e2e Initial commit 2024-09-17 20:33:24 +02:00
src Disable headless unit test for ubuntu.yml 2024-10-11 01:01:29 +02:00
.editorconfig Initial commit 2024-09-17 20:33:24 +02:00
.eslintignore Initial commit 2024-09-17 20:33:24 +02:00
.eslintrc.json Initial commit 2024-09-17 20:33:24 +02:00
.gitignore Initial commit 2024-09-17 20:33:24 +02:00
.node-version Initial commit 2024-09-17 20:33:24 +02:00
.npmrc Initial commit 2024-09-17 20:33:24 +02:00
_config.yml Initial commit 2024-09-17 20:33:24 +02:00
angular.json Add preload fix, blockchain operations implementation 2024-09-30 21:07:57 +02:00
angular.webpack.js Initial commit 2024-09-17 20:33:24 +02:00
CHANGELOG.md Initial commit 2024-09-17 20:33:24 +02:00
CODE_OF_CONDUCT.md Initial commit 2024-09-17 20:33:24 +02:00
electron-builder.json Initial commit 2024-09-17 20:33:24 +02:00
HOW_TO.md Initial commit 2024-09-17 20:33:24 +02:00
jest.config.js Initial commit 2024-09-17 20:33:24 +02:00
LICENSE.md Initial commit 2024-09-17 20:33:24 +02:00
package-lock.json Get download monero url by os 2024-10-09 23:40:32 +02:00
package.json Get download monero url by os 2024-10-09 23:40:32 +02:00
README.md Update README, Fix package.json 2024-10-12 00:26:41 +02:00
tsconfig.json Monero installer implementation 2024-09-28 16:31:51 +02:00
tsconfig.serve.json Monero installer implementation 2024-09-28 16:31:51 +02:00

Angular Logo Electron Logo

Maintained Make a pull request License

Linux Build MacOS Build Windows Build

Watch on GitHub Star on GitHub

Introduction

Bootstrap and package your project with Angular 17 and Electron 30 (Typescript + SASS + Hot Reload) for creating Desktop applications.

Currently runs with:

  • Angular v17.3.6
  • Electron v30.0.1

With this sample, you can:

  • Run your app in a local development environment with Electron & Hot reload
  • Run your app in a production environment
  • Execute your tests with Jest and Playwright (E2E)
  • Package your app into an executable file for Linux, Windows & Mac

/!\ Hot reload only pertains to the renderer process. The main electron process is not able to be hot reloaded, only restarted.

/!\ Angular CLI & Electron Builder needs Node 18.10 or later to work correctly.

Getting Started

Clone this repository locally:

git clone https://github.com/everoddandeven/monerod-gui.git

Install dependencies with npm (used by Electron renderer process):

npm install

There is an issue with yarn and node_modules when the application is built by the packager. Please use npm as dependencies manager.

If you want to generate Angular components with Angular-cli , you MUST install @angular/cli in npm global context. Please follow Angular-cli documentation if you had installed a previous version of angular-cli.

npm install -g @angular/cli

Install NodeJS dependencies with npm (used by Electron main process):

cd app/
npm install

Why two package.json ? This project follow Electron Builder two package.json structure in order to optimize final bundle and be still able to use Angular ng add feature.

To build for development

  • in a terminal window -> npm start

Voila! You can use your Angular + Electron app in a local development environment with hot reload!

The application code is managed by app/main.ts. In this sample, the app runs with a simple Angular App (http://localhost:4200), and an Electron window.
The Angular component contains an example of Electron and NodeJS native lib import.
You can disable "Developer Tools" by commenting win.webContents.openDevTools(); in app/main.ts.

Project structure

Folder Description
app Electron main process folder (NodeJS)
src Electron renderer process folder (Web / Angular)

Browser mode

Maybe you only want to execute the application in the browser with hot reload? Just run npm run ng:serve:web.

Included Commands

Command Description
npm run ng:serve Execute the app in the web browser (DEV mode)
npm run web:build Build the app that can be used directly in the web browser. Your built files are in the /dist folder.
npm run electron:local Builds your application and start electron locally
npm run electron:build Builds your application and creates an app consumable based on your operating system

Your application is optimised. Only /dist folder and NodeJS dependencies are included in the final bundle.

E2E Testing

E2E Test scripts can be found in e2e folder.

Command Description
npm run e2e Execute end to end tests

Note: To make it work behind a proxy, you can add this proxy exception in your terminal
export {no_proxy,NO_PROXY}="127.0.0.1,localhost"

Debug with VsCode

VsCode debug configuration is available! In order to use it, you need the extension Debugger for Chrome.

Then set some breakpoints in your application's source code.

Finally from VsCode press Ctrl+Shift+D and select Application Debug and press F5.

Please note that Hot reload is only available in Renderer process.