private ITaskRunnerNode LoadHierarchy(string configPath) { string configFileName = Path.GetFileName(configPath); string cwd = Path.GetDirectoryName(configPath); Telemetry.TrackEvent(configFileName.ToLowerInvariant()); ITaskRunnerNode root = new TaskRunnerNode("WebPack"); const string DEVELOPMENT_TASK_NAME = "Development"; const string PRODUCTION_TASK_NAME = "Production"; // Run TaskRunnerNode build = new TaskRunnerNode("Run", false); TaskRunnerNode buildDev = CreateTask(cwd, $"{build.Name} - {DEVELOPMENT_TASK_NAME}", "Runs 'webpack -d'", "/c SET NODE_ENV=development&& webpack -d --color"); build.Children.Add(buildDev); TaskRunnerNode buildProd = CreateTask(cwd, $"{build.Name} - {PRODUCTION_TASK_NAME}", "Runs 'webpack -p'", "/c SET NODE_ENV=production&& webpack -p --color"); build.Children.Add(buildProd); root.Children.Add(build); // Profile TaskRunnerNode profile = new TaskRunnerNode("Profile", false); TaskRunnerNode profileDev = CreateTask(cwd, $"{profile.Name} - {DEVELOPMENT_TASK_NAME}", "Runs 'webpack -d --profile'", "/c SET NODE_ENV=development&& webpack -d --profile --json > stats.json && echo \x1B[32mThe analyse tool JSON file can be found at ./stats.json. Upload the file at http://webpack.github.io/analyse/."); profile.Children.Add(profileDev); TaskRunnerNode profileProd = CreateTask(cwd, $"{profile.Name} - {PRODUCTION_TASK_NAME}", "Runs 'webpack -p --profile'", "/c SET NODE_ENV=production&& webpack -p --profile --json > stats.json && echo \x1B[32mThe analyse tool JSON file can be found at ./stats.json. Upload the file at http://webpack.github.io/analyse/."); profile.Children.Add(profileProd); root.Children.Add(profile); // Start TaskRunnerNode start = new TaskRunnerNode("Serve", false); TaskRunnerNode startDev = CreateTask(cwd, "Hot", "Runs 'webpack-dev-server --hot'", "/c SET NODE_ENV=development&& webpack-dev-server --hot --color"); start.Children.Add(startDev); TaskRunnerNode startProd = CreateTask(cwd, "Cold", "Runs 'webpack-dev-server'", "/c SET NODE_ENV=development&& webpack-dev-server --color"); start.Children.Add(startProd); root.Children.Add(start); // Watch TaskRunnerNode watch = new TaskRunnerNode("Watch", false); TaskRunnerNode watchDev = CreateTask(cwd, $"{watch.Name} - {DEVELOPMENT_TASK_NAME}", "Runs 'webpack -d --watch'", "/c SET NODE_ENV=development&& webpack -d --watch --color"); watch.Children.Add(watchDev); TaskRunnerNode watchProd = CreateTask(cwd, $"{watch.Name} - {PRODUCTION_TASK_NAME}", "Runs 'webpack -p --watch'", "/c SET NODE_ENV=production&& webpack -p --watch --color"); watch.Children.Add(watchProd); root.Children.Add(watch); return(root); }
public bool SaveBindings(string configPath, string bindingsXml) { Telemetry.TrackEvent("Updated bindings"); return(TaskRunnerFileBindingsHelper.SaveBindings(configPath, bindingsXml)); }