protected override void When() { var assetLoader = new AssetLoader(new TestFileSystem(AppDomain.CurrentDomain.BaseDirectory)); var assetContents = assetLoader.GetAssets("~/Babel/scripts", new Regex(".js$")); var babelJavascriptPreprocessor = new BabelJavascriptPreprocessor(true); var process = babelJavascriptPreprocessor.Process(assetContents); }
static string ProcessJs(string options, IAssetLoader assetLoader, string path) { var opts = options.Split(':'); var assets = assetLoader.GetAssets(path, AreaJavascriptHandler.FileMatch); if (!assets.Any()) { return(null); } string result; IJavascriptPreprocessor javascriptPreprocessor; if (opts[0] == "babel") { javascriptPreprocessor = new BabelJavascriptPreprocessor(opts.Contains("sourcemaps")); result = javascriptPreprocessor.Process(assets); if (opts.Contains("minify")) { javascriptPreprocessor = new YuiJavascriptPreprocessor(); result = javascriptPreprocessor.Process(new [] { new AssetContent("<babel-output>", result) }); } } else { javascriptPreprocessor = new YuiJavascriptPreprocessor(); result = javascriptPreprocessor.Process(assets); } return(result); }
public static void Main(string[] args) { if (args.Length < 3) { Console.WriteLine($"Usage: {AppDomain.CurrentDomain.FriendlyName} INPUT_PATH OUTPUT_PATH ASSEMBLY_NAME"); Environment.Exit(-1); } var inPath = Path.GetFullPath(args[0]); var outPath = Path.GetFullPath(args[1]); var jsPreprocessor = args[3]; var assemblyName = args[2]; var jsOpts = jsPreprocessor.Split(':'); IJavascriptPreprocessor javascriptPreprocessor; if (jsOpts[0] == "babel") { javascriptPreprocessor = new BabelJavascriptPreprocessor(jsOpts.Contains("sourcemaps")); } else { javascriptPreprocessor = new YuiJavascriptPreprocessor(); } try { Compiler.Compile(inPath, outPath, assemblyName, javascriptPreprocessor); } catch (Exception e) { while (e != null) { Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); Console.WriteLine(); e = e.InnerException; } Environment.Exit(-1); } }