in src/extension/exponent/exponentHelper.ts [310:347]
private async patchAppJson(isExpo: boolean = true): Promise<void> {
let appJson: AppJson;
try {
appJson = await this.readAppJson();
} catch {
// if app.json doesn't exist but it's ok, we will create it
appJson = <AppJson>{};
}
const packageName = await this.getPackageName();
const expoConfig = <ExpConfig>(appJson.expo || {});
if (!expoConfig.name || !expoConfig.slug) {
expoConfig.slug = expoConfig.slug || appJson.name || packageName.replace(" ", "-");
expoConfig.name = expoConfig.name || appJson.name || packageName;
appJson.expo = expoConfig;
}
if (!appJson.name) {
appJson.name = packageName;
}
if (!appJson.expo.sdkVersion) {
const sdkVersion = await this.exponentSdk(true);
appJson.expo.sdkVersion = sdkVersion;
}
if (!isExpo) {
// entryPoint must be relative
// https://docs.expo.io/versions/latest/workflow/configuration/#entrypoint
appJson.expo.entryPoint = this.dotvscodePath(EXPONENT_INDEX, false);
}
appJson = appJson ? await this.writeAppJson(appJson) : appJson;
if (!isExpo) {
await this.createExpoEntry(appJson.expo.name);
}
}