Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
            }
        }