Mini Shell
var PZ = require('../../promzard').PromZard
var path = require('path')
var input = path.resolve(__dirname, 'init-input.js')
var fs = require('fs')
var package = path.resolve(__dirname, 'package.json')
var pkg
fs.readFile(package, 'utf8', function (er, d) {
if (er) ctx = {}
try { ctx = JSON.parse(d); pkg = JSON.parse(d) }
catch (e) { ctx = {} }
ctx.dirname = path.dirname(package)
ctx.basename = path.basename(ctx.dirname)
if (!ctx.version) ctx.version = undefined
// this should be replaced with the npm conf object
ctx.config = {}
console.error('ctx=', ctx)
var pz = new PZ(input, ctx)
pz.on('data', function (data) {
console.error('pz data', data)
if (!pkg) pkg = {}
Object.keys(data).forEach(function (k) {
if (data[k] !== undefined && data[k] !== null) pkg[k] = data[k]
})
console.error('package data %s', JSON.stringify(data, null, 2))
fs.writeFile(package, JSON.stringify(pkg, null, 2), function (er) {
if (er) throw er
console.log('ok')
})
})
})
Zerion Mini Shell 1.0