1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4  value: true
5});
6exports.withConfigPlugins = void 0;
7function _configPlugins() {
8  const data = require("@expo/config-plugins");
9  _configPlugins = function () {
10    return data;
11  };
12  return data;
13}
14function _Serialize() {
15  const data = require("../Serialize");
16  _Serialize = function () {
17    return data;
18  };
19  return data;
20}
21/**
22 * Resolves static plugins array as config plugin functions.
23 *
24 * @param config
25 * @param projectRoot
26 */
27const withConfigPlugins = (config, skipPlugins) => {
28  var _config$plugins;
29  // @ts-ignore: plugins not on config type yet -- TODO
30  if (!Array.isArray(config.plugins) || !((_config$plugins = config.plugins) !== null && _config$plugins !== void 0 && _config$plugins.length)) {
31    return config;
32  }
33  if (!skipPlugins) {
34    // Resolve and evaluate plugins
35    // @ts-ignore: TODO: add plugins to the config schema
36    config = (0, _configPlugins().withPlugins)(config, config.plugins);
37  } else {
38    // Delete the plugins array in case someone added functions or other values which cannot be automatically serialized.
39    delete config.plugins;
40  }
41  // plugins aren't serialized by default, serialize the plugins after resolving them.
42  return (0, _Serialize().serializeAfterStaticPlugins)(config);
43};
44exports.withConfigPlugins = withConfigPlugins;
45//# sourceMappingURL=withConfigPlugins.js.map