forked from Hanks10100/weex-pack
-
Notifications
You must be signed in to change notification settings - Fork 77
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bugfix & Added babel compilation and eslint check tool to ensure code…
… quality
- Loading branch information
Showing
53 changed files
with
14,309 additions
and
2,079 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
{ | ||
"presets": [ | ||
"es2015" | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -27,4 +27,4 @@ weexapp/ | |
weexpackdemo/ | ||
weex-plugin/ | ||
|
||
|
||
build/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
#!/usr/bin/env node | ||
'use strict'; | ||
|
||
var program = require('commander'); | ||
var chalk = require('chalk'); | ||
var buildAndroid = require('../build/build/Android'); | ||
var buildIOS = require('../build/build/iOS'); | ||
var buildWeb = require('../build/build/Web'); | ||
|
||
program.usage('<platform> [options]').parse(process.argv); | ||
|
||
function printExample() { | ||
console.log(' Examples:'); | ||
console.log(); | ||
console.log(chalk.grey(' # build weex Android project')); | ||
console.log(' $ ' + chalk.blue('weexpack build android')); | ||
console.log(); | ||
console.log(chalk.grey(' # build weex iOS project')); | ||
console.log(' $ ' + chalk.blue('weexpack build ios')); | ||
console.log(); | ||
console.log(chalk.grey(' # build weex web project')); | ||
console.log(' $ ' + chalk.blue('weexpack build web')); | ||
console.log(); | ||
} | ||
|
||
program.on('--help', printExample); | ||
|
||
function isValidPlatform(args) { | ||
if (args && args.length) { | ||
return args[0] === 'android' || args[0] === 'ios' || args[0] === 'web'; | ||
} | ||
return false; | ||
} | ||
|
||
/** | ||
* Run weex app on the specific platform | ||
* @param {String} platform | ||
*/ | ||
function build(platform, options) { | ||
switch (platform) { | ||
case 'android': | ||
buildAndroid(options);break; | ||
case 'ios': | ||
buildIOS(options);break; | ||
case 'web': | ||
buildWeb(options);break; | ||
} | ||
} | ||
|
||
// check if platform exist | ||
if (program.args.length < 1) { | ||
program.help(); | ||
process.exit(); | ||
} | ||
|
||
if (isValidPlatform(program.args)) { | ||
// TODO: parse config file | ||
build(program.args[0], program.config); | ||
} else { | ||
console.log(); | ||
console.log(' ' + chalk.red('Unknown platform:') + ' ' + chalk.yellow(program.args[0])); | ||
console.log(); | ||
printExample(); | ||
process.exit(); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
#!/usr/bin/env node | ||
'use strict'; | ||
|
||
var program = require('commander'); | ||
var chalk = require('chalk'); | ||
var create = require('../build/create/create'); | ||
var cli = require('../build/cli'); | ||
var publish = require('../build/publish/publish'); | ||
|
||
program.usage('[project-name] [options]').on('--help', function () { | ||
console.log(' Examples:\n'); | ||
console.log(chalk.grey(' # create a standard weex project')); | ||
console.log(' $ ' + chalk.blue('weex create myProject')); | ||
console.log(); | ||
}).parse(process.argv); | ||
|
||
var args = []; | ||
process.argv.forEach(function (arg, i) { | ||
if (arg != '[object Object]') { | ||
//fix commander’s bug | ||
args.push(arg); | ||
if (i == 1) { | ||
args.push('create'); | ||
} | ||
} | ||
}); | ||
|
||
var projectName = args[3]; | ||
|
||
if (!projectName || !projectName.match(/^[$A-Z_][0-9A-Z_-]*$/i)) { | ||
var msg = chalk.red('Invalid project name: ') + chalk.yellow(projectName); | ||
console.log(msg); | ||
process.exit(); | ||
} | ||
|
||
cli(args); | ||
|
||
if (program.args.length < 1) { | ||
program.help(); | ||
process.exit(); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
#!/usr/bin/env node | ||
'use strict'; | ||
|
||
var program = require('commander'); | ||
var chalk = require('chalk'); | ||
var init = require('../build/init/init'); | ||
var _prompt = require('prompt'); | ||
var fs = require('fs'); | ||
var path = require('path'); | ||
|
||
program.usage('[options] [project-name]').option('-c, --config [path]', 'specify the configuration file').on('--help', function () { | ||
console.log(' Examples:\n'); | ||
console.log(chalk.grey(' # create a standard weex project')); | ||
console.log(' $ ' + chalk.blue('weex init myProject')); | ||
console.log(); | ||
}).parse(process.argv); | ||
// check if project name exist | ||
|
||
if (program.args.length < 1) { | ||
program.help(); | ||
process.exit(); | ||
} | ||
var projectName = program.args[0]; | ||
if (!projectName.match(/^[$A-Z_][0-9A-Z_-]*$/i)) { | ||
var msg = chalk.red('Invalid project name:') + chalk.yellow(projectName); | ||
console.log(msg); | ||
process.exit(); | ||
} | ||
if (fs.existsSync(path.join(process.cwd(), projectName))) { | ||
_prompt.start(); | ||
_prompt.message = ''; | ||
_prompt.delimiter = ''; | ||
_prompt.colors = false; | ||
_prompt.get({ | ||
properties: { | ||
confirm: { | ||
pattern: /^(yes|no|y|n)$/gi, | ||
description: chalk.grey('Directory ' + chalk.white(program.args[0]) + ' already exists. go on?'), | ||
message: 'yes/no', | ||
required: true, | ||
default: 'no' | ||
} | ||
} | ||
}, function (err, result) { | ||
var c = result.confirm.toLowerCase(); | ||
if (c == 'y' || c == 'yes') { | ||
init(projectName, program.config); | ||
return; | ||
} | ||
console.log('Cancel Project initialization'); | ||
process.exit(); | ||
}); | ||
} else { | ||
// initialization new project | ||
init(projectName, program.config); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
#!/usr/bin/env node | ||
'use strict'; | ||
|
||
var program = require('commander'); | ||
var chalk = require('chalk'); | ||
var create = require('../build/create/create'); | ||
var cli = require('../build/cli'); | ||
var publish = require('../build/publish/publish'); | ||
program.command('add [platform-name]').option('-d, --d', 'debug').option('-a, --ali', 'add ios platform only used in alibaba group').description('add a new platform project').action(function (pluginName, options) { | ||
|
||
var args = []; | ||
process.argv.forEach(function (arg, i) { | ||
if (arg != '[object Object]') { | ||
//fix commander’s bug | ||
args.push(arg); | ||
if (i == 1) { | ||
args.push('platform'); | ||
} | ||
} | ||
}); | ||
cli(args); | ||
}); | ||
|
||
program.command('remove [platform-name]').description('remove a platform project').option('-d, --d', 'debug').action(function (pluginName) { | ||
var args = []; | ||
process.argv.forEach(function (arg, i) { | ||
if (arg != '[object Object]') { | ||
//fix commander’s bug | ||
args.push(arg); | ||
if (i == 1) { | ||
args.push('platform'); | ||
} | ||
} | ||
}); | ||
cli(args); | ||
}); | ||
|
||
program.command('list [options]').description('all installed platform project').action(function (pluginName) { | ||
var args = []; | ||
process.argv.forEach(function (arg, i) { | ||
if (arg != '[object Object]') { | ||
//fix commander’s bug | ||
args.push(arg); | ||
if (i == 1) { | ||
args.push('platform'); | ||
} | ||
} | ||
}); | ||
cli(args); | ||
}); | ||
|
||
program.parse(process.argv); |
Oops, something went wrong.