Skip to content

Commit

Permalink
Merge branch 'release/0.28' of github.com:pavjacko/renative into rele…
Browse files Browse the repository at this point in the history
…ase/0.28

* 'release/0.28' of github.com:pavjacko/renative:
  fix start/run
  fix #3
  fixed #2
  fixed
  • Loading branch information
pavjacko committed Oct 29, 2019
2 parents 8cf0984 + f435c8e commit 25d4bed
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 26 deletions.
11 changes: 4 additions & 7 deletions packages/rnv/src/common.js
Original file line number Diff line number Diff line change
Expand Up @@ -466,17 +466,14 @@ export const waitForWebpack = async (c, port) => {
if (isRunningOnWindows && devServerHost === '0.0.0.0') {
devServerHost = '127.0.0.1';
}
const url = `http://${devServerHost}:${port}`;
const url = `http://${devServerHost}:${port}/assets/bundle.js`;
return new Promise((resolve, reject) => {
const interval = setInterval(() => {
axios.get(url).then((res) => {
if (res.status === 200) {
const isReady = res.data.toString().includes('<!DOCTYPE html>');
if (isReady) {
clearInterval(interval);
// spinner.succeed();
return resolve(true);
}
clearInterval(interval);
// spinner.succeed();
return resolve(true);
}
attempts++;
if (attempts === maxAttempts) {
Expand Down
4 changes: 2 additions & 2 deletions packages/rnv/src/platformTools/electron/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ import {
} from '../../common';
import { copyBuildsFolder, copyAssetsFolder } from '../../projectTools/projectParser';
import { MACOS } from '../../constants';
import { buildWeb, runWeb, runWebDevServer } from '../web';
import { buildWeb, runWeb } from '../web';
import {
cleanFolder, copyFolderContentsRecursiveSync, copyFolderRecursiveSync,
copyFileSync, mkdirSync, writeObjectSync, readObjectSync
Expand Down Expand Up @@ -197,7 +197,7 @@ const runElectronDevServer = (c, platform, port) => new Promise((resolve, reject
path.join(appFolder, 'webpack.config.js')
);

runWebDevServer(c, platform, port)
runWeb(c, platform, port)
.then(() => resolve())
.catch(e => reject(e));
});
Expand Down
10 changes: 5 additions & 5 deletions packages/rnv/src/platformTools/runner.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ import {
packageBundleForXcode,
runAppleLog
} from './apple';
import { buildWeb, runWeb, runWebDevServer, deployWeb, exportWeb } from './web';
import { buildWeb, runWeb, deployWeb, exportWeb } from './web';
import { runTizen, buildTizenProject } from './tizen';
import { runWebOS, buildWebOSProject } from './webos';
import { runFirefoxProject, buildFirefoxProject } from './firefox';
Expand All @@ -72,7 +72,7 @@ const isRunningOnWindows = process.platform === 'win32';
// ##########################################


export const rnvStart = async (c) => {
export const rnvStart = async (c, shouldOpenBrowser) => {
const { platform } = c;
const port = c.program.port || c.platformDefaults[platform] ? c.platformDefaults[platform].defaultPort : null;
const { hosted } = c.program;
Expand All @@ -99,7 +99,7 @@ export const rnvStart = async (c) => {
case TIZEN_MOBILE:
case TIZEN_WATCH:
await configureIfRequired(c, platform);
return runWebDevServer(c, platform, port);
return runWeb(c, platform, port, shouldOpenBrowser);
default:
if (hosted) {
return logError('This platform does not support hosted mode', true);
Expand Down Expand Up @@ -225,7 +225,7 @@ const _rnvRunWithPlatform = async (c) => {
};

if (_isWebHostEnabled(c, platform) && hosted) {
return rnvStart(c);
return rnvStart(c, true);
// logWarning(`Platform ${platform} does not support --hosted mode. Ignoring`);
}

Expand Down Expand Up @@ -261,7 +261,7 @@ const _rnvRunWithPlatform = async (c) => {
await cleanPlatformIfRequired(c, platform);
await configureIfRequired(c, platform);
}
return runWeb(c, platform, port);
return runWeb(c, platform, port, true);
case TIZEN:
case TIZEN_MOBILE:
case TIZEN_WATCH:
Expand Down
28 changes: 16 additions & 12 deletions packages/rnv/src/platformTools/web/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import {
getAppTitle,
getSourceExts
} from '../../common';
import { PLATFORMS } from '../../constants';
import { PLATFORMS, WEB } from '../../constants';
import { copyBuildsFolder, copyAssetsFolder } from '../../projectTools/projectParser';
import { copyFileSync } from '../../systemTools/fileutils';
import { getMergedPlugin } from '../../pluginTools';
Expand Down Expand Up @@ -144,12 +144,15 @@ const configureProject = async (c, platform, appFolderName) => {
await copyAssetsFolder(c, platform);
};

const runWeb = (c, platform, port) => new Promise((resolve, reject) => {
const runWeb = (c, platform, port, shouldOpenBrowser) => new Promise((resolve, reject) => {
logTask(`runWeb:${platform}:${port}`);

const extendConfig = getConfigProp(c, c.platform, 'webpackConfig', {});
let devServerHost = extendConfig.devServerHost || '0.0.0.0';
let devServerHost = '0.0.0.0';

if (platform === WEB) {
const extendConfig = getConfigProp(c, c.platform, 'webpackConfig', {});
if (extendConfig.devServerHost) devServerHost = extendConfig.devServerHost;
}

if (isRunningOnWindows && devServerHost === '0.0.0.0') {
devServerHost = '127.0.0.1';
Expand All @@ -163,7 +166,7 @@ const runWeb = (c, platform, port) => new Promise((resolve, reject) => {
port
)} is not running. Starting it up for you...`
);
_runWebBrowser(c, platform, devServerHost, port, 500)
_runWebBrowser(c, platform, devServerHost, port, false, shouldOpenBrowser)
.then(() => runWebDevServer(c, platform, port))
.then(() => resolve())
.catch(e => reject(e));
Expand All @@ -173,25 +176,26 @@ const runWeb = (c, platform, port) => new Promise((resolve, reject) => {
port
)} is already running. ReNative Will use it!`
);
_runWebBrowser(c, platform, devServerHost, port)
_runWebBrowser(c, platform, devServerHost, port, true, shouldOpenBrowser)
.then(() => resolve())
.catch(e => reject(e));
}
})
.catch(e => reject(e));
});

const _runWebBrowser = (c, platform, devServerHost, port, delay = 0) => new Promise((resolve, reject) => {
logTask(`_runWebBrowser:${platform}:${devServerHost}:${port}:${delay}`);
waitForWebpack(c, port)
const _runWebBrowser = (c, platform, devServerHost, port, alreadyStarted, shouldOpenBrowser) => new Promise((resolve) => {
logTask(`_runWebBrowser:${platform}:${devServerHost}:${port}:${shouldOpenBrowser}`);
if (!shouldOpenBrowser) return resolve();
const wait = waitForWebpack(c, port)
.then(() => {
open(`http://${devServerHost}:${port}/`);
resolve();
})
.catch((e) => {
logWarning(e);
resolve();
});
if (alreadyStarted) return wait; // if it's already started, return the promise so it rnv will wait, otherwise it will exit before opening the browser
return resolve();
});

const runWebDevServer = (c, platform, port) => new Promise((resolve, reject) => {
Expand Down Expand Up @@ -224,4 +228,4 @@ const exportWeb = (c, platform) => {
return selectWebToolAndExport(c, platform);
};

export { buildWeb, runWeb, configureWebProject, runWebDevServer, deployWeb, exportWeb };
export { buildWeb, runWeb, configureWebProject, deployWeb, exportWeb };

0 comments on commit 25d4bed

Please sign in to comment.