Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import type { RuleSetRule } from "webpack"; import type { MaybeRuleSetRule, Transform, TransformFactory } from "./types"; import { SVGR_RULE, USE_BABEL_RULE } from "./webpackRules"; import { isRuleSetRule } from "./helpers"; export const prependRule: TransformFactory<RuleSetRule, RuleSetRule[]> = (rule) => (rules) => [ rule, ...rules]; export const appendRule: TransformFactory<RuleSetRule, RuleSetRule[]> = (rule) => (rules) => [...rules, rule]; export const loadSVGwithSVGR = prependRule(SVGR_RULE); export const loadModulesWithBabel = appendRule(USE_BABEL_RULE); export const excludeSVGFromFileRule: Transform<MaybeRuleSetRule[]> = (rules) => { const fileLoaderRule = rules?.find((rule) => isRuleSetRule(rule) && rule.test instanceof RegExp && rule.test.test('.svg') ); if (fileLoaderRule && isRuleSetRule(fileLoaderRule)) { fileLoaderRule.exclude = /\.svg$/; } return rules } |