1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4  value: true
5});
6exports.configureEasBuildAsync = configureEasBuildAsync;
7exports.getEasBuildGradlePath = getEasBuildGradlePath;
8exports.isEasBuildGradleConfiguredAsync = isEasBuildGradleConfiguredAsync;
9function _fs() {
10  const data = _interopRequireDefault(require("fs"));
11  _fs = function () {
12    return data;
13  };
14  return data;
15}
16function _path() {
17  const data = _interopRequireDefault(require("path"));
18  _path = function () {
19    return data;
20  };
21  return data;
22}
23function _EasBuildGradleScript() {
24  const data = _interopRequireDefault(require("./EasBuildGradleScript"));
25  _EasBuildGradleScript = function () {
26    return data;
27  };
28  return data;
29}
30function Paths() {
31  const data = _interopRequireWildcard(require("./Paths"));
32  Paths = function () {
33    return data;
34  };
35  return data;
36}
37function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
38function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
40const APPLY_EAS_GRADLE = 'apply from: "./eas-build.gradle"';
41function hasApplyLine(content, applyLine) {
42  return content.replace(/\r\n/g, '\n').split('\n')
43  // Check for both single and double quotes
44  .some(line => line === applyLine || line === applyLine.replace(/"/g, "'"));
45}
46function getEasBuildGradlePath(projectRoot) {
47  return _path().default.join(projectRoot, 'android', 'app', 'eas-build.gradle');
48}
49async function configureEasBuildAsync(projectRoot) {
50  const buildGradlePath = Paths().getAppBuildGradleFilePath(projectRoot);
51  const easGradlePath = getEasBuildGradlePath(projectRoot);
52  await _fs().default.promises.writeFile(easGradlePath, _EasBuildGradleScript().default);
53  const buildGradleContent = await _fs().default.promises.readFile(_path().default.join(buildGradlePath), 'utf8');
54  const hasEasGradleApply = hasApplyLine(buildGradleContent, APPLY_EAS_GRADLE);
55  if (!hasEasGradleApply) {
56    await _fs().default.promises.writeFile(buildGradlePath, `${buildGradleContent.trim()}\n${APPLY_EAS_GRADLE}\n`);
57  }
58}
59async function isEasBuildGradleConfiguredAsync(projectRoot) {
60  const buildGradlePath = Paths().getAppBuildGradleFilePath(projectRoot);
61  const easGradlePath = getEasBuildGradlePath(projectRoot);
62  const hasEasGradleFile = await _fs().default.existsSync(easGradlePath);
63  const buildGradleContent = await _fs().default.promises.readFile(_path().default.join(buildGradlePath), 'utf8');
64  const hasEasGradleApply = hasApplyLine(buildGradleContent, APPLY_EAS_GRADLE);
65  return hasEasGradleApply && hasEasGradleFile;
66}
67//# sourceMappingURL=EasBuild.js.map