1 | const execa = require('execa')
|
2 | const { clearConsole } = require('./util/clearConsole')
|
3 | const shouldBackend = require('./util/shouldBackend')
|
4 | const loadUserOptions = require('./loadUserOptions')
|
5 | const { error, stopSpinner, log } = require('@vue/cli-shared-utils')
|
6 |
|
7 | async function serve (options = {}, context = process.cwd()) {
|
8 | console.log(options)
|
9 | await clearConsole(true)
|
10 |
|
11 | const userOptions = await loadUserOptions(context)
|
12 |
|
13 | const isShouldBackend = await shouldBackend(userOptions.type)
|
14 |
|
15 | const frontendPath = isShouldBackend ? `${context}/frontend` : context
|
16 |
|
17 | console.log(`vue-cli-service serve ${options.hot ? '--hot' : ''}`)
|
18 | console.log(frontendPath)
|
19 |
|
20 | log()
|
21 | execa('npm run serve ', { cwd: frontendPath })
|
22 | }
|
23 |
|
24 | module.exports = (...args) => {
|
25 | return serve(...args).catch(err => {
|
26 | stopSpinner(false)
|
27 | error(err)
|
28 | if (!process.env.CONTROLLA_CLI_TEST) {
|
29 | process.exit(1)
|
30 | }
|
31 | })
|
32 | }
|