@develephant/corona-html5-node-kit
Version:
Build Corona HTML5 plugins using NodeJS, NPM, and modern JavaScript.
53 lines (40 loc) • 1.48 kB
JavaScript
//-----------------------------------------------------------------------------
// Corona HTML5 Node Kit - Plugin Builder
// (c)2018 C. Byerley (develephant)
//-----------------------------------------------------------------------------
const os = require('os')
const path = require('path')
const shell = require('shelljs')
const { pp } = require('./clr')
const paths = require('./paths')
const scaffold = require('./scaffold')
function create_package_lua(app_name, plugin) {
let package_lua = path.join(paths.base, 'package.lua')
if (shell.test('-f', package_lua)) {
pp.warn("package.lua already exists. Exiting.")
pp.dashes()
return 1
} else {
pp.info("Creating package.lua...")
}
shell.cp(path.join(paths.cli.tpl, 'package_tpl.lua'), package_lua)
let output_html5_path = paths.output_html5
let project_path = path.join(paths.project, app_name)
if (os.platform == 'win32') {
output_html5_path = output_html5_path.replace(/\\/g, "\\\\")
project_path = project_path.replace(/\\/g, "\\\\")
}
shell.sed('-i', 'PLUGIN', plugin, package_lua)
shell.sed('-i', 'APPNAME', app_name, package_lua)
shell.sed('-i', 'DESTDIR', output_html5_path, package_lua)
shell.sed('-i', 'PROJECTPATH', project_path, package_lua)
pp.log("Done")
return 0
}
function run(app_name, plugin, publisher) {
let code = create_package_lua(app_name, plugin)
if (code === 0) {
scaffold(app_name, plugin, publisher)
}
}
module.exports = run