react-native-bootsplash icon indicating copy to clipboard operation
react-native-bootsplash copied to clipboard

v7

Open zoontek opened this issue 6 months ago • 6 comments

zoontek avatar Oct 29 '25 21:10 zoontek

This would also be nice because it replaces (edit updates sharp) and therefore closes a high severity vulnerability in tar-fs. 😄

Magnus-V avatar Nov 05 '25 15:11 Magnus-V

@Magnus-V Actually, I think it will continue to use sharp, but updated to the latest version (^0.34.4). Just add a check with a legal expert (she's even specialised in OSS licenses 😄), and it appears that libvips being LGPLv3 is not an issue here (as it's not packaged in your react native app)

Also confirmed here:

  • https://github.com/lovell/sharp/issues/3565
  • https://github.com/lovell/sharp/issues/4023
  • https://github.com/lovell/sharp-libvips/issues/246

zoontek avatar Nov 06 '25 13:11 zoontek

@nandorojo Just shipped 7.0.0-beta.0 with an updated Expo plugin. To try it out, edit your app config file as follows:

import "dotenv/config";
import { ExpoConfig, ConfigContext } from "expo/config";

export default ({ config }: ConfigContext): ExpoConfig => ({
  ...config,

  // …

  platforms: ["android", "ios", "web"], // must be explicit
  plugins: [
    [
      "react-native-bootsplash",
      {
        logo: "svgs/light-logo.svg", // required
        background: "#F5FCFF", // optional (default: "#fff")
        logoWidth: 100, // optional (default: 100)
        assetsOutput: "assets/bootsplash", // optional (default: "assets/bootsplash")

        android: {
          darkContentBarsStyle: true, // optional
        },

        // Addon options
        licenseKey: process.env.BOOTSPLASH_LICENSE_KEY,
        brand: "svgs/light-brand.svg", // optional
        brandWidth: 80, // optional (default: 80)
        darkBackground: "#00090A", // optional
        darkLogo: "svgs/dark-logo.svg", // optional
        darkBrand: "svgs/dark-brand.svg", // optional,
      },
    ],
  ],
});

Other changes:

  • Support for React Native < 0.79 and Expo < 53 has been dropped.
  • Theme.BootSplash is now edge-to-edge; Theme.BootSplash.TransparentStatus and Theme.BootSplash.EdgeToEdge have been removed (https://github.com/zoontek/react-native-bootsplash/pull/730/commits/d37333e701a4c72b64019cf509f0f805d8d4afb9, https://github.com/zoontek/react-native-bootsplash/pull/730/commits/a68984fa63fdfe3f37b3cdefc6f7113e9d5c7843).
  • isVisible() is now synchronous (https://github.com/zoontek/react-native-bootsplash/pull/730/commits/d71eded612019308676585a2bc3f6a0fe9e9e580)
  • A new CLI argument has been added to customize the Info.plist path (closes https://github.com/zoontek/react-native-bootsplash/issues/685) (https://github.com/zoontek/react-native-bootsplash/pull/730/commits/0d6d753e177e337385ae0f7715ee6bd186842841)
  • The React Native CLI plugin has been deleted (https://github.com/zoontek/react-native-bootsplash/pull/730/commits/f40a793721e400ae7f2c470b0f2e1bb730e0cb58)

zoontek avatar Nov 17 '25 17:11 zoontek

So good! I'll get this set up in v0

nandorojo avatar Nov 17 '25 23:11 nandorojo

will not works on RN 0.81.4 ?

code-by avatar Nov 30 '25 07:11 code-by

@code-by it will

Support for React Native < 0.79 and Expo < 53 has been dropped.

zoontek avatar Dec 01 '25 14:12 zoontek

@zoontek Hi I get this issue with v7 beta during the npx expo prebuild step while using the version 7 beta in a Turborepo (monorepo) setup.:

[[email protected]] injecting env (0) from .env -- tip: 🗂️ backup and recover secrets: https://dotenvx.com/ops
- Creating native directory (./ios)
✔ Created native directory
- Updating package.json
✔ Updated package.json | no changes
- Running prebuild
✖ Prebuild failed
Error: [ios.dangerous]: withIosDangerousBaseMod: ENOENT: no such file or directory, lstat '/Users/expo/workingdir/build/apps/native/assets/bootsplash/ios/BootSplash.storyboard'
Error: [ios.dangerous]: withIosDangerousBaseMod: ENOENT: no such file or directory, lstat '/Users/expo/workingdir/build/apps/native/assets/bootsplash/ios/BootSplash.storyboard'
    at Object.lstatSync (node:fs:1642:25)
    at Object.lstatSync (/Users/expo/workingdir/build/node_modules/.bun/[email protected]/node_modules/graceful-fs/polyfills.js:319:16)
    at Object.isDir (/Users/expo/workingdir/build/node_modules/.bun/[email protected]+bd8e5a9922b87f77/node_modules/react-native-bootsplash/dist/commonjs/generate.js:140:35)
    at Object.copy (/Users/expo/workingdir/build/node_modules/.bun/[email protected]+bd8e5a9922b87f77/node_modules/react-native-bootsplash/dist/commonjs/generate.js:150:13)
    at /Users/expo/workingdir/build/node_modules/.bun/[email protected]+bd8e5a9922b87f77/node_modules/react-native-bootsplash/dist/commonjs/expo.js:208:17
    at action (/Users/expo/workingdir/build/node_modules/.bun/@[email protected]/node_modules/@expo/config-plugins/build/plugins/withMod.js:199:29)
    at interceptingMod (/Users/expo/workingdir/build/node_modules/.bun/@[email protected]/node_modules/@expo/config-plugins/build/plugins/withMod.js:104:27)
    at action (/Users/expo/workingdir/build/node_modules/.bun/@[email protected]/node_modules/@expo/config-plugins/build/plugins/withMod.js:204:14)
    at async interceptingMod (/Users/expo/workingdir/build/node_modules/.bun/@[email protected]/node_modules/@expo/config-plugins/build/plugins/withMod.js:104:21)
    at async action (/Users/expo/workingdir/build/node_modules/.bun/@[email protected]/node_modules/@expo/config-plugins/build/plugins/createBaseMod.js:60:21)

I know something like this issue has pop up before, note I did gitignore the ios folder like: /ios/ and I even removed it from gitignore and it still didn't work

I am using monorepo(turbo)

AdzeB avatar Dec 20 '25 08:12 AdzeB

@AdzeB The stacktrace mentions [email protected]+bd8e5a9922b87f77

zoontek avatar Dec 20 '25 09:12 zoontek