qcobjects-cli
Version:
qcobjects cli command line tool
66 lines (56 loc) • 1.79 kB
JavaScript
const path = require("path");
const absolutePath = path.resolve( __dirname, "./" );
const http2 = require("http2");
const fs = require("fs");
const mime = require("mime");
Import("org.quickcorp.qcobjects.main.file");
Package("org.quickcorp.cli.templates.app.spa_local",[
Class("AppTemplate",{
name:"app/index.html",
template:"",
templateURI:"spa-local.html",
body:"",
compileAndSave:false,
save:function (){
var appTemplateInstance = this;
fs.mkdir("app/",()=>{
fs.writeFile(appTemplateInstance.name, appTemplateInstance.body, err => {
if (err) {
return console.error(`Autsch! Failed to store template: ${err.message}.`);
}
logger.info("Saved template!");
});
});
},
done:function (){
var appTemplateInstance = this;
const source = appTemplateInstance.template;
(New(Component, {
name: "static_source",
template: source,
cached:false,
tplsource: "inline",
data: {
title: "QCObjects"
},
done ({request, component}) {
appTemplateInstance.body = component.parsedAssignmentText;
return Promise.resolve({request, component});
}
}));
if (appTemplateInstance.compileAndSave){
appTemplateInstance.save();
}
},
_new_:function (){
var appTemplateInstance = this;
const absolutePath = path.resolve( __dirname, "./" );
fs.readFile(absolutePath+"/"+appTemplateInstance.templateURI, function(err, data) {
appTemplateInstance.template = data.toString();
appTemplateInstance.done.call(appTemplateInstance);
});
logger.info("App Template Manager Initialized");
}
})
]);
;