diff --git a/package.json b/package.json
index 2af7d3b..8072068 100644
--- a/package.json
+++ b/package.json
@@ -15,19 +15,19 @@
"productName": "ElectronReact",
"description": "Electron application boilerplate based on React, React Router, Webpack, React Fast Refresh for rapid application development",
"scripts": {
+ "postinstall": "node -r @babel/register .erb/scripts/CheckNativeDep.js && electron-builder install-app-deps && yarn cross-env NODE_ENV=development webpack --config ./.erb/configs/webpack.config.renderer.dev.dll.babel.js && opencollective-postinstall && yarn-deduplicate yarn.lock",
"build": "concurrently \"yarn build:main\" \"yarn build:renderer\"",
"build:main": "cross-env NODE_ENV=production webpack --config ./.erb/configs/webpack.config.main.prod.babel.js",
"build:renderer": "cross-env NODE_ENV=production webpack --config ./.erb/configs/webpack.config.renderer.prod.babel.js",
"rebuild": "electron-rebuild --parallel --types prod,dev,optional --module-dir src",
"lint": "cross-env NODE_ENV=development eslint . --cache --ext .js,.jsx,.ts,.tsx",
"package": "rm -rf src/dist && yarn build && electron-builder build --publish never",
- "postinstall": "node -r @babel/register .erb/scripts/CheckNativeDep.js && electron-builder install-app-deps && yarn cross-env NODE_ENV=development webpack --config ./.erb/configs/webpack.config.renderer.dev.dll.babel.js && opencollective-postinstall && yarn-deduplicate yarn.lock",
"start": "node -r @babel/register ./.erb/scripts/CheckPortInUse.js && cross-env yarn start:renderer",
"start:main": "cross-env NODE_ENV=development electron -r ./.erb/scripts/BabelRegister ./src/main.dev.ts",
"start:renderer": "cross-env NODE_ENV=development webpack serve --config ./.erb/configs/webpack.config.renderer.dev.babel.js",
"test": "jest",
- "relay": "supervisor -w relay,src -n exit relay/index.js",
- "relay:service": "supervisor -- relay/service",
+ "relay": "supervisor -w relay,src -n exit relay/index.mjs",
+ "relay:service": "supervisor -- relay/service.mjs",
"sloc": "find lib -type f | xargs wc -l"
},
"build": {
@@ -260,6 +260,7 @@
"md5": "^2.3.0",
"menubar": "^9.0.3",
"nat-upnp": "^1.1.1",
+ "nedb": "^1.8.0",
"node-ipc": "^9.1.4",
"node-rsa": "^1.1.1",
"printable-characters": "^1.0.42",
diff --git a/relay/index.js b/relay/index.mjs
similarity index 74%
rename from relay/index.js
rename to relay/index.mjs
index 53f6127..b316464 100644
--- a/relay/index.js
+++ b/relay/index.mjs
@@ -1,21 +1,26 @@
// process.env.DEBUG = 'xyz:valnet:*';
+'use strict';
+
+import { title } from '../src/lib/title.js';
+import { Identity } from '../src/lib/Identity.js';
+import { config } from '../src/lib/config/index.js';
+import appdata from '../src/lib/appdata.js';
+import Node from '../src/lib/node.js';
+
+import Signale from 'signale';
+import { ensureDirSync } from 'fs-extra';
+import express from 'express';
-(async () => {
-const { title } = require('../src/lib/title');
-const log = require('signale').scope('RLAY');
-const { Identity } = require('../src/lib/Identity');
title('relay', false);
-const Node = require('../src/lib/node');
-const { config } = require('../src/lib/config');
-const { ensureDirSync } = require('fs-extra');
-const appdata = require('../src/lib/appdata');
-
-ensureDirSync(`${appdata}/valnet/relay`);
+const log = Signale.scope('RLAY');
const node = new Node();
+(async () => {
+
// ==================================== [EXPRESS]
-const express = require('express');
+
const app = express();
+ensureDirSync(`${appdata}/valnet/relay`);
app.get('/', (req, res) => {
res.end(`
diff --git a/relay/service.js b/relay/service.mjs
similarity index 90%
rename from relay/service.js
rename to relay/service.mjs
index 5f6b3ff..cd2b0b9 100644
--- a/relay/service.js
+++ b/relay/service.mjs
@@ -1,21 +1,24 @@
+import Signale from 'signale';
+import { execSync, spawn } from 'child_process';
+import Datastore from 'nedb';
+import { config } from '../src/lib/config/index.js';
+import express from 'express';
+
(async () => {
-const log = require('signale').scope('SRVC');
-const { execSync, spawn } = require('child_process');
+
+const log = Signale.scope('SRVC');
const branch = execSync('git rev-parse --abbrev-ref HEAD').toString().trim();
let proc;
-const Datastore = require('nedb');
const logs = new Datastore({
filename: 'svc.log',
autoload: true
});
-const { config } = require('../package.json');
-const express = require('express');
const app = express();
try {
appendLogs('yarn', execSync(`yarn`));
} catch (e) {
- appendLogs('failed to yarn install...')
+ logp('failed to yarn install...')
}
logp('==================================');
@@ -47,7 +50,7 @@ setInterval(function update() {
}, 5000);
(function keepAlive() {
- proc = spawn('node', ['relay'], {
+ proc = spawn('node', ['./relay/index.mjs'], {
stdio: 'pipe'
});
diff --git a/src/App.tsx b/src/App.tsx
index 3c2331c..5dda47e 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -2,7 +2,8 @@ import React from 'react';
import { BrowserRouter as Router, Switch, Route } from 'react-router-dom';
import icon from '../assets/icon.svg';
import './App.global.css';
-import { IpcClient } from './lib/ipc';
+import { IpcClient } from './lib/ipc.js';
+
class Hello extends React.Component {
api = new IpcClient('valnet');
@@ -15,6 +16,11 @@ class Hello extends React.Component {
console.log(await this.api.getClients())
}
+ async killApp() {
+ // alert(this);
+ await this.api.kill(1);
+ }
+
render() {
return (
@@ -24,20 +30,19 @@ class Hello extends React.Component {
electron-react-boilerplate