mirror of
https://github.com/kevin-DL/sapper.git
synced 2026-01-15 20:34:44 +00:00
implement --dev-port flag - fixes #381
This commit is contained in:
@@ -29,6 +29,8 @@ class Watcher extends EventEmitter {
|
|||||||
}
|
}
|
||||||
port: number;
|
port: number;
|
||||||
closed: boolean;
|
closed: boolean;
|
||||||
|
|
||||||
|
dev_port: number;
|
||||||
live: boolean;
|
live: boolean;
|
||||||
hot: boolean;
|
hot: boolean;
|
||||||
|
|
||||||
@@ -50,6 +52,7 @@ class Watcher extends EventEmitter {
|
|||||||
app = locations.app(),
|
app = locations.app(),
|
||||||
dest = locations.dest(),
|
dest = locations.dest(),
|
||||||
routes = locations.routes(),
|
routes = locations.routes(),
|
||||||
|
'dev-port': dev_port,
|
||||||
live,
|
live,
|
||||||
hot,
|
hot,
|
||||||
bundler,
|
bundler,
|
||||||
@@ -60,6 +63,7 @@ class Watcher extends EventEmitter {
|
|||||||
app: string,
|
app: string,
|
||||||
dest: string,
|
dest: string,
|
||||||
routes: string,
|
routes: string,
|
||||||
|
'dev-port': number,
|
||||||
live: boolean,
|
live: boolean,
|
||||||
hot: boolean,
|
hot: boolean,
|
||||||
bundler?: string,
|
bundler?: string,
|
||||||
@@ -74,6 +78,7 @@ class Watcher extends EventEmitter {
|
|||||||
this.port = port;
|
this.port = port;
|
||||||
this.closed = false;
|
this.closed = false;
|
||||||
|
|
||||||
|
this.dev_port = dev_port;
|
||||||
this.live = live;
|
this.live = live;
|
||||||
this.hot = hot;
|
this.hot = hot;
|
||||||
|
|
||||||
@@ -120,11 +125,11 @@ class Watcher extends EventEmitter {
|
|||||||
mkdirp.sync(`${dest}/client`);
|
mkdirp.sync(`${dest}/client`);
|
||||||
if (this.bundler === 'rollup') copy_shimport(dest);
|
if (this.bundler === 'rollup') copy_shimport(dest);
|
||||||
|
|
||||||
const dev_port = await ports.find(10000);
|
if (!this.dev_port) this.dev_port = await ports.find(10000);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const routes = create_routes();
|
const routes = create_routes();
|
||||||
create_main_manifests({ routes, dev_port });
|
create_main_manifests({ routes, dev_port: this.dev_port });
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.emit('fatal', <events.FatalEvent>{
|
this.emit('fatal', <events.FatalEvent>{
|
||||||
message: err.message
|
message: err.message
|
||||||
@@ -132,7 +137,7 @@ class Watcher extends EventEmitter {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.dev_server = new DevServer(dev_port);
|
this.dev_server = new DevServer(this.dev_port);
|
||||||
|
|
||||||
this.filewatchers.push(
|
this.filewatchers.push(
|
||||||
watch_dir(
|
watch_dir(
|
||||||
@@ -145,11 +150,11 @@ class Watcher extends EventEmitter {
|
|||||||
},
|
},
|
||||||
() => {
|
() => {
|
||||||
const routes = create_routes();
|
const routes = create_routes();
|
||||||
create_main_manifests({ routes, dev_port });
|
create_main_manifests({ routes, dev_port: this.dev_port });
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const routes = create_routes();
|
const routes = create_routes();
|
||||||
create_main_manifests({ routes, dev_port });
|
create_main_manifests({ routes, dev_port: this.dev_port });
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.emit('error', <events.ErrorEvent>{
|
this.emit('error', <events.ErrorEvent>{
|
||||||
message: err.message
|
message: err.message
|
||||||
|
|||||||
@@ -11,12 +11,14 @@ prog.command('dev')
|
|||||||
.describe('Start a development server')
|
.describe('Start a development server')
|
||||||
.option('-p, --port', 'Specify a port')
|
.option('-p, --port', 'Specify a port')
|
||||||
.option('-o, --open', 'Open a browser window')
|
.option('-o, --open', 'Open a browser window')
|
||||||
|
.option('--dev-port', 'Specify a port for development server')
|
||||||
.option('--hot', 'Use hot module replacement (requires webpack)', true)
|
.option('--hot', 'Use hot module replacement (requires webpack)', true)
|
||||||
.option('-l --live', 'Reload on changes if not using --hot', true)
|
.option('--live', 'Reload on changes if not using --hot', true)
|
||||||
.option('--bundler', 'Specify a bundler (rollup or webpack)')
|
.option('--bundler', 'Specify a bundler (rollup or webpack)')
|
||||||
.action(async (opts: {
|
.action(async (opts: {
|
||||||
port: number,
|
port: number,
|
||||||
open: boolean,
|
open: boolean,
|
||||||
|
'dev-port': number,
|
||||||
live: boolean,
|
live: boolean,
|
||||||
hot: boolean,
|
hot: boolean,
|
||||||
bundler?: string
|
bundler?: string
|
||||||
|
|||||||
Reference in New Issue
Block a user