11a9513ffSŁukasz Kosmatyimport { createRunOncePlugin } from '@expo/config-plugins';
28a424bebSJames Ideimport { ExpoConfig } from 'expo/config';
34b57290aSVille Immonen// @ts-expect-error missing types
44b57290aSVille Immonenimport withDevLauncher from 'expo-dev-launcher/app.plugin';
5*04e66b12SGabriel Donadel Dall'Agnolimport type { PluginConfigType } from 'expo-dev-launcher/plugin/build/pluginConfig';
64b57290aSVille Immonen// @ts-expect-error missing types
74b57290aSVille Immonenimport withDevMenu from 'expo-dev-menu/app.plugin';
84b57290aSVille Immonen
9f1bb9346SEvan Baconimport { withGeneratedAndroidScheme } from './withGeneratedAndroidScheme';
10f1bb9346SEvan Baconimport { withGeneratedIosScheme } from './withGeneratedIosScheme';
11dd3fc24cSVille Immonen
124b57290aSVille Immonenconst pkg = require('expo-dev-client/package.json');
134b57290aSVille Immonen
14*04e66b12SGabriel Donadel Dall'Agnolfunction withDevClient(config: ExpoConfig, props: PluginConfigType) {
154b57290aSVille Immonen  config = withDevMenu(config);
16*04e66b12SGabriel Donadel Dall'Agnol  config = withDevLauncher(config, props);
17dd3fc24cSVille Immonen  config = withGeneratedAndroidScheme(config);
18dd3fc24cSVille Immonen  config = withGeneratedIosScheme(config);
194b57290aSVille Immonen  return config;
204b57290aSVille Immonen}
214b57290aSVille Immonen
22*04e66b12SGabriel Donadel Dall'Agnolexport default createRunOncePlugin<PluginConfigType>(withDevClient, pkg.name, pkg.version);
23