Skip to content

Commit eb07685

Browse files
committed
fix: proper minimum node version warning
1 parent 7d0586f commit eb07685

File tree

3 files changed

+22
-14
lines changed

3 files changed

+22
-14
lines changed

bin/vuepress.js

+6-14
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,15 @@ const requiredVersion = require('../package.json').engines.node
66

77
if (!semver.satisfies(process.version, requiredVersion)) {
88
console.log(chalk.red(
9-
`You are using Node ${process.version}, but VuePress ` +
10-
`requires Node ${requiredVersion}.\nPlease upgrade your Node version.`
9+
`\n[vuepress] minimum Node version not met:` +
10+
`\nYou are using Node ${process.version}, but VuePress ` +
11+
`requires Node ${requiredVersion}.\nPlease upgrade your Node version.\n`
1112
))
1213
process.exit(1)
1314
}
1415

1516
const path = require('path')
16-
const { dev, build } = require('../lib')
17+
const { dev, build, eject } = require('../lib')
1718

1819
const program = require('commander')
1920

@@ -41,17 +42,8 @@ program
4142
program
4243
.command('eject [targetDir]')
4344
.description('copy the default theme into .vuepress/theme for customization.')
44-
.action(async (dir = '.') => {
45-
const fs = require('fs-extra')
46-
const source = path.resolve(__dirname, '../lib/default-theme')
47-
const target = path.resolve(dir, '.vuepress/theme')
48-
await fs.copy(source, target)
49-
// remove the import to default theme override
50-
const styleConfig = path.resolve(target, 'styles/config.styl')
51-
const content = await fs.readFile(styleConfig, 'utf-8')
52-
const transformed = content.split('\n').slice(0, -2).join('\n')
53-
await fs.writeFile(styleConfig, transformed)
54-
console.log(`Copied default theme into ${chalk.cyan(target)}.`)
45+
.action((dir = '.') => {
46+
wrapCommand(eject)(path.resolve(dir))
5547
})
5648

5749
// output help information on unknown commands

lib/eject.js

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
const fs = require('fs-extra')
2+
const path = require('path')
3+
const chalk = require('chalk')
4+
5+
module.exports = async (dir) => {
6+
const source = path.resolve(__dirname, 'default-theme')
7+
const target = path.resolve(dir, '.vuepress/theme')
8+
await fs.copy(source, target)
9+
// remove the import to default theme override
10+
const styleConfig = path.resolve(target, 'styles/config.styl')
11+
const content = await fs.readFile(styleConfig, 'utf-8')
12+
const transformed = content.split('\n').slice(0, -2).join('\n')
13+
await fs.writeFile(styleConfig, transformed)
14+
console.log(`Copied default theme into ${chalk.cyan(target)}.`)
15+
}

lib/index.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
exports.dev = require('./dev')
22
exports.build = require('./build')
3+
exports.eject = require('./eject')
34
Object.assign(exports, require('./util'))

0 commit comments

Comments
 (0)