* Creates an instance of SplitChunksPlugin. * @param {OptimizationSplitChunksOptions=} options plugin options
(options = {})
| 695 | * @param {OptimizationSplitChunksOptions=} options plugin options |
| 696 | */ |
| 697 | constructor(options = {}) { |
| 698 | const defaultSizeTypes = options.defaultSizeTypes || [ |
| 699 | "javascript", |
| 700 | "unknown" |
| 701 | ]; |
| 702 | const fallbackCacheGroup = options.fallbackCacheGroup || {}; |
| 703 | const minSize = normalizeSizes(options.minSize, defaultSizeTypes); |
| 704 | const minSizeReduction = normalizeSizes( |
| 705 | options.minSizeReduction, |
| 706 | defaultSizeTypes |
| 707 | ); |
| 708 | const maxSize = normalizeSizes(options.maxSize, defaultSizeTypes); |
| 709 | |
| 710 | /** @type {SplitChunksOptions} */ |
| 711 | this.options = { |
| 712 | chunksFilter: |
| 713 | /** @type {ChunkFilterFn} */ |
| 714 | (normalizeChunksFilter(options.chunks || "all")), |
| 715 | defaultSizeTypes, |
| 716 | minSize, |
| 717 | minSizeReduction, |
| 718 | minRemainingSize: mergeSizes( |
| 719 | normalizeSizes(options.minRemainingSize, defaultSizeTypes), |
| 720 | minSize |
| 721 | ), |
| 722 | enforceSizeThreshold: normalizeSizes( |
| 723 | options.enforceSizeThreshold, |
| 724 | defaultSizeTypes |
| 725 | ), |
| 726 | maxAsyncSize: mergeSizes( |
| 727 | normalizeSizes(options.maxAsyncSize, defaultSizeTypes), |
| 728 | maxSize |
| 729 | ), |
| 730 | maxInitialSize: mergeSizes( |
| 731 | normalizeSizes(options.maxInitialSize, defaultSizeTypes), |
| 732 | maxSize |
| 733 | ), |
| 734 | minChunks: options.minChunks || 1, |
| 735 | maxAsyncRequests: options.maxAsyncRequests || 1, |
| 736 | maxInitialRequests: options.maxInitialRequests || 1, |
| 737 | hidePathInfo: options.hidePathInfo || false, |
| 738 | filename: options.filename || undefined, |
| 739 | getCacheGroups: normalizeCacheGroups( |
| 740 | options.cacheGroups, |
| 741 | defaultSizeTypes |
| 742 | ), |
| 743 | getName: options.name |
| 744 | ? /** @type {GetNameFn} */ (normalizeName(options.name)) |
| 745 | : defaultGetName, |
| 746 | automaticNameDelimiter: options.automaticNameDelimiter || "-", |
| 747 | usedExports: options.usedExports || false, |
| 748 | fallbackCacheGroup: { |
| 749 | chunksFilter: |
| 750 | /** @type {ChunkFilterFn} */ |
| 751 | ( |
| 752 | normalizeChunksFilter( |
| 753 | fallbackCacheGroup.chunks || options.chunks || "all" |
| 754 | ) |
nothing calls this directly
no test coverage detected