# @bizhermit/nextron

> nextjs + electron application

Latest version **1.2.1** (published 2022-06-19) · MIT license · 0 weekly downloads

## Install

```sh
npm install @bizhermit/nextron
pnpm add @bizhermit/nextron
yarn add @bizhermit/nextron
bun add @bizhermit/nextron
```

Provides the command `nextron`.

## 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.2.1 |
| Published | 2022-06-19 |
| First published | 2022-01-18 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 4 |
| Unpacked size | 22.4 KB |
| Known vulnerabilities | 0 (+38 in 1 direct dependencies) |
| Install scripts | no |
| Author | Senda Ryoichi |
| Maintainers | bizhermit |
| Keywords | bizhermit, electron, nextjs |

## Links

- npm: https://www.npmjs.com/package/@bizhermit/nextron
- Repository: https://github.com/bizhermit/nextron
- Homepage: https://bizhermit.com
- Issues: https://github.com/bizhermit/nextron/issues
- npm.io page: https://npm.io/package/@bizhermit/nextron

## Dependencies (4)

- [electron](https://npm.io/package/electron.md) ^17.0.0
- [electron-next](https://npm.io/package/electron-next.md) ^3.1.5
- [electron-is-dev](https://npm.io/package/electron-is-dev.md) ^2.0.0
- [@bizhermit/basic-utils](https://npm.io/package/@bizhermit/basic-utils.md) ^1.1.5

## Recent versions

- 1.2.1 (latest) — 2022-06-19
- 1.2.0 — 2022-04-14
- 1.1.5 — 2022-03-16
- 1.1.4 — 2022-02-11
- 1.1.3 — 2022-02-07
- 1.1.2 — 2022-02-05
- 1.1.1 — 2022-02-02
- 1.1.0 — 2022-02-02
- 1.0.2 — 2022-01-22
- 1.0.1 — 2022-01-18

## README

# Nextron

Give to Electron and Next.js framework.

---

## Usage

please use starter kit: [@bizhermit/starter](https://www.npmjs.com/package/@bizhermit/starter)  

### Install

```bash
npm i @bizhermit/nextron
```

### Example

```ts
// ./src-nextron/index.ts

import execute from "@bizhermit/nextron";

execute({/* props */});
```

### Props

execute arg (struct object) parameters.  

- **rootDirname?: string**
  nextjs root directory.  
  default: `"./src"`  
- **menubar?: boolean**
  display menubar.  
  default: `false`  
- **openDevTools?: boolean**
  open development tool window.
  default: `false`  
- **dev?: Struct**
  effect and overwrite when develop mode.  
  - **port?: number**
    port number.  
    default: `8000`  
  - **menubar?: boolean**
    display menubar when dev mode.  
    default: `true`
  - **openDevTools?: boolean**
    open development tool window.  
    default: `true`  
- **width?: number**
  window width (pt).  
  default: `1280`
- **height?: number**
  window height (pt).  
  default: `720`
- **minWidth?: number**
  window min-width (pt).  
  default: `undefined`  
- **minHeight?: number**
  window min-height (pt).  
  default: `undefined`
- **maxWidth?: number**
  window max-width (pt).  
  default: `undefined`
- **maxHeight?: number**
  window max-height (pt).  
  default: `undefined`
- **resizable?: boolean**
  allow window resize.  
  default: `true`
- **useContentSize?: boolean**
  height and width is content (exclude header and menubar) size or window size.  
  default: `false` (window)
- **fullscreen?: boolean**
  boot fullscreen mode.  
  default: `false`
- **fullscreenable?: boolean**
  allow fullscreen mode.  
  default: `true`
- **minimizable?: boolean**
  allow minimize and show button at header.  
  default: `true`
- **maximizable?: boolean**
  allow maximize and show button at header.  
  default: `true`
- **closable?: boolean**
  show close button at header.  
  default: `true`
- **position?: { x: number; y: number; } | "center" | "left-top" | "right-bottom"**
  first window position for monitor.  
  default: `"center"`
- **movable?: boolean**
  allow move window.  
  default: `true`
- **opacity?: number**
  window opacity. 0 is invisible.  
  default: `1`  
- **focusable?: boolean**
  allow focus at window. if false, cannot control.  
  default: `true`
- **alwaysOnTop?: boolean**
  window is indicated just before the constancy.  
  default: `false`
- **skipTaskbar?: boolean**
  an icon is shown to a taskbar at the time of an application icon start.  
  default: `false`
- **title?: string**
  header title.  
  default: `""`
- **frame?: boolean**
  show frame. if false, close and min/max button, title is not display.  
  default: `true`
- **hasShadow?: boolean**
  show window shadow.  
  default: `true`
- **layoutColor?: string（"light" | "dark"）**
  layout color.
  default: `undefined` (depend on a theme of os)
- **layoutDesign?: string**
  layout design.
  default: `"material"`
- **defaultConfig?: Config**
  config file initialize parameters when not generated at ./resources/config.json.  
  default: `undefined`

---

### Main Process Accessor

use accessor when renderer process access to main(window) process.

```ts
import nextronAccessor, { useNextron } from "@bizhermit/nextron/dist/accessor"

// renderer process
const Component = () => {
    const nextron = useNextron();
    const click = () => {
        nextron.setSize({ width: 300, height: 300, animate: true });
        nextron.fetch("hello", {}).then(res => {
            console.log(res);
        }).catch(err => {
            console.log(err);
        });
    };
    return <button onClick={click}>set size</button>;
};

// main process
const func = () => {
    const nextron = nextronAccessor();
    nextron.setSize({ width: 300, height: 300, animate: true });
};
```

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