Skip to content

Commit

Permalink
[add] devコマンドからサーバー起動とelectron起動を同時に行うことができる
Browse files Browse the repository at this point in the history
  • Loading branch information
thalathalaylah committed Jun 9, 2019
1 parent e4f3468 commit 6c12ce4
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 5 deletions.
2 changes: 2 additions & 0 deletions dev_env/Procfile
@@ -0,0 +1,2 @@
react: yarn start
electron: node dev_env/electron-wait-react.js
24 changes: 24 additions & 0 deletions dev_env/electron-wait-react.js
@@ -0,0 +1,24 @@
const net = require('net');
const port = process.env.PORT ? process.env.PORT - 100 : 3000;

process.env.ELECTRON_START_URL = `http://localhost:${port}`;

const client = new net.Socket();

let startedElectron = false;
const tryConnection = () =>
client.connect({ port: port }, () => {
client.end();
if (!startedElectron) {
console.log('starting electron');
startedElectron = true;
const exec = require('child_process').exec;
exec('yarn electron');
}
});

tryConnection();

client.on('error', error => {
setTimeout(tryConnection, 1000);
});
6 changes: 4 additions & 2 deletions package.json
Expand Up @@ -19,7 +19,8 @@
"eject": "react-scripts eject",
"electron": "electron .",
"package": "yarn build && electron-packager . my-app --platform=darwin --arch=x64 --prune --out=release --overwrite",
"package-all": "yarn build && electron-packager . my-app --platform=all --arch=x64 --prune --out=release --overwrite"
"package-all": "yarn build && electron-packager . my-app --platform=all --arch=x64 --prune --out=release --overwrite",
"dev": "nf start -j dev_env/Procfile"
},
"eslintConfig": {
"extends": "react-app"
Expand All @@ -38,7 +39,8 @@
},
"devDependencies": {
"electron": "^5.0.3",
"electron-packager": "^13.1.1"
"electron-packager": "^13.1.1",
"foreman": "^3.0.1"
},
"main": "src_main/entrypoint.js",
"homepage": "./"
Expand Down
2 changes: 1 addition & 1 deletion src_main/entrypoint.js
Expand Up @@ -22,7 +22,7 @@ function createWindow() {
protocol: 'file:',
slashes: true
})
: 'http://localhost:3000';
: process.env.ELECTRON_START_URL;
mainWindow.loadURL(startUrl);

// Open the DevTools.
Expand Down
19 changes: 17 additions & 2 deletions yarn.lock
Expand Up @@ -2654,7 +2654,7 @@ commander@2.17.x:
resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==

commander@^2.11.0, commander@^2.19.0, commander@~2.20.0:
commander@^2.11.0, commander@^2.15.1, commander@^2.19.0, commander@~2.20.0:
version "2.20.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
Expand Down Expand Up @@ -4255,6 +4255,16 @@ for-own@^1.0.0:
dependencies:
for-in "^1.0.1"

foreman@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/foreman/-/foreman-3.0.1.tgz#805f28afc5a4bbaf08dbb1f5018c557dcbb8a410"
integrity sha512-ek/qoM0vVKpxzkBUQN9k4Fs7l0XsHv4bqxuEW6oqIS4s0ouYKsQ19YjBzUJKTFRumFiSpUv7jySkrI6lfbhjlw==
dependencies:
commander "^2.15.1"
http-proxy "^1.17.0"
mustache "^2.2.1"
shell-quote "^1.6.1"

forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
Expand Down Expand Up @@ -6521,6 +6531,11 @@ multicast-dns@^6.0.1:
dns-packet "^1.3.1"
thunky "^1.0.2"

mustache@^2.2.1:
version "2.3.2"
resolved "https://registry.yarnpkg.com/mustache/-/mustache-2.3.2.tgz#a6d4d9c3f91d13359ab889a812954f9230a3d0c5"
integrity sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ==

mute-stream@0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
Expand Down Expand Up @@ -8980,7 +8995,7 @@ shebang-regex@^1.0.0:
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=

shell-quote@1.6.1:
shell-quote@1.6.1, shell-quote@^1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767"
integrity sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=
Expand Down

0 comments on commit 6c12ce4

Please sign in to comment.