knip 5.39.4 → 5.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -87,12 +87,14 @@ export declare class ConfigurationChief {
87
87
  drizzle?: (boolean | import("./types/config.js").EnsuredPluginConfiguration) | undefined;
88
88
  eleventy?: (boolean | import("./types/config.js").EnsuredPluginConfiguration) | undefined;
89
89
  eslint?: (boolean | import("./types/config.js").EnsuredPluginConfiguration) | undefined;
90
+ expo?: (boolean | import("./types/config.js").EnsuredPluginConfiguration) | undefined;
90
91
  gatsby?: (boolean | import("./types/config.js").EnsuredPluginConfiguration) | undefined;
91
92
  "github-actions"?: (boolean | import("./types/config.js").EnsuredPluginConfiguration) | undefined;
92
93
  glob?: (boolean | import("./types/config.js").EnsuredPluginConfiguration) | undefined;
93
94
  "graphql-codegen"?: (boolean | import("./types/config.js").EnsuredPluginConfiguration) | undefined;
94
95
  husky?: (boolean | import("./types/config.js").EnsuredPluginConfiguration) | undefined;
95
96
  jest?: (boolean | import("./types/config.js").EnsuredPluginConfiguration) | undefined;
97
+ karma?: (boolean | import("./types/config.js").EnsuredPluginConfiguration) | undefined;
96
98
  ladle?: (boolean | import("./types/config.js").EnsuredPluginConfiguration) | undefined;
97
99
  lefthook?: (boolean | import("./types/config.js").EnsuredPluginConfiguration) | undefined;
98
100
  "lint-staged"?: (boolean | import("./types/config.js").EnsuredPluginConfiguration) | undefined;
@@ -236,6 +236,19 @@ export declare const ConfigurationValidator: z.ZodObject<z.objectUtil.extendShap
236
236
  entry?: string | string[] | undefined;
237
237
  project?: string | string[] | undefined;
238
238
  }>]>>;
239
+ expo: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, z.ZodObject<{
240
+ config: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
241
+ entry: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
242
+ project: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
243
+ }, "strip", z.ZodTypeAny, {
244
+ config?: string | string[] | undefined;
245
+ entry?: string | string[] | undefined;
246
+ project?: string | string[] | undefined;
247
+ }, {
248
+ config?: string | string[] | undefined;
249
+ entry?: string | string[] | undefined;
250
+ project?: string | string[] | undefined;
251
+ }>]>>;
239
252
  gatsby: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, z.ZodObject<{
240
253
  config: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
241
254
  entry: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
@@ -314,6 +327,19 @@ export declare const ConfigurationValidator: z.ZodObject<z.objectUtil.extendShap
314
327
  entry?: string | string[] | undefined;
315
328
  project?: string | string[] | undefined;
316
329
  }>]>>;
330
+ karma: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, z.ZodObject<{
331
+ config: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
332
+ entry: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
333
+ project: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
334
+ }, "strip", z.ZodTypeAny, {
335
+ config?: string | string[] | undefined;
336
+ entry?: string | string[] | undefined;
337
+ project?: string | string[] | undefined;
338
+ }, {
339
+ config?: string | string[] | undefined;
340
+ entry?: string | string[] | undefined;
341
+ project?: string | string[] | undefined;
342
+ }>]>>;
317
343
  ladle: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, z.ZodObject<{
318
344
  config: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
319
345
  entry: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
@@ -1247,6 +1273,11 @@ export declare const ConfigurationValidator: z.ZodObject<z.objectUtil.extendShap
1247
1273
  entry?: string | string[] | undefined;
1248
1274
  project?: string | string[] | undefined;
1249
1275
  } | undefined;
1276
+ expo?: string | boolean | string[] | {
1277
+ config?: string | string[] | undefined;
1278
+ entry?: string | string[] | undefined;
1279
+ project?: string | string[] | undefined;
1280
+ } | undefined;
1250
1281
  gatsby?: string | boolean | string[] | {
1251
1282
  config?: string | string[] | undefined;
1252
1283
  entry?: string | string[] | undefined;
@@ -1277,6 +1308,11 @@ export declare const ConfigurationValidator: z.ZodObject<z.objectUtil.extendShap
1277
1308
  entry?: string | string[] | undefined;
1278
1309
  project?: string | string[] | undefined;
1279
1310
  } | undefined;
1311
+ karma?: string | boolean | string[] | {
1312
+ config?: string | string[] | undefined;
1313
+ entry?: string | string[] | undefined;
1314
+ project?: string | string[] | undefined;
1315
+ } | undefined;
1280
1316
  ladle?: string | boolean | string[] | {
1281
1317
  config?: string | string[] | undefined;
1282
1318
  entry?: string | string[] | undefined;
@@ -1691,6 +1727,11 @@ export declare const ConfigurationValidator: z.ZodObject<z.objectUtil.extendShap
1691
1727
  entry?: string | string[] | undefined;
1692
1728
  project?: string | string[] | undefined;
1693
1729
  } | undefined;
1730
+ expo?: string | boolean | string[] | {
1731
+ config?: string | string[] | undefined;
1732
+ entry?: string | string[] | undefined;
1733
+ project?: string | string[] | undefined;
1734
+ } | undefined;
1694
1735
  gatsby?: string | boolean | string[] | {
1695
1736
  config?: string | string[] | undefined;
1696
1737
  entry?: string | string[] | undefined;
@@ -1721,6 +1762,11 @@ export declare const ConfigurationValidator: z.ZodObject<z.objectUtil.extendShap
1721
1762
  entry?: string | string[] | undefined;
1722
1763
  project?: string | string[] | undefined;
1723
1764
  } | undefined;
1765
+ karma?: string | boolean | string[] | {
1766
+ config?: string | string[] | undefined;
1767
+ entry?: string | string[] | undefined;
1768
+ project?: string | string[] | undefined;
1769
+ } | undefined;
1724
1770
  ladle?: string | boolean | string[] | {
1725
1771
  config?: string | string[] | undefined;
1726
1772
  entry?: string | string[] | undefined;
@@ -2257,6 +2303,19 @@ export declare const ConfigurationValidator: z.ZodObject<z.objectUtil.extendShap
2257
2303
  entry?: string | string[] | undefined;
2258
2304
  project?: string | string[] | undefined;
2259
2305
  }>]>>;
2306
+ expo: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, z.ZodObject<{
2307
+ config: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
2308
+ entry: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
2309
+ project: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
2310
+ }, "strip", z.ZodTypeAny, {
2311
+ config?: string | string[] | undefined;
2312
+ entry?: string | string[] | undefined;
2313
+ project?: string | string[] | undefined;
2314
+ }, {
2315
+ config?: string | string[] | undefined;
2316
+ entry?: string | string[] | undefined;
2317
+ project?: string | string[] | undefined;
2318
+ }>]>>;
2260
2319
  gatsby: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, z.ZodObject<{
2261
2320
  config: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
2262
2321
  entry: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
@@ -2335,6 +2394,19 @@ export declare const ConfigurationValidator: z.ZodObject<z.objectUtil.extendShap
2335
2394
  entry?: string | string[] | undefined;
2336
2395
  project?: string | string[] | undefined;
2337
2396
  }>]>>;
2397
+ karma: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, z.ZodObject<{
2398
+ config: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
2399
+ entry: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
2400
+ project: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
2401
+ }, "strip", z.ZodTypeAny, {
2402
+ config?: string | string[] | undefined;
2403
+ entry?: string | string[] | undefined;
2404
+ project?: string | string[] | undefined;
2405
+ }, {
2406
+ config?: string | string[] | undefined;
2407
+ entry?: string | string[] | undefined;
2408
+ project?: string | string[] | undefined;
2409
+ }>]>>;
2338
2410
  ladle: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, z.ZodObject<{
2339
2411
  config: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
2340
2412
  entry: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
@@ -3270,6 +3342,11 @@ export declare const ConfigurationValidator: z.ZodObject<z.objectUtil.extendShap
3270
3342
  entry?: string | string[] | undefined;
3271
3343
  project?: string | string[] | undefined;
3272
3344
  } | undefined;
3345
+ expo?: string | boolean | string[] | {
3346
+ config?: string | string[] | undefined;
3347
+ entry?: string | string[] | undefined;
3348
+ project?: string | string[] | undefined;
3349
+ } | undefined;
3273
3350
  gatsby?: string | boolean | string[] | {
3274
3351
  config?: string | string[] | undefined;
3275
3352
  entry?: string | string[] | undefined;
@@ -3300,6 +3377,11 @@ export declare const ConfigurationValidator: z.ZodObject<z.objectUtil.extendShap
3300
3377
  entry?: string | string[] | undefined;
3301
3378
  project?: string | string[] | undefined;
3302
3379
  } | undefined;
3380
+ karma?: string | boolean | string[] | {
3381
+ config?: string | string[] | undefined;
3382
+ entry?: string | string[] | undefined;
3383
+ project?: string | string[] | undefined;
3384
+ } | undefined;
3303
3385
  ladle?: string | boolean | string[] | {
3304
3386
  config?: string | string[] | undefined;
3305
3387
  entry?: string | string[] | undefined;
@@ -3720,6 +3802,11 @@ export declare const ConfigurationValidator: z.ZodObject<z.objectUtil.extendShap
3720
3802
  entry?: string | string[] | undefined;
3721
3803
  project?: string | string[] | undefined;
3722
3804
  } | undefined;
3805
+ expo?: string | boolean | string[] | {
3806
+ config?: string | string[] | undefined;
3807
+ entry?: string | string[] | undefined;
3808
+ project?: string | string[] | undefined;
3809
+ } | undefined;
3723
3810
  gatsby?: string | boolean | string[] | {
3724
3811
  config?: string | string[] | undefined;
3725
3812
  entry?: string | string[] | undefined;
@@ -3750,6 +3837,11 @@ export declare const ConfigurationValidator: z.ZodObject<z.objectUtil.extendShap
3750
3837
  entry?: string | string[] | undefined;
3751
3838
  project?: string | string[] | undefined;
3752
3839
  } | undefined;
3840
+ karma?: string | boolean | string[] | {
3841
+ config?: string | string[] | undefined;
3842
+ entry?: string | string[] | undefined;
3843
+ project?: string | string[] | undefined;
3844
+ } | undefined;
3753
3845
  ladle?: string | boolean | string[] | {
3754
3846
  config?: string | string[] | undefined;
3755
3847
  entry?: string | string[] | undefined;
@@ -4167,6 +4259,11 @@ export declare const ConfigurationValidator: z.ZodObject<z.objectUtil.extendShap
4167
4259
  entry?: string | string[] | undefined;
4168
4260
  project?: string | string[] | undefined;
4169
4261
  } | undefined;
