@expo/prebuild-config 10.0.2 → 10.0.3
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/plugins/unversioned/edge-to-edge/withConfigureEdgeToEdgeEnforcement.js.map +1 -0
- package/build/plugins/unversioned/{react-native-edge-to-edge → edge-to-edge}/withEdgeToEdge.d.ts +0 -6
- package/build/plugins/unversioned/edge-to-edge/withEdgeToEdge.js +69 -0
- package/build/plugins/unversioned/edge-to-edge/withEdgeToEdge.js.map +1 -0
- package/build/plugins/unversioned/edge-to-edge/withEdgeToEdgeEnabledGradleProperties.js +59 -0
- package/build/plugins/unversioned/edge-to-edge/withEdgeToEdgeEnabledGradleProperties.js.map +1 -0
- package/build/plugins/unversioned/edge-to-edge/withEnforceNavigationBarContrast.d.ts +4 -0
- package/build/plugins/unversioned/edge-to-edge/withEnforceNavigationBarContrast.js +54 -0
- package/build/plugins/unversioned/edge-to-edge/withEnforceNavigationBarContrast.js.map +1 -0
- package/build/plugins/unversioned/edge-to-edge/withRestoreDefaultTheme.js.map +1 -0
- package/build/plugins/withDefaultPlugins.js +7 -7
- package/build/plugins/withDefaultPlugins.js.map +1 -1
- package/package.json +3 -3
- package/build/plugins/unversioned/react-native-edge-to-edge/helpers.d.ts +0 -5
- package/build/plugins/unversioned/react-native-edge-to-edge/helpers.js +0 -47
- package/build/plugins/unversioned/react-native-edge-to-edge/helpers.js.map +0 -1
- package/build/plugins/unversioned/react-native-edge-to-edge/withConfigureEdgeToEdgeEnforcement.js.map +0 -1
- package/build/plugins/unversioned/react-native-edge-to-edge/withEdgeToEdge.js +0 -110
- package/build/plugins/unversioned/react-native-edge-to-edge/withEdgeToEdge.js.map +0 -1
- package/build/plugins/unversioned/react-native-edge-to-edge/withEdgeToEdgeEnabledGradleProperties.js +0 -42
- package/build/plugins/unversioned/react-native-edge-to-edge/withEdgeToEdgeEnabledGradleProperties.js.map +0 -1
- package/build/plugins/unversioned/react-native-edge-to-edge/withRestoreDefaultTheme.js.map +0 -1
- /package/build/plugins/unversioned/{react-native-edge-to-edge → edge-to-edge}/withConfigureEdgeToEdgeEnforcement.d.ts +0 -0
- /package/build/plugins/unversioned/{react-native-edge-to-edge → edge-to-edge}/withConfigureEdgeToEdgeEnforcement.js +0 -0
- /package/build/plugins/unversioned/{react-native-edge-to-edge → edge-to-edge}/withEdgeToEdgeEnabledGradleProperties.d.ts +0 -0
- /package/build/plugins/unversioned/{react-native-edge-to-edge → edge-to-edge}/withRestoreDefaultTheme.d.ts +0 -0
- /package/build/plugins/unversioned/{react-native-edge-to-edge → edge-to-edge}/withRestoreDefaultTheme.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withConfigureEdgeToEdgeEnforcement.js","names":["_configPlugins","data","require","OPT_OUT_EDGE_TO_EDGE_ATTRIBUTE","withConfigureEdgeToEdgeEnforcement","config","disableEdgeToEdgeEnforcement","withAndroidStyles","configureEdgeToEdgeEnforcement","exports","style","modResults","resources","disableEdgeToEdgeEnforcementItem","_","$","name","mainThemeIndex","findIndex","existingItem","item","filter","push"],"sources":["../../../../src/plugins/unversioned/edge-to-edge/withConfigureEdgeToEdgeEnforcement.ts"],"sourcesContent":["import { ConfigPlugin, withAndroidStyles } from '@expo/config-plugins';\n\nimport { ResourceXMLConfig } from './withEdgeToEdge';\n\nconst OPT_OUT_EDGE_TO_EDGE_ATTRIBUTE = 'android:windowOptOutEdgeToEdgeEnforcement';\n\nexport const withConfigureEdgeToEdgeEnforcement: ConfigPlugin<{\n disableEdgeToEdgeEnforcement: boolean;\n}> = (config, { disableEdgeToEdgeEnforcement }) => {\n return withAndroidStyles(config, (config) => {\n return configureEdgeToEdgeEnforcement(config, disableEdgeToEdgeEnforcement);\n });\n};\n\nexport function configureEdgeToEdgeEnforcement(\n config: ResourceXMLConfig,\n disableEdgeToEdgeEnforcement: boolean\n): ResourceXMLConfig {\n const { style = [] } = config.modResults.resources;\n\n const disableEdgeToEdgeEnforcementItem = {\n _: 'true',\n $: {\n name: OPT_OUT_EDGE_TO_EDGE_ATTRIBUTE,\n 'tools:targetApi': '35',\n },\n };\n\n const mainThemeIndex = style.findIndex(({ $ }) => $.name === 'AppTheme');\n\n if (mainThemeIndex === -1) {\n return config;\n }\n\n const existingItem = style[mainThemeIndex].item.filter(\n ({ $ }) => $.name !== OPT_OUT_EDGE_TO_EDGE_ATTRIBUTE\n );\n\n if (disableEdgeToEdgeEnforcement) {\n existingItem.push(disableEdgeToEdgeEnforcementItem);\n }\n if (!config.modResults.resources.style) {\n return config;\n }\n\n config.modResults.resources.style[mainThemeIndex].item = existingItem;\n return config;\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,MAAME,8BAA8B,GAAG,2CAA2C;AAE3E,MAAMC,kCAEX,GAAGA,CAACC,MAAM,EAAE;EAAEC;AAA6B,CAAC,KAAK;EACjD,OAAO,IAAAC,kCAAiB,EAACF,MAAM,EAAGA,MAAM,IAAK;IAC3C,OAAOG,8BAA8B,CAACH,MAAM,EAAEC,4BAA4B,CAAC;EAC7E,CAAC,CAAC;AACJ,CAAC;AAACG,OAAA,CAAAL,kCAAA,GAAAA,kCAAA;AAEK,SAASI,8BAA8BA,CAC5CH,MAAyB,EACzBC,4BAAqC,EAClB;EACnB,MAAM;IAAEI,KAAK,GAAG;EAAG,CAAC,GAAGL,MAAM,CAACM,UAAU,CAACC,SAAS;EAElD,MAAMC,gCAAgC,GAAG;IACvCC,CAAC,EAAE,MAAM;IACTC,CAAC,EAAE;MACDC,IAAI,EAAEb,8BAA8B;MACpC,iBAAiB,EAAE;IACrB;EACF,CAAC;EAED,MAAMc,cAAc,GAAGP,KAAK,CAACQ,SAAS,CAAC,CAAC;IAAEH;EAAE,CAAC,KAAKA,CAAC,CAACC,IAAI,KAAK,UAAU,CAAC;EAExE,IAAIC,cAAc,KAAK,CAAC,CAAC,EAAE;IACzB,OAAOZ,MAAM;EACf;EAEA,MAAMc,YAAY,GAAGT,KAAK,CAACO,cAAc,CAAC,CAACG,IAAI,CAACC,MAAM,CACpD,CAAC;IAAEN;EAAE,CAAC,KAAKA,CAAC,CAACC,IAAI,KAAKb,8BACxB,CAAC;EAED,IAAIG,4BAA4B,EAAE;IAChCa,YAAY,CAACG,IAAI,CAACT,gCAAgC,CAAC;EACrD;EACA,IAAI,CAACR,MAAM,CAACM,UAAU,CAACC,SAAS,CAACF,KAAK,EAAE;IACtC,OAAOL,MAAM;EACf;EAEAA,MAAM,CAACM,UAAU,CAACC,SAAS,CAACF,KAAK,CAACO,cAAc,CAAC,CAACG,IAAI,GAAGD,YAAY;EACrE,OAAOd,MAAM;AACf","ignoreList":[]}
|
package/build/plugins/unversioned/{react-native-edge-to-edge → edge-to-edge}/withEdgeToEdge.d.ts
RENAMED
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import { ConfigPlugin, ExportedConfigWithProps, AndroidConfig } from '@expo/config-plugins';
|
|
2
2
|
import { type ExpoConfig } from '@expo/config-types';
|
|
3
|
-
export type EdgeToEdgePlugin = ConfigPlugin<{
|
|
4
|
-
android: {
|
|
5
|
-
parentTheme?: string;
|
|
6
|
-
enforceNavigationBarContrast?: boolean;
|
|
7
|
-
};
|
|
8
|
-
}>;
|
|
9
3
|
export type ResourceXMLConfig = ExportedConfigWithProps<AndroidConfig.Resources.ResourceXML>;
|
|
10
4
|
export type GradlePropertiesConfig = ExportedConfigWithProps<AndroidConfig.Properties.PropertiesItem[]>;
|
|
11
5
|
export declare const withEdgeToEdge: ConfigPlugin<{
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.applyEdgeToEdge = applyEdgeToEdge;
|
|
7
|
+
exports.withEdgeToEdge = exports.default = void 0;
|
|
8
|
+
function _configPlugins() {
|
|
9
|
+
const data = require("@expo/config-plugins");
|
|
10
|
+
_configPlugins = function () {
|
|
11
|
+
return data;
|
|
12
|
+
};
|
|
13
|
+
return data;
|
|
14
|
+
}
|
|
15
|
+
function _withConfigureEdgeToEdgeEnforcement() {
|
|
16
|
+
const data = require("./withConfigureEdgeToEdgeEnforcement");
|
|
17
|
+
_withConfigureEdgeToEdgeEnforcement = function () {
|
|
18
|
+
return data;
|
|
19
|
+
};
|
|
20
|
+
return data;
|
|
21
|
+
}
|
|
22
|
+
function _withEdgeToEdgeEnabledGradleProperties() {
|
|
23
|
+
const data = require("./withEdgeToEdgeEnabledGradleProperties");
|
|
24
|
+
_withEdgeToEdgeEnabledGradleProperties = function () {
|
|
25
|
+
return data;
|
|
26
|
+
};
|
|
27
|
+
return data;
|
|
28
|
+
}
|
|
29
|
+
function _withEnforceNavigationBarContrast() {
|
|
30
|
+
const data = require("./withEnforceNavigationBarContrast");
|
|
31
|
+
_withEnforceNavigationBarContrast = function () {
|
|
32
|
+
return data;
|
|
33
|
+
};
|
|
34
|
+
return data;
|
|
35
|
+
}
|
|
36
|
+
function _withRestoreDefaultTheme() {
|
|
37
|
+
const data = require("./withRestoreDefaultTheme");
|
|
38
|
+
_withRestoreDefaultTheme = function () {
|
|
39
|
+
return data;
|
|
40
|
+
};
|
|
41
|
+
return data;
|
|
42
|
+
}
|
|
43
|
+
const TAG = 'EDGE_TO_EDGE_PLUGIN';
|
|
44
|
+
const withEdgeToEdge = (config, {
|
|
45
|
+
projectRoot
|
|
46
|
+
}) => {
|
|
47
|
+
return applyEdgeToEdge(config, projectRoot);
|
|
48
|
+
};
|
|
49
|
+
exports.withEdgeToEdge = withEdgeToEdge;
|
|
50
|
+
function applyEdgeToEdge(config, projectRoot) {
|
|
51
|
+
if (config.android?.edgeToEdgeEnabled === false) {
|
|
52
|
+
_configPlugins().WarningAggregator.addWarningAndroid(TAG, '`edgeToEdgeEnabled` field is explicitly set to false in the project app config. In Android 16+ (targetSdkVersion 36) it is no longer be possible to disable edge-to-edge. Learn more:', 'https://expo.fyi/edge-to-edge-rollout');
|
|
53
|
+
}
|
|
54
|
+
const edgeToEdgeEnabled = config.android?.edgeToEdgeEnabled !== false;
|
|
55
|
+
config = (0, _withEdgeToEdgeEnabledGradleProperties().withEdgeToEdgeEnabledGradleProperties)(config, {
|
|
56
|
+
edgeToEdgeEnabled
|
|
57
|
+
});
|
|
58
|
+
// Enable/disable edge-to-edge enforcement
|
|
59
|
+
config = (0, _withConfigureEdgeToEdgeEnforcement().withConfigureEdgeToEdgeEnforcement)(config, {
|
|
60
|
+
disableEdgeToEdgeEnforcement: !edgeToEdgeEnabled
|
|
61
|
+
});
|
|
62
|
+
config = (0, _withEnforceNavigationBarContrast().withEnforceNavigationBarContrast)(config, config.androidNavigationBar?.enforceContrast !== false);
|
|
63
|
+
|
|
64
|
+
// We always restore the default theme in case the project has a leftover react-native-edge-to-edge theme from SDK 53.
|
|
65
|
+
// If they are using react-native-edge-to-edge config plugin it'll be reapplied later.
|
|
66
|
+
return (0, _withRestoreDefaultTheme().withRestoreDefaultTheme)(config);
|
|
67
|
+
}
|
|
68
|
+
var _default = exports.default = withEdgeToEdge;
|
|
69
|
+
//# sourceMappingURL=withEdgeToEdge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withEdgeToEdge.js","names":["_configPlugins","data","require","_withConfigureEdgeToEdgeEnforcement","_withEdgeToEdgeEnabledGradleProperties","_withEnforceNavigationBarContrast","_withRestoreDefaultTheme","TAG","withEdgeToEdge","config","projectRoot","applyEdgeToEdge","exports","android","edgeToEdgeEnabled","WarningAggregator","addWarningAndroid","withEdgeToEdgeEnabledGradleProperties","withConfigureEdgeToEdgeEnforcement","disableEdgeToEdgeEnforcement","withEnforceNavigationBarContrast","androidNavigationBar","enforceContrast","withRestoreDefaultTheme","_default","default"],"sources":["../../../../src/plugins/unversioned/edge-to-edge/withEdgeToEdge.ts"],"sourcesContent":["import {\n ConfigPlugin,\n ExportedConfigWithProps,\n WarningAggregator,\n AndroidConfig,\n} from '@expo/config-plugins';\nimport { type ExpoConfig } from '@expo/config-types';\n\nimport { withConfigureEdgeToEdgeEnforcement } from './withConfigureEdgeToEdgeEnforcement';\nimport { withEdgeToEdgeEnabledGradleProperties } from './withEdgeToEdgeEnabledGradleProperties';\nimport { withEnforceNavigationBarContrast } from './withEnforceNavigationBarContrast';\nimport { withRestoreDefaultTheme } from './withRestoreDefaultTheme';\n\nconst TAG = 'EDGE_TO_EDGE_PLUGIN';\n\nexport type ResourceXMLConfig = ExportedConfigWithProps<AndroidConfig.Resources.ResourceXML>;\nexport type GradlePropertiesConfig = ExportedConfigWithProps<\n AndroidConfig.Properties.PropertiesItem[]\n>;\n\nexport const withEdgeToEdge: ConfigPlugin<{ projectRoot: string }> = (config, { projectRoot }) => {\n return applyEdgeToEdge(config, projectRoot);\n};\n\nexport function applyEdgeToEdge(config: ExpoConfig, projectRoot: string): ExpoConfig {\n if (config.android?.edgeToEdgeEnabled === false) {\n WarningAggregator.addWarningAndroid(\n TAG,\n '`edgeToEdgeEnabled` field is explicitly set to false in the project app config. In Android 16+ (targetSdkVersion 36) it is no longer be possible to disable edge-to-edge. Learn more:',\n 'https://expo.fyi/edge-to-edge-rollout'\n );\n }\n\n const edgeToEdgeEnabled = config.android?.edgeToEdgeEnabled !== false;\n\n config = withEdgeToEdgeEnabledGradleProperties(config, { edgeToEdgeEnabled });\n // Enable/disable edge-to-edge enforcement\n config = withConfigureEdgeToEdgeEnforcement(config, {\n disableEdgeToEdgeEnforcement: !edgeToEdgeEnabled,\n });\n\n config = withEnforceNavigationBarContrast(\n config,\n config.androidNavigationBar?.enforceContrast !== false\n );\n\n // We always restore the default theme in case the project has a leftover react-native-edge-to-edge theme from SDK 53.\n // If they are using react-native-edge-to-edge config plugin it'll be reapplied later.\n return withRestoreDefaultTheme(config);\n}\n\nexport default withEdgeToEdge;\n"],"mappings":";;;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAQA,SAAAE,oCAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,mCAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,uCAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,sCAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,kCAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,iCAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,yBAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,wBAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,MAAMM,GAAG,GAAG,qBAAqB;AAO1B,MAAMC,cAAqD,GAAGA,CAACC,MAAM,EAAE;EAAEC;AAAY,CAAC,KAAK;EAChG,OAAOC,eAAe,CAACF,MAAM,EAAEC,WAAW,CAAC;AAC7C,CAAC;AAACE,OAAA,CAAAJ,cAAA,GAAAA,cAAA;AAEK,SAASG,eAAeA,CAACF,MAAkB,EAAEC,WAAmB,EAAc;EACnF,IAAID,MAAM,CAACI,OAAO,EAAEC,iBAAiB,KAAK,KAAK,EAAE;IAC/CC,kCAAiB,CAACC,iBAAiB,CACjCT,GAAG,EACH,uLAAuL,EACvL,uCACF,CAAC;EACH;EAEA,MAAMO,iBAAiB,GAAGL,MAAM,CAACI,OAAO,EAAEC,iBAAiB,KAAK,KAAK;EAErEL,MAAM,GAAG,IAAAQ,8EAAqC,EAACR,MAAM,EAAE;IAAEK;EAAkB,CAAC,CAAC;EAC7E;EACAL,MAAM,GAAG,IAAAS,wEAAkC,EAACT,MAAM,EAAE;IAClDU,4BAA4B,EAAE,CAACL;EACjC,CAAC,CAAC;EAEFL,MAAM,GAAG,IAAAW,oEAAgC,EACvCX,MAAM,EACNA,MAAM,CAACY,oBAAoB,EAAEC,eAAe,KAAK,KACnD,CAAC;;EAED;EACA;EACA,OAAO,IAAAC,kDAAuB,EAACd,MAAM,CAAC;AACxC;AAAC,IAAAe,QAAA,GAAAZ,OAAA,CAAAa,OAAA,GAEcjB,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.configureEdgeToEdgeEnabledGradleProperties = configureEdgeToEdgeEnabledGradleProperties;
|
|
7
|
+
exports.withEdgeToEdgeEnabledGradleProperties = withEdgeToEdgeEnabledGradleProperties;
|
|
8
|
+
function _configPlugins() {
|
|
9
|
+
const data = require("@expo/config-plugins");
|
|
10
|
+
_configPlugins = function () {
|
|
11
|
+
return data;
|
|
12
|
+
};
|
|
13
|
+
return data;
|
|
14
|
+
}
|
|
15
|
+
const OLD_EXPO_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_COMMENT = 'Whether the app is configured to use edge-to-edge via the app config or `react-native-edge-to-edge` plugin';
|
|
16
|
+
const EXPO_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_KEY = 'expo.edgeToEdgeEnabled';
|
|
17
|
+
const EXPO_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_COMMENT = 'Specifies whether the app is configured to use edge-to-edge via the app config or plugin\n' + '# WARNING: This property has been deprecated and will be removed in Expo SDK 55. Use `edgeToEdgeEnabled` or `react.edgeToEdgeEnabled` to determine whether the project is using edge-to-edge.';
|
|
18
|
+
const REACT_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_KEY = 'edgeToEdgeEnabled';
|
|
19
|
+
const REACT_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_COMMENT = 'Use this property to enable edge-to-edge display support.\n' + '# This allows your app to draw behind system bars for an immersive UI.\n' + '# Note: Only works with ReactActivity and should not be used with custom Activity.';
|
|
20
|
+
function withEdgeToEdgeEnabledGradleProperties(config, props) {
|
|
21
|
+
return (0, _configPlugins().withGradleProperties)(config, config => {
|
|
22
|
+
return configureEdgeToEdgeEnabledGradleProperties(config, props.edgeToEdgeEnabled);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function configureEdgeToEdgeEnabledGradleProperties(config, edgeToEdgeEnabled) {
|
|
26
|
+
// TODO: Remove for SDK 55
|
|
27
|
+
config = removeOldExpoEdgeToEdgeEnabledComment(config);
|
|
28
|
+
|
|
29
|
+
// TODO: Remove for SDK 55
|
|
30
|
+
config = configureGradleProperty(config, EXPO_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_KEY, edgeToEdgeEnabled ? 'true' : 'false', EXPO_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_COMMENT);
|
|
31
|
+
return configureGradleProperty(config, REACT_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_KEY, edgeToEdgeEnabled ? 'true' : 'false', REACT_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_COMMENT);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// TODO: Remove for SDK 55
|
|
35
|
+
function removeOldExpoEdgeToEdgeEnabledComment(config) {
|
|
36
|
+
const commentIndex = config.modResults.findIndex(item => item.type === 'comment' && item.value === OLD_EXPO_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_COMMENT);
|
|
37
|
+
if (commentIndex !== -1) {
|
|
38
|
+
config.modResults.splice(commentIndex, 1);
|
|
39
|
+
}
|
|
40
|
+
return config;
|
|
41
|
+
}
|
|
42
|
+
function configureGradleProperty(config, key, value, comment, addNewLine = true) {
|
|
43
|
+
const propertyIndex = config.modResults.findIndex(item => item.type === 'property' && item.key === key);
|
|
44
|
+
if (propertyIndex !== -1 && config.modResults[propertyIndex].type === 'property') {
|
|
45
|
+
config.modResults[propertyIndex].value = value;
|
|
46
|
+
} else {
|
|
47
|
+
config.modResults.push({
|
|
48
|
+
type: 'comment',
|
|
49
|
+
value: comment
|
|
50
|
+
});
|
|
51
|
+
config.modResults.push({
|
|
52
|
+
type: 'property',
|
|
53
|
+
key,
|
|
54
|
+
value: addNewLine ? value + '\n' : value
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
return config;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=withEdgeToEdgeEnabledGradleProperties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withEdgeToEdgeEnabledGradleProperties.js","names":["_configPlugins","data","require","OLD_EXPO_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_COMMENT","EXPO_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_KEY","EXPO_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_COMMENT","REACT_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_KEY","REACT_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_COMMENT","withEdgeToEdgeEnabledGradleProperties","config","props","withGradleProperties","configureEdgeToEdgeEnabledGradleProperties","edgeToEdgeEnabled","removeOldExpoEdgeToEdgeEnabledComment","configureGradleProperty","commentIndex","modResults","findIndex","item","type","value","splice","key","comment","addNewLine","propertyIndex","push"],"sources":["../../../../src/plugins/unversioned/edge-to-edge/withEdgeToEdgeEnabledGradleProperties.ts"],"sourcesContent":["import { withGradleProperties } from '@expo/config-plugins';\nimport type { ExpoConfig } from '@expo/config-types';\n\nimport { GradlePropertiesConfig } from './withEdgeToEdge';\n\nconst OLD_EXPO_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_COMMENT =\n 'Whether the app is configured to use edge-to-edge via the app config or `react-native-edge-to-edge` plugin';\nconst EXPO_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_KEY = 'expo.edgeToEdgeEnabled';\nconst EXPO_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_COMMENT =\n 'Specifies whether the app is configured to use edge-to-edge via the app config or plugin\\n' +\n '# WARNING: This property has been deprecated and will be removed in Expo SDK 55. Use `edgeToEdgeEnabled` or `react.edgeToEdgeEnabled` to determine whether the project is using edge-to-edge.';\n\nconst REACT_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_KEY = 'edgeToEdgeEnabled';\nconst REACT_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_COMMENT =\n 'Use this property to enable edge-to-edge display support.\\n' +\n '# This allows your app to draw behind system bars for an immersive UI.\\n' +\n '# Note: Only works with ReactActivity and should not be used with custom Activity.';\n\nexport function withEdgeToEdgeEnabledGradleProperties(\n config: ExpoConfig,\n props: {\n edgeToEdgeEnabled: boolean;\n }\n) {\n return withGradleProperties(config, (config) => {\n return configureEdgeToEdgeEnabledGradleProperties(config, props.edgeToEdgeEnabled);\n });\n}\n\nexport function configureEdgeToEdgeEnabledGradleProperties(\n config: GradlePropertiesConfig,\n edgeToEdgeEnabled: boolean\n): GradlePropertiesConfig {\n // TODO: Remove for SDK 55\n config = removeOldExpoEdgeToEdgeEnabledComment(config);\n\n // TODO: Remove for SDK 55\n config = configureGradleProperty(\n config,\n EXPO_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_KEY,\n edgeToEdgeEnabled ? 'true' : 'false',\n EXPO_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_COMMENT\n );\n\n return configureGradleProperty(\n config,\n REACT_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_KEY,\n edgeToEdgeEnabled ? 'true' : 'false',\n REACT_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_COMMENT\n );\n}\n\n// TODO: Remove for SDK 55\nfunction removeOldExpoEdgeToEdgeEnabledComment(\n config: GradlePropertiesConfig\n): GradlePropertiesConfig {\n const commentIndex = config.modResults.findIndex(\n (item) =>\n item.type === 'comment' &&\n item.value === OLD_EXPO_EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_COMMENT\n );\n if (commentIndex !== -1) {\n config.modResults.splice(commentIndex, 1);\n }\n return config;\n}\n\nfunction configureGradleProperty(\n config: GradlePropertiesConfig,\n key: string,\n value: string,\n comment: string,\n addNewLine: boolean = true\n): GradlePropertiesConfig {\n const propertyIndex = config.modResults.findIndex(\n (item) => item.type === 'property' && item.key === key\n );\n\n if (propertyIndex !== -1 && config.modResults[propertyIndex].type === 'property') {\n config.modResults[propertyIndex].value = value;\n } else {\n config.modResults.push({\n type: 'comment',\n value: comment,\n });\n\n config.modResults.push({\n type: 'property',\n key,\n value: addNewLine ? value + '\\n' : value,\n });\n }\n\n return config;\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,MAAME,qDAAqD,GACzD,4GAA4G;AAC9G,MAAMC,6CAA6C,GAAG,wBAAwB;AAC9E,MAAMC,iDAAiD,GACrD,4FAA4F,GAC5F,+LAA+L;AAEjM,MAAMC,8CAA8C,GAAG,mBAAmB;AAC1E,MAAMC,kDAAkD,GACtD,6DAA6D,GAC7D,0EAA0E,GAC1E,oFAAoF;AAE/E,SAASC,qCAAqCA,CACnDC,MAAkB,EAClBC,KAEC,EACD;EACA,OAAO,IAAAC,qCAAoB,EAACF,MAAM,EAAGA,MAAM,IAAK;IAC9C,OAAOG,0CAA0C,CAACH,MAAM,EAAEC,KAAK,CAACG,iBAAiB,CAAC;EACpF,CAAC,CAAC;AACJ;AAEO,SAASD,0CAA0CA,CACxDH,MAA8B,EAC9BI,iBAA0B,EACF;EACxB;EACAJ,MAAM,GAAGK,qCAAqC,CAACL,MAAM,CAAC;;EAEtD;EACAA,MAAM,GAAGM,uBAAuB,CAC9BN,MAAM,EACNL,6CAA6C,EAC7CS,iBAAiB,GAAG,MAAM,GAAG,OAAO,EACpCR,iDACF,CAAC;EAED,OAAOU,uBAAuB,CAC5BN,MAAM,EACNH,8CAA8C,EAC9CO,iBAAiB,GAAG,MAAM,GAAG,OAAO,EACpCN,kDACF,CAAC;AACH;;AAEA;AACA,SAASO,qCAAqCA,CAC5CL,MAA8B,EACN;EACxB,MAAMO,YAAY,GAAGP,MAAM,CAACQ,UAAU,CAACC,SAAS,CAC7CC,IAAI,IACHA,IAAI,CAACC,IAAI,KAAK,SAAS,IACvBD,IAAI,CAACE,KAAK,KAAKlB,qDACnB,CAAC;EACD,IAAIa,YAAY,KAAK,CAAC,CAAC,EAAE;IACvBP,MAAM,CAACQ,UAAU,CAACK,MAAM,CAACN,YAAY,EAAE,CAAC,CAAC;EAC3C;EACA,OAAOP,MAAM;AACf;AAEA,SAASM,uBAAuBA,CAC9BN,MAA8B,EAC9Bc,GAAW,EACXF,KAAa,EACbG,OAAe,EACfC,UAAmB,GAAG,IAAI,EACF;EACxB,MAAMC,aAAa,GAAGjB,MAAM,CAACQ,UAAU,CAACC,SAAS,CAC9CC,IAAI,IAAKA,IAAI,CAACC,IAAI,KAAK,UAAU,IAAID,IAAI,CAACI,GAAG,KAAKA,GACrD,CAAC;EAED,IAAIG,aAAa,KAAK,CAAC,CAAC,IAAIjB,MAAM,CAACQ,UAAU,CAACS,aAAa,CAAC,CAACN,IAAI,KAAK,UAAU,EAAE;IAChFX,MAAM,CAACQ,UAAU,CAACS,aAAa,CAAC,CAACL,KAAK,GAAGA,KAAK;EAChD,CAAC,MAAM;IACLZ,MAAM,CAACQ,UAAU,CAACU,IAAI,CAAC;MACrBP,IAAI,EAAE,SAAS;MACfC,KAAK,EAAEG;IACT,CAAC,CAAC;IAEFf,MAAM,CAACQ,UAAU,CAACU,IAAI,CAAC;MACrBP,IAAI,EAAE,UAAU;MAChBG,GAAG;MACHF,KAAK,EAAEI,UAAU,GAAGJ,KAAK,GAAG,IAAI,GAAGA;IACrC,CAAC,CAAC;EACJ;EAEA,OAAOZ,MAAM;AACf","ignoreList":[]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ConfigPlugin } from '@expo/config-plugins';
|
|
2
|
+
import { ResourceXMLConfig } from './withEdgeToEdge';
|
|
3
|
+
export declare const withEnforceNavigationBarContrast: ConfigPlugin<boolean>;
|
|
4
|
+
export declare function applyEnforceNavigationBarContrast(config: ResourceXMLConfig, enforceNavigationBarContrast: boolean): ResourceXMLConfig;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.applyEnforceNavigationBarContrast = applyEnforceNavigationBarContrast;
|
|
7
|
+
exports.withEnforceNavigationBarContrast = void 0;
|
|
8
|
+
function _configPlugins() {
|
|
9
|
+
const data = require("@expo/config-plugins");
|
|
10
|
+
_configPlugins = function () {
|
|
11
|
+
return data;
|
|
12
|
+
};
|
|
13
|
+
return data;
|
|
14
|
+
}
|
|
15
|
+
const withEnforceNavigationBarContrast = (config, enforceNavigationBarContrast) => {
|
|
16
|
+
return (0, _configPlugins().withAndroidStyles)(config, config => {
|
|
17
|
+
return applyEnforceNavigationBarContrast(config, enforceNavigationBarContrast);
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
exports.withEnforceNavigationBarContrast = withEnforceNavigationBarContrast;
|
|
21
|
+
function applyEnforceNavigationBarContrast(config, enforceNavigationBarContrast) {
|
|
22
|
+
const enforceNavigationBarContrastItem = {
|
|
23
|
+
_: enforceNavigationBarContrast ? 'true' : 'false',
|
|
24
|
+
$: {
|
|
25
|
+
name: 'android:enforceNavigationBarContrast',
|
|
26
|
+
'tools:targetApi': '29'
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
const {
|
|
30
|
+
style = []
|
|
31
|
+
} = config.modResults.resources;
|
|
32
|
+
const mainThemeIndex = style.findIndex(({
|
|
33
|
+
$
|
|
34
|
+
}) => $.name === 'AppTheme');
|
|
35
|
+
if (mainThemeIndex === -1) {
|
|
36
|
+
return config;
|
|
37
|
+
}
|
|
38
|
+
const mainTheme = style[mainThemeIndex];
|
|
39
|
+
const enforceIndex = mainTheme.item.findIndex(({
|
|
40
|
+
$
|
|
41
|
+
}) => $.name === 'android:enforceNavigationBarContrast');
|
|
42
|
+
if (enforceIndex !== -1) {
|
|
43
|
+
style[mainThemeIndex].item[enforceIndex] = enforceNavigationBarContrastItem;
|
|
44
|
+
return config;
|
|
45
|
+
}
|
|
46
|
+
config.modResults.resources.style = [{
|
|
47
|
+
$: style[mainThemeIndex].$,
|
|
48
|
+
item: [enforceNavigationBarContrastItem, ...mainTheme.item]
|
|
49
|
+
}, ...style.filter(({
|
|
50
|
+
$
|
|
51
|
+
}) => $.name !== 'AppTheme')];
|
|
52
|
+
return config;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=withEnforceNavigationBarContrast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withEnforceNavigationBarContrast.js","names":["_configPlugins","data","require","withEnforceNavigationBarContrast","config","enforceNavigationBarContrast","withAndroidStyles","applyEnforceNavigationBarContrast","exports","enforceNavigationBarContrastItem","_","$","name","style","modResults","resources","mainThemeIndex","findIndex","mainTheme","enforceIndex","item","filter"],"sources":["../../../../src/plugins/unversioned/edge-to-edge/withEnforceNavigationBarContrast.ts"],"sourcesContent":["import { ConfigPlugin, withAndroidStyles } from '@expo/config-plugins';\n\nimport { ResourceXMLConfig } from './withEdgeToEdge';\n\nexport const withEnforceNavigationBarContrast: ConfigPlugin<boolean> = (\n config,\n enforceNavigationBarContrast: boolean\n) => {\n return withAndroidStyles(config, (config) => {\n return applyEnforceNavigationBarContrast(config, enforceNavigationBarContrast);\n });\n};\n\nexport function applyEnforceNavigationBarContrast(\n config: ResourceXMLConfig,\n enforceNavigationBarContrast: boolean\n): ResourceXMLConfig {\n const enforceNavigationBarContrastItem = {\n _: enforceNavigationBarContrast ? 'true' : 'false',\n $: {\n name: 'android:enforceNavigationBarContrast',\n 'tools:targetApi': '29',\n },\n };\n const { style = [] } = config.modResults.resources;\n const mainThemeIndex = style.findIndex(({ $ }) => $.name === 'AppTheme');\n if (mainThemeIndex === -1) {\n return config;\n }\n const mainTheme = style[mainThemeIndex];\n const enforceIndex = mainTheme.item.findIndex(\n ({ $ }) => $.name === 'android:enforceNavigationBarContrast'\n );\n if (enforceIndex !== -1) {\n style[mainThemeIndex].item[enforceIndex] = enforceNavigationBarContrastItem;\n return config;\n }\n\n config.modResults.resources.style = [\n {\n $: style[mainThemeIndex].$,\n item: [enforceNavigationBarContrastItem, ...mainTheme.item],\n },\n ...style.filter(({ $ }) => $.name !== 'AppTheme'),\n ];\n\n return config;\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIO,MAAME,gCAAuD,GAAGA,CACrEC,MAAM,EACNC,4BAAqC,KAClC;EACH,OAAO,IAAAC,kCAAiB,EAACF,MAAM,EAAGA,MAAM,IAAK;IAC3C,OAAOG,iCAAiC,CAACH,MAAM,EAAEC,4BAA4B,CAAC;EAChF,CAAC,CAAC;AACJ,CAAC;AAACG,OAAA,CAAAL,gCAAA,GAAAA,gCAAA;AAEK,SAASI,iCAAiCA,CAC/CH,MAAyB,EACzBC,4BAAqC,EAClB;EACnB,MAAMI,gCAAgC,GAAG;IACvCC,CAAC,EAAEL,4BAA4B,GAAG,MAAM,GAAG,OAAO;IAClDM,CAAC,EAAE;MACDC,IAAI,EAAE,sCAAsC;MAC5C,iBAAiB,EAAE;IACrB;EACF,CAAC;EACD,MAAM;IAAEC,KAAK,GAAG;EAAG,CAAC,GAAGT,MAAM,CAACU,UAAU,CAACC,SAAS;EAClD,MAAMC,cAAc,GAAGH,KAAK,CAACI,SAAS,CAAC,CAAC;IAAEN;EAAE,CAAC,KAAKA,CAAC,CAACC,IAAI,KAAK,UAAU,CAAC;EACxE,IAAII,cAAc,KAAK,CAAC,CAAC,EAAE;IACzB,OAAOZ,MAAM;EACf;EACA,MAAMc,SAAS,GAAGL,KAAK,CAACG,cAAc,CAAC;EACvC,MAAMG,YAAY,GAAGD,SAAS,CAACE,IAAI,CAACH,SAAS,CAC3C,CAAC;IAAEN;EAAE,CAAC,KAAKA,CAAC,CAACC,IAAI,KAAK,sCACxB,CAAC;EACD,IAAIO,YAAY,KAAK,CAAC,CAAC,EAAE;IACvBN,KAAK,CAACG,cAAc,CAAC,CAACI,IAAI,CAACD,YAAY,CAAC,GAAGV,gCAAgC;IAC3E,OAAOL,MAAM;EACf;EAEAA,MAAM,CAACU,UAAU,CAACC,SAAS,CAACF,KAAK,GAAG,CAClC;IACEF,CAAC,EAAEE,KAAK,CAACG,cAAc,CAAC,CAACL,CAAC;IAC1BS,IAAI,EAAE,CAACX,gCAAgC,EAAE,GAAGS,SAAS,CAACE,IAAI;EAC5D,CAAC,EACD,GAAGP,KAAK,CAACQ,MAAM,CAAC,CAAC;IAAEV;EAAE,CAAC,KAAKA,CAAC,CAACC,IAAI,KAAK,UAAU,CAAC,CAClD;EAED,OAAOR,MAAM;AACf","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withRestoreDefaultTheme.js","names":["_configPlugins","data","require","withRestoreDefaultTheme","config","withAndroidStyles","restoreDefaultTheme","exports","DEFAULT_THEME","style","modResults","resources","mainThemeIndex","findIndex","$","name","parent","includes","item","filter"],"sources":["../../../../src/plugins/unversioned/edge-to-edge/withRestoreDefaultTheme.ts"],"sourcesContent":["import { ConfigPlugin, withAndroidStyles } from '@expo/config-plugins';\n\nimport { ResourceXMLConfig } from './withEdgeToEdge';\n\nexport const withRestoreDefaultTheme: ConfigPlugin = (config) => {\n // Default theme for SDK 53 and onwards projects\n return withAndroidStyles(config, (config) => {\n return restoreDefaultTheme(config);\n });\n};\n\nexport function restoreDefaultTheme(config: ResourceXMLConfig): ResourceXMLConfig {\n const DEFAULT_THEME = 'Theme.AppCompat.DayNight.NoActionBar';\n\n const { style = [] } = config.modResults.resources;\n const mainThemeIndex = style.findIndex(({ $ }) => $.name === 'AppTheme');\n if (mainThemeIndex === -1) {\n return config;\n }\n\n if (style[mainThemeIndex].$?.parent.includes('EdgeToEdge')) {\n config.modResults.resources.style = [\n {\n $: {\n name: 'AppTheme',\n parent: DEFAULT_THEME,\n },\n item: style[mainThemeIndex].item,\n },\n ...style.filter(({ $ }) => $.name !== 'AppTheme'),\n ];\n }\n return config;\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIO,MAAME,uBAAqC,GAAIC,MAAM,IAAK;EAC/D;EACA,OAAO,IAAAC,kCAAiB,EAACD,MAAM,EAAGA,MAAM,IAAK;IAC3C,OAAOE,mBAAmB,CAACF,MAAM,CAAC;EACpC,CAAC,CAAC;AACJ,CAAC;AAACG,OAAA,CAAAJ,uBAAA,GAAAA,uBAAA;AAEK,SAASG,mBAAmBA,CAACF,MAAyB,EAAqB;EAChF,MAAMI,aAAa,GAAG,sCAAsC;EAE5D,MAAM;IAAEC,KAAK,GAAG;EAAG,CAAC,GAAGL,MAAM,CAACM,UAAU,CAACC,SAAS;EAClD,MAAMC,cAAc,GAAGH,KAAK,CAACI,SAAS,CAAC,CAAC;IAAEC;EAAE,CAAC,KAAKA,CAAC,CAACC,IAAI,KAAK,UAAU,CAAC;EACxE,IAAIH,cAAc,KAAK,CAAC,CAAC,EAAE;IACzB,OAAOR,MAAM;EACf;EAEA,IAAIK,KAAK,CAACG,cAAc,CAAC,CAACE,CAAC,EAAEE,MAAM,CAACC,QAAQ,CAAC,YAAY,CAAC,EAAE;IAC1Db,MAAM,CAACM,UAAU,CAACC,SAAS,CAACF,KAAK,GAAG,CAClC;MACEK,CAAC,EAAE;QACDC,IAAI,EAAE,UAAU;QAChBC,MAAM,EAAER;MACV,CAAC;MACDU,IAAI,EAAET,KAAK,CAACG,cAAc,CAAC,CAACM;IAC9B,CAAC,EACD,GAAGT,KAAK,CAACU,MAAM,CAAC,CAAC;MAAEL;IAAE,CAAC,KAAKA,CAAC,CAACC,IAAI,KAAK,UAAU,CAAC,CAClD;EACH;EACA,OAAOX,MAAM;AACf","ignoreList":[]}
|
|
@@ -57,6 +57,13 @@ function _ReactNative78CompatPlugin() {
|
|
|
57
57
|
};
|
|
58
58
|
return data;
|
|
59
59
|
}
|
|
60
|
+
function _withEdgeToEdge() {
|
|
61
|
+
const data = _interopRequireDefault(require("./unversioned/edge-to-edge/withEdgeToEdge"));
|
|
62
|
+
_withEdgeToEdge = function () {
|
|
63
|
+
return data;
|
|
64
|
+
};
|
|
65
|
+
return data;
|
|
66
|
+
}
|
|
60
67
|
function _expoAdsAdmob() {
|
|
61
68
|
const data = _interopRequireDefault(require("./unversioned/expo-ads-admob/expo-ads-admob"));
|
|
62
69
|
_expoAdsAdmob = function () {
|
|
@@ -120,13 +127,6 @@ function _expoUpdates() {
|
|
|
120
127
|
};
|
|
121
128
|
return data;
|
|
122
129
|
}
|
|
123
|
-
function _withEdgeToEdge() {
|
|
124
|
-
const data = _interopRequireDefault(require("./unversioned/react-native-edge-to-edge/withEdgeToEdge"));
|
|
125
|
-
_withEdgeToEdge = function () {
|
|
126
|
-
return data;
|
|
127
|
-
};
|
|
128
|
-
return data;
|
|
129
|
-
}
|
|
130
130
|
function _reactNativeMaps() {
|
|
131
131
|
const data = _interopRequireDefault(require("./unversioned/react-native-maps"));
|
|
132
132
|
_reactNativeMaps = function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withDefaultPlugins.js","names":["_configPlugins","data","require","_debug","_interopRequireDefault","_getAutolinkedPackages","_withAndroidIcons","_withIosIcons","_ReactNative77CompatPlugin","_ReactNative78CompatPlugin","_expoAdsAdmob","_expoAppleAuthentication","_expoContacts","_expoDocumentPicker","_expoNavigationBar","_expoNotifications","_expoSplashScreen","_expoSystemUi","_expoUpdates","_withEdgeToEdge","_reactNativeMaps","e","__esModule","default","debug","Debug","withIosExpoPlugins","config","bundleIdentifier","ios","withPlugins","IOSConfig","BundleIdentifier","withBundleIdentifier","Google","withGoogle","Name","withDisplayName","withProductName","Orientation","withOrientation","RequiresFullScreen","withRequiresFullScreen","Scheme","withScheme","UsesNonExemptEncryption","withUsesNonExemptEncryption","Version","withBuildNumber","withVersion","withGoogleServicesFile","BuildProperties","withJsEnginePodfileProps","withNewArchEnabledPodfileProps","Entitlements","withAssociatedDomains","DeviceFamily","withDeviceFamily","Bitcode","withBitcode","Locales","withLocales","DevelopmentTeam","withDevelopmentTeam","withIosIcons","PrivacyInfo","withPrivacyInfo","exports","withAndroidExpoPlugins","props","android","package","AndroidConfig","withJsEngineGradleProps","withNewArchEnabledGradleProps","withNameSettingsGradle","GoogleServices","withClassPath","withApplyPlugin","Package","withPackageGradle","AllowBackup","withAllowBackup","WindowSoftInputMode","withWindowSoftInputMode","PredictiveBackGesture","withPredictiveBackGesture","IntentFilters","withAndroidIntentFilters","Permissions","withInternalBlockedPermissions","withPermissions","withName","withSdk52ReactNative77CompatAndroid","withSdk52ReactNative78CompatAndroid","StatusBar","withStatusBar","PrimaryColor","withPrimaryColor","withEdgeToEdge","withAndroidIcons","withPackageRefactor","versionedExpoSDKPackages","withVersionedExpoSDKPlugins","withMaps","withAdMob","withAppleAuthentication","withContacts","withNotifications","withUpdates","withDocumentPicker","withSystemUI","withSplashScreen","withNavigationBar","getAutoPlugins","concat","legacyExpoPlugins","expoManagedVersionedPlugins","getLegacyExpoPlugins","withOptionalLegacyPlugins","plugins","reduce","prev","plugin","shouldSkipAutoPlugin","withStaticPlugin","_isLegacyPlugin","fallback","withLegacyExpoPlugins","Set"],"sources":["../../src/plugins/withDefaultPlugins.ts"],"sourcesContent":["/**\n * These are the versioned first-party plugins with some of the future third-party plugins mixed in for legacy support.\n */\nimport {\n AndroidConfig,\n ConfigPlugin,\n IOSConfig,\n StaticPlugin,\n withPlugins,\n withStaticPlugin,\n} from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\nimport Debug from 'debug';\n\nimport { shouldSkipAutoPlugin } from '../getAutolinkedPackages';\nimport { withAndroidIcons } from './icons/withAndroidIcons';\nimport { withIosIcons } from './icons/withIosIcons';\nimport { withSdk52ReactNative77CompatAndroid } from './sdk52/ReactNative77CompatPlugin';\nimport { withSdk52ReactNative78CompatAndroid } from './sdk52/ReactNative78CompatPlugin';\nimport withAdMob from './unversioned/expo-ads-admob/expo-ads-admob';\nimport withAppleAuthentication from './unversioned/expo-apple-authentication';\nimport withContacts from './unversioned/expo-contacts';\nimport withDocumentPicker from './unversioned/expo-document-picker';\nimport withNavigationBar from './unversioned/expo-navigation-bar/expo-navigation-bar';\nimport withNotifications from './unversioned/expo-notifications/expo-notifications';\nimport withSplashScreen from './unversioned/expo-splash-screen/expo-splash-screen';\nimport withSystemUI from './unversioned/expo-system-ui/expo-system-ui';\nimport withUpdates from './unversioned/expo-updates';\nimport withEdgeToEdge from './unversioned/react-native-edge-to-edge/withEdgeToEdge';\nimport withMaps from './unversioned/react-native-maps';\n\nconst debug = Debug('expo:prebuild-config');\n\n/**\n * Config plugin to apply all of the custom Expo iOS config plugins we support by default.\n * TODO: In the future most of this should go into versioned packages like expo-updates, etc...\n */\nexport const withIosExpoPlugins: ConfigPlugin<{\n bundleIdentifier: string;\n}> = (config, { bundleIdentifier }) => {\n // Set the bundle ID ahead of time.\n if (!config.ios) config.ios = {};\n config.ios.bundleIdentifier = bundleIdentifier;\n\n return withPlugins(config, [\n [IOSConfig.BundleIdentifier.withBundleIdentifier, { bundleIdentifier }],\n IOSConfig.Google.withGoogle,\n IOSConfig.Name.withDisplayName,\n IOSConfig.Name.withProductName,\n IOSConfig.Orientation.withOrientation,\n IOSConfig.RequiresFullScreen.withRequiresFullScreen,\n IOSConfig.Scheme.withScheme,\n IOSConfig.UsesNonExemptEncryption.withUsesNonExemptEncryption,\n IOSConfig.Version.withBuildNumber,\n IOSConfig.Version.withVersion,\n IOSConfig.Google.withGoogleServicesFile,\n IOSConfig.BuildProperties.withJsEnginePodfileProps,\n IOSConfig.BuildProperties.withNewArchEnabledPodfileProps,\n // Entitlements\n IOSConfig.Entitlements.withAssociatedDomains,\n // XcodeProject\n IOSConfig.DeviceFamily.withDeviceFamily,\n IOSConfig.Bitcode.withBitcode,\n IOSConfig.Locales.withLocales,\n IOSConfig.DevelopmentTeam.withDevelopmentTeam,\n // Dangerous\n withIosIcons,\n IOSConfig.PrivacyInfo.withPrivacyInfo,\n ]);\n};\n\n/**\n * Config plugin to apply all of the custom Expo Android config plugins we support by default.\n * TODO: In the future most of this should go into versioned packages like expo-updates, etc...\n */\nexport const withAndroidExpoPlugins: ConfigPlugin<{\n package: string;\n projectRoot: string;\n}> = (config, props) => {\n // Set the package name ahead of time.\n if (!config.android) config.android = {};\n config.android.package = props.package;\n return withPlugins(config, [\n // gradle.properties\n AndroidConfig.BuildProperties.withJsEngineGradleProps,\n AndroidConfig.BuildProperties.withNewArchEnabledGradleProps,\n\n // settings.gradle\n AndroidConfig.Name.withNameSettingsGradle,\n\n // project build.gradle\n AndroidConfig.GoogleServices.withClassPath,\n\n // app/build.gradle\n AndroidConfig.GoogleServices.withApplyPlugin,\n AndroidConfig.Package.withPackageGradle,\n AndroidConfig.Version.withVersion,\n\n // AndroidManifest.xml\n AndroidConfig.AllowBackup.withAllowBackup,\n AndroidConfig.WindowSoftInputMode.withWindowSoftInputMode,\n AndroidConfig.PredictiveBackGesture.withPredictiveBackGesture,\n // Note: The withAndroidIntentFilters plugin must appear before the withScheme\n // plugin or withScheme will override the output of withAndroidIntentFilters.\n AndroidConfig.IntentFilters.withAndroidIntentFilters,\n AndroidConfig.Scheme.withScheme,\n AndroidConfig.Orientation.withOrientation,\n AndroidConfig.Permissions.withInternalBlockedPermissions,\n AndroidConfig.Permissions.withPermissions,\n\n // strings.xml\n AndroidConfig.Name.withName,\n AndroidConfig.Locales.withLocales,\n\n // Dangerous -- these plugins run in reverse order.\n AndroidConfig.GoogleServices.withGoogleServicesFile,\n withSdk52ReactNative77CompatAndroid,\n withSdk52ReactNative78CompatAndroid,\n\n // Modify colors.xml and styles.xml\n AndroidConfig.StatusBar.withStatusBar,\n AndroidConfig.PrimaryColor.withPrimaryColor,\n (config) => withEdgeToEdge(config, props),\n\n withAndroidIcons,\n // If we renamed the package, we should also move it around and rename it in source files\n // Added last to ensure this plugin runs first. Out of tree solutions will mistakenly resolve the package incorrectly otherwise.\n AndroidConfig.Package.withPackageRefactor,\n ]);\n};\n\n// Must keep in sync with `withVersionedExpoSDKPlugins`\nconst versionedExpoSDKPackages: string[] = [\n 'react-native-maps',\n 'expo-ads-admob',\n 'expo-apple-authentication',\n 'expo-contacts',\n 'expo-notifications',\n 'expo-updates',\n 'expo-navigation-bar',\n 'expo-document-picker',\n 'expo-splash-screen',\n 'expo-system-ui',\n];\n\nexport const withVersionedExpoSDKPlugins: ConfigPlugin = (config) => {\n return withPlugins(config, [\n withMaps,\n withAdMob,\n withAppleAuthentication,\n withContacts,\n withNotifications,\n withUpdates,\n withDocumentPicker,\n // System UI must come before splash screen as they overlap\n // and splash screen will warn about conflicting rules.\n withSystemUI,\n withSplashScreen,\n withNavigationBar,\n ]);\n};\n\nexport function getAutoPlugins() {\n return versionedExpoSDKPackages.concat(legacyExpoPlugins).concat(expoManagedVersionedPlugins);\n}\n\nexport function getLegacyExpoPlugins() {\n return legacyExpoPlugins;\n}\n\n// Expo managed packages that require extra update.\n// These get applied automatically to create parity with expo build in eas build.\nconst legacyExpoPlugins = [\n 'expo-app-auth',\n 'expo-av',\n 'expo-background-fetch',\n 'expo-brightness',\n 'expo-calendar',\n 'expo-camera',\n 'expo-cellular',\n 'expo-dev-menu',\n 'expo-dev-launcher',\n 'expo-dev-client',\n 'expo-image-picker',\n 'expo-file-system',\n 'expo-location',\n 'expo-media-library',\n 'expo-screen-orientation',\n 'expo-sensors',\n 'expo-task-manager',\n 'expo-local-authentication',\n];\n\n// Plugins that need to be automatically applied, but also get applied by expo-cli if the versioned plugin isn't available.\n// These are split up because the user doesn't need to be prompted to setup these packages.\nconst expoManagedVersionedPlugins = [\n 'expo-firebase-analytics',\n 'expo-firebase-core',\n 'expo-google-sign-in',\n];\n\nconst withOptionalLegacyPlugins: ConfigPlugin<(StaticPlugin | string)[]> = (config, plugins) => {\n return plugins.reduce((prev, plugin) => {\n if (shouldSkipAutoPlugin(config, plugin)) {\n debug('Skipping unlinked auto plugin:', plugin);\n return prev;\n }\n\n return withStaticPlugin(prev, {\n // hide errors\n _isLegacyPlugin: true,\n plugin,\n // If a plugin doesn't exist, do nothing.\n fallback: (config) => config,\n });\n }, config);\n};\n\nexport function withLegacyExpoPlugins(config: ExpoConfig) {\n return withOptionalLegacyPlugins(config, [\n ...new Set(expoManagedVersionedPlugins.concat(legacyExpoPlugins)),\n ]);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"withDefaultPlugins.js","names":["_configPlugins","data","require","_debug","_interopRequireDefault","_getAutolinkedPackages","_withAndroidIcons","_withIosIcons","_ReactNative77CompatPlugin","_ReactNative78CompatPlugin","_withEdgeToEdge","_expoAdsAdmob","_expoAppleAuthentication","_expoContacts","_expoDocumentPicker","_expoNavigationBar","_expoNotifications","_expoSplashScreen","_expoSystemUi","_expoUpdates","_reactNativeMaps","e","__esModule","default","debug","Debug","withIosExpoPlugins","config","bundleIdentifier","ios","withPlugins","IOSConfig","BundleIdentifier","withBundleIdentifier","Google","withGoogle","Name","withDisplayName","withProductName","Orientation","withOrientation","RequiresFullScreen","withRequiresFullScreen","Scheme","withScheme","UsesNonExemptEncryption","withUsesNonExemptEncryption","Version","withBuildNumber","withVersion","withGoogleServicesFile","BuildProperties","withJsEnginePodfileProps","withNewArchEnabledPodfileProps","Entitlements","withAssociatedDomains","DeviceFamily","withDeviceFamily","Bitcode","withBitcode","Locales","withLocales","DevelopmentTeam","withDevelopmentTeam","withIosIcons","PrivacyInfo","withPrivacyInfo","exports","withAndroidExpoPlugins","props","android","package","AndroidConfig","withJsEngineGradleProps","withNewArchEnabledGradleProps","withNameSettingsGradle","GoogleServices","withClassPath","withApplyPlugin","Package","withPackageGradle","AllowBackup","withAllowBackup","WindowSoftInputMode","withWindowSoftInputMode","PredictiveBackGesture","withPredictiveBackGesture","IntentFilters","withAndroidIntentFilters","Permissions","withInternalBlockedPermissions","withPermissions","withName","withSdk52ReactNative77CompatAndroid","withSdk52ReactNative78CompatAndroid","StatusBar","withStatusBar","PrimaryColor","withPrimaryColor","withEdgeToEdge","withAndroidIcons","withPackageRefactor","versionedExpoSDKPackages","withVersionedExpoSDKPlugins","withMaps","withAdMob","withAppleAuthentication","withContacts","withNotifications","withUpdates","withDocumentPicker","withSystemUI","withSplashScreen","withNavigationBar","getAutoPlugins","concat","legacyExpoPlugins","expoManagedVersionedPlugins","getLegacyExpoPlugins","withOptionalLegacyPlugins","plugins","reduce","prev","plugin","shouldSkipAutoPlugin","withStaticPlugin","_isLegacyPlugin","fallback","withLegacyExpoPlugins","Set"],"sources":["../../src/plugins/withDefaultPlugins.ts"],"sourcesContent":["/**\n * These are the versioned first-party plugins with some of the future third-party plugins mixed in for legacy support.\n */\nimport {\n AndroidConfig,\n ConfigPlugin,\n IOSConfig,\n StaticPlugin,\n withPlugins,\n withStaticPlugin,\n} from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\nimport Debug from 'debug';\n\nimport { shouldSkipAutoPlugin } from '../getAutolinkedPackages';\nimport { withAndroidIcons } from './icons/withAndroidIcons';\nimport { withIosIcons } from './icons/withIosIcons';\nimport { withSdk52ReactNative77CompatAndroid } from './sdk52/ReactNative77CompatPlugin';\nimport { withSdk52ReactNative78CompatAndroid } from './sdk52/ReactNative78CompatPlugin';\nimport withEdgeToEdge from './unversioned/edge-to-edge/withEdgeToEdge';\nimport withAdMob from './unversioned/expo-ads-admob/expo-ads-admob';\nimport withAppleAuthentication from './unversioned/expo-apple-authentication';\nimport withContacts from './unversioned/expo-contacts';\nimport withDocumentPicker from './unversioned/expo-document-picker';\nimport withNavigationBar from './unversioned/expo-navigation-bar/expo-navigation-bar';\nimport withNotifications from './unversioned/expo-notifications/expo-notifications';\nimport withSplashScreen from './unversioned/expo-splash-screen/expo-splash-screen';\nimport withSystemUI from './unversioned/expo-system-ui/expo-system-ui';\nimport withUpdates from './unversioned/expo-updates';\nimport withMaps from './unversioned/react-native-maps';\n\nconst debug = Debug('expo:prebuild-config');\n\n/**\n * Config plugin to apply all of the custom Expo iOS config plugins we support by default.\n * TODO: In the future most of this should go into versioned packages like expo-updates, etc...\n */\nexport const withIosExpoPlugins: ConfigPlugin<{\n bundleIdentifier: string;\n}> = (config, { bundleIdentifier }) => {\n // Set the bundle ID ahead of time.\n if (!config.ios) config.ios = {};\n config.ios.bundleIdentifier = bundleIdentifier;\n\n return withPlugins(config, [\n [IOSConfig.BundleIdentifier.withBundleIdentifier, { bundleIdentifier }],\n IOSConfig.Google.withGoogle,\n IOSConfig.Name.withDisplayName,\n IOSConfig.Name.withProductName,\n IOSConfig.Orientation.withOrientation,\n IOSConfig.RequiresFullScreen.withRequiresFullScreen,\n IOSConfig.Scheme.withScheme,\n IOSConfig.UsesNonExemptEncryption.withUsesNonExemptEncryption,\n IOSConfig.Version.withBuildNumber,\n IOSConfig.Version.withVersion,\n IOSConfig.Google.withGoogleServicesFile,\n IOSConfig.BuildProperties.withJsEnginePodfileProps,\n IOSConfig.BuildProperties.withNewArchEnabledPodfileProps,\n // Entitlements\n IOSConfig.Entitlements.withAssociatedDomains,\n // XcodeProject\n IOSConfig.DeviceFamily.withDeviceFamily,\n IOSConfig.Bitcode.withBitcode,\n IOSConfig.Locales.withLocales,\n IOSConfig.DevelopmentTeam.withDevelopmentTeam,\n // Dangerous\n withIosIcons,\n IOSConfig.PrivacyInfo.withPrivacyInfo,\n ]);\n};\n\n/**\n * Config plugin to apply all of the custom Expo Android config plugins we support by default.\n * TODO: In the future most of this should go into versioned packages like expo-updates, etc...\n */\nexport const withAndroidExpoPlugins: ConfigPlugin<{\n package: string;\n projectRoot: string;\n}> = (config, props) => {\n // Set the package name ahead of time.\n if (!config.android) config.android = {};\n config.android.package = props.package;\n return withPlugins(config, [\n // gradle.properties\n AndroidConfig.BuildProperties.withJsEngineGradleProps,\n AndroidConfig.BuildProperties.withNewArchEnabledGradleProps,\n\n // settings.gradle\n AndroidConfig.Name.withNameSettingsGradle,\n\n // project build.gradle\n AndroidConfig.GoogleServices.withClassPath,\n\n // app/build.gradle\n AndroidConfig.GoogleServices.withApplyPlugin,\n AndroidConfig.Package.withPackageGradle,\n AndroidConfig.Version.withVersion,\n\n // AndroidManifest.xml\n AndroidConfig.AllowBackup.withAllowBackup,\n AndroidConfig.WindowSoftInputMode.withWindowSoftInputMode,\n AndroidConfig.PredictiveBackGesture.withPredictiveBackGesture,\n // Note: The withAndroidIntentFilters plugin must appear before the withScheme\n // plugin or withScheme will override the output of withAndroidIntentFilters.\n AndroidConfig.IntentFilters.withAndroidIntentFilters,\n AndroidConfig.Scheme.withScheme,\n AndroidConfig.Orientation.withOrientation,\n AndroidConfig.Permissions.withInternalBlockedPermissions,\n AndroidConfig.Permissions.withPermissions,\n\n // strings.xml\n AndroidConfig.Name.withName,\n AndroidConfig.Locales.withLocales,\n\n // Dangerous -- these plugins run in reverse order.\n AndroidConfig.GoogleServices.withGoogleServicesFile,\n withSdk52ReactNative77CompatAndroid,\n withSdk52ReactNative78CompatAndroid,\n\n // Modify colors.xml and styles.xml\n AndroidConfig.StatusBar.withStatusBar,\n AndroidConfig.PrimaryColor.withPrimaryColor,\n (config) => withEdgeToEdge(config, props),\n\n withAndroidIcons,\n // If we renamed the package, we should also move it around and rename it in source files\n // Added last to ensure this plugin runs first. Out of tree solutions will mistakenly resolve the package incorrectly otherwise.\n AndroidConfig.Package.withPackageRefactor,\n ]);\n};\n\n// Must keep in sync with `withVersionedExpoSDKPlugins`\nconst versionedExpoSDKPackages: string[] = [\n 'react-native-maps',\n 'expo-ads-admob',\n 'expo-apple-authentication',\n 'expo-contacts',\n 'expo-notifications',\n 'expo-updates',\n 'expo-navigation-bar',\n 'expo-document-picker',\n 'expo-splash-screen',\n 'expo-system-ui',\n];\n\nexport const withVersionedExpoSDKPlugins: ConfigPlugin = (config) => {\n return withPlugins(config, [\n withMaps,\n withAdMob,\n withAppleAuthentication,\n withContacts,\n withNotifications,\n withUpdates,\n withDocumentPicker,\n // System UI must come before splash screen as they overlap\n // and splash screen will warn about conflicting rules.\n withSystemUI,\n withSplashScreen,\n withNavigationBar,\n ]);\n};\n\nexport function getAutoPlugins() {\n return versionedExpoSDKPackages.concat(legacyExpoPlugins).concat(expoManagedVersionedPlugins);\n}\n\nexport function getLegacyExpoPlugins() {\n return legacyExpoPlugins;\n}\n\n// Expo managed packages that require extra update.\n// These get applied automatically to create parity with expo build in eas build.\nconst legacyExpoPlugins = [\n 'expo-app-auth',\n 'expo-av',\n 'expo-background-fetch',\n 'expo-brightness',\n 'expo-calendar',\n 'expo-camera',\n 'expo-cellular',\n 'expo-dev-menu',\n 'expo-dev-launcher',\n 'expo-dev-client',\n 'expo-image-picker',\n 'expo-file-system',\n 'expo-location',\n 'expo-media-library',\n 'expo-screen-orientation',\n 'expo-sensors',\n 'expo-task-manager',\n 'expo-local-authentication',\n];\n\n// Plugins that need to be automatically applied, but also get applied by expo-cli if the versioned plugin isn't available.\n// These are split up because the user doesn't need to be prompted to setup these packages.\nconst expoManagedVersionedPlugins = [\n 'expo-firebase-analytics',\n 'expo-firebase-core',\n 'expo-google-sign-in',\n];\n\nconst withOptionalLegacyPlugins: ConfigPlugin<(StaticPlugin | string)[]> = (config, plugins) => {\n return plugins.reduce((prev, plugin) => {\n if (shouldSkipAutoPlugin(config, plugin)) {\n debug('Skipping unlinked auto plugin:', plugin);\n return prev;\n }\n\n return withStaticPlugin(prev, {\n // hide errors\n _isLegacyPlugin: true,\n plugin,\n // If a plugin doesn't exist, do nothing.\n fallback: (config) => config,\n });\n }, config);\n};\n\nexport function withLegacyExpoPlugins(config: ExpoConfig) {\n return withOptionalLegacyPlugins(config, [\n ...new Set(expoManagedVersionedPlugins.concat(legacyExpoPlugins)),\n ]);\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expo/prebuild-config",
|
|
3
|
-
"version": "10.0.
|
|
3
|
+
"version": "10.0.3",
|
|
4
4
|
"description": "Get the prebuild config",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@expo/config": "~12.0.2",
|
|
44
44
|
"@expo/config-plugins": "~11.0.2",
|
|
45
|
-
"@expo/config-types": "^54.0.
|
|
45
|
+
"@expo/config-types": "^54.0.3",
|
|
46
46
|
"@expo/image-utils": "^0.8.2",
|
|
47
47
|
"@expo/json-file": "^10.0.2",
|
|
48
48
|
"@react-native/normalize-colors": "0.81.0",
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"publishConfig": {
|
|
55
55
|
"access": "public"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "475cdabd3faad56f0e8c4abcaaf21140c01c094f"
|
|
58
58
|
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { ExpoConfig } from '@expo/config-types';
|
|
2
|
-
import { EdgeToEdgePlugin } from './withEdgeToEdge';
|
|
3
|
-
export declare function edgeToEdgePluginIndex(config: ExpoConfig): number | null;
|
|
4
|
-
export declare function hasEnabledEdgeToEdge(config: ExpoConfig): boolean;
|
|
5
|
-
export declare function loadEdgeToEdgeConfigPlugin(projectRoot: string): EdgeToEdgePlugin | null;
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.edgeToEdgePluginIndex = edgeToEdgePluginIndex;
|
|
7
|
-
exports.hasEnabledEdgeToEdge = hasEnabledEdgeToEdge;
|
|
8
|
-
exports.loadEdgeToEdgeConfigPlugin = loadEdgeToEdgeConfigPlugin;
|
|
9
|
-
function _resolveFrom() {
|
|
10
|
-
const data = _interopRequireDefault(require("resolve-from"));
|
|
11
|
-
_resolveFrom = function () {
|
|
12
|
-
return data;
|
|
13
|
-
};
|
|
14
|
-
return data;
|
|
15
|
-
}
|
|
16
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
|
-
function edgeToEdgePluginIndex(config) {
|
|
18
|
-
const isEdgeToEdgePluginArray = plugin => Array.isArray(plugin) && typeof plugin[0] === 'string' && plugin[0].includes('react-native-edge-to-edge');
|
|
19
|
-
const isEdgeToEdgePluginString = plugin => typeof plugin === 'string' && plugin.includes('react-native-edge-to-edge');
|
|
20
|
-
const pluginIndex = config.plugins?.findIndex(plugin => isEdgeToEdgePluginString(plugin) || isEdgeToEdgePluginArray(plugin)) ?? -1;
|
|
21
|
-
if (pluginIndex === -1) {
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
return pluginIndex;
|
|
25
|
-
}
|
|
26
|
-
function hasEnabledEdgeToEdge(config) {
|
|
27
|
-
return config.android?.edgeToEdgeEnabled === true || edgeToEdgePluginIndex(config) != null;
|
|
28
|
-
}
|
|
29
|
-
function loadEdgeToEdgeConfigPlugin(projectRoot) {
|
|
30
|
-
try {
|
|
31
|
-
let edgeToEdgePath = _resolveFrom().default.silent(projectRoot, 'react-native-edge-to-edge/app.plugin');
|
|
32
|
-
if (edgeToEdgePath == null) {
|
|
33
|
-
const expoPackageRoot = _resolveFrom().default.silent(projectRoot, 'expo/package.json');
|
|
34
|
-
edgeToEdgePath = _resolveFrom().default.silent(expoPackageRoot ?? projectRoot, 'react-native-edge-to-edge/app.plugin');
|
|
35
|
-
}
|
|
36
|
-
if (edgeToEdgePath) {
|
|
37
|
-
const {
|
|
38
|
-
default: plugin
|
|
39
|
-
} = require(edgeToEdgePath);
|
|
40
|
-
return plugin;
|
|
41
|
-
}
|
|
42
|
-
} catch {
|
|
43
|
-
return null;
|
|
44
|
-
}
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","names":["_resolveFrom","data","_interopRequireDefault","require","e","__esModule","default","edgeToEdgePluginIndex","config","isEdgeToEdgePluginArray","plugin","Array","isArray","includes","isEdgeToEdgePluginString","pluginIndex","plugins","findIndex","hasEnabledEdgeToEdge","android","edgeToEdgeEnabled","loadEdgeToEdgeConfigPlugin","projectRoot","edgeToEdgePath","resolveFrom","silent","expoPackageRoot"],"sources":["../../../../src/plugins/unversioned/react-native-edge-to-edge/helpers.ts"],"sourcesContent":["import type { ExpoConfig } from '@expo/config-types';\nimport resolveFrom from 'resolve-from';\n\nimport { EdgeToEdgePlugin } from './withEdgeToEdge';\n\nexport function edgeToEdgePluginIndex(config: ExpoConfig): number | null {\n const isEdgeToEdgePluginArray = (plugin: string | [] | [string] | [string, any]) =>\n Array.isArray(plugin) &&\n typeof plugin[0] === 'string' &&\n plugin[0].includes('react-native-edge-to-edge');\n const isEdgeToEdgePluginString = (plugin: string | [] | [string] | [string, any]) =>\n typeof plugin === 'string' && plugin.includes('react-native-edge-to-edge');\n\n const pluginIndex =\n config.plugins?.findIndex(\n (plugin) => isEdgeToEdgePluginString(plugin) || isEdgeToEdgePluginArray(plugin)\n ) ?? -1;\n\n if (pluginIndex === -1) {\n return null;\n }\n return pluginIndex;\n}\n\nexport function hasEnabledEdgeToEdge(config: ExpoConfig) {\n return config.android?.edgeToEdgeEnabled === true || edgeToEdgePluginIndex(config) != null;\n}\n\nexport function loadEdgeToEdgeConfigPlugin(projectRoot: string): EdgeToEdgePlugin | null {\n try {\n let edgeToEdgePath = resolveFrom.silent(projectRoot, 'react-native-edge-to-edge/app.plugin');\n if (edgeToEdgePath == null) {\n const expoPackageRoot = resolveFrom.silent(projectRoot, 'expo/package.json');\n edgeToEdgePath = resolveFrom.silent(\n expoPackageRoot ?? projectRoot,\n 'react-native-edge-to-edge/app.plugin'\n );\n }\n\n if (edgeToEdgePath) {\n const { default: plugin } = require(edgeToEdgePath);\n return plugin as EdgeToEdgePlugin;\n }\n } catch {\n return null;\n }\n return null;\n}\n"],"mappings":";;;;;;;;AACA,SAAAA,aAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,YAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAuC,SAAAC,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAIhC,SAASG,qBAAqBA,CAACC,MAAkB,EAAiB;EACvE,MAAMC,uBAAuB,GAAIC,MAA8C,IAC7EC,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,IACrB,OAAOA,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,IAC7BA,MAAM,CAAC,CAAC,CAAC,CAACG,QAAQ,CAAC,2BAA2B,CAAC;EACjD,MAAMC,wBAAwB,GAAIJ,MAA8C,IAC9E,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,CAACG,QAAQ,CAAC,2BAA2B,CAAC;EAE5E,MAAME,WAAW,GACfP,MAAM,CAACQ,OAAO,EAAEC,SAAS,CACtBP,MAAM,IAAKI,wBAAwB,CAACJ,MAAM,CAAC,IAAID,uBAAuB,CAACC,MAAM,CAChF,CAAC,IAAI,CAAC,CAAC;EAET,IAAIK,WAAW,KAAK,CAAC,CAAC,EAAE;IACtB,OAAO,IAAI;EACb;EACA,OAAOA,WAAW;AACpB;AAEO,SAASG,oBAAoBA,CAACV,MAAkB,EAAE;EACvD,OAAOA,MAAM,CAACW,OAAO,EAAEC,iBAAiB,KAAK,IAAI,IAAIb,qBAAqB,CAACC,MAAM,CAAC,IAAI,IAAI;AAC5F;AAEO,SAASa,0BAA0BA,CAACC,WAAmB,EAA2B;EACvF,IAAI;IACF,IAAIC,cAAc,GAAGC,sBAAW,CAACC,MAAM,CAACH,WAAW,EAAE,sCAAsC,CAAC;IAC5F,IAAIC,cAAc,IAAI,IAAI,EAAE;MAC1B,MAAMG,eAAe,GAAGF,sBAAW,CAACC,MAAM,CAACH,WAAW,EAAE,mBAAmB,CAAC;MAC5EC,cAAc,GAAGC,sBAAW,CAACC,MAAM,CACjCC,eAAe,IAAIJ,WAAW,EAC9B,sCACF,CAAC;IACH;IAEA,IAAIC,cAAc,EAAE;MAClB,MAAM;QAAEjB,OAAO,EAAEI;MAAO,CAAC,GAAGP,OAAO,CAACoB,cAAc,CAAC;MACnD,OAAOb,MAAM;IACf;EACF,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;EACA,OAAO,IAAI;AACb","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withConfigureEdgeToEdgeEnforcement.js","names":["_configPlugins","data","require","OPT_OUT_EDGE_TO_EDGE_ATTRIBUTE","withConfigureEdgeToEdgeEnforcement","config","disableEdgeToEdgeEnforcement","withAndroidStyles","configureEdgeToEdgeEnforcement","exports","style","modResults","resources","disableEdgeToEdgeEnforcementItem","_","$","name","mainThemeIndex","findIndex","existingItem","item","filter","push"],"sources":["../../../../src/plugins/unversioned/react-native-edge-to-edge/withConfigureEdgeToEdgeEnforcement.ts"],"sourcesContent":["import { ConfigPlugin, withAndroidStyles } from '@expo/config-plugins';\n\nimport { ResourceXMLConfig } from './withEdgeToEdge';\n\nconst OPT_OUT_EDGE_TO_EDGE_ATTRIBUTE = 'android:windowOptOutEdgeToEdgeEnforcement';\n\nexport const withConfigureEdgeToEdgeEnforcement: ConfigPlugin<{\n disableEdgeToEdgeEnforcement: boolean;\n}> = (config, { disableEdgeToEdgeEnforcement }) => {\n return withAndroidStyles(config, (config) => {\n return configureEdgeToEdgeEnforcement(config, disableEdgeToEdgeEnforcement);\n });\n};\n\nexport function configureEdgeToEdgeEnforcement(\n config: ResourceXMLConfig,\n disableEdgeToEdgeEnforcement: boolean\n): ResourceXMLConfig {\n const { style = [] } = config.modResults.resources;\n\n const disableEdgeToEdgeEnforcementItem = {\n _: 'true',\n $: {\n name: OPT_OUT_EDGE_TO_EDGE_ATTRIBUTE,\n 'tools:targetApi': '35',\n },\n };\n\n const mainThemeIndex = style.findIndex(({ $ }) => $.name === 'AppTheme');\n\n if (mainThemeIndex === -1) {\n return config;\n }\n\n const existingItem = style[mainThemeIndex].item.filter(\n ({ $ }) => $.name !== OPT_OUT_EDGE_TO_EDGE_ATTRIBUTE\n );\n\n if (disableEdgeToEdgeEnforcement) {\n existingItem.push(disableEdgeToEdgeEnforcementItem);\n }\n if (!config.modResults.resources.style) {\n return config;\n }\n\n config.modResults.resources.style[mainThemeIndex].item = existingItem;\n return config;\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,MAAME,8BAA8B,GAAG,2CAA2C;AAE3E,MAAMC,kCAEX,GAAGA,CAACC,MAAM,EAAE;EAAEC;AAA6B,CAAC,KAAK;EACjD,OAAO,IAAAC,kCAAiB,EAACF,MAAM,EAAGA,MAAM,IAAK;IAC3C,OAAOG,8BAA8B,CAACH,MAAM,EAAEC,4BAA4B,CAAC;EAC7E,CAAC,CAAC;AACJ,CAAC;AAACG,OAAA,CAAAL,kCAAA,GAAAA,kCAAA;AAEK,SAASI,8BAA8BA,CAC5CH,MAAyB,EACzBC,4BAAqC,EAClB;EACnB,MAAM;IAAEI,KAAK,GAAG;EAAG,CAAC,GAAGL,MAAM,CAACM,UAAU,CAACC,SAAS;EAElD,MAAMC,gCAAgC,GAAG;IACvCC,CAAC,EAAE,MAAM;IACTC,CAAC,EAAE;MACDC,IAAI,EAAEb,8BAA8B;MACpC,iBAAiB,EAAE;IACrB;EACF,CAAC;EAED,MAAMc,cAAc,GAAGP,KAAK,CAACQ,SAAS,CAAC,CAAC;IAAEH;EAAE,CAAC,KAAKA,CAAC,CAACC,IAAI,KAAK,UAAU,CAAC;EAExE,IAAIC,cAAc,KAAK,CAAC,CAAC,EAAE;IACzB,OAAOZ,MAAM;EACf;EAEA,MAAMc,YAAY,GAAGT,KAAK,CAACO,cAAc,CAAC,CAACG,IAAI,CAACC,MAAM,CACpD,CAAC;IAAEN;EAAE,CAAC,KAAKA,CAAC,CAACC,IAAI,KAAKb,8BACxB,CAAC;EAED,IAAIG,4BAA4B,EAAE;IAChCa,YAAY,CAACG,IAAI,CAACT,gCAAgC,CAAC;EACrD;EACA,IAAI,CAACR,MAAM,CAACM,UAAU,CAACC,SAAS,CAACF,KAAK,EAAE;IACtC,OAAOL,MAAM;EACf;EAEAA,MAAM,CAACM,UAAU,CAACC,SAAS,CAACF,KAAK,CAACO,cAAc,CAAC,CAACG,IAAI,GAAGD,YAAY;EACrE,OAAOd,MAAM;AACf","ignoreList":[]}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.applyEdgeToEdge = applyEdgeToEdge;
|
|
7
|
-
exports.withEdgeToEdge = exports.default = void 0;
|
|
8
|
-
function _configPlugins() {
|
|
9
|
-
const data = require("@expo/config-plugins");
|
|
10
|
-
_configPlugins = function () {
|
|
11
|
-
return data;
|
|
12
|
-
};
|
|
13
|
-
return data;
|
|
14
|
-
}
|
|
15
|
-
function _helpers() {
|
|
16
|
-
const data = require("./helpers");
|
|
17
|
-
_helpers = function () {
|
|
18
|
-
return data;
|
|
19
|
-
};
|
|
20
|
-
return data;
|
|
21
|
-
}
|
|
22
|
-
function _withConfigureEdgeToEdgeEnforcement() {
|
|
23
|
-
const data = require("./withConfigureEdgeToEdgeEnforcement");
|
|
24
|
-
_withConfigureEdgeToEdgeEnforcement = function () {
|
|
25
|
-
return data;
|
|
26
|
-
};
|
|
27
|
-
return data;
|
|
28
|
-
}
|
|
29
|
-
function _withEdgeToEdgeEnabledGradleProperties() {
|
|
30
|
-
const data = require("./withEdgeToEdgeEnabledGradleProperties");
|
|
31
|
-
_withEdgeToEdgeEnabledGradleProperties = function () {
|
|
32
|
-
return data;
|
|
33
|
-
};
|
|
34
|
-
return data;
|
|
35
|
-
}
|
|
36
|
-
function _withRestoreDefaultTheme() {
|
|
37
|
-
const data = require("./withRestoreDefaultTheme");
|
|
38
|
-
_withRestoreDefaultTheme = function () {
|
|
39
|
-
return data;
|
|
40
|
-
};
|
|
41
|
-
return data;
|
|
42
|
-
}
|
|
43
|
-
const TAG = 'EDGE_TO_EDGE_PLUGIN';
|
|
44
|
-
const withEdgeToEdge = (config, {
|
|
45
|
-
projectRoot
|
|
46
|
-
}) => {
|
|
47
|
-
return applyEdgeToEdge(config, projectRoot);
|
|
48
|
-
};
|
|
49
|
-
exports.withEdgeToEdge = withEdgeToEdge;
|
|
50
|
-
function applyEdgeToEdge(config, projectRoot) {
|
|
51
|
-
// Check if someone has manually configured the config plugin
|
|
52
|
-
const pluginIndex = (0, _helpers().edgeToEdgePluginIndex)(config);
|
|
53
|
-
if (config.android?.edgeToEdgeEnabled === undefined && pluginIndex === null) {
|
|
54
|
-
_configPlugins().WarningAggregator.addWarningAndroid(TAG, 'No configuration found for `edgeToEdgeEnabled` field in the project app config, falling back to false. In Android 16+ (targetSdkVersion 36) it will no longer be possible to disable edge-to-edge. Learn more:', 'https://expo.fyi/edge-to-edge-rollout');
|
|
55
|
-
} else if (config.android?.edgeToEdgeEnabled === false && pluginIndex === null) {
|
|
56
|
-
_configPlugins().WarningAggregator.addWarningAndroid(TAG, '`edgeToEdgeEnabled` field is explicitly set to false in the project app config. In Android 16+ (targetSdkVersion 36) it will no longer be possible to disable edge-to-edge. Learn more:', 'https://expo.fyi/edge-to-edge-rollout');
|
|
57
|
-
}
|
|
58
|
-
const edgeToEdgeConfigPlugin = (0, _helpers().loadEdgeToEdgeConfigPlugin)(projectRoot);
|
|
59
|
-
if (edgeToEdgeConfigPlugin === null) {
|
|
60
|
-
_configPlugins().WarningAggregator.addWarningAndroid(TAG, 'Failed to load the react-native-edge-to-edge config plugin, edge to edge functionality will be disabled. ' + 'To enable edge-to-edge make sure that `react-native-edge-to-edge` is installed in your project.');
|
|
61
|
-
|
|
62
|
-
// Disable edge-to-edge enforcement if the plugin is not installed
|
|
63
|
-
config = (0, _withConfigureEdgeToEdgeEnforcement().withConfigureEdgeToEdgeEnforcement)(config, {
|
|
64
|
-
disableEdgeToEdgeEnforcement: true
|
|
65
|
-
});
|
|
66
|
-
config = (0, _withEdgeToEdgeEnabledGradleProperties().withEdgeToEdgeEnabledGradleProperties)(config, {
|
|
67
|
-
edgeToEdgeEnabled: false
|
|
68
|
-
});
|
|
69
|
-
return (0, _withRestoreDefaultTheme().withRestoreDefaultTheme)(config);
|
|
70
|
-
}
|
|
71
|
-
const edgeToEdgeEnabled = (0, _helpers().hasEnabledEdgeToEdge)(config);
|
|
72
|
-
config = (0, _withEdgeToEdgeEnabledGradleProperties().withEdgeToEdgeEnabledGradleProperties)(config, {
|
|
73
|
-
edgeToEdgeEnabled
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
// Enable/disable edge-to-edge enforcement
|
|
77
|
-
config = (0, _withConfigureEdgeToEdgeEnforcement().withConfigureEdgeToEdgeEnforcement)(config, {
|
|
78
|
-
disableEdgeToEdgeEnforcement: !edgeToEdgeEnabled
|
|
79
|
-
});
|
|
80
|
-
if (pluginIndex !== null) {
|
|
81
|
-
const warning = constructWarning(pluginIndex, config);
|
|
82
|
-
if (warning) {
|
|
83
|
-
_configPlugins().WarningAggregator.addWarningAndroid('EDGE_TO_EDGE_CONFLICT', warning);
|
|
84
|
-
}
|
|
85
|
-
return config;
|
|
86
|
-
}
|
|
87
|
-
if (config.android?.edgeToEdgeEnabled !== true) {
|
|
88
|
-
return (0, _withRestoreDefaultTheme().withRestoreDefaultTheme)(config);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
// Run `react-native-edge-to-edge` config plugin configuration if edge-to-edge is enabled and the user hasn't added their own
|
|
92
|
-
// plugin configuration in `app.json` / `app.config.json`.
|
|
93
|
-
return edgeToEdgeConfigPlugin(config, {
|
|
94
|
-
android: {
|
|
95
|
-
parentTheme: 'Default',
|
|
96
|
-
enforceNavigationBarContrast: true
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
function constructWarning(pluginIndex, config) {
|
|
101
|
-
if (pluginIndex === null) {
|
|
102
|
-
return null;
|
|
103
|
-
}
|
|
104
|
-
if ((0, _helpers().hasEnabledEdgeToEdge)(config) && config?.android?.edgeToEdgeEnabled === false) {
|
|
105
|
-
return `You have configured the \`react-native-edge-to-edge\` plugin in your config file, while also setting the \`android.edgeToEdgeEnabled\` ` + `field to \`false\`. The value of \`android.edgeToEdgeEnabled\` field will be ignored`;
|
|
106
|
-
}
|
|
107
|
-
return null;
|
|
108
|
-
}
|
|
109
|
-
var _default = exports.default = withEdgeToEdge;
|
|
110
|
-
//# sourceMappingURL=withEdgeToEdge.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withEdgeToEdge.js","names":["_configPlugins","data","require","_helpers","_withConfigureEdgeToEdgeEnforcement","_withEdgeToEdgeEnabledGradleProperties","_withRestoreDefaultTheme","TAG","withEdgeToEdge","config","projectRoot","applyEdgeToEdge","exports","pluginIndex","edgeToEdgePluginIndex","android","edgeToEdgeEnabled","undefined","WarningAggregator","addWarningAndroid","edgeToEdgeConfigPlugin","loadEdgeToEdgeConfigPlugin","withConfigureEdgeToEdgeEnforcement","disableEdgeToEdgeEnforcement","withEdgeToEdgeEnabledGradleProperties","withRestoreDefaultTheme","hasEnabledEdgeToEdge","warning","constructWarning","parentTheme","enforceNavigationBarContrast","_default","default"],"sources":["../../../../src/plugins/unversioned/react-native-edge-to-edge/withEdgeToEdge.ts"],"sourcesContent":["import {\n ConfigPlugin,\n ExportedConfigWithProps,\n WarningAggregator,\n AndroidConfig,\n} from '@expo/config-plugins';\nimport { type ExpoConfig } from '@expo/config-types';\n\nimport { edgeToEdgePluginIndex, hasEnabledEdgeToEdge, loadEdgeToEdgeConfigPlugin } from './helpers';\nimport { withConfigureEdgeToEdgeEnforcement } from './withConfigureEdgeToEdgeEnforcement';\nimport { withEdgeToEdgeEnabledGradleProperties } from './withEdgeToEdgeEnabledGradleProperties';\nimport { withRestoreDefaultTheme } from './withRestoreDefaultTheme';\n\nconst TAG = 'EDGE_TO_EDGE_PLUGIN';\n\nexport type EdgeToEdgePlugin = ConfigPlugin<{\n android: {\n parentTheme?: string;\n enforceNavigationBarContrast?: boolean;\n };\n}>;\n\nexport type ResourceXMLConfig = ExportedConfigWithProps<AndroidConfig.Resources.ResourceXML>;\nexport type GradlePropertiesConfig = ExportedConfigWithProps<\n AndroidConfig.Properties.PropertiesItem[]\n>;\n\nexport const withEdgeToEdge: ConfigPlugin<{ projectRoot: string }> = (config, { projectRoot }) => {\n return applyEdgeToEdge(config, projectRoot);\n};\n\nexport function applyEdgeToEdge(config: ExpoConfig, projectRoot: string): ExpoConfig {\n // Check if someone has manually configured the config plugin\n const pluginIndex = edgeToEdgePluginIndex(config);\n if (config.android?.edgeToEdgeEnabled === undefined && pluginIndex === null) {\n WarningAggregator.addWarningAndroid(\n TAG,\n 'No configuration found for `edgeToEdgeEnabled` field in the project app config, falling back to false. In Android 16+ (targetSdkVersion 36) it will no longer be possible to disable edge-to-edge. Learn more:',\n 'https://expo.fyi/edge-to-edge-rollout'\n );\n } else if (config.android?.edgeToEdgeEnabled === false && pluginIndex === null) {\n WarningAggregator.addWarningAndroid(\n TAG,\n '`edgeToEdgeEnabled` field is explicitly set to false in the project app config. In Android 16+ (targetSdkVersion 36) it will no longer be possible to disable edge-to-edge. Learn more:',\n 'https://expo.fyi/edge-to-edge-rollout'\n );\n }\n\n const edgeToEdgeConfigPlugin = loadEdgeToEdgeConfigPlugin(projectRoot);\n\n if (edgeToEdgeConfigPlugin === null) {\n WarningAggregator.addWarningAndroid(\n TAG,\n 'Failed to load the react-native-edge-to-edge config plugin, edge to edge functionality will be disabled. ' +\n 'To enable edge-to-edge make sure that `react-native-edge-to-edge` is installed in your project.'\n );\n\n // Disable edge-to-edge enforcement if the plugin is not installed\n config = withConfigureEdgeToEdgeEnforcement(config, {\n disableEdgeToEdgeEnforcement: true,\n });\n\n config = withEdgeToEdgeEnabledGradleProperties(config, { edgeToEdgeEnabled: false });\n return withRestoreDefaultTheme(config);\n }\n const edgeToEdgeEnabled = hasEnabledEdgeToEdge(config);\n\n config = withEdgeToEdgeEnabledGradleProperties(config, { edgeToEdgeEnabled });\n\n // Enable/disable edge-to-edge enforcement\n config = withConfigureEdgeToEdgeEnforcement(config, {\n disableEdgeToEdgeEnforcement: !edgeToEdgeEnabled,\n });\n\n if (pluginIndex !== null) {\n const warning = constructWarning(pluginIndex, config);\n if (warning) {\n WarningAggregator.addWarningAndroid('EDGE_TO_EDGE_CONFLICT', warning);\n }\n return config;\n }\n\n if (config.android?.edgeToEdgeEnabled !== true) {\n return withRestoreDefaultTheme(config);\n }\n\n // Run `react-native-edge-to-edge` config plugin configuration if edge-to-edge is enabled and the user hasn't added their own\n // plugin configuration in `app.json` / `app.config.json`.\n return edgeToEdgeConfigPlugin(config, {\n android: {\n parentTheme: 'Default',\n enforceNavigationBarContrast: true,\n },\n });\n}\n\nfunction constructWarning(pluginIndex: number | null, config: ExpoConfig): string | null {\n if (pluginIndex === null) {\n return null;\n }\n\n if (hasEnabledEdgeToEdge(config) && config?.android?.edgeToEdgeEnabled === false) {\n return (\n `You have configured the \\`react-native-edge-to-edge\\` plugin in your config file, while also setting the \\`android.edgeToEdgeEnabled\\` ` +\n `field to \\`false\\`. The value of \\`android.edgeToEdgeEnabled\\` field will be ignored`\n );\n }\n return null;\n}\n\nexport default withEdgeToEdge;\n"],"mappings":"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","ignoreList":[]}
|
package/build/plugins/unversioned/react-native-edge-to-edge/withEdgeToEdgeEnabledGradleProperties.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.configureEdgeToEdgeEnabledGradleProperties = configureEdgeToEdgeEnabledGradleProperties;
|
|
7
|
-
exports.withEdgeToEdgeEnabledGradleProperties = withEdgeToEdgeEnabledGradleProperties;
|
|
8
|
-
function _configPlugins() {
|
|
9
|
-
const data = require("@expo/config-plugins");
|
|
10
|
-
_configPlugins = function () {
|
|
11
|
-
return data;
|
|
12
|
-
};
|
|
13
|
-
return data;
|
|
14
|
-
}
|
|
15
|
-
const EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_KEY = 'expo.edgeToEdgeEnabled';
|
|
16
|
-
const EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_COMMENT = 'Whether the app is configured to use edge-to-edge via the app config or `react-native-edge-to-edge` plugin';
|
|
17
|
-
function withEdgeToEdgeEnabledGradleProperties(config, props) {
|
|
18
|
-
return (0, _configPlugins().withGradleProperties)(config, config => {
|
|
19
|
-
return configureEdgeToEdgeEnabledGradleProperties(config, props.edgeToEdgeEnabled);
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
function configureEdgeToEdgeEnabledGradleProperties(config, edgeToEdgeEnabled) {
|
|
23
|
-
const propertyIndex = config.modResults.findIndex(item => item.type === 'property' && item.key === EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_KEY);
|
|
24
|
-
if (propertyIndex !== -1) {
|
|
25
|
-
config.modResults.splice(propertyIndex, 1);
|
|
26
|
-
}
|
|
27
|
-
const commentIndex = config.modResults.findIndex(item => item.type === 'comment' && item.value === EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_COMMENT);
|
|
28
|
-
if (commentIndex !== -1) {
|
|
29
|
-
config.modResults.splice(commentIndex, 1);
|
|
30
|
-
}
|
|
31
|
-
config.modResults.push({
|
|
32
|
-
type: 'comment',
|
|
33
|
-
value: EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_COMMENT
|
|
34
|
-
});
|
|
35
|
-
config.modResults.push({
|
|
36
|
-
type: 'property',
|
|
37
|
-
key: EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_KEY,
|
|
38
|
-
value: edgeToEdgeEnabled ? 'true' : 'false'
|
|
39
|
-
});
|
|
40
|
-
return config;
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=withEdgeToEdgeEnabledGradleProperties.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withEdgeToEdgeEnabledGradleProperties.js","names":["_configPlugins","data","require","EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_KEY","EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_COMMENT","withEdgeToEdgeEnabledGradleProperties","config","props","withGradleProperties","configureEdgeToEdgeEnabledGradleProperties","edgeToEdgeEnabled","propertyIndex","modResults","findIndex","item","type","key","splice","commentIndex","value","push"],"sources":["../../../../src/plugins/unversioned/react-native-edge-to-edge/withEdgeToEdgeEnabledGradleProperties.ts"],"sourcesContent":["import { withGradleProperties } from '@expo/config-plugins';\nimport type { ExpoConfig } from '@expo/config-types';\n\nimport { GradlePropertiesConfig } from './withEdgeToEdge';\n\nconst EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_KEY = 'expo.edgeToEdgeEnabled';\nconst EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_COMMENT =\n 'Whether the app is configured to use edge-to-edge via the app config or `react-native-edge-to-edge` plugin';\n\nexport function withEdgeToEdgeEnabledGradleProperties(\n config: ExpoConfig,\n props: {\n edgeToEdgeEnabled: boolean;\n }\n) {\n return withGradleProperties(config, (config) => {\n return configureEdgeToEdgeEnabledGradleProperties(config, props.edgeToEdgeEnabled);\n });\n}\n\nexport function configureEdgeToEdgeEnabledGradleProperties(\n config: GradlePropertiesConfig,\n edgeToEdgeEnabled: boolean\n): GradlePropertiesConfig {\n const propertyIndex = config.modResults.findIndex(\n (item) => item.type === 'property' && item.key === EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_KEY\n );\n if (propertyIndex !== -1) {\n config.modResults.splice(propertyIndex, 1);\n }\n const commentIndex = config.modResults.findIndex(\n (item) => item.type === 'comment' && item.value === EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_COMMENT\n );\n if (commentIndex !== -1) {\n config.modResults.splice(commentIndex, 1);\n }\n\n config.modResults.push({\n type: 'comment',\n value: EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_COMMENT,\n });\n config.modResults.push({\n type: 'property',\n key: EDGE_TO_EDGE_ENABLED_GRADLE_PROPERTY_KEY,\n value: edgeToEdgeEnabled ? 'true' : 'false',\n });\n\n return config;\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,MAAME,wCAAwC,GAAG,wBAAwB;AACzE,MAAMC,4CAA4C,GAChD,4GAA4G;AAEvG,SAASC,qCAAqCA,CACnDC,MAAkB,EAClBC,KAEC,EACD;EACA,OAAO,IAAAC,qCAAoB,EAACF,MAAM,EAAGA,MAAM,IAAK;IAC9C,OAAOG,0CAA0C,CAACH,MAAM,EAAEC,KAAK,CAACG,iBAAiB,CAAC;EACpF,CAAC,CAAC;AACJ;AAEO,SAASD,0CAA0CA,CACxDH,MAA8B,EAC9BI,iBAA0B,EACF;EACxB,MAAMC,aAAa,GAAGL,MAAM,CAACM,UAAU,CAACC,SAAS,CAC9CC,IAAI,IAAKA,IAAI,CAACC,IAAI,KAAK,UAAU,IAAID,IAAI,CAACE,GAAG,KAAKb,wCACrD,CAAC;EACD,IAAIQ,aAAa,KAAK,CAAC,CAAC,EAAE;IACxBL,MAAM,CAACM,UAAU,CAACK,MAAM,CAACN,aAAa,EAAE,CAAC,CAAC;EAC5C;EACA,MAAMO,YAAY,GAAGZ,MAAM,CAACM,UAAU,CAACC,SAAS,CAC7CC,IAAI,IAAKA,IAAI,CAACC,IAAI,KAAK,SAAS,IAAID,IAAI,CAACK,KAAK,KAAKf,4CACtD,CAAC;EACD,IAAIc,YAAY,KAAK,CAAC,CAAC,EAAE;IACvBZ,MAAM,CAACM,UAAU,CAACK,MAAM,CAACC,YAAY,EAAE,CAAC,CAAC;EAC3C;EAEAZ,MAAM,CAACM,UAAU,CAACQ,IAAI,CAAC;IACrBL,IAAI,EAAE,SAAS;IACfI,KAAK,EAAEf;EACT,CAAC,CAAC;EACFE,MAAM,CAACM,UAAU,CAACQ,IAAI,CAAC;IACrBL,IAAI,EAAE,UAAU;IAChBC,GAAG,EAAEb,wCAAwC;IAC7CgB,KAAK,EAAET,iBAAiB,GAAG,MAAM,GAAG;EACtC,CAAC,CAAC;EAEF,OAAOJ,MAAM;AACf","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withRestoreDefaultTheme.js","names":["_configPlugins","data","require","withRestoreDefaultTheme","config","withAndroidStyles","restoreDefaultTheme","exports","DEFAULT_THEME","style","modResults","resources","mainThemeIndex","findIndex","$","name","parent","includes","item","filter"],"sources":["../../../../src/plugins/unversioned/react-native-edge-to-edge/withRestoreDefaultTheme.ts"],"sourcesContent":["import { ConfigPlugin, withAndroidStyles } from '@expo/config-plugins';\n\nimport { ResourceXMLConfig } from './withEdgeToEdge';\n\nexport const withRestoreDefaultTheme: ConfigPlugin = (config) => {\n // Default theme for SDK 53 and onwards projects\n return withAndroidStyles(config, (config) => {\n return restoreDefaultTheme(config);\n });\n};\n\nexport function restoreDefaultTheme(config: ResourceXMLConfig): ResourceXMLConfig {\n const DEFAULT_THEME = 'Theme.AppCompat.DayNight.NoActionBar';\n\n const { style = [] } = config.modResults.resources;\n const mainThemeIndex = style.findIndex(({ $ }) => $.name === 'AppTheme');\n if (mainThemeIndex === -1) {\n return config;\n }\n\n if (style[mainThemeIndex].$?.parent.includes('EdgeToEdge')) {\n config.modResults.resources.style = [\n {\n $: {\n name: 'AppTheme',\n parent: DEFAULT_THEME,\n },\n item: style[mainThemeIndex].item,\n },\n ...style.filter(({ $ }) => $.name !== 'AppTheme'),\n ];\n }\n return config;\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIO,MAAME,uBAAqC,GAAIC,MAAM,IAAK;EAC/D;EACA,OAAO,IAAAC,kCAAiB,EAACD,MAAM,EAAGA,MAAM,IAAK;IAC3C,OAAOE,mBAAmB,CAACF,MAAM,CAAC;EACpC,CAAC,CAAC;AACJ,CAAC;AAACG,OAAA,CAAAJ,uBAAA,GAAAA,uBAAA;AAEK,SAASG,mBAAmBA,CAACF,MAAyB,EAAqB;EAChF,MAAMI,aAAa,GAAG,sCAAsC;EAE5D,MAAM;IAAEC,KAAK,GAAG;EAAG,CAAC,GAAGL,MAAM,CAACM,UAAU,CAACC,SAAS;EAClD,MAAMC,cAAc,GAAGH,KAAK,CAACI,SAAS,CAAC,CAAC;IAAEC;EAAE,CAAC,KAAKA,CAAC,CAACC,IAAI,KAAK,UAAU,CAAC;EACxE,IAAIH,cAAc,KAAK,CAAC,CAAC,EAAE;IACzB,OAAOR,MAAM;EACf;EAEA,IAAIK,KAAK,CAACG,cAAc,CAAC,CAACE,CAAC,EAAEE,MAAM,CAACC,QAAQ,CAAC,YAAY,CAAC,EAAE;IAC1Db,MAAM,CAACM,UAAU,CAACC,SAAS,CAACF,KAAK,GAAG,CAClC;MACEK,CAAC,EAAE;QACDC,IAAI,EAAE,UAAU;QAChBC,MAAM,EAAER;MACV,CAAC;MACDU,IAAI,EAAET,KAAK,CAACG,cAAc,CAAC,CAACM;IAC9B,CAAC,EACD,GAAGT,KAAK,CAACU,MAAM,CAAC,CAAC;MAAEL;IAAE,CAAC,KAAKA,CAAC,CAACC,IAAI,KAAK,UAAU,CAAC,CAClD;EACH;EACA,OAAOX,MAAM;AACf","ignoreList":[]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|