mirror of
https://github.com/expo/config-plugins.git
synced 2026-11-14 10:08:06 -10:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9b22a71343 | ||
|
|
e49a241243 |
No files matched your search
-5
@@ -1,5 +0,0 @@
|
|||||||
import { ConfigPlugin } from "@expo/config-plugins";
|
|
||||||
declare const _default: ConfigPlugin<void | {
|
|
||||||
targetAndroid12?: boolean | undefined;
|
|
||||||
}>;
|
|
||||||
export default _default;
|
|
||||||
-92
@@ -1,92 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
const config_plugins_1 = require("@expo/config-plugins");
|
|
||||||
const generateCode_1 = require("@expo/config-plugins/build/utils/generateCode");
|
|
||||||
const withXcodeLinkBinaryWithLibraries = (config, { library, status }) => {
|
|
||||||
return config_plugins_1.withXcodeProject(config, (config) => {
|
|
||||||
const options = status === "optional" ? { weak: true } : {};
|
|
||||||
const target = config_plugins_1.IOSConfig.XcodeUtils.getApplicationNativeTarget({
|
|
||||||
project: config.modResults,
|
|
||||||
projectName: config.modRequest.projectName,
|
|
||||||
});
|
|
||||||
config.modResults.addFramework(library, {
|
|
||||||
target: target.uuid,
|
|
||||||
...options,
|
|
||||||
});
|
|
||||||
return config;
|
|
||||||
});
|
|
||||||
};
|
|
||||||
const addAndroidPackagingOptions = (src) => {
|
|
||||||
return generateCode_1.mergeContents({
|
|
||||||
tag: "react-native-play-services-analytics",
|
|
||||||
src,
|
|
||||||
newSrc: `
|
|
||||||
implementation 'com.google.android.gms:play-services-analytics:18.0.1'
|
|
||||||
implementation 'com.android.installreferrer:installreferrer:2.2'
|
|
||||||
`,
|
|
||||||
anchor: /dependencies(?:\s+)?\{/,
|
|
||||||
// Inside the dependencies block.
|
|
||||||
offset: 1,
|
|
||||||
comment: "//",
|
|
||||||
});
|
|
||||||
};
|
|
||||||
const withGradle = (config) => {
|
|
||||||
return config_plugins_1.withAppBuildGradle(config, (config) => {
|
|
||||||
if (config.modResults.language === "groovy") {
|
|
||||||
config.modResults.contents = addAndroidPackagingOptions(config.modResults.contents).contents;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
throw new Error("Cannot add Play Services maven gradle because the project build.gradle is not groovy");
|
|
||||||
}
|
|
||||||
return config;
|
|
||||||
});
|
|
||||||
};
|
|
||||||
/**
|
|
||||||
* Apply react-native-adjust configuration for Expo SDK +44 projects.
|
|
||||||
*/
|
|
||||||
const withAdjustPlugin = (config, _props) => {
|
|
||||||
const props = _props || {};
|
|
||||||
config = withXcodeLinkBinaryWithLibraries(config, {
|
|
||||||
library: "iAd.framework",
|
|
||||||
status: "optional",
|
|
||||||
});
|
|
||||||
config = withXcodeLinkBinaryWithLibraries(config, {
|
|
||||||
library: "AdServices.framework",
|
|
||||||
status: "optional",
|
|
||||||
});
|
|
||||||
config = withXcodeLinkBinaryWithLibraries(config, {
|
|
||||||
library: "AdSupport.framework",
|
|
||||||
status: "optional",
|
|
||||||
});
|
|
||||||
config = withXcodeLinkBinaryWithLibraries(config, {
|
|
||||||
library: "StoreKit.framework",
|
|
||||||
status: "optional",
|
|
||||||
});
|
|
||||||
config = withXcodeLinkBinaryWithLibraries(config, {
|
|
||||||
library: "AppTrackingTransparency.framework",
|
|
||||||
status: "optional",
|
|
||||||
});
|
|
||||||
if (props.targetAndroid12) {
|
|
||||||
config = config_plugins_1.AndroidConfig.Version.withBuildScriptExtMinimumVersion(config, {
|
|
||||||
name: "compileSdkVersion",
|
|
||||||
minVersion: 31,
|
|
||||||
});
|
|
||||||
config = config_plugins_1.AndroidConfig.Permissions.withPermissions(config, [
|
|
||||||
"com.google.android.gms.permission.AD_ID",
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
config = withGradle(config);
|
|
||||||
// Return the modified config.
|
|
||||||
return config;
|
|
||||||
};
|
|
||||||
const pkg = {
|
|
||||||
// Prevent this plugin from being run more than once.
|
|
||||||
// This pattern enables users to safely migrate off of this
|
|
||||||
// out-of-tree `@config-plugins/react-native-adjust` to a future
|
|
||||||
// upstream plugin in `react-native-adjust`
|
|
||||||
name: "react-native-adjust",
|
|
||||||
// Indicates that this plugin is dangerously linked to a module,
|
|
||||||
// and might not work with the latest version of that module.
|
|
||||||
version: "UNVERSIONED",
|
|
||||||
};
|
|
||||||
exports.default = config_plugins_1.createRunOncePlugin(withAdjustPlugin, pkg.name, pkg.version);
|
|
||||||
@@ -1,3 +1,10 @@
|
|||||||
|
### @config-plugins/react-native-google-cast [1.0.3](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-23)
|
||||||
|
|
||||||
|
|
||||||
|
### Other chores
|
||||||
|
|
||||||
|
* **react-native-google-cast:** lint fix ([21c4928](https://github.com/expo/config-plugins/commit/21c49280d49a3584863d8338e4b34c508249a595))
|
||||||
|
|
||||||
### @config-plugins/react-native-google-cast [1.0.2](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22)
|
### @config-plugins/react-native-google-cast [1.0.2](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -2,8 +2,8 @@
|
|||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.withAndroidGoogleCast = void 0;
|
exports.withAndroidGoogleCast = void 0;
|
||||||
const config_plugins_1 = require("@expo/config-plugins");
|
const config_plugins_1 = require("@expo/config-plugins");
|
||||||
const generateCode_1 = require("@expo/config-plugins/build/utils/generateCode");
|
|
||||||
const codeMod_1 = require("@expo/config-plugins/build/android/codeMod");
|
const codeMod_1 = require("@expo/config-plugins/build/android/codeMod");
|
||||||
|
const generateCode_1 = require("@expo/config-plugins/build/utils/generateCode");
|
||||||
const { addMetaDataItemToMainApplication, getMainApplicationOrThrow } = config_plugins_1.AndroidConfig.Manifest;
|
const { addMetaDataItemToMainApplication, getMainApplicationOrThrow } = config_plugins_1.AndroidConfig.Manifest;
|
||||||
const META_PROVIDER_CLASS = "com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME";
|
const META_PROVIDER_CLASS = "com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME";
|
||||||
const META_RECEIVER_APP_ID = "com.reactnative.googlecast.RECEIVER_APPLICATION_ID";
|
const META_RECEIVER_APP_ID = "com.reactnative.googlecast.RECEIVER_APPLICATION_ID";
|
||||||
@@ -63,7 +63,7 @@ const withAppBuildGradleImport = (config, { version }) => {
|
|||||||
};
|
};
|
||||||
const withMainActivityLazyLoading = (config) => {
|
const withMainActivityLazyLoading = (config) => {
|
||||||
return config_plugins_1.withMainActivity(config, async (config) => {
|
return config_plugins_1.withMainActivity(config, async (config) => {
|
||||||
let src = codeMod_1.addImports(config.modResults.contents, ["com.google.android.gms.cast.framework.CastContext"], config.modResults.language === "java");
|
const src = codeMod_1.addImports(config.modResults.contents, ["com.google.android.gms.cast.framework.CastContext"], config.modResults.language === "java");
|
||||||
if (config.modResults.language === "java") {
|
if (config.modResults.language === "java") {
|
||||||
config.modResults.contents = addGoogleCastLazyLoadingImport(src).contents;
|
config.modResults.contents = addGoogleCastLazyLoadingImport(src).contents;
|
||||||
}
|
}
|
||||||
|
|||||||
+19
-16
@@ -17,9 +17,12 @@ const withIosWifiEntitlements = (config) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
const LOCAL_NETWORK_USAGE = "${PRODUCT_NAME} uses the local network to discover Cast-enabled devices on your WiFi network";
|
const LOCAL_NETWORK_USAGE = "${PRODUCT_NAME} uses the local network to discover Cast-enabled devices on your WiFi network";
|
||||||
const BLUETOOTH_ALWAYS_USAGE = "${PRODUCT_NAME} uses Bluetooth to discover nearby Cast devices";
|
// const BLUETOOTH_ALWAYS_USAGE =
|
||||||
const BLUETOOTH_PERIPHERAL_USAGE = "${PRODUCT_NAME} uses Bluetooth to discover nearby Cast devices";
|
// "${PRODUCT_NAME} uses Bluetooth to discover nearby Cast devices";
|
||||||
const MICROPHONE_USAGE = "${PRODUCT_NAME} uses microphone access to listen for ultrasonic tokens when pairing with nearby Cast devices";
|
// const BLUETOOTH_PERIPHERAL_USAGE =
|
||||||
|
// "${PRODUCT_NAME} uses Bluetooth to discover nearby Cast devices";
|
||||||
|
// const MICROPHONE_USAGE =
|
||||||
|
// "${PRODUCT_NAME} uses microphone access to listen for ultrasonic tokens when pairing with nearby Cast devices";
|
||||||
/**
|
/**
|
||||||
* On iOS, a dialog asking the user for the local network permission will now be displayed immediately when the app is opened.
|
* On iOS, a dialog asking the user for the local network permission will now be displayed immediately when the app is opened.
|
||||||
*
|
*
|
||||||
@@ -45,19 +48,19 @@ const withIosLocalNetworkPermissions = (config, { receiverAppId = "CC1AD845" } =
|
|||||||
return config;
|
return config;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
const withIosGuestMode = (config) => {
|
// const withIosGuestMode: ConfigPlugin = (config) => {
|
||||||
return config_plugins_1.withInfoPlist(config, (config) => {
|
// return withInfoPlist(config, (config) => {
|
||||||
config.modResults.NSBluetoothAlwaysUsageDescription =
|
// config.modResults.NSBluetoothAlwaysUsageDescription =
|
||||||
config.modResults.NSBluetoothAlwaysUsageDescription ||
|
// config.modResults.NSBluetoothAlwaysUsageDescription ||
|
||||||
BLUETOOTH_ALWAYS_USAGE;
|
// BLUETOOTH_ALWAYS_USAGE;
|
||||||
config.modResults.NSBluetoothPeripheralUsageDescription =
|
// config.modResults.NSBluetoothPeripheralUsageDescription =
|
||||||
config.modResults.NSBluetoothPeripheralUsageDescription ||
|
// config.modResults.NSBluetoothPeripheralUsageDescription ||
|
||||||
BLUETOOTH_PERIPHERAL_USAGE;
|
// BLUETOOTH_PERIPHERAL_USAGE;
|
||||||
config.modResults.NSMicrophoneUsageDescription =
|
// config.modResults.NSMicrophoneUsageDescription =
|
||||||
config.modResults.NSMicrophoneUsageDescription || MICROPHONE_USAGE;
|
// config.modResults.NSMicrophoneUsageDescription || MICROPHONE_USAGE;
|
||||||
return config;
|
// return config;
|
||||||
});
|
// });
|
||||||
};
|
// };
|
||||||
// TODO: Use AppDelegate swizzling
|
// TODO: Use AppDelegate swizzling
|
||||||
const withIosAppDelegateLoaded = (config, props) => {
|
const withIosAppDelegateLoaded = (config, props) => {
|
||||||
return config_plugins_1.withAppDelegate(config, (config) => {
|
return config_plugins_1.withAppDelegate(config, (config) => {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@config-plugins/react-native-google-cast",
|
"name": "@config-plugins/react-native-google-cast",
|
||||||
"version": "1.0.2",
|
"version": "1.0.3",
|
||||||
"description": "Config plugin to auto configure Google Cast on prebuild",
|
"description": "Config plugin to auto configure Google Cast on prebuild",
|
||||||
"main": "build/withGoogleCast.js",
|
"main": "build/withGoogleCast.js",
|
||||||
"types": "build/withGoogleCast.d.ts",
|
"types": "build/withGoogleCast.d.ts",
|
||||||
|
|||||||
Reference in new issue
Block a user