Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(cli): expo-router option #2727

Merged
merged 16 commits into from
Aug 28, 2024
Merged

feat(cli): expo-router option #2727

merged 16 commits into from
Aug 28, 2024

Conversation

frankcalise
Copy link
Contributor

@frankcalise frankcalise commented Aug 4, 2024

Please verify the following:

  • yarn test jest tests pass with new tests, if relevant
  • yarn lint eslint checks pass with new code, if relevant
  • yarn format:check prettier checks pass with new code, if relevant
  • README.md (or relevant documentation) has been updated with your changes

Describe your PR

  • Adds expo-router value to the --experimental switch
  • Adds prompt to ask the user if they want to opt-in to expo-router
  • Ignites a new app (no demo app available, though) and makes all the updates as per the Cookbook Recipe automatically
  • Quick and dirty right now, but I got it out of my brain and it works
  • Updates the remove-mst-markup command to account for ./app or ./src as the source directory to clean up
  • Adds a proper Screen generator to be compatible with Expo Router (and also obeys the --mst flag)
  • Updated docs mentioning --experimental=expo-router
  • Adds tests to give some confidence around the router conversion

@frankcalise frankcalise added this to the Ignite v10 milestone Aug 4, 2024
@frankcalise frankcalise marked this pull request as ready for review August 7, 2024 13:16
Copy link
Member

@jamonholmgren jamonholmgren left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks very good.

Curious if we should do --mst or if we should do --state=mst, to leave room for potentially figuring out a good way to automatically do different state management systems in the future.

src/commands/new.ts Outdated Show resolved Hide resolved
@frankcalise
Copy link
Contributor Author

Overall looks very good.

Curious if we should do --mst or if we should do --state=mst, to leave room for potentially figuring out a good way to automatically do different state management systems in the future.

This was reworked in a separate PR (based off of this one) and brought in now

Copy link
Contributor

@mazenchami mazenchami left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is really cool 🎉

@frankcalise frankcalise merged commit 8bea1f9 into v10 Aug 28, 2024
1 check was pending
@frankcalise frankcalise deleted the feat/expo-router branch August 28, 2024 19:23
infinitered-circleci pushed a commit that referenced this pull request Oct 14, 2024
# [10.0.0](v9.10.1...v10.0.0) (2024-10-14)

### Bug Fixes

* **boilerplate:** expo-router initialize i18n ([#2791](#2791) by [@frankcalise](https://github.com/frankcalise)) ([a00113e](a00113e))
* **boilerplate:** Make icon default color explicit, and respond to dark mode ([#2795](#2795) by [@lindboe](https://github.com/lindboe)) ([b82398d](b82398d))
* **cli:** improper MST removal when using CLI prompt, new arch compat ([#2785](#2785) by [@frankcalise](https://github.com/frankcalise)) ([3956652](3956652))
* remove snackify command and references ([#2763](#2763) by [@frankcalise](https://github.com/frankcalise)) ([09671e8](09671e8))

### Features

* Ignite X with Expo 51 ([005ef05](005ef05))
* **boilerplate:** Toggle component refactored to Checkbox, Radio and Switch ([#2667](#2667) by [@frankcalise](https://github.com/frankcalise)) ([54f5208](54f5208))
* **cli:** expo-router option ([#2727](#2727) by [@frankcalise](https://github.com/frankcalise)) ([8bea1f9](8bea1f9)), closes [#2731](#2731)
* **cli:** generator options --dir and --case  ([#2726](#2726) by [@frankcalise](https://github.com/frankcalise)) ([dff3d24](dff3d24))
* **Theming:** Adds theming support with documentation. ([#2636](#2636)) ([a1ae047](a1ae047))
* **v10:** cng default ([#2641](#2641)) ([c7d998d](c7d998d))
* **v10:** Remove MobX-State-Tree flag for non-demo projects ([#2647](#2647) by @Jpoliachik) ([a738243](a738243))
* add MMKV for v10 ([#2660](#2660) by [@frankcalise](https://github.com/frankcalise)) ([9164e5e](9164e5e))

### BREAKING CHANGES

* Ignite X is out now! This update adds:

* Expo Prebuild as default
* Dark mode support
* Static routing with Expo Router
* Flexible generator directory support
* Option to remove mobx-state-tree
* AsyncStorage->MMKV
* New i18n configuration with react-i18next
* Lint configuration updates
* Toggle component → Checkbox, Radio, and Switch
* Improved keyboard avoidance
* Component test example configuration

Read all about it in our blog article!

https://shift.infinite.red/what-is-ignite-x-9ecde0b34d75
@infinitered-circleci
Copy link

🎉 This PR is included in version 10.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants