Skip to content

Commit

Permalink
Add createExpoTargetConfig
Browse files Browse the repository at this point in the history
  • Loading branch information
robertherber committed Jan 27, 2025
1 parent ae0308c commit 00943f2
Show file tree
Hide file tree
Showing 9 changed files with 56 additions and 100 deletions.
26 changes: 26 additions & 0 deletions config-plugin/createExpoTargetConfig.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
const {
default: getAppGroupFromExpoConfig,
} = require("./getAppGroupFromExpoConfig");

/**
* Creates a configuration function for Apple target extensions
* @param {('shield-action' | 'shield-configuration' | 'device-activity-monitor')} targetType - The type of target extension
* @returns {import('@kingstinct/expo-apple-targets/build/config-plugin').ConfigFunction}
*/
const createConfig = (targetType) => {
/** @type {import('@kingstinct/expo-apple-targets/build/config-plugin').ConfigFunction} */
const config = (config) => {
const appGroup = getAppGroupFromExpoConfig(config);

return {
type: targetType,
entitlements: {
"com.apple.developer.family-controls": true,
"com.apple.security.application-groups": [appGroup],
},
};
};
return config;
};

module.exports = { createConfig };
4 changes: 2 additions & 2 deletions example/ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1205,7 +1205,7 @@ PODS:
- React-logger (= 0.74.5)
- React-perflogger (= 0.74.5)
- React-utils (= 0.74.5)
- ReactNativeDeviceActivity (0.2.1):
- ReactNativeDeviceActivity (0.2.2):
- ExpoModulesCore
- RNVectorIcons (10.2.0):
- DoubleConversion
Expand Down Expand Up @@ -1507,7 +1507,7 @@ SPEC CHECKSUMS:
React-runtimescheduler: cfbe85c3510c541ec6dc815c7729b41304b67961
React-utils: f242eb7e7889419d979ca0e1c02ccc0ea6e43b29
ReactCommon: f7da14a8827b72704169a48c929bcde802698361
ReactNativeDeviceActivity: c831d762bb865680ed1358a1c460d657a6a5e299
ReactNativeDeviceActivity: 209e3900dcfd7516b60b1655becc53a8b5e8d1bf
RNVectorIcons: 845eda5c7819bd29699cafd0fc98c9d4afe28c96
SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d
SwiftLint: 92196976e597b9afec5dbe374810103e6c1d9d7c
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,8 @@
/* Begin PBXFileSystemSynchronizedRootGroup section */
A9A030722CFF142000D9E7E8 /* Tests */ = {
isa = PBXFileSystemSynchronizedRootGroup;
exceptions = (
);
path = Tests;
sourceTree = "<group>";
};
Expand Down Expand Up @@ -865,7 +867,10 @@
LIBRARY_SEARCH_PATHS = "$(SDKROOT)/usr/lib/swift\"$(inherited)\"";
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = "$(inherited) ";
OTHER_LDFLAGS = (
"$(inherited)",
" ",
);
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
SDKROOT = iphoneos;
USE_HERMES = true;
Expand Down Expand Up @@ -924,7 +929,10 @@
);
LIBRARY_SEARCH_PATHS = "$(SDKROOT)/usr/lib/swift\"$(inherited)\"";
MTL_ENABLE_DEBUG_INFO = NO;
OTHER_LDFLAGS = "$(inherited) ";
OTHER_LDFLAGS = (
"$(inherited)",
" ",
);
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
SDKROOT = iphoneos;
USE_HERMES = true;
Expand Down
19 changes: 3 additions & 16 deletions example/targets/ActivityMonitorExtension/expo-target.config.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,5 @@
const {
default: getAppGroupFromExpoConfig,
} = require("react-native-device-activity/config-plugin/getAppGroupFromExpoConfig");
createConfig,
} = require("react-native-device-activity/config-plugin/createExpoTargetConfig");

/** @type {import('@kingstinct/expo-apple-targets/build/config-plugin').ConfigFunction} */
const config = (config) => {
const appGroup = getAppGroupFromExpoConfig(config);

return {
type: "device-activity-monitor",
entitlements: {
"com.apple.developer.family-controls": true,
"com.apple.security.application-groups": [appGroup],
},
};
};

