X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=src%2FPalete%2FPalete.vala;h=d82e8b1fe3fb20d6cde6153f23d542e435c0afb4;hb=e8963dbac540c13be86e781c8c1c3a44d012b493;hp=5dddc910d88214629b96bedbaafaeee68dc83a9d;hpb=c16cf3e03c7f6949df5e4a839f190f6788181e46;p=app.Builder.js diff --git a/src/Palete/Palete.vala b/src/Palete/Palete.vala index 5dddc910d..d82e8b1fe 100644 --- a/src/Palete/Palete.vala +++ b/src/Palete/Palete.vala @@ -375,7 +375,7 @@ namespace Palete if (file.language != "js") { return ret; } - if (ptype != "listener" && property[0] == '|') { + if (ptype != "listener" && property.length > 0 && property[0] == '|') { return ret; } @@ -387,6 +387,9 @@ namespace Palete testcode, out errmsg); if (line < 0) { + if (ptype == "file") { + return this.validateJavascriptCompression(code); + } print("no errors\n"); return ret; } @@ -395,6 +398,29 @@ namespace Palete return ret; } + + public Gee.HashMap validateJavascriptCompression(string code) + { + // this uses the roojspacker code to try and compress the code. + // it should highlight errors before we actually push live the code. + + var p = new JSDOC.Packer(); + p.keepWhite = false; + p.skipScope = false; + p.dumpTokens = false; + p.cleanup = false; + try { + p.packFile(code, "ANONFILE",""); + } catch (Exception e) { + + } + + var ret = new Gee.HashMap(); + return ret; + + } + + public abstract void fillPack(JsRender.Node node,JsRender.Node parent); public abstract void load();