4262
+ expo?: string | boolean | string[] | {
4263
+ config?: string | string[] | undefined;
4264
+ entry?: string | string[] | undefined;
4265
+ project?: string | string[] | undefined;
4266
+ } | undefined;
4170
4267
  gatsby?: string | boolean | string[] | {
4171
4268
  config?: string | string[] | undefined;
4172
4269
  entry?: string | string[] | undefined;
@@ -4197,6 +4294,11 @@ export declare const ConfigurationValidator: z.ZodObject<z.objectUtil.extendShap
4197
4294
  entry?: string | string[] | undefined;
4198
4295
  project?: string | string[] | undefined;
4199
4296
  } | undefined;
4297
+ karma?: string | boolean | string[] | {
4298
+ config?: string | string[] | undefined;
4299
+ entry?: string | string[] | undefined;
4300
+ project?: string | string[] | undefined;
4301
+ } | undefined;
4200
4302
  ladle?: string | boolean | string[] | {
4201
4303
  config?: string | string[] | undefined;
4202
4304
  entry?: string | string[] | undefined;
@@ -4617,6 +4719,11 @@ export declare const ConfigurationValidator: z.ZodObject<z.objectUtil.extendShap
4617
4719
  entry?: string | string[] | undefined;
4618
4720
  project?: string | string[] | undefined;
4619
4721
  } | undefined;
4722
+ expo?: string | boolean | string[] | {
4723
+ config?: string | string[] | undefined;
4724
+ entry?: string | string[] | undefined;
4725
+ project?: string | string[] | undefined;
4726
+ } | undefined;
4620
4727
  gatsby?: string | boolean | string[] | {
4621
4728
  config?: string | string[] | undefined;
4622
4729
  entry?: string | string[] | undefined;
@@ -4647,6 +4754,11 @@ export declare const ConfigurationValidator: z.ZodObject<z.objectUtil.extendShap
4647
4754
  entry?: string | string[] | undefined;
4648
4755
  project?: string | string[] | undefined;
4649
4756
  } | undefined;
