From 24912859ba8acec10428b94ca8bcf308b3a946b4 Mon Sep 17 00:00:00 2001 From: Daniel Cavalcante Date: Fri, 28 Aug 2026 23:03:46 -0300 Subject: [PATCH 1/2] fix(create-react-native-library): preserve test app gitignore --- .../src/exampleApp/generateExampleApp.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/create-react-native-library/src/exampleApp/generateExampleApp.ts b/packages/create-react-native-library/src/exampleApp/generateExampleApp.ts index 92326ebf4..d7449e76d 100644 --- a/packages/create-react-native-library/src/exampleApp/generateExampleApp.ts +++ b/packages/create-react-native-library/src/exampleApp/generateExampleApp.ts @@ -232,8 +232,14 @@ export default async function generateExampleApp({ env: { ...process.env, npm_config_yes: 'true' }, }); + // Keep react-native-test-app's generated .gitignore for its app-specific rules. + const filesToDelete = + config.example === 'test-app' + ? FILES_TO_DELETE.filter((file) => file !== '.gitignore') + : FILES_TO_DELETE; + // Remove unnecessary files and folders - for (const file of FILES_TO_DELETE) { + for (const file of filesToDelete) { await fs.remove(path.join(directory, file)); } From 7443edc6e3bb54e49c9ad7c9b1f39c6fc0d72861 Mon Sep 17 00:00:00 2001 From: Satyajit Sahoo Date: Wed, 21 Oct 2026 14:34:29 +0200 Subject: [PATCH 2/2] fix(create-react-native-library): keep generated gitignore for all example apps --- .../src/exampleApp/generateExampleApp.ts | 23 ++++++++----------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/packages/create-react-native-library/src/exampleApp/generateExampleApp.ts b/packages/create-react-native-library/src/exampleApp/generateExampleApp.ts index d7449e76d..0399e9f0c 100644 --- a/packages/create-react-native-library/src/exampleApp/generateExampleApp.ts +++ b/packages/create-react-native-library/src/exampleApp/generateExampleApp.ts @@ -18,7 +18,6 @@ const FILES_TO_DELETE = [ '.eslintrc.js', '.flowconfig', '.git', - '.gitignore', '.prettierrc.js', 'App.js', 'App.tsx', @@ -232,14 +231,8 @@ export default async function generateExampleApp({ env: { ...process.env, npm_config_yes: 'true' }, }); - // Keep react-native-test-app's generated .gitignore for its app-specific rules. - const filesToDelete = - config.example === 'test-app' - ? FILES_TO_DELETE.filter((file) => file !== '.gitignore') - : FILES_TO_DELETE; - // Remove unnecessary files and folders - for (const file of filesToDelete) { + for (const file of FILES_TO_DELETE) { await fs.remove(path.join(directory, file)); } @@ -373,13 +366,15 @@ export default async function generateExampleApp({ scripts.android = 'expo run:android'; scripts.ios = 'expo run:ios'; - await fs.writeFile( + await fs.appendFile( path.join(directory, '.gitignore'), - dedent` - # These folders are generated with prebuild (CNG) - android/ - ios/ - ` + '\n' + + dedent` + # These folders are generated with prebuild (CNG) + android/ + ios/ + ` + + '\n' ); }