11833af43SKudo Chienimport escapeRegExp from 'lodash/escapeRegExp'; 21833af43SKudo Chien 3*6239b2d0SKudo Chienimport { FileTransforms } from '../../../Transforms.types'; 41833af43SKudo Chienimport { packagesToKeep, packagesToRename } from '../packagesConfig'; 51833af43SKudo Chienimport { deleteLinesBetweenTags } from '../utils'; 61833af43SKudo Chien 71833af43SKudo Chienexport function expoviewTransforms(abiVersion: string): FileTransforms { 81833af43SKudo Chien const sdkVersion = abiVersion.replace(/abi(\d+)_0_0/, 'sdk$1'); 91833af43SKudo Chien return { 101833af43SKudo Chien path: [ 111833af43SKudo Chien { 121833af43SKudo Chien find: 'src/main/java/versioned', 131833af43SKudo Chien replaceWith: `src/main/java/${abiVersion}`, 141833af43SKudo Chien }, 151833af43SKudo Chien { 161833af43SKudo Chien find: 'src/main/java/com', 171833af43SKudo Chien replaceWith: `src/main/java/${abiVersion}/com`, 181833af43SKudo Chien }, 191833af43SKudo Chien ], 201833af43SKudo Chien content: [ 211833af43SKudo Chien { 221833af43SKudo Chien paths: './build.gradle', 231833af43SKudo Chien find: /\/\/ WHEN_VERSIONING_REPLACE_WITH_DEPENDENCIES/g, 241833af43SKudo Chien replaceWith: 'implementation project(":expoview")', 251833af43SKudo Chien }, 261833af43SKudo Chien { 271833af43SKudo Chien paths: ['./build.gradle', './src/main/AndroidManifest.xml'], 281833af43SKudo Chien transform: (text: string) => 291833af43SKudo Chien deleteLinesBetweenTags( 301833af43SKudo Chien /WHEN_VERSIONING_REMOVE_FROM_HERE/, 311833af43SKudo Chien /WHEN_VERSIONING_REMOVE_TO_HERE/, 321833af43SKudo Chien text 331833af43SKudo Chien ), 341833af43SKudo Chien }, 351833af43SKudo Chien { 361833af43SKudo Chien paths: './build.gradle', 371833af43SKudo Chien find: /.*WHEN_VERSIONING_UNCOMMENT_(TO_HERE|FROM_HERE).*\n/g, 381833af43SKudo Chien replaceWith: '', 391833af43SKudo Chien }, 401833af43SKudo Chien { 411833af43SKudo Chien paths: './build.gradle', 421833af43SKudo Chien find: `useVendoredModulesForExpoView('unversioned')`, 431833af43SKudo Chien replaceWith: `useVendoredModulesForExpoView('${sdkVersion}')`, 441833af43SKudo Chien }, 451833af43SKudo Chien { 461833af43SKudo Chien paths: './src/main/AndroidManifest.xml', 471833af43SKudo Chien find: /host\.exp\.expoview/g, 481833af43SKudo Chien replaceWith: `${abiVersion}.host.exp.expoview`, 491833af43SKudo Chien }, 501833af43SKudo Chien { 511833af43SKudo Chien paths: './src/main/AndroidManifest.xml', 521833af43SKudo Chien find: /versioned\.host\.exp\.exponent/g, 531833af43SKudo Chien replaceWith: `${abiVersion}.host.exp.exponent`, 541833af43SKudo Chien }, 551833af43SKudo Chien ...packagesToKeep.map((pkg: string) => ({ 561833af43SKudo Chien paths: './src/main/java/**/*.{java,kt}', 571833af43SKudo Chien find: new RegExp(`([, ^(<])${escapeRegExp(pkg)}`, 'g'), 581833af43SKudo Chien replaceWith: `$1temporarydonotversion.${pkg}`, 591833af43SKudo Chien })), 601833af43SKudo Chien { 611833af43SKudo Chien paths: './src/main/java/**/*.{java,kt}', 621833af43SKudo Chien find: /import (static |)expo\./g, 631833af43SKudo Chien replaceWith: `import $1${abiVersion}.expo.`, 641833af43SKudo Chien }, 651833af43SKudo Chien { 661833af43SKudo Chien paths: './src/main/java/**/*.{java,kt}', 671833af43SKudo Chien find: /versioned\.host\.exp\.exponent/g, 681833af43SKudo Chien replaceWith: `${abiVersion}.host.exp.exponent`, 691833af43SKudo Chien }, 701833af43SKudo Chien ...packagesToRename.map((pkg: string) => ({ 711833af43SKudo Chien paths: './src/main/java/**/*.{java,kt}', 721833af43SKudo Chien find: new RegExp(`([, ^(<])${escapeRegExp(pkg)}`, 'g'), 731833af43SKudo Chien replaceWith: `$1${abiVersion}.${pkg}`, 741833af43SKudo Chien })), 751833af43SKudo Chien { 761833af43SKudo Chien paths: `./src/main/java/**/*.{java,kt}`, 771833af43SKudo Chien find: /temporarydonotversion\./g, 781833af43SKudo Chien replaceWith: '', 791833af43SKudo Chien }, 801833af43SKudo Chien { 81*6239b2d0SKudo Chien paths: './**/reanimated/NativeProxy.java', 82*6239b2d0SKudo Chien find: /\b(com\.swmansion\.)/g, 83*6239b2d0SKudo Chien replaceWith: `${abiVersion}.$1`, 841833af43SKudo Chien }, 85*6239b2d0SKudo Chien { 86*6239b2d0SKudo Chien paths: './**/ExpoTurboPackage.kt', 87*6239b2d0SKudo Chien find: /\bimport (com\.swmansion\.)/g, 88*6239b2d0SKudo Chien replaceWith: `import ${abiVersion}.$1`, 89*6239b2d0SKudo Chien }, 901833af43SKudo Chien ], 911833af43SKudo Chien }; 921833af43SKudo Chien} 93