@expo/config-plugins 5.0.3 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/Plugin.types.d.ts +7 -7
- package/build/Plugin.types.js +0 -9
- package/build/Plugin.types.js.map +1 -1
- package/build/android/AllowBackup.js +0 -15
- package/build/android/AllowBackup.js.map +1 -1
- package/build/android/BuildProperties.js +2 -16
- package/build/android/BuildProperties.js.map +1 -1
- package/build/android/Colors.js +3 -25
- package/build/android/Colors.js.map +1 -1
- package/build/android/EasBuild.js +2 -22
- package/build/android/EasBuild.js.map +1 -1
- package/build/android/EasBuildGradleScript.js.map +1 -1
- package/build/android/GoogleMapsApiKey.js +0 -12
- package/build/android/GoogleMapsApiKey.js.map +1 -1
- package/build/android/GoogleServices.js +10 -48
- package/build/android/GoogleServices.js.map +1 -1
- package/build/android/IntentFilters.d.ts +1 -1
- package/build/android/IntentFilters.js +8 -24
- package/build/android/IntentFilters.js.map +1 -1
- package/build/android/Manifest.d.ts +19 -19
- package/build/android/Manifest.js +7 -66
- package/build/android/Manifest.js.map +1 -1
- package/build/android/Name.js +6 -27
- package/build/android/Name.js.map +1 -1
- package/build/android/Orientation.js +2 -12
- package/build/android/Orientation.js.map +1 -1
- package/build/android/Package.js +26 -111
- package/build/android/Package.js.map +1 -1
- package/build/android/Paths.d.ts +2 -2
- package/build/android/Paths.js +0 -47
- package/build/android/Paths.js.map +1 -1
- package/build/android/Permissions.js +8 -52
- package/build/android/Permissions.js.map +1 -1
- package/build/android/PrimaryColor.js +0 -18
- package/build/android/PrimaryColor.js.map +1 -1
- package/build/android/Properties.d.ts +1 -1
- package/build/android/Properties.js +0 -9
- package/build/android/Properties.js.map +1 -1
- package/build/android/Resources.d.ts +4 -4
- package/build/android/Resources.js +9 -29
- package/build/android/Resources.js.map +1 -1
- package/build/android/Scheme.d.ts +1 -1
- package/build/android/Scheme.js +13 -66
- package/build/android/Scheme.js.map +1 -1
- package/build/android/StatusBar.js +5 -33
- package/build/android/StatusBar.js.map +1 -1
- package/build/android/Strings.js +0 -14
- package/build/android/Strings.js.map +1 -1
- package/build/android/Styles.js +7 -34
- package/build/android/Styles.js.map +1 -1
- package/build/android/Updates.d.ts +2 -0
- package/build/android/Updates.js +50 -47
- package/build/android/Updates.js.map +1 -1
- package/build/android/Version.js +3 -29
- package/build/android/Version.js.map +1 -1
- package/build/android/WindowSoftInputMode.js +0 -14
- package/build/android/WindowSoftInputMode.js.map +1 -1
- package/build/android/codeMod.js +6 -22
- package/build/android/codeMod.js.map +1 -1
- package/build/android/index.js +0 -94
- package/build/android/index.js.map +1 -1
- package/build/index.js +2 -65
- package/build/index.js.map +1 -1
- package/build/ios/Bitcode.d.ts +1 -1
- package/build/ios/Bitcode.js +8 -28
- package/build/ios/Bitcode.js.map +1 -1
- package/build/ios/BuildProperties.js +2 -14
- package/build/ios/BuildProperties.js.map +1 -1
- package/build/ios/BuildScheme.js +2 -34
- package/build/ios/BuildScheme.js.map +1 -1
- package/build/ios/BundleIdentifier.js +13 -72
- package/build/ios/BundleIdentifier.js.map +1 -1
- package/build/ios/DeviceFamily.js +6 -24
- package/build/ios/DeviceFamily.js.map +1 -1
- package/build/ios/Entitlements.js +4 -45
- package/build/ios/Entitlements.js.map +1 -1
- package/build/ios/Google.d.ts +2 -2
- package/build/ios/Google.js +11 -66
- package/build/ios/Google.js.map +1 -1
- package/build/ios/IosConfig.types.d.ts +6 -11
- package/build/ios/IosConfig.types.js.map +1 -1
- package/build/ios/Locales.d.ts +3 -3
- package/build/ios/Locales.js +12 -43
- package/build/ios/Locales.js.map +1 -1
- package/build/ios/Maps.js +15 -53
- package/build/ios/Maps.js.map +1 -1
- package/build/ios/Name.js +7 -31
- package/build/ios/Name.js.map +1 -1
- package/build/ios/Orientation.js +2 -10
- package/build/ios/Orientation.js.map +1 -1
- package/build/ios/Paths.d.ts +2 -2
- package/build/ios/Paths.js +8 -73
- package/build/ios/Paths.js.map +1 -1
- package/build/ios/Permissions.js +1 -16
- package/build/ios/Permissions.js.map +1 -1
- package/build/ios/ProvisioningProfile.d.ts +1 -1
- package/build/ios/ProvisioningProfile.js +0 -18
- package/build/ios/ProvisioningProfile.js.map +1 -1
- package/build/ios/RequiresFullScreen.js +19 -31
- package/build/ios/RequiresFullScreen.js.map +1 -1
- package/build/ios/Scheme.js +12 -34
- package/build/ios/Scheme.js.map +1 -1
- package/build/ios/Swift.js +16 -50
- package/build/ios/Swift.js.map +1 -1
- package/build/ios/Target.js +0 -30
- package/build/ios/Target.js.map +1 -1
- package/build/ios/Updates.js +10 -49
- package/build/ios/Updates.js.map +1 -1
- package/build/ios/UsesNonExemptEncryption.js +4 -10
- package/build/ios/UsesNonExemptEncryption.js.map +1 -1
- package/build/ios/Version.js +4 -11
- package/build/ios/Version.js.map +1 -1
- package/build/ios/XcodeProjectFile.js +5 -23
- package/build/ios/XcodeProjectFile.js.map +1 -1
- package/build/ios/codeMod.js +19 -60
- package/build/ios/codeMod.js.map +1 -1
- package/build/ios/index.js +0 -97
- package/build/ios/index.js.map +1 -1
- package/build/ios/utils/Xcodeproj.d.ts +6 -6
- package/build/ios/utils/Xcodeproj.js +15 -101
- package/build/ios/utils/Xcodeproj.js.map +1 -1
- package/build/ios/utils/getInfoPlistPath.js +2 -15
- package/build/ios/utils/getInfoPlistPath.js.map +1 -1
- package/build/ios/utils/string.js +0 -1
- package/build/ios/utils/string.js.map +1 -1
- package/build/plugins/android-plugins.d.ts +2 -2
- package/build/plugins/android-plugins.js +11 -42
- package/build/plugins/android-plugins.js.map +1 -1
- package/build/plugins/createBaseMod.d.ts +3 -3
- package/build/plugins/createBaseMod.js +8 -25
- package/build/plugins/createBaseMod.js.map +1 -1
- package/build/plugins/ios-plugins.d.ts +2 -2
- package/build/plugins/ios-plugins.js +8 -48
- package/build/plugins/ios-plugins.js.map +1 -1
- package/build/plugins/mod-compiler.js +21 -72
- package/build/plugins/mod-compiler.js.map +1 -1
- package/build/plugins/withAndroidBaseMods.d.ts +1 -1
- package/build/plugins/withAndroidBaseMods.js +4 -89
- package/build/plugins/withAndroidBaseMods.js.map +1 -1
- package/build/plugins/withDangerousMod.js +0 -5
- package/build/plugins/withDangerousMod.js.map +1 -1
- package/build/plugins/withIosBaseMods.d.ts +1 -1
- package/build/plugins/withIosBaseMods.js +26 -118
- package/build/plugins/withIosBaseMods.js.map +1 -1
- package/build/plugins/withMod.d.ts +1 -1
- package/build/plugins/withMod.js +24 -59
- package/build/plugins/withMod.js.map +1 -1
- package/build/plugins/withPlugins.js +0 -9
- package/build/plugins/withPlugins.js.map +1 -1
- package/build/plugins/withRunOnce.js +3 -9
- package/build/plugins/withRunOnce.js.map +1 -1
- package/build/plugins/withStaticPlugin.js +21 -43
- package/build/plugins/withStaticPlugin.js.map +1 -1
- package/build/utils/BuildProperties.types.d.ts +2 -2
- package/build/utils/BuildProperties.types.js.map +1 -1
- package/build/utils/Updates.d.ts +3 -1
- package/build/utils/Updates.js +18 -77
- package/build/utils/Updates.js.map +1 -1
- package/build/utils/XML.d.ts +1 -1
- package/build/utils/XML.js +7 -44
- package/build/utils/XML.js.map +1 -1
- package/build/utils/commonCodeMod.js +2 -10
- package/build/utils/commonCodeMod.js.map +1 -1
- package/build/utils/errors.d.ts +1 -1
- package/build/utils/errors.js +3 -11
- package/build/utils/errors.js.map +1 -1
- package/build/utils/fs.js +1 -12
- package/build/utils/fs.js.map +1 -1
- package/build/utils/generateCode.d.ts +1 -1
- package/build/utils/generateCode.js +8 -25
- package/build/utils/generateCode.js.map +1 -1
- package/build/utils/history.d.ts +1 -1
- package/build/utils/history.js +0 -6
- package/build/utils/history.js.map +1 -1
- package/build/utils/matchBrackets.d.ts +3 -3
- package/build/utils/matchBrackets.js +2 -17
- package/build/utils/matchBrackets.js.map +1 -1
- package/build/utils/modules.js +0 -10
- package/build/utils/modules.js.map +1 -1
- package/build/utils/obj.js +0 -4
- package/build/utils/obj.js.map +1 -1
- package/build/utils/plugin-resolver.js +25 -69
- package/build/utils/plugin-resolver.js.map +1 -1
- package/build/utils/sortObject.js +4 -10
- package/build/utils/sortObject.js.map +1 -1
- package/build/utils/versions.js +0 -10
- package/build/utils/versions.js.map +1 -1
- package/build/utils/warnings.js +1 -9
- package/build/utils/warnings.js.map +1 -1
- package/package.json +5 -5
package/build/android/Updates.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Config = void 0;
|
|
7
|
+
exports.applyRuntimeVersionFromConfig = applyRuntimeVersionFromConfig;
|
|
7
8
|
exports.areVersionsSynced = areVersionsSynced;
|
|
8
9
|
exports.ensureBuildGradleContainsConfigurationScript = ensureBuildGradleContainsConfigurationScript;
|
|
9
10
|
exports.formatApplyLineForBuildGradle = formatApplyLineForBuildGradle;
|
|
@@ -13,63 +14,66 @@ exports.isMainApplicationMetaDataSynced = isMainApplicationMetaDataSynced;
|
|
|
13
14
|
exports.setUpdatesConfig = setUpdatesConfig;
|
|
14
15
|
exports.setVersionsConfig = setVersionsConfig;
|
|
15
16
|
exports.withUpdates = void 0;
|
|
16
|
-
|
|
17
17
|
function _path() {
|
|
18
18
|
const data = _interopRequireDefault(require("path"));
|
|
19
|
-
|
|
20
19
|
_path = function () {
|
|
21
20
|
return data;
|
|
22
21
|
};
|
|
23
|
-
|
|
24
22
|
return data;
|
|
25
23
|
}
|
|
26
|
-
|
|
27
24
|
function _resolveFrom() {
|
|
28
25
|
const data = _interopRequireDefault(require("resolve-from"));
|
|
29
|
-
|
|
30
26
|
_resolveFrom = function () {
|
|
31
27
|
return data;
|
|
32
28
|
};
|
|
33
|
-
|
|
34
29
|
return data;
|
|
35
30
|
}
|
|
36
|
-
|
|
37
31
|
function _androidPlugins() {
|
|
38
32
|
const data = require("../plugins/android-plugins");
|
|
39
|
-
|
|
40
33
|
_androidPlugins = function () {
|
|
41
34
|
return data;
|
|
42
35
|
};
|
|
43
|
-
|
|
44
36
|
return data;
|
|
45
37
|
}
|
|
46
|
-
|
|
38
|
+
function _withPlugins() {
|
|
39
|
+
const data = require("../plugins/withPlugins");
|
|
40
|
+
_withPlugins = function () {
|
|
41
|
+
return data;
|
|
42
|
+
};
|
|
43
|
+
return data;
|
|
44
|
+
}
|
|
47
45
|
function _Updates() {
|
|
48
46
|
const data = require("../utils/Updates");
|
|
49
|
-
|
|
50
47
|
_Updates = function () {
|
|
51
48
|
return data;
|
|
52
49
|
};
|
|
53
|
-
|
|
54
50
|
return data;
|
|
55
51
|
}
|
|
56
|
-
|
|
57
52
|
function _Manifest() {
|
|
58
53
|
const data = require("./Manifest");
|
|
59
|
-
|
|
60
54
|
_Manifest = function () {
|
|
61
55
|
return data;
|
|
62
56
|
};
|
|
63
|
-
|
|
64
57
|
return data;
|
|
65
58
|
}
|
|
66
|
-
|
|
59
|
+
function _Resources() {
|
|
60
|
+
const data = require("./Resources");
|
|
61
|
+
_Resources = function () {
|
|
62
|
+
return data;
|
|
63
|
+
};
|
|
64
|
+
return data;
|
|
65
|
+
}
|
|
66
|
+
function _Strings() {
|
|
67
|
+
const data = require("./Strings");
|
|
68
|
+
_Strings = function () {
|
|
69
|
+
return data;
|
|
70
|
+
};
|
|
71
|
+
return data;
|
|
72
|
+
}
|
|
67
73
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
68
|
-
|
|
69
74
|
const CREATE_MANIFEST_ANDROID_PATH = 'expo-updates/scripts/create-manifest-android.gradle';
|
|
70
75
|
let Config;
|
|
71
76
|
exports.Config = Config;
|
|
72
|
-
|
|
73
77
|
(function (Config) {
|
|
74
78
|
Config["ENABLED"] = "expo.modules.updates.ENABLED";
|
|
75
79
|
Config["CHECK_ON_LAUNCH"] = "expo.modules.updates.EXPO_UPDATES_CHECK_ON_LAUNCH";
|
|
@@ -82,9 +86,16 @@ exports.Config = Config;
|
|
|
82
86
|
Config["CODE_SIGNING_CERTIFICATE"] = "expo.modules.updates.CODE_SIGNING_CERTIFICATE";
|
|
83
87
|
Config["CODE_SIGNING_METADATA"] = "expo.modules.updates.CODE_SIGNING_METADATA";
|
|
84
88
|
})(Config || (exports.Config = Config = {}));
|
|
85
|
-
|
|
86
89
|
const withUpdates = (config, {
|
|
87
90
|
expoUsername
|
|
91
|
+
}) => {
|
|
92
|
+
return (0, _withPlugins().withPlugins)(config, [[withUpdatesManifest, {
|
|
93
|
+
expoUsername
|
|
94
|
+
}], withRuntimeVersionResource]);
|
|
95
|
+
};
|
|
96
|
+
exports.withUpdates = withUpdates;
|
|
97
|
+
const withUpdatesManifest = (config, {
|
|
98
|
+
expoUsername
|
|
88
99
|
}) => {
|
|
89
100
|
return (0, _androidPlugins().withAndroidManifest)(config, config => {
|
|
90
101
|
const projectRoot = config.modRequest.projectRoot;
|
|
@@ -93,54 +104,58 @@ const withUpdates = (config, {
|
|
|
93
104
|
return config;
|
|
94
105
|
});
|
|
95
106
|
};
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
107
|
+
const withRuntimeVersionResource = (0, _androidPlugins().createStringsXmlPlugin)(applyRuntimeVersionFromConfig, 'withRuntimeVersionResource');
|
|
108
|
+
function applyRuntimeVersionFromConfig(config, stringsJSON) {
|
|
109
|
+
const runtimeVersion = (0, _Updates().getRuntimeVersionNullable)(config, 'android');
|
|
110
|
+
if (runtimeVersion) {
|
|
111
|
+
return (0, _Strings().setStringItem)([(0, _Resources().buildResourceItem)({
|
|
112
|
+
name: 'expo_runtime_version',
|
|
113
|
+
value: runtimeVersion
|
|
114
|
+
})], stringsJSON);
|
|
115
|
+
}
|
|
116
|
+
return (0, _Strings().removeStringItem)('expo_runtime_version', stringsJSON);
|
|
117
|
+
}
|
|
99
118
|
function setUpdatesConfig(projectRoot, config, androidManifest, username, expoUpdatesPackageVersion) {
|
|
100
119
|
const mainApplication = (0, _Manifest().getMainApplicationOrThrow)(androidManifest);
|
|
101
120
|
(0, _Manifest().addMetaDataItemToMainApplication)(mainApplication, Config.ENABLED, String((0, _Updates().getUpdatesEnabled)(config)));
|
|
102
121
|
(0, _Manifest().addMetaDataItemToMainApplication)(mainApplication, Config.CHECK_ON_LAUNCH, (0, _Updates().getUpdatesCheckOnLaunch)(config, expoUpdatesPackageVersion));
|
|
103
122
|
(0, _Manifest().addMetaDataItemToMainApplication)(mainApplication, Config.LAUNCH_WAIT_MS, String((0, _Updates().getUpdatesTimeout)(config)));
|
|
104
123
|
const updateUrl = (0, _Updates().getUpdateUrl)(config, username);
|
|
105
|
-
|
|
106
124
|
if (updateUrl) {
|
|
107
125
|
(0, _Manifest().addMetaDataItemToMainApplication)(mainApplication, Config.UPDATE_URL, updateUrl);
|
|
108
126
|
} else {
|
|
109
127
|
(0, _Manifest().removeMetaDataItemFromMainApplication)(mainApplication, Config.UPDATE_URL);
|
|
110
128
|
}
|
|
111
|
-
|
|
112
129
|
const codeSigningCertificate = (0, _Updates().getUpdatesCodeSigningCertificate)(projectRoot, config);
|
|
113
|
-
|
|
114
130
|
if (codeSigningCertificate) {
|
|
115
131
|
(0, _Manifest().addMetaDataItemToMainApplication)(mainApplication, Config.CODE_SIGNING_CERTIFICATE, codeSigningCertificate);
|
|
116
132
|
} else {
|
|
117
133
|
(0, _Manifest().removeMetaDataItemFromMainApplication)(mainApplication, Config.CODE_SIGNING_CERTIFICATE);
|
|
118
134
|
}
|
|
119
|
-
|
|
120
135
|
const codeSigningMetadata = (0, _Updates().getUpdatesCodeSigningMetadataStringified)(config);
|
|
121
|
-
|
|
122
136
|
if (codeSigningMetadata) {
|
|
123
137
|
(0, _Manifest().addMetaDataItemToMainApplication)(mainApplication, Config.CODE_SIGNING_METADATA, codeSigningMetadata);
|
|
124
138
|
} else {
|
|
125
139
|
(0, _Manifest().removeMetaDataItemFromMainApplication)(mainApplication, Config.CODE_SIGNING_METADATA);
|
|
126
140
|
}
|
|
127
|
-
|
|
141
|
+
const requestHeaders = (0, _Updates().getUpdatesRequestHeadersStringified)(config);
|
|
142
|
+
if (requestHeaders) {
|
|
143
|
+
(0, _Manifest().addMetaDataItemToMainApplication)(mainApplication, Config.UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY, requestHeaders);
|
|
144
|
+
} else {
|
|
145
|
+
(0, _Manifest().removeMetaDataItemFromMainApplication)(mainApplication, Config.UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY);
|
|
146
|
+
}
|
|
128
147
|
return setVersionsConfig(config, androidManifest);
|
|
129
148
|
}
|
|
130
|
-
|
|
131
149
|
function setVersionsConfig(config, androidManifest) {
|
|
132
150
|
const mainApplication = (0, _Manifest().getMainApplicationOrThrow)(androidManifest);
|
|
133
151
|
const runtimeVersion = (0, _Updates().getRuntimeVersionNullable)(config, 'android');
|
|
134
|
-
|
|
135
152
|
if (!runtimeVersion && (0, _Manifest().findMetaDataItem)(mainApplication, Config.RUNTIME_VERSION) > -1) {
|
|
136
153
|
throw new Error('A runtime version is set in your AndroidManifest.xml, but is missing from your app.json/app.config.js. Please either set runtimeVersion in your app.json/app.config.js or remove expo.modules.updates.EXPO_RUNTIME_VERSION from your AndroidManifest.xml.');
|
|
137
154
|
}
|
|
138
|
-
|
|
139
155
|
const sdkVersion = (0, _Updates().getSDKVersion)(config);
|
|
140
|
-
|
|
141
156
|
if (runtimeVersion) {
|
|
142
157
|
(0, _Manifest().removeMetaDataItemFromMainApplication)(mainApplication, Config.SDK_VERSION);
|
|
143
|
-
(0, _Manifest().addMetaDataItemToMainApplication)(mainApplication, Config.RUNTIME_VERSION,
|
|
158
|
+
(0, _Manifest().addMetaDataItemToMainApplication)(mainApplication, Config.RUNTIME_VERSION, '@string/expo_runtime_version');
|
|
144
159
|
} else if (sdkVersion) {
|
|
145
160
|
/**
|
|
146
161
|
* runtime version maybe null in projects using classic updates. In that
|
|
@@ -152,64 +167,52 @@ function setVersionsConfig(config, androidManifest) {
|
|
|
152
167
|
(0, _Manifest().removeMetaDataItemFromMainApplication)(mainApplication, Config.RUNTIME_VERSION);
|
|
153
168
|
(0, _Manifest().removeMetaDataItemFromMainApplication)(mainApplication, Config.SDK_VERSION);
|
|
154
169
|
}
|
|
155
|
-
|
|
156
170
|
return androidManifest;
|
|
157
171
|
}
|
|
158
|
-
|
|
159
172
|
function ensureBuildGradleContainsConfigurationScript(projectRoot, buildGradleContents) {
|
|
160
173
|
if (!isBuildGradleConfigured(projectRoot, buildGradleContents)) {
|
|
161
174
|
let cleanedUpBuildGradleContents;
|
|
162
175
|
const isBuildGradleMisconfigured = buildGradleContents.split('\n').some(line => line.includes(CREATE_MANIFEST_ANDROID_PATH));
|
|
163
|
-
|
|
164
176
|
if (isBuildGradleMisconfigured) {
|
|
165
177
|
cleanedUpBuildGradleContents = buildGradleContents.replace(new RegExp(`(\n// Integration with Expo updates)?\n.*${CREATE_MANIFEST_ANDROID_PATH}.*\n`), '');
|
|
166
178
|
} else {
|
|
167
179
|
cleanedUpBuildGradleContents = buildGradleContents;
|
|
168
180
|
}
|
|
169
|
-
|
|
170
181
|
const gradleScriptApply = formatApplyLineForBuildGradle(projectRoot);
|
|
171
182
|
return `${cleanedUpBuildGradleContents}\n// Integration with Expo updates\n${gradleScriptApply}\n`;
|
|
172
183
|
} else {
|
|
173
184
|
return buildGradleContents;
|
|
174
185
|
}
|
|
175
186
|
}
|
|
176
|
-
|
|
177
187
|
function formatApplyLineForBuildGradle(projectRoot) {
|
|
178
188
|
const updatesGradleScriptPath = _resolveFrom().default.silent(projectRoot, CREATE_MANIFEST_ANDROID_PATH);
|
|
179
|
-
|
|
180
189
|
if (!updatesGradleScriptPath) {
|
|
181
190
|
throw new Error("Could not find the build script for Android. This could happen in case of outdated 'node_modules'. Run 'npm install' to make sure that it's up-to-date.");
|
|
182
191
|
}
|
|
183
|
-
|
|
184
192
|
const relativePath = _path().default.relative(_path().default.join(projectRoot, 'android', 'app'), updatesGradleScriptPath);
|
|
185
|
-
|
|
186
193
|
const posixPath = process.platform === 'win32' ? relativePath.replace(/\\/g, '/') : relativePath;
|
|
187
194
|
return `apply from: "${posixPath}"`;
|
|
188
195
|
}
|
|
189
|
-
|
|
190
196
|
function isBuildGradleConfigured(projectRoot, buildGradleContents) {
|
|
191
197
|
const androidBuildScript = formatApplyLineForBuildGradle(projectRoot);
|
|
192
|
-
return buildGradleContents.replace(/\r\n/g, '\n').split('\n')
|
|
198
|
+
return buildGradleContents.replace(/\r\n/g, '\n').split('\n')
|
|
199
|
+
// Check for both single and double quotes
|
|
193
200
|
.some(line => line === androidBuildScript || line === androidBuildScript.replace(/"/g, "'"));
|
|
194
201
|
}
|
|
195
|
-
|
|
196
202
|
function isMainApplicationMetaDataSet(androidManifest) {
|
|
197
203
|
const updateUrl = (0, _Manifest().getMainApplicationMetaDataValue)(androidManifest, Config.UPDATE_URL);
|
|
198
204
|
const runtimeVersion = (0, _Manifest().getMainApplicationMetaDataValue)(androidManifest, Config.RUNTIME_VERSION);
|
|
199
205
|
const sdkVersion = (0, _Manifest().getMainApplicationMetaDataValue)(androidManifest, Config.SDK_VERSION);
|
|
200
206
|
return Boolean(updateUrl && (sdkVersion || runtimeVersion));
|
|
201
207
|
}
|
|
202
|
-
|
|
203
208
|
function isMainApplicationMetaDataSynced(projectRoot, config, androidManifest, username) {
|
|
204
209
|
return (0, _Updates().getUpdateUrl)(config, username) === (0, _Manifest().getMainApplicationMetaDataValue)(androidManifest, Config.UPDATE_URL) && String((0, _Updates().getUpdatesEnabled)(config)) === (0, _Manifest().getMainApplicationMetaDataValue)(androidManifest, Config.ENABLED) && String((0, _Updates().getUpdatesTimeout)(config)) === (0, _Manifest().getMainApplicationMetaDataValue)(androidManifest, Config.LAUNCH_WAIT_MS) && (0, _Updates().getUpdatesCheckOnLaunch)(config) === (0, _Manifest().getMainApplicationMetaDataValue)(androidManifest, Config.CHECK_ON_LAUNCH) && (0, _Updates().getUpdatesCodeSigningCertificate)(projectRoot, config) === (0, _Manifest().getMainApplicationMetaDataValue)(androidManifest, Config.CODE_SIGNING_CERTIFICATE) && (0, _Updates().getUpdatesCodeSigningMetadataStringified)(config) === (0, _Manifest().getMainApplicationMetaDataValue)(androidManifest, Config.CODE_SIGNING_METADATA) && areVersionsSynced(config, androidManifest);
|
|
205
210
|
}
|
|
206
|
-
|
|
207
211
|
function areVersionsSynced(config, androidManifest) {
|
|
208
212
|
const expectedRuntimeVersion = (0, _Updates().getRuntimeVersionNullable)(config, 'android');
|
|
209
213
|
const expectedSdkVersion = (0, _Updates().getSDKVersion)(config);
|
|
210
214
|
const currentRuntimeVersion = (0, _Manifest().getMainApplicationMetaDataValue)(androidManifest, Config.RUNTIME_VERSION);
|
|
211
215
|
const currentSdkVersion = (0, _Manifest().getMainApplicationMetaDataValue)(androidManifest, Config.SDK_VERSION);
|
|
212
|
-
|
|
213
216
|
if (expectedRuntimeVersion !== null) {
|
|
214
217
|
return currentRuntimeVersion === expectedRuntimeVersion && currentSdkVersion === null;
|
|
215
218
|
} else if (expectedSdkVersion !== null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Updates.js","names":["CREATE_MANIFEST_ANDROID_PATH","Config","withUpdates","config","expoUsername","withAndroidManifest","projectRoot","modRequest","expoUpdatesPackageVersion","getExpoUpdatesPackageVersion","modResults","setUpdatesConfig","androidManifest","username","mainApplication","getMainApplicationOrThrow","addMetaDataItemToMainApplication","ENABLED","String","getUpdatesEnabled","CHECK_ON_LAUNCH","getUpdatesCheckOnLaunch","LAUNCH_WAIT_MS","getUpdatesTimeout","updateUrl","getUpdateUrl","UPDATE_URL","removeMetaDataItemFromMainApplication","codeSigningCertificate","getUpdatesCodeSigningCertificate","CODE_SIGNING_CERTIFICATE","codeSigningMetadata","getUpdatesCodeSigningMetadataStringified","CODE_SIGNING_METADATA","setVersionsConfig","runtimeVersion","getRuntimeVersionNullable","findMetaDataItem","RUNTIME_VERSION","Error","sdkVersion","getSDKVersion","SDK_VERSION","ensureBuildGradleContainsConfigurationScript","buildGradleContents","isBuildGradleConfigured","cleanedUpBuildGradleContents","isBuildGradleMisconfigured","split","some","line","includes","replace","RegExp","gradleScriptApply","formatApplyLineForBuildGradle","updatesGradleScriptPath","resolveFrom","silent","relativePath","path","relative","join","posixPath","process","platform","androidBuildScript","isMainApplicationMetaDataSet","getMainApplicationMetaDataValue","Boolean","isMainApplicationMetaDataSynced","areVersionsSynced","expectedRuntimeVersion","expectedSdkVersion","currentRuntimeVersion","currentSdkVersion"],"sources":["../../src/android/Updates.ts"],"sourcesContent":["import path from 'path';\nimport resolveFrom from 'resolve-from';\n\nimport { ConfigPlugin } from '../Plugin.types';\nimport { withAndroidManifest } from '../plugins/android-plugins';\nimport {\n ExpoConfigUpdates,\n getExpoUpdatesPackageVersion,\n getRuntimeVersionNullable,\n getSDKVersion,\n getUpdatesCheckOnLaunch,\n getUpdatesCodeSigningCertificate,\n getUpdatesCodeSigningMetadataStringified,\n getUpdatesEnabled,\n getUpdatesTimeout,\n getUpdateUrl,\n} from '../utils/Updates';\nimport {\n addMetaDataItemToMainApplication,\n AndroidManifest,\n findMetaDataItem,\n getMainApplicationMetaDataValue,\n getMainApplicationOrThrow,\n removeMetaDataItemFromMainApplication,\n} from './Manifest';\n\nconst CREATE_MANIFEST_ANDROID_PATH = 'expo-updates/scripts/create-manifest-android.gradle';\n\nexport enum Config {\n ENABLED = 'expo.modules.updates.ENABLED',\n CHECK_ON_LAUNCH = 'expo.modules.updates.EXPO_UPDATES_CHECK_ON_LAUNCH',\n LAUNCH_WAIT_MS = 'expo.modules.updates.EXPO_UPDATES_LAUNCH_WAIT_MS',\n SDK_VERSION = 'expo.modules.updates.EXPO_SDK_VERSION',\n RUNTIME_VERSION = 'expo.modules.updates.EXPO_RUNTIME_VERSION',\n UPDATE_URL = 'expo.modules.updates.EXPO_UPDATE_URL',\n RELEASE_CHANNEL = 'expo.modules.updates.EXPO_RELEASE_CHANNEL',\n UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY = 'expo.modules.updates.UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY',\n CODE_SIGNING_CERTIFICATE = 'expo.modules.updates.CODE_SIGNING_CERTIFICATE',\n CODE_SIGNING_METADATA = 'expo.modules.updates.CODE_SIGNING_METADATA',\n}\n\nexport const withUpdates: ConfigPlugin<{ expoUsername: string | null }> = (\n config,\n { expoUsername }\n) => {\n return withAndroidManifest(config, (config) => {\n const projectRoot = config.modRequest.projectRoot;\n const expoUpdatesPackageVersion = getExpoUpdatesPackageVersion(projectRoot);\n config.modResults = setUpdatesConfig(\n projectRoot,\n config,\n config.modResults,\n expoUsername,\n expoUpdatesPackageVersion\n );\n return config;\n });\n};\n\nexport function setUpdatesConfig(\n projectRoot: string,\n config: ExpoConfigUpdates,\n androidManifest: AndroidManifest,\n username: string | null,\n expoUpdatesPackageVersion?: string | null\n): AndroidManifest {\n const mainApplication = getMainApplicationOrThrow(androidManifest);\n\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.ENABLED,\n String(getUpdatesEnabled(config))\n );\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.CHECK_ON_LAUNCH,\n getUpdatesCheckOnLaunch(config, expoUpdatesPackageVersion)\n );\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.LAUNCH_WAIT_MS,\n String(getUpdatesTimeout(config))\n );\n\n const updateUrl = getUpdateUrl(config, username);\n if (updateUrl) {\n addMetaDataItemToMainApplication(mainApplication, Config.UPDATE_URL, updateUrl);\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, Config.UPDATE_URL);\n }\n\n const codeSigningCertificate = getUpdatesCodeSigningCertificate(projectRoot, config);\n if (codeSigningCertificate) {\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.CODE_SIGNING_CERTIFICATE,\n codeSigningCertificate\n );\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, Config.CODE_SIGNING_CERTIFICATE);\n }\n\n const codeSigningMetadata = getUpdatesCodeSigningMetadataStringified(config);\n if (codeSigningMetadata) {\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.CODE_SIGNING_METADATA,\n codeSigningMetadata\n );\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, Config.CODE_SIGNING_METADATA);\n }\n\n return setVersionsConfig(config, androidManifest);\n}\n\nexport function setVersionsConfig(\n config: Pick<ExpoConfigUpdates, 'sdkVersion' | 'runtimeVersion'>,\n androidManifest: AndroidManifest\n): AndroidManifest {\n const mainApplication = getMainApplicationOrThrow(androidManifest);\n\n const runtimeVersion = getRuntimeVersionNullable(config, 'android');\n if (!runtimeVersion && findMetaDataItem(mainApplication, Config.RUNTIME_VERSION) > -1) {\n throw new Error(\n 'A runtime version is set in your AndroidManifest.xml, but is missing from your app.json/app.config.js. Please either set runtimeVersion in your app.json/app.config.js or remove expo.modules.updates.EXPO_RUNTIME_VERSION from your AndroidManifest.xml.'\n );\n }\n const sdkVersion = getSDKVersion(config);\n if (runtimeVersion) {\n removeMetaDataItemFromMainApplication(mainApplication, Config.SDK_VERSION);\n addMetaDataItemToMainApplication(mainApplication, Config.RUNTIME_VERSION, runtimeVersion);\n } else if (sdkVersion) {\n /**\n * runtime version maybe null in projects using classic updates. In that\n * case we use SDK version\n */\n removeMetaDataItemFromMainApplication(mainApplication, Config.RUNTIME_VERSION);\n addMetaDataItemToMainApplication(mainApplication, Config.SDK_VERSION, sdkVersion);\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, Config.RUNTIME_VERSION);\n removeMetaDataItemFromMainApplication(mainApplication, Config.SDK_VERSION);\n }\n\n return androidManifest;\n}\nexport function ensureBuildGradleContainsConfigurationScript(\n projectRoot: string,\n buildGradleContents: string\n): string {\n if (!isBuildGradleConfigured(projectRoot, buildGradleContents)) {\n let cleanedUpBuildGradleContents;\n\n const isBuildGradleMisconfigured = buildGradleContents\n .split('\\n')\n .some((line) => line.includes(CREATE_MANIFEST_ANDROID_PATH));\n if (isBuildGradleMisconfigured) {\n cleanedUpBuildGradleContents = buildGradleContents.replace(\n new RegExp(`(\\n// Integration with Expo updates)?\\n.*${CREATE_MANIFEST_ANDROID_PATH}.*\\n`),\n ''\n );\n } else {\n cleanedUpBuildGradleContents = buildGradleContents;\n }\n\n const gradleScriptApply = formatApplyLineForBuildGradle(projectRoot);\n return `${cleanedUpBuildGradleContents}\\n// Integration with Expo updates\\n${gradleScriptApply}\\n`;\n } else {\n return buildGradleContents;\n }\n}\n\nexport function formatApplyLineForBuildGradle(projectRoot: string): string {\n const updatesGradleScriptPath = resolveFrom.silent(projectRoot, CREATE_MANIFEST_ANDROID_PATH);\n\n if (!updatesGradleScriptPath) {\n throw new Error(\n \"Could not find the build script for Android. This could happen in case of outdated 'node_modules'. Run 'npm install' to make sure that it's up-to-date.\"\n );\n }\n\n const relativePath = path.relative(\n path.join(projectRoot, 'android', 'app'),\n updatesGradleScriptPath\n );\n const posixPath = process.platform === 'win32' ? relativePath.replace(/\\\\/g, '/') : relativePath;\n\n return `apply from: \"${posixPath}\"`;\n}\n\nexport function isBuildGradleConfigured(projectRoot: string, buildGradleContents: string): boolean {\n const androidBuildScript = formatApplyLineForBuildGradle(projectRoot);\n\n return (\n buildGradleContents\n .replace(/\\r\\n/g, '\\n')\n .split('\\n')\n // Check for both single and double quotes\n .some((line) => line === androidBuildScript || line === androidBuildScript.replace(/\"/g, \"'\"))\n );\n}\n\nexport function isMainApplicationMetaDataSet(androidManifest: AndroidManifest): boolean {\n const updateUrl = getMainApplicationMetaDataValue(androidManifest, Config.UPDATE_URL);\n const runtimeVersion = getMainApplicationMetaDataValue(androidManifest, Config.RUNTIME_VERSION);\n const sdkVersion = getMainApplicationMetaDataValue(androidManifest, Config.SDK_VERSION);\n\n return Boolean(updateUrl && (sdkVersion || runtimeVersion));\n}\n\nexport function isMainApplicationMetaDataSynced(\n projectRoot: string,\n config: ExpoConfigUpdates,\n androidManifest: AndroidManifest,\n username: string | null\n): boolean {\n return (\n getUpdateUrl(config, username) ===\n getMainApplicationMetaDataValue(androidManifest, Config.UPDATE_URL) &&\n String(getUpdatesEnabled(config)) ===\n getMainApplicationMetaDataValue(androidManifest, Config.ENABLED) &&\n String(getUpdatesTimeout(config)) ===\n getMainApplicationMetaDataValue(androidManifest, Config.LAUNCH_WAIT_MS) &&\n getUpdatesCheckOnLaunch(config) ===\n getMainApplicationMetaDataValue(androidManifest, Config.CHECK_ON_LAUNCH) &&\n getUpdatesCodeSigningCertificate(projectRoot, config) ===\n getMainApplicationMetaDataValue(androidManifest, Config.CODE_SIGNING_CERTIFICATE) &&\n getUpdatesCodeSigningMetadataStringified(config) ===\n getMainApplicationMetaDataValue(androidManifest, Config.CODE_SIGNING_METADATA) &&\n areVersionsSynced(config, androidManifest)\n );\n}\n\nexport function areVersionsSynced(\n config: Pick<ExpoConfigUpdates, 'runtimeVersion' | 'sdkVersion'>,\n androidManifest: AndroidManifest\n): boolean {\n const expectedRuntimeVersion = getRuntimeVersionNullable(config, 'android');\n const expectedSdkVersion = getSDKVersion(config);\n\n const currentRuntimeVersion = getMainApplicationMetaDataValue(\n androidManifest,\n Config.RUNTIME_VERSION\n );\n const currentSdkVersion = getMainApplicationMetaDataValue(androidManifest, Config.SDK_VERSION);\n\n if (expectedRuntimeVersion !== null) {\n return currentRuntimeVersion === expectedRuntimeVersion && currentSdkVersion === null;\n } else if (expectedSdkVersion !== null) {\n return currentSdkVersion === expectedSdkVersion && currentRuntimeVersion === null;\n } else {\n return true;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Updates.js","names":["CREATE_MANIFEST_ANDROID_PATH","Config","withUpdates","config","expoUsername","withPlugins","withUpdatesManifest","withRuntimeVersionResource","withAndroidManifest","projectRoot","modRequest","expoUpdatesPackageVersion","getExpoUpdatesPackageVersion","modResults","setUpdatesConfig","createStringsXmlPlugin","applyRuntimeVersionFromConfig","stringsJSON","runtimeVersion","getRuntimeVersionNullable","setStringItem","buildResourceItem","name","value","removeStringItem","androidManifest","username","mainApplication","getMainApplicationOrThrow","addMetaDataItemToMainApplication","ENABLED","String","getUpdatesEnabled","CHECK_ON_LAUNCH","getUpdatesCheckOnLaunch","LAUNCH_WAIT_MS","getUpdatesTimeout","updateUrl","getUpdateUrl","UPDATE_URL","removeMetaDataItemFromMainApplication","codeSigningCertificate","getUpdatesCodeSigningCertificate","CODE_SIGNING_CERTIFICATE","codeSigningMetadata","getUpdatesCodeSigningMetadataStringified","CODE_SIGNING_METADATA","requestHeaders","getUpdatesRequestHeadersStringified","UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY","setVersionsConfig","findMetaDataItem","RUNTIME_VERSION","Error","sdkVersion","getSDKVersion","SDK_VERSION","ensureBuildGradleContainsConfigurationScript","buildGradleContents","isBuildGradleConfigured","cleanedUpBuildGradleContents","isBuildGradleMisconfigured","split","some","line","includes","replace","RegExp","gradleScriptApply","formatApplyLineForBuildGradle","updatesGradleScriptPath","resolveFrom","silent","relativePath","path","relative","join","posixPath","process","platform","androidBuildScript","isMainApplicationMetaDataSet","getMainApplicationMetaDataValue","Boolean","isMainApplicationMetaDataSynced","areVersionsSynced","expectedRuntimeVersion","expectedSdkVersion","currentRuntimeVersion","currentSdkVersion"],"sources":["../../src/android/Updates.ts"],"sourcesContent":["import path from 'path';\nimport resolveFrom from 'resolve-from';\n\nimport { ConfigPlugin } from '../Plugin.types';\nimport { createStringsXmlPlugin, withAndroidManifest } from '../plugins/android-plugins';\nimport { withPlugins } from '../plugins/withPlugins';\nimport {\n ExpoConfigUpdates,\n getExpoUpdatesPackageVersion,\n getRuntimeVersionNullable,\n getSDKVersion,\n getUpdatesCheckOnLaunch,\n getUpdatesCodeSigningCertificate,\n getUpdatesCodeSigningMetadataStringified,\n getUpdatesRequestHeadersStringified,\n getUpdatesEnabled,\n getUpdatesTimeout,\n getUpdateUrl,\n} from '../utils/Updates';\nimport {\n addMetaDataItemToMainApplication,\n AndroidManifest,\n findMetaDataItem,\n getMainApplicationMetaDataValue,\n getMainApplicationOrThrow,\n removeMetaDataItemFromMainApplication,\n} from './Manifest';\nimport { buildResourceItem, ResourceXML } from './Resources';\nimport { removeStringItem, setStringItem } from './Strings';\n\nconst CREATE_MANIFEST_ANDROID_PATH = 'expo-updates/scripts/create-manifest-android.gradle';\n\nexport enum Config {\n ENABLED = 'expo.modules.updates.ENABLED',\n CHECK_ON_LAUNCH = 'expo.modules.updates.EXPO_UPDATES_CHECK_ON_LAUNCH',\n LAUNCH_WAIT_MS = 'expo.modules.updates.EXPO_UPDATES_LAUNCH_WAIT_MS',\n SDK_VERSION = 'expo.modules.updates.EXPO_SDK_VERSION',\n RUNTIME_VERSION = 'expo.modules.updates.EXPO_RUNTIME_VERSION',\n UPDATE_URL = 'expo.modules.updates.EXPO_UPDATE_URL',\n RELEASE_CHANNEL = 'expo.modules.updates.EXPO_RELEASE_CHANNEL',\n UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY = 'expo.modules.updates.UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY',\n CODE_SIGNING_CERTIFICATE = 'expo.modules.updates.CODE_SIGNING_CERTIFICATE',\n CODE_SIGNING_METADATA = 'expo.modules.updates.CODE_SIGNING_METADATA',\n}\n\nexport const withUpdates: ConfigPlugin<{ expoUsername: string | null }> = (\n config,\n { expoUsername }\n) => {\n return withPlugins(config, [[withUpdatesManifest, { expoUsername }], withRuntimeVersionResource]);\n};\n\nconst withUpdatesManifest: ConfigPlugin<{ expoUsername: string | null }> = (\n config,\n { expoUsername }\n) => {\n return withAndroidManifest(config, (config) => {\n const projectRoot = config.modRequest.projectRoot;\n const expoUpdatesPackageVersion = getExpoUpdatesPackageVersion(projectRoot);\n config.modResults = setUpdatesConfig(\n projectRoot,\n config,\n config.modResults,\n expoUsername,\n expoUpdatesPackageVersion\n );\n return config;\n });\n};\n\nconst withRuntimeVersionResource = createStringsXmlPlugin(\n applyRuntimeVersionFromConfig,\n 'withRuntimeVersionResource'\n);\n\nexport function applyRuntimeVersionFromConfig(\n config: Pick<ExpoConfigUpdates, 'sdkVersion' | 'runtimeVersion'>,\n stringsJSON: ResourceXML\n): ResourceXML {\n const runtimeVersion = getRuntimeVersionNullable(config, 'android');\n if (runtimeVersion) {\n return setStringItem(\n [buildResourceItem({ name: 'expo_runtime_version', value: runtimeVersion })],\n stringsJSON\n );\n }\n return removeStringItem('expo_runtime_version', stringsJSON);\n}\n\nexport function setUpdatesConfig(\n projectRoot: string,\n config: ExpoConfigUpdates,\n androidManifest: AndroidManifest,\n username: string | null,\n expoUpdatesPackageVersion?: string | null\n): AndroidManifest {\n const mainApplication = getMainApplicationOrThrow(androidManifest);\n\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.ENABLED,\n String(getUpdatesEnabled(config))\n );\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.CHECK_ON_LAUNCH,\n getUpdatesCheckOnLaunch(config, expoUpdatesPackageVersion)\n );\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.LAUNCH_WAIT_MS,\n String(getUpdatesTimeout(config))\n );\n\n const updateUrl = getUpdateUrl(config, username);\n if (updateUrl) {\n addMetaDataItemToMainApplication(mainApplication, Config.UPDATE_URL, updateUrl);\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, Config.UPDATE_URL);\n }\n\n const codeSigningCertificate = getUpdatesCodeSigningCertificate(projectRoot, config);\n if (codeSigningCertificate) {\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.CODE_SIGNING_CERTIFICATE,\n codeSigningCertificate\n );\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, Config.CODE_SIGNING_CERTIFICATE);\n }\n\n const codeSigningMetadata = getUpdatesCodeSigningMetadataStringified(config);\n if (codeSigningMetadata) {\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.CODE_SIGNING_METADATA,\n codeSigningMetadata\n );\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, Config.CODE_SIGNING_METADATA);\n }\n\n const requestHeaders = getUpdatesRequestHeadersStringified(config);\n if (requestHeaders) {\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY,\n requestHeaders\n );\n } else {\n removeMetaDataItemFromMainApplication(\n mainApplication,\n Config.UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY\n );\n }\n\n return setVersionsConfig(config, androidManifest);\n}\n\nexport function setVersionsConfig(\n config: Pick<ExpoConfigUpdates, 'sdkVersion' | 'runtimeVersion'>,\n androidManifest: AndroidManifest\n): AndroidManifest {\n const mainApplication = getMainApplicationOrThrow(androidManifest);\n\n const runtimeVersion = getRuntimeVersionNullable(config, 'android');\n if (!runtimeVersion && findMetaDataItem(mainApplication, Config.RUNTIME_VERSION) > -1) {\n throw new Error(\n 'A runtime version is set in your AndroidManifest.xml, but is missing from your app.json/app.config.js. Please either set runtimeVersion in your app.json/app.config.js or remove expo.modules.updates.EXPO_RUNTIME_VERSION from your AndroidManifest.xml.'\n );\n }\n const sdkVersion = getSDKVersion(config);\n if (runtimeVersion) {\n removeMetaDataItemFromMainApplication(mainApplication, Config.SDK_VERSION);\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.RUNTIME_VERSION,\n '@string/expo_runtime_version'\n );\n } else if (sdkVersion) {\n /**\n * runtime version maybe null in projects using classic updates. In that\n * case we use SDK version\n */\n removeMetaDataItemFromMainApplication(mainApplication, Config.RUNTIME_VERSION);\n addMetaDataItemToMainApplication(mainApplication, Config.SDK_VERSION, sdkVersion);\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, Config.RUNTIME_VERSION);\n removeMetaDataItemFromMainApplication(mainApplication, Config.SDK_VERSION);\n }\n\n return androidManifest;\n}\nexport function ensureBuildGradleContainsConfigurationScript(\n projectRoot: string,\n buildGradleContents: string\n): string {\n if (!isBuildGradleConfigured(projectRoot, buildGradleContents)) {\n let cleanedUpBuildGradleContents;\n\n const isBuildGradleMisconfigured = buildGradleContents\n .split('\\n')\n .some((line) => line.includes(CREATE_MANIFEST_ANDROID_PATH));\n if (isBuildGradleMisconfigured) {\n cleanedUpBuildGradleContents = buildGradleContents.replace(\n new RegExp(`(\\n// Integration with Expo updates)?\\n.*${CREATE_MANIFEST_ANDROID_PATH}.*\\n`),\n ''\n );\n } else {\n cleanedUpBuildGradleContents = buildGradleContents;\n }\n\n const gradleScriptApply = formatApplyLineForBuildGradle(projectRoot);\n return `${cleanedUpBuildGradleContents}\\n// Integration with Expo updates\\n${gradleScriptApply}\\n`;\n } else {\n return buildGradleContents;\n }\n}\n\nexport function formatApplyLineForBuildGradle(projectRoot: string): string {\n const updatesGradleScriptPath = resolveFrom.silent(projectRoot, CREATE_MANIFEST_ANDROID_PATH);\n\n if (!updatesGradleScriptPath) {\n throw new Error(\n \"Could not find the build script for Android. This could happen in case of outdated 'node_modules'. Run 'npm install' to make sure that it's up-to-date.\"\n );\n }\n\n const relativePath = path.relative(\n path.join(projectRoot, 'android', 'app'),\n updatesGradleScriptPath\n );\n const posixPath = process.platform === 'win32' ? relativePath.replace(/\\\\/g, '/') : relativePath;\n\n return `apply from: \"${posixPath}\"`;\n}\n\nexport function isBuildGradleConfigured(projectRoot: string, buildGradleContents: string): boolean {\n const androidBuildScript = formatApplyLineForBuildGradle(projectRoot);\n\n return (\n buildGradleContents\n .replace(/\\r\\n/g, '\\n')\n .split('\\n')\n // Check for both single and double quotes\n .some((line) => line === androidBuildScript || line === androidBuildScript.replace(/\"/g, \"'\"))\n );\n}\n\nexport function isMainApplicationMetaDataSet(androidManifest: AndroidManifest): boolean {\n const updateUrl = getMainApplicationMetaDataValue(androidManifest, Config.UPDATE_URL);\n const runtimeVersion = getMainApplicationMetaDataValue(androidManifest, Config.RUNTIME_VERSION);\n const sdkVersion = getMainApplicationMetaDataValue(androidManifest, Config.SDK_VERSION);\n\n return Boolean(updateUrl && (sdkVersion || runtimeVersion));\n}\n\nexport function isMainApplicationMetaDataSynced(\n projectRoot: string,\n config: ExpoConfigUpdates,\n androidManifest: AndroidManifest,\n username: string | null\n): boolean {\n return (\n getUpdateUrl(config, username) ===\n getMainApplicationMetaDataValue(androidManifest, Config.UPDATE_URL) &&\n String(getUpdatesEnabled(config)) ===\n getMainApplicationMetaDataValue(androidManifest, Config.ENABLED) &&\n String(getUpdatesTimeout(config)) ===\n getMainApplicationMetaDataValue(androidManifest, Config.LAUNCH_WAIT_MS) &&\n getUpdatesCheckOnLaunch(config) ===\n getMainApplicationMetaDataValue(androidManifest, Config.CHECK_ON_LAUNCH) &&\n getUpdatesCodeSigningCertificate(projectRoot, config) ===\n getMainApplicationMetaDataValue(androidManifest, Config.CODE_SIGNING_CERTIFICATE) &&\n getUpdatesCodeSigningMetadataStringified(config) ===\n getMainApplicationMetaDataValue(androidManifest, Config.CODE_SIGNING_METADATA) &&\n areVersionsSynced(config, androidManifest)\n );\n}\n\nexport function areVersionsSynced(\n config: Pick<ExpoConfigUpdates, 'runtimeVersion' | 'sdkVersion'>,\n androidManifest: AndroidManifest\n): boolean {\n const expectedRuntimeVersion = getRuntimeVersionNullable(config, 'android');\n const expectedSdkVersion = getSDKVersion(config);\n\n const currentRuntimeVersion = getMainApplicationMetaDataValue(\n androidManifest,\n Config.RUNTIME_VERSION\n );\n const currentSdkVersion = getMainApplicationMetaDataValue(androidManifest, Config.SDK_VERSION);\n\n if (expectedRuntimeVersion !== null) {\n return currentRuntimeVersion === expectedRuntimeVersion && currentSdkVersion === null;\n } else if (expectedSdkVersion !== null) {\n return currentSdkVersion === expectedSdkVersion && currentRuntimeVersion === null;\n } else {\n return true;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAaA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAQA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAA4D;AAE5D,MAAMA,4BAA4B,GAAG,qDAAqD;AAAC,IAE/EC,MAAM;AAAA;AAAA,WAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAANA,MAAM;AAAA,GAANA,MAAM,sBAANA,MAAM;AAaX,MAAMC,WAA0D,GAAG,CACxEC,MAAM,EACN;EAAEC;AAAa,CAAC,KACb;EACH,OAAO,IAAAC,0BAAW,EAACF,MAAM,EAAE,CAAC,CAACG,mBAAmB,EAAE;IAAEF;EAAa,CAAC,CAAC,EAAEG,0BAA0B,CAAC,CAAC;AACnG,CAAC;AAAC;AAEF,MAAMD,mBAAkE,GAAG,CACzEH,MAAM,EACN;EAAEC;AAAa,CAAC,KACb;EACH,OAAO,IAAAI,qCAAmB,EAACL,MAAM,EAAGA,MAAM,IAAK;IAC7C,MAAMM,WAAW,GAAGN,MAAM,CAACO,UAAU,CAACD,WAAW;IACjD,MAAME,yBAAyB,GAAG,IAAAC,uCAA4B,EAACH,WAAW,CAAC;IAC3EN,MAAM,CAACU,UAAU,GAAGC,gBAAgB,CAClCL,WAAW,EACXN,MAAM,EACNA,MAAM,CAACU,UAAU,EACjBT,YAAY,EACZO,yBAAyB,CAC1B;IACD,OAAOR,MAAM;EACf,CAAC,CAAC;AACJ,CAAC;AAED,MAAMI,0BAA0B,GAAG,IAAAQ,wCAAsB,EACvDC,6BAA6B,EAC7B,4BAA4B,CAC7B;AAEM,SAASA,6BAA6B,CAC3Cb,MAAgE,EAChEc,WAAwB,EACX;EACb,MAAMC,cAAc,GAAG,IAAAC,oCAAyB,EAAChB,MAAM,EAAE,SAAS,CAAC;EACnE,IAAIe,cAAc,EAAE;IAClB,OAAO,IAAAE,wBAAa,EAClB,CAAC,IAAAC,8BAAiB,EAAC;MAAEC,IAAI,EAAE,sBAAsB;MAAEC,KAAK,EAAEL;IAAe,CAAC,CAAC,CAAC,EAC5ED,WAAW,CACZ;EACH;EACA,OAAO,IAAAO,2BAAgB,EAAC,sBAAsB,EAAEP,WAAW,CAAC;AAC9D;AAEO,SAASH,gBAAgB,CAC9BL,WAAmB,EACnBN,MAAyB,EACzBsB,eAAgC,EAChCC,QAAuB,EACvBf,yBAAyC,EACxB;EACjB,MAAMgB,eAAe,GAAG,IAAAC,qCAAyB,EAACH,eAAe,CAAC;EAElE,IAAAI,4CAAgC,EAC9BF,eAAe,EACf1B,MAAM,CAAC6B,OAAO,EACdC,MAAM,CAAC,IAAAC,4BAAiB,EAAC7B,MAAM,CAAC,CAAC,CAClC;EACD,IAAA0B,4CAAgC,EAC9BF,eAAe,EACf1B,MAAM,CAACgC,eAAe,EACtB,IAAAC,kCAAuB,EAAC/B,MAAM,EAAEQ,yBAAyB,CAAC,CAC3D;EACD,IAAAkB,4CAAgC,EAC9BF,eAAe,EACf1B,MAAM,CAACkC,cAAc,EACrBJ,MAAM,CAAC,IAAAK,4BAAiB,EAACjC,MAAM,CAAC,CAAC,CAClC;EAED,MAAMkC,SAAS,GAAG,IAAAC,uBAAY,EAACnC,MAAM,EAAEuB,QAAQ,CAAC;EAChD,IAAIW,SAAS,EAAE;IACb,IAAAR,4CAAgC,EAACF,eAAe,EAAE1B,MAAM,CAACsC,UAAU,EAAEF,SAAS,CAAC;EACjF,CAAC,MAAM;IACL,IAAAG,iDAAqC,EAACb,eAAe,EAAE1B,MAAM,CAACsC,UAAU,CAAC;EAC3E;EAEA,MAAME,sBAAsB,GAAG,IAAAC,2CAAgC,EAACjC,WAAW,EAAEN,MAAM,CAAC;EACpF,IAAIsC,sBAAsB,EAAE;IAC1B,IAAAZ,4CAAgC,EAC9BF,eAAe,EACf1B,MAAM,CAAC0C,wBAAwB,EAC/BF,sBAAsB,CACvB;EACH,CAAC,MAAM;IACL,IAAAD,iDAAqC,EAACb,eAAe,EAAE1B,MAAM,CAAC0C,wBAAwB,CAAC;EACzF;EAEA,MAAMC,mBAAmB,GAAG,IAAAC,mDAAwC,EAAC1C,MAAM,CAAC;EAC5E,IAAIyC,mBAAmB,EAAE;IACvB,IAAAf,4CAAgC,EAC9BF,eAAe,EACf1B,MAAM,CAAC6C,qBAAqB,EAC5BF,mBAAmB,CACpB;EACH,CAAC,MAAM;IACL,IAAAJ,iDAAqC,EAACb,eAAe,EAAE1B,MAAM,CAAC6C,qBAAqB,CAAC;EACtF;EAEA,MAAMC,cAAc,GAAG,IAAAC,8CAAmC,EAAC7C,MAAM,CAAC;EAClE,IAAI4C,cAAc,EAAE;IAClB,IAAAlB,4CAAgC,EAC9BF,eAAe,EACf1B,MAAM,CAACgD,yCAAyC,EAChDF,cAAc,CACf;EACH,CAAC,MAAM;IACL,IAAAP,iDAAqC,EACnCb,eAAe,EACf1B,MAAM,CAACgD,yCAAyC,CACjD;EACH;EAEA,OAAOC,iBAAiB,CAAC/C,MAAM,EAAEsB,eAAe,CAAC;AACnD;AAEO,SAASyB,iBAAiB,CAC/B/C,MAAgE,EAChEsB,eAAgC,EACf;EACjB,MAAME,eAAe,GAAG,IAAAC,qCAAyB,EAACH,eAAe,CAAC;EAElE,MAAMP,cAAc,GAAG,IAAAC,oCAAyB,EAAChB,MAAM,EAAE,SAAS,CAAC;EACnE,IAAI,CAACe,cAAc,IAAI,IAAAiC,4BAAgB,EAACxB,eAAe,EAAE1B,MAAM,CAACmD,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE;IACrF,MAAM,IAAIC,KAAK,CACb,2PAA2P,CAC5P;EACH;EACA,MAAMC,UAAU,GAAG,IAAAC,wBAAa,EAACpD,MAAM,CAAC;EACxC,IAAIe,cAAc,EAAE;IAClB,IAAAsB,iDAAqC,EAACb,eAAe,EAAE1B,MAAM,CAACuD,WAAW,CAAC;IAC1E,IAAA3B,4CAAgC,EAC9BF,eAAe,EACf1B,MAAM,CAACmD,eAAe,EACtB,8BAA8B,CAC/B;EACH,CAAC,MAAM,IAAIE,UAAU,EAAE;IACrB;AACJ;AACA;AACA;IACI,IAAAd,iDAAqC,EAACb,eAAe,EAAE1B,MAAM,CAACmD,eAAe,CAAC;IAC9E,IAAAvB,4CAAgC,EAACF,eAAe,EAAE1B,MAAM,CAACuD,WAAW,EAAEF,UAAU,CAAC;EACnF,CAAC,MAAM;IACL,IAAAd,iDAAqC,EAACb,eAAe,EAAE1B,MAAM,CAACmD,eAAe,CAAC;IAC9E,IAAAZ,iDAAqC,EAACb,eAAe,EAAE1B,MAAM,CAACuD,WAAW,CAAC;EAC5E;EAEA,OAAO/B,eAAe;AACxB;AACO,SAASgC,4CAA4C,CAC1DhD,WAAmB,EACnBiD,mBAA2B,EACnB;EACR,IAAI,CAACC,uBAAuB,CAAClD,WAAW,EAAEiD,mBAAmB,CAAC,EAAE;IAC9D,IAAIE,4BAA4B;IAEhC,MAAMC,0BAA0B,GAAGH,mBAAmB,CACnDI,KAAK,CAAC,IAAI,CAAC,CACXC,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACC,QAAQ,CAACjE,4BAA4B,CAAC,CAAC;IAC9D,IAAI6D,0BAA0B,EAAE;MAC9BD,4BAA4B,GAAGF,mBAAmB,CAACQ,OAAO,CACxD,IAAIC,MAAM,CAAE,4CAA2CnE,4BAA6B,MAAK,CAAC,EAC1F,EAAE,CACH;IACH,CAAC,MAAM;MACL4D,4BAA4B,GAAGF,mBAAmB;IACpD;IAEA,MAAMU,iBAAiB,GAAGC,6BAA6B,CAAC5D,WAAW,CAAC;IACpE,OAAQ,GAAEmD,4BAA6B,uCAAsCQ,iBAAkB,IAAG;EACpG,CAAC,MAAM;IACL,OAAOV,mBAAmB;EAC5B;AACF;AAEO,SAASW,6BAA6B,CAAC5D,WAAmB,EAAU;EACzE,MAAM6D,uBAAuB,GAAGC,sBAAW,CAACC,MAAM,CAAC/D,WAAW,EAAET,4BAA4B,CAAC;EAE7F,IAAI,CAACsE,uBAAuB,EAAE;IAC5B,MAAM,IAAIjB,KAAK,CACb,yJAAyJ,CAC1J;EACH;EAEA,MAAMoB,YAAY,GAAGC,eAAI,CAACC,QAAQ,CAChCD,eAAI,CAACE,IAAI,CAACnE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,EACxC6D,uBAAuB,CACxB;EACD,MAAMO,SAAS,GAAGC,OAAO,CAACC,QAAQ,KAAK,OAAO,GAAGN,YAAY,CAACP,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAGO,YAAY;EAEhG,OAAQ,gBAAeI,SAAU,GAAE;AACrC;AAEO,SAASlB,uBAAuB,CAAClD,WAAmB,EAAEiD,mBAA2B,EAAW;EACjG,MAAMsB,kBAAkB,GAAGX,6BAA6B,CAAC5D,WAAW,CAAC;EAErE,OACEiD,mBAAmB,CAChBQ,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CACtBJ,KAAK,CAAC,IAAI;EACX;EAAA,CACCC,IAAI,CAAEC,IAAI,IAAKA,IAAI,KAAKgB,kBAAkB,IAAIhB,IAAI,KAAKgB,kBAAkB,CAACd,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAEpG;AAEO,SAASe,4BAA4B,CAACxD,eAAgC,EAAW;EACtF,MAAMY,SAAS,GAAG,IAAA6C,2CAA+B,EAACzD,eAAe,EAAExB,MAAM,CAACsC,UAAU,CAAC;EACrF,MAAMrB,cAAc,GAAG,IAAAgE,2CAA+B,EAACzD,eAAe,EAAExB,MAAM,CAACmD,eAAe,CAAC;EAC/F,MAAME,UAAU,GAAG,IAAA4B,2CAA+B,EAACzD,eAAe,EAAExB,MAAM,CAACuD,WAAW,CAAC;EAEvF,OAAO2B,OAAO,CAAC9C,SAAS,KAAKiB,UAAU,IAAIpC,cAAc,CAAC,CAAC;AAC7D;AAEO,SAASkE,+BAA+B,CAC7C3E,WAAmB,EACnBN,MAAyB,EACzBsB,eAAgC,EAChCC,QAAuB,EACd;EACT,OACE,IAAAY,uBAAY,EAACnC,MAAM,EAAEuB,QAAQ,CAAC,KAC5B,IAAAwD,2CAA+B,EAACzD,eAAe,EAAExB,MAAM,CAACsC,UAAU,CAAC,IACrER,MAAM,CAAC,IAAAC,4BAAiB,EAAC7B,MAAM,CAAC,CAAC,KAC/B,IAAA+E,2CAA+B,EAACzD,eAAe,EAAExB,MAAM,CAAC6B,OAAO,CAAC,IAClEC,MAAM,CAAC,IAAAK,4BAAiB,EAACjC,MAAM,CAAC,CAAC,KAC/B,IAAA+E,2CAA+B,EAACzD,eAAe,EAAExB,MAAM,CAACkC,cAAc,CAAC,IACzE,IAAAD,kCAAuB,EAAC/B,MAAM,CAAC,KAC7B,IAAA+E,2CAA+B,EAACzD,eAAe,EAAExB,MAAM,CAACgC,eAAe,CAAC,IAC1E,IAAAS,2CAAgC,EAACjC,WAAW,EAAEN,MAAM,CAAC,KACnD,IAAA+E,2CAA+B,EAACzD,eAAe,EAAExB,MAAM,CAAC0C,wBAAwB,CAAC,IACnF,IAAAE,mDAAwC,EAAC1C,MAAM,CAAC,KAC9C,IAAA+E,2CAA+B,EAACzD,eAAe,EAAExB,MAAM,CAAC6C,qBAAqB,CAAC,IAChFuC,iBAAiB,CAAClF,MAAM,EAAEsB,eAAe,CAAC;AAE9C;AAEO,SAAS4D,iBAAiB,CAC/BlF,MAAgE,EAChEsB,eAAgC,EACvB;EACT,MAAM6D,sBAAsB,GAAG,IAAAnE,oCAAyB,EAAChB,MAAM,EAAE,SAAS,CAAC;EAC3E,MAAMoF,kBAAkB,GAAG,IAAAhC,wBAAa,EAACpD,MAAM,CAAC;EAEhD,MAAMqF,qBAAqB,GAAG,IAAAN,2CAA+B,EAC3DzD,eAAe,EACfxB,MAAM,CAACmD,eAAe,CACvB;EACD,MAAMqC,iBAAiB,GAAG,IAAAP,2CAA+B,EAACzD,eAAe,EAAExB,MAAM,CAACuD,WAAW,CAAC;EAE9F,IAAI8B,sBAAsB,KAAK,IAAI,EAAE;IACnC,OAAOE,qBAAqB,KAAKF,sBAAsB,IAAIG,iBAAiB,KAAK,IAAI;EACvF,CAAC,MAAM,IAAIF,kBAAkB,KAAK,IAAI,EAAE;IACtC,OAAOE,iBAAiB,KAAKF,kBAAkB,IAAIC,qBAAqB,KAAK,IAAI;EACnF,CAAC,MAAM;IACL,OAAO,IAAI;EACb;AACF"}
|
package/build/android/Version.js
CHANGED
|
@@ -9,27 +9,20 @@ exports.setMinBuildScriptExtVersion = setMinBuildScriptExtVersion;
|
|
|
9
9
|
exports.setVersionCode = setVersionCode;
|
|
10
10
|
exports.setVersionName = setVersionName;
|
|
11
11
|
exports.withVersion = exports.withBuildScriptExtMinimumVersion = void 0;
|
|
12
|
-
|
|
13
12
|
function _androidPlugins() {
|
|
14
13
|
const data = require("../plugins/android-plugins");
|
|
15
|
-
|
|
16
14
|
_androidPlugins = function () {
|
|
17
15
|
return data;
|
|
18
16
|
};
|
|
19
|
-
|
|
20
17
|
return data;
|
|
21
18
|
}
|
|
22
|
-
|
|
23
19
|
function _warnings() {
|
|
24
20
|
const data = require("../utils/warnings");
|
|
25
|
-
|
|
26
21
|
_warnings = function () {
|
|
27
22
|
return data;
|
|
28
23
|
};
|
|
29
|
-
|
|
30
24
|
return data;
|
|
31
25
|
}
|
|
32
|
-
|
|
33
26
|
const withVersion = config => {
|
|
34
27
|
return (0, _androidPlugins().withAppBuildGradle)(config, config => {
|
|
35
28
|
if (config.modResults.language === 'groovy') {
|
|
@@ -38,15 +31,12 @@ const withVersion = config => {
|
|
|
38
31
|
} else {
|
|
39
32
|
(0, _warnings().addWarningAndroid)('android.versionCode', `Cannot automatically configure app build.gradle if it's not groovy`);
|
|
40
33
|
}
|
|
41
|
-
|
|
42
34
|
return config;
|
|
43
35
|
});
|
|
44
36
|
};
|
|
45
|
-
/** Sets a numeric version for a value in the project.gradle buildscript.ext object to be at least the provided props.minVersion, if the existing value is greater then no change will be made. */
|
|
46
|
-
|
|
47
37
|
|
|
38
|
+
/** Sets a numeric version for a value in the project.gradle buildscript.ext object to be at least the provided props.minVersion, if the existing value is greater then no change will be made. */
|
|
48
39
|
exports.withVersion = withVersion;
|
|
49
|
-
|
|
50
40
|
const withBuildScriptExtMinimumVersion = (config, props) => {
|
|
51
41
|
return (0, _androidPlugins().withProjectBuildGradle)(config, config => {
|
|
52
42
|
if (config.modResults.language === 'groovy') {
|
|
@@ -54,62 +44,46 @@ const withBuildScriptExtMinimumVersion = (config, props) => {
|
|
|
54
44
|
} else {
|
|
55
45
|
(0, _warnings().addWarningAndroid)('withBuildScriptExtVersion', `Cannot automatically configure project build.gradle if it's not groovy`);
|
|
56
46
|
}
|
|
57
|
-
|
|
58
47
|
return config;
|
|
59
48
|
});
|
|
60
49
|
};
|
|
61
|
-
|
|
62
50
|
exports.withBuildScriptExtMinimumVersion = withBuildScriptExtMinimumVersion;
|
|
63
|
-
|
|
64
51
|
function setMinBuildScriptExtVersion(buildGradle, {
|
|
65
52
|
name,
|
|
66
53
|
minVersion
|
|
67
54
|
}) {
|
|
68
55
|
var _buildGradle$match;
|
|
69
|
-
|
|
70
56
|
const regex = new RegExp(`(${name}\\s?=\\s?)(\\d+(?:\\.\\d+)?)`);
|
|
71
57
|
const currentVersion = (_buildGradle$match = buildGradle.match(regex)) === null || _buildGradle$match === void 0 ? void 0 : _buildGradle$match[2];
|
|
72
|
-
|
|
73
58
|
if (!currentVersion) {
|
|
74
|
-
(0, _warnings().addWarningAndroid)('withBuildScriptExtVersion', `Cannot set minimum buildscript.ext.${name} version because the property "${name}" cannot be found or does not have a numeric value.`);
|
|
75
|
-
|
|
59
|
+
(0, _warnings().addWarningAndroid)('withBuildScriptExtVersion', `Cannot set minimum buildscript.ext.${name} version because the property "${name}" cannot be found or does not have a numeric value.`);
|
|
60
|
+
// TODO: Maybe just add the property...
|
|
76
61
|
return buildGradle;
|
|
77
62
|
}
|
|
78
|
-
|
|
79
63
|
const currentVersionNum = Number(currentVersion);
|
|
80
64
|
return buildGradle.replace(regex, `$1${Math.max(minVersion, currentVersionNum)}`);
|
|
81
65
|
}
|
|
82
|
-
|
|
83
66
|
function getVersionName(config) {
|
|
84
67
|
var _config$version;
|
|
85
|
-
|
|
86
68
|
return (_config$version = config.version) !== null && _config$version !== void 0 ? _config$version : null;
|
|
87
69
|
}
|
|
88
|
-
|
|
89
70
|
function setVersionName(config, buildGradle) {
|
|
90
71
|
const versionName = getVersionName(config);
|
|
91
|
-
|
|
92
72
|
if (versionName === null) {
|
|
93
73
|
return buildGradle;
|
|
94
74
|
}
|
|
95
|
-
|
|
96
75
|
const pattern = new RegExp(`versionName ".*"`);
|
|
97
76
|
return buildGradle.replace(pattern, `versionName "${versionName}"`);
|
|
98
77
|
}
|
|
99
|
-
|
|
100
78
|
function getVersionCode(config) {
|
|
101
79
|
var _config$android$versi, _config$android;
|
|
102
|
-
|
|
103
80
|
return (_config$android$versi = (_config$android = config.android) === null || _config$android === void 0 ? void 0 : _config$android.versionCode) !== null && _config$android$versi !== void 0 ? _config$android$versi : 1;
|
|
104
81
|
}
|
|
105
|
-
|
|
106
82
|
function setVersionCode(config, buildGradle) {
|
|
107
83
|
const versionCode = getVersionCode(config);
|
|
108
|
-
|
|
109
84
|
if (versionCode === null) {
|
|
110
85
|
return buildGradle;
|
|
111
86
|
}
|
|
112
|
-
|
|
113
87
|
const pattern = new RegExp(`versionCode.*`);
|
|
114
88
|
return buildGradle.replace(pattern, `versionCode ${versionCode}`);
|
|
115
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Version.js","names":["withVersion","config","withAppBuildGradle","modResults","language","contents","setVersionCode","setVersionName","addWarningAndroid","withBuildScriptExtMinimumVersion","props","withProjectBuildGradle","setMinBuildScriptExtVersion","buildGradle","name","minVersion","regex","RegExp","currentVersion","match","currentVersionNum","Number","replace","Math","max","getVersionName","version","versionName","pattern","getVersionCode","android","versionCode"],"sources":["../../src/android/Version.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config-types';\n\nimport { ConfigPlugin } from '../Plugin.types';\nimport { withAppBuildGradle, withProjectBuildGradle } from '../plugins/android-plugins';\nimport { addWarningAndroid } from '../utils/warnings';\n\nexport const withVersion: ConfigPlugin = (config) => {\n return withAppBuildGradle(config, (config) => {\n if (config.modResults.language === 'groovy') {\n config.modResults.contents = setVersionCode(config, config.modResults.contents);\n config.modResults.contents = setVersionName(config, config.modResults.contents);\n } else {\n addWarningAndroid(\n 'android.versionCode',\n `Cannot automatically configure app build.gradle if it's not groovy`\n );\n }\n return config;\n });\n};\n\n/** Sets a numeric version for a value in the project.gradle buildscript.ext object to be at least the provided props.minVersion, if the existing value is greater then no change will be made. */\nexport const withBuildScriptExtMinimumVersion: ConfigPlugin<{\n name: string;\n minVersion: number;\n}> = (config, props) => {\n return withProjectBuildGradle(config, (config) => {\n if (config.modResults.language === 'groovy') {\n config.modResults.contents = setMinBuildScriptExtVersion(config.modResults.contents, props);\n } else {\n addWarningAndroid(\n 'withBuildScriptExtVersion',\n `Cannot automatically configure project build.gradle if it's not groovy`\n );\n }\n return config;\n });\n};\n\nexport function setMinBuildScriptExtVersion(\n buildGradle: string,\n { name, minVersion }: { name: string; minVersion: number }\n) {\n const regex = new RegExp(`(${name}\\\\s?=\\\\s?)(\\\\d+(?:\\\\.\\\\d+)?)`);\n const currentVersion = buildGradle.match(regex)?.[2];\n if (!currentVersion) {\n addWarningAndroid(\n 'withBuildScriptExtVersion',\n `Cannot set minimum buildscript.ext.${name} version because the property \"${name}\" cannot be found or does not have a numeric value.`\n );\n // TODO: Maybe just add the property...\n return buildGradle;\n }\n\n const currentVersionNum = Number(currentVersion);\n return buildGradle.replace(regex, `$1${Math.max(minVersion, currentVersionNum)}`);\n}\n\nexport function getVersionName(config: Pick<ExpoConfig, 'version'>) {\n return config.version ?? null;\n}\n\nexport function setVersionName(config: Pick<ExpoConfig, 'version'>, buildGradle: string) {\n const versionName = getVersionName(config);\n if (versionName === null) {\n return buildGradle;\n }\n\n const pattern = new RegExp(`versionName \".*\"`);\n return buildGradle.replace(pattern, `versionName \"${versionName}\"`);\n}\n\nexport function getVersionCode(config: Pick<ExpoConfig, 'android'>) {\n return config.android?.versionCode ?? 1;\n}\n\nexport function setVersionCode(config: Pick<ExpoConfig, 'android'>, buildGradle: string) {\n const versionCode = getVersionCode(config);\n if (versionCode === null) {\n return buildGradle;\n }\n\n const pattern = new RegExp(`versionCode.*`);\n return buildGradle.replace(pattern, `versionCode ${versionCode}`);\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Version.js","names":["withVersion","config","withAppBuildGradle","modResults","language","contents","setVersionCode","setVersionName","addWarningAndroid","withBuildScriptExtMinimumVersion","props","withProjectBuildGradle","setMinBuildScriptExtVersion","buildGradle","name","minVersion","regex","RegExp","currentVersion","match","currentVersionNum","Number","replace","Math","max","getVersionName","version","versionName","pattern","getVersionCode","android","versionCode"],"sources":["../../src/android/Version.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config-types';\n\nimport { ConfigPlugin } from '../Plugin.types';\nimport { withAppBuildGradle, withProjectBuildGradle } from '../plugins/android-plugins';\nimport { addWarningAndroid } from '../utils/warnings';\n\nexport const withVersion: ConfigPlugin = (config) => {\n return withAppBuildGradle(config, (config) => {\n if (config.modResults.language === 'groovy') {\n config.modResults.contents = setVersionCode(config, config.modResults.contents);\n config.modResults.contents = setVersionName(config, config.modResults.contents);\n } else {\n addWarningAndroid(\n 'android.versionCode',\n `Cannot automatically configure app build.gradle if it's not groovy`\n );\n }\n return config;\n });\n};\n\n/** Sets a numeric version for a value in the project.gradle buildscript.ext object to be at least the provided props.minVersion, if the existing value is greater then no change will be made. */\nexport const withBuildScriptExtMinimumVersion: ConfigPlugin<{\n name: string;\n minVersion: number;\n}> = (config, props) => {\n return withProjectBuildGradle(config, (config) => {\n if (config.modResults.language === 'groovy') {\n config.modResults.contents = setMinBuildScriptExtVersion(config.modResults.contents, props);\n } else {\n addWarningAndroid(\n 'withBuildScriptExtVersion',\n `Cannot automatically configure project build.gradle if it's not groovy`\n );\n }\n return config;\n });\n};\n\nexport function setMinBuildScriptExtVersion(\n buildGradle: string,\n { name, minVersion }: { name: string; minVersion: number }\n) {\n const regex = new RegExp(`(${name}\\\\s?=\\\\s?)(\\\\d+(?:\\\\.\\\\d+)?)`);\n const currentVersion = buildGradle.match(regex)?.[2];\n if (!currentVersion) {\n addWarningAndroid(\n 'withBuildScriptExtVersion',\n `Cannot set minimum buildscript.ext.${name} version because the property \"${name}\" cannot be found or does not have a numeric value.`\n );\n // TODO: Maybe just add the property...\n return buildGradle;\n }\n\n const currentVersionNum = Number(currentVersion);\n return buildGradle.replace(regex, `$1${Math.max(minVersion, currentVersionNum)}`);\n}\n\nexport function getVersionName(config: Pick<ExpoConfig, 'version'>) {\n return config.version ?? null;\n}\n\nexport function setVersionName(config: Pick<ExpoConfig, 'version'>, buildGradle: string) {\n const versionName = getVersionName(config);\n if (versionName === null) {\n return buildGradle;\n }\n\n const pattern = new RegExp(`versionName \".*\"`);\n return buildGradle.replace(pattern, `versionName \"${versionName}\"`);\n}\n\nexport function getVersionCode(config: Pick<ExpoConfig, 'android'>) {\n return config.android?.versionCode ?? 1;\n}\n\nexport function setVersionCode(config: Pick<ExpoConfig, 'android'>, buildGradle: string) {\n const versionCode = getVersionCode(config);\n if (versionCode === null) {\n return buildGradle;\n }\n\n const pattern = new RegExp(`versionCode.*`);\n return buildGradle.replace(pattern, `versionCode ${versionCode}`);\n}\n"],"mappings":"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"}
|
|
@@ -6,58 +6,44 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.getWindowSoftInputModeMode = getWindowSoftInputModeMode;
|
|
7
7
|
exports.setWindowSoftInputModeMode = setWindowSoftInputModeMode;
|
|
8
8
|
exports.withWindowSoftInputMode = void 0;
|
|
9
|
-
|
|
10
9
|
function _androidPlugins() {
|
|
11
10
|
const data = require("../plugins/android-plugins");
|
|
12
|
-
|
|
13
11
|
_androidPlugins = function () {
|
|
14
12
|
return data;
|
|
15
13
|
};
|
|
16
|
-
|
|
17
14
|
return data;
|
|
18
15
|
}
|
|
19
|
-
|
|
20
16
|
function _Manifest() {
|
|
21
17
|
const data = require("./Manifest");
|
|
22
|
-
|
|
23
18
|
_Manifest = function () {
|
|
24
19
|
return data;
|
|
25
20
|
};
|
|
26
|
-
|
|
27
21
|
return data;
|
|
28
22
|
}
|
|
29
|
-
|
|
30
23
|
const ANDROID_WINDOW_SOFT_INPUT_MODE = 'android:windowSoftInputMode';
|
|
31
24
|
const MAPPING = {
|
|
32
25
|
pan: 'adjustPan',
|
|
33
26
|
resize: 'adjustResize'
|
|
34
27
|
};
|
|
35
|
-
|
|
36
28
|
const withWindowSoftInputMode = config => {
|
|
37
29
|
return (0, _androidPlugins().withAndroidManifest)(config, async config => {
|
|
38
30
|
config.modResults = setWindowSoftInputModeMode(config, config.modResults);
|
|
39
31
|
return config;
|
|
40
32
|
});
|
|
41
33
|
};
|
|
42
|
-
|
|
43
34
|
exports.withWindowSoftInputMode = withWindowSoftInputMode;
|
|
44
|
-
|
|
45
35
|
function setWindowSoftInputModeMode(config, androidManifest) {
|
|
46
36
|
const app = (0, _Manifest().getMainActivityOrThrow)(androidManifest);
|
|
47
37
|
app.$[ANDROID_WINDOW_SOFT_INPUT_MODE] = getWindowSoftInputModeMode(config);
|
|
48
38
|
return androidManifest;
|
|
49
39
|
}
|
|
50
|
-
|
|
51
40
|
function getWindowSoftInputModeMode(config) {
|
|
52
41
|
var _config$android, _MAPPING$value;
|
|
53
|
-
|
|
54
42
|
const value = (_config$android = config.android) === null || _config$android === void 0 ? void 0 : _config$android.softwareKeyboardLayoutMode;
|
|
55
|
-
|
|
56
43
|
if (!value) {
|
|
57
44
|
// Default to `adjustResize` or `resize`.
|
|
58
45
|
return 'adjustResize';
|
|
59
46
|
}
|
|
60
|
-
|
|
61
47
|
return (_MAPPING$value = MAPPING[value]) !== null && _MAPPING$value !== void 0 ? _MAPPING$value : value;
|
|
62
48
|
}
|
|
63
49
|
//# sourceMappingURL=WindowSoftInputMode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WindowSoftInputMode.js","names":["ANDROID_WINDOW_SOFT_INPUT_MODE","MAPPING","pan","resize","withWindowSoftInputMode","config","withAndroidManifest","modResults","setWindowSoftInputModeMode","androidManifest","app","getMainActivityOrThrow","$","getWindowSoftInputModeMode","value","android","softwareKeyboardLayoutMode"],"sources":["../../src/android/WindowSoftInputMode.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config-types';\n\nimport { ConfigPlugin } from '../Plugin.types';\nimport { withAndroidManifest } from '../plugins/android-plugins';\nimport { AndroidManifest, getMainActivityOrThrow } from './Manifest';\n\nconst ANDROID_WINDOW_SOFT_INPUT_MODE = 'android:windowSoftInputMode';\n\nconst MAPPING: Record<string, string> = {\n pan: 'adjustPan',\n resize: 'adjustResize',\n};\n\nexport const withWindowSoftInputMode: ConfigPlugin = (config) => {\n return withAndroidManifest(config, async (config) => {\n config.modResults = setWindowSoftInputModeMode(config, config.modResults);\n return config;\n });\n};\n\nexport function setWindowSoftInputModeMode(\n config: Pick<ExpoConfig, 'android' | 'userInterfaceStyle'>,\n androidManifest: AndroidManifest\n) {\n const app = getMainActivityOrThrow(androidManifest);\n app.$[ANDROID_WINDOW_SOFT_INPUT_MODE] = getWindowSoftInputModeMode(config);\n return androidManifest;\n}\n\nexport function getWindowSoftInputModeMode(config: Pick<ExpoConfig, 'android'>) {\n const value = config.android?.softwareKeyboardLayoutMode;\n\n if (!value) {\n // Default to `adjustResize` or `resize`.\n return 'adjustResize';\n }\n return MAPPING[value] ?? value;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"WindowSoftInputMode.js","names":["ANDROID_WINDOW_SOFT_INPUT_MODE","MAPPING","pan","resize","withWindowSoftInputMode","config","withAndroidManifest","modResults","setWindowSoftInputModeMode","androidManifest","app","getMainActivityOrThrow","$","getWindowSoftInputModeMode","value","android","softwareKeyboardLayoutMode"],"sources":["../../src/android/WindowSoftInputMode.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config-types';\n\nimport { ConfigPlugin } from '../Plugin.types';\nimport { withAndroidManifest } from '../plugins/android-plugins';\nimport { AndroidManifest, getMainActivityOrThrow } from './Manifest';\n\nconst ANDROID_WINDOW_SOFT_INPUT_MODE = 'android:windowSoftInputMode';\n\nconst MAPPING: Record<string, string> = {\n pan: 'adjustPan',\n resize: 'adjustResize',\n};\n\nexport const withWindowSoftInputMode: ConfigPlugin = (config) => {\n return withAndroidManifest(config, async (config) => {\n config.modResults = setWindowSoftInputModeMode(config, config.modResults);\n return config;\n });\n};\n\nexport function setWindowSoftInputModeMode(\n config: Pick<ExpoConfig, 'android' | 'userInterfaceStyle'>,\n androidManifest: AndroidManifest\n) {\n const app = getMainActivityOrThrow(androidManifest);\n app.$[ANDROID_WINDOW_SOFT_INPUT_MODE] = getWindowSoftInputModeMode(config);\n return androidManifest;\n}\n\nexport function getWindowSoftInputModeMode(config: Pick<ExpoConfig, 'android'>) {\n const value = config.android?.softwareKeyboardLayoutMode;\n\n if (!value) {\n // Default to `adjustResize` or `resize`.\n return 'adjustResize';\n }\n return MAPPING[value] ?? value;\n}\n"],"mappings":";;;;;;;;AAGA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA,MAAMA,8BAA8B,GAAG,6BAA6B;AAEpE,MAAMC,OAA+B,GAAG;EACtCC,GAAG,EAAE,WAAW;EAChBC,MAAM,EAAE;AACV,CAAC;AAEM,MAAMC,uBAAqC,GAAIC,MAAM,IAAK;EAC/D,OAAO,IAAAC,qCAAmB,EAACD,MAAM,EAAE,MAAOA,MAAM,IAAK;IACnDA,MAAM,CAACE,UAAU,GAAGC,0BAA0B,CAACH,MAAM,EAAEA,MAAM,CAACE,UAAU,CAAC;IACzE,OAAOF,MAAM;EACf,CAAC,CAAC;AACJ,CAAC;AAAC;AAEK,SAASG,0BAA0B,CACxCH,MAA0D,EAC1DI,eAAgC,EAChC;EACA,MAAMC,GAAG,GAAG,IAAAC,kCAAsB,EAACF,eAAe,CAAC;EACnDC,GAAG,CAACE,CAAC,CAACZ,8BAA8B,CAAC,GAAGa,0BAA0B,CAACR,MAAM,CAAC;EAC1E,OAAOI,eAAe;AACxB;AAEO,SAASI,0BAA0B,CAACR,MAAmC,EAAE;EAAA;EAC9E,MAAMS,KAAK,sBAAGT,MAAM,CAACU,OAAO,oDAAd,gBAAgBC,0BAA0B;EAExD,IAAI,CAACF,KAAK,EAAE;IACV;IACA,OAAO,cAAc;EACvB;EACA,yBAAOb,OAAO,CAACa,KAAK,CAAC,2DAAIA,KAAK;AAChC"}
|