hxelectron icon indicating copy to clipboard operation
hxelectron copied to clipboard

Haxe type definitions for electron

HXElectron

Haxe type definitions for electron, a framework for building cross-platform desktop applications with JavaScript, HTML, and CSS.

Actions Status Haxelib Version

Install

# Release version
haxelib install electron

# Development version
haxelib git electron https://github.com/tong/hxelectron.git

Generate Type Definitions

All type definitions are generated from electron-api.json by ElectronAPI.hx.
To (re)generate for another electron version download the description file from https://github.com/electron/electron/releases and run:

## Generate type definitions
haxe --macro ElectronAPI.generate("optional/path/to/electron-api.json")

## Build haxedoc.xml to insure everything is fine
haxe haxedoc.hxml

By default hxelectron/electron-api.json is used if you ommit the path argument to your custom description file.


Usage

Demo Application

  • Clone this repository and setup

git clone https://github.com/tong/hxelectron && cd hxelectron/
haxelib dev electron .

Build and run the demo application

cd demo/
npm install # Install electron
npm run build # Build main.js & app.js
npm start

Metadata

The haxe externs are attributed with following metadata:

  • @:electron_platforms(["Linux"|"macOS"|"Windows"]) the supporting platforms (only if specific).