Class DependencyOptions
- java.lang.Object
-
- com.google.javascript.jscomp.DependencyOptions
-
- All Implemented Interfaces:
java.io.Serializable
@Immutable public abstract class DependencyOptions extends java.lang.Object implements java.io.SerializableOptions for how to manage dependencies between input files.Dependency information is pulled out from the JS code by looking for import and export primitives (like ES import and export statements, Closure Library's goog.module, goog.provide and goog.require calls, or CommonJS require calls). The compiler can optionally use this information to sort input files in dependency order and/or prune unnecessary input files.
Also see
CodingConvention.extractClassNameIfProvide(Node, Node)andCodingConvention.extractClassNameIfRequire(Node, Node), which affect what the compiler considers to be goog.provide and goog.require statements.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDependencyOptions.DependencyModeDescribes how the compiler should manage dependencies.
-
Constructor Summary
Constructors Constructor Description DependencyOptions()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static DependencyOptionsfromFlags(DependencyOptions.DependencyMode dependencyModeFlag, java.util.List<java.lang.String> entryPointFlag, java.util.List<java.lang.String> closureEntryPointFlag, java.lang.String commonJsEntryModuleFlag, boolean manageClosureDependenciesFlag, boolean onlyClosureDependenciesFlag)A helper function for validating dependency management flags and converting them into aDependencyOptionsobject.abstract com.google.common.collect.ImmutableList<ModuleIdentifier>getEntryPoints()Returns the list of explicit entry points.abstract DependencyOptions.DependencyModegetMode()Returns the dependency management mode.booleanneedsManagement()Returns whether dependency management is enabled.static DependencyOptionsnone()Returns aDependencyOptionsusing theDependencyOptions.DependencyMode.NONEmode.static DependencyOptionspruneForEntryPoints(java.lang.Iterable<ModuleIdentifier> entryPoints)Returns aDependencyOptionsusing theDependencyOptions.DependencyMode.PRUNEmode with the given entry points.static DependencyOptionspruneLegacyForEntryPoints(java.lang.Iterable<ModuleIdentifier> entryPoints)Deprecated.PreferpruneForEntryPoints(Iterable)with a complete list of entry points.booleanshouldDropMoochers()Returns whether moochers should be dropped.booleanshouldPrune()Returns whether files should be pruned.booleanshouldSort()Returns whether files should be sorted.static DependencyOptionssortOnly()Returns aDependencyOptionsusing theDependencyOptions.DependencyMode.SORT_ONLYmode.
-
-
-
Method Detail
-
getMode
public abstract DependencyOptions.DependencyMode getMode()
Returns the dependency management mode.
-
getEntryPoints
public abstract com.google.common.collect.ImmutableList<ModuleIdentifier> getEntryPoints()
Returns the list of explicit entry points.
-
needsManagement
public boolean needsManagement()
Returns whether dependency management is enabled.
-
shouldSort
public boolean shouldSort()
Returns whether files should be sorted.If true, the input files should be sorted in dependency order. Otherwise, input files should not be reordered.
-
shouldPrune
public boolean shouldPrune()
Returns whether files should be pruned.If true, an input file should be excluded from the compilation if it is not a transitive dependency of an entry point. Otherwise, all input files should be included.
-
shouldDropMoochers
public boolean shouldDropMoochers()
Returns whether moochers should be dropped.A moocher is a strong file that does not goog.provide a namespace and is not a goog.module, ES module or CommonJS module. Weak files are never considered moochers.
If true, moochers should not be considered implicit entry points.
-
none
public static DependencyOptions none()
Returns aDependencyOptionsusing theDependencyOptions.DependencyMode.NONEmode.
-
sortOnly
public static DependencyOptions sortOnly()
Returns aDependencyOptionsusing theDependencyOptions.DependencyMode.SORT_ONLYmode.
-
pruneLegacyForEntryPoints
@Deprecated public static DependencyOptions pruneLegacyForEntryPoints(java.lang.Iterable<ModuleIdentifier> entryPoints)
Deprecated.PreferpruneForEntryPoints(Iterable)with a complete list of entry points.Returns aDependencyOptionsusing theDependencyOptions.DependencyMode.PRUNE_LEGACYmode with the given entry points.
-
pruneForEntryPoints
public static DependencyOptions pruneForEntryPoints(java.lang.Iterable<ModuleIdentifier> entryPoints)
Returns aDependencyOptionsusing theDependencyOptions.DependencyMode.PRUNEmode with the given entry points.
-
fromFlags
@Nullable public static DependencyOptions fromFlags(@Nullable DependencyOptions.DependencyMode dependencyModeFlag, java.util.List<java.lang.String> entryPointFlag, java.util.List<java.lang.String> closureEntryPointFlag, java.lang.String commonJsEntryModuleFlag, boolean manageClosureDependenciesFlag, boolean onlyClosureDependenciesFlag)
A helper function for validating dependency management flags and converting them into aDependencyOptionsobject.Returns null when no dependency management flags have been specified.
TODO(tjgq): Simplify this once we deprecate and remove all legacy flags and standardize on --dependency_mode and --entry_point.
-
-