| 86 | |
| 87 | // creates a function from the patterns to test if a particular module should be bundled. |
| 88 | const allowPatterns = (patterns) => { |
| 89 | const regexPatterns = patterns.map((pattern) => { |
| 90 | if (pattern instanceof RegExp) { |
| 91 | return pattern; |
| 92 | } |
| 93 | const normalized = pattern.replace(/[\\^$*+?.()|[\]{}]/g, '\\$&'); |
| 94 | return new RegExp(`^${normalized}$`); |
| 95 | }); |
| 96 | return (id) => !regexPatterns.length || regexPatterns.some((pattern) => pattern.test(id)); |
| 97 | }; |
| 98 | |
| 99 | const resolveOnly = |
| 100 | typeof options.resolveOnly === 'function' |