/// <summary> /// Constructs a instance of Closure Remote JS-minifier /// </summary> /// <param name="virtualFileSystemWrapper">Virtual file system wrapper</param> /// <param name="closureConfig">Configuration settings of Closure Minifier</param> public ClosureRemoteJsMinifier(IVirtualFileSystemWrapper virtualFileSystemWrapper, ClosureSettings closureConfig) : base(virtualFileSystemWrapper, closureConfig) { RemoteJsMinifierSettings remoteJsMinifierConfig = closureConfig.Js.Remote; MapCommonSettings(this, remoteJsMinifierConfig); ClosureCompilerServiceApiUrl = remoteJsMinifierConfig.ClosureCompilerServiceApiUrl; ExcludeDefaultExterns = remoteJsMinifierConfig.ExcludeDefaultExterns; Language = remoteJsMinifierConfig.Language; }
/// <summary> /// Constructs a instance of Closure Local JS minifier /// </summary> /// <param name="virtualFileSystemWrapper">Virtual file system wrapper</param> /// <param name="closureConfig">Configuration settings of Closure Minifier</param> /// <param name="tempFilesDirectoryPath">Absolute path to directory that contains temporary files</param> public ClosureLocalJsMinifier(IVirtualFileSystemWrapper virtualFileSystemWrapper, ClosureSettings closureConfig, string tempFilesDirectoryPath) : base(virtualFileSystemWrapper, closureConfig) { _tempFilesDirectoryPath = tempFilesDirectoryPath; LocalJsMinifierSettings localJsMinifierConfig = closureConfig.Js.Local; MapCommonSettings(this, localJsMinifierConfig); AcceptConstKeyword = localJsMinifierConfig.AcceptConstKeyword; AllowEs6Output = localJsMinifierConfig.AllowEs6Output; AngularPass = localJsMinifierConfig.AngularPass; ClosureCompilerApplicationPath = localJsMinifierConfig.ClosureCompilerApplicationPath; DefinitionList = localJsMinifierConfig.DefinitionList; ErrorList = localJsMinifierConfig.ErrorList; ExportLocalPropertyDefinitions = localJsMinifierConfig.ExportLocalPropertyDefinitions; ExtraAnnotationNameList = localJsMinifierConfig.ExtraAnnotationNameList; GenerateExports = localJsMinifierConfig.GenerateExports; JavaVirtualMachinePath = localJsMinifierConfig.JavaVirtualMachinePath; LanguageInput = localJsMinifierConfig.LanguageInput; LanguageOutput = localJsMinifierConfig.LanguageOutput; ProcessClosurePrimitives = localJsMinifierConfig.ProcessClosurePrimitives; ProcessJqueryPrimitives = localJsMinifierConfig.ProcessJqueryPrimitives; SingleQuotes = localJsMinifierConfig.SingleQuotes; ThirdParty = localJsMinifierConfig.ThirdParty; TranspileOnly = localJsMinifierConfig.TranspileOnly; TurnOffWarningClassList = localJsMinifierConfig.TurnOffWarningClassList; UseOnlyCustomExterns = localJsMinifierConfig.UseOnlyCustomExterns; WarningList = localJsMinifierConfig.WarningList; string javaVirtualMachinePath = JavaVirtualMachinePath; if (string.IsNullOrWhiteSpace(javaVirtualMachinePath)) { throw new EmptyValueException(Strings.Minifiers_JavaVirtualMachinePathNotSpecified); } if (!File.Exists(javaVirtualMachinePath)) { throw new FileNotFoundException( string.Format(Strings.Minifiers_JavaVirtualMachineNotFound, javaVirtualMachinePath)); } string closureCompilerApplicationPath = ClosureCompilerApplicationPath; if (string.IsNullOrWhiteSpace(closureCompilerApplicationPath)) { throw new EmptyValueException(Strings.Minifiers_ClosureCompilerApplicationPathNotSpecified); } if (!File.Exists(closureCompilerApplicationPath)) { throw new FileNotFoundException( string.Format(Strings.Minifiers_ClosureCompilerApplicationNotFound, closureCompilerApplicationPath)); } }
/// <summary> /// Constructs a instance of Closure Remote JS minifier /// </summary> /// <param name="virtualFileSystemWrapper">Virtual file system wrapper</param> /// <param name="closureConfig">Configuration settings of Closure Minifier</param> public ClosureRemoteJsMinifier(IVirtualFileSystemWrapper virtualFileSystemWrapper, ClosureSettings closureConfig) : base(virtualFileSystemWrapper, closureConfig) { RemoteJsMinifierSettings remoteJsMinifierConfig = closureConfig.Js.Remote; MapCommonSettings(this, remoteJsMinifierConfig); ClosureCompilerServiceApiUrl = remoteJsMinifierConfig.ClosureCompilerServiceApiUrl; ExcludeDefaultExterns = remoteJsMinifierConfig.ExcludeDefaultExterns; Language = remoteJsMinifierConfig.Language; }
/// <summary> /// Constructs a instance of Closure JS minifier /// </summary> /// <param name="virtualFileSystemWrapper">Virtual file system wrapper</param> /// <param name="closureConfig">Configuration settings of Closure Minifier</param> protected ClosureJsMinifierBase(IVirtualFileSystemWrapper virtualFileSystemWrapper, ClosureSettings closureConfig) { _virtualFileSystemWrapper = virtualFileSystemWrapper; CommonExternsFilePaths = closureConfig.Js.CommonExternsFiles .Cast <CommonJsExternsFileRegistration>() .Select(f => f.ExternsFilePath) .ToList() ; ExternsFileMappings = closureConfig.Js.ExternMappings .Cast <JsExternsFileMappingRegistration>() .Select(m => new JsExternsFileMapping(m.ScriptFilePath, Utils.ConvertToStringCollection(m.ExternsFilePaths, ',', trimItemValues: true, removeEmptyItems: true).ToList() ) ) .ToList() ; }
/// <summary> /// Constructs a instance of Closure Local JS-minifier /// </summary> /// <param name="virtualFileSystemWrapper">Virtual file system wrapper</param> /// <param name="closureConfig">Configuration settings of Closure Minifier</param> /// <param name="tempFilesDirectoryPath">Absolute path to directory that contains temporary files</param> public ClosureLocalJsMinifier(IVirtualFileSystemWrapper virtualFileSystemWrapper, ClosureSettings closureConfig, string tempFilesDirectoryPath) : base(virtualFileSystemWrapper, closureConfig) { _tempFilesDirectoryPath = tempFilesDirectoryPath; LocalJsMinifierSettings localJsMinifierConfig = closureConfig.Js.Local; MapCommonSettings(this, localJsMinifierConfig); AcceptConstKeyword = localJsMinifierConfig.AcceptConstKeyword; AllowEs6Output = localJsMinifierConfig.AllowEs6Output; AngularPass = localJsMinifierConfig.AngularPass; ClosureCompilerApplicationPath = localJsMinifierConfig.ClosureCompilerApplicationPath; DefinitionList = localJsMinifierConfig.DefinitionList; ErrorList = localJsMinifierConfig.ErrorList; ExportLocalPropertyDefinitions = localJsMinifierConfig.ExportLocalPropertyDefinitions; ExtraAnnotationNameList = localJsMinifierConfig.ExtraAnnotationNameList; GenerateExports = localJsMinifierConfig.GenerateExports; JavaVirtualMachinePath = localJsMinifierConfig.JavaVirtualMachinePath; LanguageInput = localJsMinifierConfig.LanguageInput; LanguageOutput = localJsMinifierConfig.LanguageOutput; ProcessClosurePrimitives = localJsMinifierConfig.ProcessClosurePrimitives; ProcessJqueryPrimitives = localJsMinifierConfig.ProcessJqueryPrimitives; SingleQuotes = localJsMinifierConfig.SingleQuotes; ThirdParty = localJsMinifierConfig.ThirdParty; TranspileOnly = localJsMinifierConfig.TranspileOnly; TurnOffWarningClassList = localJsMinifierConfig.TurnOffWarningClassList; UseOnlyCustomExterns = localJsMinifierConfig.UseOnlyCustomExterns; WarningList = localJsMinifierConfig.WarningList; string javaVirtualMachinePath = JavaVirtualMachinePath; if (string.IsNullOrWhiteSpace(javaVirtualMachinePath)) { throw new EmptyValueException(Strings.Minifiers_JavaVirtualMachinePathNotSpecified); } if (!File.Exists(javaVirtualMachinePath)) { throw new FileNotFoundException( string.Format(Strings.Minifiers_JavaVirtualMachineNotFound, javaVirtualMachinePath)); } string closureCompilerApplicationPath = ClosureCompilerApplicationPath; if (string.IsNullOrWhiteSpace(closureCompilerApplicationPath)) { throw new EmptyValueException(Strings.Minifiers_ClosureCompilerApplicationPathNotSpecified); } if (!File.Exists(closureCompilerApplicationPath)) { throw new FileNotFoundException( string.Format(Strings.Minifiers_ClosureCompilerApplicationNotFound, closureCompilerApplicationPath)); } }
/// <summary> /// Constructs a instance of Closure JS-minifier /// </summary> /// <param name="virtualFileSystemWrapper">Virtual file system wrapper</param> /// <param name="closureConfig">Configuration settings of Closure Minifier</param> protected ClosureJsMinifierBase(IVirtualFileSystemWrapper virtualFileSystemWrapper, ClosureSettings closureConfig) { _virtualFileSystemWrapper = virtualFileSystemWrapper; CommonExternsFilePaths = closureConfig.Js.CommonExternsFiles .Cast<CommonJsExternsFileRegistration>() .Select(f => f.ExternsFilePath) .ToList() ; ExternsFileMappings = closureConfig.Js.ExternMappings .Cast<JsExternsFileMappingRegistration>() .Select(m => new JsExternsFileMapping(m.ScriptFilePath, Utils.ConvertToStringCollection(m.ExternsFilePaths, ',', trimItemValues: true, removeEmptyItems: true).ToList() ) ) .ToList() ; }