Skip to content
This repository was archived by the owner on Sep 12, 2019. It is now read-only.

Commit f777441

Browse files
committed
Clean up detectors
1 parent 4416a12 commit f777441

File tree

6 files changed

+25
-59
lines changed

6 files changed

+25
-59
lines changed

src/detectors/cra.js

Lines changed: 14 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,39 +5,27 @@ module.exports = function() {
55
return false
66
}
77

8-
const package = JSON.parse(readFileSync('package.json', { encoding: 'utf8' }))
9-
if (!(package.dependencies && package.dependencies['react-scripts'])) {
8+
const packageSettings = JSON.parse(readFileSync('package.json', { encoding: 'utf8' }))
9+
const { dependencies, scripts } = packageSettings
10+
if (!(dependencies && dependencies['react-scripts'])) {
1011
return false
1112
}
1213

13-
const settings = {
14+
const npmCommand = scripts && ((scripts.start && 'start') || (scripts.serve && 'serve') || (scripts.run && 'run'))
15+
16+
if (!npmCommand) {
17+
console.error("Couldn't determine the script to run. Use the -c flag.")
18+
process.exit(1)
19+
}
20+
21+
const yarnExists = existsSync('yarn.lock')
22+
return {
23+
cmd: yarnExists ? 'yarn' : 'npm',
1424
port: 8888,
1525
proxyPort: 3000,
1626
env: { ...process.env, BROWSER: 'none', PORT: 3000 },
17-
args: [],
27+
args: yarnExists || npmCommand != 'start' ? ['run', npmCommand] : [npmCommand],
1828
urlRegexp: new RegExp(`(http://)([^:]+:)${3000}(/)?`, 'g'),
1929
dist: 'dist'
2030
}
21-
22-
if (package) {
23-
if (existsSync('yarn.lock')) {
24-
settings.cmd = 'yarn'
25-
} else {
26-
settings.cmd = 'npm'
27-
settings.args.push('run')
28-
}
29-
30-
if (package.scripts.start) {
31-
settings.args.push('start')
32-
} else if (package.scripts.serve) {
33-
settings.args.push('serve')
34-
} else if (package.scripts.run) {
35-
settings.args.push('run')
36-
} else {
37-
console.error("Couldn't determine the script to run. Use the -c flag.")
38-
process.exit(1)
39-
}
40-
41-
return settings
42-
}
4331
}

src/detectors/eleventy.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ module.exports = function() {
55
return false
66
}
77

8-
const settings = {
8+
return {
99
port: 8888,
1010
proxyPort: 8080,
1111
env: { ...process.env },
@@ -14,6 +14,4 @@ module.exports = function() {
1414
urlRegexp: new RegExp(`(http://)([^:]+:)${8080}(/)?`, 'g'),
1515
dist: '_site'
1616
}
17-
18-
return settings
1917
}

src/detectors/gatsby.js

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,14 @@ module.exports = function() {
55
return false
66
}
77

8-
const settings = {
8+
const yarnExists = existsSync('yarn.lock')
9+
return {
10+
cmd: yarnExists ? 'yarn' : 'npm',
911
port: 8888,
1012
proxyPort: 8000,
1113
env: { ...process.env },
12-
args: [],
14+
args: yarnExists ? ['run', 'dev'] : ['dev'],
1315
urlRegexp: new RegExp(`(http://)([^:]+:)${8000}(/)?`, 'g'),
1416
dist: 'public'
1517
}
16-
17-
if (existsSync('yarn.lock')) {
18-
settings.cmd = 'yarn'
19-
} else {
20-
settings.cmd = 'npm'
21-
settings.args.push('run')
22-
}
23-
settings.args.push('dev')
24-
25-
return settings
2618
}

src/detectors/hugo.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ module.exports = function() {
55
return false
66
}
77

8-
const settings = {
8+
return {
99
port: 8888,
1010
proxyPort: 1313,
1111
env: { ...process.env },
@@ -14,6 +14,4 @@ module.exports = function() {
1414
urlRegexp: new RegExp(`(http://)([^:]+:)${1313}(/)?`, 'g'),
1515
dist: 'public'
1616
}
17-
18-
return settings
1917
}

src/detectors/jekyll.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ module.exports = function() {
55
return false
66
}
77

8-
const settings = {
8+
return {
99
port: 8888,
1010
proxyPort: 4000,
1111
env: { ...process.env },
@@ -14,6 +14,4 @@ module.exports = function() {
1414
urlRegexp: new RegExp(`(http://)([^:]+:)${4000}(/)?`, 'g'),
1515
dist: '_site'
1616
}
17-
18-
return settings
1917
}

src/detectors/react-static.js

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,14 @@ module.exports = function() {
55
return false
66
}
77

8-
const settings = {
8+
const yarnExists = existsSync('yarn.lock')
9+
return {
10+
cmd: yarnExists ? 'yarn' : 'npm',
911
port: 8888,
1012
proxyPort: 3000,
1113
env: { ...process.env },
12-
args: [],
14+
args: yarnExists ? ['run', 'start'] : ['start'],
1315
urlRegexp: new RegExp(`(http://)([^:]+:)${3000}(/)?`, 'g'),
1416
dist: 'dist'
1517
}
16-
17-
if (existsSync('yarn.lock')) {
18-
settings.cmd = 'yarn'
19-
} else {
20-
settings.cmd = 'npm'
21-
settings.args.push('run')
22-
}
23-
settings.args.push('start')
24-
25-
return settings
2618
}

0 commit comments

Comments
 (0)