UNPKG

3.02 kBTypeScriptView Raw
1/// <reference types="webpack-dev-server" />
2import { Configuration, Entry, Plugin, Rule, RuleSetCondition, RuleSetLoader, RuleSetRule, RuleSetUse, RuleSetUseItem } from 'webpack';
3import { DevConfiguration } from '../types';
4declare type AnyConfiguration = Configuration | DevConfiguration;
5interface RuleItem {
6 rule: RuleSetRule;
7 index: number;
8}
9declare type ResolvedRuleSet = string | RuleSetLoader;
10interface PluginItem {
11 plugin: Plugin;
12 index: number;
13}
14interface LoaderItem {
15 rule: RuleSetRule;
16 ruleIndex: number;
17 loader: RuleSetUseItem;
18 loaderIndex: number;
19}
20/**
21 *
22 * @param loaderName
23 * @param rules
24 * @category utils
25 */
26export declare function findLoader(loaderName: string, rules: RuleSetRule[]): RuleSetRule | null;
27/**
28 *
29 * @param rules
30 * @category utils
31 */
32export declare function getRulesAsItems(rules: RuleSetRule[]): RuleItem[];
33/**
34 *
35 * @param config
36 * @category utils
37 */
38export declare function getRules(config: AnyConfiguration): RuleItem[];
39/**
40 * Get the babel-loader rule created by `@expo/webpack-config/loaders`
41 *
42 * @param config
43 * @category utils
44 */
45export declare function getExpoBabelLoader(config: AnyConfiguration): Rule | null;
46/**
47 *
48 * @param rules
49 * @category utils
50 */
51export declare function getRulesFromRules(rules: RuleSetRule[]): RuleSetRule[];
52/**
53 *
54 * @param rules
55 * @category utils
56 */
57export declare function getLoadersFromRules(rules: RuleItem[]): LoaderItem[];
58/**
59 *
60 * @param config
61 * @category utils
62 */
63export declare function getLoaders(config: AnyConfiguration): LoaderItem[];
64/**
65 *
66 * @param config
67 * @param files
68 * @category utils
69 */
70export declare function getRulesByMatchingFiles(config: AnyConfiguration, files: string[]): {
71 [key: string]: RuleItem[];
72};
73/**
74 *
75 * @param config
76 * @param files
77 * @category utils
78 */
79export declare function rulesMatchAnyFiles(config: AnyConfiguration, files: string[]): boolean;
80/**
81 *
82 * @param rule
83 * @category utils
84 */
85export declare function resolveRuleSetUse(rule?: RuleSetUse | RuleSetUse[]): ResolvedRuleSet[];
86/**
87 *
88 * @param condition
89 * @param file
90 * @category utils
91 */
92export declare function conditionMatchesFile(condition: RuleSetCondition | undefined, file: string): boolean;
93/**
94 *
95 * @param param0
96 * @category utils
97 */
98export declare function getPlugins({ plugins }: AnyConfiguration): PluginItem[];
99/**
100 *
101 * @param config
102 * @param name
103 * @category utils
104 */
105export declare function getPluginsByName(config: AnyConfiguration, name: string): PluginItem[];
106/**
107 *
108 * @param loader
109 * @category utils
110 */
111export declare function isRuleSetItem(loader: RuleSetUse): loader is RuleSetUseItem;
112/**
113 *
114 * @param loader
115 * @category utils
116 */
117export declare function isRuleSetLoader(loader: RuleSetUse): loader is RuleSetLoader;
118/**
119 *
120 * @param arg
121 * @category utils
122 */
123export declare function isEntry(arg: any): arg is Entry;
124/**
125 *
126 * @param arg
127 * @category utils
128 */
129export declare function resolveEntryAsync(arg: any): Promise<Entry>;
130export {};