module.exports = config;
module.exports = createConfig("device-activity-monitor");
19 changes: 3 additions & 16 deletions example/targets/ShieldAction/expo-target.config.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,5 @@
const {
default: getAppGroupFromExpoConfig,
} = require("react-native-device-activity/config-plugin/getAppGroupFromExpoConfig");
createConfig,
} = require("react-native-device-activity/config-plugin/createExpoTargetConfig");

/** @type {import('@kingstinct/expo-apple-targets/build/config-plugin').ConfigFunction} */
const config = (config) => {
const appGroup = getAppGroupFromExpoConfig(config);

return {
type: "shield-action",
entitlements: {
"com.apple.developer.family-controls": true,
"com.apple.security.application-groups": [appGroup],
},
};
};

module.exports = config;
module.exports = createConfig("shield-action");
19 changes: 3 additions & 16 deletions example/targets/ShieldConfiguration/expo-target.config.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,5 @@
const {
default: getAppGroupFromExpoConfig,
} = require("react-native-device-activity/config-plugin/getAppGroupFromExpoConfig");
createConfig,
} = require("react-native-device-activity/config-plugin/createExpoTargetConfig");

/** @type {import('@kingstinct/expo-apple-targets/build/config-plugin').ConfigFunction} */
const config = (config) => {
const appGroup = getAppGroupFromExpoConfig(config);

return {
type: "shield-configuration",
entitlements: {
"com.apple.developer.family-controls": true,
"com.apple.security.application-groups": [appGroup],
},
};
};

module.exports = config;
module.exports = createConfig("shield-configuration");
19 changes: 3 additions & 16 deletions targets/ActivityMonitorExtension/expo-target.config.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,5 @@
const {
default: getAppGroupFromExpoConfig,
} = require("react-native-device-activity/config-plugin/getAppGroupFromExpoConfig");
createConfig,
} = require("react-native-device-activity/config-plugin/createExpoTargetConfig");

/** @type {import('@kingstinct/expo-apple-targets/build/config-plugin').ConfigFunction} */
const config = (config) => {
const appGroup = getAppGroupFromExpoConfig(config);

return {
type: "device-activity-monitor",
entitlements: {
"com.apple.developer.family-controls": true,
"com.apple.security.application-groups": [appGroup],
},
};
};

module.exports = config;
module.exports = createConfig("device-activity-monitor");
19 changes: 3 additions & 16 deletions targets/ShieldAction/expo-target.config.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,5 @@
const {
default: getAppGroupFromExpoConfig,
} = require("react-native-device-activity/config-plugin/getAppGroupFromExpoConfig");
createConfig,
} = require("react-native-device-activity/config-plugin/createExpoTargetConfig");

/** @type {import('@kingstinct/expo-apple-targets/build/config-plugin').ConfigFunction} */
const config = (config) => {
const appGroup = getAppGroupFromExpoConfig(config);

return {
type: "shield-action",
entitlements: {
"com.apple.developer.family-controls": true,
"com.apple.security.application-groups": [appGroup],
},
};
};

module.exports = config;
module.exports = createConfig("shield-action");
19 changes: 3 additions & 16 deletions targets/ShieldConfiguration/expo-target.config.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,5 @@
const {
default: getAppGroupFromExpoConfig,
} = require("react-native-device-activity/config-plugin/getAppGroupFromExpoConfig");
createConfig,
} = require("react-native-device-activity/config-plugin/createExpoTargetConfig");

/** @type {import('@kingstinct/expo-apple-targets/build/config-plugin').ConfigFunction} */
const config = (config) => {
const appGroup = getAppGroupFromExpoConfig(config);

return {
type: "shield-configuration",
entitlements: {
"com.apple.developer.family-controls": true,
"com.apple.security.application-groups": [appGroup],
},
};
};

module.exports = config;
module.exports = createConfig("shield-configuration");

0 comments on commit 00943f2

Please sign in to comment.