1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4  value: true
5});
6exports.configureEasBuildAsync = configureEasBuildAsync;
7exports.getEasBuildGradlePath = getEasBuildGradlePath;
8exports.isEasBuildGradleConfiguredAsync = isEasBuildGradleConfiguredAsync;
9
10function _fs() {
11  const data = _interopRequireDefault(require("fs"));
12
13  _fs = function () {
14    return data;
15  };
16
17  return data;
18}
19
20function _path() {
21  const data = _interopRequireDefault(require("path"));
22
23  _path = function () {
24    return data;
25  };
26
27  return data;
28}
29
30function _EasBuildGradleScript() {
31  const data = _interopRequireDefault(require("./EasBuildGradleScript"));
32
33  _EasBuildGradleScript = function () {
34    return data;
35  };
36
37  return data;
38}
39
40function Paths() {
41  const data = _interopRequireWildcard(require("./Paths"));
42
43  Paths = function () {
44    return data;
45  };
46
47  return data;
48}
49
50function _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); }
51
52function _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; }
53
54function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
55
56const APPLY_EAS_GRADLE = 'apply from: "./eas-build.gradle"';
57
58function hasApplyLine(content, applyLine) {
59  return content.replace(/\r\n/g, '\n').split('\n') // Check for both single and double quotes
60  .some(line => line === applyLine || line === applyLine.replace(/"/g, "'"));
61}
62
63function getEasBuildGradlePath(projectRoot) {
64  return _path().default.join(projectRoot, 'android', 'app', 'eas-build.gradle');
65}
66
67async function configureEasBuildAsync(projectRoot) {
68  const buildGradlePath = Paths().getAppBuildGradleFilePath(projectRoot);
69  const easGradlePath = getEasBuildGradlePath(projectRoot);
70  await _fs().default.promises.writeFile(easGradlePath, _EasBuildGradleScript().default);
71  const buildGradleContent = await _fs().default.promises.readFile(_path().default.join(buildGradlePath), 'utf8');
72  const hasEasGradleApply = hasApplyLine(buildGradleContent, APPLY_EAS_GRADLE);
73
74  if (!hasEasGradleApply) {
75    await _fs().default.promises.writeFile(buildGradlePath, `${buildGradleContent.trim()}\n${APPLY_EAS_GRADLE}\n`);
76  }
77}
78
79async function isEasBuildGradleConfiguredAsync(projectRoot) {
80  const buildGradlePath = Paths().getAppBuildGradleFilePath(projectRoot);
81  const easGradlePath = getEasBuildGradlePath(projectRoot);
82  const hasEasGradleFile = await _fs().default.existsSync(easGradlePath);
83  const buildGradleContent = await _fs().default.promises.readFile(_path().default.join(buildGradlePath), 'utf8');
84  const hasEasGradleApply = hasApplyLine(buildGradleContent, APPLY_EAS_GRADLE);
85  return hasEasGradleApply && hasEasGradleFile;
86}
87//# sourceMappingURL=EasBuild.js.map