From 54b9d4f6ed2e9ceac59043c1d55df7d32ff2c312 Mon Sep 17 00:00:00 2001 From: Evan Bacon Date: Wed, 9 Dec 2020 14:51:45 -0800 Subject: [PATCH] fix mod serialization (#3008) --- packages/config/src/Serialize.ts | 5 ++++- packages/config/src/__tests__/fixtures/plugins/my-plugin.js | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/config/src/Serialize.ts b/packages/config/src/Serialize.ts index e2a2c9f066..daedfd20f0 100644 --- a/packages/config/src/Serialize.ts +++ b/packages/config/src/Serialize.ts @@ -64,7 +64,10 @@ export function serializeAfterStaticPlugins(val: any): any { const output: { [key: string]: any } = {}; for (const property in val) { if (val.hasOwnProperty(property)) { - if (property === 'plugins' && Array.isArray(val[property])) { + if (property === 'mods') { + // Don't serialize mods + output[property] = val[property]; + } else if (property === 'plugins' && Array.isArray(val[property])) { // Serialize the mods by removing any config plugins output[property] = val[property].map(serializeAndEvaluatePlugin); } else { diff --git a/packages/config/src/__tests__/fixtures/plugins/my-plugin.js b/packages/config/src/__tests__/fixtures/plugins/my-plugin.js index cda76a1292..6fdfe9f21f 100644 --- a/packages/config/src/__tests__/fixtures/plugins/my-plugin.js +++ b/packages/config/src/__tests__/fixtures/plugins/my-plugin.js @@ -1,4 +1,7 @@ +const { withAndroidManifest } = require('@expo/config-plugins'); + module.exports = config => { config.slug = 'from-custom-plugin'; - return config; + // test that the mods don't get serialized + return withAndroidManifest(config, config => config); };