提交 ac836f89 编写于 作者: fxy060608's avatar fxy060608

feat(v3): uni-migration

上级 75dffb51
#!/usr/bin/env node
const path = require('path')
const Program = require('commander')
const migrate = require('../lib')
const pkg = require('../package.json')
Program
.description('uni-app 转换工具')
.usage('[options] [input_dir] [output_dir]')
.option('-v, --version', '版本号')
.option('-p, --platform [platform]', '可选`mp-weixin`,目前仅支持微信小程序向 uni-app 转换')
.parse(process.argv)
if (Program.help === undefined) {
Program.outputHelp()
process.exit(0)
}
if (Program.version === undefined) {
console.log(pkg.version)
process.exit(0)
}
const argsLen = Program.args.length
if (!argsLen) {
Program.outputHelp()
process.exit(0)
}
const options = {
platform: Program.platform || 'mp-weixin'
}
if (argsLen === 1) {
const inputDir = path.resolve(Program.args[0])
migrate(inputDir, inputDir, options)
} else if (argsLen > 1) {
const inputDir = path.resolve(Program.args[0])
const outDir = path.resolve(Program.args[1])
migrate(inputDir, outDir, options)
}
......@@ -15,10 +15,11 @@ module.exports = function migrate(input, out, options = {}) {
if (!migrater) {
return console.error(`错误: 目前支持 Object.keys(migraters).join(',') 转换`)
}
out = out || input
input = path.resolve(input)
out = path.resolve(out || input)
if (!validate(input, out, options)) {
return
}
}
const [files, assets] = migrater.transform(input, out, options)
files.forEach(file => {
options.silent !== true && console.log(`write: ${file.path}`)
......
......@@ -6,7 +6,6 @@ const migraters = {
}
module.exports = function validate(input, out, options) {
input = path.resolve(input)
if (!fs.existsSync(input)) {
return console.error(`错误: '${input}' 不存在`)
}
......
{
"name": "@dcloudio/uni-migration",
"version": "2.0.0-alpha-24420191128002",
"description": "uni-app migration",
"main": "lib/index.js",
"repository": {
"type": "git",
"url": "git+https://github.com/dcloudio/uni-app.git",
"directory": "packages/uni-migration"
},
"files": [
"lib"
],
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "fxy060608",
"license": "Apache-2.0",
"gitHead": "110501ffb0313e417858dec92acf07522d4ded00",
"dependencies": {
"mustache": "^3.1.0",
"stricter-htmlparser2": "^3.9.6"
}
{
"name": "@dcloudio/uni-migration",
"version": "2.0.0-alpha-24420191128005",
"description": "uni-app migration",
"main": "lib/index.js",
"repository": {
"type": "git",
"url": "git+https://github.com/dcloudio/uni-app.git",
"directory": "packages/uni-migration"
},
"files": [
"bin",
"lib"
],
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"bin": {
"uni-migration": "./bin/uni-migration.js"
},
"author": "fxy060608",
"license": "Apache-2.0",
"gitHead": "110501ffb0313e417858dec92acf07522d4ded00",
"dependencies": {
"commander": "^4.0.1",
"fs-extra": "^8.1.0",
"mustache": "^3.1.0",
"stricter-htmlparser2": "^3.9.6"
}
}
......@@ -40,7 +40,8 @@ module.exports = (api, options, rootOptions) => {
'vuex': '^3.0.1'
},
devDependencies: {
'@dcloudio/uni-cli-shared': version,
'@dcloudio/uni-cli-shared': version,
'@dcloudio/uni-migration': version,
'@dcloudio/uni-template-compiler': version,
'@dcloudio/vue-cli-plugin-hbuilderx': version,
'@dcloudio/vue-cli-plugin-uni': version,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册