# 01-electron

TypeScript を用いて Electron を開発するサンプルです。

ネイティブライブラリを含む SerialPort ライブラリ実行も試みます。

## 初期化

```sh
yarn
```

## コンパイル

```sh
yarn compile
yarn compile --mode=production
```

## 実行

```sh
yarn start
```

## パッケージ化

Windows 用の例は以下です。dist ディレクトリに出力されます。

詳細は [electron-builder の公式ドキュメント](https://www.electron.build/)を参照して下さい。

```sh
yarn compile --mode=production
yarn electron-builder --win --x64
```

## Lint

ESLint を導入しています。

```sh
yarn lint
```

## Format

Prettier を導入しています。

```sh
yarn format
```

## ディレクトリ構成

ディレクトリと主要なファイル構成は以下の様になっています。

```txt
├─ app/ : Electronで実行するJavaScriptやHTMLファイル
├─ src/ : TypeScriptの開発ディレクトリ
│   ├─ common/ : main, preload, renderer共通
│   ├─ main/
│   │   ├─ main.ts
│   │   └─ tsconfig.json
│   ├─ preload/
│   │   ├─ preload.ts
│   │   └─ tsconfig.json
│   ├─ renderer/
│   │   ├─ @types/
│   │   │   └─ global.d.ts
│   │   ├─ renderer.ts
│   │   └─ tsconfig.json
│   └─ tsconfig.base.json : tsconfig.jsonの共通設定
├─ package.json
└─ webpack.config.js
```