4757
+ karma?: string | boolean | string[] | {
4758
+ config?: string | string[] | undefined;
4759
+ entry?: string | string[] | undefined;
4760
+ project?: string | string[] | undefined;
4761
+ } | undefined;
4650
4762
  ladle?: string | boolean | string[] | {
4651
4763
  config?: string | string[] | undefined;
4652
4764
  entry?: string | string[] | undefined;
@@ -93,6 +93,11 @@ export declare const partitionCompilers: (rawLocalConfig: RawConfiguration) => {
93
93
  entry?: string | string[] | undefined;
94
94
  project?: string | string[] | undefined;
95
95
  } | undefined;
96
+ expo?: string | boolean | string[] | {
97
+ config?: string | string[] | undefined;
98
+ entry?: string | string[] | undefined;
99
+ project?: string | string[] | undefined;
100
+ } | undefined;
96
101
  gatsby?: string | boolean | string[] | {
97
102
  config?: string | string[] | undefined;
98
103
  entry?: string | string[] | undefined;
@@ -123,6 +128,11 @@ export declare const partitionCompilers: (rawLocalConfig: RawConfiguration) => {
123
128
  entry?: string | string[] | undefined;
124
129
  project?: string | string[] | undefined;
125
130
  } | undefined;
131
+ karma?: string | boolean | string[] | {
132
+ config?: string | string[] | undefined;
133
+ entry?: string | string[] | undefined;
134
+ project?: string | string[] | undefined;
135
+ } | undefined;
126
136
  ladle?: string | boolean | string[] | {
127
137
  config?: string | string[] | undefined;
128
138
  entry?: string | string[] | undefined;
@@ -541,6 +551,11 @@ export declare const partitionCompilers: (rawLocalConfig: RawConfiguration) => {
541
551
  entry?: string | string[] | undefined;
542
552
  project?: string | string[] | undefined;
543
553
  } | undefined;
554
+ expo?: string | boolean | string[] | {
555
+ config?: string | string[] | undefined;
556
+ entry?: string | string[] | undefined;
557
+ project?: string | string[] | undefined;
558
+ } | undefined;
544
559
  gatsby?: string | boolean | string[] | {
545
560
  config?: string | string[] | undefined;
546
561
  entry?: string | string[] | undefined;
@@ -571,6 +586,11 @@ export declare const partitionCompilers: (rawLocalConfig: RawConfiguration) => {
571
586
  entry?: string | string[] | undefined;
572
587
  project?: string | string[] | undefined;
573
588
  } | undefined;
589
+ karma?: string | boolean | string[] | {
590
+ config?: string | string[] | undefined;
591
+ entry?: string | string[] | undefined;
592
+ project?: string | string[] | undefined;
593
+ } | undefined;
574
594
  ladle?: string | boolean | string[] | {
575
595
  config?: string | string[] | undefined;
576
596
  entry?: string | string[] | undefined;
@@ -0,0 +1,4 @@
1
+ import type { PluginOptions } from '../../types/config.js';
2
+ import { type Input } from '../../util/input.js';
3
+ import type { ExpoConfig } from './types.js';
4
+ export declare const getDependencies: (expoConfig: ExpoConfig, { manifest }: PluginOptions) => Promise<Input[]>;
@@ -0,0 +1,51 @@
1
+ import { toDependency, toProductionDependency } from '../../util/input.js';
2
+ import { getPackageNameFromModuleSpecifier } from '../../util/modules.js';
3
+ export const getDependencies = async (expoConfig, { manifest }) => {
4
+ const config = 'expo' in expoConfig ? expoConfig.expo : expoConfig;
5
+ const platforms = config.platforms ?? ['ios', 'android'];
6
+ const pluginPackages = config.plugins
7
+ ?.map(plugin => {
8
+ const pluginName = Array.isArray(plugin) ? plugin[0] : plugin;
9
+ return getPackageNameFromModuleSpecifier(pluginName);
10
+ })
11
+ .filter(Boolean) ?? [];
12
+ const inputs = new Set(pluginPackages.map(toDependency));
13
+ const allowedPackages = ['expo-atlas', 'expo-dev-client'];
14
+ const allowedProductionPackages = ['expo-insights'];
15
+ const manifestDependencies = Object.keys(manifest.dependencies ?? {});
16
+ for (const pkg of allowedPackages) {
17
+ if (manifestDependencies.includes(pkg)) {
18
+ inputs.add(toDependency(pkg));
19
+ }
20
+ }
21
+ for (const pkg of allowedProductionPackages) {
22
+ if (manifestDependencies.includes(pkg)) {
23
+ inputs.add(toProductionDependency(pkg));
24
+ }
25
+ }
26
+ if (config.updates?.enabled !== false) {
27
+ inputs.add(toProductionDependency('expo-updates'));
28
+ }
29
+ if (config.notification) {
30
+ inputs.add(toProductionDependency('expo-notifications'));
31
+ }
32
+ const isExpoRouter = manifest.main === 'expo-router/entry';
33
+ if (isExpoRouter) {
34
+ inputs.add(toProductionDependency('expo-router'));
35
+ }
36
+ if (platforms.includes('web')) {
37
+ inputs.add(toProductionDependency('react-native-web'));
38
+ inputs.add(toProductionDependency('react-dom'));
39
+ if (!isExpoRouter) {
40
+ inputs.add(toDependency('@expo/metro-runtime'));
41
+ }
42
+ }
43
+ if ((platforms.includes('android') && (config.userInterfaceStyle || config.android?.userInterfaceStyle)) ||
44
+ (platforms.includes('ios') && (config.backgroundColor || config.ios?.backgroundColor))) {
45
+ inputs.add(toProductionDependency('expo-system-ui'));
46
+ }
47
+ if (platforms.includes('android') && config.androidNavigationBar) {
48
+ inputs.add(toProductionDependency('expo-navigation-bar'));
49
+ }
50
+ return [...inputs];
51
+ };
@@ -0,0 +1,11 @@
1
+ import type { IsPluginEnabled, ResolveConfig, ResolveEntryPaths } from '../../types/config.js';
2
+ import type { ExpoConfig } from './types.js';
3
+ declare const _default: {
4
+ title: string;
5
+ enablers: string[];
6
+ isEnabled: IsPluginEnabled;
7
+ config: string[];
8
+ resolveEntryPaths: ResolveEntryPaths<ExpoConfig>;
9
+ resolveConfig: ResolveConfig<ExpoConfig>;
10
+ };
11
+ export default _default;
@@ -0,0 +1,33 @@
1
+ import { toProductionEntry } from '../../util/input.js';
2
+ import { join } from '../../util/path.js';
3
+ import { hasDependency } from '../../util/plugin.js';
4
+ import { getDependencies } from './helpers.js';
5
+ const title = 'Expo';
6
+ const enablers = ['expo'];
7
+ const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
8
+ const config = ['app.json', 'app.config.{ts,js}'];
9
+ const resolveEntryPaths = async (expoConfig, { manifest }) => {
10
+ const config = 'expo' in expoConfig ? expoConfig.expo : expoConfig;
11
+ let production = [];
12
+ if (manifest.main === 'expo-router/entry') {
13
+ production = ['app/**/*.{js,jsx,ts,tsx}', 'src/app/**/*.{js,jsx,ts,tsx}'];
14
+ const normalizedPlugins = config.plugins?.map(plugin => (Array.isArray(plugin) ? plugin : [plugin])) ?? [];
15
+ const expoRouterPlugin = normalizedPlugins.find(([plugin]) => plugin === 'expo-router');
16
+ if (expoRouterPlugin) {
17
+ const [, options] = expoRouterPlugin;
18
+ if (typeof options?.root === 'string') {
19
+ production = [join(options.root, '**/*.{js,jsx,ts,tsx}')];
20
+ }
21
+ }
22
+ }
23
+ return production.map(entry => toProductionEntry(entry));
24
+ };
25
+ const resolveConfig = async (expoConfig, options) => getDependencies(expoConfig, options);
26
+ export default {
27
+ title,
28
+ enablers,
29
+ isEnabled,
30
+ config,
31
+ resolveEntryPaths,
32
+ resolveConfig,
33
+ };
@@ -0,0 +1,21 @@
1
+ type AppConfig = {
2
+ platforms?: ('ios' | 'android' | 'web')[];
3
+ notification?: Record<string, unknown>;
4
+ updates?: {
5
+ enabled?: boolean;
6
+ };
7
+ backgroundColor?: string;
8
+ userInterfaceStyle?: 'automatic' | 'light' | 'dark';
9
+ ios?: {
10
+ backgroundColor?: string;
11
+ };
12
+ android?: {
13
+ userInterfaceStyle?: 'automatic' | 'light' | 'dark';
14
+ };
15
+ androidNavigationBar?: Record<string, unknown>;
16
+ plugins?: (string | [string, Record<string, unknown>])[];
17
+ };
18
+ export type ExpoConfig = AppConfig | {
19
+ expo: AppConfig;
20
+ };
21
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -125,6 +125,14 @@ export declare const Plugins: {
125
125
  config: string[];
126
126
  resolveConfig: import("../types/config.js").ResolveConfig<import("./eslint/types.js").ESLintConfig>;
127
127
  };
128
+ expo: {
129
+ title: string;
130
+ enablers: string[];
131
+ isEnabled: import("../types/config.js").IsPluginEnabled;
132
+ config: string[];
133
+ resolveEntryPaths: import("../types/config.js").ResolveEntryPaths<import("./expo/types.js").ExpoConfig>;
134
+ resolveConfig: import("../types/config.js").ResolveConfig<import("./expo/types.js").ExpoConfig>;
135
+ };
128
136
  gatsby: {
129
137
  title: string;
130
138
  enablers: string[];
@@ -177,6 +185,15 @@ export declare const Plugins: {
177
185
  resolveEntryPaths: import("../types/config.js").ResolveEntryPaths<import("./jest/types.js").JestConfig>;
178
186
  resolveConfig: import("../types/config.js").ResolveConfig<import("./jest/types.js").JestConfig>;
179
187
  };
188
+ karma: {
189
+ title: string;
190
+ enablers: string[];
191
+ isEnabled: import("../types/config.js").IsPluginEnabled;
192
+ config: string[];
193
+ entry: string[];
194
+ resolveConfig: import("../types/config.js").ResolveConfig<(config: import("./karma/types.js").Config) => void>;
195
+ resolveEntryPaths: import("../types/config.js").ResolveEntryPaths<(config: import("./karma/types.js").Config) => void>;
196
+ };
180
197
  ladle: {
181
198
  title: string;
182
199
  enablers: string[];
@@ -14,12 +14,14 @@ import { default as dotenv } from './dotenv/index.js';
14
14
  import { default as drizzle } from './drizzle/index.js';
15
15
  import { default as eleventy } from './eleventy/index.js';
16
16
  import { default as eslint } from './eslint/index.js';
17
+ import { default as expo } from './expo/index.js';
17
18
  import { default as gatsby } from './gatsby/index.js';
18
19
  import { default as githubActions } from './github-actions/index.js';
19
20
  import { default as glob } from './glob/index.js';
20
21
  import { default as graphqlCodegen } from './graphql-codegen/index.js';
21
22
  import { default as husky } from './husky/index.js';
22
23
  import { default as jest } from './jest/index.js';
24
+ import { default as karma } from './karma/index.js';
23
25
  import { default as ladle } from './ladle/index.js';
24
26
  import { default as lefthook } from './lefthook/index.js';
25
27
  import { default as lintStaged } from './lint-staged/index.js';
@@ -102,12 +104,14 @@ export const Plugins = {
102
104
  drizzle,
103
105
  eleventy,
104
106
  eslint,
107
+ expo,
105
108
  gatsby,
106
109
  'github-actions': githubActions,
107
110
  glob,
108
111
  'graphql-codegen': graphqlCodegen,
109
112
  husky,
110
113
  jest,
114
+ karma,
111
115
  ladle,
112
116
  lefthook,
113
117
  'lint-staged': lintStaged,
@@ -0,0 +1,13 @@
1
+ import type { IsPluginEnabled, ResolveConfig, ResolveEntryPaths } from '../../types/config.js';
2
+ import type { Config } from './types.js';
3
+ type ConfigFile = (config: Config) => void;
4
+ declare const _default: {
5
+ title: string;
6
+ enablers: string[];
7
+ isEnabled: IsPluginEnabled;
8
+ config: string[];
9
+ entry: string[];
10
+ resolveConfig: ResolveConfig<ConfigFile>;
11
+ resolveEntryPaths: ResolveEntryPaths<ConfigFile>;
12
+ };
13
+ export default _default;
@@ -0,0 +1,74 @@
1
+ import { toDeferResolveEntry, toDevDependency, toEntry } from '../../util/input.js';
2
+ import { isInternal, join } from '../../util/path.js';
3
+ import { hasDependency } from '../../util/plugin.js';
4
+ const title = 'Karma';
5
+ const enablers = ['karma'];
6
+ const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
7
+ const config = ['karma.conf.js', 'karma.conf.ts', '.config/karma.conf.js', '.config/karma.conf.ts'];
8
+ const entry = [];
9
+ const resolveConfig = async (localConfig, options) => {
10
+ const inputs = new Set();
11
+ const config = loadConfig(localConfig);
12
+ if (config.frameworks) {
13
+ for (const framework of config.frameworks) {
14
+ inputs.add(toDevDependency(devDepForFramework(framework)));
15
+ }
16
+ }
17
+ if (config.plugins) {
18
+ for (const plugin of config.plugins) {
19
+ if (typeof plugin !== 'string')
20
+ continue;
21
+ if (isInternal(plugin)) {
22
+ inputs.add(toDeferResolveEntry(plugin));
23
+ }
24
+ else {
25
+ inputs.add(toDevDependency(plugin));
26
+ }
27
+ }
28
+ }
29
+ else {
30
+ const karmaPluginDevDeps = Object.keys(options.manifest.devDependencies ?? {}).filter(name => name.startsWith('karma-'));
31
+ for (const karmaPluginDevDep of karmaPluginDevDeps) {
32
+ inputs.add(toDevDependency(karmaPluginDevDep));
33
+ }
34
+ }
35
+ return Array.from(inputs);
36
+ };
37
+ const devDepForFramework = (framework) => (framework === 'jasmine' ? 'jasmine-core' : framework);
38
+ const resolveEntryPaths = (localConfig, options) => {
39
+ const inputs = new Set();
40
+ const config = loadConfig(localConfig);
41
+ const basePath = config.basePath ?? '';
42
+ if (config.files) {
43
+ for (const fileOrPatternObj of config.files) {
44
+ const fileOrPattern = typeof fileOrPatternObj === 'string' ? fileOrPatternObj : fileOrPatternObj.pattern;
45
+ inputs.add(toEntry(join(options.configFileDir, basePath, fileOrPattern)));
46
+ }
47
+ }
48
+ if (config.exclude) {
49
+ for (const fileOrPattern of config.exclude) {
50
+ inputs.add(toEntry(`!${join(options.configFileDir, basePath, fileOrPattern)}`));
51
+ }
52
+ }
53
+ return Array.from(inputs);
54
+ };
55
+ const loadConfig = (configFile) => {
56
+ const inMemoryConfig = new InMemoryConfig();
57
+ configFile(inMemoryConfig);
58
+ return inMemoryConfig.config ?? {};
59
+ };
60
+ class InMemoryConfig {
61
+ config;
62
+ set(config) {
63
+ this.config = config;
64
+ }
65
+ }
66
+ export default {
67
+ title,
68
+ enablers,
69
+ isEnabled,
70
+ config,
71
+ entry,
72
+ resolveConfig,
73
+ resolveEntryPaths,
74
+ };
@@ -0,0 +1,22 @@
1
+ export interface Config {
2
+ set: (config: ConfigOptions) => void;
3
+ }
4
+ export interface ConfigOptions {
5
+ basePath?: string | undefined;
6
+ exclude?: string[] | undefined;
7
+ files?: Array<FilePattern | string> | undefined;
8
+ frameworks?: string[] | undefined;
9
+ plugins?: Array<PluginName | InlinePluginDef> | undefined;
10
+ }
11
+ type PluginName = string;
12
+ type InlinePluginDef = Record<PluginName, InlinePluginType>;
13
+ type InlinePluginType = FactoryFnType | ConstructorFnType | ValueType;
14
+ type FactoryFnType = ['factory', FactoryFn];
15
+ type FactoryFn = (...params: any[]) => any;
16
+ type ConstructorFnType = ['type', ConstructorFn];
17
+ type ConstructorFn = Function | (new (...params: any[]) => any);
18
+ type ValueType = ['value', any];
19
+ interface FilePattern {
20
+ pattern: string;
21
+ }
22
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -4,7 +4,7 @@ import { hasDependency } from '../../util/plugin.js';
4
4
  const title = 'Nx';
5
5
  const enablers = ['nx', /^@nrwl\//, /^@nx\//];
6
6
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
7
- const config = ['nx.json', 'project.json', '{apps,libs}/**/project.json'];
7
+ const config = ['nx.json', 'project.json', '{apps,libs}/**/project.json', 'package.json'];
8
8
  const findNxDependenciesInNxJson = async (localConfig) => {
9
9
  const targetsDefault = localConfig.targetDefaults
10
10
  ? Object.keys(localConfig.targetDefaults)
@@ -222,6 +222,19 @@ export declare const pluginsSchema: z.ZodObject<{
222
222
  entry?: string | string[] | undefined;
223
223
  project?: string | string[] | undefined;
224
224
  }>]>;
225
+ expo: z.ZodUnion<[z.ZodBoolean, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, z.ZodObject<{
226
+ config: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
227
+ entry: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
228
+ project: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
229
+ }, "strip", z.ZodTypeAny, {
230
+ config?: string | string[] | undefined;
231
+ entry?: string | string[] | undefined;
232
+ project?: string | string[] | undefined;
233
+ }, {
234
+ config?: string | string[] | undefined;
235
+ entry?: string | string[] | undefined;
236
+ project?: string | string[] | undefined;
237
+ }>]>;
225
238
  gatsby: z.ZodUnion<[z.ZodBoolean, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, z.ZodObject<{
226
239
  config: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
227
240
  entry: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
@@ -300,6 +313,19 @@ export declare const pluginsSchema: z.ZodObject<{
300
313
  entry?: string | string[] | undefined;
301
314
  project?: string | string[] | undefined;
302
315
  }>]>;
316
+ karma: z.ZodUnion<[z.ZodBoolean, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, z.ZodObject<{
317
+ config: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
318
+ entry: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
319
+ project: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
320
+ }, "strip", z.ZodTypeAny, {
321
+ config?: string | string[] | undefined;
322
+ entry?: string | string[] | undefined;
323
+ project?: string | string[] | undefined;
324
+ }, {
325
+ config?: string | string[] | undefined;
326
+ entry?: string | string[] | undefined;
327
+ project?: string | string[] | undefined;
328
+ }>]>;
303
329
  ladle: z.ZodUnion<[z.ZodBoolean, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, z.ZodObject<{
304
330
  config: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
305
331
  entry: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
@@ -1231,6 +1257,11 @@ export declare const pluginsSchema: z.ZodObject<{
1231
1257
  entry?: string | string[] | undefined;
1232
1258
  project?: string | string[] | undefined;
1233
1259
  };
1260
+ expo: string | boolean | string[] | {
1261
+ config?: string | string[] | undefined;
1262
+ entry?: string | string[] | undefined;
1263
+ project?: string | string[] | undefined;
1264
+ };
1234
1265
  gatsby: string | boolean | string[] | {
1235
1266
  config?: string | string[] | undefined;
1236
1267
  entry?: string | string[] | undefined;
@@ -1261,6 +1292,11 @@ export declare const pluginsSchema: z.ZodObject<{
1261
1292
  entry?: string | string[] | undefined;
1262
1293
  project?: string | string[] | undefined;
1263
1294
  };
1295
+ karma: string | boolean | string[] | {
1296
+ config?: string | string[] | undefined;
1297
+ entry?: string | string[] | undefined;
1298
+ project?: string | string[] | undefined;
1299
+ };
1264
1300
  ladle: string | boolean | string[] | {
1265
1301
  config?: string | string[] | undefined;
1266
1302
  entry?: string | string[] | undefined;
@@ -1667,6 +1703,11 @@ export declare const pluginsSchema: z.ZodObject<{
1667
1703
  entry?: string | string[] | undefined;
1668
1704
  project?: string | string[] | undefined;
1669
1705
  };
1706
+ expo: string | boolean | string[] | {
1707
+ config?: string | string[] | undefined;
1708
+ entry?: string | string[] | undefined;
1709
+ project?: string | string[] | undefined;
1710
+ };
1670
1711
  gatsby: string | boolean | string[] | {
1671
1712
  config?: string | string[] | undefined;
1672
1713
  entry?: string | string[] | undefined;
@@ -1697,6 +1738,11 @@ export declare const pluginsSchema: z.ZodObject<{
1697
1738
  entry?: string | string[] | undefined;
1698
1739
  project?: string | string[] | undefined;
1699
1740
  };
1741
+ karma: string | boolean | string[] | {
1742
+ config?: string | string[] | undefined;
1743
+ entry?: string | string[] | undefined;
1744
+ project?: string | string[] | undefined;
1745
+ };
1700
1746
  ladle: string | boolean | string[] | {
1701
1747
  config?: string | string[] | undefined;
1702
1748
  entry?: string | string[] | undefined;
@@ -26,12 +26,14 @@ export const pluginsSchema = z.object({
26
26
  drizzle: pluginSchema,
27
27
  eleventy: pluginSchema,
28
28
  eslint: pluginSchema,
29
+ expo: pluginSchema,
29
30
  gatsby: pluginSchema,
30
31
  'github-actions': pluginSchema,
31
32
  glob: pluginSchema,
32
33
  'graphql-codegen': pluginSchema,
33
34
  husky: pluginSchema,
34
35
  jest: pluginSchema,
36
+ karma: pluginSchema,
35
37
  ladle: pluginSchema,
36
38
  lefthook: pluginSchema,
37
39
  'lint-staged': pluginSchema,
@@ -1,2 +1,2 @@
1
- export type PluginName = 'angular' | 'astro' | 'ava' | 'babel' | 'c8' | 'capacitor' | 'changesets' | 'commitizen' | 'commitlint' | 'cspell' | 'cucumber' | 'cypress' | 'dotenv' | 'drizzle' | 'eleventy' | 'eslint' | 'gatsby' | 'github-actions' | 'glob' | 'graphql-codegen' | 'husky' | 'jest' | 'ladle' | 'lefthook' | 'lint-staged' | 'linthtml' | 'lockfile-lint' | 'lost-pixel' | 'markdownlint' | 'mocha' | 'moonrepo' | 'msw' | 'nest' | 'netlify' | 'next' | 'node' | 'node-test-runner' | 'nodemon' | 'npm-package-json-lint' | 'nuxt' | 'nx' | 'nyc' | 'oclif' | 'playwright' | 'playwright-ct' | 'playwright-test' | 'plop' | 'postcss' | 'preconstruct' | 'prettier' | 'react-cosmos' | 'release-it' | 'remark' | 'remix' | 'rollup' | 'rsbuild' | 'rspack' | 'semantic-release' | 'sentry' | 'simple-git-hooks' | 'size-limit' | 'storybook' | 'stryker' | 'stylelint' | 'svelte' | 'syncpack' | 'tailwind' | 'travis' | 'ts-node' | 'tsup' | 'tsx' | 'typedoc' | 'typescript' | 'unbuild' | 'unocss' | 'vercel-og' | 'vike' | 'vite' | 'vitest' | 'vue' | 'webdriver-io' | 'webpack' | 'wireit' | 'wrangler' | 'xo' | 'yarn' | 'yorkie';
2
- export declare const pluginNames: readonly ["angular", "astro", "ava", "babel", "c8", "capacitor", "changesets", "commitizen", "commitlint", "cspell", "cucumber", "cypress", "dotenv", "drizzle", "eleventy", "eslint", "gatsby", "github-actions", "glob", "graphql-codegen", "husky", "jest", "ladle", "lefthook", "lint-staged", "linthtml", "lockfile-lint", "lost-pixel", "markdownlint", "mocha", "moonrepo", "msw", "nest", "netlify", "next", "node", "node-test-runner", "nodemon", "npm-package-json-lint", "nuxt", "nx", "nyc", "oclif", "playwright", "playwright-ct", "playwright-test", "plop", "postcss", "preconstruct", "prettier", "react-cosmos", "release-it", "remark", "remix", "rollup", "rsbuild", "rspack", "semantic-release", "sentry", "simple-git-hooks", "size-limit", "storybook", "stryker", "stylelint", "svelte", "syncpack", "tailwind", "travis", "ts-node", "tsup", "tsx", "typedoc", "typescript", "unbuild", "unocss", "vercel-og", "vike", "vite", "vitest", "vue", "webdriver-io", "webpack", "wireit", "wrangler", "xo", "yarn", "yorkie"];
1
+ export type PluginName = 'angular' | 'astro' | 'ava' | 'babel' | 'c8' | 'capacitor' | 'changesets' | 'commitizen' | 'commitlint' | 'cspell' | 'cucumber' | 'cypress' | 'dotenv' | 'drizzle' | 'eleventy' | 'eslint' | 'expo' | 'gatsby' | 'github-actions' | 'glob' | 'graphql-codegen' | 'husky' | 'jest' | 'karma' | 'ladle' | 'lefthook' | 'lint-staged' | 'linthtml' | 'lockfile-lint' | 'lost-pixel' | 'markdownlint' | 'mocha' | 'moonrepo' | 'msw' | 'nest' | 'netlify' | 'next' | 'node' | 'node-test-runner' | 'nodemon' | 'npm-package-json-lint' | 'nuxt' | 'nx' | 'nyc' | 'oclif' | 'playwright' | 'playwright-ct' | 'playwright-test' | 'plop' | 'postcss' | 'preconstruct' | 'prettier' | 'react-cosmos' | 'release-it' | 'remark' | 'remix' | 'rollup' | 'rsbuild' | 'rspack' | 'semantic-release' | 'sentry' | 'simple-git-hooks' | 'size-limit' | 'storybook' | 'stryker' | 'stylelint' | 'svelte' | 'syncpack' | 'tailwind' | 'travis' | 'ts-node' | 'tsup' | 'tsx' | 'typedoc' | 'typescript' | 'unbuild' | 'unocss' | 'vercel-og' | 'vike' | 'vite' | 'vitest' | 'vue' | 'webdriver-io' | 'webpack' | 'wireit' | 'wrangler' | 'xo' | 'yarn' | 'yorkie';
2
+ export declare const pluginNames: readonly ["angular", "astro", "ava", "babel", "c8", "capacitor", "changesets", "commitizen", "commitlint", "cspell", "cucumber", "cypress", "dotenv", "drizzle", "eleventy", "eslint", "expo", "gatsby", "github-actions", "glob", "graphql-codegen", "husky", "jest", "karma", "ladle", "lefthook", "lint-staged", "linthtml", "lockfile-lint", "lost-pixel", "markdownlint", "mocha", "moonrepo", "msw", "nest", "netlify", "next", "node", "node-test-runner", "nodemon", "npm-package-json-lint", "nuxt", "nx", "nyc", "oclif", "playwright", "playwright-ct", "playwright-test", "plop", "postcss", "preconstruct", "prettier", "react-cosmos", "release-it", "remark", "remix", "rollup", "rsbuild", "rspack", "semantic-release", "sentry", "simple-git-hooks", "size-limit", "storybook", "stryker", "stylelint", "svelte", "syncpack", "tailwind", "travis", "ts-node", "tsup", "tsx", "typedoc", "typescript", "unbuild", "unocss", "vercel-og", "vike", "vite", "vitest", "vue", "webdriver-io", "webpack", "wireit", "wrangler", "xo", "yarn", "yorkie"];
@@ -15,12 +15,14 @@ export const pluginNames = [
15
15
  'drizzle',
16
16
  'eleventy',
17
17
  'eslint',
18
+ 'expo',
18
19
  'gatsby',
19
20
  'github-actions',
20
21
  'glob',
21
22
  'graphql-codegen',
22
23
  'husky',
23
24
  'jest',
25
+ 'karma',
24
26
  'ladle',
25
27
  'lefthook',
26
28
  'lint-staged',
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "5.39.4";
1
+ export declare const version = "5.41.0";
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- export const version = '5.39.4';
1
+ export const version = '5.41.0';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "knip",
3
- "version": "5.39.4",
3
+ "version": "5.41.0",
4
4
  "description": "Find unused files, dependencies and exports in your TypeScript and JavaScript projects",
5
5
  "homepage": "https://knip.dev",
6
6
  "repository": {
package/schema.json CHANGED
@@ -344,6 +344,10 @@
344
344
  "title": "ESLint plugin configuration (https://knip.dev/reference/plugins/eslint)",
345
345
  "$ref": "#/definitions/plugin"
346
346
  },
347
+ "expo": {
348
+ "title": "Expo plugin configuration (https://knip.dev/reference/plugins/expo)",
349
+ "$ref": "#/definitions/plugin"
350
+ },
347
351
  "gatsby": {
348
352
  "title": "Gatsby plugin configuration (https://knip.dev/reference/plugins/gatsby)",
349
353
  "$ref": "#/definitions/plugin"
@@ -364,6 +368,10 @@
364
368
  "title": "Jest plugin configuration (https://knip.dev/reference/plugins/jest)",
365
369
  "$ref": "#/definitions/plugin"
366
370
  },
371
+ "karma": {
372
+ "title": "karma plugin configuration (https://knip.dev/reference/plugins/karma)",
373
+ "$ref": "#/definitions/plugin"
374
+ },
367
375
  "ladle": {
368
376
  "title": "ladle plugin configuration (https://knip.dev/reference/plugins/ladle)",
369
377
  "$ref": "#/definitions/plugin"