Remove direct dependency on @expo/config-plugins (#10152)

This commit is contained in:
Samuel Newman
2026-04-10 09:49:41 -07:00
committed by GitHub
parent c79dff9b3e
commit 19df58f1ef
25 changed files with 26 additions and 48 deletions
-1
View File
@@ -245,7 +245,6 @@
"@babel/runtime": "^7.26.0", "@babel/runtime": "^7.26.0",
"@crowdin/cli": "^4.14.1", "@crowdin/cli": "^4.14.1",
"@eslint/js": "^9.39.2", "@eslint/js": "^9.39.2",
"@expo/config-plugins": "~54.0.4",
"@lingui/babel-plugin-lingui-macro": "^5.9.2", "@lingui/babel-plugin-lingui-macro": "^5.9.2",
"@lingui/cli": "^5.9.2", "@lingui/cli": "^5.9.2",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.15", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.15",
@@ -1,7 +1,6 @@
const {withEntitlementsPlist} = require('@expo/config-plugins') const {withEntitlementsPlist} = require('expo/config-plugins')
const withAppEntitlements = config => { const withAppEntitlements = config => {
// eslint-disable-next-line no-shadow
return withEntitlementsPlist(config, async config => { return withEntitlementsPlist(config, async config => {
config.modResults['com.apple.security.application-groups'] = [ config.modResults['com.apple.security.application-groups'] = [
`group.app.bsky`, `group.app.bsky`,
@@ -1,10 +1,9 @@
const {withInfoPlist} = require('@expo/config-plugins') const {withInfoPlist} = require('expo/config-plugins')
const plist = require('@expo/plist') const plist = require('@expo/plist')
const path = require('path') const path = require('path')
const fs = require('fs') const fs = require('fs')
const withExtensionEntitlements = (config, {extensionName}) => { const withExtensionEntitlements = (config, {extensionName}) => {
// eslint-disable-next-line no-shadow
return withInfoPlist(config, config => { return withInfoPlist(config, config => {
const extensionEntitlementsPath = path.join( const extensionEntitlementsPath = path.join(
config.modRequest.platformProjectRoot, config.modRequest.platformProjectRoot,
@@ -1,10 +1,9 @@
const {withInfoPlist} = require('@expo/config-plugins') const {withInfoPlist} = require('expo/config-plugins')
const plist = require('@expo/plist') const plist = require('@expo/plist')
const path = require('path') const path = require('path')
const fs = require('fs') const fs = require('fs')
const withExtensionInfoPlist = (config, {extensionName}) => { const withExtensionInfoPlist = (config, {extensionName}) => {
// eslint-disable-next-line no-shadow
return withInfoPlist(config, config => { return withInfoPlist(config, config => {
const plistPath = path.join( const plistPath = path.join(
config.modRequest.projectRoot, config.modRequest.projectRoot,
@@ -1,4 +1,4 @@
const {withXcodeProject} = require('@expo/config-plugins') const {withXcodeProject} = require('expo/config-plugins')
const path = require('path') const path = require('path')
const fs = require('fs') const fs = require('fs')
@@ -6,7 +6,6 @@ const withExtensionViewController = (
config, config,
{controllerName, extensionName}, {controllerName, extensionName},
) => { ) => {
// eslint-disable-next-line no-shadow
return withXcodeProject(config, config => { return withXcodeProject(config, config => {
const controllerPath = path.join( const controllerPath = path.join(
config.modRequest.projectRoot, config.modRequest.projectRoot,
@@ -1,4 +1,4 @@
const {withPlugins} = require('@expo/config-plugins') const {withPlugins} = require('expo/config-plugins')
const {withAppEntitlements} = require('./withAppEntitlements') const {withAppEntitlements} = require('./withAppEntitlements')
const {withXcodeTarget} = require('./withXcodeTarget') const {withXcodeTarget} = require('./withXcodeTarget')
const {withExtensionEntitlements} = require('./withExtensionEntitlements') const {withExtensionEntitlements} = require('./withExtensionEntitlements')
+1 -2
View File
@@ -1,9 +1,8 @@
const {withXcodeProject} = require('@expo/config-plugins') const {withXcodeProject} = require('expo/config-plugins')
const path = require('path') const path = require('path')
const fs = require('fs') const fs = require('fs')
const withSounds = (config, {extensionName, soundFiles}) => { const withSounds = (config, {extensionName, soundFiles}) => {
// eslint-disable-next-line no-shadow
return withXcodeProject(config, config => { return withXcodeProject(config, config => {
for (const file of soundFiles) { for (const file of soundFiles) {
const soundPath = path.join(config.modRequest.projectRoot, 'assets', file) const soundPath = path.join(config.modRequest.projectRoot, 'assets', file)
@@ -1,12 +1,9 @@
const {withXcodeProject, IOSConfig} = require('@expo/config-plugins') const {withXcodeProject} = require('expo/config-plugins')
const path = require('path')
const PBXFile = require('xcode/lib/pbxFile')
const withXcodeTarget = ( const withXcodeTarget = (
config, config,
{extensionName, controllerName, soundFiles}, {extensionName, controllerName, soundFiles},
) => { ) => {
// eslint-disable-next-line no-shadow
return withXcodeProject(config, config => { return withXcodeProject(config, config => {
let pbxProject = config.modResults let pbxProject = config.modResults
@@ -1,7 +1,6 @@
const {withEntitlementsPlist} = require('@expo/config-plugins') const {withEntitlementsPlist} = require('expo/config-plugins')
const withAppEntitlements = config => { const withAppEntitlements = config => {
// eslint-disable-next-line no-shadow
return withEntitlementsPlist(config, async config => { return withEntitlementsPlist(config, async config => {
config.modResults['com.apple.security.application-groups'] = [ config.modResults['com.apple.security.application-groups'] = [
`group.app.bsky`, `group.app.bsky`,
@@ -1,10 +1,9 @@
const {withInfoPlist} = require('@expo/config-plugins') const {withInfoPlist} = require('expo/config-plugins')
const plist = require('@expo/plist') const plist = require('@expo/plist')
const path = require('path') const path = require('path')
const fs = require('fs') const fs = require('fs')
const withExtensionEntitlements = (config, {extensionName}) => { const withExtensionEntitlements = (config, {extensionName}) => {
// eslint-disable-next-line no-shadow
return withInfoPlist(config, config => { return withInfoPlist(config, config => {
const extensionEntitlementsPath = path.join( const extensionEntitlementsPath = path.join(
config.modRequest.platformProjectRoot, config.modRequest.platformProjectRoot,
@@ -1,10 +1,9 @@
const {withInfoPlist} = require('@expo/config-plugins') const {withInfoPlist} = require('expo/config-plugins')
const plist = require('@expo/plist') const plist = require('@expo/plist')
const path = require('path') const path = require('path')
const fs = require('fs') const fs = require('fs')
const withExtensionInfoPlist = (config, {extensionName}) => { const withExtensionInfoPlist = (config, {extensionName}) => {
// eslint-disable-next-line no-shadow
return withInfoPlist(config, config => { return withInfoPlist(config, config => {
const plistPath = path.join( const plistPath = path.join(
config.modRequest.projectRoot, config.modRequest.projectRoot,
@@ -1,4 +1,4 @@
const {withXcodeProject} = require('@expo/config-plugins') const {withXcodeProject} = require('expo/config-plugins')
const path = require('path') const path = require('path')
const fs = require('fs') const fs = require('fs')
@@ -6,7 +6,6 @@ const withExtensionViewController = (
config, config,
{controllerName, extensionName}, {controllerName, extensionName},
) => { ) => {
// eslint-disable-next-line no-shadow
return withXcodeProject(config, config => { return withXcodeProject(config, config => {
const controllerPath = path.join( const controllerPath = path.join(
config.modRequest.projectRoot, config.modRequest.projectRoot,
+1 -2
View File
@@ -1,7 +1,6 @@
const {withAndroidManifest} = require('@expo/config-plugins') const {withAndroidManifest} = require('expo/config-plugins')
const withIntentFilters = config => { const withIntentFilters = config => {
// eslint-disable-next-line no-shadow
return withAndroidManifest(config, config => { return withAndroidManifest(config, config => {
const intents = [ const intents = [
{ {
@@ -1,4 +1,4 @@
const {withPlugins} = require('@expo/config-plugins') const {withPlugins} = require('expo/config-plugins')
const {withAppEntitlements} = require('./withAppEntitlements') const {withAppEntitlements} = require('./withAppEntitlements')
const {withXcodeTarget} = require('./withXcodeTarget') const {withXcodeTarget} = require('./withXcodeTarget')
const {withExtensionEntitlements} = require('./withExtensionEntitlements') const {withExtensionEntitlements} = require('./withExtensionEntitlements')
+1 -2
View File
@@ -1,7 +1,6 @@
const {withXcodeProject} = require('@expo/config-plugins') const {withXcodeProject} = require('expo/config-plugins')
const withXcodeTarget = (config, {extensionName, controllerName}) => { const withXcodeTarget = (config, {extensionName, controllerName}) => {
// eslint-disable-next-line no-shadow
return withXcodeProject(config, config => { return withXcodeProject(config, config => {
const pbxProject = config.modResults const pbxProject = config.modResults
@@ -1,7 +1,6 @@
const {withEntitlementsPlist} = require('@expo/config-plugins') const {withEntitlementsPlist} = require('expo/config-plugins')
const withAppEntitlements = config => { const withAppEntitlements = config => {
// eslint-disable-next-line no-shadow
return withEntitlementsPlist(config, async config => { return withEntitlementsPlist(config, async config => {
config.modResults['com.apple.security.application-groups'] = [ config.modResults['com.apple.security.application-groups'] = [
`group.app.bsky`, `group.app.bsky`,
@@ -1,10 +1,9 @@
const {withInfoPlist} = require('@expo/config-plugins') const {withInfoPlist} = require('expo/config-plugins')
const plist = require('@expo/plist') const plist = require('@expo/plist')
const path = require('path') const path = require('path')
const fs = require('fs') const fs = require('fs')
const withClipEntitlements = (config, {targetName}) => { const withClipEntitlements = (config, {targetName}) => {
// eslint-disable-next-line no-shadow
return withInfoPlist(config, config => { return withInfoPlist(config, config => {
const entitlementsPath = path.join( const entitlementsPath = path.join(
config.modRequest.platformProjectRoot, config.modRequest.platformProjectRoot,
@@ -1,10 +1,9 @@
const {withInfoPlist} = require('@expo/config-plugins') const {withInfoPlist} = require('expo/config-plugins')
const plist = require('@expo/plist') const plist = require('@expo/plist')
const path = require('path') const path = require('path')
const fs = require('fs') const fs = require('fs')
const withClipInfoPlist = (config, {targetName}) => { const withClipInfoPlist = (config, {targetName}) => {
// eslint-disable-next-line no-shadow
return withInfoPlist(config, config => { return withInfoPlist(config, config => {
const targetPath = path.join( const targetPath = path.join(
config.modRequest.platformProjectRoot, config.modRequest.platformProjectRoot,
@@ -1,11 +1,10 @@
const {withXcodeProject} = require('@expo/config-plugins') const {withXcodeProject} = require('expo/config-plugins')
const path = require('path') const path = require('path')
const fs = require('fs') const fs = require('fs')
const FILES = ['AppDelegate.swift', 'ViewController.swift'] const FILES = ['AppDelegate.swift', 'ViewController.swift']
const withFiles = (config, {targetName}) => { const withFiles = (config, {targetName}) => {
// eslint-disable-next-line no-shadow
return withXcodeProject(config, config => { return withXcodeProject(config, config => {
const basePath = path.join( const basePath = path.join(
config.modRequest.projectRoot, config.modRequest.projectRoot,
@@ -1,4 +1,4 @@
const {withPlugins} = require('@expo/config-plugins') const {withPlugins} = require('expo/config-plugins')
const {withAppEntitlements} = require('./withAppEntitlements') const {withAppEntitlements} = require('./withAppEntitlements')
const {withClipEntitlements} = require('./withClipEntitlements') const {withClipEntitlements} = require('./withClipEntitlements')
const {withClipInfoPlist} = require('./withClipInfoPlist') const {withClipInfoPlist} = require('./withClipInfoPlist')
@@ -1,9 +1,8 @@
const {withXcodeProject} = require('@expo/config-plugins') const {withXcodeProject} = require('expo/config-plugins')
const BUILD_PHASE_FILES = ['AppDelegate.swift', 'ViewController.swift'] const BUILD_PHASE_FILES = ['AppDelegate.swift', 'ViewController.swift']
const withXcodeTarget = (config, {targetName}) => { const withXcodeTarget = (config, {targetName}) => {
// eslint-disable-next-line no-shadow
return withXcodeProject(config, config => { return withXcodeProject(config, config => {
const pbxProject = config.modResults const pbxProject = config.modResults
@@ -1,7 +1,6 @@
const {withAndroidManifest} = require('@expo/config-plugins') const {withAndroidManifest} = require('expo/config-plugins')
const withProcessTextQuery = config => const withProcessTextQuery = config =>
// eslint-disable-next-line no-shadow
withAndroidManifest(config, config => { withAndroidManifest(config, config => {
const manifest = config.modResults.manifest const manifest = config.modResults.manifest
+1 -1
View File
@@ -1,4 +1,4 @@
const {withProjectBuildGradle} = require('@expo/config-plugins') const {withProjectBuildGradle} = require('expo/config-plugins')
const jitpackRepository = "maven { url 'https://www.jitpack.io' }" const jitpackRepository = "maven { url 'https://www.jitpack.io' }"
@@ -3,7 +3,7 @@
* This way we get a sane default color for spinners, text inputs, etc. * This way we get a sane default color for spinners, text inputs, etc.
*/ */
const {withAndroidStyles, AndroidConfig} = require('@expo/config-plugins') const {withAndroidStyles, AndroidConfig} = require('expo/config-plugins')
module.exports = function withAndroidStylesAccentColorPlugin(appConfig) { module.exports = function withAndroidStylesAccentColorPlugin(appConfig) {
return withAndroidStyles(appConfig, function (decoratedAppConfig) { return withAndroidStyles(appConfig, function (decoratedAppConfig) {
+3 -4
View File
@@ -1,11 +1,10 @@
const {withAppDelegate} = require('@expo/config-plugins') const {withAppDelegate, CodeGenerator} = require('expo/config-plugins')
const {mergeContents} = require('@expo/config-plugins/build/utils/generateCode')
module.exports = config => module.exports = config =>
withAppDelegate(config, config => { withAppDelegate(config, config => {
let contents = config.modResults.contents let contents = config.modResults.contents
contents = mergeContents({ contents = CodeGenerator.mergeContents({
src: contents, src: contents,
anchor: '// Linking API', anchor: '// Linking API',
newSrc: ` newSrc: `
@@ -22,7 +21,7 @@ module.exports = config =>
comment: '//', comment: '//',
}).contents }).contents
contents = mergeContents({ contents = CodeGenerator.mergeContents({
src: contents, src: contents,
anchor: '// Universal Links', anchor: '// Universal Links',
newSrc: ` newSrc: `