[cli] Sync next with main: Expo SDK 56 + fixes, keeping Nativewind v5#610
Merged
Conversation
Remove helpContainer, helpLink, and helpLinkText styles that are defined but never referenced in any of the EditScreenInfo templates. Co-authored-by: Cursor <cursoragent@cursor.com>
Replace SafeAreaView with Nativewind v4 safe area utility classes (p-safe-offset-6) and add SafeAreaProvider at the app root for all navigation variants. Fix className concatenation bug in EditScreenInfo using template literals. Use interface + React.FC typing across all Nativewind components. Only include Container.tsx when expo-router navigation is selected, since it is unused otherwise. Co-authored-by: Cursor <cursoragent@cursor.com>
Uncomment and add react-navigation test combinations for stack, tabs, and drawer+tabs across all styling packages (stylesheet, nativewind, unistyles). Bump changeset to minor for create-expo-stack and rn-new. Co-authored-by: Cursor <cursoragent@cursor.com>
The CLI coerces importAlias to boolean true, generating @/* in tsconfig, but 17 expo-router and Nativewind UI templates hardcoded ~/ imports which did not match. Standardize all import paths to use @/ alias. Co-authored-by: Cursor <cursoragent@cursor.com>
Remove safe area offset and add bg-white to the Container component template for cleaner default styling. Co-authored-by: Cursor <cursoragent@cursor.com>
Uncomment the Tabs and Drawer + Tabs navigation type options in the interactive CLI flow so users can select them again. Co-authored-by: Cursor <cursoragent@cursor.com>
The final message after scaffolding already offered help, but through a bare email. Point it at ronindevs.com tagged utm_source=rn_new so the highest-intent moment in the funnel is tracked and routes to a booking.
Link the team behind create-expo-stack to ronindevs.com (tagged utm_source=rn_new) so visitors who want hands-on help have a path, and so we can see how many arrive from the site.
main tracks the stable Expo version and next tracks the upcoming beta, with next eventually merged into main. Notes that changes applying to both lines should be opened against both branches, since the two are not automatically kept in sync.
…ontext (closes #539) React Native's built-in SafeAreaView only works on iOS and doesn't properly handle notches/dynamic islands on all devices. react-native-safe-area-context is already a dependency (used in SafeAreaProvider in layout files) and is the recommended replacement. Updated both base and nativewindui Container.tsx.ejs templates.
Make the homepage hero a single static title. Removes the glitch distortion, the on-load appear/disappear animation, and the NativewindUI hover-swap promo, along with their now-dead CSS (~497 lines: the .glitch/.layers rules and the paths/movement/opacity/font keyframes).
Rename the www stack components to the canonical lowercase (nativeWind.astro -> nativewind.astro, nativeWindUI.astro -> nativewindui.astro) and fix the stackSection import. This also fixes the case-mismatch that made astro dev throw a FailedToLoadModuleSSR error on the homepage. Normalize the brand name NativeWind -> Nativewind in the docs and READMEs. Leaves the withNativeWind metro API and the generated changelogs untouched.
Node 18 cannot require() the now ESM-only human-id pulled in by the updated changesets dependency tree, which crashed changeset version in the Release job. Bump to Node 22, matching the project's Node 20.19.4+ minimum, and pin next-release off floating latest to the same.
PR #604 (NativewindUI template fixes) merged into main without a changeset. Add a patch changeset for create-expo-stack (and rn-new via the fixed version group) so the fixes are captured in the next release.
Brings the next branch up to date with everything released on main (Expo SDK 56 template upgrade, NativewindUI template fixes, optional stack surfacing, Windows-safe test harness, CI updates) while preserving the Nativewind v5 setup that is exclusive to next: - base package.json keeps nativewind@preview, react-native-css, postcss + @tailwindcss/postcss, tailwindcss v4 devDeps, and the lightningcss overrides per package manager - nativewind templates keep the v5 file set (postcss.config.mjs, prettier.config.js, no tailwind.config.js) - NativewindUI remains hidden from interactive prompts and excluded from test combinations until it supports Nativewind v5 - READMEs updated to reflect SDK 56 + Nativewind v5
Snapshots now cover the merged state: SDK 56 base with the Nativewind v5 dependency set, and nativewindui combinations removed while they remain disabled on next.
d578cbd to
f9e2003
Compare
Expo Router's Tabs on SDK 56 passes ColorValue to tabBarIcon, which broke typechecking of generated tabs projects against the base TabBarIcon's color: string prop. Align it with the NativewindUI TabBarIcon, which already made this change for SDK 56; @expo/vector-icons accepts string | OpaqueColorValue so ColorValue fits both Expo Router and React Navigation callers.
5cc9a96 to
163e6ee
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Merges
mainintonextso thenexttag reflects everything recently released onmain, while preserving the Nativewind v5 setup that is exclusive tonext:Brought over from main (66 commits):
Preserved from next (Nativewind v5):
base/package.json.ejskeepsnativewind@preview,react-native-css,postcss+@tailwindcss/postcss, tailwindcss v4 devDeps, and the per-package-managerlightningcssoverrides — now on top of main's SDK 56 versionspostcss.config.mjs,prettier.config.js, notailwind.config.js) and v5-style safe-area layouts--nativewinduiflags, now serving main's cleaned-up templates)Also fixed a merge hazard where
configureProjectFiles.tswould have pushed the nativewindContainer.tsx.ejstwice for drawer+tabs expo-router projects, and normalized remainingNativeWindUIcasing toNativewindUI.This sets up the follow-up step of bumping
nextto Expo SDK 57.Related Issue
N/A — branch sync.
Motivation and Context
The end goal is
main= Nativewind v4 + SDK 56,next= Nativewind v5 + SDK 57. This PR getsnextup to date withmain(SDK 56) while keeping Nativewind v5; the SDK 57 bump follows separately.How Has This Been Tested?
bun run buildincli/passes (tsc + ejslint over all templates)expo install --fix+ per-project typecheck) could not run in the sandbox because its network policy blocksapi.expo.dev; CI should cover these