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