/** * Creates compilation command for provided typescript input. * * @param input * the TypeScript to compile into js. * @return compilation command. */ private String getCompilationCommand(final String input) { return String.format("compilerWrapper.compile(%s, %s)", WroUtil.toJSMultiLineString(input), ecmaScriptVersion); }
/** * Creates compilation command for provided typescript input. * * @param input * the TypeScript to compile into js. * @return compilation command. */ private String getCompilationCommand(final String input) { return String.format("compilerWrapper.compile(%s, %s)", WroUtil.toJSMultiLineString(input), ecmaScriptVersion); }
/** * Validates a js using jsHint and throws {@link LinterException} if the js is invalid. If no exception is thrown, the * js is valid. * * @param data * js content to process. */ public String compile(final String data) { final RhinoScriptBuilder builder = initScriptBuilder(); final String compileScript = String.format("CoffeeScript.compile(%s, %s);", WroUtil.toJSMultiLineString(data), buildOptions()); return (String) builder.evaluate(compileScript, "CoffeeScript.compile"); }
/** * Validates a js using jsHint and throws {@link LinterException} if the js is invalid. If no exception is thrown, the * js is valid. * * @param data * js content to process. */ public String compile(final String data) { final RhinoScriptBuilder builder = initScriptBuilder(); final String compileScript = String.format("CoffeeScript.compile(%s, %s);", WroUtil.toJSMultiLineString(data), buildOptions()); return (String) builder.evaluate(compileScript, "CoffeeScript.compile"); }
/** * Validates a js using jsHint and throws {@link LinterException} if the js is invalid. If no exception is thrown, the * js is valid. * * @param data * js content to process. */ public void validate(final String data) throws LinterException { final StopWatch watch = new StopWatch(); watch.start("init"); final RhinoScriptBuilder builder = initScriptBuilder(); watch.stop(); watch.start("lint"); final String packIt = buildLinterScript(WroUtil.toJSMultiLineString(data), getOptions()); final boolean valid = Boolean.parseBoolean(builder.evaluate(packIt, "check").toString()); if (!valid) { final String json = builder.addJSON().evaluate( String.format("JSON.stringify(JSON.decycle(%s.errors))", getLinterName()), "stringify errors").toString(); LOG.debug("json {}", json); final Type type = new TypeToken<List<LinterError>>() {}.getType(); final List<LinterError> errors = new Gson().fromJson(json, type); LOG.debug("errors {}", errors); throw new LinterException().setErrors(errors); } LOG.debug("result: {}", valid); watch.stop(); LOG.debug(watch.prettyPrint()); }
public String unpack(final String data) { final StopWatch stopWatch = new StopWatch(); stopWatch.start("initContext"); final RhinoScriptBuilder builder = initScriptBuilder(); stopWatch.stop(); stopWatch.start("json.unpack"); try { final String execute = "JSON.stringify(CJSON.parse(" + WroUtil.toJSMultiLineString(data) + "));"; final Object result = builder.evaluate(execute, "unpack"); return String.valueOf(result); } finally { stopWatch.stop(); LOG.debug(stopWatch.prettyPrint()); } } }
public String unpack(final String data) { final StopWatch stopWatch = new StopWatch(); stopWatch.start("initContext"); final RhinoScriptBuilder builder = initScriptBuilder(); stopWatch.stop(); stopWatch.start("json.unpack"); try { final String execute = "JSON.stringify(CJSON.parse(" + WroUtil.toJSMultiLineString(data) + "));"; final Object result = builder.evaluate(execute, "unpack"); return String.valueOf(result); } finally { stopWatch.stop(); LOG.debug(stopWatch.prettyPrint()); } } }
/** * @param data * js content to process. * @return packed js content. */ public String process(final String filename, final String code) throws IOException { final StopWatch watch = new StopWatch(); watch.start("init " + filename); final RhinoScriptBuilder builder = initScriptBuilder(); watch.stop(); final String originalCode = WroUtil.toJSMultiLineString(code); // TODO handle reservedNames final String optionsAsJson = createOptionsAsJson(); Validate.notNull(optionsAsJson); final String scriptAsString = String.format(getInvokeScript(), originalCode, optionsAsJson); watch.start(uglify ? "uglify" : "beautify"); final Object result = builder.evaluate(scriptAsString, "uglifyIt"); watch.stop(); LOG.debug(watch.prettyPrint()); return String.valueOf(result); }
/** * Compiles the javascript template into plain javascript. * * @param content * the template to be compiled. * @param optionalArgument * any additional arguments used by template script. * @return the compiled javascript. */ public String compile(final String content, final String optionalArgument) { final RhinoScriptBuilder builder = initScriptBuilder(); final String argStr = createArgStr(optionalArgument) + createArgStr(getArguments()); final String compileScript = String.format("%s(%s%s);", getCompileCommand(), WroUtil.toJSMultiLineString(content), argStr); return (String) builder.evaluate(compileScript, getCompileCommand()); }
/** * @param data css content to process. * @return processed css content. */ public String pack(final String data) { final StopWatch stopWatch = new StopWatch(); stopWatch.start("initContext"); final RhinoScriptBuilder builder = initScriptBuilder(); stopWatch.stop(); stopWatch.start("cjson.pack"); try { final String execute = "CJSON.stringify(JSON.parse(" + WroUtil.toJSMultiLineString(data) + "));"; final Object result = builder.evaluate(execute, "pack"); return String.valueOf(result); } finally { stopWatch.stop(); LOG.debug(stopWatch.prettyPrint()); } }
/** * @param data css content to process. * @return processed css content. */ public String process(final String data) { final StopWatch stopWatch = new StopWatch(); stopWatch.start("initContext"); final RhinoScriptBuilder builder = initScriptBuilder(); stopWatch.stop(); stopWatch.start("sass rendering"); try { // replace tabs with spaces, since the script doesn't handle well tabs (throws exception). // dataWithoutTabs = data; final String execute = "exports.render(" + WroUtil.toJSMultiLineString(data) + ");"; final Object result = builder.evaluate(execute, "sassRender"); return String.valueOf(result); } finally { stopWatch.stop(); LOG.debug(stopWatch.prettyPrint()); } } }
/** * @param data css content to process. * @return processed css content. */ public String less(final String data) { final StopWatch stopWatch = new StopWatch(); stopWatch.start("initContext"); final RhinoScriptBuilder builder = initScriptBuilder(); stopWatch.stop(); stopWatch.start("lessify"); try { final String execute = "lessIt(" + WroUtil.toJSMultiLineString(data) + ");"; final Object result = builder.evaluate(execute, "lessIt"); return String.valueOf(result); } finally { stopWatch.stop(); LOG.debug(stopWatch.prettyPrint()); } } }
/** * @param data css content to process. * @return processed css content. */ public String less(final String data) { final StopWatch stopWatch = new StopWatch(); stopWatch.start("initContext"); final RhinoScriptBuilder builder = initScriptBuilder(); stopWatch.stop(); stopWatch.start("lessify"); try { final String execute = "lessIt(" + WroUtil.toJSMultiLineString(data) + ");"; final Object result = builder.evaluate(execute, "lessIt"); return String.valueOf(result); } finally { stopWatch.stop(); LOG.debug(stopWatch.prettyPrint()); } } }
/** * @param data css content to process. * @return processed css content. */ public String pack(final String data) { final StopWatch stopWatch = new StopWatch(); stopWatch.start("initContext"); final RhinoScriptBuilder builder = initScriptBuilder(); stopWatch.stop(); stopWatch.start("cjson.pack"); try { final String execute = "CJSON.stringify(JSON.parse(" + WroUtil.toJSMultiLineString(data) + "));"; final Object result = builder.evaluate(execute, "pack"); return String.valueOf(result); } finally { stopWatch.stop(); LOG.debug(stopWatch.prettyPrint()); } }
/** * @param data css content to process. * @return processed css content. */ public String process(final String data) { final StopWatch stopWatch = new StopWatch(); stopWatch.start("initContext"); final RhinoScriptBuilder builder = initScriptBuilder(); stopWatch.stop(); stopWatch.start("sass rendering"); try { // replace tabs with spaces, since the script doesn't handle well tabs (throws exception). // dataWithoutTabs = data; final String execute = "exports.render(" + WroUtil.toJSMultiLineString(data) + ");"; final Object result = builder.evaluate(execute, "sassRender"); return String.valueOf(result); } finally { stopWatch.stop(); LOG.debug(stopWatch.prettyPrint()); } } }
/** * Compiles the javascript template into plain javascript. * * @param content * the template to be compiled. * @param optionalArgument * any additional arguments used by template script. * @return the compiled javascript. */ public String compile(final String content, final String optionalArgument) { final RhinoScriptBuilder builder = initScriptBuilder(); final String argStr = createArgStr(optionalArgument) + createArgStr(getArguments()); final String compileScript = String.format("%s(%s%s);", getCompileCommand(), WroUtil.toJSMultiLineString(content), argStr); return (String) builder.evaluate(compileScript, getCompileCommand()); }
/** * @param data * js content to process. * @return packed js content. */ public String pack(final String data) throws IOException { final StopWatch watch = new StopWatch(); watch.start("init"); final RhinoScriptBuilder builder = initScriptBuilder(); watch.stop(); watch.start("pack"); final String packIt = buildPackScript(WroUtil.toJSMultiLineString(data)); final Object result = builder.evaluate(packIt, "packerIt"); watch.stop(); LOG.debug(watch.prettyPrint()); return String.valueOf(result); }
/** * @param data * js content to process. * @return packed js content. */ public String pack(final String data) throws IOException { final StopWatch watch = new StopWatch(); watch.start("init"); final RhinoScriptBuilder builder = initScriptBuilder(); watch.stop(); watch.start("pack"); final String packIt = buildPackScript(WroUtil.toJSMultiLineString(data)); final Object result = builder.evaluate(packIt, "packerIt"); watch.stop(); LOG.debug(watch.prettyPrint()); return String.valueOf(result); }
public String unpack(final String rawData) { final StopWatch stopWatch = new StopWatch(); stopWatch.start("initContext"); final RhinoScriptBuilder builder = initScriptBuilder(); stopWatch.stop(); stopWatch.start("json.hunpack"); final boolean isEnclosedInDoubleArray = isEnclosedInDoubleArray(rawData); String data = rawData; if (!isEnclosedInDoubleArray) { data = "[" + data + "]"; } try { final String execute = "JSON.stringify(JSON.hunpack(eval(" + WroUtil.toJSMultiLineString(data) + ")));"; final Object result = builder.evaluate(execute, "unpack"); String resultAsString = String.valueOf(result); if (!isEnclosedInDoubleArray) { //remove [] characters in which the json is enclosed resultAsString = removeEnclosedArray(resultAsString); } return resultAsString; } finally { stopWatch.stop(); LOG.debug(stopWatch.prettyPrint()); } }
/** * @param data css content to process. * @return processed css content. */ public String pack(final String rawData) { final StopWatch stopWatch = new StopWatch(); stopWatch.start("initContext"); final RhinoScriptBuilder builder = initScriptBuilder(); stopWatch.stop(); stopWatch.start("json.hpack"); final boolean isEnclosedInArray = isEnclosedInArray(rawData); String data = rawData; if (!isEnclosedInArray) { data = "[" + data + "]"; } try { final String execute = "JSON.stringify(JSON.hpack(eval(" + WroUtil.toJSMultiLineString(data) + "), 4));"; final Object result = builder.evaluate(execute, "pack"); String resultAsString = String.valueOf(result); if (!isEnclosedInArray) { //remove [] characters in which the json is enclosed resultAsString = removeEnclosedArray(resultAsString); } return resultAsString; } finally { stopWatch.stop(); LOG.debug(stopWatch.prettyPrint()); } }