# @sky0014/electron-ipc

> Make you use electron ipc call easier.

Latest version **1.0.13** (published 2022-07-12) · 0 weekly downloads

## Install

```sh
npm install @sky0014/electron-ipc
pnpm add @sky0014/electron-ipc
yarn add @sky0014/electron-ipc
bun add @sky0014/electron-ipc
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.13 |
| Published | 2022-07-12 |
| First published | 2022-07-06 |
| Weekly downloads | 0 |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 10.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | sky0014 |
| Maintainers | sky0014 |
| Keywords | electron, ipc |

## Links

- npm: https://www.npmjs.com/package/@sky0014/electron-ipc
- Repository: https://github.com/sky0014/electron-ipc
- Homepage: https://github.com/sky0014/electron-ipc/#readme
- Issues: https://github.com/sky0014/electron-ipc/issues
- npm.io page: https://npm.io/package/@sky0014/electron-ipc

## Dependencies (1)

- [@sky0014/logger](https://npm.io/package/@sky0014/logger.md) ^1.0.7

## Recent versions

- 1.0.13 (latest) — 2022-07-12
- 1.0.12 — 2022-07-12
- 1.0.11 — 2022-07-12
- 1.0.10 — 2022-07-11
- 1.0.9 — 2022-07-11
- 1.0.8 — 2022-07-11
- 1.0.7 — 2022-07-11
- 1.0.6 — 2022-07-11
- 1.0.5 — 2022-07-07
- 1.0.4 — 2022-07-07
- 1.0.3 — 2022-07-07
- 1.0.2 — 2022-07-06
- 1.0.1 — 2022-07-06
- 1.0.0 — 2022-07-06

## README

# electron-ipc

Make you use electron ipc call easier.

## Install

```bash
npm install @sky0014/electron-ipc
```

## Usage

In preload:

```ts
import "@sky0014/electron-ipc/preload";
```

In main:

```ts
// register main ipc
import { getIpcMain, registerIpcMain } from "@sky0014/electron-ipc/main";
import type { Renderer } from "./renderer";

const ipc = {
  filePick(options: OpenDialogOptions) {
    return dialog.showOpenDialog(options);
  },
};

registerIpcMain(ipc);

export type Main = typeof ipc;

// use ipc from renderer
getIpcMain<Renderer>().onShowMessage("hello world");
```

In renderer:

```ts
// register renderer ipc
import {
  getIpcRenderer,
  registerIpcRenderer,
} from "@sky0014/electron-ipc/renderer";
import type { Main } from "./main";

const ipc = {
  onShowMessage(data: Message) {
    // show message in ui
  },
};

registerIpcRenderer(ipc);

export type Renderer = typeof ipc;

// use ipc from main
getIpcRenderer<Main>().filePick(...);
```

## Publish

If your first time publish a package, login first:

```bash
npm login --registry=http://registry.npmjs.org
```

Then you can publish:

```bash
npm run pub
```

---
_Source: https://npm.io/package/@sky0014/electron-ipc · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
