Skip to content
This repository was archived by the owner on Jan 11, 2023. It is now read-only.

Commit 45d216c

Browse files
authored
Merge pull request #396 from sveltejs/gh-381
implement --dev-port flag
2 parents ee95240 + 3d69d48 commit 45d216c

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

src/api/dev.ts

+10-5
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ class Watcher extends EventEmitter {
2929
}
3030
port: number;
3131
closed: boolean;
32+
33+
dev_port: number;
3234
live: boolean;
3335
hot: boolean;
3436

@@ -50,6 +52,7 @@ class Watcher extends EventEmitter {
5052
app = locations.app(),
5153
dest = locations.dest(),
5254
routes = locations.routes(),
55+
'dev-port': dev_port,
5356
live,
5457
hot,
5558
bundler,
@@ -60,6 +63,7 @@ class Watcher extends EventEmitter {
6063
app: string,
6164
dest: string,
6265
routes: string,
66+
'dev-port': number,
6367
live: boolean,
6468
hot: boolean,
6569
bundler?: string,
@@ -74,6 +78,7 @@ class Watcher extends EventEmitter {
7478
this.port = port;
7579
this.closed = false;
7680

81+
this.dev_port = dev_port;
7782
this.live = live;
7883
this.hot = hot;
7984

@@ -120,19 +125,19 @@ class Watcher extends EventEmitter {
120125
mkdirp.sync(`${dest}/client`);
121126
if (this.bundler === 'rollup') copy_shimport(dest);
122127

123-
const dev_port = await ports.find(10000);
128+
if (!this.dev_port) this.dev_port = await ports.find(10000);
124129

125130
try {
126131
const routes = create_routes();
127-
create_main_manifests({ bundler: this.bundler, routes, dev_port });
132+
create_main_manifests({ bundler: this.bundler, routes, dev_port: this.dev_port });
128133
} catch (err) {
129134
this.emit('fatal', <events.FatalEvent>{
130135
message: err.message
131136
});
132137
return;
133138
}
134139

135-
this.dev_server = new DevServer(dev_port);
140+
this.dev_server = new DevServer(this.dev_port);
136141

137142
this.filewatchers.push(
138143
watch_dir(
@@ -145,11 +150,11 @@ class Watcher extends EventEmitter {
145150
},
146151
() => {
147152
const routes = create_routes();
148-
create_main_manifests({ bundler: this.bundler, routes, dev_port });
153+
create_main_manifests({ bundler: this.bundler, routes, dev_port: this.dev_port });
149154

150155
try {
151156
const routes = create_routes();
152-
create_main_manifests({ bundler: this.bundler, routes, dev_port });
157+
create_main_manifests({ bundler: this.bundler, routes, dev_port: this.dev_port });
153158
} catch (err) {
154159
this.emit('error', <events.ErrorEvent>{
155160
message: err.message

src/cli.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,14 @@ prog.command('dev')
1111
.describe('Start a development server')
1212
.option('-p, --port', 'Specify a port')
1313
.option('-o, --open', 'Open a browser window')
14+
.option('--dev-port', 'Specify a port for development server')
1415
.option('--hot', 'Use hot module replacement (requires webpack)', true)
15-
.option('-l --live', 'Reload on changes if not using --hot', true)
16+
.option('--live', 'Reload on changes if not using --hot', true)
1617
.option('--bundler', 'Specify a bundler (rollup or webpack)')
1718
.action(async (opts: {
1819
port: number,
1920
open: boolean,
21+
'dev-port': number,
2022
live: boolean,
2123
hot: boolean,
2224
bundler?: string

0 commit comments

Comments
 (0)