@expo/config-plugins 4.0.7 → 4.0.8
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.js +6 -6
- package/build/android/AllowBackup.js +1 -1
- package/build/android/Colors.js +3 -3
- package/build/android/EasBuild.js +1 -1
- package/build/android/GoogleServices.js +3 -3
- package/build/android/IntentFilters.js +1 -1
- package/build/android/JsEngine.js +2 -1
- package/build/android/JsEngine.js.map +1 -1
- package/build/android/Manifest.js +10 -10
- package/build/android/Name.d.ts +2 -1
- package/build/android/Name.js +7 -4
- package/build/android/Name.js.map +1 -1
- package/build/android/Orientation.js +2 -1
- package/build/android/Orientation.js.map +1 -1
- package/build/android/Package.js +4 -4
- package/build/android/Package.js.map +1 -1
- package/build/android/Paths.js +9 -9
- package/build/android/Permissions.js +6 -6
- package/build/android/Resources.js +5 -5
- package/build/android/Scheme.js +3 -3
- package/build/android/StatusBar.js +3 -3
- package/build/android/Strings.js +1 -1
- package/build/android/Styles.js +5 -5
- package/build/android/Updates.d.ts +0 -5
- package/build/android/Updates.js +14 -23
- package/build/android/Updates.js.map +1 -1
- package/build/android/Version.js +2 -2
- package/build/android/WindowSoftInputMode.js +1 -1
- package/build/android/codeMod.js +2 -2
- package/build/index.js +54 -53
- package/build/index.js.map +1 -1
- package/build/ios/Bitcode.js +1 -1
- package/build/ios/BuildScheme.js +2 -2
- package/build/ios/BundleIdentifier.js +3 -3
- package/build/ios/DeviceFamily.js +3 -3
- package/build/ios/Entitlements.js +2 -2
- package/build/ios/Entitlements.js.map +1 -1
- package/build/ios/Google.js +2 -2
- package/build/ios/JsEngine.js +2 -1
- package/build/ios/JsEngine.js.map +1 -1
- package/build/ios/Locales.js +1 -1
- package/build/ios/Maps.js +32 -18
- package/build/ios/Maps.js.map +1 -1
- package/build/ios/Orientation.js +2 -1
- package/build/ios/Orientation.js.map +1 -1
- package/build/ios/Paths.js +14 -14
- package/build/ios/Paths.js.map +1 -1
- package/build/ios/Permissions.js +1 -1
- package/build/ios/Permissions.js.map +1 -1
- package/build/ios/Scheme.js +4 -4
- package/build/ios/Swift.js +2 -2
- package/build/ios/Target.js +5 -5
- package/build/ios/Updates.d.ts +0 -5
- package/build/ios/Updates.js +14 -23
- package/build/ios/Updates.js.map +1 -1
- package/build/ios/Version.js +3 -3
- package/build/ios/codeMod.js +2 -2
- package/build/ios/index.js +3 -1
- package/build/ios/index.js.map +1 -1
- package/build/ios/utils/Xcodeproj.js +9 -9
- package/build/plugins/android-plugins.js +1 -1
- package/build/plugins/createBaseMod.js +2 -2
- package/build/plugins/createBaseMod.js.map +1 -1
- package/build/plugins/ios-plugins.js +2 -2
- package/build/plugins/mod-compiler.js +3 -3
- package/build/plugins/mod-compiler.js.map +1 -1
- package/build/plugins/withAndroidBaseMods.js +1 -1
- package/build/plugins/withIosBaseMods.js +1 -1
- package/build/utils/Updates.d.ts +1 -0
- package/build/utils/Updates.js +24 -1
- package/build/utils/Updates.js.map +1 -1
- package/build/utils/XML.d.ts +6 -0
- package/build/utils/XML.js +57 -10
- package/build/utils/XML.js.map +1 -1
- package/build/utils/errors.js +1 -1
- package/build/utils/generateCode.js +2 -2
- package/build/utils/history.js +1 -1
- package/build/utils/modules.js +1 -1
- package/build/utils/plugin-resolver.js +4 -4
- package/build/utils/sortObject.js +2 -2
- package/build/utils/warnings.js +1 -1
- package/package.json +3 -3
- package/build/utils/resolvePackageRootFolder.d.ts +0 -1
- package/build/utils/resolvePackageRootFolder.js +0 -57
- package/build/utils/resolvePackageRootFolder.js.map +0 -1
package/build/Plugin.types.js
CHANGED
|
@@ -3,12 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
Object.defineProperty(exports, "XcodeProject", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
-
return _xcode().XcodeProject;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
6
|
Object.defineProperty(exports, "AndroidManifest", {
|
|
13
7
|
enumerable: true,
|
|
14
8
|
get: function () {
|
|
@@ -27,6 +21,12 @@ Object.defineProperty(exports, "InfoPlist", {
|
|
|
27
21
|
return _IosConfig().InfoPlist;
|
|
28
22
|
}
|
|
29
23
|
});
|
|
24
|
+
Object.defineProperty(exports, "XcodeProject", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _xcode().XcodeProject;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
30
|
|
|
31
31
|
function _xcode() {
|
|
32
32
|
const data = require("xcode");
|
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getAllowBackup = getAllowBackup;
|
|
7
|
-
exports.setAllowBackup = setAllowBackup;
|
|
8
7
|
exports.getAllowBackupFromManifest = getAllowBackupFromManifest;
|
|
8
|
+
exports.setAllowBackup = setAllowBackup;
|
|
9
9
|
exports.withAllowBackup = void 0;
|
|
10
10
|
|
|
11
11
|
function _androidPlugins() {
|
package/build/android/Colors.js
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getProjectColorsXMLPathAsync = getProjectColorsXMLPathAsync;
|
|
7
|
-
exports.setColorItem = setColorItem;
|
|
8
|
-
exports.removeColorItem = removeColorItem;
|
|
9
6
|
exports.assignColorValue = assignColorValue;
|
|
10
7
|
exports.getColorsAsObject = getColorsAsObject;
|
|
11
8
|
exports.getObjectAsColorsXml = getObjectAsColorsXml;
|
|
9
|
+
exports.getProjectColorsXMLPathAsync = getProjectColorsXMLPathAsync;
|
|
10
|
+
exports.removeColorItem = removeColorItem;
|
|
11
|
+
exports.setColorItem = setColorItem;
|
|
12
12
|
|
|
13
13
|
function _Paths() {
|
|
14
14
|
const data = require("./Paths");
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getEasBuildGradlePath = getEasBuildGradlePath;
|
|
7
6
|
exports.configureEasBuildAsync = configureEasBuildAsync;
|
|
7
|
+
exports.getEasBuildGradlePath = getEasBuildGradlePath;
|
|
8
8
|
exports.isEasBuildGradleConfiguredAsync = isEasBuildGradleConfiguredAsync;
|
|
9
9
|
|
|
10
10
|
function _fsExtra() {
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.applyPlugin = applyPlugin;
|
|
6
7
|
exports.getGoogleServicesFilePath = getGoogleServicesFilePath;
|
|
7
|
-
exports.setGoogleServicesFile = setGoogleServicesFile;
|
|
8
8
|
exports.setClassPath = setClassPath;
|
|
9
|
-
exports.
|
|
10
|
-
exports.withGoogleServicesFile = exports.
|
|
9
|
+
exports.setGoogleServicesFile = setGoogleServicesFile;
|
|
10
|
+
exports.withGoogleServicesFile = exports.withClassPath = exports.withApplyPlugin = void 0;
|
|
11
11
|
|
|
12
12
|
function _fsExtra() {
|
|
13
13
|
const data = _interopRequireDefault(require("fs-extra"));
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.default = renderIntentFilters;
|
|
6
7
|
exports.getIntentFilters = getIntentFilters;
|
|
7
8
|
exports.setAndroidIntentFilters = setAndroidIntentFilters;
|
|
8
|
-
exports.default = renderIntentFilters;
|
|
9
9
|
exports.withAndroidIntentFilters = void 0;
|
|
10
10
|
|
|
11
11
|
function _xml2js() {
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.JS_ENGINE_PROP_KEY = exports.DEFAULT_JS_ENGINE = void 0;
|
|
6
7
|
exports.getJsEngine = getJsEngine;
|
|
7
8
|
exports.setJsEngine = setJsEngine;
|
|
8
|
-
exports.withJsEngineGradleProps =
|
|
9
|
+
exports.withJsEngineGradleProps = void 0;
|
|
9
10
|
|
|
10
11
|
function _androidPlugins() {
|
|
11
12
|
const data = require("../plugins/android-plugins");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/android/JsEngine.ts"],"names":["JS_ENGINE_PROP_KEY","DEFAULT_JS_ENGINE","withJsEngineGradleProps","config","modResults","setJsEngine","getJsEngine","android","jsEngine","gradleProperties","oldPropIndex","findIndex","prop","type","key","newProp","value","push"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/android/JsEngine.ts"],"names":["JS_ENGINE_PROP_KEY","DEFAULT_JS_ENGINE","withJsEngineGradleProps","config","modResults","setJsEngine","getJsEngine","android","jsEngine","gradleProperties","oldPropIndex","findIndex","prop","type","key","newProp","value","push"],"mappings":";;;;;;;;;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGO,MAAMA,kBAAkB,GAAG,eAA3B;;AACA,MAAMC,iBAAiB,GAAG,KAA1B;;;AAEA,MAAMC,uBAAqC,GAAGC,MAAM,IAAI;AAC7D,SAAO,4CAAqBA,MAArB,EAA6BA,MAAM,IAAI;AAC5CA,IAAAA,MAAM,CAACC,UAAP,GAAoBC,WAAW,CAACF,MAAD,EAASA,MAAM,CAACC,UAAhB,CAA/B;AACA,WAAOD,MAAP;AACD,GAHM,CAAP;AAID,CALM;;;;AAOA,SAASG,WAAT,CAAqBH,MAArB,EAAuE;AAAA;;AAC5E,6DAAOA,MAAM,CAACI,OAAd,oDAAO,gBAAgBC,QAAvB,yEAAmCL,MAAM,CAACK,QAA1C,uCAAsDP,iBAAtD;AACD;;AAEM,SAASI,WAAT,CACLF,MADK,EAELM,gBAFK,EAGa;AAAA;;AAClB,QAAMC,YAAY,GAAGD,gBAAgB,CAACE,SAAjB,CACnBC,IAAI,IAAIA,IAAI,CAACC,IAAL,KAAc,UAAd,IAA4BD,IAAI,CAACE,GAAL,KAAad,kBAD9B,CAArB;AAGA,QAAMe,OAAuB,GAAG;AAC9BF,IAAAA,IAAI,EAAE,UADwB;AAE9BC,IAAAA,GAAG,EAAEd,kBAFyB;AAG9BgB,IAAAA,KAAK,yDAAEb,MAAM,CAACI,OAAT,qDAAE,iBAAgBC,QAAlB,2EAA8BL,MAAM,CAACK,QAArC,yCAAiDP;AAHxB,GAAhC;;AAMA,MAAIS,YAAY,IAAI,CAApB,EAAuB;AACrBD,IAAAA,gBAAgB,CAACC,YAAD,CAAhB,GAAiCK,OAAjC;AACD,GAFD,MAEO;AACLN,IAAAA,gBAAgB,CAACQ,IAAjB,CAAsBF,OAAtB;AACD;;AAED,SAAON,gBAAP;AACD","sourcesContent":["import type { ExpoConfig } from '@expo/config-types';\n\nimport type { ConfigPlugin } from '../Plugin.types';\nimport { withGradleProperties } from '../plugins/android-plugins';\nimport type { PropertiesItem } from './Properties';\n\nexport const JS_ENGINE_PROP_KEY = 'expo.jsEngine';\nexport const DEFAULT_JS_ENGINE = 'jsc';\n\nexport const withJsEngineGradleProps: ConfigPlugin = config => {\n return withGradleProperties(config, config => {\n config.modResults = setJsEngine(config, config.modResults);\n return config;\n });\n};\n\nexport function getJsEngine(config: Pick<ExpoConfig, 'android' | 'jsEngine'>) {\n return config.android?.jsEngine ?? config.jsEngine ?? DEFAULT_JS_ENGINE;\n}\n\nexport function setJsEngine(\n config: Pick<ExpoConfig, 'android' | 'jsEngine'>,\n gradleProperties: PropertiesItem[]\n): PropertiesItem[] {\n const oldPropIndex = gradleProperties.findIndex(\n prop => prop.type === 'property' && prop.key === JS_ENGINE_PROP_KEY\n );\n const newProp: PropertiesItem = {\n type: 'property',\n key: JS_ENGINE_PROP_KEY,\n value: config.android?.jsEngine ?? config.jsEngine ?? DEFAULT_JS_ENGINE,\n };\n\n if (oldPropIndex >= 0) {\n gradleProperties[oldPropIndex] = newProp;\n } else {\n gradleProperties.push(newProp);\n }\n\n return gradleProperties;\n}\n"],"file":"JsEngine.js"}
|
|
@@ -3,21 +3,21 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.writeAndroidManifestAsync = writeAndroidManifestAsync;
|
|
7
|
-
exports.readAndroidManifestAsync = readAndroidManifestAsync;
|
|
8
|
-
exports.getMainApplication = getMainApplication;
|
|
9
|
-
exports.getMainApplicationOrThrow = getMainApplicationOrThrow;
|
|
10
|
-
exports.getMainActivityOrThrow = getMainActivityOrThrow;
|
|
11
|
-
exports.getRunnableActivity = getRunnableActivity;
|
|
12
|
-
exports.getMainActivity = getMainActivity;
|
|
13
6
|
exports.addMetaDataItemToMainApplication = addMetaDataItemToMainApplication;
|
|
14
|
-
exports.
|
|
7
|
+
exports.addUsesLibraryItemToMainApplication = addUsesLibraryItemToMainApplication;
|
|
15
8
|
exports.findMetaDataItem = findMetaDataItem;
|
|
16
9
|
exports.findUsesLibraryItem = findUsesLibraryItem;
|
|
10
|
+
exports.getMainActivity = getMainActivity;
|
|
11
|
+
exports.getMainActivityOrThrow = getMainActivityOrThrow;
|
|
12
|
+
exports.getMainApplication = getMainApplication;
|
|
17
13
|
exports.getMainApplicationMetaDataValue = getMainApplicationMetaDataValue;
|
|
18
|
-
exports.
|
|
19
|
-
exports.
|
|
14
|
+
exports.getMainApplicationOrThrow = getMainApplicationOrThrow;
|
|
15
|
+
exports.getRunnableActivity = getRunnableActivity;
|
|
20
16
|
exports.prefixAndroidKeys = prefixAndroidKeys;
|
|
17
|
+
exports.readAndroidManifestAsync = readAndroidManifestAsync;
|
|
18
|
+
exports.removeMetaDataItemFromMainApplication = removeMetaDataItemFromMainApplication;
|
|
19
|
+
exports.removeUsesLibraryItemFromMainApplication = removeUsesLibraryItemFromMainApplication;
|
|
20
|
+
exports.writeAndroidManifestAsync = writeAndroidManifestAsync;
|
|
21
21
|
|
|
22
22
|
function _assert() {
|
|
23
23
|
const data = _interopRequireDefault(require("assert"));
|
package/build/android/Name.d.ts
CHANGED
|
@@ -2,7 +2,8 @@ import { ExpoConfig } from '@expo/config-types';
|
|
|
2
2
|
import { ConfigPlugin } from '../Plugin.types';
|
|
3
3
|
/**
|
|
4
4
|
* Sanitize a name, this should be used for files and gradle names.
|
|
5
|
-
* - `[/, \, :, <, >, ", ?, *, |]` are not allowed
|
|
5
|
+
* - `[/, \, :, <, >, ", ?, *, |]` are not allowed
|
|
6
|
+
* https://docs.gradle.org/4.2/release-notes.html#path-separator-characters-in-names-are-deprecated
|
|
6
7
|
*
|
|
7
8
|
* @param name
|
|
8
9
|
*/
|
package/build/android/Name.js
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.sanitizeNameForGradle = sanitizeNameForGradle;
|
|
7
|
-
exports.getName = getName;
|
|
8
6
|
exports.applyNameSettingsGradle = applyNameSettingsGradle;
|
|
7
|
+
exports.getName = getName;
|
|
8
|
+
exports.sanitizeNameForGradle = sanitizeNameForGradle;
|
|
9
9
|
exports.withNameSettingsGradle = exports.withName = void 0;
|
|
10
10
|
|
|
11
11
|
function _androidPlugins() {
|
|
@@ -50,13 +50,16 @@ function _Strings() {
|
|
|
50
50
|
|
|
51
51
|
/**
|
|
52
52
|
* Sanitize a name, this should be used for files and gradle names.
|
|
53
|
-
* - `[/, \, :, <, >, ", ?, *, |]` are not allowed
|
|
53
|
+
* - `[/, \, :, <, >, ", ?, *, |]` are not allowed
|
|
54
|
+
* https://docs.gradle.org/4.2/release-notes.html#path-separator-characters-in-names-are-deprecated
|
|
54
55
|
*
|
|
55
56
|
* @param name
|
|
56
57
|
*/
|
|
57
58
|
function sanitizeNameForGradle(name) {
|
|
58
|
-
//
|
|
59
|
+
// Remove escape characters which are valid in XML names but not in gradle.
|
|
60
|
+
name = name.replace(/[\n\r\t]/g, ''); // Gradle disallows these:
|
|
59
61
|
// The project name 'My-Special 😃 Co/ol_Project' must not contain any of the following characters: [/, \, :, <, >, ", ?, *, |]. Set the 'rootProject.name' or adjust the 'include' statement (see https://docs.gradle.org/6.2/dsl/org.gradle.api.initialization.Settings.html#org.gradle.api.initialization.Settings:include(java.lang.String[]) for more details).
|
|
62
|
+
|
|
60
63
|
return name.replace(/(\/|\\|:|<|>|"|\?|\*|\|)/g, '');
|
|
61
64
|
}
|
|
62
65
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/android/Name.ts"],"names":["sanitizeNameForGradle","name","replace","withName","applyNameFromConfig","withNameSettingsGradle","config","modResults","language","contents","applyNameSettingsGradle","getName","stringsJSON","value","settingsGradle"],"mappings":";;;;;;;;;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,qBAAT,CAA+BC,IAA/B,EAAqD;AAC1D;
|
|
1
|
+
{"version":3,"sources":["../../src/android/Name.ts"],"names":["sanitizeNameForGradle","name","replace","withName","applyNameFromConfig","withNameSettingsGradle","config","modResults","language","contents","applyNameSettingsGradle","getName","stringsJSON","value","settingsGradle"],"mappings":";;;;;;;;;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,qBAAT,CAA+BC,IAA/B,EAAqD;AAC1D;AACAA,EAAAA,IAAI,GAAGA,IAAI,CAACC,OAAL,CAAa,WAAb,EAA0B,EAA1B,CAAP,CAF0D,CAI1D;AACA;;AACA,SAAOD,IAAI,CAACC,OAAL,CAAa,2BAAb,EAA0C,EAA1C,CAAP;AACD;;AAEM,MAAMC,QAAQ,GAAG,8CAAuBC,mBAAvB,EAA4C,UAA5C,CAAjB;;;AAEA,MAAMC,sBAAoC,GAAGC,MAAM,IAAI;AAC5D,SAAO,0CAAmBA,MAAnB,EAA2BA,MAAM,IAAI;AAC1C,QAAIA,MAAM,CAACC,UAAP,CAAkBC,QAAlB,KAA+B,QAAnC,EAA6C;AAC3CF,MAAAA,MAAM,CAACC,UAAP,CAAkBE,QAAlB,GAA6BC,uBAAuB,CAACJ,MAAD,EAASA,MAAM,CAACC,UAAP,CAAkBE,QAA3B,CAApD;AACD,KAFD,MAEO;AACL,yCACE,MADF,EAEG,mEAFH;AAID;;AACD,WAAOH,MAAP;AACD,GAVM,CAAP;AAWD,CAZM;;;;AAcA,SAASK,OAAT,CAAiBL,MAAjB,EAAmD;AACxD,SAAO,OAAOA,MAAM,CAACL,IAAd,KAAuB,QAAvB,GAAkCK,MAAM,CAACL,IAAzC,GAAgD,IAAvD;AACD;;AAED,SAASG,mBAAT,CACEE,MADF,EAEEM,WAFF,EAGe;AACb,QAAMX,IAAI,GAAGU,OAAO,CAACL,MAAD,CAApB;;AACA,MAAIL,IAAJ,EAAU;AACR,WAAO,8BAAc,CAAC,oCAAkB;AAAEA,MAAAA,IAAI,EAAE,UAAR;AAAoBY,MAAAA,KAAK,EAAEZ;AAA3B,KAAlB,CAAD,CAAd,EAAsEW,WAAtE,CAAP;AACD;;AACD,SAAO,iCAAiB,UAAjB,EAA6BA,WAA7B,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASF,uBAAT,CAAiCJ,MAAjC,EAAmEQ,cAAnE,EAA2F;AAAA;;AAChG,QAAMb,IAAI,GAAGD,qBAAqB,aAACW,OAAO,CAACL,MAAD,CAAR,+CAAoB,EAApB,CAAlC,CADgG,CAGhG;;AACA,SAAOQ,cAAc,CAACZ,OAAf,CACL,oDADK,EAEJ,uBAAsBD,IAAI,CAACC,OAAL,CAAa,IAAb,EAAmB,KAAnB,CAA0B,GAF5C,CAAP;AAID","sourcesContent":["import { ExpoConfig } from '@expo/config-types';\n\nimport { ConfigPlugin } from '../Plugin.types';\nimport { createStringsXmlPlugin, withSettingsGradle } from '../plugins/android-plugins';\nimport { addWarningAndroid } from '../utils/warnings';\nimport { buildResourceItem, ResourceXML } from './Resources';\nimport { removeStringItem, setStringItem } from './Strings';\n\n/**\n * Sanitize a name, this should be used for files and gradle names.\n * - `[/, \\, :, <, >, \", ?, *, |]` are not allowed\n * https://docs.gradle.org/4.2/release-notes.html#path-separator-characters-in-names-are-deprecated\n *\n * @param name\n */\nexport function sanitizeNameForGradle(name: string): string {\n // Remove escape characters which are valid in XML names but not in gradle.\n name = name.replace(/[\\n\\r\\t]/g, '');\n\n // Gradle disallows these:\n // The project name 'My-Special 😃 Co/ol_Project' must not contain any of the following characters: [/, \\, :, <, >, \", ?, *, |]. Set the 'rootProject.name' or adjust the 'include' statement (see https://docs.gradle.org/6.2/dsl/org.gradle.api.initialization.Settings.html#org.gradle.api.initialization.Settings:include(java.lang.String[]) for more details).\n return name.replace(/(\\/|\\\\|:|<|>|\"|\\?|\\*|\\|)/g, '');\n}\n\nexport const withName = createStringsXmlPlugin(applyNameFromConfig, 'withName');\n\nexport const withNameSettingsGradle: ConfigPlugin = config => {\n return withSettingsGradle(config, config => {\n if (config.modResults.language === 'groovy') {\n config.modResults.contents = applyNameSettingsGradle(config, config.modResults.contents);\n } else {\n addWarningAndroid(\n 'name',\n `Cannot automatically configure settings.gradle if it's not groovy`\n );\n }\n return config;\n });\n};\n\nexport function getName(config: Pick<ExpoConfig, 'name'>) {\n return typeof config.name === 'string' ? config.name : null;\n}\n\nfunction applyNameFromConfig(\n config: Pick<ExpoConfig, 'name'>,\n stringsJSON: ResourceXML\n): ResourceXML {\n const name = getName(config);\n if (name) {\n return setStringItem([buildResourceItem({ name: 'app_name', value: name })], stringsJSON);\n }\n return removeStringItem('app_name', stringsJSON);\n}\n\n/**\n * Regex a name change -- fragile.\n *\n * @param config\n * @param settingsGradle\n */\nexport function applyNameSettingsGradle(config: Pick<ExpoConfig, 'name'>, settingsGradle: string) {\n const name = sanitizeNameForGradle(getName(config) ?? '');\n\n // Select rootProject.name = '***' and replace the contents between the quotes.\n return settingsGradle.replace(\n /rootProject.name\\s?=\\s?([\"'])(?:(?=(\\\\?))\\2.)*?\\1/g,\n `rootProject.name = '${name.replace(/'/g, \"\\\\'\")}'`\n );\n}\n"],"file":"Name.js"}
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.SCREEN_ORIENTATION_ATTRIBUTE = void 0;
|
|
6
7
|
exports.getOrientation = getOrientation;
|
|
7
8
|
exports.setAndroidOrientation = setAndroidOrientation;
|
|
8
|
-
exports.withOrientation =
|
|
9
|
+
exports.withOrientation = void 0;
|
|
9
10
|
|
|
10
11
|
function _androidPlugins() {
|
|
11
12
|
const data = require("../plugins/android-plugins");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/android/Orientation.ts"],"names":["SCREEN_ORIENTATION_ATTRIBUTE","withOrientation","setAndroidOrientation","getOrientation","config","orientation","androidManifest","mainActivity","$"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/android/Orientation.ts"],"names":["SCREEN_ORIENTATION_ATTRIBUTE","withOrientation","setAndroidOrientation","getOrientation","config","orientation","androidManifest","mainActivity","$"],"mappings":";;;;;;;;;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,MAAMA,4BAA4B,GAAG,2BAArC;;AAEA,MAAMC,eAAe,GAAG,mDAC7BC,qBAD6B,EAE7B,iBAF6B,CAAxB;;;AAKA,SAASC,cAAT,CAAwBC,MAAxB,EAAiE;AACtE,SAAO,OAAOA,MAAM,CAACC,WAAd,KAA8B,QAA9B,GAAyCD,MAAM,CAACC,WAAhD,GAA8D,IAArE;AACD;;AAEM,SAASH,qBAAT,CACLE,MADK,EAELE,eAFK,EAGL;AACA,QAAMD,WAAW,GAAGF,cAAc,CAACC,MAAD,CAAlC,CADA,CAEA;;AACA,MAAI,CAACC,WAAL,EAAkB;AAChB,WAAOC,eAAP;AACD;;AAED,QAAMC,YAAY,GAAG,wCAAuBD,eAAvB,CAArB;AAEAC,EAAAA,YAAY,CAACC,CAAb,CAAeR,4BAAf,IACEK,WAAW,KAAK,SAAhB,GAA4BA,WAA5B,GAA0C,aAD5C;AAGA,SAAOC,eAAP;AACD","sourcesContent":["import { ExpoConfig } from '@expo/config-types';\n\nimport { createAndroidManifestPlugin } from '../plugins/android-plugins';\nimport { AndroidManifest, getMainActivityOrThrow } from './Manifest';\n\nexport const SCREEN_ORIENTATION_ATTRIBUTE = 'android:screenOrientation';\n\nexport const withOrientation = createAndroidManifestPlugin(\n setAndroidOrientation,\n 'withOrientation'\n);\n\nexport function getOrientation(config: Pick<ExpoConfig, 'orientation'>) {\n return typeof config.orientation === 'string' ? config.orientation : null;\n}\n\nexport function setAndroidOrientation(\n config: Pick<ExpoConfig, 'orientation'>,\n androidManifest: AndroidManifest\n) {\n const orientation = getOrientation(config);\n // TODO: Remove this if we decide to remove any orientation configuration when not specified\n if (!orientation) {\n return androidManifest;\n }\n\n const mainActivity = getMainActivityOrThrow(androidManifest);\n\n mainActivity.$[SCREEN_ORIENTATION_ATTRIBUTE] =\n orientation !== 'default' ? orientation : 'unspecified';\n\n return androidManifest;\n}\n"],"file":"Orientation.js"}
|
package/build/android/Package.js
CHANGED
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.getApplicationIdAsync = getApplicationIdAsync;
|
|
6
7
|
exports.getPackage = getPackage;
|
|
7
8
|
exports.renamePackageOnDisk = renamePackageOnDisk;
|
|
8
9
|
exports.renamePackageOnDiskForType = renamePackageOnDiskForType;
|
|
9
|
-
exports.setPackageInBuildGradle = setPackageInBuildGradle;
|
|
10
10
|
exports.setPackageInAndroidManifest = setPackageInAndroidManifest;
|
|
11
|
-
exports.
|
|
12
|
-
exports.withPackageRefactor = exports.
|
|
11
|
+
exports.setPackageInBuildGradle = setPackageInBuildGradle;
|
|
12
|
+
exports.withPackageRefactor = exports.withPackageManifest = exports.withPackageGradle = void 0;
|
|
13
13
|
|
|
14
14
|
function _debug() {
|
|
15
15
|
const data = _interopRequireDefault(require("debug"));
|
|
@@ -103,7 +103,7 @@ function _Paths() {
|
|
|
103
103
|
|
|
104
104
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
105
105
|
|
|
106
|
-
const debug = (0, _debug().default)('config-plugins:android:package');
|
|
106
|
+
const debug = (0, _debug().default)('expo:config-plugins:android:package');
|
|
107
107
|
const withPackageManifest = (0, _androidPlugins().createAndroidManifestPlugin)(setPackageInAndroidManifest, 'withPackageManifest');
|
|
108
108
|
exports.withPackageManifest = withPackageManifest;
|
|
109
109
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/android/Package.ts"],"names":["debug","withPackageManifest","setPackageInAndroidManifest","withPackageGradle","config","modResults","language","contents","setPackageInBuildGradle","withPackageRefactor","renamePackageOnDisk","modRequest","projectRoot","getPackage","android","package","getPackageRoot","type","path","join","getCurrentPackageName","packageRoot","mainApplication","packagePath","dirname","packagePathParts","relative","split","sep","filter","Boolean","getCurrentPackageForProjectFile","fileName","filePath","getCurrentPackageNameForType","newPackageName","renamePackageOnDiskForType","packageName","currentPackageName","currentPackagePath","newPackagePath","fs","mkdirpSync","cwd","forEach","relativePath","filepath","lstatSync","isFile","moveSync","oldPathParts","length","pathToCheck","files","readdirSync","rmdirSync","pop","filesToUpdate","absolute","push","readFileSync","toString","replace","RegExp","writeFileSync","e","buildGradle","pattern","androidManifest","manifest","$","getApplicationIdAsync","buildGradlePath","pathExists","readFile","matchResult","match"],"mappings":"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","sourcesContent":["import { ExpoConfig } from '@expo/config-types';\nimport Debug from 'debug';\nimport fs from 'fs-extra';\nimport { sync as globSync } from 'glob';\nimport path from 'path';\n\nimport { ConfigPlugin } from '../Plugin.types';\nimport { createAndroidManifestPlugin, withAppBuildGradle } from '../plugins/android-plugins';\nimport { withDangerousMod } from '../plugins/withDangerousMod';\nimport { directoryExistsAsync } from '../utils/modules';\nimport { addWarningAndroid } from '../utils/warnings';\nimport { AndroidManifest } from './Manifest';\nimport { getAppBuildGradleFilePath, getProjectFilePath } from './Paths';\n\nconst debug = Debug('config-plugins:android:package');\n\nexport const withPackageManifest = createAndroidManifestPlugin(\n setPackageInAndroidManifest,\n 'withPackageManifest'\n);\n\nexport const withPackageGradle: ConfigPlugin = config => {\n return withAppBuildGradle(config, config => {\n if (config.modResults.language === 'groovy') {\n config.modResults.contents = setPackageInBuildGradle(config, config.modResults.contents);\n } else {\n addWarningAndroid(\n 'android.package',\n `Cannot automatically configure app build.gradle if it's not groovy`\n );\n }\n return config;\n });\n};\n\nexport const withPackageRefactor: ConfigPlugin = config => {\n return withDangerousMod(config, [\n 'android',\n async config => {\n await renamePackageOnDisk(config, config.modRequest.projectRoot);\n return config;\n },\n ]);\n};\n\nexport function getPackage(config: Pick<ExpoConfig, 'android'>) {\n return config.android?.package ?? null;\n}\n\nfunction getPackageRoot(projectRoot: string, type: 'main' | 'debug') {\n return path.join(projectRoot, 'android', 'app', 'src', type, 'java');\n}\n\nfunction getCurrentPackageName(projectRoot: string, packageRoot: string) {\n const mainApplication = getProjectFilePath(projectRoot, 'MainApplication');\n const packagePath = path.dirname(mainApplication);\n const packagePathParts = path.relative(packageRoot, packagePath).split(path.sep).filter(Boolean);\n\n return packagePathParts.join('.');\n}\n\nfunction getCurrentPackageForProjectFile(\n projectRoot: string,\n packageRoot: string,\n fileName: string,\n type: string\n) {\n const filePath = globSync(\n path.join(projectRoot, `android/app/src/${type}/java/**/${fileName}.@(java|kt)`)\n )[0];\n\n if (!filePath) {\n return null;\n }\n\n const packagePath = path.dirname(filePath);\n const packagePathParts = path.relative(packageRoot, packagePath).split(path.sep).filter(Boolean);\n\n return packagePathParts.join('.');\n}\n\nfunction getCurrentPackageNameForType(projectRoot: string, type: string): string | null {\n const packageRoot = getPackageRoot(projectRoot, type as any);\n\n if (type === 'main') {\n return getCurrentPackageName(projectRoot, packageRoot);\n }\n // debug, etc..\n return getCurrentPackageForProjectFile(projectRoot, packageRoot, '*', type);\n}\n\n// NOTE(brentvatne): this assumes that our MainApplication.java file is in the root of the package\n// this makes sense for standard react-native projects but may not apply in customized projects, so if\n// we want this to be runnable in any app we need to handle other possibilities\nexport async function renamePackageOnDisk(\n config: Pick<ExpoConfig, 'android'>,\n projectRoot: string\n) {\n const newPackageName = getPackage(config);\n if (newPackageName === null) {\n return;\n }\n\n for (const type of ['main', 'debug']) {\n await renamePackageOnDiskForType({ projectRoot, type, packageName: newPackageName });\n }\n}\n\nexport async function renamePackageOnDiskForType({\n projectRoot,\n type,\n packageName,\n}: {\n projectRoot: string;\n type: string;\n packageName: string;\n}) {\n if (!packageName) {\n return;\n }\n\n const currentPackageName = getCurrentPackageNameForType(projectRoot, type);\n debug(`Found package \"${currentPackageName}\" for type \"${type}\"`);\n if (!currentPackageName || currentPackageName === packageName) {\n return;\n }\n debug(`Refactor \"${currentPackageName}\" to \"${packageName}\" for type \"${type}\"`);\n const packageRoot = getPackageRoot(projectRoot, type as any);\n // Set up our paths\n if (!(await directoryExistsAsync(packageRoot))) {\n debug(`- skipping refactor of missing directory: ${packageRoot}`);\n return;\n }\n\n const currentPackagePath = path.join(packageRoot, ...currentPackageName.split('.'));\n const newPackagePath = path.join(packageRoot, ...packageName.split('.'));\n\n // Create the new directory\n fs.mkdirpSync(newPackagePath);\n\n // Move everything from the old directory over\n globSync('**/*', { cwd: currentPackagePath }).forEach(relativePath => {\n const filepath = path.join(currentPackagePath, relativePath);\n if (fs.lstatSync(filepath).isFile()) {\n fs.moveSync(filepath, path.join(newPackagePath, relativePath));\n } else {\n fs.mkdirpSync(filepath);\n }\n });\n\n // Remove the old directory recursively from com/old/package to com/old and com,\n // as long as the directories are empty\n const oldPathParts = currentPackageName.split('.');\n while (oldPathParts.length) {\n const pathToCheck = path.join(packageRoot, ...oldPathParts);\n try {\n const files = fs.readdirSync(pathToCheck);\n if (files.length === 0) {\n fs.rmdirSync(pathToCheck);\n }\n } finally {\n oldPathParts.pop();\n }\n }\n\n const filesToUpdate = [...globSync('**/*', { cwd: newPackagePath, absolute: true })];\n // Only update the BUCK file to match the main package name\n if (type === 'main') {\n filesToUpdate.push(path.join(projectRoot, 'android', 'app', 'BUCK'));\n }\n // Replace all occurrences of the path in the project\n filesToUpdate.forEach((filepath: string) => {\n try {\n if (fs.lstatSync(filepath).isFile()) {\n let contents = fs.readFileSync(filepath).toString();\n contents = contents.replace(new RegExp(currentPackageName!, 'g'), packageName);\n fs.writeFileSync(filepath, contents);\n }\n } catch (e) {\n debug(`Error updating \"${filepath}\" for type \"${type}\"`);\n }\n });\n}\n\nexport function setPackageInBuildGradle(config: Pick<ExpoConfig, 'android'>, buildGradle: string) {\n const packageName = getPackage(config);\n if (packageName === null) {\n return buildGradle;\n }\n\n const pattern = new RegExp(`applicationId ['\"].*['\"]`);\n return buildGradle.replace(pattern, `applicationId '${packageName}'`);\n}\n\nexport function setPackageInAndroidManifest(\n config: Pick<ExpoConfig, 'android'>,\n androidManifest: AndroidManifest\n) {\n const packageName = getPackage(config);\n\n if (packageName) {\n androidManifest.manifest.$.package = packageName;\n } else {\n delete androidManifest.manifest.$.package;\n }\n\n return androidManifest;\n}\n\nexport async function getApplicationIdAsync(projectRoot: string): Promise<string | null> {\n const buildGradlePath = getAppBuildGradleFilePath(projectRoot);\n if (!(await fs.pathExists(buildGradlePath))) {\n return null;\n }\n const buildGradle = await fs.readFile(buildGradlePath, 'utf8');\n const matchResult = buildGradle.match(/applicationId ['\"](.*)['\"]/);\n // TODO add fallback for legacy cases to read from AndroidManifest.xml\n return matchResult?.[1] ?? null;\n}\n"],"file":"Package.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/android/Package.ts"],"names":["debug","withPackageManifest","setPackageInAndroidManifest","withPackageGradle","config","modResults","language","contents","setPackageInBuildGradle","withPackageRefactor","renamePackageOnDisk","modRequest","projectRoot","getPackage","android","package","getPackageRoot","type","path","join","getCurrentPackageName","packageRoot","mainApplication","packagePath","dirname","packagePathParts","relative","split","sep","filter","Boolean","getCurrentPackageForProjectFile","fileName","filePath","getCurrentPackageNameForType","newPackageName","renamePackageOnDiskForType","packageName","currentPackageName","currentPackagePath","newPackagePath","fs","mkdirpSync","cwd","forEach","relativePath","filepath","lstatSync","isFile","moveSync","oldPathParts","length","pathToCheck","files","readdirSync","rmdirSync","pop","filesToUpdate","absolute","push","readFileSync","toString","replace","RegExp","writeFileSync","e","buildGradle","pattern","androidManifest","manifest","$","getApplicationIdAsync","buildGradlePath","pathExists","readFile","matchResult","match"],"mappings":"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","sourcesContent":["import { ExpoConfig } from '@expo/config-types';\nimport Debug from 'debug';\nimport fs from 'fs-extra';\nimport { sync as globSync } from 'glob';\nimport path from 'path';\n\nimport { ConfigPlugin } from '../Plugin.types';\nimport { createAndroidManifestPlugin, withAppBuildGradle } from '../plugins/android-plugins';\nimport { withDangerousMod } from '../plugins/withDangerousMod';\nimport { directoryExistsAsync } from '../utils/modules';\nimport { addWarningAndroid } from '../utils/warnings';\nimport { AndroidManifest } from './Manifest';\nimport { getAppBuildGradleFilePath, getProjectFilePath } from './Paths';\n\nconst debug = Debug('expo:config-plugins:android:package');\n\nexport const withPackageManifest = createAndroidManifestPlugin(\n setPackageInAndroidManifest,\n 'withPackageManifest'\n);\n\nexport const withPackageGradle: ConfigPlugin = config => {\n return withAppBuildGradle(config, config => {\n if (config.modResults.language === 'groovy') {\n config.modResults.contents = setPackageInBuildGradle(config, config.modResults.contents);\n } else {\n addWarningAndroid(\n 'android.package',\n `Cannot automatically configure app build.gradle if it's not groovy`\n );\n }\n return config;\n });\n};\n\nexport const withPackageRefactor: ConfigPlugin = config => {\n return withDangerousMod(config, [\n 'android',\n async config => {\n await renamePackageOnDisk(config, config.modRequest.projectRoot);\n return config;\n },\n ]);\n};\n\nexport function getPackage(config: Pick<ExpoConfig, 'android'>) {\n return config.android?.package ?? null;\n}\n\nfunction getPackageRoot(projectRoot: string, type: 'main' | 'debug') {\n return path.join(projectRoot, 'android', 'app', 'src', type, 'java');\n}\n\nfunction getCurrentPackageName(projectRoot: string, packageRoot: string) {\n const mainApplication = getProjectFilePath(projectRoot, 'MainApplication');\n const packagePath = path.dirname(mainApplication);\n const packagePathParts = path.relative(packageRoot, packagePath).split(path.sep).filter(Boolean);\n\n return packagePathParts.join('.');\n}\n\nfunction getCurrentPackageForProjectFile(\n projectRoot: string,\n packageRoot: string,\n fileName: string,\n type: string\n) {\n const filePath = globSync(\n path.join(projectRoot, `android/app/src/${type}/java/**/${fileName}.@(java|kt)`)\n )[0];\n\n if (!filePath) {\n return null;\n }\n\n const packagePath = path.dirname(filePath);\n const packagePathParts = path.relative(packageRoot, packagePath).split(path.sep).filter(Boolean);\n\n return packagePathParts.join('.');\n}\n\nfunction getCurrentPackageNameForType(projectRoot: string, type: string): string | null {\n const packageRoot = getPackageRoot(projectRoot, type as any);\n\n if (type === 'main') {\n return getCurrentPackageName(projectRoot, packageRoot);\n }\n // debug, etc..\n return getCurrentPackageForProjectFile(projectRoot, packageRoot, '*', type);\n}\n\n// NOTE(brentvatne): this assumes that our MainApplication.java file is in the root of the package\n// this makes sense for standard react-native projects but may not apply in customized projects, so if\n// we want this to be runnable in any app we need to handle other possibilities\nexport async function renamePackageOnDisk(\n config: Pick<ExpoConfig, 'android'>,\n projectRoot: string\n) {\n const newPackageName = getPackage(config);\n if (newPackageName === null) {\n return;\n }\n\n for (const type of ['main', 'debug']) {\n await renamePackageOnDiskForType({ projectRoot, type, packageName: newPackageName });\n }\n}\n\nexport async function renamePackageOnDiskForType({\n projectRoot,\n type,\n packageName,\n}: {\n projectRoot: string;\n type: string;\n packageName: string;\n}) {\n if (!packageName) {\n return;\n }\n\n const currentPackageName = getCurrentPackageNameForType(projectRoot, type);\n debug(`Found package \"${currentPackageName}\" for type \"${type}\"`);\n if (!currentPackageName || currentPackageName === packageName) {\n return;\n }\n debug(`Refactor \"${currentPackageName}\" to \"${packageName}\" for type \"${type}\"`);\n const packageRoot = getPackageRoot(projectRoot, type as any);\n // Set up our paths\n if (!(await directoryExistsAsync(packageRoot))) {\n debug(`- skipping refactor of missing directory: ${packageRoot}`);\n return;\n }\n\n const currentPackagePath = path.join(packageRoot, ...currentPackageName.split('.'));\n const newPackagePath = path.join(packageRoot, ...packageName.split('.'));\n\n // Create the new directory\n fs.mkdirpSync(newPackagePath);\n\n // Move everything from the old directory over\n globSync('**/*', { cwd: currentPackagePath }).forEach(relativePath => {\n const filepath = path.join(currentPackagePath, relativePath);\n if (fs.lstatSync(filepath).isFile()) {\n fs.moveSync(filepath, path.join(newPackagePath, relativePath));\n } else {\n fs.mkdirpSync(filepath);\n }\n });\n\n // Remove the old directory recursively from com/old/package to com/old and com,\n // as long as the directories are empty\n const oldPathParts = currentPackageName.split('.');\n while (oldPathParts.length) {\n const pathToCheck = path.join(packageRoot, ...oldPathParts);\n try {\n const files = fs.readdirSync(pathToCheck);\n if (files.length === 0) {\n fs.rmdirSync(pathToCheck);\n }\n } finally {\n oldPathParts.pop();\n }\n }\n\n const filesToUpdate = [...globSync('**/*', { cwd: newPackagePath, absolute: true })];\n // Only update the BUCK file to match the main package name\n if (type === 'main') {\n filesToUpdate.push(path.join(projectRoot, 'android', 'app', 'BUCK'));\n }\n // Replace all occurrences of the path in the project\n filesToUpdate.forEach((filepath: string) => {\n try {\n if (fs.lstatSync(filepath).isFile()) {\n let contents = fs.readFileSync(filepath).toString();\n contents = contents.replace(new RegExp(currentPackageName!, 'g'), packageName);\n fs.writeFileSync(filepath, contents);\n }\n } catch (e) {\n debug(`Error updating \"${filepath}\" for type \"${type}\"`);\n }\n });\n}\n\nexport function setPackageInBuildGradle(config: Pick<ExpoConfig, 'android'>, buildGradle: string) {\n const packageName = getPackage(config);\n if (packageName === null) {\n return buildGradle;\n }\n\n const pattern = new RegExp(`applicationId ['\"].*['\"]`);\n return buildGradle.replace(pattern, `applicationId '${packageName}'`);\n}\n\nexport function setPackageInAndroidManifest(\n config: Pick<ExpoConfig, 'android'>,\n androidManifest: AndroidManifest\n) {\n const packageName = getPackage(config);\n\n if (packageName) {\n androidManifest.manifest.$.package = packageName;\n } else {\n delete androidManifest.manifest.$.package;\n }\n\n return androidManifest;\n}\n\nexport async function getApplicationIdAsync(projectRoot: string): Promise<string | null> {\n const buildGradlePath = getAppBuildGradleFilePath(projectRoot);\n if (!(await fs.pathExists(buildGradlePath))) {\n return null;\n }\n const buildGradle = await fs.readFile(buildGradlePath, 'utf8');\n const matchResult = buildGradle.match(/applicationId ['\"](.*)['\"]/);\n // TODO add fallback for legacy cases to read from AndroidManifest.xml\n return matchResult?.[1] ?? null;\n}\n"],"file":"Package.js"}
|
package/build/android/Paths.js
CHANGED
|
@@ -3,21 +3,21 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.getAndroidManifestAsync = getAndroidManifestAsync;
|
|
7
|
+
exports.getAppBuildGradleAsync = getAppBuildGradleAsync;
|
|
8
|
+
exports.getAppBuildGradleFilePath = getAppBuildGradleFilePath;
|
|
7
9
|
exports.getFileInfo = getFileInfo;
|
|
8
|
-
exports.getMainApplicationAsync = getMainApplicationAsync;
|
|
9
|
-
exports.getMainActivityAsync = getMainActivityAsync;
|
|
10
10
|
exports.getGradleFilePath = getGradleFilePath;
|
|
11
|
-
exports.
|
|
11
|
+
exports.getMainActivityAsync = getMainActivityAsync;
|
|
12
|
+
exports.getMainApplicationAsync = getMainApplicationAsync;
|
|
12
13
|
exports.getProjectBuildGradleAsync = getProjectBuildGradleAsync;
|
|
13
|
-
exports.
|
|
14
|
-
exports.
|
|
15
|
-
exports.getAppBuildGradleFilePath = getAppBuildGradleFilePath;
|
|
16
|
-
exports.getAppBuildGradleAsync = getAppBuildGradleAsync;
|
|
14
|
+
exports.getProjectBuildGradleFilePath = getProjectBuildGradleFilePath;
|
|
15
|
+
exports.getProjectFilePath = getProjectFilePath;
|
|
17
16
|
exports.getProjectPathOrThrowAsync = getProjectPathOrThrowAsync;
|
|
18
|
-
exports.getAndroidManifestAsync = getAndroidManifestAsync;
|
|
19
17
|
exports.getResourceFolderAsync = getResourceFolderAsync;
|
|
20
18
|
exports.getResourceXMLPathAsync = getResourceXMLPathAsync;
|
|
19
|
+
exports.getSettingsGradleAsync = getSettingsGradleAsync;
|
|
20
|
+
exports.getSettingsGradleFilePath = getSettingsGradleFilePath;
|
|
21
21
|
|
|
22
22
|
function _assert() {
|
|
23
23
|
const data = _interopRequireDefault(require("assert"));
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getAndroidPermissions = getAndroidPermissions;
|
|
7
|
-
exports.setAndroidPermissions = setAndroidPermissions;
|
|
8
|
-
exports.isPermissionAlreadyRequested = isPermissionAlreadyRequested;
|
|
9
|
-
exports.addPermissionToManifest = addPermissionToManifest;
|
|
10
|
-
exports.removePermissions = removePermissions;
|
|
11
6
|
exports.addPermission = addPermission;
|
|
12
|
-
exports.
|
|
7
|
+
exports.addPermissionToManifest = addPermissionToManifest;
|
|
13
8
|
exports.ensurePermission = ensurePermission;
|
|
14
9
|
exports.ensurePermissionNameFormat = ensurePermissionNameFormat;
|
|
10
|
+
exports.ensurePermissions = ensurePermissions;
|
|
11
|
+
exports.getAndroidPermissions = getAndroidPermissions;
|
|
15
12
|
exports.getPermissions = getPermissions;
|
|
13
|
+
exports.isPermissionAlreadyRequested = isPermissionAlreadyRequested;
|
|
14
|
+
exports.removePermissions = removePermissions;
|
|
15
|
+
exports.setAndroidPermissions = setAndroidPermissions;
|
|
16
16
|
exports.withPermissions = void 0;
|
|
17
17
|
|
|
18
18
|
function _androidPlugins() {
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.readResourcesXMLAsync = readResourcesXMLAsync;
|
|
7
|
-
exports.ensureDefaultResourceXML = ensureDefaultResourceXML;
|
|
8
|
-
exports.buildResourceItem = buildResourceItem;
|
|
9
6
|
exports.buildResourceGroup = buildResourceGroup;
|
|
7
|
+
exports.buildResourceItem = buildResourceItem;
|
|
8
|
+
exports.ensureDefaultResourceXML = ensureDefaultResourceXML;
|
|
10
9
|
exports.findResourceGroup = findResourceGroup;
|
|
11
|
-
exports.getResourceItemsAsObject = getResourceItemsAsObject;
|
|
12
|
-
exports.getObjectAsResourceItems = getObjectAsResourceItems;
|
|
13
10
|
exports.getObjectAsResourceGroup = getObjectAsResourceGroup;
|
|
11
|
+
exports.getObjectAsResourceItems = getObjectAsResourceItems;
|
|
12
|
+
exports.getResourceItemsAsObject = getResourceItemsAsObject;
|
|
13
|
+
exports.readResourcesXMLAsync = readResourcesXMLAsync;
|
|
14
14
|
|
|
15
15
|
function _XML() {
|
|
16
16
|
const data = require("../utils/XML");
|
package/build/android/Scheme.js
CHANGED
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.appendScheme = appendScheme;
|
|
7
|
+
exports.ensureManifestHasValidIntentFilter = ensureManifestHasValidIntentFilter;
|
|
6
8
|
exports.getScheme = getScheme;
|
|
7
|
-
exports.setScheme = setScheme;
|
|
8
9
|
exports.getSchemesFromManifest = getSchemesFromManifest;
|
|
9
|
-
exports.ensureManifestHasValidIntentFilter = ensureManifestHasValidIntentFilter;
|
|
10
10
|
exports.hasScheme = hasScheme;
|
|
11
|
-
exports.appendScheme = appendScheme;
|
|
12
11
|
exports.removeScheme = removeScheme;
|
|
12
|
+
exports.setScheme = setScheme;
|
|
13
13
|
exports.withScheme = void 0;
|
|
14
14
|
|
|
15
15
|
function _androidPlugins() {
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.setStatusBarColors = setStatusBarColors;
|
|
7
|
-
exports.setStatusBarStyles = setStatusBarStyles;
|
|
8
6
|
exports.getStatusBarColor = getStatusBarColor;
|
|
9
|
-
exports.getStatusBarTranslucent = getStatusBarTranslucent;
|
|
10
7
|
exports.getStatusBarStyle = getStatusBarStyle;
|
|
8
|
+
exports.getStatusBarTranslucent = getStatusBarTranslucent;
|
|
9
|
+
exports.setStatusBarColors = setStatusBarColors;
|
|
10
|
+
exports.setStatusBarStyles = setStatusBarStyles;
|
|
11
11
|
exports.withStatusBar = void 0;
|
|
12
12
|
|
|
13
13
|
function _assert() {
|
package/build/android/Strings.js
CHANGED
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getProjectStringsXMLPathAsync = getProjectStringsXMLPathAsync;
|
|
7
|
-
exports.setStringItem = setStringItem;
|
|
8
7
|
exports.removeStringItem = removeStringItem;
|
|
8
|
+
exports.setStringItem = setStringItem;
|
|
9
9
|
|
|
10
10
|
function _Paths() {
|
|
11
11
|
const data = require("./Paths");
|
package/build/android/Styles.js
CHANGED
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.assignStylesValue = assignStylesValue;
|
|
7
|
+
exports.getAppThemeLightNoActionBarGroup = getAppThemeLightNoActionBarGroup;
|
|
7
8
|
exports.getProjectStylesXMLPathAsync = getProjectStylesXMLPathAsync;
|
|
8
9
|
exports.getStyleParent = getStyleParent;
|
|
10
|
+
exports.getStylesGroupAsObject = getStylesGroupAsObject;
|
|
9
11
|
exports.getStylesItem = getStylesItem;
|
|
10
|
-
exports.
|
|
12
|
+
exports.readStylesXMLAsync = readStylesXMLAsync;
|
|
11
13
|
exports.removeStylesItem = removeStylesItem;
|
|
12
|
-
exports.
|
|
13
|
-
exports.assignStylesValue = assignStylesValue;
|
|
14
|
-
exports.getStylesGroupAsObject = getStylesGroupAsObject;
|
|
14
|
+
exports.setStylesItem = setStylesItem;
|
|
15
15
|
|
|
16
16
|
function _Paths() {
|
|
17
17
|
const data = require("./Paths");
|
|
@@ -14,11 +14,6 @@ export declare enum Config {
|
|
|
14
14
|
export declare const withUpdates: ConfigPlugin<{
|
|
15
15
|
expoUsername: string | null;
|
|
16
16
|
}>;
|
|
17
|
-
/**
|
|
18
|
-
* runtime version maybe null in projects using classic updates. In that
|
|
19
|
-
* case we use SDK version
|
|
20
|
-
*/
|
|
21
|
-
export declare function getRuntimeVersionNullable(config: Pick<ExpoConfigUpdates, 'runtimeVersion'>): string | null;
|
|
22
17
|
export declare function getSDKVersion(config: Pick<ExpoConfigUpdates, 'sdkVersion'>): string | null;
|
|
23
18
|
export declare function getUpdatesEnabled(config: Pick<ExpoConfigUpdates, 'updates'>): boolean;
|
|
24
19
|
export declare function getUpdatesTimeout(config: Pick<ExpoConfigUpdates, 'updates'>): number;
|
package/build/android/Updates.js
CHANGED
|
@@ -3,20 +3,20 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.Config = void 0;
|
|
7
|
+
exports.areVersionsSynced = areVersionsSynced;
|
|
8
|
+
exports.ensureBuildGradleContainsConfigurationScript = ensureBuildGradleContainsConfigurationScript;
|
|
9
|
+
exports.formatApplyLineForBuildGradle = formatApplyLineForBuildGradle;
|
|
7
10
|
exports.getSDKVersion = getSDKVersion;
|
|
11
|
+
exports.getUpdatesCheckOnLaunch = getUpdatesCheckOnLaunch;
|
|
8
12
|
exports.getUpdatesEnabled = getUpdatesEnabled;
|
|
9
13
|
exports.getUpdatesTimeout = getUpdatesTimeout;
|
|
10
|
-
exports.getUpdatesCheckOnLaunch = getUpdatesCheckOnLaunch;
|
|
11
|
-
exports.setUpdatesConfig = setUpdatesConfig;
|
|
12
|
-
exports.setVersionsConfig = setVersionsConfig;
|
|
13
|
-
exports.ensureBuildGradleContainsConfigurationScript = ensureBuildGradleContainsConfigurationScript;
|
|
14
|
-
exports.formatApplyLineForBuildGradle = formatApplyLineForBuildGradle;
|
|
15
14
|
exports.isBuildGradleConfigured = isBuildGradleConfigured;
|
|
16
15
|
exports.isMainApplicationMetaDataSet = isMainApplicationMetaDataSet;
|
|
17
16
|
exports.isMainApplicationMetaDataSynced = isMainApplicationMetaDataSynced;
|
|
18
|
-
exports.
|
|
19
|
-
exports.
|
|
17
|
+
exports.setUpdatesConfig = setUpdatesConfig;
|
|
18
|
+
exports.setVersionsConfig = setVersionsConfig;
|
|
19
|
+
exports.withUpdates = void 0;
|
|
20
20
|
|
|
21
21
|
function _path() {
|
|
22
22
|
const data = _interopRequireDefault(require("path"));
|
|
@@ -93,22 +93,9 @@ const withUpdates = (config, {
|
|
|
93
93
|
return config;
|
|
94
94
|
});
|
|
95
95
|
};
|
|
96
|
-
/**
|
|
97
|
-
* runtime version maybe null in projects using classic updates. In that
|
|
98
|
-
* case we use SDK version
|
|
99
|
-
*/
|
|
100
|
-
|
|
101
96
|
|
|
102
97
|
exports.withUpdates = withUpdates;
|
|
103
98
|
|
|
104
|
-
function getRuntimeVersionNullable(config) {
|
|
105
|
-
try {
|
|
106
|
-
return (0, _Updates().getRuntimeVersion)(config, 'android');
|
|
107
|
-
} catch (e) {
|
|
108
|
-
return null;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
|
|
112
99
|
function getSDKVersion(config) {
|
|
113
100
|
return typeof config.sdkVersion === 'string' ? config.sdkVersion : null;
|
|
114
101
|
}
|
|
@@ -155,13 +142,17 @@ function setUpdatesConfig(config, androidManifest, username) {
|
|
|
155
142
|
|
|
156
143
|
function setVersionsConfig(config, androidManifest) {
|
|
157
144
|
const mainApplication = (0, _Manifest().getMainApplicationOrThrow)(androidManifest);
|
|
158
|
-
const runtimeVersion = getRuntimeVersionNullable(config);
|
|
145
|
+
const runtimeVersion = (0, _Updates().getRuntimeVersionNullable)(config, 'android');
|
|
159
146
|
const sdkVersion = getSDKVersion(config);
|
|
160
147
|
|
|
161
148
|
if (runtimeVersion) {
|
|
162
149
|
(0, _Manifest().removeMetaDataItemFromMainApplication)(mainApplication, Config.SDK_VERSION);
|
|
163
150
|
(0, _Manifest().addMetaDataItemToMainApplication)(mainApplication, Config.RUNTIME_VERSION, runtimeVersion);
|
|
164
151
|
} else if (sdkVersion) {
|
|
152
|
+
/**
|
|
153
|
+
* runtime version maybe null in projects using classic updates. In that
|
|
154
|
+
* case we use SDK version
|
|
155
|
+
*/
|
|
165
156
|
(0, _Manifest().removeMetaDataItemFromMainApplication)(mainApplication, Config.RUNTIME_VERSION);
|
|
166
157
|
(0, _Manifest().addMetaDataItemToMainApplication)(mainApplication, Config.SDK_VERSION, sdkVersion);
|
|
167
158
|
} else {
|
|
@@ -221,7 +212,7 @@ function isMainApplicationMetaDataSynced(config, androidManifest, username) {
|
|
|
221
212
|
}
|
|
222
213
|
|
|
223
214
|
function areVersionsSynced(config, androidManifest) {
|
|
224
|
-
const expectedRuntimeVersion = getRuntimeVersionNullable(config);
|
|
215
|
+
const expectedRuntimeVersion = (0, _Updates().getRuntimeVersionNullable)(config, 'android');
|
|
225
216
|
const expectedSdkVersion = getSDKVersion(config);
|
|
226
217
|
const currentRuntimeVersion = (0, _Manifest().getMainApplicationMetaDataValue)(androidManifest, Config.RUNTIME_VERSION);
|
|
227
218
|
const currentSdkVersion = (0, _Manifest().getMainApplicationMetaDataValue)(androidManifest, Config.SDK_VERSION);
|